[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 (佐野 武俊)