| /* 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 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. |
| xxx is the name as used in the C code (lowercase). |
| */ |
| |
| |
| DEFENCODING(( "US-ASCII", |
| "ASCII", |
| "ISO646-US", |
| "ISO_646.IRV:1991", |
| "ISO-IR-6", |
| "ANSI_X3.4-1968", |
| "CP367", |
| "IBM367", |
| "US", |
| "csASCII", |
| ), |
| ascii, |
| { ascii_mbtowc }, { ascii_wctomb, NULL }) |
| |
| /* General multi-byte encodings */ |
| |
| DEFENCODING(( "UTF-8", |
| ), |
| utf8, |
| { utf8_mbtowc }, { utf8_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-2", |
| "ISO-10646-UCS-2", |
| "csUnicode", |
| ), |
| ucs2, |
| { ucs2_mbtowc }, { ucs2_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-4", |
| "ISO-10646-UCS-4", |
| "csUCS4", |
| ), |
| ucs4, |
| { ucs4_mbtowc }, { ucs4_wctomb, NULL }) |
| |
| DEFENCODING(( "UTF-16", |
| ), |
| utf16, |
| { utf16_mbtowc }, { utf16_wctomb, NULL }) |
| |
| DEFENCODING(( "UTF-7", |
| "UNICODE-1-1-UTF-7", |
| "csUnicode11UTF7", |
| ), |
| utf7, |
| { utf7_mbtowc }, { utf7_wctomb, utf7_reset }) |
| |
| DEFENCODING(( "UCS-2-INTERNAL", |
| ), |
| ucs2internal, |
| { ucs2internal_mbtowc }, { ucs2internal_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-2-SWAPPED", |
| ), |
| ucs2swapped, |
| { ucs2swapped_mbtowc }, { ucs2swapped_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-2-BE", |
| "UNICODEBIG", /* glibc compatibility */ |
| "UNICODE-1-1", |
| "csUnicode11", |
| ), |
| ucs2be, |
| { ucs2be_mbtowc }, { ucs2be_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-2-LE", |
| "UNICODELITTLE", /* glibc compatibility */ |
| ), |
| ucs2le, |
| { ucs2le_mbtowc }, { ucs2le_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-4-INTERNAL", |
| ), |
| ucs4internal, |
| { ucs4internal_mbtowc }, { ucs4internal_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-4-SWAPPED", |
| ), |
| ucs4swapped, |
| { ucs4swapped_mbtowc }, { ucs4swapped_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-4-BE", |
| ), |
| ucs4be, |
| { ucs4be_mbtowc }, { ucs4be_wctomb, NULL }) |
| |
| DEFENCODING(( "UCS-4-LE", |
| ), |
| ucs4le, |
| { ucs4le_mbtowc }, { ucs4le_wctomb, NULL }) |
| |
| DEFENCODING(( "JAVA", |
| ), |
| java, |
| { java_mbtowc }, { java_wctomb, NULL }) |
| |
| /* Standard 8-bit encodings */ |
| |
| DEFENCODING(( "ISO-8859-1", |
| "ISO_8859-1", |
| "ISO_8859-1:1987", |
| "ISO-IR-100", |
| "CP819", |
| "IBM819", |
| "LATIN1", |
| "L1", |
| "csISOLatin1", |
| ), |
| iso8859_1, |
| { iso8859_1_mbtowc }, { iso8859_1_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-2", |
| "ISO_8859-2", |
| "ISO_8859-2:1987", |
| "ISO-IR-101", |
| "LATIN2", |
| "L2", |
| "csISOLatin2", |
| ), |
| iso8859_2, |
| { iso8859_2_mbtowc }, { iso8859_2_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-3", |
| "ISO_8859-3", |
| "ISO_8859-3:1988", |
| "ISO-IR-109", |
| "LATIN3", |
| "L3", |
| "csISOLatin3", |
| ), |
| iso8859_3, |
| { iso8859_3_mbtowc }, { iso8859_3_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-4", |
| "ISO_8859-4", |
| "ISO_8859-4:1988", |
| "ISO-IR-110", |
| "LATIN4", |
| "L4", |
| "csISOLatin4", |
| ), |
| iso8859_4, |
| { iso8859_4_mbtowc }, { iso8859_4_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-5", |
| "ISO_8859-5", |
| "ISO_8859-5:1988", |
| "ISO-IR-144", |
| "CYRILLIC", |
| "csISOLatinCyrillic", |
| ), |
| iso8859_5, |
| { iso8859_5_mbtowc }, { iso8859_5_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-6", |
| "ISO_8859-6", |
| "ISO_8859-6:1987", |
| "ISO-IR-127", |
| "ECMA-114", |
| "ASMO-708", |
| "ARABIC", |
| "csISOLatinArabic", |
| ), |
| iso8859_6, |
| { iso8859_6_mbtowc }, { iso8859_6_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-7", |
| "ISO_8859-7", |
| "ISO_8859-7:1987", |
| "ISO-IR-126", |
| "ECMA-118", |
| "ELOT_928", |
| "GREEK8", |
| "GREEK", |
| "csISOLatinGreek", |
| ), |
| iso8859_7, |
| { iso8859_7_mbtowc }, { iso8859_7_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-8", |
| "ISO_8859-8", |
| "ISO_8859-8:1988", |
| "ISO-IR-138", |
| "HEBREW", |
| "csISOLatinHebrew", |
| ), |
| iso8859_8, |
| { iso8859_8_mbtowc }, { iso8859_8_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-9", |
| "ISO_8859-9", |
| "ISO_8859-9:1989", |
| "ISO-IR-148", |
| "LATIN5", |
| "L5", |
| "csISOLatin5", |
| ), |
| iso8859_9, |
| { iso8859_9_mbtowc }, { iso8859_9_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-10", |
| "ISO_8859-10", |
| "ISO_8859-10:1992", |
| "ISO-IR-157", |
| "LATIN6", |
| "L6", |
| "csISOLatin6", |
| ), |
| iso8859_10, |
| { iso8859_10_mbtowc }, { iso8859_10_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-13", |
| "ISO_8859-13", |
| "ISO-IR-179", |
| "LATIN7", |
| "L7", |
| ), |
| iso8859_13, |
| { iso8859_13_mbtowc }, { iso8859_13_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-14", |
| "ISO_8859-14", |
| "ISO_8859-14:1998", |
| "LATIN8", |
| "L8", |
| ), |
| iso8859_14, |
| { iso8859_14_mbtowc }, { iso8859_14_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-8859-15", |
| "ISO_8859-15", |
| "ISO_8859-15:1998", |
| ), |
| iso8859_15, |
| { iso8859_15_mbtowc }, { iso8859_15_wctomb, NULL }) |
| |
| DEFENCODING(( "KOI8-R", |
| "csKOI8R", |
| ), |
| koi8_r, |
| { koi8_r_mbtowc }, { koi8_r_wctomb, NULL }) |
| |
| DEFENCODING(( "KOI8-U", |
| ), |
| 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", |
| "WINDOWS-1250", |
| "MS-EE", |
| ), |
| cp1250, |
| { cp1250_mbtowc }, { cp1250_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1251", |
| "WINDOWS-1251", |
| "MS-CYRL", |
| ), |
| cp1251, |
| { cp1251_mbtowc }, { cp1251_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1252", |
| "WINDOWS-1252", |
| "MS-ANSI", |
| ), |
| cp1252, |
| { cp1252_mbtowc }, { cp1252_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1253", |
| "WINDOWS-1253", |
| "MS-GREEK", |
| ), |
| cp1253, |
| { cp1253_mbtowc }, { cp1253_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1254", |
| "WINDOWS-1254", |
| "MS-TURK", |
| ), |
| cp1254, |
| { cp1254_mbtowc }, { cp1254_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1255", |
| "WINDOWS-1255", |
| "MS-HEBR", |
| ), |
| cp1255, |
| { cp1255_mbtowc }, { cp1255_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1256", |
| "WINDOWS-1256", |
| "MS-ARAB", |
| ), |
| cp1256, |
| { cp1256_mbtowc }, { cp1256_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1257", |
| "WINDOWS-1257", |
| "WINBALTRIM", |
| ), |
| cp1257, |
| { cp1257_mbtowc }, { cp1257_wctomb, NULL }) |
| |
| DEFENCODING(( "CP1258", |
| "WINDOWS-1258", |
| ), |
| cp1258, |
| { cp1258_mbtowc }, { cp1258_wctomb, NULL }) |
| |
| /* DOS 8-bit encodings */ |
| |
| DEFENCODING(( "CP850", |
| "IBM850", |
| "850", |
| "csPC850Multilingual", |
| ), |
| cp850, |
| { cp850_mbtowc }, { cp850_wctomb, NULL }) |
| |
| DEFENCODING(( "CP866", |
| "IBM866", |
| "866", |
| "csIBM866", |
| ), |
| cp866, |
| { cp866_mbtowc }, { cp866_wctomb, NULL }) |
| |
| /* Macintosh 8-bit encodings */ |
| |
| DEFENCODING(( "MacRoman", /* This is the best table for MACINTOSH. The ones */ |
| "MACINTOSH", /* in glibc and FreeBSD-iconv are bad quality. */ |
| "MAC", |
| "csMacintosh", |
| ), |
| mac_roman, |
| { mac_roman_mbtowc }, { mac_roman_wctomb, NULL }) |
| |
| DEFENCODING(( "MacCentralEurope", |
| ), |
| mac_centraleurope, |
| { mac_centraleurope_mbtowc }, { mac_centraleurope_wctomb, NULL }) |
| |
| DEFENCODING(( "MacIceland", |
| ), |
| mac_iceland, |
| { mac_iceland_mbtowc }, { mac_iceland_wctomb, NULL }) |
| |
| DEFENCODING(( "MacCroatian", |
| ), |
| mac_croatian, |
| { mac_croatian_mbtowc }, { mac_croatian_wctomb, NULL }) |
| |
| DEFENCODING(( "MacRomania", |
| ), |
| mac_romania, |
| { mac_romania_mbtowc }, { mac_romania_wctomb, NULL }) |
| |
| DEFENCODING(( "MacCyrillic", |
| ), |
| mac_cyrillic, |
| { mac_cyrillic_mbtowc }, { mac_cyrillic_wctomb, NULL }) |
| |
| DEFENCODING(( "MacUkraine", |
| ), |
| mac_ukraine, |
| { mac_ukraine_mbtowc }, { mac_ukraine_wctomb, NULL }) |
| |
| DEFENCODING(( "MacGreek", |
| ), |
| mac_greek, |
| { mac_greek_mbtowc }, { mac_greek_wctomb, NULL }) |
| |
| DEFENCODING(( "MacTurkish", |
| ), |
| mac_turkish, |
| { mac_turkish_mbtowc }, { mac_turkish_wctomb, NULL }) |
| |
| DEFENCODING(( "MacHebrew", |
| ), |
| mac_hebrew, |
| { mac_hebrew_mbtowc }, { mac_hebrew_wctomb, NULL }) |
| |
| DEFENCODING(( "MacArabic", |
| ), |
| mac_arabic, |
| { mac_arabic_mbtowc }, { mac_arabic_wctomb, NULL }) |
| |
| DEFENCODING(( "MacThai", |
| ), |
| mac_thai, |
| { mac_thai_mbtowc }, { mac_thai_wctomb, NULL }) |
| |
| /* Other platform specific 8-bit encodings */ |
| |
| DEFENCODING(( "HP-ROMAN8", |
| "ROMAN8", |
| "R8", |
| "csHPRoman8", |
| ), |
| 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", |
| "TIS620", |
| "TIS620-0", |
| "TIS620.2529-1", |
| "TIS620.2533-0", |
| "TIS620.2533-1", |
| "ISO-IR-166", |
| ), |
| tis620, |
| { tis620_mbtowc }, { tis620_wctomb, NULL }) |
| |
| DEFENCODING(( "CP874", |
| "WINDOWS-874", |
| ), |
| cp874, |
| { cp874_mbtowc }, { cp874_wctomb, NULL }) |
| |
| DEFENCODING(( "VISCII", |
| "VISCII1.1-1", |
| "csVISCII", |
| ), |
| viscii, |
| { viscii_mbtowc }, { viscii_wctomb, NULL }) |
| |
| DEFENCODING(( "TCVN", |
| "TCVN-5712", |
| "TCVN5712-1", |
| "TCVN5712-1:1993", |
| ), |
| tcvn, |
| { tcvn_mbtowc }, { tcvn_wctomb, NULL }) |
| |
| /* CJK character sets */ |
| |
| DEFENCODING(( "JIS_X0201", |
| "JISX0201-1976", |
| "JISX0201.1976-0", |
| "X0201", |
| "csHalfWidthKatakana", |
| ), |
| jisx0201, |
| { jisx0201_mbtowc }, { jisx0201_wctomb, NULL }) |
| |
| DEFENCODING(( "JIS_X0208", |
| "JIS_X0208.1983-0", |
| "JIS_X0208.1983-1", |
| "JIS_X0208-1983", |
| "JIS_X0208-1990", |
| "JIS0208", |
| "X0208", |
| "ISO-IR-87", |
| "csISO87JISX0208", |
| ), |
| jisx0208, |
| { jisx0208_mbtowc }, { jisx0208_wctomb, NULL }) |
| |
| DEFENCODING(( "JIS_X0212", |
| "JIS_X0212.1990-0", |
| "JIS_X0212-1990", |
| "X0212", |
| "ISO-IR-159", |
| "csISO159JISX02121990", |
| ), |
| jisx0212, |
| { jisx0212_mbtowc }, { jisx0212_wctomb, NULL }) |
| |
| DEFENCODING(( "GB_2312-80", |
| "ISO-IR-58", |
| "csISO58GB231280", |
| "CHINESE", |
| ), |
| gb2312, |
| { gb2312_mbtowc }, { gb2312_wctomb, NULL }) |
| |
| DEFENCODING(( "KSC_5601", |
| "KSC5601.1987-0", |
| "KS_C_5601-1987", |
| "KS_C_5601-1989", |
| "ISO-IR-149", |
| "csKSC56011987", |
| "KOREAN", |
| "CP949", |
| ), |
| ksc5601, |
| { ksc5601_mbtowc }, { ksc5601_wctomb, NULL }) |
| |
| /* CJK encodings */ |
| |
| DEFENCODING(( "EUC-JP", |
| "EUCJP", |
| "Extended_UNIX_Code_Packed_Format_for_Japanese", |
| "csEUCPkdFmtJapanese", |
| ), |
| euc_jp, |
| { euc_jp_mbtowc }, { euc_jp_wctomb, NULL }) |
| |
| DEFENCODING(( "SJIS", |
| "SHIFT_JIS", |
| "SHIFT-JIS", |
| "MS_KANJI", |
| "csShiftJIS", |
| ), |
| sjis, |
| { sjis_mbtowc }, { sjis_wctomb, NULL }) |
| |
| DEFENCODING(( "CP932", |
| ), |
| cp932, |
| { cp932_mbtowc }, { cp932_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-2022-JP", |
| "csISO2022JP", |
| ), |
| iso2022_jp, |
| { iso2022_jp_mbtowc }, { iso2022_jp_wctomb, iso2022_jp_reset }) |
| |
| DEFENCODING(( "ISO-2022-JP-1", |
| ), |
| iso2022_jp1, |
| { iso2022_jp1_mbtowc }, { iso2022_jp1_wctomb, iso2022_jp1_reset }) |
| |
| DEFENCODING(( "ISO-2022-JP-2", |
| "csISO2022JP2", |
| ), |
| iso2022_jp2, |
| { iso2022_jp2_mbtowc }, { iso2022_jp2_wctomb, iso2022_jp2_reset }) |
| |
| DEFENCODING(( "EUC-CN", |
| "EUCCN", |
| "GB2312", /* yes, GB2312 as registered by IANA is actually EUC-CN */ |
| "csGB2312", |
| ), |
| euc_cn, |
| { euc_cn_mbtowc }, { euc_cn_wctomb, NULL }) |
| |
| DEFENCODING(( "GBK", |
| "CP936", |
| ), |
| ces_gbk, |
| { ces_gbk_mbtowc }, { ces_gbk_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-2022-CN", |
| "csISO2022CN", |
| ), |
| iso2022_cn, |
| { iso2022_cn_mbtowc }, { iso2022_cn_wctomb, iso2022_cn_reset }) |
| |
| DEFENCODING(( "ISO-2022-CN-EXT", |
| ), |
| iso2022_cn_ext, |
| { iso2022_cn_ext_mbtowc }, { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset }) |
| |
| DEFENCODING(( "HZ", |
| "HZ-GB-2312", |
| ), |
| hz, |
| { hz_mbtowc }, { hz_wctomb, hz_reset }) |
| |
| DEFENCODING(( "EUC-TW", |
| "EUCTW", |
| "csEUCTW", |
| ), |
| euc_tw, |
| { euc_tw_mbtowc }, { euc_tw_wctomb, NULL }) |
| |
| DEFENCODING(( "BIG5", |
| "BIG-5", |
| "BIG-FIVE", |
| "BIGFIVE", |
| "csBig5", |
| ), |
| ces_big5, |
| { ces_big5_mbtowc }, { ces_big5_wctomb, NULL }) |
| |
| DEFENCODING(( "CP950", |
| ), |
| cp950, |
| { cp950_mbtowc }, { cp950_wctomb, NULL }) |
| |
| DEFENCODING(( "EUC-KR", |
| "EUCKR", |
| "csEUCKR", |
| ), |
| euc_kr, |
| { euc_kr_mbtowc }, { euc_kr_wctomb, NULL }) |
| |
| DEFENCODING(( "JOHAB", |
| "CP1361", |
| ), |
| johab, |
| { johab_mbtowc }, { johab_wctomb, NULL }) |
| |
| DEFENCODING(( "ISO-2022-KR", |
| "csISO2022KR", |
| ), |
| iso2022_kr, |
| { iso2022_kr_mbtowc }, { iso2022_kr_wctomb, iso2022_kr_reset }) |
| |