Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇10:
X410でXIMが動かない件(場当たりパッチ) [sけいし] 02/09 00:18

 ├◇11:Re:X410でXIMが動かない件(場当たりパッチ) [TAKABE] 02/09
 │└◇12:Re:X410でXIMが動かない件(場当たりパッチ) [ogawa] 02/09
 │ └◇13:Re:X410でXIMが動かない件(場当たりパッチ) [TAKABE] 02/09
 └◇21:Re:X410でXIMが動かない件(場当たりパッチ) [早田] 02/09
  └◇24:Re:X410でXIMが動かない件(場当たりパッチ) [藤枝] 02/09
   └◇25:Re:X410でXIMが動かない件(場当たりパッチ) [sけいし] 02/09
    └◇26:Re:X410でXIMが動かない件(場当たりパッチ) [藤枝] 02/09
     └◇27:Re:X410でXIMが動かない件(場当たりパッチ) [藤枝] 02/09 <


10● X410でXIMが動かない件(場当たりパッチ)[ sけいし ] 2002 02/09 00:18
libX11の
_lcOpenConverterがちゃんと動いてないようです。
とりあえず場当たりパッチあてときました。
http://web8.freecom.ne.jp/~skeishi/cygwin+X/index.html
(たぶんユニコードがまともに動かなくなってます)

だれかこの続きやって本家にフィードバックしてくれるとありがたいのですが。
(またwchar_t 2バイト問題かなぁ。。。)
スレッド一覧


11● Re:X410でXIMが動かない件(場当たりパッチ)[ TAKABE ] 2002 02/09 00:19
ホームページを作ってから公開しようかと思いましたが、
(いつになるかわからないので)この機会に公開しちゃいます。

このファイルには2つの修正が入っています、
・ASTEC-XでXIMの漢字入力時に全角文字の後ろに半角文字がついていると固まる件
・Cygwin/XFree86 4.1.0等でXIMが使えない件

http://www.ff.iij4u.or.jp/~t-takabe/xf410_xim_fix.diff

XIMが使えない件はlcSjis.cやlcJis.c等にも同様な修正を
加えるべきだと思いますが、面倒なのでそこまではやっていません。
# _XlcXXXLoaderに_XlcAddUtf8Converters(lcd)を
# 追加するだけでいいと思っているのですが
スレッド一覧


12● Re:X410でXIMが動かない件(場当たりパッチ)[ ogawa ] 2002 02/09 00:19
> このファイルには2つの修正が入っています、
> ・ASTEC-XでXIMの漢字入力時に全角文字の後ろに半角文字がついていると固まる件
> ・Cygwin/XFree86 4.1.0等でXIMが使えない件

素晴らしい。これで XFree86 が update 出来ます。
有り難いことです。

因みに、これって ASTEC-X の version に依存しますか?
ってか、ASTEC-X ver 2.12 でも使えますか? 3.1 でないとダメでしょうか。

> XIMが使えない件はlcSjis.cやlcJis.c等にも同様な修正を
> 加えるべきだと思いますが、面倒なのでそこまではやっていません。
> # _XlcXXXLoaderに_XlcAddUtf8Converters(lcd)を
> # 追加するだけでいいと思っているのですが

これはつまり、EUC しか対応してないってことですよね。
Cygwin であることを考えると、残念がる人は多いでしょうね。

> ホームページを作ってから公開しようかと思いましたが、
> (いつになるかわからないので)この機会に公開しちゃいます。

この様な情報が満載の site になったら嬉しいな。
# 言うばっかりで自分は何もしてない奴ですみません。
スレッド一覧


13● Re:X410でXIMが動かない件(場当たりパッチ)[ TAKABE ] 2002 02/09 00:20
> これはつまり、EUC しか対応してないってことですよね。
> Cygwin であることを考えると、残念がる人は多いでしょうね。

SJIS & JIS に対応したものに更新しました。
http://www.ff.iij4u.or.jp/~t-takabe/xf410_xim_fix.diff (5499 byte)
# LANG に ja.SJIS を指定するだけでテストができたのか... (^^;

> 因みに、これって ASTEC-X の version に依存しますか?
> ってか、ASTEC-X ver 2.12 でも使えますか? 3.1 でないとダメでしょうか。

テストはしていませんが基本的には同じだと思っています。
# アップデートは無料なんだし、Ver2.12にこだわる必要な気はしますが。

> > ホームページを作ってから公開しようかと思いましたが、
> > (いつになるかわからないので)この機会に公開しちゃいます。
> この様な情報が満載の site になったら嬉しいな。

契約して何年かたっているのにindex.htmlすら
無い状況ですからね、道のりは険しいです。
スレッド一覧


21● Re:X410でXIMが動かない件(場当たりパッチ)[ 早田 ] 2002 02/09 00:24
早田です、亀レスでごめんなさい。

> libX11の
> _lcOpenConverterがちゃんと動いてないようです。
> とりあえず場当たりパッチあてときました。
> http://web8.freecom.ne.jp/~skeishi/cygwin+X/index.html
> (たぶんユニコードがまともに動かなくなってます)
実は、だいぶ前にsけいしさんのページを見つけてました。
試してみようと思っていて、それっきりでしたが、最近試してみました。

