From: Araki K. <j00...@ip...> - 2001-12-22 14:44:23
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] commit log From: Tomohiro KUBOTA <tk...@ri...> Message-ID: <200...@si...> Date: Sat, 22 Dec 2001 08:40:45 +0900 > ちなみに、UCS ですが、Unicode にしたら長すぎるでしょうか? > (もし変更する場合は、マニュアルの GUI Configurator の章の記述の変更もお願いしま > す)。 了解致しました。変更致します。 > それから、README.ja に、ucshater とか ucslover の記述が残って > います。 あ、すみません、ちゃんと commit できていませんでした。 > ところで、-u / --onlyucsfont っていい感じですね。GB18030 において > GB2312 の範囲の文字が表示できることが確認できました。(いままで > GB18030 は全くテストすることができなかった)。 そういえば、GB18030 フォントのことはすっかり忘れていました。 いずれにせよ、最大 4 バイト長なので、XDrawString16 などは使えませんが、 どうするのが賢いのでしょうね。 -u が指定されていなくても、GB18030 は、一律 Unicode に変換してしまうのが よいでしょうか? > > locale 変換優先順位 > > ------------------------------ > > "ja" US-ASCII => JISX0201 => JISX0208 => JISX0212 => JISX0213 => その他 > > "ko" US-ASCII => KSX1001 => その他 > > "ru" US-ASCII => KOI8-R => KOI8-U => ISO8859-5 => その他 > > "vi" US-ASCII => TCVN5712 => VISCII => その他 > > "zh_CN" US-ASCII => GB2312 => GBK => その他 > > "zh_TW" US-ASCII => BIG5 => CNS11643 => その他 > > "zh_HK" US-ASCII => HKSCS => BIG5 => その他 > > "zh" zh_CN と同じ > > うーん、「その他」って何ですか? > たとえば、U+00A0 - U+00FF は ISO8859-1 でいいでしょうが、 > その上とかは? 現状では、全部決めうちです。 以下は、mkf/lib/mkf_ucs4_map.c からの抜粋ですが、これがデフォルトの変換順序に なります(変換関数のインターフェースとしては、mkf_map_ucs4_to()になります)。 「その他」では、この順番に変換することになります。 --- ここから { US_ASCII , mkf_map_ucs4_to_us_ascii , mkf_map_us_ascii_to_ucs4 } , { ISO8859_1_R , mkf_map_ucs4_to_iso8859_1_r , mkf_map_iso8859_1_r_to_ucs4 } , { ISO8859_2_R , mkf_map_ucs4_to_iso8859_2_r , mkf_map_iso8859_2_r_to_ucs4 } , { ISO8859_3_R , mkf_map_ucs4_to_iso8859_3_r , mkf_map_iso8859_3_r_to_ucs4 } , { ISO8859_4_R , mkf_map_ucs4_to_iso8859_4_r , mkf_map_iso8859_4_r_to_ucs4 } , { ISO8859_5_R , mkf_map_ucs4_to_iso8859_5_r , mkf_map_iso8859_5_r_to_ucs4 } , { ISO8859_6_R , mkf_map_ucs4_to_iso8859_6_r , mkf_map_iso8859_6_r_to_ucs4 } , { ISO8859_7_R , mkf_map_ucs4_to_iso8859_7_r , mkf_map_iso8859_7_r_to_ucs4 } , { ISO8859_8_R , mkf_map_ucs4_to_iso8859_8_r , mkf_map_iso8859_8_r_to_ucs4 } , { ISO8859_9_R , mkf_map_ucs4_to_iso8859_9_r , mkf_map_iso8859_9_r_to_ucs4 } , { ISO8859_10_R , mkf_map_ucs4_to_iso8859_10_r , mkf_map_iso8859_10_r_to_ucs4 } , { TIS620_2533 , mkf_map_ucs4_to_tis620_2533 , mkf_map_tis620_2533_to_ucs4 } , { ISO8859_13_R , mkf_map_ucs4_to_iso8859_13_r , mkf_map_iso8859_13_r_to_ucs4 } , { ISO8859_14_R , mkf_map_ucs4_to_iso8859_14_r , mkf_map_iso8859_14_r_to_ucs4 } , { ISO8859_15_R , mkf_map_ucs4_to_iso8859_15_r , mkf_map_iso8859_15_r_to_ucs4 } , { ISO8859_16_R , mkf_map_ucs4_to_iso8859_16_r , mkf_map_iso8859_16_r_to_ucs4 } , { TCVN5712_3_1993 , mkf_map_ucs4_to_tcvn5712_3_1993 , mkf_map_tcvn5712_3_1993_to_ucs4 } , { VISCII , mkf_map_ucs4_to_viscii , mkf_map_viscii_to_ucs4 } , { KOI8_R , mkf_map_ucs4_to_koi8_r , mkf_map_koi8_r_to_ucs4 } , { KOI8_U , mkf_map_ucs4_to_koi8_u , mkf_map_koi8_u_to_ucs4 } , { JISX0201_ROMAN , mkf_map_ucs4_to_jisx0201_roman , mkf_map_jisx0201_roman_to_ucs4 } , { JISX0201_KATA , mkf_map_ucs4_to_jisx0201_kata , mkf_map_jisx0201_kata_to_ucs4 } , { JISX0208_1983 , mkf_map_ucs4_to_jisx0208_1983 , mkf_map_jisx0208_1983_to_ucs4 } , { JISX0212_1990 , mkf_map_ucs4_to_jisx0212_1990 , mkf_map_jisx0212_1990_to_ucs4 } , { JISX0213_2000_1 , mkf_map_ucs4_to_jisx0213_2000_1 , mkf_map_jisx0213_2000_1_to_ucs4 } , { JISX0213_2000_2 , mkf_map_ucs4_to_jisx0213_2000_2 , mkf_map_jisx0213_2000_2_to_ucs4 } , { JISC6226_1978_NEC_EXT , mkf_map_ucs4_to_nec_ext , mkf_map_nec_ext_to_ucs4 } , { GB2312_80 , mkf_map_ucs4_to_gb2312_80 , mkf_map_gb2312_80_to_ucs4 } , { GBK , mkf_map_ucs4_to_gbk , mkf_map_gbk_to_ucs4 } , { CNS11643_1992_1 , mkf_map_ucs4_to_cns11643_1992_1 , mkf_map_cns11643_1992_1_to_ucs4 } , { CNS11643_1992_2 , mkf_map_ucs4_to_cns11643_1992_2 , mkf_map_cns11643_1992_2_to_ucs4 } , { BIG5 , mkf_map_ucs4_to_big5 , mkf_map_big5_to_ucs4 } , { HKSCS , mkf_map_ucs4_to_hkscs , mkf_map_hkscs_to_ucs4 } , { KSC5601_1987 , mkf_map_ucs4_to_ksc5601_1987 , mkf_map_ksc5601_1987_to_ucs4 } , { UHC , mkf_map_ucs4_to_uhc , mkf_map_uhc_to_ucs4 } , { JOHAB , mkf_map_ucs4_to_johab , mkf_map_johab_to_ucs4 } , --- ここまで このデフォルト指定の前に、ローケールごとに指定された、優先すべき文字集合 に変換されます(mkf_[locale]_map.c)。 上記の処理を行っているのが mkf_locale_ucs4_map.c の mkf_map_locale_ucs4_to() に なります。 では -- kiken j00...@ip... |