INDESIGN CS2の字形 修飾文字(nalt)

INDESIGN CS2の字形 修飾文字(nalt)を_javascriptにて、
検索/置換したいのです。


ドキュメント上に多数、
使用する文字なのですが、

TEXTでは、
違う文字で、
入力されていまして、

_javascriptにて、
unicodeで検索/置換まではできますが、

親文字になってしまいます。


使用したい文字というのは、
字形 修飾文字(nalt)の「(i)」から「(xiii)」までです。


_javascriptで指定する場合、
字形 修飾文字(nalt)表記がわかりません!

もし、
お分かりになるのであれば、
教えていただけると助かります。

よろしくお願いいたします。
» 001
使用するFONTによっては違うこともあるかとは思いますが、
(ⅰ)~(?)まではⅰ~?(U+2170~U+217B)を親字として、
opentypeFeaturesプロパティに[["nalt",1]]を代入することで修飾字形の括弧付き文字になります。

(xiii)は(親字の)ユニコードがないので、タグ付きテキストで用意しておいて、スクリプトで配置することで置き換える等をするしかないかと思います。
(ユニコードを持たない文字はスクリプトでは指定することが、たぶんできないと思います。)
» 002
早速やってみます。
ありがとうございました!
» 003
すみません、
javascript初心者なもので、
たびたびお伺いいたします。

現状、

keyword = "●";
repWord = "\u2170";

ぐらいしかわかりません。

具体的にopentypeFeaturesプロパティの指示は、

どう書きますか?

かなり切羽つまっております。

どうか宜しくお願いいたします。
» 004
一文字を一文字で置き換える場合には、後ろから置換する必要はないですが、こんな感じで行います。

//検索/置換設定のクリア
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
// 検索条件の設定
app.findPreferences.findText = "●";
// 検索(範囲:カーソルを立ててあるストーリー全体)
var range = app.selection[0].parentStory;
// 検索の実行
var findList = range.search();
// 後ろから置換を実行
for (var i=findList.length-1; i>=0; i--){
with (findList[i]){
contents = String.fromCharCode(0x2170);
opentypeFeatures = [["nalt",1]];
}
}
» 005
ありがとうございます。

大変感謝しております。

もう3日、
泊まりで泣きそうでした。

これで、
今日は帰れそうです。

本当にありがとうございました。

このページをシェア