/* Copyright (C) 1999-2000 Free Software Foundation, Inc.
   This file is part of the GNU ICONV Library.

   The GNU ICONV Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The GNU ICONV Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public
   License along with the GNU ICONV Library; see the file COPYING.LIB.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* The list of all system independent user-visible encodings. */

/* By convention, an encoding named FOOBAR or FOO_BAR or FOO-BAR is defined
   in a file named "foobar.h" through the functions foobar_mbtowc and
   foobar_wctomb (and possibly foobar_reset). */

/* DEFENCODING(( name, alias1, ..., ),
               xxx,
               { xxx_mbtowc },
               { xxx_wctomb, xxx_reset })
   defines an encoding with the given name and aliases. (There is no
   difference between a name and an alias. By convention, the name is chosen
   as the preferred MIME name or the standard name.)
   All names and aliases must be in ASCII. Case is not significant, but
   for the "cs*" aliases mixed case is preferred, otherwise UPPERCASE is
   preferred. For all names and aliases, note where it comes from.
   xxx is the name as used in the C code (lowercase).
 */


DEFENCODING(( "US-ASCII",               /* IANA */
              "ASCII",                  /* IANA, JDK 1.1 */
              "ISO646-US",              /* IANA */
              "ISO_646.IRV:1991",       /* IANA */
              "ISO-IR-6",               /* IANA */
              "ANSI_X3.4-1968",         /* IANA */
              "CP367",                  /* IANA */
              "IBM367",                 /* IANA */
              "US",                     /* IANA */
              "csASCII",                /* IANA */
            /*"ISO646.1991-IRV",           X11R6.4 */
            ),
            ascii,
            { ascii_mbtowc },             { ascii_wctomb, NULL })

/* General multi-byte encodings */

DEFENCODING(( "UTF-8",                  /* IANA, RFC 2279 */
            /*"UTF8",                      JDK 1.1 */
            ),
            utf8,
            { utf8_mbtowc },              { utf8_wctomb, NULL })

DEFENCODING(( "UCS-2",                  /* glibc */
              "ISO-10646-UCS-2",        /* IANA */
              "csUnicode",              /* IANA */
            ),
            ucs2,
            { ucs2_mbtowc },              { ucs2_wctomb, NULL })

DEFENCODING(( "UCS-2BE",                /* glibc */
              "UNICODEBIG",             /* glibc */
              "UNICODE-1-1",            /* IANA */
              "csUnicode11",            /* IANA */
            ),
            ucs2be,
            { ucs2be_mbtowc },            { ucs2be_wctomb, NULL })

DEFENCODING(( "UCS-2LE",                /* glibc */
              "UNICODELITTLE",          /* glibc */
            ),
            ucs2le,
            { ucs2le_mbtowc },            { ucs2le_wctomb, NULL })

DEFENCODING(( "UCS-4",                  /* glibc */
              "ISO-10646-UCS-4",        /* IANA */
              "csUCS4",                 /* IANA */
            ),
            ucs4,
            { ucs4_mbtowc },              { ucs4_wctomb, NULL })

DEFENCODING(( "UCS-4BE",                /* glibc */
            ),
            ucs4be,
            { ucs4be_mbtowc },            { ucs4be_wctomb, NULL })

DEFENCODING(( "UCS-4LE",                /* glibc */
            ),
            ucs4le,
            { ucs4le_mbtowc },            { ucs4le_wctomb, NULL })

DEFENCODING(( "UTF-16",                 /* RFC 2781 */
            ),
            utf16,
            { utf16_mbtowc },             { utf16_wctomb, NULL })

DEFENCODING(( "UTF-16BE",               /* RFC 2781 */
            ),
            utf16be,
            { utf16be_mbtowc },           { utf16be_wctomb, NULL })

DEFENCODING(( "UTF-16LE",               /* RFC 2781 */
            ),
            utf16le,
            { utf16le_mbtowc },           { utf16le_wctomb, NULL })

DEFENCODING(( "UTF-7",                  /* IANA, RFC 2152 */
              "UNICODE-1-1-UTF-7",      /* IANA, RFC 1642 */
              "csUnicode11UTF7",        /* IANA */
            ),
            utf7,
            { utf7_mbtowc },              { utf7_wctomb, utf7_reset })