ちゃんとXIMでMS-IMEで入力できますね〜、すばらしい!
sけいしさん、TAKABEさん、ありがとうございます。

> だれかこの続きやって本家にフィードバックしてくれるとありがたいのですが。
> (またwchar_t 2バイト問題かなぁ。。。)
Xのソースの中はほとんど見てないので、よく分からないのですが、
なんで、表示がOKで入力がだめなんでしょうか?
表示の方だけ2バイトwchar_tを考慮しているということでしょうか?
スレッド一覧


24● Re:X410でXIMが動かない件(場当たりパッチ)[ 藤枝 ] 2002 02/09 00:25
なんかおかしなことになりそうなので口をはさみます。

Cygwinにはちゃんと動くワイドキャラクタ関係の関数が用意されていないから、
なにもかもX側の関数と定義をを使うようにcygwin.cfを書かないとダメです。
今のcygwin.cfはStandardDefinesに-DX_WCHARが足りません。
これを定義すると、たいてい stddef.hのwchar_tとぶつかるので、
Xlib.hには
#ifndef _WCHAR_T
#define _WCHAR_T
/* replace this with #include or typedef appropriate for your system */
typedef unsigned long wchar_t;
#endif
というworkaroundを入れます。

クライアントをコンパイルする際には必ず-DX_WCHAR -DX_LOCALEを入れる。
#include <locale.h>は問答無用で<X11/Xlocale.h>に置き換える。
クライアントを動かすときは環境変数LANGに ja_JP.SJIS を指定する。
ASTEX-Xなら環境変数XMODIFIERSに @im=_XIMP_ja_JP#ASTEC_IMS.0 を設定する。

こんなもんで、Xlibには手を入れる必要はないはずです。
10年前にはあたりまえのことだったのに、誰も語り継がないと簡単に風化するなぁ。
年内にはこんなことしなくてもいいようにするから、XFree86にパッチを投げるのだけはやめてね。
スレッド一覧


25● Re:X410でXIMが動かない件(場当たりパッチ)[ sけいし ] 2002 02/09 00:27
> なんかおかしなことになりそうなので口をはさみます。
> Cygwinにはちゃんと動くワイドキャラクタ関係の関数が用意されていないから、
> なにもかもX側の関数と定義をを使うようにcygwin.cfを書かないとダメです。

実は -DX_WCHAR使う方法も 試したことあるのでした。
-DX_WCHARを使うと GIMPやFreecivといっしょに Xのバイナリまで配布しないといけなくなるので、Xlibで誤魔化したのでした。
それとXとCygwinで2種類のw_charを使うのが面倒そうに思えたので(汗)

解決策は
1.-DX_WCHARつきのバイナリを配布してもらう
2.場当たりパッチで誤魔化しきる
3.cygwinのワイドキャラクタの実装をなんとかする
の3つのうちどれかなんだろうけど。

2。は UNICODEのところに手をいれまくらないといけなくなってます(現状)。
3。は windowsとの互換性の問題もあるので難しいのかなと想像してます。

よって藤枝さんのおっしゃるようにXのバイナリに-DX_WCHARを入れてもらうのがベストの方法のように思います。

UNICODEのこととか考えてなくて場当たりパッチで誤魔化しちゃえと思ったsけいしが浅はかだったみたいです。
素直に −DX_WCHARを入れてもらうように提案すべきでした。すみません。

> 年内にはこんなことしなくてもいいようにするから、XFree86にパッチを投げるのだけはやめてね。

よろしくお願いします。
スレッド一覧


26● Re:X410でXIMが動かない件(場当たりパッチ)[ 藤枝 ] 2002 02/09 00:27
> 3.cygwinのワイドキャラクタの実装をなんとかする

年内に何とかするつもりなのはこれです。
実は僕の手元ではほとんど実装が終わっているのです。

> UNICODEのこととか考えてなくて場当たりパッチで誤魔化しちゃえと思ったsけいしが浅はかだったみたいです。
> 素直に −DX_WCHARを入れてもらうように提案すべきでした。すみません。

いやあやまることはありません。
そういうアプローチもけっして嫌いではありません。
ただ僕は、Xの国際化周りの設計者達が考えた正しいやり方があることを伝えたかったのです。
その割には言い方がきつかったかもしれませんね。ごめんなさい。
スレッド一覧


27● Re:X410でXIMが動かない件(場当たりパッチ)[ 藤枝 ] 2002 02/09 00:27
> Xの国際化周りの設計者達が考えた正しいやり方

その設計者も今では「あれは失敗だった」とこぼしているので、「正しいやり方」
というよりは「当時正しかったやり方」かな。僕は決してそうは思わないんだけど、
OSの国際化の不備を補うworkaroundをXlibに持たせたのは失敗だったって、彼らは
思ってるんだ。

だから今正しいやり方は
> 3.cygwinのワイドキャラクタの実装をなんとかする
ということになるかな。
スレッド一覧

早田のホームページへ
CGIROOM