記号フォントをあしらいに使う時などに。一覧ストックからフレーム選んでアウトラインかけると全部グループ化されて、解除しても1行まるっと複合パスになってしまいます。1文字ずつバラしたい。
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var Doc=app.activeDocument var sel=Doc.selection[0];//テキストフレーム選択 for(var i=0; i<sel.characters.length; i++){ var Ot=sel.characters[i].createOutlines(false);//trueだとインラインになる/falseは元が残る Doc.selection=Ot; Doc.selection[0].overprintFill=false//元が黒だとオーバープリントにチェック入るの回避 } sel.remove()//元消去 }
上記だと改行やスペース混じりだとうまくいかないので検索でやってみました。
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT); function main (){ var Doc=app.activeDocument var sel=Doc.selection[0];//テキストフレーム選択 app.findGrepPreferences.findWhat = ".";//改行以外 var Res=sel.findGrep(); //alert (Res.length) for(var i=0; i<Res.length; i++){ try{var Ot=Res[i].createOutlines(false); Doc.selection=Ot; Doc.selection[0].overprintFill=false; }catch(e){}//tryはタブとかスペースあったらエラー出たので } sel.remove(); }
コマンドZで戻れるから何にでも
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){命令}
を付け足してましたがこれは繰り返しの部分が効かなくなる…。
↓参考(FAST_をとる)
UndoModes.FAST_ENTIRE_SCRIPTとisValidのバグ(InDesignスクリプト)|InDesign|ぼんぷろぐ