やっぱりモードレス変換は最高

やっぱりモードレスな日本語入力は最高 #

もしくは「Google さん素敵愛してる」

概要 #

Google 日本語入力 」と mozc-temp.el で、かつての yc.elCanna のような「モードレス変換」実現
(boiled-egg みたいなのって言うのがわかりやすい?)

経緯 #

「もう Canna はいいや。。。」と、yc.el に後ろ髪ひかれつつも、モードレス変換を捨て去って早十数年。
ふと(あんないいものがなくなるわけないよね)と思い立って調べてみて、

ゅであんしぃ → sekka → boiled-mozc → ac-mozc

と情報たどって mozc-temp にたどりついたよ!
https://github.com/HKey/mozc-temp

Canna のかわりに Mozc 1 と通信するらしい
最終更新が 6 年前って、たどりつくのが遅かった感はあるけど、ひとまず導入チャレンジ

。。。と言ってもそこまで大変じゃなかったので、自分用メモですね

環境: macOS Big Sur 11.5.2

感想 #

一発で手に馴染んだ yc.el と比べるとちょっと挙動に違和感あるけど、これは Mozc と Canna との違いかなぁ
やっぱりモードレス最高!
これを Emacs 以外の環境でも使いたいものだ

Mozc #

基本、オフィシャルの「How to build Mozc on OS X 」に従えば OK

。。。と言いつつ、パッケージ版の「Google 日本語入力」でも大丈夫でした。後述する mozc_emacs_helper だけでいいかも

2021/09/21 追記: インストールはしとかなあかんっぽいですね。インストール後は、「Mozc」ではなく「Google 日本語入力」が有効になってれば OK です。ただし、辞書共有するなら、Emacs 以外でも Mozc 使う方がよろしいかと

brew で必要なものインストール #

Building on Mac requires the following software.

  • Xcode
  • Ninja
  • Qt 5 for GUI
  • Packages for installer

設定用 GUI 欲しければ QT が必要みたいだけど、ひとまずいらないし、Xcode は導入済みなので Ninja だけ入れる。あと、Python 2 と 3 の互換性ライブラリ「six」も

$ brew install ninja
$ brew install six

ソースコード取得 #

$ cd ~/work
$ git clone https://github.com/google/mozc.git -b master --single-branch --recursive

Build #

詳細は本家の「Build with GYP (stable) 」参照
mac_sdk のバージョンでエラーが出たので、自分の環境に合わせる

$ xcrun -sdk macosx --show-sdk-version
11.3

$ cd ~/work/mozc/src
$ GYP_DEFINES="mac_sdk=11.3 mac_deployment_target=10.9" python3 build_mozc.py gyp --noqt
$ python3 build_mozc.py build -c Release mac/mac.gyp:GoogleJapaneseInput

Install #

これも本家のいう通り

$ sudo cp -r out_mac/Release/Mozc.app /Library/Input\ Methods/
$ sudo cp mac/installer/LaunchAgents/org.mozc.inputmethod.Japanese.Converter.plist /Library/LaunchAgents
$ sudo cp mac/installer/LaunchAgents/org.mozc.inputmethod.Japanese.Renderer.plist /Library/LaunchAgents

Mac 再起動したら、入力ソースで Mozc 選べるようになる。Emacs で使うだけだとしても、ここで登録いとかないと Mozc が起動しないので、Emacs から通信できなくてエラーになります。

mozc_emacs_helper #

最初、これ入れてなくてエラーになった。Mozc についてます
で、先人の知恵ありがたし

mozc_emacs_helper on macOS Sierra via みのるの備忘録

build_mozc.py 修正 #

--- build_mozc.py.orig
+++ build_mozc.py
@@ -155,6 +155,8 @@
   # Include subdirectory of win32 and breakpad for Windows
   if options.target_platform == 'Windows':
     gyp_file_names.extend(glob.glob('%s/win32/*/*.gyp' % SRC_DIR))
+  elif options.target_platform == 'Mac':
+    gyp_file_names.extend(glob.glob('%s/unix/emacs/*.gyp' % SRC_DIR))
   elif options.target_platform == 'Linux':
     gyp_file_names.extend(glob.glob('%s/unix/*/*.gyp' % SRC_DIR))
     # Add ibus.gyp if ibus version is >=1.4.1.

Build #

$ python3 build_mozc.py build -c Release unix/emacs/emacs.gyp:mozc_emacs_helper

Install #

$ sudo cp out_mac/Release/mozc_emacs_helper /usr/local/bin

mozc-temp #

本家では、MELPA から入れなはれ ってなってるんだけど、リストに出てこなかったので、.el をダウンロードして

M-x package-install-file

しました

init.el #

さっき入れた mozc_emacs_helper とキーバインドを登録して完了。
ycの時から Ctrl-J で慣れてるんだけど、Cmd-J の方が他とアタりづらいかなと思って、両方試し中。

(setq mozc-helper-program-name "/usr/local/bin/mozc_emacs_helper")
;;(global-set-key (kbd "M-n") #'toggle-input-method)
(global-set-key (kbd "M-j") #'mozc-temp-convert)
(global-set-key "\C-j" #'mozc-temp-convert)

  1. モズク。「Google 日本語入力」のオープンソース版 ↩︎

See Also

Copyright © 髭。/ Hugo + hugo-book