本ページはかなり古いので、
@TanukiTam さんのコメント のページがおすすめです。
2020.4.7追記
Mozc のビルドでコケる方、 PyObjC が入ってるか確認するとビルドが通るかもしれませんのでご確認を。
私の手元では2環境がビルドが通りませんでしたが、いずれも PyObjC のインストールで解決しました。
macOS 10.15.4
Xcode 11.3.1
Python 2.7.15
Mozc afb03dd
Mozc は Emacs 24.3 から使い始めてたのだが、諸事情で環境が変わってしまい、ビルドしようと思ったら、途中でコケる。
ということで、
を参考に、ビルドが通るようにしてみた。
これをやる気になったのは、10.10.1 が出るまで不安定だった Japanese IM のおかげかもしれない...
環境
- OSX 10.10.1
- Xcode 6.1
- Emacs 24.4
環境 その2
- OSX 10.11.2
- Xcode 7.2
- Emacs 24.5.1
Mozc の trunk を持ってくる
ここは Mozc 公式に従う。
cd
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:"$PATH"
mkdir -p ~/src/mozc
cd ~/src/mozc
gclient config http://mozc.googlecode.com/svn/trunk/src
gclient sync
(不要になってたのでここは不要)build_mozc.py にパッチを当てる
build_mozc.py が OSX 対応してた。
インストールページはこちら
mozc_emacs_helper が不要な方は、build_mozc.py.diff の 18 行目だけ適用するっつーことで。
cd src
curl -O https://gist.githubusercontent.com/guehara/856103d2ba2b55dd6789/raw/02262a4ae3f4eab2f3a6bb61d23c303d78ff23c6/build_mozc.py.diff
patch -p0 < build_mozc.py.diff
ビルド
参考にしたサイトから、必要なコマンドのみ抽出。
cd src
GYP_DEFINES="mac_sdk=10.7 mac_deployment_target=10.7" python build_mozc.py gyp --noqt
python build_mozc.py build -c Release mac/mac.gyp:GoogleJapaneseInput mac/mac.gyp:gen_launchd_confs unix/emacs/emacs.gyp:mozc_emacs_helper
マシンスペック次第では時間がかかるので、落ち着いて待つ。
Mozc インストール
公式のまま
sudo cp -r out_mac/Release/Mozc.app /Library/Input\ Methods/
sudo cp out_mac/DerivedSources/Release/mac/org.mozc.inputmethod.Japanese.Converter.plist /Library/LaunchAgents
sudo cp out_mac/DerivedSources/Release/mac/org.mozc.inputmethod.Japanese.Renderer.plist /Library/LaunchAgents
Mozc の動作確認
一旦ログアウトして、
システム設定 -> キーボード -> 入力ソース -> +
と選択する。
英語に、
- 英数 (Mozc)
日本語に、
- カタカナ (Mozc)
- ひらがな (Mozc)
- 全角英数 (Mozc)
- 半角カナ (Mozc)
があればインストールは成功しているので、お好きなものを追加するなり、しないなり。
入力ソースに追加しなくても、 mozc_emacs_helper からは使える
環境設定など、Mozc の設定ツールは Qt で書かれているようで、前述のビルド方法では動作しない。 Qt ありでビルドできたらコメントください...
Google日本語入力付属のツール群でカバーするという手法 を教えていただきました。
@minoruGH さんありがとうございます!
mozc_emacs_helper の動作確認
ログアウトしたから ITerm 落としたんですけどな人用にディレクトリ変更から。
echo を実行した結果、3行目以降のelispが出力されればOK。
$ cd ~/src/mozc/src
$ echo -e '(0 CreateSession)\n(1 SendKey 1 97)' | out_mac/Release/mozc_emacs_helper
((mozc-emacs-helper . t)(version . "2.16.1924.101")(config . ((preedit-method . roman))))
((emacs-event-id . 0)(emacs-session-id . 1)(output . ()))
((emacs-event-id . 1)(emacs-session-id . 1)(output . ((id . "4165207393716365928")(mode . hiragana)(consumed . t)(preedit . ((cursor . 1)(segment ((annotation . underline)(value . "あ")(value-length . 1)(key . "あ")))))(candidates . ((size . 1)(candidate ((index . 0)(value . "あ")(annotation . ((description . "ひらがな")))(id . 0)))(position . 0)(category . suggestion)(display-type . main)(footer . ((label . "Tabキーで選択")))))(status . ((activated . t)(mode . hiragana)(comeback-mode . hiragana)))(all-candidate-words . ((candidates ((id . 0)(index . 0)(value . "あ")(annotation . ((description . "ひらがな")))))(category . suggestion))))))
Mozc のインストールを忘れてる(or 一旦ログアウトしてない)と
((mozc-emacs-helper . t)(version . "2.16.1924.101")(config . ((preedit-method . roman))))
((emacs-event-id . 0)(emacs-session-id . 1)(output . ()))
((error . session-error)(message . "Session failed"))
な感じの出力になるはず。
mozc_emacs_helper の設置
インストールは Emacs の exec-path が通った所ならどこでも良いけど、
ここでは /usr/local/bin に
cp out_mac/Release/mozc_emacs_helper /usr/local/bin
mozc.el も必要になるので、 load-path の通った場所にコピー。
(ここでは ~/.emacs.d/lisp/mozc へ)
mkdir -p ~/.emacs.d/lisp/mozc
cp unix/emacs/mozc.el ~/.emacs.d/lisp/mozc
Emacs の設定
(setq default-input-method "japanese-mozc")
(setq mozc-helper-program-name "/usr/local/bin/mozc_emacs_helper")
ac-mozc で更に便利に
入り口と出口を書かれている方が公開されている ac-mozc もセットで使いたいので持ってくる。
(ac-mozc は、 auto-complete, mozc.el が前提条件)
cd ~/.emacs.d/lisp
git clone https://github.com/igjit/ac-mozc.git
最低限の設定は以下。
(require 'ac-mozc)
(define-key ac-mode-map (kbd "C-c C-SPC") 'ac-complete-mozc)
すごく便利!
10年以上愛用してきた SKK 、今までありがとう...
今回から自分でもコピペしやすいように、基本的にはプロンプトの $ は書かないことにしてみた。
過去の記事も余裕があれば統一すr...統一したい...
変更履歴
- 2015.10.06 build_mozc.py へのパッチが不要になってたので更新
- 2015.12.14 環境その2追記。ビルドコマンドを公式に合せ更新、環境設定などのツール群について追記
- 2020.04.07 PyObjCについて追記