Controlling measurementUnits

From pixels to points to ciceros, InDesign allows users to pick from 15 different measurement units to use in various places of their documents. Thanks to this versatility, it can sometimes be hard to predict how a script will act in a measurement unit environment even slightly different from yours.

Where are these measurement units?

There are three major places where measurement units could vary depending on the user environment:

Continue reading →

scriptPreferencesをバッチ変更→復元

スクリプト本体の実行前にユーザ設定値を変更しておき、本体実行後に元に戻す、という処理が頻出する。

特によくあるのが app.scriptPreferences の設定。 enableRedraw はほとんどの場合で disable したいだろうし、 measurementUnit は意図しない設定になっていると絶対値の組み込まれたアルゴリズムが不具合を起こす。

この辺の〈保持→変更→復元〉という処理を main() などに直接入れちゃうと煩雑なので、 scriptSettings.alter()scriptSettings.revert() で本体ルーチンを挟むだけでいいようにメソッド化してみた。

Continue reading →