#include "map/jisx0201k_ucs.map" #include "map/iso88591_ucs.map" #include "map/iso88592_ucs.map" #include "map/iso88593_ucs.map" #include "map/iso88594_ucs.map" #include "map/iso88595_ucs.map" #include "map/iso88596_ucs.map" #include "map/iso88597_ucs.map" #include "map/iso88598_ucs.map" #include "map/iso88599_ucs.map" #include "map/iso885910_ucs.map" #include "map/iso885911_ucs.map" #include "map/iso885913_ucs.map" #include "map/iso885914_ucs.map" #include "map/iso885915_ucs.map" #include "map/iso885916_ucs.map" #include "map/cp437_ucs.map" #include "map/cp737_ucs.map" #include "map/cp775_ucs.map" #include "map/cp850_ucs.map" #include "map/cp852_ucs.map" #include "map/cp855_ucs.map" #include "map/cp856_ucs.map" #include "map/cp857_ucs.map" #include "map/cp860_ucs.map" #include "map/cp861_ucs.map" #include "map/cp862_ucs.map" #include "map/cp863_ucs.map" #include "map/cp864_ucs.map" #include "map/cp865_ucs.map" #include "map/cp866_ucs.map" #include "map/cp869_ucs.map" #include "map/cp874_ucs.map" #include "map/cp1006_ucs.map" #include "map/cp1250_ucs.map" #include "map/cp1251_ucs.map" #include "map/cp1252_ucs.map" #include "map/cp1253_ucs.map" #include "map/cp1254_ucs.map" #include "map/cp1255_ucs.map" #include "map/cp1256_ucs.map" #include "map/cp1257_ucs.map" #include "map/cp1258_ucs.map" #include "map/tcvn5712_ucs.map" #include "map/viscii11_ucs.map" #include "map/vps_ucs.map" #include "map/koi8r_ucs.map" #include "map/koi8u_ucs.map" #include "map/nextstep_ucs.map" #include "map/jisx0208x0212x0213_ucs.map" #include "map/jisx0213_ucs_p2.map" #include "map/gb2312_ucs.map" #include "map/cns11643_ucs.map" #include "map/ksx1001_ucs.map" #include "map/big5_ucs.map" #include "map/hkscs_ucs.map" #include "map/hkscs_ucs_p2.map" #include "map/gb12345_ucs.map" #include "map/johab_ucs.map" #include "map/sjis_ext_ucs.map" #include "map/gbk_ucs.map" #include "map/uhc_ucs.map" static wc_uint16 *cs94_ucs_map[] = { NULL, /* 40 */ NULL, /* 41 */ NULL, /* 42 (US_ASCII) */ NULL, /* 43 */ NULL, /* 44 */ NULL, /* 45 */ NULL, /* 46 */ NULL, /* 47 */ NULL, /* 48 */ jisx0201k_ucs_map, /* 49 (JIS X 0201 Kana) */ NULL, /* 4A (JIS X 0201) */ NULL, /* 4B */ NULL, /* 4C */ NULL, /* 4D */ NULL, /* 4E */ NULL, /* 4F */ NULL, /* 50 */ NULL, /* 51 */ NULL, /* 52 */ NULL, /* 53 */ NULL, /* 54 (GB 1988) */ }; static wc_uint16 *cs96_ucs_map[] = { NULL, /* 40 */ iso88591_ucs_map, /* 41 (ISO 8859-1) */ iso88592_ucs_map, /* 42 (ISO 8859-2) */ iso88593_ucs_map, /* 43 (ISO 8859-3) */ iso88594_ucs_map, /* 44 (ISO 8859-4) */ NULL, /* 45 */ iso88597_ucs_map, /* 46 (ISO 8859-7) */ iso88596_ucs_map, /* 47 (ISO 8859-6) */ iso88598_ucs_map, /* 48 (ISO 8859-8) */ NULL, /* 49 */ NULL, /* 4A */ NULL, /* 4B */ iso88595_ucs_map, /* 4C (ISO 8859-5) */ iso88599_ucs_map, /* 4D (ISO 8859-9) */ NULL, /* 4E */ NULL, /* 4F */ NULL, /* 50 */ NULL, /* 51 */ NULL, /* 52 */ NULL, /* 53 */ iso885911_ucs_map, /* 54 (ISO 8859-11, TIS 620) */ NULL, /* 55 */ iso885910_ucs_map, /* 56 (ISO 8859-10) */ NULL, /* 57 */ NULL, /* 58 */ iso885913_ucs_map, /* 59 (ISO 8859-13) */ NULL, /* 5A */ NULL, /* 5B */ NULL, /* 5C */ NULL, /* 5D */ NULL, /* 5E */ iso885914_ucs_map, /* 5F (ISO 8859-14) */ NULL, /* 60 */ NULL, /* 61 */ iso885915_ucs_map, /* 62 (ISO 8859-15) */ NULL, /* 63 */ NULL, /* 64 */ NULL, /* 65 */ iso885916_ucs_map, /* 66 (ISO 8859-16) */ }; static wc_uint16 **cs942_ucs_map; static wc_uint16 *pcs_ucs_map[] = { cp437_ucs_map, cp737_ucs_map, cp775_ucs_map, cp850_ucs_map, cp852_ucs_map, cp855_ucs_map, cp856_ucs_map, cp857_ucs_map, cp860_ucs_map, cp861_ucs_map, cp862_ucs_map, cp863_ucs_map, cp864_ucs_map, cp865_ucs_map, cp866_ucs_map, cp869_ucs_map, cp874_ucs_map, cp1006_ucs_map, cp1250_ucs_map, cp1251_ucs_map, cp1252_ucs_map, cp1253_ucs_map, cp1254_ucs_map, cp1255_ucs_map, cp1256_ucs_map, cp1257_ucs_map, cp1258_ucs_map, NULL, tcvn57121_ucs_map, tcvn57122_ucs_map, NULL, viscii111_ucs_map, viscii112_ucs_map, vps1_ucs_map, vps2_ucs_map, koi8r_ucs_map, koi8u_ucs_map, nextstep_ucs_map, NULL, NULL, /* (Raw) */ }; static wc_uint32 pcs_ucs_map_size[] = { 0x80, /* cp437_ucs_map */ 0x80, /* cp737_ucs_map */ 0x80, /* cp775_ucs_map */ 0x80, /* cp850_ucs_map */ 0x80, /* cp852_ucs_map */ 0x80, /* cp855_ucs_map */ 0x80, /* cp856_ucs_map */ 0x80, /* cp857_ucs_map */ 0x80, /* cp860_ucs_map */ 0x80, /* cp861_ucs_map */ 0x80, /* cp862_ucs_map */ 0x80, /* cp863_ucs_map */ 0x80, /* cp864_ucs_map */ 0x80, /* cp865_ucs_map */ 0x80, /* cp866_ucs_map */ 0x80, /* cp869_ucs_map */ 0x80, /* cp874_ucs_map */ 0x80, /* cp1006_ucs_map */ 0x80, /* cp1250_ucs_map */ 0x80, /* cp1251_ucs_map */ 0x80, /* cp1252_ucs_map */ 0x80, /* cp1253_ucs_map */ 0x80, /* cp1254_ucs_map */ 0x80, /* cp1255_ucs_map */ 0x80, /* cp1256_ucs_map */ 0x80, /* cp1257_ucs_map */ 0x80, /* cp1258_ucs_map */ 0, /* NULL */ 0x80, /* tcvn57121_ucs_map */ 0x20, /* tcvn57122_ucs_map */ 0, /* NULL */ 0x80, /* viscii111_ucs_map */ 0x20, /* viscii112_ucs_map */ 0x80, /* vps1_ucs_map */ 0x20, /* vps2_ucs_map */ 0x80, /* koi8r_ucs_map */ 0x80, /* koi8u_ucs_map */ 0x80, /* nextstep_ucs_map */ 0, /* NULL */ 0, /* NULL (Raw) */ }; static wc_uint16 *cs94w_ucs_map[] = { jisx0208x02131_ucs_map, /* 40 (JIS C 6226) */ gb2312_ucs_map, /* 41 (GB 2312) */ jisx0208x02131_ucs_map, /* 42 (JIS X 0208) */ ksx1001_ucs_map, /* 43 (KS X 1001) */ jisx0212x02132_ucs_map, /* 44 (JIS X 0212) */ NULL, /* 45 (ISO IR 165) */ NULL, /* 46 */ cns116431_ucs_map, /* 47 (CNS 11643-1) */ cns116432_ucs_map, /* 48 (CNS 11643-2) */ NULL, /* 49 (CNS 11643-3) */ NULL, /* 4A (CNS 11643-4) */ NULL, /* 4B (CNS 11643-5) */ NULL, /* 4C (CNS 11643-6) */ NULL, /* 4D (CNS 11643-7) */ NULL, /* 4E (KSP 9566) */ jisx0208x02131_ucs_map, /* 4F (JIS X 0213-1) */ jisx0212x02132_ucs_map, /* 50 (JIS X 0213-2) */ }; static wc_uint32 cs94w_ucs_map_size[] = { N_jisx0208x02131_ucs_map, /* 40 (JIS C 6226) */ N_gb2312_ucs_map, /* 41 (GB 2312) */ N_jisx0208x02131_ucs_map, /* 42 (JIS X 0208) */ N_ksx1001_ucs_map, /* 43 (KS X 1001) */ N_jisx0212x02132_ucs_map, /* 44 (JIS X 0212) */ 0, /* 45 (ISO IR 165) */ 0, /* 46 */ N_cns116431_ucs_map, /* 47 (CNS 11643-1) */ N_cns116432_ucs_map, /* 48 (CNS 11643-2) */ 0, /* 49 (CNS 11643-3) */ 0, /* 4A (CNS 11643-4) */ 0, /* 4B (CNS 11643-5) */ 0, /* 4C (CNS 11643-6) */ 0, /* 4D (CNS 11643-7) */ 0, /* 4E (KSP 9566) */ N_jisx0208x02131_ucs_map, /* 4F (JIS X 0213-1) */ N_jisx0212x02132_ucs_map, /* 50 (JIS X 0213-2) */ }; static wc_uint16 **cs96w_ucs_map; static wc_uint32 *cs96w_ucs_map_size; static wc_uint16 *pcsw_ucs_map[] = { big5_ucs_map, /* Big5 */ big5_ucs_map, /* Big5-1 */ big5_ucs_map, /* Big5-2 */ NULL, /* CNS 11643-8 */ NULL, /* CNS 11643-9 */ NULL, /* CNS 11643-10 */ NULL, /* CNS 11643-11 */ NULL, /* CNS 11643-12 */ NULL, /* CNS 11643-13 */ NULL, /* CNS 11643-14 */ NULL, /* CNS 11643-15 */ NULL, /* CNS 11643-16 */ NULL, /* CNS 11643-X */ gb12345_ucs_map, /* GB 12345 */ NULL, /* Johab (special conversion) */ NULL, /* Johab-1 (special conversion) */ NULL, /* Johab-2 (special conversion) */ ksx1001_ucs_map, /* Johab-3 */ sjis_ext_ucs_map, /* Shift_JIS(CP932) ext */ sjis_ext_ucs_map, /* Shift_JIS(CP932) ext-1 */ sjis_ext_ucs_map, /* Shift_JIS(CP932) ext-2 */ gbk_ucs_map, /* GBK(CP936) */ gbk_ucs_map, /* GBK(CP936)-1 */ gbk_ucs_map, /* GBK(CP936)-2 */ NULL, /* GB18030 GBK-ext (special conversion) */ NULL, /* GB18030 GBK-ext-1 (special conversion) */ NULL, /* GB18030 GBK-ext-2 (special conversion) */ uhc_ucs_map, /* UHC(CP949) */ uhc_ucs_map, /* UHC(CP949)-1 */ uhc_ucs_map, /* UHC(CP949)-2 */ hkscs_ucs_map, /* HKSCS */ hkscs_ucs_map, /* HKSCS-1 */ hkscs_ucs_map, /* HKSCS-2 */ }; static wc_uint32 pcsw_ucs_map_size[] = { N_big5_ucs_map, /* Big5 */ N_big5_ucs_map, /* Big5-1 */ N_big5_ucs_map, /* Big5-2 */ 0, /* CNS 11643-8 */ 0, /* CNS 11643-9 */ 0, /* CNS 11643-10 */ 0, /* CNS 11643-11 */ 0, /* CNS 11643-12 */ 0, /* CNS 11643-13 */ 0, /* CNS 11643-14 */ 0, /* CNS 11643-15 */ 0, /* CNS 11643-16 */ 0, /* CNS 11643-X */ N_gb12345_ucs_map, /* GB 12345 */ 0, /* Johab (special conversion) */ 0, /* Johab-1 (special conversion) */ 0, /* Johab-2 (special conversion) */ N_ksx1001_ucs_map, /* Johab-3 */ N_sjis_ext_ucs_map, /* Shift_JIS(CP932) ext */ N_sjis_ext_ucs_map, /* Shift_JIS(CP932) ext-1 */ N_sjis_ext_ucs_map, /* Shift_JIS(CP932) ext-2 */ N_gbk_ucs_map, /* GBK(CP936) */ N_gbk_ucs_map, /* GBK(CP936)-1 */ N_gbk_ucs_map, /* GBK(CP936)-2 */ 0, /* GB18030 GBK-ext (special conversion) */ 0, /* GB18030 GBK-ext-1 (special conversion) */ 0, /* GB18030 GBK-ext-2 (special conversion) */ N_uhc_ucs_map, /* UHC(CP949) */ N_uhc_ucs_map, /* UHC(CP949)-1 */ N_uhc_ucs_map, /* UHC(CP949)-2 */ N_hkscs_ucs_map, /* HKSCS */ N_hkscs_ucs_map, /* HKSCS-1 */ N_hkscs_ucs_map, /* HKSCS-2 */ }; static wc_wchar_t ucs_cs94_conv(wc_ccs ccs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = ccs; cc.code = c; return cc; } #define ucs_cs96_conv ucs_cs94_conv #define ucs_cs94w_conv ucs_cs94_conv #define ucs_cs96w_conv ucs_cs94_conv #define ucs_cs128w_conv ucs_cs94_conv static wc_wchar_t ucs_viet_conv(wc_ccs ccs, wc_uint16 c) { wc_wchar_t cc; if (c & 0x80) { cc.ccs = ccs; switch (ccs) { case WC_CCS_TCVN_5712_2: cc.ccs = WC_CCS_TCVN_5712_1; break; case WC_CCS_VISCII_11_2: cc.ccs = WC_CCS_VISCII_11_1; break; case WC_CCS_VPS_2: cc.ccs = WC_CCS_VPS_1; break; } } else { cc.ccs = ccs; switch (ccs) { case WC_CCS_TCVN_5712_1: cc.ccs = WC_CCS_TCVN_5712_2; break; case WC_CCS_VISCII_11_1: cc.ccs = WC_CCS_VISCII_11_2; break; case WC_CCS_VPS_1: cc.ccs = WC_CCS_VPS_2; break; } } cc.code = c & 0xff; return cc; } static wc_wchar_t ucs_cp1258_conv(wc_ccs ccs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = (c < 0x100) ? WC_CCS_CP1258_1 : WC_CCS_CP1258_2; cc.code = c; return cc; } static wc_wchar_t ucs_cns11643_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = (c & 0x8000) ? WC_CCS_CNS_11643_2 : WC_CCS_CNS_11643_1; cc.code = c & 0x7f7f; return cc; } static wc_wchar_t ucs_big5_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_big5_to_cs94w(cc); } static wc_wchar_t ucs_johab2_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_johab_to_cs128w(cc); } static wc_wchar_t ucs_johab3_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; if ((c >= 0x2121 && c < 0x2421) || (c > 0x2453 && c <= 0x2C7E) || (c >= 0x4A21 && c <= 0x7D7E)) cc.ccs = cs; else cc.ccs = WC_CCS_UNKNOWN_W; cc.code = c; return cc; } static wc_wchar_t ucs_sjis_ext_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_sjis_ext_to_cs94w(cc); } static wc_wchar_t ucs_gbk_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_gbk_to_cs128w(cc); } static wc_wchar_t ucs_uhc_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_uhc_to_cs128w(cc); } static wc_wchar_t ucs_hkscs_conv(wc_ccs cs, wc_uint16 c) { wc_wchar_t cc; cc.ccs = cs; cc.code = c; return wc_hkscs_to_cs128w(cc); } #define null_table { 0, 0, NULL, (void *)ucs_cs94_conv } static wc_table ucs_cs94_table[] = { null_table, /* 40 */ null_table, /* 41 */ null_table, /* 42 (US_ASCII) */ null_table, /* 43 */ null_table, /* 44 */ null_table, /* 45 */ null_table, /* 46 */ null_table, /* 47 */ null_table, /* 48 */ { WC_CCS_JIS_X_0201K, N_ucs_jisx0201k_map, ucs_jisx0201k_map, (void *)ucs_cs94_conv }, null_table, /* 4A (JIS X 0201) */ null_table, /* 4B */ null_table, /* 4C */ null_table, /* 4D */ null_table, /* 4E */ null_table, /* 4F */ null_table, /* 50 */ null_table, /* 51 */ null_table, /* 52 */ null_table, /* 53 */ null_table, /* 54 (GB 1988) */ }; static wc_table ucs_cs96_table[] = { null_table, /* 40 */ { WC_CCS_ISO_8859_1, N_ucs_iso88591_map, ucs_iso88591_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_2, N_ucs_iso88592_map, ucs_iso88592_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_3, N_ucs_iso88593_map, ucs_iso88593_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_4, N_ucs_iso88594_map, ucs_iso88594_map, (void *)ucs_cs96_conv }, null_table, /* 45 */ { WC_CCS_ISO_8859_7, N_ucs_iso88597_map, ucs_iso88597_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_6, N_ucs_iso88596_map, ucs_iso88596_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_8, N_ucs_iso88598_map, ucs_iso88598_map, (void *)ucs_cs96_conv }, null_table, /* 49 */ null_table, /* 4A */ null_table, /* 4B */ { WC_CCS_ISO_8859_5, N_ucs_iso88595_map, ucs_iso88595_map, (void *)ucs_cs96_conv }, { WC_CCS_ISO_8859_9, N_ucs_iso88599_map, ucs_iso88599_map, (void *)ucs_cs96_conv }, null_table, /* 4E */ null_table, /* 4F */ null_table, /* 50 */ null_table, /* 51 */ null_table, /* 52 */ null_table, /* 53 */ { WC_CCS_ISO_8859_11, N_ucs_iso885911_map, ucs_iso885911_map, (void *)ucs_cs96_conv }, null_table, /* 55 */ { WC_CCS_ISO_8859_10, N_ucs_iso885910_map, ucs_iso885910_map, (void *)ucs_cs96_conv }, null_table, /* 57 */ null_table, /* 58 */ { WC_CCS_ISO_8859_13, N_ucs_iso885913_map, ucs_iso885913_map, (void *)ucs_cs96_conv }, null_table, /* 5A */ null_table, /* 5B */ null_table, /* 5C */ null_table, /* 5D */ null_table, /* 5E */ { WC_CCS_ISO_8859_14, N_ucs_iso885914_map, ucs_iso885914_map, (void *)ucs_cs96_conv }, null_table, /* 60 */ null_table, /* 61 */ { WC_CCS_ISO_8859_15, N_ucs_iso885915_map, ucs_iso885915_map, (void *)ucs_cs96_conv }, null_table, /* 63 */ null_table, /* 64 */ null_table, /* 65 */ { WC_CCS_ISO_8859_16, N_ucs_iso885916_map, ucs_iso885916_map, (void *)ucs_cs96_conv }, }; static wc_table *ucs_cs942_table; static wc_table ucs_pcs_table[] = { { WC_CCS_CP437, N_ucs_cp437_map, ucs_cp437_map, (void *)ucs_cs96_conv }, { WC_CCS_CP737, N_ucs_cp737_map, ucs_cp737_map, (void *)ucs_cs96_conv }, { WC_CCS_CP775, N_ucs_cp775_map, ucs_cp775_map, (void *)ucs_cs96_conv }, { WC_CCS_CP850, N_ucs_cp850_map, ucs_cp850_map, (void *)ucs_cs96_conv }, { WC_CCS_CP852, N_ucs_cp852_map, ucs_cp852_map, (void *)ucs_cs96_conv }, { WC_CCS_CP855, N_ucs_cp855_map, ucs_cp855_map, (void *)ucs_cs96_conv }, { WC_CCS_CP856, N_ucs_cp856_map, ucs_cp856_map, (void *)ucs_cs96_conv }, { WC_CCS_CP857, N_ucs_cp857_map, ucs_cp857_map, (void *)ucs_cs96_conv }, { WC_CCS_CP860, N_ucs_cp860_map, ucs_cp860_map, (void *)ucs_cs96_conv }, { WC_CCS_CP861, N_ucs_cp861_map, ucs_cp861_map, (void *)ucs_cs96_conv }, { WC_CCS_CP862, N_ucs_cp862_map, ucs_cp862_map, (void *)ucs_cs96_conv }, { WC_CCS_CP863, N_ucs_cp863_map, ucs_cp863_map, (void *)ucs_cs96_conv }, { WC_CCS_CP864, N_ucs_cp864_map, ucs_cp864_map, (void *)ucs_cs96_conv }, { WC_CCS_CP865, N_ucs_cp865_map, ucs_cp865_map, (void *)ucs_cs96_conv }, { WC_CCS_CP866, N_ucs_cp866_map, ucs_cp866_map, (void *)ucs_cs96_conv }, { WC_CCS_CP869, N_ucs_cp869_map, ucs_cp869_map, (void *)ucs_cs96_conv }, { WC_CCS_CP874, N_ucs_cp874_map, ucs_cp874_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1006, N_ucs_cp1006_map, ucs_cp1006_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1250, N_ucs_cp1250_map, ucs_cp1250_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1251, N_ucs_cp1251_map, ucs_cp1251_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1252, N_ucs_cp1252_map, ucs_cp1252_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1253, N_ucs_cp1253_map, ucs_cp1253_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1254, N_ucs_cp1254_map, ucs_cp1254_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1255, N_ucs_cp1255_map, ucs_cp1255_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1256, N_ucs_cp1256_map, ucs_cp1256_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1257, N_ucs_cp1257_map, ucs_cp1257_map, (void *)ucs_cs96_conv }, { WC_CCS_CP1258_1, N_ucs_cp1258_map, ucs_cp1258_map, (void *)ucs_cp1258_conv }, { WC_CCS_CP1258_2, N_ucs_cp1258_map, ucs_cp1258_map, (void *)ucs_cp1258_conv }, { WC_CCS_TCVN_5712_1, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv }, { WC_CCS_TCVN_5712_2, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv }, { WC_CCS_TCVN_5712_3, N_ucs_tcvn5712_map, ucs_tcvn5712_map, (void *)ucs_viet_conv }, { WC_CCS_VISCII_11_1, N_ucs_viscii11_map, ucs_viscii11_map, (void *)ucs_viet_conv }, { WC_CCS_VISCII_11_2, N_ucs_viscii11_map, ucs_viscii11_map, (void *)ucs_viet_conv }, { WC_CCS_VPS_1, N_ucs_vps_map, ucs_vps_map, (void *)ucs_viet_conv }, { WC_CCS_VPS_2, N_ucs_vps_map, ucs_vps_map, (void *)ucs_viet_conv }, { WC_CCS_KOI8_R, N_ucs_koi8r_map, ucs_koi8r_map, (void *)ucs_cs96_conv }, { WC_CCS_KOI8_U, N_ucs_koi8u_map, ucs_koi8u_map, (void *)ucs_cs96_conv }, { WC_CCS_NEXTSTEP, N_ucs_nextstep_map, ucs_nextstep_map, (void *)ucs_cs96_conv }, { WC_CCS_GBK_80, N_ucs_gbk_80_map, ucs_gbk_80_map, (void *)ucs_cs96_conv }, null_table, /* (Raw) */ }; static wc_table ucs_cs94w_table[] = { null_table, /* 40 (JIS C 6226) */ { WC_CCS_GB_2312, N_ucs_gb2312_map, ucs_gb2312_map, (void *)ucs_cs94w_conv }, { WC_CCS_JIS_X_0208, N_ucs_jisx0208_map, ucs_jisx0208_map, (void *)ucs_cs94w_conv }, { WC_CCS_KS_X_1001, N_ucs_ksx1001_map, ucs_ksx1001_map, (void *)ucs_cs94w_conv }, { WC_CCS_JIS_X_0212, N_ucs_jisx0212_map, ucs_jisx0212_map, (void *)ucs_cs94w_conv }, null_table, /* 45 (ISO IR 165) */ null_table, /* 46 */ { WC_CCS_CNS_11643_1, N_ucs_cns11643_map, ucs_cns11643_map, (void *)ucs_cns11643_conv }, { WC_CCS_CNS_11643_2, N_ucs_cns11643_map, ucs_cns11643_map, (void *)ucs_cns11643_conv }, null_table, /* 49 (CNS 11643-3) */ null_table, /* 4A (CNS 11643-4) */ null_table, /* 4B (CNS 11643-5) */ null_table, /* 4C (CNS 11643-6) */ null_table, /* 4D (CNS 11643-7) */ null_table, /* 4E (KSP 9566) */ { WC_CCS_JIS_X_0213_1, N_ucs_jisx02131_map, ucs_jisx02131_map, (void *)ucs_cs94w_conv }, { WC_CCS_JIS_X_0213_2, N_ucs_jisx02132_map, ucs_jisx02132_map, (void *)ucs_cs94w_conv }, }; static wc_table *ucs_cs96w_table; static wc_table ucs_pcsw_table[] = { { WC_CCS_BIG5, N_ucs_big5_map, ucs_big5_map, (void *)ucs_cs94w_conv }, { WC_CCS_BIG5_1, N_ucs_big5_map, ucs_big5_map, (void *)ucs_big5_conv }, { WC_CCS_BIG5_2, N_ucs_big5_map, ucs_big5_map, (void *)ucs_big5_conv }, null_table, /* CNS 11643-8 */ null_table, /* CNS 11643-9 */ null_table, /* CNS 11643-10 */ null_table, /* CNS 11643-11 */ null_table, /* CNS 11643-12 */ null_table, /* CNS 11643-13 */ null_table, /* CNS 11643-14 */ null_table, /* CNS 11643-15 */ null_table, /* CNS 11643-16 */ null_table, /* CNS 11643-X */ /* use GB 12345 instead of GB 2312 */ { WC_CCS_GB_2312, N_ucs_gb12345_map, ucs_gb12345_map, (void *)ucs_cs94w_conv }, null_table, /* Johab (special conversion) */ null_table, /* Johab-1 (special conversion) */ { WC_CCS_JOHAB_2, N_ucs_johab2_map, ucs_johab2_map, (void *)ucs_johab2_conv }, { WC_CCS_JOHAB_3, N_ucs_ksx1001_map, ucs_ksx1001_map, (void *)ucs_johab3_conv }, { WC_CCS_SJIS_EXT, N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_cs94w_conv }, { WC_CCS_SJIS_EXT_1, N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_sjis_ext_conv }, { WC_CCS_SJIS_EXT_2, N_ucs_sjis_ext_map, ucs_sjis_ext_map, (void *)ucs_sjis_ext_conv }, { WC_CCS_GBK, N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_cs128w_conv }, { WC_CCS_GBK_1, N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_gbk_conv }, { WC_CCS_GBK_2, N_ucs_gbk_map, ucs_gbk_map, (void *)ucs_gbk_conv }, null_table, /* GB18030 GBK-ext (special conversion) */ null_table, /* GB18030 GBK-ext-1 (special conversion) */ null_table, /* GB18030 GBK-ext-2 (special conversion) */ { WC_CCS_UHC, N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_cs128w_conv }, { WC_CCS_UHC_1, N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_uhc_conv }, { WC_CCS_UHC_2, N_ucs_uhc_map, ucs_uhc_map, (void *)ucs_uhc_conv }, { WC_CCS_HKSCS, N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_cs128w_conv }, { WC_CCS_HKSCS_1, N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_hkscs_conv }, { WC_CCS_HKSCS_2, N_ucs_hkscs_map, ucs_hkscs_map, (void *)ucs_hkscs_conv }, };