Makefile 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. # Directory containing conversion tables.
  2. # You have to unpack the conversion-tables.tar.gz package.
  3. TABLESDIR = /home/bruno/chs/conversion-tables
  4. ALL = \
  5. ascii.h \
  6. iso8859_1.h \
  7. iso8859_2.h \
  8. iso8859_3.h \
  9. iso8859_4.h \
  10. iso8859_5.h \
  11. iso8859_6.h \
  12. iso8859_7.h \
  13. iso8859_8.h \
  14. iso8859_9.h \
  15. iso8859_10.h \
  16. iso8859_11.h \
  17. iso8859_13.h \
  18. iso8859_14.h \
  19. iso8859_15.h \
  20. iso8859_16.h \
  21. koi8_r.h \
  22. koi8_u.h \
  23. koi8_ru.h \
  24. cp1250.h \
  25. cp1251.h \
  26. cp1252.h \
  27. cp1253.h \
  28. cp1254.h \
  29. cp1255.h \
  30. cp1256.h \
  31. cp1257.h \
  32. cp1258.h \
  33. cp850.h \
  34. cp862.h \
  35. cp866.h \
  36. cp1131.h \
  37. mac_roman.h \
  38. mac_centraleurope.h \
  39. mac_iceland.h \
  40. mac_croatian.h \
  41. mac_romania.h \
  42. mac_cyrillic.h \
  43. mac_ukraine.h \
  44. mac_greek.h \
  45. mac_turkish.h \
  46. mac_hebrew.h \
  47. mac_arabic.h \
  48. mac_thai.h \
  49. hp_roman8.h \
  50. nextstep.h \
  51. armscii_8.h \
  52. georgian_academy.h \
  53. georgian_ps.h \
  54. koi8_t.h \
  55. pt154.h \
  56. rk1048.h \
  57. mulelao.h \
  58. cp1133.h \
  59. tis620.h \
  60. cp874.h \
  61. viscii.h \
  62. tcvn.h \
  63. jisx0201.h \
  64. jisx0208.h \
  65. jisx0212.h \
  66. cp932ext.h \
  67. gb2312.h \
  68. isoir165ext.h \
  69. gb12345ext.h \
  70. gbkext1.h \
  71. gbkext2.h \
  72. gbkext_inv.h \
  73. cp936ext.h \
  74. gb18030ext.h \
  75. gb18030uni.h \
  76. cns11643_1.h \
  77. cns11643_2.h \
  78. cns11643_3.h \
  79. cns11643_4a.h \
  80. cns11643_4b.h \
  81. cns11643_5.h \
  82. cns11643_6.h \
  83. cns11643_7.h \
  84. cns11643_15.h \
  85. cns11643_inv.h \
  86. big5.h \
  87. cp950ext.h \
  88. hkscs1999.h \
  89. hkscs2001.h \
  90. hkscs2004.h \
  91. ksc5601.h \
  92. uhc_1.h \
  93. uhc_2.h \
  94. johab_hangul.h \
  95. cp856.h \
  96. cp922.h \
  97. cp1046.h \
  98. cp1124.h \
  99. cp1129.h \
  100. cp1161.h \
  101. cp1162.h \
  102. cp1163.h \
  103. cp437.h \
  104. cp737.h \
  105. cp775.h \
  106. cp852.h \
  107. cp853.h \
  108. cp855.h \
  109. cp857.h \
  110. cp858.h \
  111. cp860.h \
  112. cp861.h \
  113. cp863.h \
  114. cp864.h \
  115. cp865.h \
  116. cp869.h \
  117. cp1125.h \
  118. jisx0213.h \
  119. tds565.h \
  120. atarist.h \
  121. riscos1.h \
  122. cjk_variants.h
  123. all : $(ALL)
  124. ascii.h : $(TABLESDIR)/glibc-2.1-iconv/ASCII.TXT 8bit_tab_to_h
  125. ./8bit_tab_to_h ASCII ascii < $<
  126. iso8859_1.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-1.TXT 8bit_tab_to_h
  127. ./8bit_tab_to_h ISO-8859-1 iso8859_1 < $<
  128. iso8859_2.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-2.TXT 8bit_tab_to_h
  129. ./8bit_tab_to_h ISO-8859-2 iso8859_2 < $<
  130. iso8859_3.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-3.TXT 8bit_tab_to_h
  131. ./8bit_tab_to_h ISO-8859-3 iso8859_3 < $<
  132. iso8859_4.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-4.TXT 8bit_tab_to_h
  133. ./8bit_tab_to_h ISO-8859-4 iso8859_4 < $<
  134. iso8859_5.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-5.TXT 8bit_tab_to_h
  135. ./8bit_tab_to_h ISO-8859-5 iso8859_5 < $<
  136. iso8859_6.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-6.TXT 8bit_tab_to_h
  137. ./8bit_tab_to_h ISO-8859-6 iso8859_6 < $<
  138. iso8859_7.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-7-2003.TXT 8bit_tab_to_h
  139. ./8bit_tab_to_h ISO-8859-7 iso8859_7 < $<
  140. iso8859_8.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-8.TXT 8bit_tab_to_h
  141. ./8bit_tab_to_h ISO-8859-8 iso8859_8 < $<
  142. iso8859_9.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-9.TXT 8bit_tab_to_h
  143. ./8bit_tab_to_h ISO-8859-9 iso8859_9 < $<
  144. iso8859_10.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-10.TXT 8bit_tab_to_h
  145. ./8bit_tab_to_h ISO-8859-10 iso8859_10 < $<
  146. iso8859_11.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-11.TXT 8bit_tab_to_h
  147. ./8bit_tab_to_h ISO-8859-11 iso8859_11 < $<
  148. iso8859_13.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-13.TXT 8bit_tab_to_h
  149. ./8bit_tab_to_h ISO-8859-13 iso8859_13 < $<
  150. iso8859_14.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-14.TXT 8bit_tab_to_h
  151. ./8bit_tab_to_h ISO-8859-14 iso8859_14 < $<
  152. iso8859_15.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-15.TXT 8bit_tab_to_h
  153. ./8bit_tab_to_h ISO-8859-15 iso8859_15 < $<
  154. iso8859_16.h : $(TABLESDIR)/unicode.org-mappings/ISO8859/8859-16.TXT 8bit_tab_to_h
  155. ./8bit_tab_to_h ISO-8859-16 iso8859_16 < $<
  156. koi8_r.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/KOI8-R.TXT 8bit_tab_to_h
  157. ./8bit_tab_to_h KOI8-R koi8_r < $<
  158. koi8_u.h : $(TABLESDIR)/csets-new/KOI8-U.TXT 8bit_tab_to_h
  159. ./8bit_tab_to_h KOI8-U koi8_u < $<
  160. koi8_ru.h : $(TABLESDIR)/freebsd-iconv-0.4/KOI8-RU.TXT 8bit_tab_to_h
  161. ./8bit_tab_to_h KOI8-RU koi8_ru < $<
  162. cp1250.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1250.TXT 8bit_tab_to_h
  163. ./8bit_tab_to_h CP1250 cp1250 < $<
  164. cp1251.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1251.TXT 8bit_tab_to_h
  165. ./8bit_tab_to_h CP1251 cp1251 < $<
  166. cp1252.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1252.TXT 8bit_tab_to_h
  167. ./8bit_tab_to_h CP1252 cp1252 < $<
  168. cp1253.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1253.TXT 8bit_tab_to_h
  169. ./8bit_tab_to_h CP1253 cp1253 < $<
  170. cp1254.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1254.TXT 8bit_tab_to_h
  171. ./8bit_tab_to_h CP1254 cp1254 < $<
  172. cp1255.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1255.TXT 8bit_tab_to_h
  173. ./8bit_tab_to_h CP1255 cp1255 < $<
  174. cp1256.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1256.TXT 8bit_tab_to_h
  175. ./8bit_tab_to_h CP1256 cp1256 < $<
  176. cp1257.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1257.TXT 8bit_tab_to_h
  177. ./8bit_tab_to_h CP1257 cp1257 < $<
  178. cp1258.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP1258.TXT 8bit_tab_to_h
  179. ./8bit_tab_to_h CP1258 cp1258 < $<
  180. cp850.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP850.TXT 8bit_tab_to_h
  181. ./8bit_tab_to_h CP850 cp850 < $<
  182. cp862.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP862.TXT 8bit_tab_to_h
  183. ./8bit_tab_to_h CP862 cp862 < $<
  184. cp866.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP866.TXT 8bit_tab_to_h
  185. ./8bit_tab_to_h CP866 cp866 < $<
  186. cp1131.h : $(TABLESDIR)/other/CP1131.TXT 8bit_tab_to_h
  187. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1131 cp1131
  188. mac_roman.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMAN.TXT 8bit_tab_to_h
  189. ./8bit_tab_to_h MacRoman mac_roman < $<
  190. mac_centraleurope.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CENTRAL-EUROPE.TXT 8bit_tab_to_h
  191. ./8bit_tab_to_h MacCentralEurope mac_centraleurope < $<
  192. mac_iceland.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ICELAND.TXT 8bit_tab_to_h
  193. ./8bit_tab_to_h MacIceland mac_iceland < $<
  194. mac_croatian.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CROATIAN.TXT 8bit_tab_to_h
  195. ./8bit_tab_to_h MacCroatian mac_croatian < $<
  196. mac_romania.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ROMANIA.TXT 8bit_tab_to_h
  197. ./8bit_tab_to_h MacRomania mac_romania < $<
  198. mac_cyrillic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-CYRILLIC.TXT 8bit_tab_to_h
  199. ./8bit_tab_to_h MacCyrillic mac_cyrillic < $<
  200. mac_ukraine.h : $(TABLESDIR)/jdk-1.1.7b/MAC-UKRAINE.TXT 8bit_tab_to_h
  201. ./8bit_tab_to_h MacUkraine mac_ukraine < $<
  202. mac_greek.h : $(TABLESDIR)/jdk-1.1.7b/MAC-GREEK.TXT 8bit_tab_to_h
  203. ./8bit_tab_to_h MacGreek mac_greek < $<
  204. mac_turkish.h : $(TABLESDIR)/jdk-1.1.7b/MAC-TURKISH.TXT 8bit_tab_to_h
  205. ./8bit_tab_to_h MacTurkish mac_turkish < $<
  206. mac_hebrew.h : $(TABLESDIR)/jdk-1.1.7b/MAC-HEBREW.TXT 8bit_tab_to_h
  207. ./8bit_tab_to_h MacHebrew mac_hebrew < $<
  208. mac_arabic.h : $(TABLESDIR)/jdk-1.1.7b/MAC-ARABIC.TXT 8bit_tab_to_h
  209. ./8bit_tab_to_h MacArabic mac_arabic < $<
  210. mac_thai.h : $(TABLESDIR)/jdk-1.1.7b/MAC-THAI.TXT 8bit_tab_to_h
  211. ./8bit_tab_to_h MacThai mac_thai < $<
  212. hp_roman8.h : $(TABLESDIR)/glibc-2.1-iconv/HP-ROMAN8.TXT 8bit_tab_to_h
  213. ./8bit_tab_to_h HP-ROMAN8 hp_roman8 < $<
  214. nextstep.h : $(TABLESDIR)/clisp/NEXTSTEP.TXT 8bit_tab_to_h
  215. ./8bit_tab_to_h NEXTSTEP nextstep < $<
  216. armscii_8.h : $(TABLESDIR)/glibc-2.2.90-iconv/ARMSCII-8.TXT 8bit_tab_to_h
  217. (echo '#' ; cat $<) | ./8bit_tab_to_h ARMSCII-8 armscii_8
  218. georgian_academy.h : $(TABLESDIR)/csets-1.6/GEO-ITA.TXT 8bit_tab_to_h
  219. ./8bit_tab_to_h GEORGIAN-ACADEMY georgian_academy < $<
  220. georgian_ps.h : $(TABLESDIR)/csets-1.6/GEO-PS.TXT 8bit_tab_to_h
  221. ./8bit_tab_to_h GEORGIAN-PS georgian_ps < $<
  222. koi8_t.h : $(TABLESDIR)/glibc-2.2.90-iconv/KOI8-T.TXT
  223. (echo '#' ; cat $<) | ./8bit_tab_to_h KOI8-T koi8_t
  224. pt154.h : $(TABLESDIR)/IANA/PTCP154.TXT
  225. ./8bit_tab_to_h PT154 pt154 < $<
  226. rk1048.h : $(TABLESDIR)/IANA/KZ-1048.TXT
  227. (echo '#' ; cat $<) | ./8bit_tab_to_h RK1048 rk1048
  228. mulelao.h : $(TABLESDIR)/csets-new/MULELAO1.TXT 8bit_tab_to_h
  229. ./8bit_tab_to_h MULELAO-1 mulelao < $<
  230. cp1133.h : $(TABLESDIR)/csets-new/CP1133.TXT 8bit_tab_to_h
  231. ./8bit_tab_to_h IBM-CP1133 cp1133 < $<
  232. tis620.h : $(TABLESDIR)/glibc-2.1-iconv/TIS-620.TXT 8bit_tab_to_h
  233. ./8bit_tab_to_h TIS620.2533-1 tis620 < $<
  234. cp874.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP874.TXT 8bit_tab_to_h
  235. ./8bit_tab_to_h CP874 cp874 < $<
  236. viscii.h : $(TABLESDIR)/csets-1.6/VISCII.TXT 8bit_tab_to_h
  237. ./8bit_tab_to_h VISCII1.1-1 viscii < $<
  238. tcvn.h : $(TABLESDIR)/csets-1.6/VN5712-1.TXT 8bit_tab_to_h
  239. ./8bit_tab_to_h TCVN-5712 tcvn < $<
  240. jisx0201.h : $(TABLESDIR)/clisp/JIS_X0201.TXT 8bit_tab_to_h
  241. ./8bit_tab_to_h JISX0201.1976-0 jisx0201 < $<
  242. # We use modified JISX0208 and JISX0212 tables. Why?
  243. # Hironori Sakamoto and Tomohiro Kubota explain that
  244. # - EUC-JP and SHIFT_JIS contain JISX0208 exactly,
  245. # - Their round-trip conversion to Unicode and back must be the identity,
  246. # - Conversions between EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP must behave
  247. # as if no Unicode conversion was involved,
  248. # - When JISX0208 is used as a CES (i.e. combined with ASCII) its mapping of
  249. # REVERSE SOLIDUS becomes a FULLWIDTH REVERSE SOLIDUS, apparently because
  250. # round-trip conversion stability is more important than a particular glyph.
  251. # Only with CCS the character is a REVERSE SOLIDUS.
  252. # As a consequence, we use FULLWIDTH REVERSE SOLIDUS in EUC-JP's JISX0208 part,
  253. # and for consistency also in SHIFT_JIS and ISO-2022-JP, i.e. everywhere.
  254. # JISX0208 never occurs as a CCS in practice. Similarly with JISX0212.
  255. # Unicode.org maps 0x2140 to U+005C. We map it to U+FF3C.
  256. jisx0208.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0208.TXT cjk_tab_to_h
  257. sed -e 's,^0x....[ ]*\(0x....[ ]*0x.....*\)$$,\1,' < $< | sed -e 's,\([ ]\)0x005C,\10xFF3C,' | ./cjk_tab_to_h JISX0208.1990-0 jisx0208 > $@
  258. # Unicode.org maps 0x2237 to U+007E. We map it to U+FF5E.
  259. jisx0212.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/JIS/JIS0212.TXT cjk_tab_to_h
  260. sed -e 's,\([ ]\)0x007E,\10xFF5E,' < $< | ./cjk_tab_to_h JISX0212.1990-0 jisx0212 > $@
  261. cp932ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP932.TXT cjk_tab_to_h
  262. (echo '#' ; grep '^0x\(87\|E[D-F]\|F[0-9A-F]\)[0-9A-F][0-9A-F]' < $< ) | ./cjk_tab_to_h 'CP932 extensions' cp932ext > $@
  263. gb2312.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT cjk_tab_to_h
  264. ./cjk_tab_to_h GB2312.1980-0 gb2312 < $< > $@
  265. isoir165ext.h : $(TABLESDIR)/csets-new/ISO-IR-165-additions.TXT cjk_tab_to_h
  266. (echo '#' ; grep -v '^0x2[8A]' < $<) | ./cjk_tab_to_h 'ISO-IR-165 extensions' isoir165ext > $@
  267. 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
  268. (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
  269. gbkext1.h : GBKext.TXT cjk_tab_to_h
  270. (echo '#' ; grep '^0x\([89].\|A0\)' < GBKext.TXT) | ./cjk_tab_to_h 'GBK/3 extensions' gbkext1 > $@
  271. gbkext2.h : GBKext.TXT cjk_tab_to_h
  272. (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 > $@
  273. gbkext_inv.h : GBKext.TXT cjk_tab_to_h
  274. (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 > $@
  275. cp936ext.h : GBKext.TXT cjk_tab_to_h
  276. (echo '#' ; grep '^0xA[1-9][B-F].' < GBKext.TXT) | ./cjk_tab_to_h 'CP936 extensions' cp936ext > $@
  277. GBKext.TXT : $(TABLESDIR)/unicode.org-mappings/EASTASIA/GB/GB2312.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT
  278. 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
  279. gb18030ext.h : GB18030ext.TXT cjk_tab_to_h
  280. (echo '#' ; cat GB18030ext.TXT) | ./cjk_tab_to_h 'GB18030 two-byte extension' gb18030ext > $@
  281. GB18030ext.TXT : $(TABLESDIR)/glibc-2.2.2-iconv/GB18030.TXT $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP936.TXT
  282. 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
  283. gb18030uni.h : GB18030uni.TXT cjk_tab_to_h
  284. ./cjk_tab_to_h 'GB18030 four-byte extension' gb18030uni < GB18030uni.TXT > $@
  285. GB18030uni.TXT : $(TABLESDIR)/gb18030/filled-GB18030.TXT
  286. grep '^0x........ 0x....$$' < $(TABLESDIR)/gb18030/filled-GB18030.TXT > $@
  287. cns11643_1.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  288. grep '^\(#\|0x1\)' < $< | sed -e 's,^0x1,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 1' cns11643_1 > $@
  289. cns11643_2.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  290. grep '^\(#\|0x2\)' < $< | sed -e 's,^0x2,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 2' cns11643_2 > $@
  291. cns11643_3.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  292. grep '^\(#\|0x3\)' < $< | sed -e 's,^0x3,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 3' cns11643_3 > $@
  293. cns11643_4a.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  294. grep '^\(#\|0x4[0-3]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part a' cns11643_4a > $@
  295. cns11643_4b.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  296. grep '^\(#\|0x4[4-7]\)' < $< | sed -e 's,^0x4,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 4 part b' cns11643_4b > $@
  297. cns11643_5.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  298. grep '^\(#\|0x5\)' < $< | sed -e 's,^0x5,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 5' cns11643_5 > $@
  299. cns11643_6.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  300. grep '^\(#\|0x6\)' < $< | sed -e 's,^0x6,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 6' cns11643_6 > $@
  301. cns11643_7.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  302. grep '^\(#\|0x7\)' < $< | sed -e 's,^0x7,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 7' cns11643_7 > $@
  303. cns11643_15.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  304. grep '^\(#\|0xF\)' < $< | sed -e 's,^0xF,0x,' | ./cjk_tab_to_h 'CNS 11643-1992 plane 15' cns11643_15 > $@
  305. cns11643_inv.h : $(TABLESDIR)/csets-new/CNS11643-Unicode32.TXT cjk_tab_to_h
  306. ./cjk_tab_to_h 'CNS 11643-1992 planes 1-7, CNS 11643-1986 plane 15' cns11643_inv < $< > $@
  307. big5.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/OTHER/BIG5.TXT cjk_tab_to_h
  308. ./cjk_tab_to_h BIG5 big5 < $< > $@
  309. cp950ext.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/WINDOWS/CP950.TXT cjk_tab_to_h
  310. (echo '#' ; grep '^0xF9\(D[6-9A-F]\|[EF][0-9A-F]\)' < $< ) | ./cjk_tab_to_h 'CP950 extensions' cp950ext > $@
  311. hkscs1999.h : $(TABLESDIR)/big5hkscs/HKSCS-1999_2006.TXT cjk_tab_to_h
  312. (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:1999 hkscs1999 > $@
  313. hkscs2001.h : $(TABLESDIR)/big5hkscs/HKSCS-2001_2006-DELTA.TXT cjk_tab_to_h
  314. (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2001 hkscs2001 > $@
  315. hkscs2004.h : $(TABLESDIR)/big5hkscs/HKSCS-2004_2006-DELTA.TXT cjk_tab_to_h
  316. (echo '#' ; grep -v , $<) | ./cjk_tab_to_h HKSCS:2004 hkscs2004 > $@
  317. # We use a modified KSC 5601 = KSX 1001 table. Jungshik Shin <jshin@mailaps.org>
  318. # reports that Prof. GIM Geongseog (KIM Keyongseok) <gimgs@asadal.cs.pusan.ac.kr>
  319. # (who represents South Korea in ISO/IEC JTC1 SC2/WG2 and SC22/WG20) says that
  320. # these two characters were added to KSX 1001 in December 1998. According to
  321. # http://std.dkuug.dk/jtc1/sc2/wg2/docs/N2815.doc, one more character
  322. # (Korean postal code sign) was added in 2002.
  323. ksc5601.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h
  324. (cat $< ; echo '0xA2E6 0x20AC'; echo '0xA2E7 0x00AE'; echo '0xA2E8 0x327E') | ./cjk_tab_to_h 'KSC5601.1987-0, now KS X 1001:2002' ksc5601 > $@
  325. uhc_1.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h
  326. (echo '#' ; grep '^0x\([8-9]\|A0\)' < $< ) | ./cjk_tab_to_h 'Unified Hangul Code part 1' uhc_1 > $@
  327. uhc_2.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/KSC5601.TXT cjk_tab_to_h
  328. (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 > $@
  329. johab_hangul.h : $(TABLESDIR)/unicode.org-mappings/EASTASIA/KSC/JOHAB.TXT cjk_tab_to_h
  330. (echo '#' ; grep '^0x\([8-C]...\|D[0-7]..\)' < $< ) | ./cjk_tab_to_h 'JOHAB Hangul' johab_hangul > $@
  331. cp856.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/CP856.TXT 8bit_tab_to_h
  332. ./8bit_tab_to_h CP856 cp856 < $<
  333. cp922.h : $(TABLESDIR)/aix-4.3.2/IBM-922.TXT 8bit_tab_to_h
  334. (echo '#' ; cat $<) | ./8bit_tab_to_h CP922 cp922
  335. cp1046.h : $(TABLESDIR)/aix-4.3.2/IBM-1046.TXT 8bit_tab_to_h
  336. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1046 cp1046
  337. cp1124.h : $(TABLESDIR)/aix-4.3.2/IBM-1124.TXT 8bit_tab_to_h
  338. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1124 cp1124
  339. cp1129.h : $(TABLESDIR)/aix-4.3.2/IBM-1129.TXT 8bit_tab_to_h
  340. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1129 cp1129
  341. cp1161.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1161.TXT
  342. (echo '#' ; cat $(TABLESDIR)/glibc-2.2-iconv/ASCII.TXT ; grep -v '^0x[0-7]' $<) | ./8bit_tab_to_h CP1161 cp1161
  343. cp1162.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1162.TXT
  344. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1162 cp1162
  345. cp1163.h : $(TABLESDIR)/glibc-2.2.90-iconv/IBM1163.TXT
  346. (echo '#' ; cat $<) | ./8bit_tab_to_h CP1163 cp1163
  347. cp437.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP437.TXT 8bit_tab_to_h
  348. ./8bit_tab_to_h CP437 cp437 < $<
  349. cp737.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP737.TXT 8bit_tab_to_h
  350. ./8bit_tab_to_h CP737 cp737 < $<
  351. cp775.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP775.TXT 8bit_tab_to_h
  352. ./8bit_tab_to_h CP775 cp775 < $<
  353. cp852.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP852.TXT 8bit_tab_to_h
  354. ./8bit_tab_to_h CP852 cp852 < $<
  355. cp853.h : $(TABLESDIR)/other/CP853.TXT 8bit_tab_to_h
  356. (echo '#'; cat $<) | ./8bit_tab_to_h CP853 cp853
  357. cp855.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP855.TXT 8bit_tab_to_h
  358. ./8bit_tab_to_h CP855 cp855 < $<
  359. cp857.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP857.TXT 8bit_tab_to_h
  360. ./8bit_tab_to_h CP857 cp857 < $<
  361. cp858.h : $(TABLESDIR)/windows-2000/CP858.TXT 8bit_tab_to_h
  362. (echo '#' ; cat $<) | ./8bit_tab_to_h CP858 cp858
  363. cp860.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP860.TXT 8bit_tab_to_h
  364. ./8bit_tab_to_h CP860 cp860 < $<
  365. cp861.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP861.TXT 8bit_tab_to_h
  366. ./8bit_tab_to_h CP861 cp861 < $<
  367. cp863.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP863.TXT 8bit_tab_to_h
  368. ./8bit_tab_to_h CP863 cp863 < $<
  369. cp864.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP864.TXT 8bit_tab_to_h
  370. ./8bit_tab_to_h CP864 cp864 < $<
  371. cp865.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP865.TXT 8bit_tab_to_h
  372. ./8bit_tab_to_h CP865 cp865 < $<
  373. cp869.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MICSFT/PC/CP869.TXT 8bit_tab_to_h
  374. ./8bit_tab_to_h CP869 cp869 < $<
  375. cp1125.h : $(TABLESDIR)/csets-new/CP1125.TXT 8bit_tab_to_h
  376. ./8bit_tab_to_h CP1125 cp1125 < $<
  377. jisx0213.h : JISX0213.TXT cjk_tab_to_h
  378. ./cjk_tab_to_h JISX0213:2004 jisx0213 < $< > $@
  379. tds565.h : $(TABLESDIR)/recode-cvs/TDS565.TXT 8bit_tab_to_h
  380. (echo '#'; cat $<) | ./8bit_tab_to_h TDS565 tds565 > $@
  381. atarist.h : $(TABLESDIR)/unicode.org-mappings/VENDORS/MISC/ATARIST.TXT
  382. ./8bit_tab_to_h 'Atari ST' atarist < $< > $@
  383. riscos1.h : $(TABLESDIR)/recode-cvs/RISCOS-LATIN1.TXT 8bit_tab_to_h
  384. (echo '#'; cat $<) | ./8bit_tab_to_h RISCOS-LATIN1 riscos1 > $@
  385. cjk_variants.h : $(TABLESDIR)/yasuoka/UniVariants cjk_variants
  386. ./cjk_variants < $< > $@
  387. 8bit_tab_to_h : 8bit_tab_to_h.c
  388. gcc -O -Wall -g $< -o $@
  389. cjk_tab_to_h : cjk_tab_to_h.c
  390. gcc -O -Wall -g $< -o $@
  391. cjk_variants : cjk_variants.c
  392. gcc -O -Wall -g $< -o $@
  393. clean : force
  394. rm -f 8bit_tab_to_h cjk_tab_to_h cjk_variants $(ALL) GBKext.TXT
  395. force :