編集履歴ページに戻る
隣の席に座っているヴェトナム人留学生とimのセッティングをしよう、
という段になって、
「uimでもTiếng Việtが入力できるぜ〜」と自慢したところ、
[[Wikipedia:VIQR]]は知らないというので、
+ 調べてみたら、
- 調べてみたところ、
他に[[Wikipedia:Telex_(IME)]]や[[Wikipedia:VNI]]があるそうな。
で、uimにTelexを載っけようっていうわけ。
+ scm/viqr.scmのテーブルを参考に、Telexの変換表をヘコヘコ手打ちしながら、
- scm/viqr.scmのテーブルを参考に、ヘコヘコ手打ちしながら、
[[Wikipedia:Telex_(IME)]]をさらに読んでみると、
Tone markings(声調?)なんて項目があって、
+ これは、文字変換する側からすると、直前の子音を飛び越して母音にアクセントがついたり、
+ 逆に外したりしてしまうように見えるのね†1。
- 文字変換する側からすると、直前の子音を飛び越して母音にアクセントがついたり、
- 逆に外したりしてしまうように見える†1。
で、これを実装するには、普通のテーブル変換じゃどうやっても無理。
なんでuimにVIQRしかないか納得(VNIも恐らくTelexと同様)。
generic.scmを使わないでimを作るのは面倒だもの。
+ これはきちんとstate machineを作ってimに組み込んでやらないといけないなあ。
- これはきちんとstate machineを作ってやらないといけないなあ。
ということで次のcommitはtelex.scmになりそう。
ちなみにテーブル変換版: [[files:uim-telex-table.diff]]。
これだけでもまあ使えるといえば使える。
+ ざっと手近な実装を見ると、
+ quailやgtk-im-viはこれと同じテーブル変換、
+ m17n-dbはstate machineみたい。
- gtk-im-viに含まれるものと同等の性能のはず。
----
+ †1: もちろん、母音の直後に入れてやってもよい。
+ 例えば、"sawcs"も"sawsc"もどちらも"sắc"に変換されて、
- †1: もちろん、母音とセットにして入れてやってもよい。
- sawcsもsawscもsắcに変換されて、
後者はテーブル変換のアルゴリズムが適用可能。
でも対症療法っぽくてやだなあ。