前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Adobe Extendscript Toolkit CCを使用して、
スクリプトを作成をしています。
Indesignで文章の一部を選択して、
指定文字「。」を見つけても長体率が変わらないので、
教えていただきたいと思います。
また、選択している文字の中で何文字目と指定して長体率を
変える事が出来る様にもしたいと思っています。
約物(記号)を見つける正規表現で長体率を変えるスクリプトはネット等にありますが、
文字数での長体率を変えたいと思っているので、正規表現はなるべく使用せずに作成したいと
思っています。
発生している問題・エラーメッセージ
指定文字「。」を見つけても長体率が変わらない。
プログラムでのエラーは出ていません。
該当のソースコード
Main() function Main(){ app.doScript("doMain()", ScriptLanguage.JAVASCRIPT, [], UndoModes.fastEntireScript); } function doMain(){ ////////////////////////////////////////////エラー処理 function myerror(mess) { if (arguments.length > 0) { alert(mess); } exit(); } /////字形変換 実行 ////////////////まずは選択しているもののチェック if (app.documents.length == 0) {myerror("ドキュメントが開かれていません")} var mydocument = app.activeDocument; if (mydocument.selection.length == 0) {myerror("テキストを選択してください")} var myselection = mydocument.selection[0]; var myclass =myselection.reflect.name; myclass = "Text, TextColumn, Story, Paragraph, Line, Word, Character, TextStyleRange".match(myclass); if (myclass == null) {myerror("テキストを選択してください")} // 選択している全ての文字を配列に代入 var m = app.activeDocument.selection; var mojisuu; var mojiarry = new Array(); var sel = app.activeDocument.selection; for (var i = 0; i < sel.length; i++ ) { m = sel[i].contents } mojisuu = m.length //全ての文字数 alert ("選択している文字は " + m + " です"); alert ("選択している文字数は " + mojisuu + " です"); for (var s = 0; s < mojisuu; s++) { mojiarry[s] = m.charAt( s ); // 一文字ずつ入れる(一文字、一文字に番号を付けたい為) alert (s + "文字目は "+mojiarry[s]+" です"); } ////////////////検索の実行 /* 0;アキなし 0.125;八分 0.25;四分 0.5;二分 0.75;二分四分 1;全角 2とか5も指定できる。でもリストには「自動」と表示される */ for (var z = 0; z < mojisuu; z++) { switch (mojiarry[z]) { case "。": alert ("見つかりました"); mojiarry[z].leadingAki = 0; mojiarry[z].trailingAki = 0.5; break; default: break; } } }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Adobe Extendscript Toolkit CC
Indesign CS6
を使用しています
回答1件
あなたの回答
tips
プレビュー