🟠
2020 年以降の Mozc に対する主な変更
初稿: 2021-10-10
2020 年以降の Mozc に対する主な変更をまとめました。ドキュメントやコミットログ、 Issues に書かれているものをまとめただけで新しい情報はありません。抜けているものがあれば後で追記します。
Mozc の問題の報告や要望等は、GitHub の Issues や Discussions へお願いします。
ビルド関連
Python2 から Python3 への移行
- Python3 へ移行済み
GYP から Bazel への移行
Linux ビルド
- GYP から Bazel への移行完了
- GYP はメンテナンスモードへ
- 新機能は Bazel のみでの対応
macOS ビルド
- Bazel へ移行中
- GYP がメインのビルド方法のまま
- Bazel でのビルドもすでに可能 (experimental)
Windows ビルド
- まだ GYP がメインのビルド方法
- GYP にパッチを当てる必要あり
Android ビルド
- GYP から Bazel への移行
- Bazel のみの対応
- 変換エンジン (C++) のみの対応
- クライアント (Java) のコードは tag:2018-02-26 から参照可能
Bazel のみ対応の新機能
- 追加辞書
- 郵便番号変換
- Qt ベースの候補ウインドウ (Ibus 用)
- アイコン画像
コーディングスタイルの更新
- Google C++ Style Guide に準じる
- C++17 までを採用
- ただし、MS Visual Studio 2017 でも対応していること
- ラムダ関数 / 右辺値参照 / 関数のdefault および delete など
-
Abseil の採用
- Status / hash / string_view / 文字列操作 / 時間ライブラリなど
- Python 3.5 以降が対象
- f-string は使わない (3.6 から)
- subprocess モジュールで encoding は使わない (3.6 から)
新機能・バグ修正
追加辞書
- プルリクエストの受け入れが可能な追加データ (Bazel ビルドのみ)
- src/data/oss/aux_dictionary.tsv
- commit/7500b9bfceeec49329d82a018d5571f8a80b1e16
郵便番号変換
- 郵便番号からの変換 (Bazel ビルドのみ)
- commit/2d434cb612b680cdc1bdaf4b036be606ef3856f0
Qt ベースの候補ウインドウ (Ibus 用)
- Gtk2 からの移行 (Bazel ビルドのみ)
- issues/492
- 環境によっては CPU 消費が 100% になる問題が報告されている(調査中)
アイコン画像
- SVG によるツールアイコン等の生成 (Bazel ビルドのみ)
- issues/498
XDG への準拠
- コンフィグディレクトリを ~/.mozc から ~/.config/mozc へ移行
- issues/474
日付フォーマットのカスタマイズ
- 日付変換(例: きょう → 2021-10-01)のフォーマットをカスタマイズ可能に
- "{YEAR}.{MONTH}.{DATE}" のように表現できる
- 実験的機能なので、削除ないし仕様の変更が起こり得る
- docs/configurations.md#date-format-converted-from-きょう
Ibus での入力モード・キーボードレイアウト
- 初期入力モードをひらがなに変更可能
- キーボードレイアウトを JIS 配列等に固定可能
- ~/config/.mozc/ibus_config.textproto で管理される
- docs/configurations.md#ibus
同時入力(タイムアウト入力)設定
- 「k → い」「d →か」「kd 同時 → れ」といったローマ字設定が可能
- issues/512
付属機能の削除
- 手書き文字入力ツール・文字入力パレットの削除
- コードは tag:2018-02-26 から参照可能
Anki で落ちる (Ibus)
- 修正済み。規定外の値がクライアントから送信されていた。
- issues/510
Chrome で最初の文字が入力されない
- これは Mozc の問題ではないことがほとんど
- fcitx を使っているなら、fcitx5 にすると解決するケースが多い
プルリクエスト
プルリクエスト可能なファイル・ディレクトリ
下記のファイル・ディレクトリに対しては、プルリクエストが受け入れ可能 (参照)
- トップディレクトリ 直下のファイル
- docker/
- docs/
- src/.bazelrc
- src/BUILD.(library).bazel
- src/data/oss/
- src/data/test/quality_regression_test/
- src/unix/emacs/mozc.el
- src/WORKSPACE.bazel
管理上の理由により、GYP で参照していないファイルが中心
変換テストデータ
- 変換できない文字列はテストケースとしてプルリクエスト可能
追加辞書
- 辞書にない単語は aux_dictionary.txt への追加として、プルリクエスト可能
Discussion