DEFENCODING(( "UCS-2-INTERNAL",         /* libiconv */
            ),
            ucs2internal,
            { ucs2internal_mbtowc },      { ucs2internal_wctomb, NULL })

DEFENCODING(( "UCS-2-SWAPPED",          /* libiconv */
            ),
            ucs2swapped,
            { ucs2swapped_mbtowc },       { ucs2swapped_wctomb, NULL })

DEFENCODING(( "UCS-4-INTERNAL",         /* libiconv */
            ),
            ucs4internal,
            { ucs4internal_mbtowc },      { ucs4internal_wctomb, NULL })

DEFENCODING(( "UCS-4-SWAPPED",          /* libiconv */
            ),
            ucs4swapped,
            { ucs4swapped_mbtowc },       { ucs4swapped_wctomb, NULL })

DEFENCODING(( "JAVA",
            ),
            java,
            { java_mbtowc },              { java_wctomb, NULL })

/* Standard 8-bit encodings */

DEFENCODING(( "ISO-8859-1",             /* IANA */
              "ISO_8859-1",             /* IANA */
              "ISO_8859-1:1987",        /* IANA */
              "ISO-IR-100",             /* IANA */
              "CP819",                  /* IANA */
              "IBM819",                 /* IANA */
              "LATIN1",                 /* IANA */
              "L1",                     /* IANA */
              "csISOLatin1",            /* IANA */
            /*"ISO8859-1",                 X11R6.4 */
            /*"ISO8859_1",                 JDK 1.1 */
            ),
            iso8859_1,
            { iso8859_1_mbtowc },         { iso8859_1_wctomb, NULL })

DEFENCODING(( "ISO-8859-2",             /* IANA */
              "ISO_8859-2",             /* IANA */
              "ISO_8859-2:1987",        /* IANA */
              "ISO-IR-101",             /* IANA */
              "LATIN2",                 /* IANA */
              "L2",                     /* IANA */
              "csISOLatin2",            /* IANA */
            /*"ISO8859-2",                 X11R6.4 */
            /*"ISO8859_2",                 JDK 1.1 */
            ),
            iso8859_2,
            { iso8859_2_mbtowc },         { iso8859_2_wctomb, NULL })

DEFENCODING(( "ISO-8859-3",             /* IANA */
              "ISO_8859-3",             /* IANA */
              "ISO_8859-3:1988",        /* IANA */
              "ISO-IR-109",             /* IANA */
              "LATIN3",                 /* IANA */
              "L3",                     /* IANA */
              "csISOLatin3",            /* IANA */
            /*"ISO8859-3",                 X11R6.4 */
            /*"ISO8859_3",                 JDK 1.1 */
            ),
            iso8859_3,
            { iso8859_3_mbtowc },         { iso8859_3_wctomb, NULL })

DEFENCODING(( "ISO-8859-4",             /* IANA */
              "ISO_8859-4",             /* IANA */
              "ISO_8859-4:1988",        /* IANA */
              "ISO-IR-110",             /* IANA */
              "LATIN4",                 /* IANA */
              "L4",                     /* IANA */
              "csISOLatin4",            /* IANA */
            /*"ISO8859-4",                 X11R6.4 */
            /*"ISO8859_4",                 JDK 1.1 */
            ),
            iso8859_4,
            { iso8859_4_mbtowc },         { iso8859_4_wctomb, NULL })

DEFENCODING(( "ISO-8859-5",             /* IANA */
              "ISO_8859-5",             /* IANA */
              "ISO_8859-5:1988",        /* IANA */
              "ISO-IR-144",             /* IANA */
              "CYRILLIC",               /* IANA */
              "csISOLatinCyrillic",     /* IANA */
            /*"ISO8859-5",                 X11R6.4 */
            /*"ISO8859_5",                 JDK 1.1 */
            ),
            iso8859_5,
            { iso8859_5_mbtowc },         { iso8859_5_wctomb, NULL })

DEFENCODING(( "ISO-8859-6",             /* IANA */
              "ISO_8859-6",             /* IANA */
              "ISO_8859-6:1987",        /* IANA */
              "ISO-IR-127",             /* IANA */
              "ECMA-114",               /* IANA */
              "ASMO-708",               /* IANA */
              "ARABIC",                 /* IANA */
              "csISOLatinArabic",       /* IANA */
            /*"ISO8859-6",                 X11R6.4 */
            /*"ISO8859_6",                 JDK 1.1 */
            ),
            iso8859_6,
            { iso8859_6_mbtowc },         { iso8859_6_wctomb, NULL })

