From: Tomohiro K. <tk...@ri...> - 2001-12-11 00:33:23
|
久保田です。 At 10 Dec 2001 12:42:24 +0900, Araki Ken wrote: > I fixed Big5 copy and paste problem. > Please checkout current CVS repository and test it. Big5 の copy&paste をやってみました。 LANG=zh_TW.Big5 crxvt-big5 LANG=zh_TW.Big5 mlterm の間でのテストです。 そうすると、 mlterm --> crxvt-big5 は、うまくいきました。が、 crxvt-big5 --> mlterm は、うまくいきません。 その原因も分かりました。XFree86 の XTextListToTextProperty() は、 "big5-0" を小文字で生成します。ですので、mkf/lib/mkf_xct_parser.c の 125 行目の if( cs_len == 6 && strncmp( cs_str , "BIG5-0" , cs_len) == 0) というのを、 if( cs_len == 6 && strncasecmp( cs_str , "BIG5-0" , cs_len) == 0) と変えると、うまくいきます。(ただし、XTextPropertyToTextList() は、 "BIG5-0" と大文字でも受け付けるようになっているので、mlterm の 生成側は変更する必要がありません。変えたほうがベターだとは思いますが)。 ただし、strncasecmp() は portable ではないので、なんとかしないと いけません。 ところで、生成側ですが、うまいぐあいにやりましたね (というか、 こうするほうがむしろ楽なのかな)。これだと、XFree86 のバグありでも なしでも対応することができますね。(XFree86 4.1.0 以前では、"BIG5-0" が小文字でも受け付けるのでしょうか... もし生成側を小文字に変える のなら、このへんも要チェックですね。) --- 久保田智広 Tomohiro KUBOTA <ku...@de...> http://www.debian.or.jp/~kubota/ "Introduction to I18N" http://www.debian.org/doc/manuals/intro-i18n/ |