表示位置の指定と行揃えの設定
とりあえず文字は表示できましたが、位置を指定していなかったので現状ではドキュメントの原点に文字が表示されています。そこで、translate() を使って、ドキュメント上に配置したテキストフレームの位置を移動します。translate()は、移動先の位置を絶対座標ではなく相対値(テキストフレームの現在の位置からの移動距離)で指定します。百ます計算表では、マスごとに1つずつテキストフレームを作って配置しますが、新規に作成するテキストフレームは毎回、常に原点に配置されるため、translate()に指定する値は絶対座標と同じ値になります。
translate()には、2つの引数を指定します。最初の引数は横方向、2番目の引数は縦方向の移動量です。縦方向は、上に移動させる場合が正数、下の場合が負数になります。
実際のスクリプトをサンプル04にまとめます。
●サンプル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です。
●サンプル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);