encodings.def
Upload User: yingmei828
Upload Date: 2007-01-01
Package Size: 1646k
Code Size: 28k
Development Platform:

Unix_Linux

  1. /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
  2.    This file is part of the GNU ICONV Library.
  3.    The GNU ICONV Library is free software; you can redistribute it and/or
  4.    modify it under the terms of the GNU Library General Public License as
  5.    published by the Free Software Foundation; either version 2 of the
  6.    License, or (at your option) any later version.
  7.    The GNU ICONV Library is distributed in the hope that it will be useful,
  8.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  10.    Library General Public License for more details.
  11.    You should have received a copy of the GNU Library General Public
  12.    License along with the GNU ICONV Library; see the file COPYING.LIB.  If not,
  13.    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  14.    Boston, MA 02111-1307, USA.  */
  15. /* The list of all user-visible encodings. */
  16. /* By convention, an encoding named FOOBAR or FOO_BAR or FOO-BAR is defined
  17.    in a file named "foobar.h" through the functions foobar_mbtowc and
  18.    foobar_wctomb (and possibly foobar_reset). */
  19. /* DEFENCODING(( name, alias1, ..., ),
  20.                xxx,
  21.                { xxx_mbtowc },
  22.                { xxx_wctomb, xxx_reset })
  23.    defines an encoding with the given name and aliases. (There is no
  24.    difference between a name and an alias. By convention, the name is chosen
  25.    as the preferred MIME name or the standard name.)
  26.    All names and aliases must be in ASCII. Case is not significant, but
  27.    for the "cs*" aliases mixed case is preferred, otherwise UPPERCASE is
  28.    preferred. For all names and aliases, note where it comes from.
  29.    xxx is the name as used in the C code (lowercase).
  30.  */
  31. DEFENCODING(( "US-ASCII",               /* IANA */
  32.               "ASCII",                  /* IANA, JDK 1.1 */
  33.               "ISO646-US",              /* IANA */
  34.               "ISO_646.IRV:1991",       /* IANA */
  35.               "ISO-IR-6",               /* IANA */
  36.               "ANSI_X3.4-1968",         /* IANA */
  37.               "CP367",                  /* IANA */
  38.               "IBM367",                 /* IANA */
  39.               "US",                     /* IANA */
  40.               "csASCII",                /* IANA */
  41.             /*"ISO646.1991-IRV",           X11R6.4 */
  42.             ),
  43.             ascii,
  44.             { ascii_mbtowc },             { ascii_wctomb, NULL })
  45. /* General multi-byte encodings */
  46. DEFENCODING(( "UTF-8",                  /* IANA, RFC 2279 */
  47.             /*"UTF8",                      JDK 1.1 */
  48.             ),
  49.             utf8,
  50.             { utf8_mbtowc },              { utf8_wctomb, NULL })
  51. DEFENCODING(( "UCS-2",                  /* glibc */
  52.               "ISO-10646-UCS-2",        /* IANA */
  53.               "csUnicode",              /* IANA */
  54.             ),
  55.             ucs2,
  56.             { ucs2_mbtowc },              { ucs2_wctomb, NULL })
  57. DEFENCODING(( "UCS-4",                  /* glibc */
  58.               "ISO-10646-UCS-4",        /* IANA */
  59.               "csUCS4",                 /* IANA */
  60.             ),
  61.             ucs4,
  62.             { ucs4_mbtowc },              { ucs4_wctomb, NULL })
  63. DEFENCODING(( "UTF-16",
  64.             ),
  65.             utf16,
  66.             { utf16_mbtowc },             { utf16_wctomb, NULL })
  67. DEFENCODING(( "UTF-7",                  /* IANA, RFC 2152 */
  68.               "UNICODE-1-1-UTF-7",      /* IANA, RFC 1642 */
  69.               "csUnicode11UTF7",        /* IANA */
  70.             ),
  71.             utf7,
  72.             { utf7_mbtowc },              { utf7_wctomb, utf7_reset })
  73. DEFENCODING(( "UCS-2-INTERNAL",         /* libiconv */
  74.             ),
  75.             ucs2internal,
  76.             { ucs2internal_mbtowc },      { ucs2internal_wctomb, NULL })
  77. DEFENCODING(( "UCS-2-SWAPPED",          /* libiconv */
  78.             ),
  79.             ucs2swapped,
  80.             { ucs2swapped_mbtowc },       { ucs2swapped_wctomb, NULL })
  81. DEFENCODING(( "UCS-2-BE",
  82.               "UNICODEBIG",             /* glibc */
  83.               "UNICODE-1-1",            /* IANA */
  84.               "csUnicode11",            /* IANA */
  85.             ),
  86.             ucs2be,
  87.             { ucs2be_mbtowc },            { ucs2be_wctomb, NULL })
  88. DEFENCODING(( "UCS-2-LE",
  89.               "UNICODELITTLE",          /* glibc */
  90.             ),
  91.             ucs2le,
  92.             { ucs2le_mbtowc },            { ucs2le_wctomb, NULL })
  93. DEFENCODING(( "UCS-4-INTERNAL",         /* libiconv */
  94.             ),
  95.             ucs4internal,
  96.             { ucs4internal_mbtowc },      { ucs4internal_wctomb, NULL })
  97. DEFENCODING(( "UCS-4-SWAPPED",          /* libiconv */
  98.             ),
  99.             ucs4swapped,
  100.             { ucs4swapped_mbtowc },       { ucs4swapped_wctomb, NULL })
  101. DEFENCODING(( "UCS-4-BE",
  102.             ),
  103.             ucs4be,
  104.             { ucs4be_mbtowc },            { ucs4be_wctomb, NULL })
  105. DEFENCODING(( "UCS-4-LE",
  106.             ),
  107.             ucs4le,
  108.             { ucs4le_mbtowc },            { ucs4le_wctomb, NULL })
  109. DEFENCODING(( "JAVA",
  110.             ),
  111.             java,
  112.             { java_mbtowc },              { java_wctomb, NULL })
  113. /* Standard 8-bit encodings */
  114. DEFENCODING(( "ISO-8859-1",             /* IANA */
  115.               "ISO_8859-1",             /* IANA */
  116.               "ISO_8859-1:1987",        /* IANA */
  117.               "ISO-IR-100",             /* IANA */
  118.               "CP819",                  /* IANA */
  119.               "IBM819",                 /* IANA */
  120.               "LATIN1",                 /* IANA */
  121.               "L1",                     /* IANA */
  122.               "csISOLatin1",            /* IANA */
  123.             /*"ISO8859-1",                 X11R6.4 */
  124.             /*"ISO8859_1",                 JDK 1.1 */
  125.             ),
  126.             iso8859_1,
  127.             { iso8859_1_mbtowc },         { iso8859_1_wctomb, NULL })
  128. DEFENCODING(( "ISO-8859-2",             /* IANA */
  129.               "ISO_8859-2",             /* IANA */
  130.               "ISO_8859-2:1987",        /* IANA */
  131.               "ISO-IR-101",             /* IANA */
  132.               "LATIN2",                 /* IANA */
  133.               "L2",                     /* IANA */
  134.               "csISOLatin2",            /* IANA */
  135.             /*"ISO8859-2",                 X11R6.4 */
  136.             /*"ISO8859_2",                 JDK 1.1 */
  137.             ),
  138.             iso8859_2,
  139.             { iso8859_2_mbtowc },         { iso8859_2_wctomb, NULL })
  140. DEFENCODING(( "ISO-8859-3",             /* IANA */
  141.               "ISO_8859-3",             /* IANA */
  142.               "ISO_8859-3:1988",        /* IANA */
  143.               "ISO-IR-109",             /* IANA */
  144.               "LATIN3",                 /* IANA */
  145.               "L3",                     /* IANA */
  146.               "csISOLatin3",            /* IANA */
  147.             /*"ISO8859-3",                 X11R6.4 */
  148.             /*"ISO8859_3",                 JDK 1.1 */
  149.             ),
  150.             iso8859_3,
  151.             { iso8859_3_mbtowc },         { iso8859_3_wctomb, NULL })
  152. DEFENCODING(( "ISO-8859-4",             /* IANA */
  153.               "ISO_8859-4",             /* IANA */
  154.               "ISO_8859-4:1988",        /* IANA */
  155.               "ISO-IR-110",             /* IANA */
  156.               "LATIN4",                 /* IANA */
  157.               "L4",                     /* IANA */
  158.               "csISOLatin4",            /* IANA */
  159.             /*"ISO8859-4",                 X11R6.4 */
  160.             /*"ISO8859_4",                 JDK 1.1 */
  161.             ),
  162.             iso8859_4,
  163.             { iso8859_4_mbtowc },         { iso8859_4_wctomb, NULL })
  164. DEFENCODING(( "ISO-8859-5",             /* IANA */
  165.               "ISO_8859-5",             /* IANA */
  166.               "ISO_8859-5:1988",        /* IANA */
  167.               "ISO-IR-144",             /* IANA */
  168.               "CYRILLIC",               /* IANA */
  169.               "csISOLatinCyrillic",     /* IANA */
  170.             /*"ISO8859-5",                 X11R6.4 */
  171.             /*"ISO8859_5",                 JDK 1.1 */
  172.             ),
  173.             iso8859_5,
  174.             { iso8859_5_mbtowc },         { iso8859_5_wctomb, NULL })
  175. DEFENCODING(( "ISO-8859-6",             /* IANA */
  176.               "ISO_8859-6",             /* IANA */
  177.               "ISO_8859-6:1987",        /* IANA */
  178.               "ISO-IR-127",             /* IANA */
  179.               "ECMA-114",               /* IANA */
  180.               "ASMO-708",               /* IANA */
  181.               "ARABIC",                 /* IANA */
  182.               "csISOLatinArabic",       /* IANA */
  183.             /*"ISO8859-6",                 X11R6.4 */
  184.             /*"ISO8859_6",                 JDK 1.1 */
  185.             ),
  186.             iso8859_6,
  187.             { iso8859_6_mbtowc },         { iso8859_6_wctomb, NULL })
  188. DEFENCODING(( "ISO-8859-7",             /* IANA, RFC 1947 */
  189.               "ISO_8859-7",             /* IANA */
  190.               "ISO_8859-7:1987",        /* IANA */
  191.               "ISO-IR-126",             /* IANA */
  192.               "ECMA-118",               /* IANA */
  193.               "ELOT_928",               /* IANA */
  194.               "GREEK8",                 /* IANA */
  195.               "GREEK",                  /* IANA */
  196.               "csISOLatinGreek",        /* IANA */
  197.             /*"ISO8859-7",                 X11R6.4 */
  198.             /*"ISO8859_7",                 JDK 1.1 */
  199.             ),
  200.             iso8859_7,
  201.             { iso8859_7_mbtowc },         { iso8859_7_wctomb, NULL })
  202. DEFENCODING(( "ISO-8859-8",             /* IANA */
  203.               "ISO_8859-8",             /* IANA */
  204.               "ISO_8859-8:1988",        /* IANA */
  205.               "ISO-IR-138",             /* IANA */
  206.               "HEBREW",                 /* IANA */
  207.               "csISOLatinHebrew",       /* IANA */
  208.             /*"ISO8859-8",                 X11R6.4 */
  209.             /*"ISO8859_8",                 JDK 1.1 */
  210.             ),
  211.             iso8859_8,
  212.             { iso8859_8_mbtowc },         { iso8859_8_wctomb, NULL })
  213. DEFENCODING(( "ISO-8859-9",             /* IANA */
  214.               "ISO_8859-9",             /* IANA */
  215.               "ISO_8859-9:1989",        /* IANA */
  216.               "ISO-IR-148",             /* IANA */
  217.               "LATIN5",                 /* IANA */
  218.               "L5",                     /* IANA */
  219.               "csISOLatin5",            /* IANA */
  220.             /*"ISO8859-9",                 X11R6.4 */
  221.             /*"ISO8859_9",                 JDK 1.1 */
  222.             ),
  223.             iso8859_9,
  224.             { iso8859_9_mbtowc },         { iso8859_9_wctomb, NULL })
  225. DEFENCODING(( "ISO-8859-10",
  226.               "ISO_8859-10",
  227.               "ISO_8859-10:1992",       /* IANA */
  228.               "ISO-IR-157",             /* IANA */
  229.               "LATIN6",                 /* IANA */
  230.               "L6",                     /* IANA */
  231.               "csISOLatin6",            /* IANA */
  232.             /*"ISO8859-10",                X11R6.4 */
  233.             ),
  234.             iso8859_10,
  235.             { iso8859_10_mbtowc },        { iso8859_10_wctomb, NULL })
  236. DEFENCODING(( "ISO-8859-13",            /* glibc */
  237.               "ISO_8859-13",
  238.               "ISO-IR-179",             /* glibc */
  239.               "LATIN7",                 /* glibc */
  240.               "L7",                     /* glibc */
  241.             ),
  242.             iso8859_13,
  243.             { iso8859_13_mbtowc },        { iso8859_13_wctomb, NULL })
  244. DEFENCODING(( "ISO-8859-14",            /* glibc */
  245.               "ISO_8859-14",
  246.               "ISO_8859-14:1998",       /* glibc */
  247.               "ISO-IR-199",
  248.               "LATIN8",                 /* glibc */
  249.               "L8",                     /* glibc */
  250.             ),
  251.             iso8859_14,
  252.             { iso8859_14_mbtowc },        { iso8859_14_wctomb, NULL })
  253. DEFENCODING(( "ISO-8859-15",            /* glibc */
  254.               "ISO_8859-15",            /* IANA */
  255.               "ISO_8859-15:1998",       /* glibc */
  256.               "ISO-IR-203",
  257.             ),
  258.             iso8859_15,
  259.             { iso8859_15_mbtowc },        { iso8859_15_wctomb, NULL })
  260. DEFENCODING(( "ISO-8859-16",
  261.               "ISO_8859-16",
  262.               "ISO_8859-16:2000",
  263.               "ISO-IR-226",
  264.             ),
  265.             iso8859_16,
  266.             { iso8859_16_mbtowc },        { iso8859_16_wctomb, NULL })
  267. DEFENCODING(( "KOI8-R",                 /* IANA, RFC 1489, X11R6.4, JDK 1.1 */
  268.               "csKOI8R",                /* IANA */
  269.             ),
  270.             koi8_r,
  271.             { koi8_r_mbtowc },            { koi8_r_wctomb, NULL })
  272. DEFENCODING(( "KOI8-U",                 /* IANA, RFC 2319 */
  273.             ),
  274.             koi8_u,
  275.             { koi8_u_mbtowc },            { koi8_u_wctomb, NULL })
  276. DEFENCODING(( "KOI8-RU",
  277.             ),
  278.             koi8_ru,
  279.             { koi8_ru_mbtowc },           { koi8_ru_wctomb, NULL })
  280. /* Windows 8-bit encodings */
  281. DEFENCODING(( "CP1250",                 /* JDK 1.1 */
  282.               "WINDOWS-1250",           /* IANA */
  283.               "MS-EE",
  284.             ),
  285.             cp1250,
  286.             { cp1250_mbtowc },            { cp1250_wctomb, NULL })
  287. DEFENCODING(( "CP1251",                 /* JDK 1.1 */
  288.               "WINDOWS-1251",           /* IANA */
  289.               "MS-CYRL",
  290.             ),
  291.             cp1251,
  292.             { cp1251_mbtowc },            { cp1251_wctomb, NULL })
  293. DEFENCODING(( "CP1252",                 /* JDK 1.1 */
  294.               "WINDOWS-1252",
  295.               "MS-ANSI",
  296.             ),
  297.             cp1252,
  298.             { cp1252_mbtowc },            { cp1252_wctomb, NULL })
  299. DEFENCODING(( "CP1253",                 /* JDK 1.1 */
  300.               "WINDOWS-1253",           /* IANA */
  301.               "MS-GREEK",
  302.             ),
  303.             cp1253,
  304.             { cp1253_mbtowc },            { cp1253_wctomb, NULL })
  305. DEFENCODING(( "CP1254",                 /* JDK 1.1 */
  306.               "WINDOWS-1254",           /* IANA */
  307.               "MS-TURK",
  308.             ),
  309.             cp1254,
  310.             { cp1254_mbtowc },            { cp1254_wctomb, NULL })
  311. DEFENCODING(( "CP1255",                 /* JDK 1.1 */
  312.               "WINDOWS-1255",           /* IANA */
  313.               "MS-HEBR",
  314.             ),
  315.             cp1255,
  316.             { cp1255_mbtowc },            { cp1255_wctomb, NULL })
  317. DEFENCODING(( "CP1256",                 /* JDK 1.1 */
  318.               "WINDOWS-1256",           /* IANA */
  319.               "MS-ARAB",
  320.             ),
  321.             cp1256,
  322.             { cp1256_mbtowc },            { cp1256_wctomb, NULL })
  323. DEFENCODING(( "CP1257",                 /* JDK 1.1 */
  324.               "WINDOWS-1257",           /* IANA */
  325.               "WINBALTRIM",
  326.             ),
  327.             cp1257,
  328.             { cp1257_mbtowc },            { cp1257_wctomb, NULL })
  329. DEFENCODING(( "CP1258",                 /* JDK 1.1 */
  330.               "WINDOWS-1258",           /* IANA */
  331.             ),
  332.             cp1258,
  333.             { cp1258_mbtowc },            { cp1258_wctomb, NULL })
  334. /* DOS 8-bit encodings */
  335. DEFENCODING(( "CP850",                  /* IANA, JDK 1.1 */
  336.               "IBM850",                 /* IANA */
  337.               "850",                    /* IANA */
  338.               "csPC850Multilingual",    /* IANA */
  339.             ),
  340.             cp850,
  341.             { cp850_mbtowc },             { cp850_wctomb, NULL })
  342. DEFENCODING(( "CP866",                  /* IANA, JDK 1.1 */
  343.               "IBM866",                 /* IANA */
  344.               "866",                    /* IANA */
  345.               "csIBM866",               /* IANA */
  346.             ),
  347.             cp866,
  348.             { cp866_mbtowc },             { cp866_wctomb, NULL })
  349. /* Macintosh 8-bit encodings */
  350. DEFENCODING(( "MacRoman",               /* JDK 1.1 */
  351.               /* This is the best table for MACINTOSH. The ones */
  352.               /* in glibc and FreeBSD-iconv are bad quality. */
  353.               "MACINTOSH",              /* IANA */
  354.               "MAC",                    /* IANA */
  355.               "csMacintosh",            /* IANA */
  356.             ),
  357.             mac_roman,
  358.             { mac_roman_mbtowc },         { mac_roman_wctomb, NULL })
  359. DEFENCODING(( "MacCentralEurope",       /* JDK 1.1 */
  360.             ),
  361.             mac_centraleurope,
  362.             { mac_centraleurope_mbtowc }, { mac_centraleurope_wctomb, NULL })
  363. DEFENCODING(( "MacIceland",             /* JDK 1.1 */
  364.             ),
  365.             mac_iceland,
  366.             { mac_iceland_mbtowc },       { mac_iceland_wctomb, NULL })
  367. DEFENCODING(( "MacCroatian",            /* JDK 1.1 */
  368.             ),
  369.             mac_croatian,
  370.             { mac_croatian_mbtowc },      { mac_croatian_wctomb, NULL })
  371. DEFENCODING(( "MacRomania",             /* JDK 1.1 */
  372.             ),
  373.             mac_romania,
  374.             { mac_romania_mbtowc },       { mac_romania_wctomb, NULL })
  375. DEFENCODING(( "MacCyrillic",            /* JDK 1.1 */
  376.             ),
  377.             mac_cyrillic,
  378.             { mac_cyrillic_mbtowc },      { mac_cyrillic_wctomb, NULL })
  379. DEFENCODING(( "MacUkraine",             /* JDK 1.1 */
  380.             ),
  381.             mac_ukraine,
  382.             { mac_ukraine_mbtowc },       { mac_ukraine_wctomb, NULL })
  383. DEFENCODING(( "MacGreek",               /* JDK 1.1 */
  384.             ),
  385.             mac_greek,
  386.             { mac_greek_mbtowc },         { mac_greek_wctomb, NULL })
  387. DEFENCODING(( "MacTurkish",             /* JDK 1.1 */
  388.             ),
  389.             mac_turkish,
  390.             { mac_turkish_mbtowc },       { mac_turkish_wctomb, NULL })
  391. DEFENCODING(( "MacHebrew",              /* JDK 1.1 */
  392.             ),
  393.             mac_hebrew,
  394.             { mac_hebrew_mbtowc },        { mac_hebrew_wctomb, NULL })
  395. DEFENCODING(( "MacArabic",              /* JDK 1.1 */
  396.             ),
  397.             mac_arabic,
  398.             { mac_arabic_mbtowc },        { mac_arabic_wctomb, NULL })
  399. DEFENCODING(( "MacThai",                /* JDK 1.1 */
  400.             ),
  401.             mac_thai,
  402.             { mac_thai_mbtowc },          { mac_thai_wctomb, NULL })
  403. /* Other platform specific 8-bit encodings */
  404. DEFENCODING(( "HP-ROMAN8",              /* IANA, X11R6.4 */
  405.               "ROMAN8",                 /* IANA */
  406.               "R8",                     /* IANA */
  407.               "csHPRoman8",             /* IANA */
  408.             ),
  409.             hp_roman8,
  410.             { hp_roman8_mbtowc },         { hp_roman8_wctomb, NULL })
  411. DEFENCODING(( "NEXTSTEP",
  412.             ),
  413.             nextstep,
  414.             { nextstep_mbtowc },          { nextstep_wctomb, NULL })
  415. /* Regional 8-bit encodings used for a single language */
  416. DEFENCODING(( "ARMSCII-8",
  417.             ),
  418.             armscii_8,
  419.             { armscii_8_mbtowc },         { armscii_8_wctomb, NULL })
  420. DEFENCODING(( "GEORGIAN-ACADEMY",
  421.             ),
  422.             georgian_academy,
  423.             { georgian_academy_mbtowc },  { georgian_academy_wctomb, NULL })
  424. DEFENCODING(( "GEORGIAN-PS",
  425.             ),
  426.             georgian_ps,
  427.             { georgian_ps_mbtowc },       { georgian_ps_wctomb, NULL })
  428. DEFENCODING(( "MULELAO-1",
  429.             ),
  430.             mulelao,
  431.             { mulelao_mbtowc },           { mulelao_wctomb, NULL })
  432. DEFENCODING(( "CP1133",
  433.               "IBM-CP1133",
  434.             ),
  435.             cp1133,
  436.             { cp1133_mbtowc },            { cp1133_wctomb, NULL })
  437. DEFENCODING(( "TIS-620",                /* IANA */
  438.               "TIS620",                 /* glibc */
  439.               "TIS620-0",               /* glibc */
  440.               "TIS620.2529-1",          /* glibc */
  441.               "TIS620.2533-0",          /* glibc */
  442.               "TIS620.2533-1",
  443.               "ISO-IR-166",             /* glibc */
  444.             ),
  445.             tis620,
  446.             { tis620_mbtowc },            { tis620_wctomb, NULL })
  447. DEFENCODING(( "CP874",                  /* JDK 1.1 */
  448.               "WINDOWS-874",
  449.             ),
  450.             cp874,
  451.             { cp874_mbtowc },             { cp874_wctomb, NULL })
  452. DEFENCODING(( "VISCII",                 /* IANA, RFC 1456 */
  453.               "VISCII1.1-1",
  454.               "csVISCII",               /* IANA */
  455.             ),
  456.             viscii,
  457.             { viscii_mbtowc },            { viscii_wctomb, NULL })
  458. DEFENCODING(( "TCVN",
  459.               "TCVN-5712",
  460.               "TCVN5712-1",
  461.               "TCVN5712-1:1993",
  462.             ),
  463.             tcvn,
  464.             { tcvn_mbtowc },              { tcvn_wctomb, NULL })
  465. /* CJK character sets (not documented) */
  466. DEFENCODING(( "JIS_C6220-1969-RO",      /* IANA */
  467.               "ISO646-JP",              /* IANA */
  468.               "ISO-IR-14",              /* IANA */
  469.               "JP",                     /* IANA */
  470.               "csISO14JISC6220ro",      /* IANA */
  471.             ),
  472.             iso646_jp,
  473.             { iso646_jp_mbtowc },         { iso646_jp_wctomb, NULL })
  474. DEFENCODING(( "JIS_X0201",              /* IANA */
  475.               "JISX0201-1976",
  476.               "X0201",                  /* IANA */
  477.               "csHalfWidthKatakana",    /* IANA */
  478.             /*"JISX0201.1976-0",           X11R6.4 */
  479.             /*"JIS0201",                   JDK 1.1 */
  480.             ),
  481.             jisx0201,
  482.             { jisx0201_mbtowc },          { jisx0201_wctomb, NULL })
  483. DEFENCODING(( "JIS_X0208",
  484.               "JIS_X0208-1983",         /* IANA */
  485.               "JIS_X0208-1990",
  486.               "JIS0208",
  487.               "X0208",                  /* IANA */
  488.               "ISO-IR-87",              /* IANA */
  489.               "csISO87JISX0208",        /* IANA */
  490.             /*"JISX0208.1983-0",           X11R6.4 */
  491.             /*"JISX0208.1990-0",           X11R6.4 */
  492.             /*"JIS0208",                   JDK 1.1 */
  493.             ),
  494.             jisx0208,
  495.             { jisx0208_mbtowc },          { jisx0208_wctomb, NULL })
  496. DEFENCODING(( "JIS_X0212",
  497.               "JIS_X0212.1990-0",
  498.               "JIS_X0212-1990",         /* IANA */
  499.               "X0212",                  /* IANA */
  500.               "ISO-IR-159",             /* IANA */
  501.               "csISO159JISX02121990",   /* IANA */
  502.             /*"JISX0212.1990-0",           X11R6.4 */
  503.             /*"JIS0212",                   JDK 1.1 */
  504.             ),
  505.             jisx0212,
  506.             { jisx0212_mbtowc },          { jisx0212_wctomb, NULL })
  507. DEFENCODING(( "GB_1988-80",             /* IANA */
  508.               "ISO646-CN",              /* IANA */
  509.               "ISO-IR-57",              /* IANA */
  510.               "CN",                     /* IANA */
  511.               "csISO57GB1988",          /* IANA */
  512.             ),
  513.             iso646_cn,
  514.             { iso646_cn_mbtowc },         { iso646_cn_wctomb, NULL })
  515. DEFENCODING(( "GB_2312-80",             /* IANA */
  516.               "ISO-IR-58",              /* IANA */
  517.               "csISO58GB231280",        /* IANA */
  518.               "CHINESE",                /* IANA */
  519.             /*"GB2312.1980-0",             X11R6.4 */
  520.             ),
  521.             gb2312,
  522.             { gb2312_mbtowc },            { gb2312_wctomb, NULL })
  523. DEFENCODING(( "ISO-IR-165",
  524.               "CN-GB-ISOIR165",         /* RFC 1922 */
  525.             ),
  526.             isoir165,
  527.             { isoir165_mbtowc },          { isoir165_wctomb, NULL })
  528. DEFENCODING(( "KSC_5601",               /* IANA */
  529.               "KS_C_5601-1987",         /* IANA */
  530.               "KS_C_5601-1989",         /* IANA */
  531.               "ISO-IR-149",             /* IANA */
  532.               "csKSC56011987",          /* IANA */
  533.               "KOREAN",                 /* IANA */
  534.             /*"KSC5601.1987-0",            X11R6.4 */
  535.             /*"KSX1001:1992",              Ken Lunde */
  536.             ),
  537.             ksc5601,
  538.             { ksc5601_mbtowc },           { ksc5601_wctomb, NULL })
  539. /* CJK encodings */
  540. DEFENCODING(( "EUC-JP",                 /* IANA */
  541.               "EUCJP",                  /* glibc */
  542.               "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA */
  543.               "csEUCPkdFmtJapanese",    /* IANA */
  544.             /*"EUC_JP",                    JDK 1.1 */
  545.             ),
  546.             euc_jp,
  547.             { euc_jp_mbtowc },            { euc_jp_wctomb, NULL })
  548. DEFENCODING(( "SJIS",                   /* JDK 1.1 */
  549.               "SHIFT_JIS",              /* IANA */
  550.               "SHIFT-JIS",              /* glibc */
  551.               "MS_KANJI",               /* IANA */
  552.               "csShiftJIS",             /* IANA */
  553.             ),
  554.             sjis,
  555.             { sjis_mbtowc },              { sjis_wctomb, NULL })
  556. DEFENCODING(( "CP932",                  /* glibc */
  557.             ),
  558.             cp932,
  559.             { cp932_mbtowc },             { cp932_wctomb, NULL })
  560. DEFENCODING(( "ISO-2022-JP",            /* IANA, RFC 1468 */
  561.               "csISO2022JP",            /* IANA */
  562.             /*"ISO2022JP",                 JDK 1.1 */
  563.             ),
  564.             iso2022_jp,
  565.             { iso2022_jp_mbtowc },        { iso2022_jp_wctomb, iso2022_jp_reset })
  566. DEFENCODING(( "ISO-2022-JP-1",          /* RFC 2237 */
  567.             ),
  568.             iso2022_jp1,
  569.             { iso2022_jp1_mbtowc },       { iso2022_jp1_wctomb, iso2022_jp1_reset })
  570. DEFENCODING(( "ISO-2022-JP-2",          /* IANA, RFC 1554 */
  571.               "csISO2022JP2",           /* IANA */
  572.             ),
  573.             iso2022_jp2,
  574.             { iso2022_jp2_mbtowc },       { iso2022_jp2_wctomb, iso2022_jp2_reset })
  575. DEFENCODING(( "EUC-CN",                 /* glibc */
  576.               "EUCCN",                  /* glibc */
  577.               "GB2312",                 /* IANA */
  578.               "CN-GB",                  /* RFC 1922 */
  579.               "csGB2312",               /* IANA */
  580.             /*"EUC_CN",                    JDK 1.1 */
  581.             ),
  582.             euc_cn,
  583.             { euc_cn_mbtowc },            { euc_cn_wctomb, NULL })
  584. DEFENCODING(( "GBK",                    /* JDK 1.1 */
  585.               "CP936",
  586.             ),
  587.             ces_gbk,
  588.             { ces_gbk_mbtowc },           { ces_gbk_wctomb, NULL })
  589. DEFENCODING(( "ISO-2022-CN",            /* IANA, RFC 1922 */
  590.               "csISO2022CN",
  591.             /*"ISO2022CN",                 JDK 1.1 */
  592.             ),
  593.             iso2022_cn,
  594.             { iso2022_cn_mbtowc },        { iso2022_cn_wctomb, iso2022_cn_reset })
  595. DEFENCODING(( "ISO-2022-CN-EXT",        /* IANA, RFC 1922 */
  596.             ),
  597.             iso2022_cn_ext,
  598.             { iso2022_cn_ext_mbtowc },    { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset })
  599. DEFENCODING(( "HZ",                     /* RFC 1843 */
  600.               "HZ-GB-2312",             /* IANA, RFC 1842 */
  601.             ),
  602.             hz,
  603.             { hz_mbtowc },                { hz_wctomb, hz_reset })
  604. DEFENCODING(( "EUC-TW",                 /* glibc */
  605.               "EUCTW",                  /* glibc */
  606.               "csEUCTW",
  607.             /*"EUC_TW",                    JDK 1.1 */
  608.             ),
  609.             euc_tw,
  610.             { euc_tw_mbtowc },            { euc_tw_wctomb, NULL })
  611. DEFENCODING(( "BIG5",                   /* IANA, JDK 1.1 */
  612.               "BIG-5",                  /* glibc */
  613.               "BIG-FIVE",               /* glibc */
  614.               "BIGFIVE",                /* glibc */
  615.               "CN-BIG5",                /* RFC 1922 */
  616.               "csBig5",                 /* IANA */
  617.             ),
  618.             ces_big5,
  619.             { ces_big5_mbtowc },          { ces_big5_wctomb, NULL })
  620. DEFENCODING(( "CP950",                  /* JDK 1.1 */
  621.             ),
  622.             cp950,
  623.             { cp950_mbtowc },             { cp950_wctomb, NULL })
  624. DEFENCODING(( "EUC-KR",                 /* IANA, RFC 1557 */
  625.               "EUCKR",                  /* glibc */
  626.               "csEUCKR",                /* IANA */
  627.             /*"EUC_KR",                    JDK 1.1 */
  628.             ),
  629.             euc_kr,
  630.             { euc_kr_mbtowc },            { euc_kr_wctomb, NULL })
  631. DEFENCODING(( "CP949",                  /* JDK 1.1 */
  632.               "UHC",                    /* glibc */
  633.             ),
  634.             cp949,
  635.             { cp949_mbtowc },             { cp949_wctomb, NULL })
  636. DEFENCODING(( "JOHAB",                  /* glibc */
  637.               "CP1361",                 /* glibc */
  638.             ),
  639.             johab,
  640.             { johab_mbtowc },             { johab_wctomb, NULL })
  641. DEFENCODING(( "ISO-2022-KR",            /* IANA, RFC 1557 */
  642.               "csISO2022KR",            /* IANA */
  643.             /*"ISO2022KR",                 JDK 1.1 */
  644.             ),
  645.             iso2022_kr,
  646.             { iso2022_kr_mbtowc },        { iso2022_kr_wctomb, iso2022_kr_reset })