Linuxの日本語入力環境を色々勉強した話。

この所、日本語入力環境についてお勉強していたのですが、昨日素晴らしいドキュメントを見付けて大分夜更ししてしまいました。UNIX USER 2004 5月号に掲載された特集のHTML化だそうです。やっぱまだまだ紙 (とゆーか有料の情報)は手放せないんだろうなぁ。ってゆーか今からでもこの号は欲しいかも。
最適な日本語入力環境を発掘せよ
ええと。僕の理解をまとめてみる(間違ってるかも知れないので注意。突っ込み歓迎)。今までは、

(0)keyboardとか

(1)X window System(XIM client) → (5)Gnome or KDE(画面描画)
↓ ↑
(2)kinput2(XIM server)
↓ ↑
(3)canna(変換エンジン)
↓ ↑
(4)辞書

こうだった、と。cannaで変換された情報は一回X window Systemまで戻ってOver the spotまたはOn the spotでKDEGnomeに渡されてた訳だ(多分)。で、間にW window Systemがあるのは色々問題があった訳だ。そこで新しく開発されたのがUIM(なのかな?ちょっと背景は分かってないです…)。UIMはXIM server での動作もできるし(uim-xim)、Gnome とか KDE が対応していれば直接応答できる訳ですね。で直接やり取りするための仕組みであるimmodules for [GTK or Qt]ではGtk+だと2.0から既に対応済みだけど、QtではQt3でパッチの配布とQt4への取り込みを依頼中、と。すごいなぁ。取り込まれたら凄く便利だと思うので頑張ってください、とはてなの片隅で応援してみる。
で対応されると、こうなる。

(0)keyboardとか

(1)X window System

(2)Gnome or KDE(画面描画)
↓ ↑
(3)immodules for [Gtk+ or Qt]*Gtk+は対応済み
↓ ↑
(4)UIM
↓ ↑
(5)Anthy(変換エンジン、他にはPRIMEとかありますね)
↓ ↑
(6)辞書
注意:基本的に(2)の中に(3)が含まれるイメージ。

(3)と(5)の間に(4)が入った事によって、それぞれ別々に対応とかができる(X window System非依存とゆーのは大きいらしい)ので開発スピードがあがるとか、要素間のインタフェースが現代的になっているとか、色々良い事があるみたい。とまー、ここまでは理解できた気分になれましたが、「じゃぁIIIMFはどうなんだよ?」と言われたりすると即座に困ってしまいそうだ*1。あとscimについても良く分からないけど、これは勉強しよう*2。はやくどんなディストリでもIMEとかAtokみたいなGUIコントロールパネルをもった入力が(デフォルトで)使えるようになると良いと思いました。まる。

僕の現在の環境はkinput2+cannaですが、PRIMEはちょっと使ってみたいかなぁと思ったよ。予測変換て面白そう。あとAnthyも使ってみたい。凄そうだし。

*1:一応part4に解説があって読んだら分かったような気がした。

*2:スラッシュドットv1.0.0リリースのタレコミがあるので調べましょう。