AquaSKK のユーザー辞書を GUI で編集する macOS アプリ。読みごとに、実際の変換で出てくる順序そのままの候補リストを表示し、ドラッグで並べ替えて保存できます。
SKK の変換候補の順序はユーザー辞書のエントリ順で決まりますが、素の AquaSKK は候補を確定するたびに順序を学習します。学習を無効化した AquaSKK fork と組み合わせると、候補順は「このアプリで明示的に編集したとき」だけ変わるようになります。
- 1 本のリスト = 実際の変換順 — ユーザー辞書の候補に続けて、システム辞書 (SKK-JISYO.L など、
DictionarySet.plistの有効な辞書を自動読込) の候補も同じ行として表示。ソースは「ユーザー / システム」バッジで区別 - どの行も同じ操作 — ドラッグ・⌘↑/⌘↓・テキスト/注釈の編集。並べ替え・編集した候補は、表示順を実現するのに必要な範囲だけが自動的にユーザー辞書へ保存される (grow-only 方式)
- 保存すると即反映 — fork 版 AquaSKK の分散通知 IPC (
AquaSKK_SaveUserDictionary/AquaSKK_ReloadUserDictionary) により、IME を再起動せずに候補順が切り替わる - 壊さない — 保存はアトミック書き込み。編集していないエントリはバイト単位で完全に保持 (実辞書での往復一致をテストで保証)
- macOS 13 (Ventura) 以降: UI が
NavigationSplitViewなど macOS 13 で導入された SwiftUI API の上に作られているため - fork 版 AquaSKK (taxfree-python/aquaskk の
xcode26ブランチのビルド): 理由は 2 つ- 保存の即時反映に使う分散通知 IPC (
AquaSKK_SaveUserDictionary/AquaSKK_ReloadUserDictionary) が fork にしか実装されていないため。素の AquaSKK では保存しても IME の再起動まで反映されない - 素の AquaSKK は候補を確定するたびにユーザー辞書の順序を学習 (並べ替え) し、終了時にはメモリ上の辞書でファイルを上書きするため、このアプリで整えた順序が使ううちに壊れる。fork は学習をオフにできる (デフォルトでオフ) ので、編集した順序がそのまま保持される
- 保存の即時反映に使う分散通知 IPC (
make test # ユニットテスト
make app # build/Kohojun.app を生成 (ad-hoc 署名)
make install # ~/Applications/Kohojun.app へ配置
make icon # scripts/makeicon.swift から Resources/Kohojun.icns を再生成fork 版 AquaSKK では、~/Applications/Kohojun.app が存在するとき (設定 jisyo_editor_path で変更可能) だけ入力メニューに「辞書エディタを開く」が現れ、そこからも起動できます。make install した次にメニューを開いた時点から表示されます。
- システム辞書由来の候補は削除できません (AquaSKK 自体にシステム辞書の候補を抑制する仕組みがないため)
- 辞書ファイル (
~/Library/Application Support/AquaSKK/skk-jisyo.utf8) を手で編集する場合は、本アプリと AquaSKK の両方を止めてから行ってください