【遊び】スクリプトで塗りアピアランスを追加したい!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
アピアランスのスクリプト アイキャッチ

Illustratorのアピアランス機能は,修正しやすく再利用も簡単なデータを作るのに欠かせないものになっています。
あまり詳しくない方でも,文字に白フチをつけたり,線路の点線を作ったりするのに使ったことがあるのではないでしょうか。

そんな当たり前のように使うアピアランス機能ですが,残念ながら基本的にはスクリプトで操作することができません。

一応applyEffect()というメソッドを使えば,スクリプトによってアピアランス効果を追加できるものの,その効果はオブジェクトの末尾に加わるだけの素朴な結果になります。
きっと塗りや線の効果を使いこなしているあなたには不満が残りますよね。

そこで今回は,FXGファイルを使ってアピアランスを操作する方法を紹介します。
ただしこの方法はあまり実用性がないので,あくまでもお遊びとして見てみてください。

FXGファイルって何?

FXGファイルとは,XMLをベースとした文法で記述する,画像ファイルフォーマットの1つです。

FlashやFireworksからIllustratorにデータを移行するのに使われたりしていましたが,Illustrator CC以降はサポートが打ち切られ,開くことができなくなっています。結果的にはCS5~CS6だけ対応している状態です。

喜ばしいことに,このファイル形式ではIllustratorのオブジェクトやアピアランスを単なるテキストで表現できるので,FXGのソースコードを生成すればスクリプトでアピアランスのコントロールができるというわけです。

アピアランス生成の手順

生成のワークフローは以下のようになります。

  1. アピアランスを適用したオブジェクトを,FXGのソースコード(プレーンテキスト)として記述する
  2. 記述したFXGをファイルとして書き出す
  3. 書き出したFXGファイルをIllustratorで開き,中身のオブジェクトをもとに新規グラフィックスタイルを作成する

あとはそのスタイルを,アピアランスを適用したいオブジェクトに割り当てれば完了です。

サンプルのJavaScript

それではサンプルとして,文字の背面に白枠の塗りアピアランスを追加するスクリプトを紹介します。以下のファイルをダウンロードしてください。

文字を選択してスクリプトを実行すると,文字から枠へのマージンを指定するダイアログが出ますので,数値を入力してください。
そうすると選択した文字に,マージンが追加された白枠がつきます。

文字に白い枠のアピアランスを追加する図版

注意点

今回紹介した方法には以下のような,実用性がイマイチと思われるだけのデメリットがあります。

  • FXGの読み込みとアクションの即時生成を使うので,Illustrator CS6でしか動かない
  • FXGは基本的にRGBカラーなので,CMYKカラーは色化けする(線1つ,塗り1つまでならIllustratorで開いたとき通常の方法でCMYKに変更できる)
  • アピアランスパネルに表示される文字が普通と違う

    アピアランスパネルの文字が化けている画像

  • UNDOしたいとき,何回も実行しないともとに戻らない(一時的に生成したグラフィックスタイルとレイヤーの削除処理が履歴に含まれるので)

終わりに

いかがでしたでしょうか。今回は実用性のないお遊びでしたが,原理がわかっていれば応用の可能性も無限大です。自分自身のワークフローに合わせて新しい使いかたを開発してみてください。

これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!

コードはこちら。ハイライトの部分がアピアランスのソースコード

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

広告

コメントを残す