DEFENCODING(( "ISO-8859-7",             /* IANA, RFC 1947 */
              "ISO_8859-7",             /* IANA */
              "ISO_8859-7:1987",        /* IANA */
              "ISO-IR-126",             /* IANA */
              "ECMA-118",               /* IANA */
              "ELOT_928",               /* IANA */
              "GREEK8",                 /* IANA */
              "GREEK",                  /* IANA */
              "csISOLatinGreek",        /* IANA */
            /*"ISO8859-7",                 X11R6.4 */
            /*"ISO8859_7",                 JDK 1.1 */
            ),
            iso8859_7,
            { iso8859_7_mbtowc },         { iso8859_7_wctomb, NULL })

DEFENCODING(( "ISO-8859-8",             /* IANA */
              "ISO_8859-8",             /* IANA */
              "ISO_8859-8:1988",        /* IANA */
              "ISO-IR-138",             /* IANA */
              "HEBREW",                 /* IANA */
              "csISOLatinHebrew",       /* IANA */
            /*"ISO8859-8",                 X11R6.4 */
            /*"ISO8859_8",                 JDK 1.1 */
            ),
            iso8859_8,
            { iso8859_8_mbtowc },         { iso8859_8_wctomb, NULL })

DEFENCODING(( "ISO-8859-9",             /* IANA */
              "ISO_8859-9",             /* IANA */
              "ISO_8859-9:1989",        /* IANA */
              "ISO-IR-148",             /* IANA */
              "LATIN5",                 /* IANA */
              "L5",                     /* IANA */
              "csISOLatin5",            /* IANA */
            /*"ISO8859-9",                 X11R6.4 */
            /*"ISO8859_9",                 JDK 1.1 */
            ),
            iso8859_9,
            { iso8859_9_mbtowc },         { iso8859_9_wctomb, NULL })

DEFENCODING(( "ISO-8859-10",
              "ISO_8859-10",
              "ISO_8859-10:1992",       /* IANA */
              "ISO-IR-157",             /* IANA */
              "LATIN6",                 /* IANA */
              "L6",                     /* IANA */
              "csISOLatin6",            /* IANA */
            /*"ISO8859-10",                X11R6.4 */
            ),
            iso8859_10,
            { iso8859_10_mbtowc },        { iso8859_10_wctomb, NULL })

DEFENCODING(( "ISO-8859-13",            /* glibc */
              "ISO_8859-13",
              "ISO-IR-179",             /* glibc */
              "LATIN7",                 /* glibc */
              "L7",                     /* glibc */
            ),
            iso8859_13,
            { iso8859_13_mbtowc },        { iso8859_13_wctomb, NULL })

DEFENCODING(( "ISO-8859-14",            /* glibc */
              "ISO_8859-14",
              "ISO_8859-14:1998",       /* glibc */
              "ISO-IR-199",
              "LATIN8",                 /* glibc */
              "L8",                     /* glibc */
            ),
            iso8859_14,
            { iso8859_14_mbtowc },        { iso8859_14_wctomb, NULL })

DEFENCODING(( "ISO-8859-15",            /* glibc */
              "ISO_8859-15",            /* IANA */
              "ISO_8859-15:1998",       /* glibc */
              "ISO-IR-203",
            ),
            iso8859_15,
            { iso8859_15_mbtowc },        { iso8859_15_wctomb, NULL })

DEFENCODING(( "ISO-8859-16",
              "ISO_8859-16",
              "ISO_8859-16:2000",
              "ISO-IR-226",
            ),
            iso8859_16,
            { iso8859_16_mbtowc },        { iso8859_16_wctomb, NULL })

DEFENCODING(( "KOI8-R",                 /* IANA, RFC 1489, X11R6.4, JDK 1.1 */
              "csKOI8R",                /* IANA */
            ),
            koi8_r,
            { koi8_r_mbtowc },            { koi8_r_wctomb, NULL })

DEFENCODING(( "KOI8-U",                 /* IANA, RFC 2319 */
            ),
            koi8_u,
            { koi8_u_mbtowc },            { koi8_u_wctomb, NULL })

