忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[イラレ]
テキストエリアを文字サイズの整数倍にするスクリプト

長方形のエリアテキストを選択して実行すると、テキストエリアの横幅(縦組みなら縦幅)を1文字目の文字サイズ×水平比率(縦組みなら垂直比率)の整数倍にします。
エリア内文字オプションの段組みやオフセットにも対応してます。

※回転とかシアーがかかってるとダメです

[ダウンロード]

以下ソース

(function(){
var sel=app.selection;
if (sel.constructor.name=="TextRange") return;
for (var i=0;i<sel.length;i++){
    if (sel[i].constructor.name!="TextFrame" || sel[i].kind!=TextType.AREATEXT) continue;
    var tf0=app.selection[i];
    var tf1=tf0.duplicate();
    if (tf0.orientation==TextOrientation.HORIZONTAL) {
        var pt= tf0.characters[0].size*tf0.characters[0].horizontalScale/100;
        var columnWidth=(tf0.width-2*tf0.spacing-tf0.columnGutter*(tf0.columnCount-1))/tf0.columnCount;
        tf0.width=pt*parseInt(columnWidth/pt)*tf0.columnCount+2*tf0.spacing+tf0.columnGutter*(tf0.columnCount-1);
    } else {
        var pt= tf0.characters[0].size*tf0.characters[0].verticalScale/100;
        var columnWidth=(tf0.height-2*tf0.spacing-tf0.columnGutter*(tf0.columnCount-1))/tf0.columnCount;
        tf0.height=pt*parseInt(columnWidth/pt)*tf0.columnCount+2*tf0.spacing+tf0.columnGutter*(tf0.columnCount-1);
    }
    tf0.textRange.remove();
    tf1.textRange.move(tf0,ElementPlacement.PLACEATBEGINNING);
    tf1.remove()
}
})();
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

5つの「く」

ハタハタのすばらしさをまとめました。