GTK2 日本語入力モジュール


GTK+2用日本語(だけじゃないけど)入力モジュールの開発



GTK2では、言語を入力するためのフレームワークがあり、 APIを使ってプラグインのようなモジュールを記述して 入力メソッドを作ることができます。ここでは日本語入力が できるモジュールを作成します。

IIIMFのLanguageEngineと比較した場合のGTK+2 immodule
GTK+2アプリケーションで日本語入力にかんな(またはFreeWnnなど)を使う方法は色々あります。

XIMを使う:
かんな→kinput2→im-xim(GTK+2のモジュール)→GTK+2アプリ

IIIMFを使う:
かんな→CannaLE(IIIMのLEモジュール)→IIIMF→im-iiim→GTK+2アプリ

UIMを使う:
かんな→uim-canna(GTK+2のモジュール)→GTK+2アプリ
かんな→uim-xim→im-xim(GTK+2のモジュール)→GTK+2アプリ

im-cannaを使う:
かんな→im-canna(GTK+2モジュール)→GTK+2アプリ

この経路の表現については異論があるかも知れませんが、実装について気にしなければならないところ、考えてください(それでもUIMのところはすっきりまとまりませんが)。XIMを使う場合には、まずkinput2の実装があってim-ximがあってGTK+2アプリがあるということになります。バグがあったときにはそのそれぞれについて考えなくてはなりません。こうなると、ステップの少ないim-cannaは、 というメリットがあることが分ります。im-cannaのいいことばっかり書いていますが、UIMやIIIMFにもそれぞれのメリットはあるわけで、それはそれぞれのプロジェクトのページを参照してください。

im-cannaを作るには
かんなによる日本語入力メソッドの機能比較表
かんなによる日本語入力メソッドの機能比較表(Gnumericファイル)


dotplan: IIIMFでもやったように、ローマ字でひらがな入力できるものを 作成し、かんな、FreeWnn, SkkそれぞれのAPIを呼ぶようなモジュールの ベースとする。imhangul.cとim-anthy.cをかなり参考にした。

  1. ローマ字でひらがな入力できるものを作る。(im-nakai)
  2. かんなに対応させる(im-canna)
  3. FreeWnnに対応させる(im-freewnn)
  4. SKK … は人気があるので自分でやることはないかも。
  5. Wnn7はAPIが公開されているのでimmoduleを作るのは可能です。
  6. ATOK 12 もAPIが公開されているのでimmoduleを作るのは可能(なんですが喜ぶ人いる?)
  7. アスキーアート入力メソッドim-mona
  8. Owenからは、たとえオプションでもGTK+2をCannaに依存させたくない、(のでim-cannaをGTK+2の中に入れたくない)と言われた。
  9. UTF-8入力のサポート。SHENZHENのZHENとか。(←JISX0213にあるらしい)

モジュール機能tar.gzRPM(i386) SRPM
ローマ字入力 imnakai-0.1.tar.gz imnakai-0.1-1.i386.rpm imnakai-0.1-1.src.rpm
かんなモジュール im-canna-0.3.2.2.tar.gz im-canna-0.3.2.2-1.i386.rpm im-canna-0.3.2.2-1.src.rpm
FreeWnnモジュール im-freewnn-0.0.2.tar.gz im-freewnn-0.0.2-1.i386.rpm im-freewnn-0.0.2-1.src.rpm


ステータス(CVS):
Gtk/Pangoメモ:
関連リンク:


Yukihiro Nakai <nakai at gnome.gr.jp>