はじめに
Illustratorのプラグインの開発のおはなし。
IllustratorのAPIを使ってポップアップウィンドウを表示する際に
日本語を表示するのにちょっとつまづいたのでメモ
開発環境
Mac用のプラグインはXcode、Windows用のプラグインはVisualStudioを用いてビルド
推奨開発環境などはAdobeのサイト参照、基本的にそれに沿ってやってます。
IllustratorのAPIはAdobeのサイトから落とせます。
ソースコード
基本的には下の感じでYes,Noの選択肢を持つポップアップウィンドウが出せるはず。
const char* str = "今日はいい天気ですね"
ai:::UnicodeString aiStr(str);
YesNoAlert(aiStr);
Windows、Mac共にビルドは通ったのだが
Mac版はプラグインを起動してポップアップを表示したときに文字化けしてしまった。
解決策
下のように一文足したら文字化けが治った。
ai:::UnicodeString aiStr;
const char* str = "今日はいい天気ですね"
aiStr = ai::UnicodeString::FromUTF8(str);
YesNoAlert(aiStr);
ただ、aiplugin2.cppのソースコードだと逆にWindowsで文字化けが発生した
同一のソースコードを利用する場合はマクロなんかで切り分ける必要があるようだ。
まとめ
原因がいまいちつかめていないが、修正内容からするとおそらく文字コードだと思われる。
ただどちらのソースコードも文字コードはUTF-8のはず。
なのでaiplugin2.cppのソースコードを用いてもWindowsで正常に動くはずなのだが...。
ひとまず暫定対応としてFromUTF8のメソッドを使う事を覚えておく。