このページの本文へ

Illustrator×JavaScriptで百ます計算を自動生成 (3/4)

2009年08月31日 15時00分更新

文●古籏一浩

  • この記事をはてなブックマークに追加
本文印刷

表示位置の指定と行揃えの設定

 とりあえず文字は表示できましたが、位置を指定していなかったので現状ではドキュメントの原点に文字が表示されています。そこで、translate() を使って、ドキュメント上に配置したテキストフレームの位置を移動します。translate()は、移動先の位置を絶対座標ではなく相対値(テキストフレームの現在の位置からの移動距離)で指定します。百ます計算表では、マスごとに1つずつテキストフレームを作って配置しますが、新規に作成するテキストフレームは毎回、常に原点に配置されるため、translate()に指定する値は絶対座標と同じ値になります。

 translate()には、2つの引数を指定します。最初の引数は横方向、2番目の引数は縦方向の移動量です。縦方向は、上に移動させる場合が正数、下の場合が負数になります。

 実際のスクリプトをサンプル04にまとめます。

fig3-1.png

文字が原点から右に100ポイント、上に200ポイント移動します



●サンプル04のソースコード


var doc = app.documents.add(DocumentColorSpace.RGB, 595.28, 841.89);
var textFrameObj = activeDocument.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";
textFrameObj.paragraphs[0].size = 36;
textFrameObj.translate(100, 200);


 次に、表の見た目を整えるため、文字をマス目の中央揃え(センタリング)で表示するようにします。行揃えは行単位(段落単位)で指定します。 paragraphs[] で行揃えを設定したい段落を指定し、 paragraphAttributes.justificationプロパティに以下のような行揃えのルールを設定します。

Justification.LEFT
左揃え
Justification.CENTER
中央揃え
Justification.RIGHT
右揃え
Justification.FULLJUSTIFY
両端揃え
Justification.FULLJUSTIFYLASTLINELEFT
均等配置(最終行左揃え)
Justification.FULLJUSTIFYLASTLINECENTER
均等配置(最終行中央揃え)
Justification.FULLJUSTIFYLASTLINERIGHT
均等配置(最終行右揃え)

 先ほどのサンプル04を中央揃えに変更したのが、サンプル05です。

fig3-2.png

文字が中央揃えになっています


●サンプル05のソースコード


var doc = app.documents.add(DocumentColorSpace.RGB, 595.28, 841.89);
var textFrameObj = activeDocument.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";
textFrameObj.paragraphs[0].size = 36;
textFrameObj.paragraphs[0].paragraphAttributes.justification = Justification.CENTER;
textFrameObj.translate(100, 200);


この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています