YAMAMOTO Kengo / YamaKen
yamak****@bp*****
2006年 11月 6日 (月) 18:58:24 JST
At Mon, 6 Nov 2006 16:22:51 +0900, ashie****@homa***** wrote: > > あまり細かく検討できていないのですが、ViewVSでざっとコードを読んだ限りで > は、特にまずい点は見付かりませんでした。と言うより、少なくともIMから「取 > りに行く」という観点で言えば、汎用 APIとしてはこれ以上望むべくも無いくら > い素晴らしいAPIだと思います。これでこそ、IMがアプリケーションに埋め込ま > れている意義があると思います。 やった、足永さんに褒められたぞ。ではこのまま進んでみる事にします。 確認ありがとうございます。 GtkEditable等の高レベルオブジェクトにアクセス可能である事は、現 状の「インプットメソッド」モデルの先にある高度な入力・編集環境を 手に入れるためには必須と思っています。今回の「IM側からアプリのテ キストを取りに行く」というモデルは大きなテキストの編集に使うには 少々難がありますが、過渡的なインタフェイスとして経験を積むには十 分だと思います。 > 一点だけ、Windowsの再変換APIでは、アプリケーション側から(選択テキストで > もクリップボードでも無い)任意の文字列を渡して再変換を始めることができる > ので、その辺りがどうなるのか少し気になりました。ただ、そのようなAPIが本 > 当に必要なのかやや疑問なのと(Windowsでは一応ふりがな機能等に活用されてい > るのだとは思いますが)、もし必要だったとしても単に別APIにすればいいだけか > な?と思うので、とりあえず無視して下さって良いような気がします。もし既に > 腹案などがありましたら、教えていただけるとうれしいです。 基本的にlibuimのレベルでは個々の言語やIM固有のインタフェイス、特 に関数インタフェイスを追加する事は避けたいと思っています。なので、 「再変換」という高位概念はuim-anthy等の個々のIMや対応アプリが解 釈するようにして、libuimレベルでは以下のような低レベル操作の連な りとして扱いたいと考えています。 uim_reset_context(ctx); uim_input_string(ctx, "ついに ねんがんの さいへんかんきのうを てにいれたぞ"); uim_action_activate(ctx, "act_begin_conv"); これで扱えないようなシチュエーションについては、また何とか汎用 APIに収められないか考えてみますので、実例が載ってるページ等知っ ていたら教えてもらえると嬉しいです。 余談ですが、同様にテキストエリア毎に事前設定された入力モードヒン ト等に対応する場合も、uimでは以下のように実現したいと思っていま す。 uim_action_activate(ctx, "act_mode_numeric"); /* 郵便番号欄 */ uim_action_activate(ctx, "act_mode_ja_katakana"); /* 名前フリガナ */ GTK+側では入力状態制御専用のAPIが提案されてるようですが、もっと 低レベルな汎用のプロパティリストとして入力モードのヒントを収めて おくに止めた方が、後々の諸言語固有事情対応等で面倒にならないんじゃ ないかなと思います。気力が持たないと思うので議論には参加できませ んが(ヘタレですいません)。 http://bugzilla.gnome.org/show_bug.cgi?id=346780 ------------------------------------------------ YAMAMOTO Kengo / YamaKen yamak****@bp***** FAMILY Given / Nick