Illustratorで独立したスウォッチライブラリを作る

仕事であるプログラムの仕様書を作っていた。「仕様書を作る」とはいっても、具体的にどのようなプログラムになるか目に見えないとクライアントに理解してもらえないので、やおらXcodeを起動してAppleScript Studioのアプリケーションを作り出すことになる。

もちろん、この段階でコードは書かないが……書きたくなる気持ちをぐっとこらえて、Interface Builder(以下、IB)でインタフェースの設計(というか作成)だけ行ってしまうのだ。ガワの部分だけ出来てしまえば、たとえばサンプルデータが画面の中に入っていなくても、該当ウィンドウのスクリーンキャプチャだけ撮ってしまって、Keynote上でサンプルデータと合成して実行イメージに近いものを提供できてしまう。

ドロワーの開閉ぐらいはバインディングだけで実装できてしまうので、とりあえずUIだけ動いた状態でテストランして見せることができ、ひじょーに便利だ。プレゼン用のダミーUIを作る場合には、REALbasicよりIB上のほうが作りやすい。慣れの問題はあるだろうが、IBだと大味なデザインにならずに済む感じである。しかも、本物のGUI部品を使ってデザインするので、完成イメージにきわめて近いものが出来上がる。

場合によっては、Quartz Coposer(以下、QC)のデータまで作って、KeynoteにQCのデータを貼り込んだりもする。Keynote上でQCは通常のQuickTimeムービーと同じ扱いになるため、そのまま再生可能であり……書類上で3Dのロゴを回転させたりすることもできたりする。

そろそろ本題。その仕様の一部でIllustratorのスウォッチライブラリを作るという項目が出てきた。スウォッチというのは、ユーザーが自由にカスタム色を登録しておけるカラーパレットの一種だ。

AppleScriptからIllustratorをコントロールすると、現在のドキュメントに付随しているスウォッチに対して、色の種類やカスタム名称を指定して新規の色を追加できる。

実際にできるのはここまでで、「ひよこさんスウォッチライブラリ」などというものをScript側から作成できたりはしないのであった。こーゆーのをScriptから叩けるようにしておいてほしいんだが、微妙にかゆいところに手が届かないのがAdobe製アプリケーションにおけるScriptingの実態といったところだろうか。

Script側から操作するのはさておき、GUI上でかような操作を実際に行えるのだろうか? ヘルプを調べ、Googleで検索してみたのだが答えが出ない。そこで、せうぞーさんに電話して相談。

独立したスウォッチライブラリのファイルがどのへんに存在して、形式は.aiであり、テキストエディタでオープンして書き換えられそうな雰囲気だのいろいろ試したことを説明したところ……そこまで気合いを入れる必要はなかったよーだ。

せうぞーさんとお話をしている中でいろいろアイデアをいただいて、電話を終えた頃にはすでに対策が固まっていた。ダミーの書類上にスウォッチを作成しまくって、それを保存しておいてターゲットの書類でスウォッチだけインポートすればいいんじゃないか、という話になったのだ。

スウォッチライブラリのポップアップメニューに「交換用にスウォッチを保存...」という機能があったので、これを用いて一度保存し、別の書類でその交換用スウォッチなるものを読み込んでみたら…………ビンゴ! ただ、この交換用スウォッチだと、拡張子が「ase」という本来のスウォッチライブラリとは異なるものになっており、どうも正解ではない雰囲気である。

交換用ではなくふつーにスウォッチを保存する方法もすぐに見つけた。スウォッチのパレットにある「スウォッチライブラリを保存...」というコマンドである(まんまやん)。書き出したスウォッチライブラリを別の書類に読み込ませたところ、きちんと独立したスウォッチライブラリとして表示された。

めちゃめちゃAppleScriptからコントロールできなさそうな雰囲気であるが、とりあえずGUI側から操作できることは分かった。C言語でごりごり書いてプラグイン的なアプローチから実現するのか、既存のスウォッチライブラリを書き換えて行うのか、GUI側から強制操作するのか……どの方法が最良かは(コストの問題などで)まだ判断できかねるが、無理ではないことだけは分かったというところだろーか。

Copyright By Piyomaru Software. All Rights Reserved