Photoshop CSやらIllustrator CSやらをAppleScriptからコントロールして、素材集のレイアウトを全自動で行うプログラムを作っていた。
各種素材をCMYKのEPSに変換して(このへんPhotoshop)、Illustrator CSのテンプレートに指定素材を自動配置して(Illustrator CSをコントロール)、最終的にQuarkXpressに流し込み可能なEPSファイルに書き出すというのが自分の担当パートだった。
ところが、ここに困ったことが起こる。
Illustrator CSがバグ持ちで、いわゆる「Save As」にあたるコマンドをまともに実行できないのだ。Web上で検索してみると、世界各国でいろいろと回避策が紹介されているのだが、自分の行いたい処理ではそれは無理だった。
Illustrator CSでダメだったものが、同CS2で修正されている可能性もある。後先考えずに、CS2の試用版をダウンロードしてきてインストールした。
結論からいうと、CS2でもダメだった。おまけにCS2が存在することでCSの安定性が損なわれた。速攻でCS2をHDD上から消去。アドビをふか〜く呪ったのだった。
よくもまあこんな状態でリリースするものだと呆れながら、仕方がないのでアプリケーションの内部オブジェクトをコントロールするのではなく、外側……つまりGUI側から強制的にコントロールを行うUI Element Scriptingでコントロールして解決した。
UI Element Scriptingは、確かにメニューやボタンなどをコントロールでき、各種状態をGUI側から取得できたりで便利だが、いわゆる「不測の事態」というヤツに対応できないので、本当に最後の手段だ。
JavaScriptからコントロールすることも考えないではないのだが、別にIllustrator CSだけをコントロールしていれば話が済むというものでもない。その他のさまざまなOS側の機能を呼び出してプログラムを作るので、JavaScriptだけでは実現できる機能が少なすぎて困る。
そろそろ、直接USのAdobeにも文句を言わなくてはならないだろうか。