DEFENCODING(( "KOI8-RU",
            ),
            koi8_ru,
            { koi8_ru_mbtowc },           { koi8_ru_wctomb, NULL })

/* Windows 8-bit encodings */

DEFENCODING(( "CP1250",                 /* JDK 1.1 */
              "WINDOWS-1250",           /* IANA */
              "MS-EE",
            ),
            cp1250,
            { cp1250_mbtowc },            { cp1250_wctomb, NULL })

DEFENCODING(( "CP1251",                 /* JDK 1.1 */
              "WINDOWS-1251",           /* IANA */
              "MS-CYRL",
            ),
            cp1251,
            { cp1251_mbtowc },            { cp1251_wctomb, NULL })

DEFENCODING(( "CP1252",                 /* JDK 1.1 */
              "WINDOWS-1252",
              "MS-ANSI",
            ),
            cp1252,
            { cp1252_mbtowc },            { cp1252_wctomb, NULL })

DEFENCODING(( "CP1253",                 /* JDK 1.1 */
              "WINDOWS-1253",           /* IANA */
              "MS-GREEK",
            ),
            cp1253,
            { cp1253_mbtowc },            { cp1253_wctomb, NULL })

DEFENCODING(( "CP1254",                 /* JDK 1.1 */
              "WINDOWS-1254",           /* IANA */
              "MS-TURK",
            ),
            cp1254,
            { cp1254_mbtowc },            { cp1254_wctomb, NULL })

DEFENCODING(( "CP1255",                 /* JDK 1.1 */
              "WINDOWS-1255",           /* IANA */
              "MS-HEBR",
            ),
            cp1255,
            { cp1255_mbtowc },            { cp1255_wctomb, NULL })

DEFENCODING(( "CP1256",                 /* JDK 1.1 */
              "WINDOWS-1256",           /* IANA */
              "MS-ARAB",
            ),
            cp1256,
            { cp1256_mbtowc },            { cp1256_wctomb, NULL })

DEFENCODING(( "CP1257",                 /* JDK 1.1 */
              "WINDOWS-1257",           /* IANA */
              "WINBALTRIM",
            ),
            cp1257,
            { cp1257_mbtowc },            { cp1257_wctomb, NULL })

DEFENCODING(( "CP1258",                 /* JDK 1.1 */
              "WINDOWS-1258",           /* IANA */
            ),
            cp1258,
            { cp1258_mbtowc },            { cp1258_wctomb, NULL })

/* DOS 8-bit encodings */

DEFENCODING(( "CP850",                  /* IANA, JDK 1.1 */
              "IBM850",                 /* IANA */
              "850",                    /* IANA */
              "csPC850Multilingual",    /* IANA */
            ),
            cp850,
            { cp850_mbtowc },             { cp850_wctomb, NULL })

DEFENCODING(( "CP866",                  /* IANA, JDK 1.1 */
              "IBM866",                 /* IANA */
              "866",                    /* IANA */
              "csIBM866",               /* IANA */
            ),
            cp866,
            { cp866_mbtowc },             { cp866_wctomb, NULL })

/* Macintosh 8-bit encodings */

DEFENCODING(( "MacRoman",               /* JDK 1.1 */
              /* This is the best table for MACINTOSH. The ones */
              /* in glibc and FreeBSD-iconv are bad quality. */
              "MACINTOSH",              /* IANA */
              "MAC",                    /* IANA */
              "csMacintosh",            /* IANA */
            ),
            mac_roman,
            { mac_roman_mbtowc },         { mac_roman_wctomb, NULL })

DEFENCODING(( "MacCentralEurope",       /* JDK 1.1 */
            ),
            mac_centraleurope,
            { mac_centraleurope_mbtowc }, { mac_centraleurope_wctomb, NULL })

DEFENCODING(( "MacIceland",             /* JDK 1.1 */
            ),
            mac_iceland,
            { mac_iceland_mbtowc },       { mac_iceland_wctomb, NULL })

DEFENCODING(( "MacCroatian",            /* JDK 1.1 */
            ),
            mac_croatian,
            { mac_croatian_mbtowc },      { mac_croatian_wctomb, NULL })

DEFENCODING(( "MacRomania",             /* JDK 1.1 */
            ),
            mac_romania,
            { mac_romania_mbtowc },       { mac_romania_wctomb, NULL })

