Cocoa Emacs (Emacs 23)対応のIMEパッチをATOK2008をサポートする方法
org-rememberを年明けから使いたいと思い、org-rememberを標準搭載しているCocoa Emacsに乗り換えることにした。今回、Cocoa Emacsは安定版の23.2を使うことにして、IMEパッチも導入することにした。参考にしたのは以下のサイト。
Emacs23 (Cocoa Emacs) 入門から中毒まで : 紹介マニア
でも、IMEパッチを当てたところ、日本語入力には問題がなかったんだけど、入力モードを切り替えてもモードラインの表示が「U」<=>「MacU」と切り替わるだけ。「U」<=>「あU」と切り替わることを期待していたんだけれども。ちょっと調べてみたところ、Cocoa Emacs対応のIMEパッチはATOK22には対応しているけれど、僕が使っているATOK21(ATOK2008)には対応していないとのこと。なので、日本語入力中のカーソルのタイプ・色とかの変更もできない。
試行錯誤の結果、IMEパッチを当てた後で、Carbon Emacsソース:lisp/term/ns-win.elを編集し、コンパイルし直せばよいことがわかった。以下はその方法。ちなみに、ATOK21は以下の16通りの入力メソッドを提供するけれど(*scratch*バッファでmac-get-input-source-listを実行)、今回対応したのはIMEパッチが対応するATOK22の入力メソッド4通りのみ。
"com.justsystems.inputmethod.atok21" "com.justsystems.inputmethod.atok21.Roman" "com.justsystems.inputmethod.atok21.Japanese" "com.justsystems.inputmethod.atok21.Japanese.KigoInput" "com.justsystems.inputmethod.atok21.Japanese.CodeInput" "com.justsystems.inputmethod.atok21.Japanese.HalfWidthInput" "com.justsystems.inputmethod.atok21.Japanese.HalfWidthEisu" "com.justsystems.inputmethod.atok21.Japanese.FullWidthEisu" "com.justsystems.inputmethod.atok21.Japanese.HalfWidthKanaKotei" "com.justsystems.inputmethod.atok21.Japanese.FullWidthEisuKotei" "com.justsystems.inputmethod.atok21.Japanese.KatakanaKotei" "com.justsystems.inputmethod.atok21.Japanese.HiraganaKotei" "com.justsystems.inputmethod.atok21.Japanese.HalfWidthEiji" "com.justsystems.inputmethod.atok21.Japanese.HalfWidthKana" "com.justsystems.inputmethod.atok21.Japanese.FullWidthRoman" "com.justsystems.inputmethod.atok21.Japanese.Katakana"
Carbon Emacs (Emacs23) ATOK21対応手順
上記ページの手順にほぼ従ってます。
cd ~/tmp mkdir emacs23-build cd emacs23-build curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.2.tar.gz curl -O http://jaist.dl.sourceforge.jp/macemacsjp/47986/inline_patch-23.2-beta3.tar.gz tar xvfz inline_patch-23.2-beta3.tar.gz tar xvfz emacs-23.2.tar.gz cd emacs-23.2 patch -p 0 < ../inline_patch-23.2-beta3/emacs-inline.patch vi lisp/term/ns-win.el
ここで、「mac-input-method-parameters」変数を定義しているところのatok22の前に以下の20行を挿入。
("com.justsystems.inputmethod.atok21.Roman" (title . "A") (cursor-color) (cursor-type)) ("com.justsystems.inputmethod.atok21.Japanese" (title . "あ") (cursor-color) (cursor-type)) ("com.justsystems.inputmethod.atok21.Japanese.Katakana" (title . "ア") (cursor-color) (cursor-type)) ("com.justsystems.inputmethod.atok21.Japanese.FullWidthRoman" (title . "英") (cursor-color) (cursor-type)) ("com.justsystems.inputmethod.atok21.Japanese.HalfWidthEiji" (title . "半英") (cursor-color) (cursor-type))
続いてコンパイル。
./configure --with-ns --without-x make bootstrap make install open nextstep/Emacs.app