蝉は、やがて死ぬる午後に気づいた。ああ、私たち、もっと仕合せになってよかったのだ。:2007年03月01日分

2007/03/01(Thu)

Citrus iconv

Unicode5.0のUnihan.txtを元にSIP(Supplementary Ideographic Plane)=2面のサポートを改善してみた。
/distfiles/citrus/NetBSD/patch-sip.gz

Shift_JIS-2004はcitrus_mskanji.cに修正要で、 以前書いたpatchを元に作業中。
ISO-2022-JP-3-strict/compatibleについては当時の問題は解決してるけど保留。
M:N変換はそのうちiconv module書く、今回は保留。
あ、あとFreeBSDからzh_HK.Big5-HKSCSロケールをもらってくること。

ついに/usr/share/i18n以下が10MB超えた。圧縮したいけどlibcにgzipつーのもねぇ。
一応このSIP対応patchではmapper.dirに

UCS:SIP/UCS mapper_zone 0x0000-0xFFFF:+0x020000
UCS/UCS:SIP mapper_zone 0x020000-0x02FFFF:-0x020000

という仕掛けを用意し、DST_UNIT_BITSを32でなく16で扱うことで
iconvdataのサイズを小さくする工夫もしてはいるんだけどね。

テストして週末にはcommitするべ。

これでGNU libiconv-1.10がサポートしてCitrus iconvがサポートしないCESは残りこんだけ。

CP1046
CP1124
CP1125
CP1129
CP1161
CP1162
CP1163
CP922
DEC-HANYU
DEC-KANJI
MACARABIC
MACHEBREW
RISCOS-LATIN1
SHIFT_JISX0213