[Scim-imengine-dev 1221] Re: Gtk以外のアプリケーションで再変換

Back to archive index

Takashi Nakamoto blued****@bpost*****
2006年 7月 10日 (月) 17:04:13 JST


中本です。

On Mon, 10 Jul 2006 16:04:10 +0900
Takuro Ashie <ashie****@homa*****> wrote:
> > けれども、再変換するだけならば別に SurroundingText はいらないのでは
> > ないかと思い、添付のパッチを作ってみました。説明がめんどうなのでこの
> > パッチが何をするのかの説明は省きますが、一応Gtk+以外のアプリケーショ
> > ンでも再変換ができるようになると思います。
> > 
> > ただし、このパッチは
> >  * X SelectionのPRIMARYに再変換したい文字列が格納されている
> >  * 文字列をcommitすれば、再変換したい文字列にcommitした文字列が上書
> > きされる
> > ことを前提としています。
> 
> 大抵はこれでうまくいきますし、むしろsurrounding textを使う方法では前後
> に同じ文字列があると誤動作するので、こっちのほうが良い場合が多いとは思
> います。

この誤動作をする条件がよく分からないです。
ちょっと興味があるので、その条件を教えていただけますか?

> > ので、このパッチがうまく動作します。しかし、Emacsでは文字列を選択し
> > ている間になにか文字を入力しても、選択中の文字列に入力した文字列が上
> > 書きされないため、期待しない動作をしますが、それはEmacsがそういう実
> > 装をしているので仕方ありません。
> 
> アプリケーション側がそういう実装であることを期待してしまうことになり、
> 動作が不確実なのがどうかな、ということでsurrounding textを使う方法を選
> んだわけですが、surrounding textも上述のように不確実なので、どうせどち
> らも ad-hocな解であるならば、より多くのアプリケーションでの動作が期待
> できる中本さんのパッチの方が良いのかもしれません。

私のパッチでは、surrounding textが使えればそれを使い、使えなければ
XSelection のみをつかって再変換をするように変更してます。surrounding
textを使った方法がadhocな解であるのであれば、私のパッチはad-hocな解を2
つ用意しておき、場合によってより最適な ad-hoc を選ぶようにした、という
感じです。

> というわけで、取り込む方向で考えたいと思います。

ありがとうございます。

> もちろん、より確実に再変換を実装するためには、ちゃんとしたAPIとアプリ
> ケーション側の対応が必要です。アプリケーション側で比較的労力をかけずに
> 済む方法は、選択範囲文字列を取得するAPIを追加することかなと思っていま
> す。

これは難しいですね。
大抵の場合は、X Selectionから取ってくればいいので、特にそういったAPIは
必要ないのでは無いでしょうか?

-- 
 中本 崇志 ( Takashi Nakamoto )
 E-Mail  : blued****@bpost*****, blued****@openo*****
 Homepage: http://bd.tank.jp/
 blog    : http://bd.tank.jp/diary



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