Illustratorで任意の文字数で改行するスクリプトです。
使い方は横の文字数を揃えたいテキストブロックを選択してから実行します。テキストブロックを選択するだけでテキスト自体を選択する必要はありません。
また、複数のテキストブロックを選択して処理することもできます。
wordCount = 10; // 10文字ごと改行
CR = String.fromCharCode(13);
docObj = activeDocument;
selObj = docObj.selection;
for (i=0; i<selObj.length; i++)
{
txt = selObj[i].contents;
result = "";
count = 0;
for (j=0; j<txt.length; j+=wordCount)
{
result += txt.substr(count*wordCount, wordCount);
count++;
result += CR;
}
selObj[i].contents = result;
}
前回と同様に文字数が固定されていない場合にはダイアログを使って処理することもできます。ダイアログで入力したい場合には以下のようにprompt()を使います。
wordCount = parseInt(prompt("横の文字数",10));
CR = String.fromCharCode(13);
docObj = activeDocument;
selObj = docObj.selection;
for (i=0; i<selObj.length; i++)
{
txt = selObj[i].contents;
result = "";
count = 0;
for (j=0; j<txt.length; j+=wordCount)
{
result += txt.substr(count*wordCount, wordCount);
count++;
result += CR;
}
selObj[i].contents = result;
}
実行する場合には文字コードには注意してください。Illustrator CSではSHIFT JIS、CS2ではUTF-8の文字コードで保存してから実行してください。