編集履歴ページに戻る
隣の席に座っているヴェトナム人留学生とimのセッティングをしよう、
という段になって、
+ 「uimでもTiếng Việtが入力できるぜ〜」と自慢したところ、
- 「uimでもTiếng Việtを入力できるぜ〜」と自慢したところ、
[[Wikipedia:VIQR]]は知らないというので、
+ 調べてみたら、
- 調べてみたところ、
他に[[Wikipedia:Telex_(IME)]]や[[Wikipedia:VNI]]があるそうな。
で、uimにTelexを載っけようっていうわけ。
+ scm/viqr.scmのテーブルを参考に、Telexの変換表をヘコヘコ手打ちしながら、
+ [[Wikipedia:Telex_(IME)]]をさらに読んでみると、
- scm/viqr.scmのテーブルを参考に、ヘコヘコ手打ちしながら、
- [[Wikipedia:Telex_(IME)]]を良く読んでみると、
Tone markings(声調?)なんて項目があって、
+ これは、文字変換する側からすると、直前の子音を飛び越して母音にアクセントがついたり、
+ 逆に外したりしてしまうように見えるのね†1。
- 後出しでシラブルを入れてやることができるらしい。
- こうすることで、
- 最後に入れた文字が最後の母音にアクセントをつけたり、
- 逆に外したりしてしまえるのだな†1。
で、これを実装するには、普通のテーブル変換じゃどうやっても無理。
+ なんでuimにVIQRしかないか納得(VNIも恐らくTelexと同様)。
+ generic.scmを使わないでimを作るのは面倒だもの。
- なんでuimにVIQRしかないか納得できた(VNIも恐らくTelexと同様)。
+ これはきちんと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に変換されて、
- 後者はテーブル変換のアルゴリズムが適用可能だ。