/* Copyright (C) 1999-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 */ /*"CP65001", Windows */ ), 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 */ /*"CP1201", Windows */ ), ucs2be, { ucs2be_mbtowc, NULL }, { ucs2be_wctomb, NULL }) DEFENCODING(( "UCS-2LE", /* glibc */ "UNICODELITTLE", /* glibc */ /*"CP1200", Windows */ ), 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 */ /*"CP12001", Windows */ ), ucs4be, { ucs4be_mbtowc, NULL }, { ucs4be_wctomb, NULL }) DEFENCODING(( "UCS-4LE", /* glibc */ /*"CP12000", Windows */ ), 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", /* IANA, Unicode 3.1 */ ), utf32, { utf32_mbtowc, NULL }, { utf32_wctomb, NULL }) DEFENCODING(( "UTF-32BE", /* IANA, Unicode 3.1 */ ), utf32be, { utf32be_mbtowc, NULL }, { utf32be_wctomb, NULL }) DEFENCODING(( "UTF-32LE", /* IANA, 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 */ /*"CP65000", Windows */ ), 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 }) /* 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, FreeBSD */ /*"ISO8859_1", JDK 1.1 */ /*"CP28591", Windows */ ), 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, FreeBSD */ /*"ISO8859_2", JDK 1.1 */ /*"CP28592", Windows */ ), iso8859_2, { iso8859_2_mbtowc, NULL }, { iso8859_2_wctomb, NULL }) DEFENCODING(( "ISO-8859-15", /* IANA, glibc */ "ISO_8859-15", /* IANA */ "ISO_8859-15:1998", /* glibc */ "ISO-IR-203", "LATIN-9", /* IANA */ "ISO8859-15", /* glibc, FreeBSD */ /*"CP28605", Windows */ ), iso8859_15, { iso8859_15_mbtowc, NULL }, { iso8859_15_wctomb, NULL }) DEFENCODING(( "KOI8-R", /* IANA, RFC 1489, X11R6.4, JDK 1.1 */ "csKOI8R", /* IANA */ /*"CP20866", Windows */ ), koi8_r, { koi8_r_mbtowc, NULL }, { koi8_r_wctomb, NULL }) /* Windows 8-bit encodings */ DEFENCODING(( "CP1250", /* JDK 1.1 */ "WINDOWS-1250", /* IANA */ "MS-EE", ), cp1250, { cp1250_mbtowc, NULL }, { cp1250_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 })