MozcのWindowsでのビルド(コンパイル)

訳有ってGoogle日本語入力のソース公開版である、MozcをWindowsでコンパイルしました。

本家・参考サイトからの差分

  • VS2017ではコンパイルできない。ソース側が20190209時点では対応しているVisual Studioのバージョンは2015 Update 3まで。(VS2017を検出する仕組みが作り込まれていない)
    • Comunity 版の旧バージョンはこちらからダウンロードできます。
    • 頑張れば2017に対応できそうな気もするけど今後の課題としよう。
    • 参考サイト同様、mt.exe, rc.exeのために、C:Program Files (x86)Windows Kits8.1binx86等にパスを通す必要はあった
  • Qt5はMSVC 2015 32bitに合わせるために、5.6.3を使用。(いま時点で最新の5.12.1はMSVS 2015 32bit用DLLが内包されていなかった)
    • opensource版はユーザ登録しなくてもインストール可能(Skipできる)
  • インストールするためにPython 2.7を自分で入れる必要はなかった
    • dep_toolsにもPythonが準備されるため。 gclient実行時に自動的にDLされます。ただし、すでにPython3がインストールされている環境ではPATH環境変数の順に注意したほうがよいでしょう。
  • バイナリは src/outではなくsrc/out_winに作られます。

気をつけた方がいいところ

  • OSが32bit環境と64bit環境でインストール手順が違います。本家のビルドガイドは最初に32bit環境でのインストール方法が記載されていて、あとに64bit環境でのインストール方法が記載されています。
  • Windows 8以降とそれ以前でも、インストールの手順が少し違います。
  • regsvr32等しても、タスクバーに現れないときは、以下のどちらかを試すべし
    • 一度、再起動やサインアウト・サインインを試すべし
    • (Windows10の場合)Windowsの設定 -> 時刻と言語 ->(左部メニュー)言語 -> 「優先する言語」欄の「日本語」をクリック -> オプション ->「キーボード」欄 キーボードの追加 でmozcを追加

カスタムバイナリ

  • 日付変換で「YYYYMMDD」形式が出るようにしました。
  • バイナリ(インストーラはないので手動でお願いします)
  • 改変部分ソースdate_rewriter.cc
  • 郵便番号からの住所の変換に対応したバージョンを作りこちらに置きました。

WindowsでKivyを使う

Windowsにpip install kivyをした後にスクリプトを動かそうとすると、次のようなエラーが出てしまう。


[WARNING] [Config      ] Older configuration version detected (0 instead of 20)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in C:\Users\xxx.kivy\logs\kivy_19-01-27_0.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_sdl2'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: 指定されたモジュールが見つかりません。
File "C:\Program Files\Python36\lib\site-packages\kivy\core__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "C:\Program Files\Python36\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in <module>
from kivy.core.window._window_sdl2 import _WindowSDL2Storage

pip kivyだけでは足りなくて、以下の通りいくつかのパッケージを入れる。anacondaの場合はpipをcondaに読み替えてください。

pip install kivy
pip install docutils pygments pypiwin32 kivy.deps.sdl2
pip install kivy.deps.glew

さらに、日本語を出すためにはフォントのダウンロードして、設定する必要がある。
IPAフォントの場所