スプレッドの回転を使ってみた
InDesign CS4の新機能の一つ、スプレッドの回転機能を使ってみました。スプレッドを回転させるとこの通り。ペーストボードも含めて回転するのね。
では180度回転させてテキストフレームを作成、入力すると、通常画面のように操作できます。(下の図の赤枠のテキストフレーム)スプレッドの回転を解除するとテキストフレームが180度回転している状態になると言うわけ。これは便利かも。
180度回転した状態の画面
ところがこれをスクリプトで実行しようとすると罠が。
次のような、テキストフレームを作成して文字を入れるスクリプトを、回転なし、90度時計回り、90度反時計回り、180度の、それぞれの状態で計4回実行すると、
txf=app.activeDocument.textFrames.add(); txf.geometricBounds=[0,0,10,20]; txf.contents="abc"; //左上の座標が(0,0)、右下の座標が(20,10)の //テキストフレームを作ってabcと入力
図の緑枠のように、それぞれ異なる位置にテキストフレームが作成される。しかも、文字が入る位置も回転に応じて変化するのであればまだ対応できそうなのだが、文字は回転していない状態と同じ形で入る。これはどうすればいいんじゃー!
今のところ、スプレッドが回転しているかどうか、あるいはスプレッドの回転を設定できるような命令を見つけられていない。
ということで、スプレッドが回転している状態でフレームや図形を配置するようなスクリプトを書く時は要注意!
わたしの公開しているスクリプトでも「CS4の場合にスプレッドが回転している場合は正しく動作しない可能性があります」という注意書きをつけなきゃならないものがあるかも。特にスクリプトを使うだけの人は気を付けてね。これで変なことになっても、今のところ修正方法が見つかっていませんから。