AppleScriptを連続的に呼び出し、一括処理を実現

事例のご紹介 事例 その19 (2010年)

案件 文書変換
対象業務 Illustratorプラグイン開発
動作環境 Mac OS X
Adobe Illustrator CS2
開発ツール Xcode
AppleScript

Biblos フォントは、記号文字などの外字セットを含むMac OS 9のフォントである。

顧客は、Illustrator 8でBiblos文字を使用し、製品カタログを作成していた。 今回、Mac OS X および モリサワのOpenTypeフォントへの移行に伴い、以下の開発を依頼された。
1)Illustrator 8のファイルをIllustrator CS2のファイルに変換する。
2)Biblos文字をモリサワのOpenType異体字に変換する。
3)ファイルが大量にあるため、上記の処理を連続実行により一括して行う。
フォントの文字はGID/CIDによって一意に管理されている。 異体字への変換処理は、変換元と変換先のフォント名とGID/CIDを記述した設定ファイルを読み込み、文字置換を行うIllustratorプラグインにより実現させた。
また、Biblos文字は2桁の記号数字の場合、2つの文字により1つの文字を構成する。 従って、変換元に2つの文字を指定できるようにも対応した。

AppleScriptにより、「Illustrator 8のファイルを開く」→「異体字変換プラグインの実行」→「Illustrator CS2形式での保存」を行った。 そして、スタンドアローン形式のアプリケーションを作成し、複数のファイルに対して、AppleScriptを連続的に呼び出し、一括処理を実現させた。

Illustratorのファイルの内容によっては、開く時や保存する時に警告やオプション指定などのダイアログが表示され、一括処理が中断してしまうことがある。
対応策として、一定時間経過してもIllustratorが終了しない場合は、Illustratorを強制終了し、次のファイルを処理するようにした。 強制終了したファイルはログに出力するようにして、後で手作業で変換する運用とした。

今回は、プラグイン、AppleScript、スタンドアローンなど、いろいろな技術の組み合わせにより、弊社の特徴を出すことができた。