カネムーメモ in MyBetaBook

Illustrator Script トラッキングでテキストばらし

図や表のデータを、「これを流用して修正して下さい」とPDFを渡される事があるかと思います。

Illustratorで開けて編集するわけですが、開けてみると表が1列つながっている事がありませんか?タブ等で繋がっているわけではなく、間を広いトラッキングを取って空けてあります。

こういった場合にいちいちテキストをコピペでばらす作業にうんざりしたので、トラッキングを境目にテキストをバラすスクリプトを書きました。

#target "Illustrator"

var doc = app.activeDocument;
var sels = toArray(doc.textFrames);
for(var i=sels.length-1;i>=0;i--){
    splitLongTrackingText(sels[i]);
}

function splitLongTrackingText(sel){
    var story = sel.story;
    var layer = sel.parent;
    var charas = sel.characters;
    var cLength = charas.length;
    for(var i = cLength-1;i>=0;i--){
        var cRenge = charas[i];
        if(cRenge.tracking>500){//501以上だった場合は切り分ける。
            var offset = cRenge.characterOffset;
            var cRengeLength = cLength - offset;
            if(cRengeLength>0){
                cRenge.length = cLength - offset;
                cRenge.characterOffset = offset;
                var copyFrame = layer.textFrames.add();
                cRenge.duplicate(copyFrame);
                cRenge.remove();
                copyFrame.position = [sel.position[0]+sel.width,sel.position[1]];
            }
            cLength = charas.length;
            charas[cLength-1].tracking = 0;
        }
    }
}

function toArray(o){
    var ary = [];
    for(var i=0,len=o.length;i<len;i++){
        ary.push(o[i]);
    }
    return ary;
}

このスクリプトを「trackingテキストばらし.jsx」として保存し、Illustratroのスクリプトフォルダへ入れます。

ドキュメントを開いて ファイル/スクリプト/trackingテキストばらし を実行すると、広いトラッキングの部分でテキストを分割してくれます。お試しください。

カネムーメモ in MyBetaBook

Illustratorのアートワークを線だけにしたい
Illustrator Script トラッキングでテキストばらし
ファイル操作基本1: ファイルをInDesignで開く
ファイル操作基本2: フォルダ内のinddファイルを全て開く