From: Araki K. <j00...@ip...> - 2001-12-11 01:40:53
|
荒木です:-) Subject: [Mlterm-dev-ja] Re: cut&paste Big5 and UCS - Big5 convertion. From: Tomohiro KUBOTA <tk...@ri...> Message-ID: <200...@si...> Date: Tue, 11 Dec 2001 09:41:54 +0900 > その原因も分かりました。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 の > 生成側は変更する必要がありません。変えたほうがベターだとは思いますが)。 > (XFree86 4.1.0 以前では、"BIG5-0" が小文字でも受け付けるのでしょうか... > もし生成側を小文字に変えるのなら、このへんも要チェックですね。) こちら(XFree86 4.1.0)では、XTextListToTextProperty()は、送信時に、大文 字でBIG5-0を生成しますし、受信時も大文字のBIG5-0しか受け付けません。 koi8-r とかは、小文字なのに、なんで、BIG5-0 だけ大文字なんだろう、と不 思議だったのですが.... バグ対応版のみ、大文字のBIG5-0を使うようにします。 > ただし、strncasecmp() は portable ではないので、なんとかしないと > いけません。 今 K&R 読んでみたら、strncasecmp()だけでなく、strcasecmp() 自体が、標準 関数ではないのですね。 man page でも、strcmp()は、 The strcmp() and strncmp() functions conform to ANSI X3.159-1989 (``ANSI C''). なんですが、strcasecmp()は、 The strcasecmp() and strncasecmp() functions first appeared in 4.4BSD. なんて書いてました。 strcasecmp() すでに使ってるんですが、特に今まで問題がでなかったということ は、そちらは、あまり問題にならないのでしょうか... では -- kiken j00...@ip... |