IMEの変換辞書を完全に理解したので書きます。
このアドベントカレンダーはEasy Easy主催の「完全に理解したTalk」に関するものです。"完全に理解した"レベルのLTを気楽にできるコミュニティなので、興味ある方はぜ非参加を〜。
図: エンジニア達の「〇〇完全に理解した」Talk #23より
今回はPC/スマホのIMEで用いられる変換辞書を完全に理解したのでその話をします。
IMEの変換辞書
私は原神というゲームをやっています。原神の各国にはモチーフがあり、モンドという国はヨーロッパっぽい感じで、璃月(りーゆえ)は中国、稲妻は日本、となっています。
その中でも璃月の地名や人名がややこしく、スマホやPCで入力しにくくて困っていました。
漢字表記 | 読み |
---|---|
留雲借風真君 | りゅううんしゃくふうしんくん |
青墟浦 | せいきょうら |
翠決坡 | すいけつざか |
このあたりの入力をスムーズにやりたかったので原神辞書( https://github.com/kotofurumiya/genshin-dict )というものを作っています。その中で自分が意外と辞書ファイルのことを知らず、エラーが出ずにインポートできるフォーマットにするのに苦労しました。
一度適当な単語を登録してエクスポートしてみればわかるので、そんなに大変なわけではないのですが、オフィシャルの情報も少なめなので少し戸惑いました。
原神辞書で対応した形式について、この記事で軽く紹介しておきます。
変換辞書ファイルの種類
変換辞書のファイルフォーマットは大きく分けて以下の3つが使われているようです。
- macOS / ことえり
- macOS / plist
- Windows / Microsoft IME
あまり新規でフォーマットを作るということは行われておらず、古いフォーマットと互換性を持たせて動いているようです。原神辞書でも以上の3つのフォーマットに対応させました。
Microsoft IME用に作っておけば大抵のソフトでインポートできるのですが、一応それぞれ説明しておきます。
ことえり用辞書
「ことえり」というのは今はなきMac用のIMEです。ことえり用のフォーマットは一応今でも使われていて、macOSの追加辞書がこれです。
中身は簡単で、読み・単語・品詞をカンマ区切りで並べただけです。
"しちてんじんぞう","七天神像","普通名詞"
"せんれい","仙霊","普通名詞"
"ここなっつひつじ","ココナッツヒツジ","普通名詞"
"ふぁでゅい","ファデュイ","普通名詞"
iOSではそもそも追加辞書機能が見当たらなかったので、macOS用のフォーマットになるでしょう。
plist
macOSやiOSのユーザ単語登録で使用されているのがplistです。Apple系のOSでよく使われているプロパティリストのファイルですね。
ここに登録するにはplistファイルを使います。中身はxmlです。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>phrase</key>
<string>七天神像</string>
<key>shortcut</key>
<string>しちてんじんぞう</string>
</dict>
<dict>
<key>phrase</key>
<string>仙霊</string>
<key>shortcut</key>
<string>せんれい</string>
</dict>
<dict>
<key>phrase</key>
<string>ココナッツヒツジ</string>
<key>shortcut</key>
<string>ここなっつひつじ</string>
</dict>
<dict>
<key>phrase</key>
<string>ファデュイ</string>
<key>shortcut</key>
<string>ふぁでゅい</string>
</dict>
</array>
</plist>
Microsoft IME
いわゆるMS-IMEです。馴染み深いやつですね。
MS-IMEでは、読み・単語・品詞をタブ区切りで列挙します。
しちてんじんぞう 七天神像 名詞
せんれい 仙霊 名詞
ここなっつひつじ ココナッツヒツジ 名詞
ふぁでゅい ファデュイ 名詞
Apple系の辞書とはいくつかの品詞に互換性がないようで、Apple→MSに変換するときは、「普通名詞」→「名詞」、「サ変名詞」→「さ変名詞」などに置き換える必要がありました。
結局どれを使えば?
いくつかの形式がありますが、MS-IME向けのものをインポートできるIMEが多いので、とりあえずMS-IME用のタブ区切りのものがあればいいのかなと思いました。Google IMEもMS-IME形式でインポートできるので、Android系もこれでたぶん行けるでしょう。
Apple系のOSに対応するときにはことえりフォーマットのものがあると助かるかもしれません。ですが普通はMS-IMEからのインポートに対応していると思います。ことえりフォーマットやplistをわざわざ作るのはmacOS/iOSの標準IMEに綺麗に対応したい場合だけだと思います。
さいごに
最近ではあんまり使われている印象がないIME用の辞書ですが、今でも十分に便利です。言葉の難しいゲームや、変換の煩雑な単語の多いアニメなど、辞書を作ってあげるとコミュニティに喜ばれるかもしれません。
ちなみに原神ですが、璃月編が終わって稲妻編で変換の難しさが解消されるかと思いきや特にそんなことはなく、「花散里(かざり)」みたいな人名が当然の権利のように出てきます。変換辞書はまだまだ活躍しそうです。