From: Tomohiro K. <tk...@ri...> - 2002-03-02 16:57:13
|
久保田です。 At Sat, 02 Mar 2002 22:46:10 +0900, Araki Ken wrote: > > Xft 使用時に、ISO-8859-1 以外の 8 ビットエンコーディングが正しく > > 表示されない問題があります。 > > あ、そうですね。気付いておりませんでした。 > ありがとうございます。 > > 修正を commit しましたので、ご確認ください。 うまくいっています。 すみません。もうひとつ、不具合がありました。 フォント設定ファイルには、たとえば ISO8859_1=... という設定と、 ISO8859_10... という設定とがありますが、後者によって、前者が上書きされてしまう ようです。おそらく、ml_font_custom_read_conf() (ml_font_custom.c) の if( strncmp( cs_table[counter].name , key , K_MIN( strlen( cs_table[counter].name) , key_len)) == 0) { というあたりに問題があるのではないかと思うのですが。たとえば、 char *name = cs_table[counter].name; int nlen = strlen(name); if( strncmp( name , key , nlen) == 0 && ( key[nlen] == 0 || key[nlen] == '_')) { というふうにすれば、回避できます。なお、key[nlen] が key の範囲外を 指している、という可能性は、すでに strncmp() が成功している (つまり key は nlen 以上の長さがある) 場合のみ key[nlen] を評価する、という ことから、除外できています。 --- 久保田智広 Tomohiro KUBOTA <ku...@de...> http://www.debian.or.jp/~kubota/ "Introduction to I18N" http://www.debian.org/doc/manuals/intro-i18n/ |