LoginSignup
15
17

More than 3 years have passed since last update.

Yosemite で Mozc をビルド。当然 Emacs から使う(El Capitan 確認済み)

Last updated at Posted at 2014-11-20

本ページはかなり古いので、

@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について追記
15
17
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17