[Scim-imengine-dev 1413] Re: 選択テキスト再変換のAPI

Back to archive index

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



Scim-imengine-dev メーリングリストの案内
Back to archive index