Windows 用の日本語かな漢字変換 IME。
akaza の変換エンジン(Rust)を利用し、Windows フロントエンドを Rust (TSF: Text Services Framework) で実装する。
- Windows 10 以上
- x86_64
単一の COM DLL として実装。TSF の ITfTextInputProcessorEx / ITfKeyEventSink を実装し、libakaza を直接リンクして変換を行う。
┌──────────────────────────────────────────────────────────┐
│ akaza_ime.dll (COM DLL) │
│ │
│ ┌────────────────────┐ ┌──────────────────────────┐ │
│ │ TSF Frontend │ │ libakaza │ │
│ │ │ │ │ │
│ │ • ITfTextInput- │ │ • かな漢字変換 │ │
│ │ ProcessorEx │ │ • k-best 変換 │ │
│ │ • ITfKeyEventSink │ │ • ユーザー学習 │ │
│ │ • ITfComposition- │ │ • モデル/辞書ロード │ │
│ │ Sink │ │ │ │
│ │ • ローマ字=>かな │ │ │ │
│ │ • キー入力処理 │ │ │ │
│ └────────────────────┘ └──────────────────────────┘ │
│ │
│ %APPDATA%/akaza/ │
│ ├── model/default/ │
│ │ ├── unigram.model (MARISA Trie) │
│ │ ├── bigram.model (MARISA Trie) │
│ │ └── SKK-JISYO.akaza (MARISA Trie) │
│ └── romkan/ │
│ └── default.yml │
└──────────────────────────────────────────────────────────┘
- Rust (stable, msvc または mingw ターゲット)
- 管理者権限 (regsvr32 による登録)
cargo build --releaseregsvr32 target\release\akaza_ime.dllregsvr32 /u target\release\akaza_ime.dllIME の DLL はプロセスにロードされるため、ビルド前にロックを解除する必要がある。
regsvr32 /u target\release\akaza_ime.dll
taskkill /F /IM explorer.exe
cargo build --release
start explorer.exe
regsvr32 target\release\akaza_ime.dllakaza-default-model からダウンロードし、%APPDATA%\akaza\model\default\ に手動で配置する。
| キー | 動作 |
|---|---|
| 全角/半角 | IME on/off トグル |
| Space | 変換 / 次の候補 |
| Enter | 確定 |
| Escape | キャンセル |
| Backspace | 削除 / 変換取り消し |
| ↑ / ↓ | 候補選択 |
| 入力 | 出力 |
|---|---|
. |
。 |
, |
、 |
/ |
・ |
- |
ー |
- 候補ウィンドウ(候補一覧の UI 表示)
- 文節区切りの移動・伸縮(Shift+←/→)
- カタカナ変換(F7)
- 半角カタカナ変換(F8)
- 英数変換(F10)
- ひらがなそのまま確定(F6)
- 数字キー入力(全角数字 / 候補番号選択)
- 記号の全角入力(! ? ( ) 等)
- ユーザー辞書の登録・編集 UI
- 変換履歴の永続化
- IME のオン/オフ状態をタスクバーに表示(言語バーアイコン)
- 入力モード表示(ひらがな/カタカナ/英数の切り替え表示)
- 設定画面
- Shift キーでの大文字英字入力
- Tab キーでの予測変換
- 再変換(確定済みテキストの再変換)
- 前後の文脈を使った変換精度向上
- akaza - Rust 製かな漢字変換エンジン (コア)
- mac-akaza - macOS 版 Akaza IME
- akaza-default-model - デフォルト言語モデル