[ 掲示板に戻る ]

記事No.9640に関するスレッドです

javascriptでの置換 / ほんま Email
InDesigncc2017を使用しています。
javascriptでGREP検索で検索した半角数字を全角数字に文字種変換したいのですが、どのように設定したら検索した文字だけを変換できるのでしょうか。
以下にスクリプトを入力します。よろしくお願いいたします。

//検索条件と置換後の文字列との設定
app.findGrepPreferences.findWhat = "(?<![a-z,A-Z,\-,0-9\.])[0-9](?![0-9,\-,\.,\)])";


//文字種置換
app.changeTransliteratePreferences.changeCharacterType=FindChangeTransliterateCharacterTypes.FULL_WIDTH_ROMAN_SYMBOLS;

app.changeTransliterate();

//選択範囲
//var text = app.activeDocument.selection;
//for(var i = 0; i < text.length; i++) {
//text[i].changeTransliterate();
//}

//ドキュメント全体
for (var i = 0; i < app.activeDocument.pages.length; i++) {
var pageObject = app.activeDocument.pages[i];
for (var j = 0; j < pageObject.textFrames.length; j++) {
pageObject.textFrames[j].parentStory.changeTransliterate();
}
}

No.9640 2019/07/08(Mon) 14:07:11
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:67.0) Gecko/20100101 Firefox/67.0

Re: javascriptでの置換 / お〜まち URL
正規表現検索で検索した結果を文字種変換で利用することはできません。
やり方としては、
A. 検索結果のtext配列のそれぞれに対して文字コードを変更する
B. 正規表現置換の書式でOpenType全角字形を指定する(フォントが対応していれば)
が考えられます。

No.9641 2019/07/08(Mon) 23:28:26
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.94 Safari/537.36 Vivaldi/2.6.1566.40

Re: javascriptでの置換 / (z-) URL
お〜まちさんに追加でひとつ。
先にいったん
var result = app.findGrep();
しておき、
result配列(エレメントは検索結果のTextオブジェクト)をループして文字種変換

というのも有効かと思います。

No.9642 2019/07/09(Tue) 12:25:36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: javascriptでの置換 / (z-) URL
スクリプト学習の面もあろうかと思って出しあぐねてましたが、
拙作「Munchkin(マンチカン)」というスクリプトで解決する案件ではありました。

http://ajabon.catfood.jp/?p=1825

No.9643 2019/07/24(Wed) 12:06:18
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8