InDesign ではすべての属性がスクリプト可能なのかと思いきや、フレームグリッドの基本情報である文字数/行数だけはなぜか簡単に読み書きする方法が用意されてない。日本語圏では頻繁に操作する箇所なので、自分でメソッドを作った。
- 縦組み/横組み
- テキストサイズ単位や組版単位などの違い
- 段数、段間
- 字間、行間
- フレーム内マージン
- フレームの線の太さ
などの設定をすべて考慮して、テキストフレームの geometricBounds
から文字数と行数を逆算する仕組み。
TextFrame.prototype
の拡張になっているので、外部ファイル扱い (.jsxinc) にしておいて #import
で適宜読み込むのがおすすめ。
使い方
Getter と setter を兼ねた gridDimensions()
というメソッドになっている。そのまま呼び出せば get、引数を渡して呼び出せば set として動作する。
フレームの種類が「フレームグリッド」に設定されているテキストフレームにのみ有効。フレームグリッドでない場合はエラーを返す。
Continue reading →