[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29923] Re: tkdesk-ja のテキストエディターに日本語入力できない ?
佐野@浜松です。
In <20010918014404.44d21168.white@xxxxxxxxxxxxxxxx>,
on "Tue, 18 Sep 2001 01:44:48 +0900',
with "[debian-users:29909] Re: tkdesk-ja のテキストエディターに日本語入力できない ?",
white <white@xxxxxxxxxxxxxxxx> さん wrote:
> しかし、今度は、tcltk8.0-ja-8.0.4jp1.3 の中で、XMODIFIERS
> に反応する部分があり、それが異常な応答をし、それが表に出て来た。
> potatoの時は、それが表に出なかった。
> しかし、woody では、他のソフトが XMODIFIERS を使うので、問題が
> 表に出た。
>
> これが起こったことだと思います。
tcltk8.0-ja-8.0.4jp1.3 をパッケージソースからビルドすると
tk8.0-ja-8.0.4jp1.3/Incompat80jp というファイルが現れます。
その中に
****** ****** ****** ****** ****** ****** ****** ******
2.1 漢字変換プロトコルの指定
環境変数、および X リソースデータベースのカスタマイズにより、
漢字変換プロトコルを kinput2, XIM の二つのうちから一つだけ
選択出来るようにしました。同時に使うことは禁止してあります。
環境変数 TK_KCPROTO を kinput2 にすると、kinput2 プロトコルが
使われます。xim にすると XIM プロトコルが使用されます。
環境変数 TK_KCPROTO が設定されてない場合、X リソース
データベースから、tkKanjiConversionProtocol リソースを
検索します。tkKanjiConversionProtocol リソースは、
*tkKanjiConversionProtocol: xim
tkApp*tkKanjiConversionProtocol: kinput2
の形で使用でき、前者は Tk8.0jp で書かれたスクリプトの default、
後者は tkApp という任意のアプリケーションで使用されます。
指定する値は、TK_KCPROTO と同様です。
もし、TK_KCPROTO も tkKanjiConversionProtocol も両方指定
されない場合、環境変数 XMODIFIERS が設定されていれば
XIM プロトコルが使われます。XMODFIERS も指定されていない場合、
下位互換のために kinput2 プロトコルが選択されます。
以下に、任意の Tk スクリプト tkApp で使われる漢字変換
プロトコルの選択のされ方を、環境変数、X リソースデータベースの
強さ順でまとめておきます。
o まず環境変数 TK_KCPROTO が参照される。
o 次に tkApp*tkKanjiConversionProtocol が参照される。
o 次に *tkKanjiConversionProtocol が参照される。
o 次に環境変数 XMODIFIERS の設定の有無が check され、
設定されていると XIM が使われる。
o 上記全てに該当しない場合、kinput2 プロトコルが使用される。
****** ****** ****** ****** ****** ****** ****** ******
と書かれています。
あ、今さがしてみたら、tk8.0-ja パッケージの中にも
/usr/share/doc/tk8.0-ja/ja/Incompat80jp.gz
として同じファイルが含まれてますね。
要するに tk8.0-ja では XMODIFIERS が設定されていれば、その内容に
関わらず XIM が使われる、ということらしいので、kinput2 を -xim
オプション付きで起動していれば XIM 経由で使えるような気がします。
でも kinput2 はデフォルトで XIM が有効になっていたような。
> しかし、tcltk8.0-ja-8.0.4jp1.3を使ったちょっとしたプログラムを
> 自分で作った場合などで、日本語を扱う場合で、多数行入力をするような
> 部分で同じ問題が生じる可能性があるかもしれません。
> 一行入力の場合は問題ないのです。不思議です。
うーん、そういえば、たしかにおかしいですね。
単純にプロトコルの設定が違っているのなら、
そもそも接続できないような。
なんだろう。tk8.0-ja の X Input Method 経由の入力が問題なのか、
kinput2 の X Input Method プロトコルサポートが問題なのか。
ちょっと謎です。誰か追いかけられる人がいたら調べてもらえると
嬉しいかも。
--
# (わたしのおうちは浜松市、アカウミガメのふるさとの街)
<kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)