DEFENCODING(( "MacCyrillic",            /* JDK 1.1 */
            ),
            mac_cyrillic,
            { mac_cyrillic_mbtowc },      { mac_cyrillic_wctomb, NULL })

DEFENCODING(( "MacUkraine",             /* JDK 1.1 */
            ),
            mac_ukraine,
            { mac_ukraine_mbtowc },       { mac_ukraine_wctomb, NULL })

DEFENCODING(( "MacGreek",               /* JDK 1.1 */
            ),
            mac_greek,
            { mac_greek_mbtowc },         { mac_greek_wctomb, NULL })

DEFENCODING(( "MacTurkish",             /* JDK 1.1 */
            ),
            mac_turkish,
            { mac_turkish_mbtowc },       { mac_turkish_wctomb, NULL })

DEFENCODING(( "MacHebrew",              /* JDK 1.1 */
            ),
            mac_hebrew,
            { mac_hebrew_mbtowc },        { mac_hebrew_wctomb, NULL })

DEFENCODING(( "MacArabic",              /* JDK 1.1 */
            ),
            mac_arabic,
            { mac_arabic_mbtowc },        { mac_arabic_wctomb, NULL })

DEFENCODING(( "MacThai",                /* JDK 1.1 */
            ),
            mac_thai,
            { mac_thai_mbtowc },          { mac_thai_wctomb, NULL })

/* Other platform specific 8-bit encodings */

DEFENCODING(( "HP-ROMAN8",              /* IANA, X11R6.4 */
              "ROMAN8",                 /* IANA */
              "R8",                     /* IANA */
              "csHPRoman8",             /* IANA */
            ),
            hp_roman8,
            { hp_roman8_mbtowc },         { hp_roman8_wctomb, NULL })

DEFENCODING(( "NEXTSTEP",
            ),
            nextstep,
            { nextstep_mbtowc },          { nextstep_wctomb, NULL })

/* Regional 8-bit encodings used for a single language */

DEFENCODING(( "ARMSCII-8",
            ),
            armscii_8,
            { armscii_8_mbtowc },         { armscii_8_wctomb, NULL })

DEFENCODING(( "GEORGIAN-ACADEMY",
            ),
            georgian_academy,
            { georgian_academy_mbtowc },  { georgian_academy_wctomb, NULL })

DEFENCODING(( "GEORGIAN-PS",
            ),
            georgian_ps,
            { georgian_ps_mbtowc },       { georgian_ps_wctomb, NULL })

DEFENCODING(( "MULELAO-1",
            ),
            mulelao,
            { mulelao_mbtowc },           { mulelao_wctomb, NULL })

DEFENCODING(( "CP1133",
              "IBM-CP1133",
            ),
            cp1133,
            { cp1133_mbtowc },            { cp1133_wctomb, NULL })

DEFENCODING(( "TIS-620",                /* IANA */
              "TIS620",                 /* glibc */
              "TIS620-0",               /* glibc */
              "TIS620.2529-1",          /* glibc */
              "TIS620.2533-0",          /* glibc */
              "TIS620.2533-1",
              "ISO-IR-166",             /* glibc */
            ),
            tis620,
            { tis620_mbtowc },            { tis620_wctomb, NULL })

DEFENCODING(( "CP874",                  /* JDK 1.1 */
              "WINDOWS-874",
            ),
            cp874,
            { cp874_mbtowc },             { cp874_wctomb, NULL })

DEFENCODING(( "VISCII",                 /* IANA, RFC 1456 */
              "VISCII1.1-1",
              "csVISCII",               /* IANA */
            ),
            viscii,
            { viscii_mbtowc },            { viscii_wctomb, NULL })

DEFENCODING(( "TCVN",
              "TCVN-5712",
              "TCVN5712-1",
              "TCVN5712-1:1993",
            ),
            tcvn,
            { tcvn_mbtowc },              { tcvn_wctomb, NULL })

/* CJK character sets (not documented) */

DEFENCODING(( "JIS_C6220-1969-RO",      /* IANA */
              "ISO646-JP",              /* IANA */
              "ISO-IR-14",              /* IANA */
              "JP",                     /* IANA */
              "csISO14JISC6220ro",      /* IANA */
            ),
            iso646_jp,
            { iso646_jp_mbtowc },         { iso646_jp_wctomb, NULL })

