# Directory containing conversion tables. # You have to unpack the conversion-tables.tar.gz package. TABLESDIR = /home/bruno/chs/conversion-tables ALL = \ ascii.h \ iso8859_1.h \ iso8859_2.h \ iso8859_3.h \ iso8859_4.h \ iso8859_5.h \ iso8859_6.h \ iso8859_7.h \ iso8859_8.h \ iso8859_9.h \ iso8859_10.h \ iso8859_11.h \ iso8859_13.h \ iso8859_14.h \ iso8859_15.h \ iso8859_16.h \ koi8_r.h \ koi8_u.h \ koi8_ru.h \ cp1250.h \ cp1251.h \ cp1252.h \ cp1253.h \ cp1254.h \ cp1255.h \ cp1256.h \ cp1257.h \ cp1258.h \ cp850.h \ cp862.h \ cp866.h \ cp1131.h \ mac_roman.h \ mac_centraleurope.h \ mac_iceland.h \ mac_croatian.h \ mac_romania.h \ mac_cyrillic.h \ mac_ukraine.h \ mac_greek.h \ mac_turkish.h \ mac_hebrew.h \ mac_arabic.h \ mac_thai.h \ hp_roman8.h \ nextstep.h \ armscii_8.h \ georgian_academy.h \ georgian_ps.h \ koi8_t.h \ pt154.h \ rk1048.h \ mulelao.h \ cp1133.h \ tis620.h \ cp874.h \ viscii.h \ tcvn.h \ jisx0201.h \ jisx0208.h \ jisx0212.h \ cp932ext.h \ cp50221_0208_ext.h \ cp50221_0212_ext.h \ gb2312.h \ isoir165ext.h \ gb12345ext.h \ gbkext1.h \ gbkext2.h \ gbkext_inv.h \ cp936ext.h \ gb18030ext.h \ gb18030uni.h \ cns11643_1.h \ cns11643_2.h \ cns11643_3.h \ cns11643_4a.h \ cns11643_4b.h \ cns11643_5.h \ cns11643_6.h \ cns11643_7.h \ cns11643_15.h \ cns11643_inv.h \ big5.h \ cp950ext.h \ hkscs1999.h \ hkscs2001.h \ hkscs2004.h \ hkscs2008.h \ ksc5601.h \ uhc_1.h \ uhc_2.h \ johab_hangul.h \ cp856.h \ cp922.h \ cp1046.h \ cp1124.h \ cp1129.h \ cp1161.h \ cp1162.h \ cp1163.h \ cp437.h \ cp737.h \ cp775.h \ cp852.h \ cp853.h \ cp855.h \ cp857.h \ cp858.h \ cp860.h \ cp861.h \ cp863.h \ cp864.h \ cp865.h \ cp869.h \ cp1125.h \ ebcdic037.h \ ebcdic273.h \ ebcdic277.h \ ebcdic278.h \ ebcdic280.h \ ebcdic282.h \ ebcdic284.h \ ebcdic285.h \ ebcdic297.h \ ebcdic423.h \ ebcdic424.h \ ebcdic425.h \ ebcdic500.h \ ebcdic838.h \ ebcdic870.h \ ebcdic871.h \ ebcdic875.h \ ebcdic880.h \ ebcdic905.h \ ebcdic924.h \ ebcdic1025.h \ ebcdic1026.h \ ebcdic1047.h \ ebcdic1097.h \ ebcdic1112.h \ ebcdic1122.h \ ebcdic1123.h \ ebcdic1130.h \ ebcdic1132.h \ ebcdic1137.h \ ebcdic1140.h \ ebcdic1141.h \ ebcdic1142.h \ ebcdic1143.h \ ebcdic1144.h \ ebcdic1145.h \ ebcdic1146.h \ ebcdic1147.h \ ebcdic1148.h \ ebcdic1149.h \ ebcdic1153.h \ ebcdic1154.h \ ebcdic1155.h \ ebcdic1156.h \ ebcdic1157.h \ ebcdic1158.h \ ebcdic1160.h \ ebcdic1164.h \ ebcdic1165.h \ ebcdic1166.h \ ebcdic4971.h \ ebcdic12712.h \ ebcdic16804.h \ jisx0213.h \ tds565.h \ atarist.h \ riscos1.h \ cjk_variants.h all : $(ALL) ascii.h : $(TABLESDIR)/glibc-2.1-iconv/ASCII.TXT 8bit_tab_to_h ./8bit_tab_to_h ASCII ascii < $< iso8859_1.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-1.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-1 iso8859_1 < $< iso8859_2.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-2.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-2 iso8859_2 < $< iso8859_3.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-3.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-3 iso8859_3 < $< iso8859_4.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-4.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-4 iso8859_4 < $< iso8859_5.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-5.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-5 iso8859_5 < $< iso8859_6.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-6.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-6 iso8859_6 < $< iso8859_7.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-7-2003.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-7 iso8859_7 < $< iso8859_8.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-8.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-8 iso8859_8 < $< iso8859_9.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-9.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-9 iso8859_9 < $< iso8859_10.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-10.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-10 iso8859_10 < $< iso8859_11.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-11.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-11 iso8859_11 < $< iso8859_13.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-13.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-13 iso8859_13 < $< iso8859_14.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-14.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-14 iso8859_14 < $< iso8859_15.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-15.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-15 iso8859_15 < $< iso8859_16.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-16.TXT 8bit_tab_to_h ./8bit_tab_to_h ISO-8859-16 iso8859_16 < $< koi8_r.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/KOI8-R.TXT 8bit_tab_to_h ./8bit_tab_to_h KOI8-R koi8_r < $< koi8_u.h : $(TABLESDIR)/csets-new/KOI8-U.TXT 8bit_tab_to_h ./8bit_tab_to_h KOI8-U koi8_u < $< koi8_ru.h : $(TABLESDIR)/freebsd-iconv-0.4/KOI8-RU.TXT 8bit_tab_to_h ./8bit_tab_to_h KOI8-RU koi8_ru < $< cp1250.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1250.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1250 cp1250 < $< cp1251.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1251.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1251 cp1251 < $< cp1252.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1252.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1252 cp1252 < $< cp1253.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1253.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1253 cp1253 < $< cp1254.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1254.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1254 cp1254 < $< cp1255.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1255.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1255 cp1255 < $< cp1256.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1256.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1256 cp1256 < $< cp1257.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1257.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1257 cp1257 < $< cp1258.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1258.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1258 cp1258 < $< cp850.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP850.TXT 8bit_tab_to_h ./8bit_tab_to_h CP850 cp850 < $< cp862.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP862.TXT 8bit_tab_to_h ./8bit_tab_to_h CP862 cp862 < $< cp866.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP866.TXT 8bit_tab_to_h ./8bit_tab_to_h CP866 cp866 < $< cp1131.h : $(TABLESDIR)/other/CP1131.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP1131 cp1131 mac_roman.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMAN.TXT 8bit_tab_to_h ./8bit_tab_to_h MacRoman mac_roman < $< mac_centraleurope.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CENTRAL-EUROPE.TXT 8bit_tab_to_h ./8bit_tab_to_h MacCentralEurope mac_centraleurope < $< mac_iceland.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ICELAND.TXT 8bit_tab_to_h ./8bit_tab_to_h MacIceland mac_iceland < $< mac_croatian.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CROATIAN.TXT 8bit_tab_to_h ./8bit_tab_to_h MacCroatian mac_croatian < $< mac_romania.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMANIA.TXT 8bit_tab_to_h ./8bit_tab_to_h MacRomania mac_romania < $< mac_cyrillic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CYRILLIC.TXT 8bit_tab_to_h ./8bit_tab_to_h MacCyrillic mac_cyrillic < $< mac_ukraine.h : $(TABLESDIR)/jdk-1.1.7b/MAC-UKRAINE.TXT 8bit_tab_to_h ./8bit_tab_to_h MacUkraine mac_ukraine < $< mac_greek.h : $(TABLESDIR)/jdk-1.1.7b/MAC-GREEK.TXT 8bit_tab_to_h ./8bit_tab_to_h MacGreek mac_greek < $< mac_turkish.h : $(TABLESDIR)/jdk-1.1.7b/MAC-TURKISH.TXT 8bit_tab_to_h ./8bit_tab_to_h MacTurkish mac_turkish < $< mac_hebrew.h : $(TABLESDIR)/jdk-1.1.7b/MAC-HEBREW.TXT 8bit_tab_to_h ./8bit_tab_to_h MacHebrew mac_hebrew < $< mac_arabic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ARABIC.TXT 8bit_tab_to_h ./8bit_tab_to_h MacArabic mac_arabic < $< mac_thai.h : $(TABLESDIR)/jdk-1.1.7b/MAC-THAI.TXT 8bit_tab_to_h ./8bit_tab_to_h MacThai mac_thai < $< hp_roman8.h : $(TABLESDIR)/glibc-2.1-iconv/HP-ROMAN8.TXT 8bit_tab_to_h ./8bit_tab_to_h HP-ROMAN8 hp_roman8 < $< nextstep.h : $(TABLESDIR)/clisp/NEXTSTEP.TXT 8bit_tab_to_h ./8bit_tab_to_h NEXTSTEP nextstep < $< armscii_8.h : $(TABLESDIR)/glibc-2.2.90-iconv/ARMSCII-8.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h ARMSCII-8 armscii_8 georgian_academy.h : $(TABLESDIR)/csets-1.6/GEO-ITA.TXT 8bit_tab_to_h ./8bit_tab_to_h GEORGIAN-ACADEMY georgian_academy < $< georgian_ps.h : $(TABLESDIR)/csets-1.6/GEO-PS.TXT 8bit_tab_to_h ./8bit_tab_to_h GEORGIAN-PS georgian_ps < $< koi8_t.h : $(TABLESDIR)/glibc-2.2.90-iconv/KOI8-T.TXT (echo '#' ; cat $<) | ./8bit_tab_to_h KOI8-T koi8_t pt154.h : $(TABLESDIR)/IANA/PTCP154.TXT ./8bit_tab_to_h PT154 pt154 < $< rk1048.h : $(TABLESDIR)/IANA/KZ-1048.TXT (echo '#' ; cat $<) | ./8bit_tab_to_h RK1048 rk1048 mulelao.h : $(TABLESDIR)/csets-new/MULELAO1.TXT 8bit_tab_to_h ./8bit_tab_to_h MULELAO-1 mulelao < $< cp1133.h : $(TABLESDIR)/csets-new/CP1133.TXT 8bit_tab_to_h ./8bit_tab_to_h IBM-CP1133 cp1133 < $< tis620.h : $(TABLESDIR)/glibc-2.1-iconv/TIS-620.TXT 8bit_tab_to_h ./8bit_tab_to_h TIS620.2533-1 tis620 < $< cp874.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP874.TXT 8bit_tab_to_h ./8bit_tab_to_h CP874 cp874 < $< viscii.h : $(TABLESDIR)/csets-1.6/VISCII.TXT 8bit_tab_to_h ./8bit_tab_to_h VISCII1.1-1 viscii < $< tcvn.h : $(TABLESDIR)/csets-1.6/VN5712-1.TXT 8bit_tab_to_h ./8bit_tab_to_h TCVN-5712 tcvn < $< jisx0201.h : $(TABLESDIR)/clisp/JIS_X0201.TXT 8bit_tab_to_h ./8bit_tab_to_h JISX0201.1976-0 jisx0201 < $< # We use modified JISX0208 and JISX0212 tables. Why? # Hironori Sakamoto and Tomohiro Kubota explain that # - EUC-JP and SHIFT_JIS contain JISX0208 exactly, # - Their round-trip conversion to Unicode and back must be the identity, # - Conversions between EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP must behave # as if no Unicode conversion was involved, # - When JISX0208 is used as a CES (i.e. combined with ASCII) its mapping of # REVERSE SOLIDUS becomes a FULLWIDTH REVERSE SOLIDUS, apparently because # round-trip conversion stability is more important than a particular glyph. # Only with CCS the character is a REVERSE SOLIDUS. # As a consequence, we use FULLWIDTH REVERSE SOLIDUS in EUC-JP's JISX0208 part, # and for consistency also in SHIFT_JIS and ISO-2022-JP, i.e. everywhere. # JISX0208 never occurs as a CCS in practice. Similarly with JISX0212. # Unicode.org maps 0x2140 to U+005C. We map it to U+FF3C. jisx0208.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0208.TXT cjk_tab_to_h sed -e 's,^0x....[ ]*\(0x....[ ]*0x.....*\)$$,\1,' < $< | sed -e 's,\([ ]\)0x005C,\10xFF3C,' | ./cjk_tab_to_h JISX0208.1990-0 jisx0208 > $@ # Unicode.org maps 0x2237 to U+007E. We map it to U+FF5E. jisx0212.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0212.TXT cjk_tab_to_h sed -e 's,\([ ]\)0x007E,\10xFF5E,' < $< | ./cjk_tab_to_h JISX0212.1990-0 jisx0212 > $@ cp932ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP932.TXT cjk_tab_to_h (echo '#' ; grep '^0x\(87\|E[D-F]\|F[0-9A-F]\)[0-9A-F][0-9A-F]' < $< ) | ./cjk_tab_to_h 'CP932 extensions' cp932ext > $@ cp50221_0208_ext.h : CP50221-0208-EXT.TXT 8bit_tab_to_h ./8bit_tab_to_h 'CP50221 JISX0208 extensions' cp50221_0208_ext < $< cp50221_0212_ext.h : CP50221-0212-EXT.TXT 8bit_tab_to_h ./8bit_tab_to_h 'CP50221 JISX0212 extensions' cp50221_0212_ext < $< gb2312.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT cjk_tab_to_h ./cjk_tab_to_h GB2312.1980-0 gb2312 < $< > $@ isoir165ext.h : $(TABLESDIR)/csets-new/ISO-IR-165-additions.TXT cjk_tab_to_h (echo '#' ; grep -v '^0x2[8A]' < $<) | ./cjk_tab_to_h 'ISO-IR-165 extensions' isoir165ext > $@ gb12345ext.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB12345-FIXED.TXT $(TABLESDIR)/csets-new/GB12345-more.TXT cjk_tab_to_h (echo '#' ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT > tmp1.TXT ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB12345-FIXED.TXT > tmp2.TXT ; diff tmp1.TXT tmp2.TXT | grep '^> ' | sed -e 's,^> ,,' ; cat $(TABLESDIR)/csets-new/GB12345-more.TXT ) | ./cjk_tab_to_h 'GB/T 12345.1990-0 extensions' gb12345ext > $@ && rm -f tmp1.TXT tmp2.TXT gbkext1.h : GBKext.TXT cjk_tab_to_h (echo '#' ; grep '^0x\([89].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK/3 extensions' gbkext1 > $@ gbkext2.h : GBKext.TXT cjk_tab_to_h (echo '#' ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([4-9].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK/4 and GBK/5 extensions' gbkext2 > $@ gbkext_inv.h : GBKext.TXT cjk_tab_to_h (echo '#' ; grep '^0x\([89].\|A0\)' < GBKext.TXT ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([4-9].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK extensions' gbkext_inv > $@ cp936ext.h : GBKext.TXT cjk_tab_to_h (echo '#' ; grep '^0xA[1-9][B-F].' < GBKext.TXT) | ./cjk_tab_to_h 'CP936 extensions' cp936ext > $@ GBKext.TXT : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT sed -e 's,^0x2,0xA,' -e 's,^0x3,0xB,' -e 's,^0x4,0xC,' -e 's,^0x5,0xD,' -e 's,^0x6,0xE,' -e 's,^0x7,0xF,' -e 's,^0x\(..\)2,0x\1A,' -e 's,^0x\(..\)3,0x\1B,' -e 's,^0x\(..\)4,0x\1C,' -e 's,^0x\(..\)5,0x\1D,' -e 's,^0x\(..\)6,0x\1E,' -e 's,^0x\(..\)7,0x\1F,' $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT > tmpEUCCN.TXT ; sed -e '/^0x..[ ]*#UNDEFINED/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' tmpEUCCN.TXT > tmp1.TXT ; sed -e '/^0x..[ ]/d' -e 's/#.*$$//' -e '/^[ ]*$$/d' $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT > tmp2.TXT ; diff -c1 tmp1.TXT tmp2.TXT | grep '^+ ' | sed -e 's,^+ ,,' > $@ && rm -f tmpEUCCN.TXT tmp1.TXT tmp2.TXT gb18030ext.h : GB18030ext.TXT cjk_tab_to_h (echo '#' ; cat GB18030ext.TXT) | ./cjk_tab_to_h 'GB18030 two-byte extension' gb18030ext > $@ GB18030ext.TXT : $(TABLESDIR)/glibc-2.2.2-iconv/GB18030.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT cat $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT | sed -e 's/[ ]*#.*$$//' | grep '^0x[0-9A-F]* 0x....$$' > tmpGBK.TXT ; diff tmpGBK.TXT $(TABLESDIR)/glibc-2.2.2-iconv/GB18030.TXT | grep '^> 0x.... 0x....$$' | sed -e 's/^> //' > $@ && rm -f tmpGBK.TXT gb18030uni.h : GB18030uni.TXT cjk_tab_to_h ./cjk_tab_to_h 'GB18030 four-byte extension' gb18030uni < GB18030uni.TXT > $@ GB18030uni.TXT : $(TABLESDIR)/gb18030/filled-GB18030.TXT grep '^0x........ 0x....$$' < $(TABLESDIR)/gb18030/filled-GB18030.TXT > $@ cns11643_1.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x1\)' < $< | sed -e 's,^0x1,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 1' cns11643_1 > $@ cns11643_2.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x2\)' < $< | sed -e 's,^0x2,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 2' cns11643_2 > $@ cns11643_3.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x3\)' < $< | sed -e 's,^0x3,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 3' cns11643_3 > $@ cns11643_4a.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x4[0-3]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part a' cns11643_4a > $@ cns11643_4b.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x4[4-7]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part b' cns11643_4b > $@ cns11643_5.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x5\)' < $< | sed -e 's,^0x5,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 5' cns11643_5 > $@ cns11643_6.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x6\)' < $< | sed -e 's,^0x6,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 6' cns11643_6 > $@ cns11643_7.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0x7\)' < $< | sed -e 's,^0x7,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 7' cns11643_7 > $@ cns11643_15.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h grep '^\(#\|0xF\)' < $< | sed -e 's,^0xF,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 15' cns11643_15 > $@ cns11643_inv.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h ./cjk_tab_to_h 'CNS 11643-1992 planes 1-7, CNS 11643-1986 plane 15' cns11643_inv < $< > $@ big5.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/OTHER/BIG5.TXT cjk_tab_to_h ./cjk_tab_to_h BIG5 big5 < $< > $@ cp950ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP950.TXT cjk_tab_to_h (echo '#' ; grep '^0xF9\(D[6-9A-F]\|[EF][0-9A-F]\)' < $< ) | ./cjk_tab_to_h 'CP950 extensions' cp950ext > $@ hkscs1999.h : $(TABLESDIR)/big5hkscs/HKSCS-1999_2006.TXT cjk_tab_to_h (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:1999 hkscs1999 > $@ hkscs2001.h : $(TABLESDIR)/big5hkscs/HKSCS-2001_2006-DELTA.TXT cjk_tab_to_h (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2001 hkscs2001 > $@ hkscs2004.h : $(TABLESDIR)/big5hkscs/HKSCS-2004_2006-DELTA.TXT cjk_tab_to_h (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2004 hkscs2004 > $@ hkscs2008.h : $(TABLESDIR)/big5hkscs/HKSCS-2008_2010-DELTA.TXT cjk_tab_to_h (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2008 hkscs2008 > $@ # We use a modified KSC 5601 = KSX 1001 table. Jungshik Shin # reports that Prof. GIM Geongseog (KIM Keyongseok) # (who represents South Korea in ISO/IEC JTC1 SC2/WG2 and SC22/WG20) says that # these two characters were added to KSX 1001 in December 1998. According to # http://std.dkuug.dk/jtc1/sc2/wg2/docs/N2815.doc, one more character # (Korean postal code sign) was added in 2002. ksc5601.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h (cat $< ; echo '0xA2E6 0x20AC'; echo '0xA2E7 0x00AE'; echo '0xA2E8 0x327E') | ./cjk_tab_to_h 'KSC5601.1987-0, now KS X 1001:2002' ksc5601 > $@ uhc_1.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h (echo '#' ; grep '^0x\([8-9]\|A0\)' < $< ) | ./cjk_tab_to_h 'Unified Hangul Code part 1' uhc_1 > $@ uhc_2.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h (echo '#' ; grep '^0x\(A[1-9A-F]\|[B-F][0-9A-F]\)\([0-9]\|A0\)' < $< ) | ./cjk_tab_to_h 'Unified Hangul Code part 2' uhc_2 > $@ johab_hangul.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/JOHAB.TXT cjk_tab_to_h (echo '#' ; grep '^0x\([8-C]...\|D[0-7]..\)' < $< ) | ./cjk_tab_to_h 'JOHAB Hangul' johab_hangul > $@ cp856.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/CP856.TXT 8bit_tab_to_h ./8bit_tab_to_h CP856 cp856 < $< cp922.h : $(TABLESDIR)/aix-4.3.2/IBM-922.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP922 cp922 cp1046.h : $(TABLESDIR)/aix-4.3.2/IBM-1046.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP1046 cp1046 cp1124.h : $(TABLESDIR)/aix-4.3.2/IBM-1124.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP1124 cp1124 cp1129.h : $(TABLESDIR)/aix-4.3.2/IBM-1129.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP1129 cp1129 cp1161.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1161.TXT (echo '#' ; cat $(TABLESDIR)/glibc-2.2-iconv/ASCII.TXT ; grep -v '^0x[0-7]' $<) | ./8bit_tab_to_h CP1161 cp1161 cp1162.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1162.TXT (echo '#' ; cat $<) | ./8bit_tab_to_h CP1162 cp1162 cp1163.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1163.TXT (echo '#' ; cat $<) | ./8bit_tab_to_h CP1163 cp1163 cp437.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP437.TXT 8bit_tab_to_h ./8bit_tab_to_h CP437 cp437 < $< cp737.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP737.TXT 8bit_tab_to_h ./8bit_tab_to_h CP737 cp737 < $< cp775.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP775.TXT 8bit_tab_to_h ./8bit_tab_to_h CP775 cp775 < $< cp852.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP852.TXT 8bit_tab_to_h ./8bit_tab_to_h CP852 cp852 < $< cp853.h : $(TABLESDIR)/other/CP853.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h CP853 cp853 cp855.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP855.TXT 8bit_tab_to_h ./8bit_tab_to_h CP855 cp855 < $< cp857.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP857.TXT 8bit_tab_to_h ./8bit_tab_to_h CP857 cp857 < $< cp858.h : $(TABLESDIR)/windows-2000/CP858.TXT 8bit_tab_to_h (echo '#' ; cat $<) | ./8bit_tab_to_h CP858 cp858 cp860.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP860.TXT 8bit_tab_to_h ./8bit_tab_to_h CP860 cp860 < $< cp861.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP861.TXT 8bit_tab_to_h ./8bit_tab_to_h CP861 cp861 < $< cp863.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP863.TXT 8bit_tab_to_h ./8bit_tab_to_h CP863 cp863 < $< cp864.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP864.TXT 8bit_tab_to_h ./8bit_tab_to_h CP864 cp864 < $< cp865.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP865.TXT 8bit_tab_to_h ./8bit_tab_to_h CP865 cp865 < $< cp869.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP869.TXT 8bit_tab_to_h ./8bit_tab_to_h CP869 cp869 < $< cp1125.h : $(TABLESDIR)/csets-new/CP1125.TXT 8bit_tab_to_h ./8bit_tab_to_h CP1125 cp1125 < $< ebcdic037.h : ../tests/IBM-037.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-037 ebcdic037 ebcdic273.h : ../tests/IBM-273.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-273 ebcdic273 ebcdic277.h : ../tests/IBM-277.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-277 ebcdic277 ebcdic278.h : ../tests/IBM-278.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-278 ebcdic278 ebcdic280.h : ../tests/IBM-280.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-280 ebcdic280 ebcdic282.h : ../tests/IBM-282.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-282 ebcdic282 ebcdic284.h : ../tests/IBM-284.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-284 ebcdic284 ebcdic285.h : ../tests/IBM-285.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-285 ebcdic285 ebcdic297.h : ../tests/IBM-297.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-297 ebcdic297 ebcdic423.h : ../tests/IBM-423.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-423 ebcdic423 ebcdic424.h : ../tests/IBM-424.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-424 ebcdic424 ebcdic425.h : ../tests/IBM-425.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-425 ebcdic425 ebcdic500.h : ../tests/IBM-500.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-500 ebcdic500 ebcdic838.h : ../tests/IBM-838.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-838 ebcdic838 ebcdic870.h : ../tests/IBM-870.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-870 ebcdic870 ebcdic871.h : ../tests/IBM-871.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-871 ebcdic871 ebcdic875.h : ../tests/IBM-875.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-875 ebcdic875 ebcdic880.h : ../tests/IBM-880.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-880 ebcdic880 ebcdic905.h : ../tests/IBM-905.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-905 ebcdic905 ebcdic924.h : ../tests/IBM-924.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-924 ebcdic924 ebcdic1025.h : ../tests/IBM-1025.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1025 ebcdic1025 ebcdic1026.h : ../tests/IBM-1026.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1026 ebcdic1026 ebcdic1047.h : ../tests/IBM-1047.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1047 ebcdic1047 ebcdic1097.h : ../tests/IBM-1097.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1097 ebcdic1097 ebcdic1112.h : ../tests/IBM-1112.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1112 ebcdic1112 ebcdic1122.h : ../tests/IBM-1122.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1122 ebcdic1122 ebcdic1123.h : ../tests/IBM-1123.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1123 ebcdic1123 ebcdic1130.h : ../tests/IBM-1130.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1130 ebcdic1130 ebcdic1132.h : ../tests/IBM-1132.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1132 ebcdic1132 ebcdic1137.h : ../tests/IBM-1137.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1137 ebcdic1137 ebcdic1140.h : ../tests/IBM-1140.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1140 ebcdic1140 ebcdic1141.h : ../tests/IBM-1141.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1141 ebcdic1141 ebcdic1142.h : ../tests/IBM-1142.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1142 ebcdic1142 ebcdic1143.h : ../tests/IBM-1143.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1143 ebcdic1143 ebcdic1144.h : ../tests/IBM-1144.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1144 ebcdic1144 ebcdic1145.h : ../tests/IBM-1145.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1145 ebcdic1145 ebcdic1146.h : ../tests/IBM-1146.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1146 ebcdic1146 ebcdic1147.h : ../tests/IBM-1147.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1147 ebcdic1147 ebcdic1148.h : ../tests/IBM-1148.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1148 ebcdic1148 ebcdic1149.h : ../tests/IBM-1149.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1149 ebcdic1149 ebcdic1153.h : ../tests/IBM-1153.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1153 ebcdic1153 ebcdic1154.h : ../tests/IBM-1154.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1154 ebcdic1154 ebcdic1155.h : ../tests/IBM-1155.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1155 ebcdic1155 ebcdic1156.h : ../tests/IBM-1156.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1156 ebcdic1156 ebcdic1157.h : ../tests/IBM-1157.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1157 ebcdic1157 ebcdic1158.h : ../tests/IBM-1158.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1158 ebcdic1158 ebcdic1160.h : ../tests/IBM-1160.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1160 ebcdic1160 ebcdic1164.h : ../tests/IBM-1164.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1164 ebcdic1164 ebcdic1165.h : ../tests/IBM-1165.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1165 ebcdic1165 ebcdic1166.h : ../tests/IBM-1166.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-1166 ebcdic1166 ebcdic4971.h : ../tests/IBM-4971.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-4971 ebcdic4971 ebcdic12712.h : ../tests/IBM-12712.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-12712 ebcdic12712 ebcdic16804.h : ../tests/IBM-16804.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h IBM-16804 ebcdic16804 jisx0213.h : JISX0213.TXT cjk_tab_to_h ./cjk_tab_to_h JISX0213:2004 jisx0213 < $< > $@ tds565.h : $(TABLESDIR)/recode-cvs/TDS565.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h TDS565 tds565 > $@ atarist.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARIST.TXT ./8bit_tab_to_h 'Atari ST' atarist < $< > $@ riscos1.h : $(TABLESDIR)/recode-cvs/RISCOS-LATIN1.TXT 8bit_tab_to_h (echo '#'; cat $<) | ./8bit_tab_to_h RISCOS-LATIN1 riscos1 > $@ cjk_variants.h : $(TABLESDIR)/yasuoka/UniVariants cjk_variants ./cjk_variants < $< > $@ 8bit_tab_to_h : 8bit_tab_to_h.c gcc -O -Wall -g $< -o $@ cjk_tab_to_h : cjk_tab_to_h.c gcc -O -Wall -g $< -o $@ cjk_variants : cjk_variants.c gcc -O -Wall -g $< -o $@ clean : force rm -f 8bit_tab_to_h cjk_tab_to_h cjk_variants $(ALL) GBKext.TXT force :