[View] [Edit] [Attachments] [History] [Home] [Changes] [Search] [Help]
illustrator で javascript

面白い事に、最近の Illustrator では javascript による自動処理が出来るように
なっています。これを使わない手は無いので、簡単な使い方をメモします。
まずはお約束の Hello world
// Hello world!
// 一つテキストを追加します。
var newText = activeDocument.textArtItems.add();
// 文字列を設定
newText.contents = "Hello world!";
// 大体真ん中のところへ移動します。
newText.translate(activeDocument.width / 2, activeDocument.height / 2);
これを hello.js といったファイル名で保存しておき、illustrator であらかじめ
新しい書類を一つ開けておきます。そこで
ファイル > スクリプト > 参照
から保存した hello.js 呼び出すと、illustrator が文字を書類に書いてくれます。
フォント名を全部見る
これくらいの作業ならもちろん手動でやった方が早いのですが、もう少し面倒な作業を
自動化する事も出来ます。http://book.mycom.co.jp/book/4-8399-1354-4/4-8399-1354-4.shtml
のサンプルデータを参考にしました。
// すべてのフォントを表示する。
// 少し時間がかかります。
var newText = activeDocument.textArtItems.add();
newText.contents = "All Fonts: " + textFaces.length;
var paragraphs = newText.textRange().paragraphs;
for (var i = 0; i < textFaces.length; i++)
{
var line = paragraphs.add();
line.contents = textFaces[i].name;
line.font = textFaces[i].name;
}
これは illustrator が扱えるすべてのフォントを文字として書き出す物ですが、
こんなものを手で作っていたら日が暮れるでしょう。
デバッガ
デバッガを起動するには、コードの中で $.bp(); を呼び出します。CD に入っている
ドキュメントを見ながらデバッガで探検するのもまた楽しいものです。
スクリプトの面白い点は、illustrator の内部構成を垣間見ることが出来ると
いう事です。テキストを追加する際に textArtItems のメソッドを使った事か
ら、オブジェクトの種類ごとにコレクションを管理しているのかなあと想像で
きます。もちろん実際の内部は全然違うかも知れませんが、設計者がこのよう
に illustrator を見て欲しいというある視点を提供している点が面白いです。