DEFENCODING(( "JIS_X0201",              /* IANA */
              "JISX0201-1976",
              "X0201",                  /* IANA */
              "csHalfWidthKatakana",    /* IANA */
            /*"JISX0201.1976-0",           X11R6.4 */
            /*"JIS0201",                   JDK 1.1 */
            ),
            jisx0201,
            { jisx0201_mbtowc },          { jisx0201_wctomb, NULL })

DEFENCODING(( "JIS_X0208",
              "JIS_X0208-1983",         /* IANA */
              "JIS_X0208-1990",
              "JIS0208",
              "X0208",                  /* IANA */
              "ISO-IR-87",              /* IANA */
              "csISO87JISX0208",        /* IANA */
            /*"JISX0208.1983-0",           X11R6.4 */
            /*"JISX0208.1990-0",           X11R6.4 */
            /*"JIS0208",                   JDK 1.1 */
            ),
            jisx0208,
            { jisx0208_mbtowc },          { jisx0208_wctomb, NULL })

DEFENCODING(( "JIS_X0212",
              "JIS_X0212.1990-0",
              "JIS_X0212-1990",         /* IANA */
              "X0212",                  /* IANA */
              "ISO-IR-159",             /* IANA */
              "csISO159JISX02121990",   /* IANA */
            /*"JISX0212.1990-0",           X11R6.4 */
            /*"JIS0212",                   JDK 1.1 */
            ),
            jisx0212,
            { jisx0212_mbtowc },          { jisx0212_wctomb, NULL })

DEFENCODING(( "GB_1988-80",             /* IANA */
              "ISO646-CN",              /* IANA */
              "ISO-IR-57",              /* IANA */
              "CN",                     /* IANA */
              "csISO57GB1988",          /* IANA */
            ),
            iso646_cn,
            { iso646_cn_mbtowc },         { iso646_cn_wctomb, NULL })

DEFENCODING(( "GB_2312-80",             /* IANA */
              "ISO-IR-58",              /* IANA */
              "csISO58GB231280",        /* IANA */
              "CHINESE",                /* IANA */
            /*"GB2312.1980-0",             X11R6.4 */
            ),
            gb2312,
            { gb2312_mbtowc },            { gb2312_wctomb, NULL })

DEFENCODING(( "ISO-IR-165",
              "CN-GB-ISOIR165",         /* RFC 1922 */
            ),
            isoir165,
            { isoir165_mbtowc },          { isoir165_wctomb, NULL })

DEFENCODING(( "KSC_5601",               /* IANA */
              "KS_C_5601-1987",         /* IANA */
              "KS_C_5601-1989",         /* IANA */
              "ISO-IR-149",             /* IANA */
              "csKSC56011987",          /* IANA */
              "KOREAN",                 /* IANA */
            /*"KSC5601.1987-0",            X11R6.4 */
            /*"KSX1001:1992",              Ken Lunde */
            ),
            ksc5601,
            { ksc5601_mbtowc },           { ksc5601_wctomb, NULL })

/* CJK encodings */

DEFENCODING(( "EUC-JP",                 /* IANA */
              "EUCJP",                  /* glibc */
              "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA */
              "csEUCPkdFmtJapanese",    /* IANA */
            /*"EUC_JP",                    JDK 1.1 */
            ),
            euc_jp,
            { euc_jp_mbtowc },            { euc_jp_wctomb, NULL })

DEFENCODING(( "SJIS",                   /* JDK 1.1 */
              "SHIFT_JIS",              /* IANA */
              "SHIFT-JIS",              /* glibc */
              "MS_KANJI",               /* IANA */
              "csShiftJIS",             /* IANA */
            ),
            sjis,
            { sjis_mbtowc },              { sjis_wctomb, NULL })

DEFENCODING(( "CP932",                  /* glibc */
            ),
            cp932,
            { cp932_mbtowc },             { cp932_wctomb, NULL })

DEFENCODING(( "ISO-2022-JP",            /* IANA, RFC 1468 */
              "csISO2022JP",            /* IANA */
            /*"ISO2022JP",                 JDK 1.1 */
            ),
            iso2022_jp,
            { iso2022_jp_mbtowc },        { iso2022_jp_wctomb, iso2022_jp_reset })

