【解決】スタイルにショートカットを割り当てたい!(2)

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
ショートカットでスタイル適用(2)アイキャッチ

以前の記事【解決】スタイルにショートカットを割り当てたい!により,キーボードショートカットでスタイルを適用できるようになりました。お気に入りのスタイルをすぐに呼び出すことができ,とても便利に使っています。

でもこのスクリプトは,スタイルごとに1つずつJavaScriptファイルを必要とします。だんだん管理が面倒になってきました。

だって想像してみてください。私がこのスクリプトをアップデートするたびに,あなたは毎回JavaScriptファイルをリネームすることになるんですよ……

幸いなことに,Illustratorにはスクリプト実行時に引数(ひきすう)を渡す機能がついています。引数とはスクリプトに渡す文字や数字などのデータのことです。スタイル名を引数として渡せば,プログラムの中身はそのままでも,そのスタイルを適用する処理に変えられます。

前のスクリプトを作ったときは,引数を管理できるアプリが普及していなかったためファイル名で代用していました。最近はKeyboard Maestroを使う人が増えてきたので,それで管理できそうです。

そこで今回は,バージョンアップしたスタイル適用スクリプトKeyboard Maestroで,複数のスタイル適用ショートカットの管理を簡単にします。

準備

Keyboard Maestroには,Illustratorに引数を渡すことに特化した機能はありません。そのため,【解決】Keyboard MaestroのIllustratorスクリプト実行を簡単にしたい!で紹介したヘルパー,Yatakagami.scptでできるようにします。

まずはリンク先の内容の通り,Yatakagami.scptのセッティングを済ませてください。一言で言ってる割に,ここが一番大変なんですけどね。

次にこちらの新しいスタイル適用スクリプトをダウンロードします。名前はapplyStyle.jsxと,前のより短くしました。

設定方法

Yatakagami.scptのセッティングが終わっていれば,Keyboard Maestroに[sttk3] Functionというマクログループがあるはずです。その中のマクロの1つmacro_templateをIllustrator用マクログループ内に複製し,自分が管理しやすい名前をつけてください。「文字スタイル◯◯適用」のようにスタイルの種類と名前を明記し,適用か追加かを識別できるようにしておくのがおすすめです。

説明を簡単にするため,このマクロは以後「スタイルマクロ」と呼ぶことにします。

スタイルマクロには,好きなキーボードショートカットを指定しておいてください。もちろんショートカット以外のTyped String Triggerなども指定可能です。お好みでどうぞ。

さて次に行きます。スタイルマクロの中に「Set Vatiable “exec_path” to Text」というアクションがあります。そのアクションのto: という文字の右にある大きめのテキスト入力欄に,applyStyle.jsxのパスを入力してください。ファイルをドロップすれば自分で打ち込まなくてもパスが入ります。

exec_pathにスクリプトのパスをセットする画像

適用するスタイルを指定するには,スタイルマクロのexec_argsの部分に特定の書式のXMLを書き込みます。例えば,文字スタイル[標準文字スタイル]適用したい場合,下記のようにします。

exec_argsにスタイル情報をセットする画像

ここまでできたら設定完了です。別のスタイル用マクロを追加したい場合,スタイルマクロを複製してexec_argsを書き換えるだけ。exec_pathはそのままでOKです。

使いかた

こちらは単純で,スタイルを適用したいオブジェクトを選択して,設定したキーボードショートカットを押すだけです。前のよりちょっと間があります。

設定XMLの詳細

type :
スタイルの種類を示す文字です。文字(character)スタイルの場合c,段落(paragraph)スタイルの場合p,グラフィック(graphic)スタイルの場合gを入れます。

name :
スタイル名です。Illustratorのスタイルパネルに出ている名前そのものを入れます。ただし,XMLの制御文字(<>'"&)はエスケープする必要があります。例えば「&」だったら「&amp;」になります。

clearingOverrides :
オーバーライドを削除するかどうかを指定できます。別の言いかたをすれば,「適用(apply)」のときはtrue,「追加(merge)」のときはfalseです。この項目は省略可能で,省略した場合は「適用」になります。

type,name,clearingOverridesをparamタグで囲ったものがスタイル1つ分のセットです。セットを3つまで増やせば,1回の動作で文字・段落・グラフィックスタイルが適用できます。何ということでしょう!

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

コードはこちら

このサイトで配布しているスクリプトやその他のファイルを,無断で転載・配布・販売することを禁じます。
それらの使用により生じたあらゆる損害について,私どもは責任を負いません。
スクリプトやファイルのダウンロードを行った時点で,上記の規定に同意したとみなします。

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

SNSでもご購読できます。

広告

コメントを残す