⌨️
ARM64 Windows版MozcのBuild(mozc-ut適用)
先月(2025/06/15ごろ[1])にWindows版MozcがARM64に対応しました。[2]
Mozc単体だと内蔵辞書の制約によりやや変換精度に不安が残るため、mozc-utを適用したうえでビルドしようとしたのですが、何故かうまくいかなかったので備忘録的にメモを残しています。
1. 事前準備
基本的にはドキュメントの通りにやるだけなのですが、一応変なところで詰まったので、必要なものについては一覧で記載しています。
Mozc(Windows)
- Mozc
- [Visual Studio 2022 Community Edition] + 個別のコンポーネント(https://visualstudio.microsoft.com/downloads/#visual-studio-community-2022)
- Windows 11 SDK(10.0.26100.3916)
- 最新版だったからとりあえず入れたけど、何でもいいのかも
- MSVC v143 - VS 2022 C++ x64/x86 ビルド ツール (最新)
- MSVC v143 - VS 2022 C++ ARM64/ARM64EC ビルド ツール (最新)
- 最新の v143 ビルド ツール用 C++ ATL (x86 および x64)
- 最新の v143 ビルド ツール用の C++ ATL (ARM64/ARM64EC)
- Windows 11 SDK(10.0.26100.3916)
- Python 3.9以降
- .NET 6以降
- Bazelisk
- Git for Windows
- CMake(公式ドキュメントには未記載だが必要)
mozc-ut(WSL2)
- mozc-ut
- Git
- Python3.9以降?
Mozcのビルドスクリプトの改変(Windows)
これがおま環なのかは不明なのですが、vcvarsall.bat
を正しく見つけられないためにビルドを進められなかったので、src\build_tools\vs_util.py
の、get_vcvarsall関数を
vs_util.py
def get_vcvarsall(
arch: str, path_hint: Union[str, None] = None
) -> pathlib.Path:
"""Returns the path of 'vcvarsall.bat'.
Args:
arch: host/target architecture
path_hint: optional path to vcvarsall.bat
Returns:
The path of 'vcvarsall.bat'.
Raises:
FileNotFoundError: When 'vcvarsall.bat' cannot be found.
ChildProcessError: When 'vcvarsall.bat' cannot be executed.
"""
return pathlib.Path(r'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat').resolve()
のように直接パスを渡すように改変します。
2. ビルド
- (Windows) MozcのclonePowershell
git clone https://github.com/google/mozc.git
- (WSL2) mozc-utのcloneBash
git clone --depth 1 https://github.com/utuhiro78/merge-ut-dictionaries.git
- (WSL2) mozc-utでの辞書作成Bash
cd src/merge/ sh make.sh
- (Windows) 作成したmozcdic-ut.txtをmozcの
src\data\dictionary_oss\dictionary00.txt
にマージする - (Windows) MozcのビルドPowershell
python build_tools/update_deps.py python build_tools/build_qt.py --release --confirm_license --target_arch=arm64 bazelisk build --config oss_windows --config release_build package --platforms=//:windows-arm64
src\bazel-bin\win32\installer
にインストーラーが作成されます。
3. まとめ
Mozcが遂にARM64に対応したのでmozc-utの辞書を追加したうえで自前でビルドしてみました。
正直現在のMicrosoft IMEに大きな不満はなかったのですが、Mozcのほうが気分的に良いので満足です。
-
ARM64環境でのビルドは2025/07/05時点では未対応のようです。 ↩︎
Discussion