Answered
Javascript でテキストフレームの文字を「.contents」で取得したとき "DEGREE_SYMBOL" となる文字
InDesign2021のJavascriptで、テキストフレームの文字列から「.contents」を使用して「°」を取得した時に、文字として認識してくれず、「DEGREE_SYMBOL」となってしまいます。
replaceで、「°」から「°」に変換したいのですが、いい方法があれば教えてください。
よろしくお願いします。
InDesign2021のJavascriptで、テキストフレームの文字列から「.contents」を使用して「°」を取得した時に、文字として認識してくれず、「DEGREE_SYMBOL」となってしまいます。
SpecialCharacters.DEGREE_SYMBOL ですね。
それなりのやりかたもありますが、今回はコードポイントを利用したほうがかんたんかと思います。
コードポイントは文字を選択して情報パネル上で参照できます。
>テキストフレームの文字列から「.contents」を使用して「°」を取得
について、どんな感じのコードを運用しているか、見せてもらえますか?
というのは、
1文字だけとらえた場合はアイツが返るのですが、

2文字以上の文字列の場合、下記スクショのようになる(面倒なく取得できる)など、
ちょっと運用から見直したほうがよい可能性もあるためです。

ちなみに
スクリプト内で検索置換機能を使う場合はこんなかんじで取得できます。
app.findGrepPreferences.findWhat = "\\x{00B0}";
var myFind = app.activeDocument.findGrep();
if(myFind.length){
myFind[0].showText();
}

Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.