w3m

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/w3m.git/
Log | Files | Refs | README

ucs.map (17700B)


      1 
      2 #include "map/jisx0201k_ucs.map"
      3 #include "map/iso88591_ucs.map"
      4 #include "map/iso88592_ucs.map"
      5 #include "map/iso88593_ucs.map"
      6 #include "map/iso88594_ucs.map"
      7 #include "map/iso88595_ucs.map"
      8 #include "map/iso88596_ucs.map"
      9 #include "map/iso88597_ucs.map"
     10 #include "map/iso88598_ucs.map"
     11 #include "map/iso88599_ucs.map"
     12 #include "map/iso885910_ucs.map"
     13 #include "map/iso885911_ucs.map"
     14 #include "map/iso885913_ucs.map"
     15 #include "map/iso885914_ucs.map"
     16 #include "map/iso885915_ucs.map"
     17 #include "map/iso885916_ucs.map"
     18 
     19 #include "map/cp437_ucs.map"
     20 #include "map/cp737_ucs.map"
     21 #include "map/cp775_ucs.map"
     22 #include "map/cp850_ucs.map"
     23 #include "map/cp852_ucs.map"
     24 #include "map/cp855_ucs.map"
     25 #include "map/cp856_ucs.map"
     26 #include "map/cp857_ucs.map"
     27 #include "map/cp860_ucs.map"
     28 #include "map/cp861_ucs.map"
     29 #include "map/cp862_ucs.map"
     30 #include "map/cp863_ucs.map"
     31 #include "map/cp864_ucs.map"
     32 #include "map/cp865_ucs.map"
     33 #include "map/cp866_ucs.map"
     34 #include "map/cp869_ucs.map"
     35 #include "map/cp874_ucs.map"
     36 #include "map/cp1006_ucs.map"
     37 #include "map/cp1250_ucs.map"
     38 #include "map/cp1251_ucs.map"
     39 #include "map/cp1252_ucs.map"
     40 #include "map/cp1253_ucs.map"
     41 #include "map/cp1254_ucs.map"
     42 #include "map/cp1255_ucs.map"
     43 #include "map/cp1256_ucs.map"
     44 #include "map/cp1257_ucs.map"
     45 #include "map/cp1258_ucs.map"
     46 #include "map/tcvn5712_ucs.map"
     47 #include "map/viscii11_ucs.map"
     48 #include "map/vps_ucs.map"
     49 #include "map/koi8r_ucs.map"
     50 #include "map/koi8u_ucs.map"
     51 #include "map/nextstep_ucs.map"
     52 
     53 #include "map/jisx0208x0212x0213_ucs.map"
     54 #include "map/jisx0213_ucs_p2.map"
     55 #include "map/gb2312_ucs.map"
     56 #include "map/cns11643_ucs.map"
     57 #include "map/ksx1001_ucs.map"
     58 #include "map/big5_ucs.map"
     59 #include "map/hkscs_ucs.map"
     60 #include "map/hkscs_ucs_p2.map"
     61 #include "map/gb12345_ucs.map"
     62 #include "map/johab_ucs.map"
     63 #include "map/sjis_ext_ucs.map"
     64 #include "map/gbk_ucs.map"
     65 #include "map/uhc_ucs.map"
     66 
     67 static wc_uint16 *cs94_ucs_map[] = {
     68   NULL,			/* 40 */
     69   NULL,			/* 41 */
     70   NULL,			/* 42 (US_ASCII) */
     71   NULL,			/* 43 */
     72   NULL,			/* 44 */
     73   NULL,			/* 45 */
     74   NULL,			/* 46 */
     75   NULL,			/* 47 */
     76   NULL,			/* 48 */
     77   jisx0201k_ucs_map,	/* 49 (JIS X 0201 Kana) */
     78   NULL,			/* 4A (JIS X 0201) */
     79   NULL,			/* 4B */
     80   NULL,			/* 4C */
     81   NULL,			/* 4D */
     82   NULL,			/* 4E */
     83   NULL,			/* 4F */
     84   NULL,			/* 50 */
     85   NULL,			/* 51 */
     86   NULL,			/* 52 */
     87   NULL,			/* 53 */
     88   NULL,			/* 54 (GB 1988) */
     89 };
     90 
     91 static wc_uint16 *cs96_ucs_map[] = {
     92   NULL,			/* 40 */
     93   iso88591_ucs_map,	/* 41 (ISO 8859-1) */
     94   iso88592_ucs_map,	/* 42 (ISO 8859-2) */
     95   iso88593_ucs_map,	/* 43 (ISO 8859-3) */
     96   iso88594_ucs_map,	/* 44 (ISO 8859-4) */
     97   NULL,			/* 45 */
     98   iso88597_ucs_map,	/* 46 (ISO 8859-7) */
     99   iso88596_ucs_map,	/* 47 (ISO 8859-6) */
    100   iso88598_ucs_map,	/* 48 (ISO 8859-8) */
    101   NULL,			/* 49 */
    102   NULL,			/* 4A */
    103   NULL,			/* 4B */
    104   iso88595_ucs_map,	/* 4C (ISO 8859-5) */
    105   iso88599_ucs_map,	/* 4D (ISO 8859-9) */
    106   NULL,			/* 4E */
    107   NULL,			/* 4F */
    108   NULL,			/* 50 */
    109   NULL,			/* 51 */
    110   NULL,			/* 52 */
    111   NULL,			/* 53 */
    112   iso885911_ucs_map,	/* 54 (ISO 8859-11, TIS 620) */
    113   NULL,			/* 55 */
    114   iso885910_ucs_map,	/* 56 (ISO 8859-10) */
    115   NULL,			/* 57 */
    116   NULL,			/* 58 */
    117   iso885913_ucs_map,	/* 59 (ISO 8859-13) */
    118   NULL,			/* 5A */
    119   NULL,			/* 5B */
    120   NULL,			/* 5C */
    121   NULL,			/* 5D */
    122   NULL,			/* 5E */
    123   iso885914_ucs_map,	/* 5F (ISO 8859-14) */
    124   NULL,			/* 60 */
    125   NULL,			/* 61 */
    126   iso885915_ucs_map,	/* 62 (ISO 8859-15) */
    127   NULL,			/* 63 */
    128   NULL,			/* 64 */
    129   NULL,			/* 65 */
    130   iso885916_ucs_map,	/* 66 (ISO 8859-16) */
    131 };
    132 
    133 static wc_uint16 **cs942_ucs_map;
    134 
    135 static wc_uint16 *pcs_ucs_map[] = {
    136   cp437_ucs_map,
    137   cp737_ucs_map,
    138   cp775_ucs_map,
    139   cp850_ucs_map,
    140   cp852_ucs_map,
    141   cp855_ucs_map,
    142   cp856_ucs_map,
    143   cp857_ucs_map,
    144   cp860_ucs_map,
    145   cp861_ucs_map,
    146   cp862_ucs_map,
    147   cp863_ucs_map,
    148   cp864_ucs_map,
    149   cp865_ucs_map,
    150   cp866_ucs_map,
    151   cp869_ucs_map,
    152   cp874_ucs_map,
    153   cp1006_ucs_map,
    154   cp1250_ucs_map,
    155   cp1251_ucs_map,
    156   cp1252_ucs_map,
    157   cp1253_ucs_map,
    158   cp1254_ucs_map,
    159   cp1255_ucs_map,
    160   cp1256_ucs_map,
    161   cp1257_ucs_map,
    162   cp1258_ucs_map,
    163   NULL,
    164   tcvn57121_ucs_map,
    165   tcvn57122_ucs_map,
    166   NULL,
    167   viscii111_ucs_map,
    168   viscii112_ucs_map,
    169   vps1_ucs_map,
    170   vps2_ucs_map,
    171   koi8r_ucs_map,
    172   koi8u_ucs_map,
    173   nextstep_ucs_map,
    174   NULL,
    175   NULL,			/* (Raw) */
    176 };
    177 
    178 static wc_uint16 *cs94w_ucs_map[] = {
    179   jisx0208x02131_ucs_map,	/* 40 (JIS C 6226) */
    180   gb2312_ucs_map,		/* 41 (GB 2312) */
    181   jisx0208x02131_ucs_map,	/* 42 (JIS X 0208) */
    182   ksx1001_ucs_map,		/* 43 (KS X 1001) */
    183   jisx0212x02132_ucs_map,	/* 44 (JIS X 0212) */
    184   NULL,				/* 45 (ISO IR 165) */
    185   NULL,				/* 46 */
    186   cns116431_ucs_map,		/* 47 (CNS 11643-1) */
    187   cns116432_ucs_map,		/* 48 (CNS 11643-2) */
    188   NULL,				/* 49 (CNS 11643-3) */
    189   NULL,				/* 4A (CNS 11643-4) */
    190   NULL,				/* 4B (CNS 11643-5) */
    191   NULL,				/* 4C (CNS 11643-6) */
    192   NULL,				/* 4D (CNS 11643-7) */
    193   NULL,				/* 4E (KSP 9566) */
    194   jisx0208x02131_ucs_map,	/* 4F (JIS X 0213-1) */
    195   jisx0212x02132_ucs_map,	/* 50 (JIS X 0213-2) */
    196 };
    197 
    198 static wc_uint16 **cs96w_ucs_map;
    199 
    200 static wc_uint16 *pcsw_ucs_map[] = {
    201   big5_ucs_map,		/* Big5 */
    202   big5_ucs_map,		/* Big5-1 */
    203   big5_ucs_map,		/* Big5-2 */
    204   NULL,			/* CNS 11643-8 */
    205   NULL,			/* CNS 11643-9 */
    206   NULL,			/* CNS 11643-10 */
    207   NULL,			/* CNS 11643-11 */
    208   NULL,			/* CNS 11643-12 */
    209   NULL,			/* CNS 11643-13 */
    210   NULL,			/* CNS 11643-14 */
    211   NULL,			/* CNS 11643-15 */
    212   NULL,			/* CNS 11643-16 */
    213   NULL,			/* CNS 11643-X */
    214   gb12345_ucs_map,	/* GB 12345 */
    215   NULL,			/* Johab (special conversion) */
    216   NULL,			/* Johab-1 (special conversion) */
    217   NULL,			/* Johab-2 (special conversion) */
    218   ksx1001_ucs_map,	/* Johab-3 */
    219   sjis_ext_ucs_map,	/* Shift_JIS(CP932) ext */
    220   sjis_ext_ucs_map,	/* Shift_JIS(CP932) ext-1 */
    221   sjis_ext_ucs_map,	/* Shift_JIS(CP932) ext-2 */
    222   gbk_ucs_map,		/* GBK(CP936) */
    223   gbk_ucs_map,		/* GBK(CP936)-1 */
    224   gbk_ucs_map,		/* GBK(CP936)-2 */
    225   NULL,			/* GB18030 GBK-ext (special conversion) */
    226   NULL,			/* GB18030 GBK-ext-1 (special conversion) */
    227   NULL,			/* GB18030 GBK-ext-2 (special conversion) */
    228   uhc_ucs_map,		/* UHC(CP949) */
    229   uhc_ucs_map,		/* UHC(CP949)-1 */
    230   uhc_ucs_map,		/* UHC(CP949)-2 */
    231   hkscs_ucs_map,	/* HKSCS */
    232   hkscs_ucs_map,	/* HKSCS-1 */
    233   hkscs_ucs_map,	/* HKSCS-2 */
    234 };
    235 
    236 static wc_wchar_t
    237 ucs_cs94_conv(wc_ccs ccs, wc_uint16 c)
    238 {
    239   wc_wchar_t cc;
    240 
    241   cc.ccs = ccs;
    242   cc.code = c;
    243   return cc;
    244 }
    245 
    246 #define ucs_cs96_conv ucs_cs94_conv
    247 #define ucs_cs94w_conv ucs_cs94_conv
    248 #define ucs_cs96w_conv ucs_cs94_conv
    249 #define ucs_cs128w_conv ucs_cs94_conv
    250 
    251 static wc_wchar_t
    252 ucs_viet_conv(wc_ccs ccs, wc_uint16 c)
    253 {
    254   wc_wchar_t cc;
    255 
    256   if (c & 0x80) {
    257     cc.ccs = ccs;
    258     switch (ccs) {
    259     case WC_CCS_TCVN_5712_2:
    260 	cc.ccs = WC_CCS_TCVN_5712_1;
    261 	break;
    262     case WC_CCS_VISCII_11_2:
    263 	cc.ccs = WC_CCS_VISCII_11_1;
    264 	break;
    265     case WC_CCS_VPS_2:
    266 	cc.ccs = WC_CCS_VPS_1;
    267 	break;
    268     }
    269   } else {
    270     cc.ccs = ccs;
    271     switch (ccs) {
    272     case WC_CCS_TCVN_5712_1:
    273 	cc.ccs = WC_CCS_TCVN_5712_2;
    274 	break;
    275     case WC_CCS_VISCII_11_1:
    276 	cc.ccs = WC_CCS_VISCII_11_2;
    277 	break;
    278     case WC_CCS_VPS_1:
    279 	cc.ccs = WC_CCS_VPS_2;
    280 	break;
    281     }
    282   }
    283   cc.code = c & 0xff;
    284   return cc;
    285 }
    286 
    287 static wc_wchar_t
    288 ucs_cp1258_conv(wc_ccs ccs, wc_uint16 c)
    289 {
    290   wc_wchar_t cc;
    291 
    292   cc.ccs = (c < 0x100) ? WC_CCS_CP1258_1 : WC_CCS_CP1258_2;
    293   cc.code = c;
    294   return cc;
    295 }
    296 
    297 static wc_wchar_t
    298 ucs_cns11643_conv(wc_ccs cs, wc_uint16 c)
    299 {
    300   wc_wchar_t cc;
    301 
    302   cc.ccs = (c & 0x8000) ? WC_CCS_CNS_11643_2 : WC_CCS_CNS_11643_1;
    303   cc.code = c & 0x7f7f;
    304   return cc;
    305 }
    306 
    307 static wc_wchar_t
    308 ucs_big5_conv(wc_ccs cs, wc_uint16 c)
    309 {
    310   wc_wchar_t cc;
    311 
    312   cc.ccs = cs;
    313   cc.code = c;
    314   return wc_big5_to_cs94w(cc);
    315 }
    316 
    317 static wc_wchar_t
    318 ucs_johab2_conv(wc_ccs cs, wc_uint16 c)
    319 {
    320   wc_wchar_t cc;
    321 
    322   cc.ccs = cs;
    323   cc.code = c;
    324   return wc_johab_to_cs128w(cc);
    325 }
    326 
    327 static wc_wchar_t
    328 ucs_johab3_conv(wc_ccs cs, wc_uint16 c)
    329 {
    330   wc_wchar_t cc;
    331 
    332   if ((c >= 0x2121 && c <  0x2421) ||
    333       (c >  0x2453 && c <= 0x2C7E) ||
    334       (c >= 0x4A21 && c <= 0x7D7E))
    335      cc.ccs = cs;
    336   else
    337      cc.ccs = WC_CCS_UNKNOWN_W;
    338   cc.code = c;
    339   return cc;
    340 }
    341 
    342 static wc_wchar_t
    343 ucs_sjis_ext_conv(wc_ccs cs, wc_uint16 c)
    344 {
    345   wc_wchar_t cc;
    346 
    347   cc.ccs = cs;
    348   cc.code = c;
    349   return wc_sjis_ext_to_cs94w(cc);
    350 }
    351 
    352 static wc_wchar_t
    353 ucs_gbk_conv(wc_ccs cs, wc_uint16 c)
    354 {
    355   wc_wchar_t cc;
    356 
    357   cc.ccs = cs;
    358   cc.code = c;
    359   return wc_gbk_to_cs128w(cc);
    360 }
    361 
    362 static wc_wchar_t
    363 ucs_uhc_conv(wc_ccs cs, wc_uint16 c)
    364 {
    365   wc_wchar_t cc;
    366 
    367   cc.ccs = cs;
    368   cc.code = c;
    369   return wc_uhc_to_cs128w(cc);
    370 }
    371 
    372 static wc_wchar_t
    373 ucs_hkscs_conv(wc_ccs cs, wc_uint16 c)
    374 {
    375   wc_wchar_t cc;
    376 
    377   cc.ccs = cs;
    378   cc.code = c;
    379   return wc_hkscs_to_cs128w(cc);
    380 }
    381 
    382 #define null_table { 0, 0, NULL, (void *)ucs_cs94_conv }
    383 
    384 static wc_table ucs_cs94_table[] = {
    385   null_table,		/* 40 */
    386   null_table,		/* 41 */
    387   null_table,		/* 42 (US_ASCII) */
    388   null_table,		/* 43 */
    389   null_table,		/* 44 */
    390   null_table,		/* 45 */
    391   null_table,		/* 46 */
    392   null_table,		/* 47 */
    393   null_table,		/* 48 */
    394   { WC_CCS_JIS_X_0201K, N_ucs_jisx0201k_map, ucs_jisx0201k_map, (void *)ucs_cs94_conv },
    395   null_table,		/* 4A (JIS X 0201) */
    396   null_table,		/* 4B */
    397   null_table,		/* 4C */
    398   null_table,		/* 4D */
    399   null_table,		/* 4E */
    400   null_table,		/* 4F */
    401   null_table,		/* 50 */
    402   null_table,		/* 51 */
    403   null_table,		/* 52 */
    404   null_table,		/* 53 */
    405   null_table,		/* 54 (GB 1988) */
    406 };
    407 
    408 static wc_table ucs_cs96_table[] = {
    409   null_table,		/* 40 */
    410   { WC_CCS_ISO_8859_1,  N_ucs_iso88591_map,  ucs_iso88591_map,  (void *)ucs_cs96_conv },
    411   { WC_CCS_ISO_8859_2,  N_ucs_iso88592_map,  ucs_iso88592_map,  (void *)ucs_cs96_conv },
    412   { WC_CCS_ISO_8859_3,  N_ucs_iso88593_map,  ucs_iso88593_map,  (void *)ucs_cs96_conv },
    413   { WC_CCS_ISO_8859_4,  N_ucs_iso88594_map,  ucs_iso88594_map,  (void *)ucs_cs96_conv },
    414   null_table,		/* 45 */
    415   { WC_CCS_ISO_8859_7,  N_ucs_iso88597_map,  ucs_iso88597_map,  (void *)ucs_cs96_conv },
    416   { WC_CCS_ISO_8859_6,  N_ucs_iso88596_map,  ucs_iso88596_map,  (void *)ucs_cs96_conv },
    417   { WC_CCS_ISO_8859_8,  N_ucs_iso88598_map,  ucs_iso88598_map,  (void *)ucs_cs96_conv },
    418   null_table,		/* 49 */
    419   null_table,		/* 4A */
    420   null_table,		/* 4B */
    421   { WC_CCS_ISO_8859_5,  N_ucs_iso88595_map,  ucs_iso88595_map,  (void *)ucs_cs96_conv },
    422   { WC_CCS_ISO_8859_9,  N_ucs_iso88599_map,  ucs_iso88599_map,  (void *)ucs_cs96_conv },
    423   null_table,		/* 4E */
    424   null_table,		/* 4F */
    425   null_table,		/* 50 */
    426   null_table,		/* 51 */
    427   null_table,		/* 52 */
    428   null_table,		/* 53 */
    429   { WC_CCS_ISO_8859_11, N_ucs_iso885911_map, ucs_iso885911_map, (void *)ucs_cs96_conv },
    430   null_table,		/* 55 */
    431   { WC_CCS_ISO_8859_10, N_ucs_iso885910_map, ucs_iso885910_map, (void *)ucs_cs96_conv },
    432   null_table,		/* 57 */
    433   null_table,		/* 58 */
    434   { WC_CCS_ISO_8859_13, N_ucs_iso885913_map, ucs_iso885913_map, (void *)ucs_cs96_conv },
    435   null_table,		/* 5A */
    436   null_table,		/* 5B */
    437   null_table,		/* 5C */
    438   null_table,		/* 5D */
    439   null_table,		/* 5E */
    440   { WC_CCS_ISO_8859_14, N_ucs_iso885914_map, ucs_iso885914_map, (void *)ucs_cs96_conv },
    441   null_table,		/* 60 */
    442   null_table,		/* 61 */
    443   { WC_CCS_ISO_8859_15, N_ucs_iso885915_map, ucs_iso885915_map, (void *)ucs_cs96_conv },
    444   null_table,		/* 63 */
    445   null_table,		/* 64 */
    446   null_table,		/* 65 */
    447   { WC_CCS_ISO_8859_16, N_ucs_iso885916_map, ucs_iso885916_map, (void *)ucs_cs96_conv },
    448 };
    449 
    450 static wc_table *ucs_cs942_table;
    451 
    452 static wc_table ucs_pcs_table[] = {
    453   { WC_CCS_CP437,  N_ucs_cp437_map,  ucs_cp437_map,  (void *)ucs_cs96_conv },
    454   { WC_CCS_CP737,  N_ucs_cp737_map,  ucs_cp737_map,  (void *)ucs_cs96_conv },
    455   { WC_CCS_CP775,  N_ucs_cp775_map,  ucs_cp775_map,  (void *)ucs_cs96_conv },
    456   { WC_CCS_CP850,  N_ucs_cp850_map,  ucs_cp850_map,  (void *)ucs_cs96_conv },
    457   { WC_CCS_CP852,  N_ucs_cp852_map,  ucs_cp852_map,  (void *)ucs_cs96_conv },
    458   { WC_CCS_CP855,  N_ucs_cp855_map,  ucs_cp855_map,  (void *)ucs_cs96_conv },
    459   { WC_CCS_CP856,  N_ucs_cp856_map,  ucs_cp856_map,  (void *)ucs_cs96_conv },
    460   { WC_CCS_CP857,  N_ucs_cp857_map,  ucs_cp857_map,  (void *)ucs_cs96_conv },
    461   { WC_CCS_CP860,  N_ucs_cp860_map,  ucs_cp860_map,  (void *)ucs_cs96_conv },
    462   { WC_CCS_CP861,  N_ucs_cp861_map,  ucs_cp861_map,  (void *)ucs_cs96_conv },
    463   { WC_CCS_CP862,  N_ucs_cp862_map,  ucs_cp862_map,  (void *)ucs_cs96_conv },
    464   { WC_CCS_CP863,  N_ucs_cp863_map,  ucs_cp863_map,  (void *)ucs_cs96_conv },
    465   { WC_CCS_CP864,  N_ucs_cp864_map,  ucs_cp864_map,  (void *)ucs_cs96_conv },
    466   { WC_CCS_CP865,  N_ucs_cp865_map,  ucs_cp865_map,  (void *)ucs_cs96_conv },
    467   { WC_CCS_CP866,  N_ucs_cp866_map,  ucs_cp866_map,  (void *)ucs_cs96_conv },
    468   { WC_CCS_CP869,  N_ucs_cp869_map,  ucs_cp869_map,  (void *)ucs_cs96_conv },
    469   { WC_CCS_CP874,  N_ucs_cp874_map,  ucs_cp874_map,  (void *)ucs_cs96_conv },
    470   { WC_CCS_CP1006, N_ucs_cp1006_map, ucs_cp1006_map, (void *)ucs_cs96_conv },
    471   { WC_CCS_CP1250, N_ucs_cp1250_map, ucs_cp1250_map, (void *)ucs_cs96_conv },
    472   { WC_CCS_CP1251, N_ucs_cp1251_map, ucs_cp1251_map, (void *)ucs_cs96_conv },
    473   { WC_CCS_CP1252, N_ucs_cp1252_map, ucs_cp1252_map, (void *)ucs_cs96_conv },
    474   { WC_CCS_CP1253, N_ucs_cp1253_map, ucs_cp1253_map, (void *)ucs_cs96_conv },
    475   { WC_CCS_CP1254, N_ucs_cp1254_map, ucs_cp1254_map, (void *)ucs_cs96_conv },
    476   { WC_CCS_CP1255, N_ucs_cp1255_map, ucs_cp1255_map, (void *)ucs_cs96_conv },
    477   { WC_CCS_CP1256, N_ucs_cp1256_map, ucs_cp1256_map, (void *)ucs_cs96_conv },
    478   { WC_CCS_CP1257, N_ucs_cp1257_map, ucs_cp1257_map, (void *)ucs_cs96_conv },
    479   { WC_CCS_CP1258_1, N_ucs_cp1258_map, ucs_cp1258_map, (void *)ucs_cp1258_conv },
    480   { WC_CCS_CP1258_2, N_ucs_cp1258_map, ucs_cp1258_map, (void *)ucs_cp1258_conv },
    481   { WC_CCS_TCVN_5712_1, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv },
    482   { WC_CCS_TCVN_5712_2, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv },
    483   { WC_CCS_TCVN_5712_3, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv },
    484   { WC_CCS_VISCII_11_1, N_ucs_viscii11_map, ucs_viscii11_map, (void *)ucs_viet_conv },
    485   { WC_CCS_VISCII_11_2, N_ucs_viscii11_map, ucs_viscii11_map, (void *)ucs_viet_conv },
    486   { WC_CCS_VPS_1,  N_ucs_vps_map,    ucs_vps_map,    (void *)ucs_viet_conv },
    487   { WC_CCS_VPS_2,  N_ucs_vps_map,    ucs_vps_map,    (void *)ucs_viet_conv },
    488   { WC_CCS_KOI8_R, N_ucs_koi8r_map,  ucs_koi8r_map, (void *)ucs_cs96_conv },
    489   { WC_CCS_KOI8_U, N_ucs_koi8u_map,  ucs_koi8u_map, (void *)ucs_cs96_conv },
    490   { WC_CCS_NEXTSTEP, N_ucs_nextstep_map, ucs_nextstep_map, (void *)ucs_cs96_conv },
    491   { WC_CCS_GBK_80, N_ucs_gbk_80_map, ucs_gbk_80_map, (void *)ucs_cs96_conv },
    492   null_table,		/* (Raw) */
    493 };
    494 
    495 static wc_table ucs_cs94w_table[] = {
    496   null_table,		/* 40 (JIS C 6226) */
    497   { WC_CCS_GB_2312, N_ucs_gb2312_map, ucs_gb2312_map, (void *)ucs_cs94w_conv },
    498   { WC_CCS_JIS_X_0208, N_ucs_jisx0208_map, ucs_jisx0208_map, (void *)ucs_cs94w_conv },
    499   { WC_CCS_KS_X_1001, N_ucs_ksx1001_map, ucs_ksx1001_map, (void *)ucs_cs94w_conv },
    500   { WC_CCS_JIS_X_0212, N_ucs_jisx0212_map, ucs_jisx0212_map, (void *)ucs_cs94w_conv },
    501   null_table,		/* 45 (ISO IR 165) */
    502   null_table,		/* 46 */
    503   { WC_CCS_CNS_11643_1, N_ucs_cns11643_map, ucs_cns11643_map, (void *)ucs_cns11643_conv },
    504   { WC_CCS_CNS_11643_2, N_ucs_cns11643_map, ucs_cns11643_map, (void *)ucs_cns11643_conv },
    505   null_table,		/* 49 (CNS 11643-3) */
    506   null_table,		/* 4A (CNS 11643-4) */
    507   null_table,		/* 4B (CNS 11643-5) */
    508   null_table,		/* 4C (CNS 11643-6) */
    509   null_table,		/* 4D (CNS 11643-7) */
    510   null_table,		/* 4E (KSP 9566) */
    511   { WC_CCS_JIS_X_0213_1, N_ucs_jisx02131_map, ucs_jisx02131_map, (void *)ucs_cs94w_conv },
    512   { WC_CCS_JIS_X_0213_2, N_ucs_jisx02132_map, ucs_jisx02132_map, (void *)ucs_cs94w_conv },
    513 };
    514 
    515 static wc_table *ucs_cs96w_table;
    516 
    517 static wc_table ucs_pcsw_table[] = {
    518   { WC_CCS_BIG5,   N_ucs_big5_map, ucs_big5_map, (void *)ucs_cs94w_conv },
    519   { WC_CCS_BIG5_1, N_ucs_big5_map, ucs_big5_map, (void *)ucs_big5_conv },
    520   { WC_CCS_BIG5_2, N_ucs_big5_map, ucs_big5_map, (void *)ucs_big5_conv },
    521   null_table,		/* CNS 11643-8 */
    522   null_table,		/* CNS 11643-9 */
    523   null_table,		/* CNS 11643-10 */
    524   null_table,		/* CNS 11643-11 */
    525   null_table,		/* CNS 11643-12 */
    526   null_table,		/* CNS 11643-13 */
    527   null_table,		/* CNS 11643-14 */
    528   null_table,		/* CNS 11643-15 */
    529   null_table,		/* CNS 11643-16 */
    530   null_table,		/* CNS 11643-X */
    531   /* use GB 12345 instead of GB 2312 */ 
    532   { WC_CCS_GB_2312, N_ucs_gb12345_map, ucs_gb12345_map, (void *)ucs_cs94w_conv },
    533   null_table,		/* Johab (special conversion) */
    534   null_table,		/* Johab-1 (special conversion) */
    535   { WC_CCS_JOHAB_2, N_ucs_johab2_map, ucs_johab2_map, (void *)ucs_johab2_conv },
    536   { WC_CCS_JOHAB_3, N_ucs_ksx1001_map, ucs_ksx1001_map, (void *)ucs_johab3_conv },
    537   { WC_CCS_SJIS_EXT,   N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_cs94w_conv },
    538   { WC_CCS_SJIS_EXT_1, N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_sjis_ext_conv },
    539   { WC_CCS_SJIS_EXT_2, N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_sjis_ext_conv },
    540   { WC_CCS_GBK,   N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_cs128w_conv },
    541   { WC_CCS_GBK_1, N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_gbk_conv },
    542   { WC_CCS_GBK_2, N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_gbk_conv },
    543   null_table,		/* GB18030 GBK-ext (special conversion) */
    544   null_table,		/* GB18030 GBK-ext-1 (special conversion) */
    545   null_table,		/* GB18030 GBK-ext-2 (special conversion) */
    546   { WC_CCS_UHC,   N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_cs128w_conv },
    547   { WC_CCS_UHC_1, N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_uhc_conv },
    548   { WC_CCS_UHC_2, N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_uhc_conv },
    549   { WC_CCS_HKSCS,   N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_cs128w_conv },
    550   { WC_CCS_HKSCS_1, N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_hkscs_conv },
    551   { WC_CCS_HKSCS_2, N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_hkscs_conv },
    552 };
    553