Edit

thodg/libiconv/lib/encodings.def

Branch :

  • Show log

    Commit

  • Author : Bruno Haible
    Date : 2001-06-25 12:07:43
    Hash : 48223460
    Message : Change canonical name of BIG5HKSCS to BIG5-HKSCS. Change canonical name of SJIS to SHIFT_JIS.

  • lib/encodings.def
  • /* Copyright (C) 1999-2001 Free Software Foundation, Inc.
       This file is part of the GNU LIBICONV Library.
    
       The GNU LIBICONV 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 LIBICONV 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 LIBICONV 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_flushwc },
                   { 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 */
                  "ANSI_X3.4-1986",         /* IANA */
                  "CP367",                  /* IANA */
                  "IBM367",                 /* IANA */
                  "US",                     /* IANA */
                  "csASCII",                /* IANA */
                /*"ISO646.1991-IRV",           X11R6.4 */
                ),
                ascii,
                { ascii_mbtowc, NULL },       { ascii_wctomb, NULL })
    
    /* General multi-byte encodings */
    
    DEFENCODING(( "UTF-8",                  /* IANA, RFC 2279 */
                /*"UTF8",                      JDK 1.1 */
                ),
                utf8,
                { utf8_mbtowc, NULL },        { utf8_wctomb, NULL })
    
    DEFENCODING(( "UCS-2",                  /* glibc */
                  "ISO-10646-UCS-2",        /* IANA */
                  "csUnicode",              /* IANA */
                ),
                ucs2,
                { ucs2_mbtowc, NULL },        { ucs2_wctomb, NULL })
    
    DEFENCODING(( "UCS-2BE",                /* glibc */
                  "UNICODEBIG",             /* glibc */
                  "UNICODE-1-1",            /* IANA */
                  "csUnicode11",            /* IANA */
                ),
                ucs2be,
                { ucs2be_mbtowc, NULL },      { ucs2be_wctomb, NULL })
    
    DEFENCODING(( "UCS-2LE",                /* glibc */
                  "UNICODELITTLE",          /* glibc */
                ),
                ucs2le,
                { ucs2le_mbtowc, NULL },      { ucs2le_wctomb, NULL })
    
    DEFENCODING(( "UCS-4",                  /* glibc */
                  "ISO-10646-UCS-4",        /* IANA */
                  "csUCS4",                 /* IANA */
                ),
                ucs4,
                { ucs4_mbtowc, NULL },        { ucs4_wctomb, NULL })
    
    DEFENCODING(( "UCS-4BE",                /* glibc */
                ),
                ucs4be,
                { ucs4be_mbtowc, NULL },      { ucs4be_wctomb, NULL })
    
    DEFENCODING(( "UCS-4LE",                /* glibc */
                ),
                ucs4le,
                { ucs4le_mbtowc, NULL },      { ucs4le_wctomb, NULL })
    
    DEFENCODING(( "UTF-16",                 /* IANA, RFC 2781 */
                ),
                utf16,
                { utf16_mbtowc, NULL },       { utf16_wctomb, NULL })
    
    DEFENCODING(( "UTF-16BE",               /* IANA, RFC 2781 */
                ),
                utf16be,
                { utf16be_mbtowc, NULL },     { utf16be_wctomb, NULL })
    
    DEFENCODING(( "UTF-16LE",               /* IANA, RFC 2781 */
                ),
                utf16le,
                { utf16le_mbtowc, NULL },     { utf16le_wctomb, NULL })
    
    DEFENCODING(( "UTF-32",                 /* Unicode 3.1 */
                ),
                utf32,
                { utf32_mbtowc, NULL },       { utf32_wctomb, NULL })
    
    DEFENCODING(( "UTF-32BE",               /* Unicode 3.1 */
                ),
                utf32be,
                { utf32be_mbtowc, NULL },     { utf32be_wctomb, NULL })
    
    DEFENCODING(( "UTF-32LE",               /* Unicode 3.1 */
                ),
                utf32le,
                { utf32le_mbtowc, NULL },     { utf32le_wctomb, NULL })
    
    DEFENCODING(( "UTF-7",                  /* IANA, RFC 2152 */
                  "UNICODE-1-1-UTF-7",      /* IANA, RFC 1642 */
                  "csUnicode11UTF7",        /* IANA */
                ),
                utf7,
                { utf7_mbtowc, NULL },        { utf7_wctomb, utf7_reset })
    
    DEFENCODING(( "UCS-2-INTERNAL",         /* libiconv */
                ),
                ucs2internal,
                { ucs2internal_mbtowc, NULL }, { ucs2internal_wctomb, NULL })
    
    DEFENCODING(( "UCS-2-SWAPPED",          /* libiconv */
                ),
                ucs2swapped,
                { ucs2swapped_mbtowc, NULL }, { ucs2swapped_wctomb, NULL })
    
    DEFENCODING(( "UCS-4-INTERNAL",         /* libiconv */
                ),
                ucs4internal,
                { ucs4internal_mbtowc, NULL },{ ucs4internal_wctomb, NULL })
    
    DEFENCODING(( "UCS-4-SWAPPED",          /* libiconv */
                ),
                ucs4swapped,
                { ucs4swapped_mbtowc, NULL }, { ucs4swapped_wctomb, NULL })
    
    DEFENCODING(( "JAVA",
                ),
                java,
                { java_mbtowc, NULL },        { 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, glibc */
                /*"ISO8859_1",                 JDK 1.1 */
                ),
                iso8859_1,
                { iso8859_1_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_2",                 JDK 1.1 */
                ),
                iso8859_2,
                { iso8859_2_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_3",                 JDK 1.1 */
                ),
                iso8859_3,
                { iso8859_3_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_4",                 JDK 1.1 */
                ),
                iso8859_4,
                { iso8859_4_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_5",                 JDK 1.1 */
                ),
                iso8859_5,
                { iso8859_5_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_6",                 JDK 1.1 */
                ),
                iso8859_6,
                { iso8859_6_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_7",                 JDK 1.1 */
                ),
                iso8859_7,
                { iso8859_7_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_8",                 JDK 1.1 */
                ),
                iso8859_8,
                { iso8859_8_mbtowc, NULL },   { 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, glibc */
                /*"ISO8859_9",                 JDK 1.1 */
                ),
                iso8859_9,
                { iso8859_9_mbtowc, NULL },   { iso8859_9_wctomb, NULL })
    
    DEFENCODING(( "ISO-8859-10",            /* IANA */
                  "ISO_8859-10",
                  "ISO_8859-10:1992",       /* IANA */
                  "ISO-IR-157",             /* IANA */
                  "LATIN6",                 /* IANA */
                  "L6",                     /* IANA */
                  "csISOLatin6",            /* IANA */
                /*"ISO8859-10",                X11R6.4, glibc */
                ),
                iso8859_10,
                { iso8859_10_mbtowc, NULL },  { iso8859_10_wctomb, NULL })
    
    DEFENCODING(( "ISO-8859-13",            /* IANA, glibc */
                  "ISO_8859-13",
                  "ISO-IR-179",             /* glibc */
                  "LATIN7",                 /* glibc */
                  "L7",                     /* glibc */
                /*"ISO8859-13",                glibc */
                ),
                iso8859_13,
                { iso8859_13_mbtowc, NULL },  { iso8859_13_wctomb, NULL })
    
    DEFENCODING(( "ISO-8859-14",            /* IANA, glibc */
                  "ISO_8859-14",            /* IANA */
                  "ISO_8859-14:1998",       /* IANA, glibc */
                  "ISO-IR-199",             /* IANA */
                  "LATIN8",                 /* IANA, glibc */
                  "L8",                     /* IANA, glibc */
                  "ISO-CELTIC",             /* IANA */
                /*"ISO8859-14",                glibc */
                ),
                iso8859_14,
                { iso8859_14_mbtowc, NULL },  { iso8859_14_wctomb, NULL })
    
    DEFENCODING(( "ISO-8859-15",            /* IANA, glibc */
                  "ISO_8859-15",            /* IANA */
                  "ISO_8859-15:1998",       /* glibc */
                  "ISO-IR-203",
                /*"ISO8859-15",                glibc */
                ),
                iso8859_15,
                { iso8859_15_mbtowc, NULL },  { iso8859_15_wctomb, NULL })
    
    DEFENCODING(( "ISO-8859-16",
                  "ISO_8859-16",
                  "ISO_8859-16:2000",
                  "ISO-IR-226",
                /*"ISO8859-16",                glibc */
                ),
                iso8859_16,
                { iso8859_16_mbtowc, NULL },  { iso8859_16_wctomb, NULL })
    
    DEFENCODING(( "KOI8-R",                 /* IANA, RFC 1489, X11R6.4, JDK 1.1 */
                  "csKOI8R",                /* IANA */
                ),
                koi8_r,
                { koi8_r_mbtowc, NULL },      { koi8_r_wctomb, NULL })
    
    DEFENCODING(( "KOI8-U",                 /* IANA, RFC 2319 */
                ),
                koi8_u,
                { koi8_u_mbtowc, NULL },      { koi8_u_wctomb, NULL })
    
    DEFENCODING(( "KOI8-RU",
                ),
                koi8_ru,
                { koi8_ru_mbtowc, NULL },     { koi8_ru_wctomb, NULL })
    
    /* Windows 8-bit encodings */
    
    DEFENCODING(( "CP1250",                 /* JDK 1.1 */
                  "WINDOWS-1250",           /* IANA */
                  "MS-EE",
                ),
                cp1250,
                { cp1250_mbtowc, NULL },      { cp1250_wctomb, NULL })
    
    DEFENCODING(( "CP1251",                 /* JDK 1.1 */
                  "WINDOWS-1251",           /* IANA */
                  "MS-CYRL",
                ),
                cp1251,
                { cp1251_mbtowc, NULL },      { cp1251_wctomb, NULL })
    
    DEFENCODING(( "CP1252",                 /* JDK 1.1 */
                  "WINDOWS-1252",           /* IANA */
                  "MS-ANSI",
                ),
                cp1252,
                { cp1252_mbtowc, NULL },      { cp1252_wctomb, NULL })
    
    DEFENCODING(( "CP1253",                 /* JDK 1.1 */
                  "WINDOWS-1253",           /* IANA */
                  "MS-GREEK",
                ),
                cp1253,
                { cp1253_mbtowc, NULL },      { cp1253_wctomb, NULL })
    
    DEFENCODING(( "CP1254",                 /* JDK 1.1 */
                  "WINDOWS-1254",           /* IANA */
                  "MS-TURK",
                ),
                cp1254,
                { cp1254_mbtowc, NULL },      { cp1254_wctomb, NULL })
    
    DEFENCODING(( "CP1255",                 /* JDK 1.1 */
                  "WINDOWS-1255",           /* IANA */
                  "MS-HEBR",
                ),
                cp1255,
                { cp1255_mbtowc, cp1255_flushwc }, { cp1255_wctomb, NULL })
    
    DEFENCODING(( "CP1256",                 /* JDK 1.1 */
                  "WINDOWS-1256",           /* IANA */
                  "MS-ARAB",
                ),
                cp1256,
                { cp1256_mbtowc, NULL },      { cp1256_wctomb, NULL })
    
    DEFENCODING(( "CP1257",                 /* JDK 1.1 */
                  "WINDOWS-1257",           /* IANA */
                  "WINBALTRIM",
                ),
                cp1257,
                { cp1257_mbtowc, NULL },      { cp1257_wctomb, NULL })
    
    DEFENCODING(( "CP1258",                 /* JDK 1.1 */
                  "WINDOWS-1258",           /* IANA */
                ),
                cp1258,
                { cp1258_mbtowc, cp1258_flushwc }, { cp1258_wctomb, NULL })
    
    /* DOS 8-bit encodings */
    
    DEFENCODING(( "CP850",                  /* IANA, JDK 1.1 */
                  "IBM850",                 /* IANA */
                  "850",                    /* IANA */
                  "csPC850Multilingual",    /* IANA */
                ),
                cp850,
                { cp850_mbtowc, NULL },       { cp850_wctomb, NULL })
    
    DEFENCODING(( "CP862",                  /* IANA, JDK 1.1 */
                  "IBM862",                 /* IANA */
                  "862",                    /* IANA */
                  "csPC862LatinHebrew",     /* IANA */
                ),
                cp862,
                { cp862_mbtowc, NULL },       { cp862_wctomb, NULL })
    
    DEFENCODING(( "CP866",                  /* IANA, JDK 1.1 */
                  "IBM866",                 /* IANA */
                  "866",                    /* IANA */
                  "csIBM866",               /* IANA */
                ),
                cp866,
                { cp866_mbtowc, NULL },       { 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, NULL },   { mac_roman_wctomb, NULL })
    
    DEFENCODING(( "MacCentralEurope",       /* JDK 1.1 */
                ),
                mac_centraleurope,
                { mac_centraleurope_mbtowc, NULL }, { mac_centraleurope_wctomb, NULL })
    
    DEFENCODING(( "MacIceland",             /* JDK 1.1 */
                ),
                mac_iceland,
                { mac_iceland_mbtowc, NULL }, { mac_iceland_wctomb, NULL })
    
    DEFENCODING(( "MacCroatian",            /* JDK 1.1 */
                ),
                mac_croatian,
                { mac_croatian_mbtowc, NULL }, { mac_croatian_wctomb, NULL })
    
    DEFENCODING(( "MacRomania",             /* JDK 1.1 */
                ),
                mac_romania,
                { mac_romania_mbtowc, NULL }, { mac_romania_wctomb, NULL })
    
    DEFENCODING(( "MacCyrillic",            /* JDK 1.1 */
                ),
                mac_cyrillic,
                { mac_cyrillic_mbtowc, NULL }, { mac_cyrillic_wctomb, NULL })
    
    DEFENCODING(( "MacUkraine",             /* JDK 1.1 */
                ),
                mac_ukraine,
                { mac_ukraine_mbtowc, NULL }, { mac_ukraine_wctomb, NULL })
    
    DEFENCODING(( "MacGreek",               /* JDK 1.1 */
                ),
                mac_greek,
                { mac_greek_mbtowc, NULL },   { mac_greek_wctomb, NULL })
    
    DEFENCODING(( "MacTurkish",             /* JDK 1.1 */
                ),
                mac_turkish,
                { mac_turkish_mbtowc, NULL }, { mac_turkish_wctomb, NULL })
    
    DEFENCODING(( "MacHebrew",              /* JDK 1.1 */
                ),
                mac_hebrew,
                { mac_hebrew_mbtowc, NULL },  { mac_hebrew_wctomb, NULL })
    
    DEFENCODING(( "MacArabic",              /* JDK 1.1 */
                ),
                mac_arabic,
                { mac_arabic_mbtowc, NULL },  { mac_arabic_wctomb, NULL })
    
    DEFENCODING(( "MacThai",                /* JDK 1.1 */
                ),
                mac_thai,
                { mac_thai_mbtowc, NULL },    { 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, NULL },   { hp_roman8_wctomb, NULL })
    
    DEFENCODING(( "NEXTSTEP",
                ),
                nextstep,
                { nextstep_mbtowc, NULL },    { nextstep_wctomb, NULL })
    
    /* Regional 8-bit encodings used for a single language */
    
    DEFENCODING(( "ARMSCII-8",
                ),
                armscii_8,
                { armscii_8_mbtowc, NULL },   { armscii_8_wctomb, NULL })
    
    DEFENCODING(( "GEORGIAN-ACADEMY",
                ),
                georgian_academy,
                { georgian_academy_mbtowc, NULL }, { georgian_academy_wctomb, NULL })
    
    DEFENCODING(( "GEORGIAN-PS",
                ),
                georgian_ps,
                { georgian_ps_mbtowc, NULL }, { georgian_ps_wctomb, NULL })
    
    DEFENCODING(( "MULELAO-1",
                ),
                mulelao,
                { mulelao_mbtowc, NULL },     { mulelao_wctomb, NULL })
    
    DEFENCODING(( "CP1133",
                  "IBM-CP1133",
                ),
                cp1133,
                { cp1133_mbtowc, NULL },      { 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, NULL },      { tis620_wctomb, NULL })
    
    DEFENCODING(( "CP874",                  /* JDK 1.1 */
                  "WINDOWS-874",
                ),
                cp874,
                { cp874_mbtowc, NULL },       { cp874_wctomb, NULL })
    
    DEFENCODING(( "VISCII",                 /* IANA, RFC 1456 */
                  "VISCII1.1-1",
                  "csVISCII",               /* IANA */
                ),
                viscii,
                { viscii_mbtowc, NULL },      { viscii_wctomb, NULL })
    
    DEFENCODING(( "TCVN",
                  "TCVN-5712",
                  "TCVN5712-1",
                  "TCVN5712-1:1993",
                ),
                tcvn,
                { tcvn_mbtowc, tcvn_flushwc }, { 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, NULL },   { 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, NULL },    { jisx0201_wctomb, NULL })
    
    DEFENCODING(( "JIS_X0208",
                  "JIS_X0208-1983",         /* IANA */
                  "JIS_X0208-1990",
                  "JIS0208",
                  "X0208",                  /* IANA */
                  "ISO-IR-87",              /* IANA */
                  "JIS_C6226-1983",         /* IANA */
                  "csISO87JISX0208",        /* IANA */
                /*"JISX0208.1983-0",           X11R6.4 */
                /*"JISX0208.1990-0",           X11R6.4 */
                /*"JIS0208",                   JDK 1.1 */
                ),
                jisx0208,
                { jisx0208_mbtowc, NULL },    { 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, NULL },    { jisx0212_wctomb, NULL })
    
    DEFENCODING(( "GB_1988-80",             /* IANA */
                  "ISO646-CN",              /* IANA */
                  "ISO-IR-57",              /* IANA */
                  "CN",                     /* IANA */
                  "csISO57GB1988",          /* IANA */
                ),
                iso646_cn,
                { iso646_cn_mbtowc, NULL },   { 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, NULL },      { gb2312_wctomb, NULL })
    
    DEFENCODING(( "ISO-IR-165",
                  "CN-GB-ISOIR165",         /* RFC 1922 */
                ),
                isoir165,
                { isoir165_mbtowc, NULL },    { 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, NULL },     { 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, NULL },      { euc_jp_wctomb, NULL })
    
    DEFENCODING(( "SHIFT_JIS",              /* IANA */
                  "SHIFT-JIS",              /* glibc */
                  "SJIS",                   /* JDK 1.1 */
                  "MS_KANJI",               /* IANA */
                  "csShiftJIS",             /* IANA */
                ),
                sjis,
                { sjis_mbtowc, NULL },        { sjis_wctomb, NULL })
    
    DEFENCODING(( "CP932",                  /* glibc */
                ),
                cp932,
                { cp932_mbtowc, NULL },       { cp932_wctomb, NULL })
    
    DEFENCODING(( "ISO-2022-JP",            /* IANA, RFC 1468 */
                  "csISO2022JP",            /* IANA */
                /*"ISO2022JP",                 JDK 1.1 */
                ),
                iso2022_jp,
                { iso2022_jp_mbtowc, NULL },  { iso2022_jp_wctomb, iso2022_jp_reset })
    
    DEFENCODING(( "ISO-2022-JP-1",          /* RFC 2237 */
                ),
                iso2022_jp1,
                { iso2022_jp1_mbtowc, NULL }, { iso2022_jp1_wctomb, iso2022_jp1_reset })
    
    DEFENCODING(( "ISO-2022-JP-2",          /* IANA, RFC 1554 */
                  "csISO2022JP2",           /* IANA */
                ),
                iso2022_jp2,
                { iso2022_jp2_mbtowc, NULL }, { 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, NULL },      { euc_cn_wctomb, NULL })
    
    DEFENCODING(( "GBK",                    /* JDK 1.1 */
                  "CP936",
                ),
                ces_gbk,
                { ces_gbk_mbtowc, NULL },     { ces_gbk_wctomb, NULL })
    
    DEFENCODING(( "GB18030",                /* glibc */
                ),
                gb18030,
                { gb18030_mbtowc, NULL },     { gb18030_wctomb, NULL })
    
    DEFENCODING(( "ISO-2022-CN",            /* IANA, RFC 1922 */
                  "csISO2022CN",
                /*"ISO2022CN",                 JDK 1.1 */
                ),
                iso2022_cn,
                { iso2022_cn_mbtowc, NULL },  { iso2022_cn_wctomb, iso2022_cn_reset })
    
    DEFENCODING(( "ISO-2022-CN-EXT",        /* IANA, RFC 1922 */
                ),
                iso2022_cn_ext,
                { iso2022_cn_ext_mbtowc, NULL }, { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset })
    
    DEFENCODING(( "HZ",                     /* RFC 1843 */
                  "HZ-GB-2312",             /* IANA, RFC 1842 */
                ),
                hz,
                { hz_mbtowc, NULL },          { hz_wctomb, hz_reset })
    
    DEFENCODING(( "EUC-TW",                 /* glibc */
                  "EUCTW",                  /* glibc */
                  "csEUCTW",
                /*"EUC_TW",                    JDK 1.1 */
                ),
                euc_tw,
                { euc_tw_mbtowc, NULL },      { 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, NULL },    { ces_big5_wctomb, NULL })
    
    DEFENCODING(( "CP950",                  /* JDK 1.1 */
                ),
                cp950,
                { cp950_mbtowc, NULL },       { cp950_wctomb, NULL })
    
    DEFENCODING(( "BIG5-HKSCS",             /* IANA */
                  "BIG5HKSCS",              /* glibc */
                ),
                big5hkscs,
                { big5hkscs_mbtowc, NULL },   { big5hkscs_wctomb, NULL })
    
    DEFENCODING(( "EUC-KR",                 /* IANA, RFC 1557 */
                  "EUCKR",                  /* glibc */
                  "csEUCKR",                /* IANA */
                /*"EUC_KR",                    JDK 1.1 */
                ),
                euc_kr,
                { euc_kr_mbtowc, NULL },      { euc_kr_wctomb, NULL })
    
    DEFENCODING(( "CP949",                  /* JDK 1.1 */
                  "UHC",                    /* glibc */
                ),
                cp949,
                { cp949_mbtowc, NULL },       { cp949_wctomb, NULL })
    
    DEFENCODING(( "JOHAB",                  /* glibc */
                  "CP1361",                 /* glibc */
                ),
                johab,
                { johab_mbtowc, NULL },       { johab_wctomb, NULL })
    
    DEFENCODING(( "ISO-2022-KR",            /* IANA, RFC 1557 */
                  "csISO2022KR",            /* IANA */
                /*"ISO2022KR",                 JDK 1.1 */
                ),
                iso2022_kr,
                { iso2022_kr_mbtowc, NULL },  { iso2022_kr_wctomb, iso2022_kr_reset })