2008/06/16

図を放り込む

原稿整理の段階での簡易タグ付け(制御文字――例えば、「##節」などを使う)によって、原稿流し込み→自動的に段落スタイルの適用、という作業が可能になって、だいぶ楽になった。その際に、表についても、自動的にインデザイン上で組むようにできたので(もちろん、罫線やセル幅などの微調整は必要)、残っている手間のかかる作業というと、イラストレーターで作成した図の配置。

これが結構厄介。アンカーオブジェクトにする、て手もあるだろうが(たぶん、こっちの方が楽?)、キャプションとの位置関係とか、図の配置位置は、天もしくは地の左右中央が基本だったりすることから、スクリプトで制御しようかと。

オブジェクトは、放り込んだ図=Rectangle、キャプション=TextFrame、となる。版面のテキストフレームの種類がフレームグリッドかどうかで取得して、そのフレームの天もしくは地に合うように、visibleBoundsを設定する。その時、図とキャプションの間隔を、図中文字の1字分に固定する。図がRectangleでない場合――例えば、インデザイン上で図を作った場合のことは次考える^^;。

このスクリプトはサッとできた。で次に考えたのが、校正で図を別のページに移動する必要が出てきた時。これも手動でやってると、手間がかかる、というかイライラしてくる。

なんで、これは図にかぎらず、ページ上のオブジェクトを別のページに移動できるスクリプトを考えたんだが。。。時間切れ。

移動先のページを取得→オブジェクトのmoveメソッドの引数にそのページを割り当て。これでオブジェクトの移動は簡単にできるんだが、その時、移動先のページの(0, 0)の位置にオブジェクトが配置される。で2番目の引数で位置を設定する。この場合、ページの左上からの位置になるので、あからじめ、移動前のオブジェクトのページ左上との相対位置を取得して、当てはめることになるんだが、レイアウトグリッドの設計が左右中央でないばあいは、偶数ページ、奇数ページで設定を調整する必要がある。

これは面倒、ということで、レイアウトグリッドとの相対位置をオフセット値みたいなかんじで保存しといて、ページ⇔レイアウトグリッド⇔オブジェクト、という関係で、位置の数値を決めようと思ったんだけど・・・。
ページ⇔レイアウトグリッドのとこで、数値がNaNになってしまう・・・・・・。ここらへんは勉強不足でなぜだかわからんので、後でしらべておくこと。

0 件のコメント: