Dec 06, 2007

preedit_changed

アルファベットと違って日本語入力の際は、キーを打った時点で文字が確定しないので、一旦 preedit というバッファに格納する必要がある。

どうやら Gtk アプリは GtkIMContext 経由で preedit_changed シグナルを受け取り、gtk_im_context_get_preedit_string を呼んでそのバッファリング中の文字(列)および、その文字装飾(下線を引いたり)をとってきて、表示するらしい。

ということを踏まえて hildon-input-method 用の日本語入力用のプラグインを実装中に、どうやら hildon-input-method-framework にある hildon-im-context を少し変更しなければいけなさそう、というところまでたどり着いた。前回プラグイン書いたときよりかなり前進した。けどまだ全然入り口付近なんだろうけど...

im0203-maemo あくまでダウンロードしたソースが古くなければの話だが(って毎度のことながらそこ確認するのが一番大事じゃないか?>自分...)、hildon-im-context は preedit_changed シグナルを発行していない。それと commit (文字が確定したときに送られるシグナル)が、なんかやたら無駄に多い。

ということで、preedit_changed 対応にすべく hildon-im-context を少し変更して、サンプルアプリ上で動作確認中。なんとか preedit_changed シグナルを受け取り、gtk_im_context_get_preedit_string でそのバッファリング中の文字を受け取り、画面上に表示する、というところまできた。キャプチャ画像は、特にひらがな変換とかしてるわけではないので、「aaaa...」 ばっかりだし、文字装飾情報がいい加減なので見た目普通だけど。

Screenshot-im0203 もう1つのスクリーンキャプチャは ubuntu 上で実行したもので、こちらは SCIM で入力途中のもので、「ああ」 の下に下線が出てる。maemo の方もこういう風になる予定。

で、ここまで書いてて何の備忘録にもなってないような気がするが、まぁいいか。さて続きやろっと。


Related Info.

    No related items.

Comments

No comments yet

Add Comments

※下記の単語・フレーズはコメントで使用できません。大文字・小文字は同一視します。
poker, backgammon, tramadol, casino, insurance, loans
JavaScript is required when you submit comment %20%20%3c%61%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%22%3e%3c%2f%61%3e %3c%66%6f%72%6d%20%6d%65%74%68%6f%64%3d%22%70%6f%73%74%22%20%61%63%74%69%6f%6e%3d%22%23%6e%75%63%6c%65%75%73%5f%63%66%22%3e %09%3c%64%69%76%20%63%6c%61%73%73%3d%22%63%6f%6d%6d%65%6e%74%66%6f%72%6d%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%61%63%74%69%6f%6e%22%20%76%61%6c%75%65%3d%22%61%64%64%63%6f%6d%6d%65%6e%74%22%20%2f%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%75%72%6c%22%20%76%61%6c%75%65%3d%22%68%74%74%70%3a%2f%2f%6b%69%6d%69%74%61%6b%65%62%6c%6f%67%2e%6e%65%74%2f%69%74%65%6d%2f%35%34%30%2f%63%61%74%69%64%2f%32%34%22%20%2f%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%69%74%65%6d%69%64%22%20%76%61%6c%75%65%3d%22%35%34%30%22%20%2f%3e %09%09 %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%62%6f%64%79%22%3eコメント%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%74%65%78%74%61%72%65%61%20%6e%61%6d%65%3d%22%62%6f%64%79%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%63%6f%6c%73%3d%22%34%30%22%20%72%6f%77%73%3d%22%31%30%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%62%6f%64%79%22%3e%3c%2f%74%65%78%74%61%72%65%61%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6e%61%6d%65%22%3eお名前%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%75%73%65%72%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%34%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6e%61%6d%65%22%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6d%61%69%6c%22%3eウェブサイト%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%75%73%65%72%69%64%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%36%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%6d%61%69%6c%22%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%65%6d%61%69%6c%22%3eメール%3a%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%6e%61%6d%65%3d%22%65%6d%61%69%6c%22%20%73%69%7a%65%3d%22%34%30%22%20%6d%61%78%6c%65%6e%67%74%68%3d%22%31%30%30%22%20%76%61%6c%75%65%3d%22%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%66%69%65%6c%64%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%65%6d%61%69%6c%22%20%2f%3e %09%09 %09%09%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%63%68%65%63%6b%62%6f%78%22%20%76%61%6c%75%65%3d%22%31%22%20%6e%61%6d%65%3d%22%72%65%6d%65%6d%62%65%72%22%20%69%64%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%72%65%6d%65%6d%62%65%72%22%20%20%2f%3e %09%09%3c%6c%61%62%65%6c%20%66%6f%72%3d%22%6e%75%63%6c%65%75%73%5f%63%66%5f%72%65%6d%65%6d%62%65%72%22%3e情報を記憶しておく%3c%2f%6c%61%62%65%6c%3e %09%09%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%73%75%62%6d%69%74%22%20%61%6c%74%3d%22コメントを追加%22%20%76%61%6c%75%65%3d%22コメントを追加%22%20%63%6c%61%73%73%3d%22%66%6f%72%6d%62%75%74%74%6f%6e%22%20%2f%3e %09%3c%2f%64%69%76%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%31%36%39%30%64%65%30%32%35%34%64%66%39%36%31%38%32%32%37%64%36%31%61%66%32%33%33%37%61%38%65%35%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%35%30%65%39%34%64%34%39%30%37%66%61%65%32%31%66%30%61%31%31%63%32%31%35%62%37%38%61%62%39%35%62%22%3e %3c%2f%66%6f%72%6d%3e %20%20

OpenID を使ってログインすることができます。

Identity URL:

Trackbacks

トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
visitor stats