🟠

2023 年10月以降の Mozc に対する主な変更

2024/10/10に公開

初稿: 2024-10-10

小松弘幸 (@komatsuh:bsky, @komatsuh:twitter)

2023 年 10 月以降の Mozc に対する主な変更をまとめました。ドキュメントやコミットログ、 Issues に書かれているものをまとめただけで新しい情報はありません。抜けているものがあれば後で追記します。

Mozc の問題の報告や機能の要望等は、GitHub の IssuesDiscussions へお願いします。

関連記事

現在のバージョン

  • 2.30.5618
  • 3 つめの数字 (5618) はバージョン番号をつけ始めてからの経過日数
  • 参考: Google 日本語入力は 2.29.5370 (Windows), 2.30.5590 (macOS)
  • バージョンを確認する方法: 「ばーじょん」または「Version」で変換する

統計情報

2023-10-11 - 2024-10-10

累計

  • コミット数: 4,173
  • クローズした issue の数: 865
  • マージしたプルリクエスト数: 67

主要な変更点

  • バージョンを 2.30 に更新
  • プルリクエストの受け入れ範囲を全体に拡大
  • 誤変換の報告方法を簡略化
  • 変換用データの更新と変換機能の調整
  • Windows の Bazel でのビルドへの対応 (#948)
  • WORKSPACE から Bzlmod への移行 (#1002)
  • GYP によるビルドを非推奨に

プルリクエストの受け入れ範囲を全体に拡大

これまではプルリクエストを受け付けは特定のディレクトリに対してのみでしたが、その制限を撤廃しました。

誤変換の報告方法を簡略化

誤変換のレポート方法を GitHub Issues から Google Form へ移行しました。送る側も受ける側もお互いに便利になることを期待しています。

これまでの誤変換のレポートに基づいた改善の例

換用データの更新と変換機能の調整

  • 郵便番号データの更新 (#1063)
  • 辞書データの更新 (#1068, #1069, #928, 6af6a25, 4f03239)
  • 「もしかして」データの更新 (3a665b1)
  • 記号データの更新 (#933, #860)
  • 絵文字データを 15.1 へ更新 (68c3985)
  • 変換手法の調整 (例: 後に vs あと2).

機能関連の変更

  • 元号と西暦の変換機能の改善 (れいわ6ねん→2024年, 2024ねん → 令和6年) (6ceada3)
  • 「なう」から日時への変換を追加 ("なう" → "2024/12/31 23:59")
  • Gboard から保存したユーザー辞書の読み込みに対応
  • 「Mozc について」のダイアログ GUI をダークモードに対応 (#897)

バグ修正

  • ユーザー辞書の保存時にクラッシュする問題を修正 (42cbb3f)
  • デバッグビルド時に、負の数字を変換するとクラッシュする問題を修正 (#878)
  • 「ゑ」のカタカナ変換の訂正 (ヸ → ヹ)

Linux 関連の変更

  • Ibus でメニューから直接入力の選択に対応 (#1061)
  • Wayland 上の Ibus で Super + Space からの入力モードの変更に対応 (#853, #1059)
  • 候補ウインドウの HiDPI ディスプレイへの対応を改善 (#823)
  • 候補ウインドウがモニター外に移動したときクラッシュする問題を修正 (#820)
  • 候補ウインドウのプロセスが複数同時に起動する問題を修正 (#912)

Windows 関連の変更

  • インストール直後に変換できない問題の修正 (#845)
  • Windows 11 22H2 で、標準 IME との互換性の向上 (InputScope の値の調整) (#818, #826)
  • MS-Word で入力できなくなる問題の修正 (#819)
  • 候補ウインドウを縦書き入力に考慮した表示位置に調整 (#362)
  • 候補ウインドウのモニター単位での DPI 設定に対応 (#832)

macOS 関連の変更

  • GUI アイコンを高解像度化 (#964)
  • UI メニューで "Google Japanese Input" と表示されていた部分を Mozc に変更 (caeb9ce)
  • mozc_emacs_helper がクラッシュする問題を修正 (#900)
  • Apple Silicon 版で GUI ツールがクラッシュする問題を修正 (#791)

ビルド関連の変更

  • C++20 への対応 (#783)
  • 変換データの追加方法を簡略化。dictionary_manual/words.tsv を導入 (8d3a297)
  • Qt6 のバイナリサイズを削減 (#822)
  • Bazel ビルドで dictionary_manual/ 以下のデータを利用するように変更 (47eb877)
  • Linux 用の Docker 環境を Ubuntu 24.04 へ更新 (#924)
  • Android 用の Docker 環境を更新
  • Android ライブラリが動作しない問題を解決 (#840)
  • Windows でビルド手順の簡略化 (vcvars への依存を解消) (#923)

GitHub 関連

  • GitHub Actions の生成物をリリースビルド変更 (07c5f89)
  • GitHub Actions の Linux 環境を Ubuntu 24.04 へ更新 (#924)
  • Issues で 2020-01-01 以前から更新のない 33 件を obsolete としてクローズ (#800)
  • Issues のテンプレートを Markdown から YAML のフォーム形式に変更 (efc4337)

Bazel 関連

  • Bazel 7 に対応
  • Windows への対応
  • macOS で .dmg ファイルの作成に対応
  • WORKSPACE から Bzlmod へ移行
  • --config=release_build オプションの追加 (9fd8739)
  • ビルドの安定性の向上 (#843, #844)

GYP 関連

  • Linux での対応を終了 (deprecated)
  • Windows で 64 コア以上でのビルドに対応

Windows 関連

  • Bazel でのビルドへの対応 (#948)
  • /BASE オプションの指定をはずす (#834)
  • Hardware Enforced Stack Protection の有効化 (/CETCOMPAT) (#835)
  • DependedtLoadFlags の有効化 (/DEPENDENTLOADFLAG) (#836)
  • TIP DLL の ComCreateInstance への依存を削除 (#837)

依存ライブラリの更新

  • Abseil: 20230125.3 → 20240722.0
  • Google Test: release-1.12.1 → v1.15.2
  • Protocol Buffers: v24.2 → v27.3
  • Qt: 6.5.2 → 6.7.3
  • WiX: v3.14 → v5.0.2

依存ライブラリの削除

リファクタリング関連

  • Clang のビルドクリーナーを適用
  • Abseil 等を活用したコードの最適化 (例: const vector<T>&absl::Span<const T>)
  • ログを独自実装から Abseil のログへ移行 (c77285e)
  • macOS: GitHub からApplied suggestions from code scanning alerts (b955086)
  • テスト用のセッションコマンドに UPDATE_COMPOSITION を追加

今後の予定

  • GYP のビルドルールを削除
  • 変換データの拡充

そのほか

macOS 15 (Sequoia) でのクラッシュ

解決済み。候補ウインドウとのプロセス間通信の実装を変更しました

濁点の入力

"U+3099" を変換するか、ひらがな一文字を変換すると濁点付きが候補として表示されます

濁点つき「あ」の変換候補ウインドウ

US 配列とかな入力

US 配列でのかな入力の配置についての図解をしました

日本語キーボードのかな配列
US キーボードのかな配列

参考: かな入力 (英語キーボード) の IME ごとの配置の違い

入力モードの遷移図

入力状態の説明と遷移図を書きました

入力モードの状態遷移図
入力モードのスクリーンショット

さいごに

PR 範囲の拡大や、誤変換の報告方法を簡略化したことなどもあり、数多く方々からご協力をいただけています。どうもありがとうございます。また、Mozc にかぎらず IME に関心を持っていたり、実際に開発に取り組んでいる方がいらっしゃることもとてもうれしく思っています。これからも応援をよろしくお願いいたします。

GitHubで編集を提案

Discussion