DEFENCODING(( "ISO-2022-JP-1",          /* RFC 2237 */
            ),
            iso2022_jp1,
            { iso2022_jp1_mbtowc },       { iso2022_jp1_wctomb, iso2022_jp1_reset })

DEFENCODING(( "ISO-2022-JP-2",          /* IANA, RFC 1554 */
              "csISO2022JP2",           /* IANA */
            ),
            iso2022_jp2,
            { iso2022_jp2_mbtowc },       { iso2022_jp2_wctomb, iso2022_jp2_reset })

DEFENCODING(( "EUC-CN",                 /* glibc */
              "EUCCN",                  /* glibc */
              "GB2312",                 /* IANA */
              "CN-GB",                  /* RFC 1922 */
              "csGB2312",               /* IANA */
            /*"EUC_CN",                    JDK 1.1 */
            ),
            euc_cn,
            { euc_cn_mbtowc },            { euc_cn_wctomb, NULL })

DEFENCODING(( "GBK",                    /* JDK 1.1 */
              "CP936",
            ),
            ces_gbk,
            { ces_gbk_mbtowc },           { ces_gbk_wctomb, NULL })

DEFENCODING(( "GB18030",                /* glibc */
            ),
            gb18030,
            { gb18030_mbtowc },           { gb18030_wctomb, NULL })

DEFENCODING(( "ISO-2022-CN",            /* IANA, RFC 1922 */
              "csISO2022CN",
            /*"ISO2022CN",                 JDK 1.1 */
            ),
            iso2022_cn,
            { iso2022_cn_mbtowc },        { iso2022_cn_wctomb, iso2022_cn_reset })

DEFENCODING(( "ISO-2022-CN-EXT",        /* IANA, RFC 1922 */
            ),
            iso2022_cn_ext,
            { iso2022_cn_ext_mbtowc },    { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset })

DEFENCODING(( "HZ",                     /* RFC 1843 */
              "HZ-GB-2312",             /* IANA, RFC 1842 */
            ),
            hz,
            { hz_mbtowc },                { hz_wctomb, hz_reset })

DEFENCODING(( "EUC-TW",                 /* glibc */
              "EUCTW",                  /* glibc */
              "csEUCTW",
            /*"EUC_TW",                    JDK 1.1 */
            ),
            euc_tw,
            { euc_tw_mbtowc },            { euc_tw_wctomb, NULL })

DEFENCODING(( "BIG5",                   /* IANA, JDK 1.1 */
              "BIG-5",                  /* glibc */
              "BIG-FIVE",               /* glibc */
              "BIGFIVE",                /* glibc */
              "CN-BIG5",                /* RFC 1922 */
              "csBig5",                 /* IANA */
            ),
            ces_big5,
            { ces_big5_mbtowc },          { ces_big5_wctomb, NULL })

DEFENCODING(( "CP950",                  /* JDK 1.1 */
            ),
            cp950,
            { cp950_mbtowc },             { cp950_wctomb, NULL })

DEFENCODING(( "BIG5HKSCS",              /* glibc */
            ),
            big5hkscs,
            { big5hkscs_mbtowc },         { big5hkscs_wctomb, NULL })

DEFENCODING(( "EUC-KR",                 /* IANA, RFC 1557 */
              "EUCKR",                  /* glibc */
              "csEUCKR",                /* IANA */
            /*"EUC_KR",                    JDK 1.1 */
            ),
            euc_kr,
            { euc_kr_mbtowc },            { euc_kr_wctomb, NULL })

DEFENCODING(( "CP949",                  /* JDK 1.1 */
              "UHC",                    /* glibc */
            ),
            cp949,
            { cp949_mbtowc },             { cp949_wctomb, NULL })

DEFENCODING(( "JOHAB",                  /* glibc */
              "CP1361",                 /* glibc */
            ),
            johab,
            { johab_mbtowc },             { johab_wctomb, NULL })

DEFENCODING(( "ISO-2022-KR",            /* IANA, RFC 1557 */
              "csISO2022KR",            /* IANA */
            /*"ISO2022KR",                 JDK 1.1 */
            ),
            iso2022_kr,
            { iso2022_kr_mbtowc },        { iso2022_kr_wctomb, iso2022_kr_reset })

