KotoeriRomaji.plist 変換ツールをデバッグする

昨日の続き。

まず、 ローマ字の長さよりもかなの長さが2文字以上短い場合でも、

root -->+--+->+--+->+--+
        |x |  |y |  |a |
        |  |  |  |  |ゃ|
        +--+  +--+  +--+

のように、 かなを木構造の葉におくように戻した。 すると 「ゃぃゅぇょ」 がちゃんと変換されるようになった。

どうも 「cha」 → 「ちゃ」 「chi」 → 「ち」 「chu」 → 「ちゅ」 「che」 → 「ちぇ」 「cho」 → 「ちょ」 のようにローマ字は 3 文字で、 かなが 2 文字と 1 文字の時があるような場合は特別視しなければならないようだ。

これを修正したら 「ちゃちちゅちぇちょ」 も 「ゃぃゅぇょ」 も期待通り変換されるようになった。

しかし今度は、 「zya じゃ」 「zyi じ」 「zyu じゅ」 「zye じぇ」 「zyo じょ」 と 「zyhi ざ」 がぶつかるようになってしまった。

つーか、なんだよ 「zyhi」 って。

これはシステムの MsimeRomaji.plist をローマ字かなテーブルに変換した中にあった。 他にも 「jyj」 で 「っ」 とか、 「jyy」 で 「」 (何にも変換されない) とか怪しいのがある。 うーむ、 こういうのには対応しきれないなあ。 というか対応するモチベーションが上がらないというか。

というわけでこの手の変換には対応しないことにして、 デバッグを一旦終了することにした。