Illustrator:ドキュメントのカラーモードに合わせてカラーパネルを自動で切り替えるエクステンションをこしらえたよ

はじめに

きっかけは、はむこさんのぼやき。なんかこの流れわりと多いなw
しょっちゅういいこというからなあ。

https://x.com/hamko1114/status/1980819102185976050

そーなんすよ。
カラーパネルの野郎、今さわってるドキュメントのカラーモードがRGBだろうがCMYKだろうが「まったくそれとは無関係でござい」を貫いて表示してよこすんすよ。頑固っ! 頑固っ!
これがまた、うっかりの勘違いを引き起こす。たまによくやる。

カラーパネルの切り替えはスクリプトのDOMには用意されてない(おれ調べ)。
でもアクションならできるみたい(はむこ調べ)、
んじゃアクションを実行するスクリプトを何らかで連動すればいけるかもね、って。

で、何かいい方法あるかなって探してみたです。
探してみたところで、うちは勝手が効くのがExtendScriptだけなので。プラグイン作れる人はなんでもできる。
この「何かしたら連動して何かなる」というのを叶えるにはイベントリスナーを設定するってことなんだけど、IllustratorはInDesignと違ってそんなの用意されてない。
そう、InDesignならね(ないものねだり)。

でも別の日に別のもの調べてるとき、ちろっと見かけたんですよ。
IllustratorのイベントをExtendScriptでつかまえられるプラグインあるって。
ブラウザの履歴をたどったら、確かにあった。
AIHostAdapter ですって。

https://community.adobe.com/t5/illustrator-discussions/aihostadapter-aip-macos-installation-filepath/td-p/14228574?profile.language=en

https://community.adobe.com/t5/illustrator-discussions/aihostadapter-plugin-windows-install/td-p/12727345?profile.language=en

それをもとに、やれるだけやってみました(やれない部分もあるという意味…)。
よかったら使ってみてくださいまし。


いれかた(ちょっと手順がいくつかあります…)

AIHostAdapter プラグインをもらいにいきましょう。

https://github.com/Adobe-CEP/CEP-Resources/tree/master/CEP_11.x/AIHostAdapter

Win または macOS を、その日の気分でカチ。

なんちゃら.zip をカチ。

画面右上 … ボタンから「Download」。

ダウンロードして展開して、AIHostAdapter.aip を Plug-ins フォルダへ。
どうも入れ場所が諸説あるんですが、自分の環境では Plug-ins フォルダ直下で大丈夫でした。

Windowsの人は
/Applications/Adobe Illustrator 202x/Plug-ins.localized/AIHostAdapter.aip
あたり、らしいです。現在試せませんすみません…

続いて、うちがこしらえたCEPエクステンションをダウンロード。

https://github.com/AJABON/ColorPanelAdapter/blob/main/ColorPanelAdapter.zxp

ソースコードも置いてありますが、このzxpファイルだけで大丈夫です。
例によって右上の … ボタンからダウンロードしてください。

で、このzxpファイルをインストールするためのアプリが必要です(めんどいね、めんどいよね…)。

https://aescripts.com/learn/post/zxp-installer?srsltid=AfmBOoqR6UhtylS3KQe4wYcNsVxQ7sGko-q_Shzt1H_UNkztd_r8uEW_

macOSかWinか、風水に従ってダウンロード。

インストールは直感でやってみて。

野良アプリなので、macOSの場合いちばん最初の起動だけ右クリックから「開く」で。
セキュリティ的なことをゴネられたら、システム設定「プライバシーとセキュリティ」で許してあげて。

で、いざ起動するとこういう画面が出るので、zxpファイルを投げ込んでみましょう。
(このあと金のzxpと銀のzxpを手に持った女神が出てきますうそです)

以上が終わったらIllustrator起動。
起動済みだったら再起動。
以上でーす。


つかいかた

この時点でもうエクステンションは仕事しています。今回そういう造りです。
オフにするにはエクステンションをアンインストールするしかない。強気だー。

で、ドキュメントがRGBのとき、カラーパネルはHSBで表示したい、という大元の希望があったんだけど
配るにあたり、RGBがいい人もいるだろうということで、
切り替えるためのパネルも作りました。ウィンドウメニューから出します。
これは切り替えにだけ使うもので、パネルが出ていなくても仕事はします。

で、「WebセーフRGB」はバグがあるようで、どうしてもアクション実行から切り替えられませんでした。
ざんねーん。なので今回はCMYK、RGBまたはHSB のいずれかとなります。

冒頭の経緯にあるように、処理じたいは即席でアクションを作って、実行してすぐ削除しています。
Illustratorのスクリプトではけっこう常套手段なんだけど、気になる人は気になってしまうかも。
慣れましょうね(としか言えない)。

使い始めは少しだけギクシャクするかもしれません。
何度か動かしてるうちにスムースになっていく感じです。
何に対してもわりと言えることですね(いいのかそれで)。
なんでかはちょっとわかってない…たぶん変数が出揃ってないんだ。
まあ、ちょっと使ってみてくださいまし。

CEPの技術的な話題は次の機会にー。