mozc version 2.17.2288.100の場合です。残念ながら、その後何回かトライしましたが、後のversionでは上手くできていません。
目次
コンパイル済みのバイナリ
コンパイル済みのバイナリはここにあります。
準備
depot_toolsを使っても良いはずですが、私は上手く動かなかったので、python2.7とninjaを直接インストールしました。 pythonはPATHを通しておきました。 ninja は github.com/ninja-build/ninja/releases からダウンロードして、PATHが通っている場所にコピーしました。
git clone https://github.com/google/mozc.git --recursive
sourceの修正
branding=Mozc のままだと、Google日本語入力と通信が上手く出来ないようです。以下のように修正したら動きました。 mozc\src\build_mozc.py--- src.orig/build_mozc.py 2016-01-10 16:58:38.978852300 +0900 +++ src/build_mozc.py 2016-01-10 16:14:26.145930200 +0900 @@ -345,7 +345,7 @@ parser = optparse.OptionParser(usage='Usage: %prog gyp [options]') AddCommonOptions(parser) AddGeneratorOption(parser) - default_branding = 'Mozc' + default_branding = 'GoogleJapaneseInput' parser.add_option('--branding', dest='branding', default=default_branding, help='Specifies the branding. [default: %default]') parser.add_option('--gypdir', dest='gypdir',mozc\src\win32\build32\build32.gyp
--- src.orig/win32/build32/build32.gyp 2016-01-10 16:53:05.597285800 +0900 +++ src/win32/build32/build32.gyp 2016-01-10 15:45:47.054732300 +0900 @@ -49,6 +49,7 @@ '../broker/broker.gyp:mozc_broker32', '../ime/ime.gyp:mozc_ime', '../tip/tip.gyp:mozc_tip32', + '../../unix/emacs/emacs.gyp:mozc_emacs_helper', ], 'conditions': [ ['use_dynamically_linked_qt!=1', {mozc\src\win32\build64\build64.gyp
--- src/win32/build64/build64.gyp.orig 2016-01-10 16:50:34.853723900 +0900 +++ src/win32/build64/build64.gyp 2016-01-10 15:46:47.153259800 +0900 @@ -46,6 +46,7 @@ '../broker/broker.gyp:mozc_broker64', '../ime/ime.gyp:mozc_ime', '../tip/tip.gyp:mozc_tip64', + '../../unix/emacs/emacs.gyp:mozc_emacs_helper', ], 'conditions': [ ['branding=="GoogleJapaneseInput"', {mozc\src\data_manager\packed\packed_data_manager.gyp
--- src/data_manager/packed/packed_data_manager.gyp.orig 2016-01-10 16:56:32.269967400 +0900 +++ src/data_manager/packed/packed_data_manager.gyp 2016-01-10 16:23:01.338638700 +0900 @@ -40,7 +40,7 @@ }, 'includes': [ 'packed_data_manager.gypi' ], }], - ['branding=="Mozc"', { + ['branding=="GoogleJapaneseInput"', { 'variables': { 'dataset_dir': 'oss', 'dataset_tag': 'oss',mozc\src\data_manager\packed\packed_data_manager_base.gyp
--- src/data_manager/packed/packed_data_manager_base.gyp.orig 2016-01-10 16:57:09.134508600 +0900 +++ src/data_manager/packed/packed_data_manager_base.gyp 2016-01-10 16:23:19.361753500 +0900 @@ -96,7 +96,7 @@ }, 'includes': [ 'packed_data_manager_base.gypi' ], }], - ['branding=="Mozc"', { + ['branding=="GoogleJapaneseInput"', { 'variables': { 'dataset_dir': 'oss', 'dataset_tag': 'oss',
コンパイル
以下はコマンドプロンプトから実行しました。
$ cd src $ python.bat build_mozc.py gyp --msvs_version=2013 --noqt --branding=GoogleJapaneseInput $ python.bat build_mozc.py build -c Release package
buildをやり直す場合は
$ python.bat build_mozc.py clean
動作の確認
echo -e '(0 CreateSession)\n(1 SendKey 1 hiragana)\n(2 SendKey 1 hiragana)\n(3 SendKey 1 97)' | ./mozc_emacs_helper.exe
を実行します。以下のようになっていれば、OKです。
((mozc-emacs-helper . t)(version . "2.17.2288.100")(config . ((preedit-method . roman)))) ((emacs-event-id . 0)(emacs-session-id . 1)(output . ())) ((emacs-event-id . 1)(emacs-session-id . 1)(output . ((id . "14103043341600411975")(mode . hiragana)(consumed . t)(status . ((activated . t)(mode . hiragana)(comeback-mode . hiragana)))))) ((emacs-event-id . 2)(emacs-session-id . 1)(output . ((id . "14103043341600411975")(mode . hiragana)(consumed . t)(status . ((activated . t)(mode . hiragana)(comeback-mode . hiragana)))))) ((emacs-event-id . 3)(emacs-session-id . 1)(output . ((id . "14103043341600411975")(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キーで選択")))(page-size . 9)))(status . ((activated . t)(mode . hiragana)(comeback-mode . hiragana)))(all-candidate-words . ((candidates ((id . 0)(index . 0)(value . "あ")(annotation . ((description . "ひらがな")))))(category . suggestion))))))
あとは、mozc_emacs_helper.exeをPATHが通っているフォルダにコピーして終わりです。