■プログラム説明(ソースコード説明)
トラッキングを指定する文字を指定し変数srchTextに入れます。この文字と連動するトラッキング値を格納した配列変数trackValを用意します。trackVal配列の最初の値が変数srchTextの一番最初の文字のトラッキング値になります。1文字目のトラッキング値はtrackVal配列の2番目に対応します。選択されたテキストはselection配列に入っているので、選択されたテキストブロックの数だけ繰り返し処理を行います。テキストブロックからtextRangeオブジェクトを作成しcharacters配列に入っている文字がトラッキングする文字かどうかをindexOf()で調べます。一致した場合は0以上になり一致した文字の位置を示します。この位置の値をキーにしてtrackVal配列にある値を読み出してtrackingプロパティに設定します。
■ソースコード
srchText = "、。01234567890"; // トラッキング設定文字
trackVal = [-550,-400,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200]; // トラッキング値
sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
txtRange = sel[i];
for (j=0; j<txtRange.characters.length; j++)
{
c = txtRange.characters[j].contents;
n = srchText.indexOf(c,0);
if (n > -1)
{
txtRange.characters[j].tracking = trackVal[n];
}
}
}
■使い方
1:トラッキングを設定するテキストをブロックごと選択します。複数のテキストブロックを選択しても構いません。
2:ファイルメニューからスクリプトを実行します。
3:、や。、全角数字が選択されたテキストブロックに含まれている場合にはトラッキングが設定されます。
■ポイント
1文字ごとの情報を格納しているcharactersオブジェクトには以下のようなプロパティがあります。
baselineShift ベースラインシフト
contents 文字
direction 文字方向
fillColor 塗りの色
filled 塗りつぶし状態(true、false)
font 書体/フォント
autoKerning カーニング自動設定(true、false)
kerning カーニング
leading リーディング
scaling 文字比率
size 文字サイズ
strokeColor 線の色
stroked 線あり/なし(true、false)
strokeWidth 線幅
strokeOverprint オーバープリント(true、false)
tracking トラッキング
■実際のスクリプトをダウンロード(sample.js.zip)