@koshian's Tech Log

主に日本語に関する技術などこちらに書こうかと

Google日本語入力と通信する mozc_emacs_helper を Mac OS X でビルドする

以前に mozc.el を Mac OS X 上の Emacs で使う方法 という記事を書いて、これの通りに仮想マシンDebian に mozc サーバを立てて Mac 側の mozc.el から使ってたのだが、ユーザー辞書が共有できないのが不便だった。で、どうも mozc_emacs_helper を Google 日本語入力と通信させるようにビルドできるらしいというのを知ってためしてみることに。

hiroohongo.sblo.jp

上記サイトは Windows での mozc_emacs_helper の Google 日本語入力対応ビルドの方法が書いてある。どうやら --branding=GoogleJapaneseInput とオプションつけてやればよさそう。だが、これだと普通にビルドが通らない。いろいろ試した結果、以下のようなパッチをあてることに。

mozc_emacs_helper_build.patch

んでパッチを当てたら mozc_emacs_helper だけビルドする。mozc をまるごとビルドすると GoogleBreakpad.Framework をビルドしようとしてうまく通らない……。

手順としては以下のとおり。

$ git clone https://github.com/google/mozc.git -b master --single-branch --recursive
$ cd mozc
$ curl https://gist.githubusercontent.com/koshian/044eaf7a03027ed37a83/raw/90161d80944351160888adbfcb78247e4919f141/mozc_emacs_helper_build.patch | patch -p1
$ cd src
$ GYP_DEFINES="mac_sdk=10.11 mac_deployment_target=10.11" python build_mozc.py gyp --noqt --branding=GoogleJapaneseInput
$ python build_mozc.py build -c Release unix/emacs/emacs.gyp:mozc_emacs_helper

これでビルドできた。動作確認は上記サイトにあるように、

$ echo -e '(0 CreateSession)\n(1 SendKey 1 hiragana)\n(2 SendKey 1 hiragana)\n(3 SendKey 1 97)' | out_mac/Release/mozc_emacs_helper 

としてエラーが出てなければ OK。/usr/local/bin に cp してそのまま使用している。 今のところ順調に動作しており、Google 日本語入力で登録した単語もそのまま出ている。これはたいへん便利。また Emacs + mozc.el のためだけに仮想マシンGNU/Linux を走らせておく必要がなくなるのでたいへん気が楽である。

こころなしか反応も良くなった気がするなあ。というわけで MacUNIX として使ってる人たちにはこんな選択もあるよということで。

enjoy!