1 /* Copyright (C
) 1999-2007 Free Software Foundation
, Inc.
2 This file is part of the GNU LIBICONV Library.
4 The GNU LIBICONV Library is free software
; you can redistribute it
5 and
/or modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation
; either version
2
7 of the License
, or (at your option
) any later version.
9 The GNU LIBICONV Library is distributed in the hope that it will be
10 useful
, but WITHOUT ANY WARRANTY
; without even the implied warranty of
11 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with the GNU LIBICONV Library
; see the file COPYING.LIB.
16 If not
, write to the Free Software Foundation
, Inc.
, 51 Franklin Street
,
17 Fifth Floor
, Boston
, MA
02110-1301, USA.
*/
19 /* The list of all system independent user
-visible encodings.
*/
21 /* By convention
, an encoding named FOOBAR or FOO_BAR or FOO
-BAR is defined
22 in a file named
"foobar.h" through the functions foobar_mbtowc and
23 foobar_wctomb (and possibly foobar_reset
).
*/
25 /* DEFENCODING(( name
, alias1
, ...
, ),
27 { xxx_mbtowc
, xxx_flushwc
},
28 { xxx_wctomb
, xxx_reset
})
29 defines an encoding with the given name and aliases.
(There is no
30 difference between a name and an alias. By convention
, the name is chosen
31 as the preferred MIME name or the standard name.
)
32 All names and aliases must be in ASCII. Case is not significant
, but
33 for the
"cs*" aliases mixed case is preferred
, otherwise UPPERCASE is
34 preferred. For all names and aliases
, note where it comes from.
35 xxx is the name as used in the C
code (lowercase
).
39 DEFENCODING(( "US-ASCII", /* IANA
*/
40 "ASCII", /* IANA
, JDK
1.1 */
41 "ISO646-US", /* IANA
*/
42 "ISO_646.IRV:1991", /* IANA
*/
43 "ISO-IR-6", /* IANA
*/
44 "ANSI_X3.4-1968", /* IANA
*/
45 "ANSI_X3.4-1986", /* IANA
*/
50 /*"ISO646.1991-IRV", X11R6.4
*/
53 { ascii_mbtowc
, NULL
}, { ascii_wctomb
, NULL
})
55 /* General multi
-byte encodings
*/
57 DEFENCODING(( "UTF-8", /* IANA
, RFC
2279 */
59 /*"CP65001", Windows
*/
62 { utf8_mbtowc
, NULL
}, { utf8_wctomb
, NULL
})
64 DEFENCODING(( "UCS-2", /* glibc
*/
65 "ISO-10646-UCS-2", /* IANA
*/
66 "csUnicode", /* IANA
*/
69 { ucs2_mbtowc
, NULL
}, { ucs2_wctomb
, NULL
})
71 DEFENCODING(( "UCS-2BE", /* glibc
*/
72 "UNICODEBIG", /* glibc
*/
73 "UNICODE-1-1", /* IANA
*/
74 "csUnicode11", /* IANA
*/
75 /*"CP1201", Windows
*/
78 { ucs2be_mbtowc
, NULL
}, { ucs2be_wctomb
, NULL
})
80 DEFENCODING(( "UCS-2LE", /* glibc
*/
81 "UNICODELITTLE", /* glibc
*/
82 /*"CP1200", Windows
*/
85 { ucs2le_mbtowc
, NULL
}, { ucs2le_wctomb
, NULL
})
87 DEFENCODING(( "UCS-4", /* glibc
*/
88 "ISO-10646-UCS-4", /* IANA
*/
92 { ucs4_mbtowc
, NULL
}, { ucs4_wctomb
, NULL
})
94 DEFENCODING(( "UCS-4BE", /* glibc
*/
95 /*"CP12001", Windows
*/
98 { ucs4be_mbtowc
, NULL
}, { ucs4be_wctomb
, NULL
})
100 DEFENCODING(( "UCS-4LE", /* glibc
*/
101 /*"CP12000", Windows
*/
104 { ucs4le_mbtowc
, NULL
}, { ucs4le_wctomb
, NULL
})
106 DEFENCODING(( "UTF-16", /* IANA
, RFC
2781 */
109 { utf16_mbtowc
, NULL
}, { utf16_wctomb
, NULL
})
111 DEFENCODING(( "UTF-16BE", /* IANA
, RFC
2781 */
114 { utf16be_mbtowc
, NULL
}, { utf16be_wctomb
, NULL
})
116 DEFENCODING(( "UTF-16LE", /* IANA
, RFC
2781 */
119 { utf16le_mbtowc
, NULL
}, { utf16le_wctomb
, NULL
})
121 DEFENCODING(( "UTF-32", /* IANA
, Unicode
3.1 */
124 { utf32_mbtowc
, NULL
}, { utf32_wctomb
, NULL
})
126 DEFENCODING(( "UTF-32BE", /* IANA
, Unicode
3.1 */
129 { utf32be_mbtowc
, NULL
}, { utf32be_wctomb
, NULL
})
131 DEFENCODING(( "UTF-32LE", /* IANA
, Unicode
3.1 */
134 { utf32le_mbtowc
, NULL
}, { utf32le_wctomb
, NULL
})
136 DEFENCODING(( "UTF-7", /* IANA
, RFC
2152 */
137 "UNICODE-1-1-UTF-7", /* IANA
, RFC
1642 */
138 "csUnicode11UTF7", /* IANA
*/
139 /*"CP65000", Windows
*/
142 { utf7_mbtowc
, NULL
}, { utf7_wctomb
, utf7_reset
})
144 DEFENCODING(( "UCS-2-INTERNAL", /* libiconv
*/
147 { ucs2internal_mbtowc
, NULL
}, { ucs2internal_wctomb
, NULL
})
149 DEFENCODING(( "UCS-2-SWAPPED", /* libiconv
*/
152 { ucs2swapped_mbtowc
, NULL
}, { ucs2swapped_wctomb
, NULL
})
154 DEFENCODING(( "UCS-4-INTERNAL", /* libiconv
*/
157 { ucs4internal_mbtowc
, NULL
},{ ucs4internal_wctomb
, NULL
})
159 DEFENCODING(( "UCS-4-SWAPPED", /* libiconv
*/
162 { ucs4swapped_mbtowc
, NULL
}, { ucs4swapped_wctomb
, NULL
})
167 { c99_mbtowc
, NULL
}, { c99_wctomb
, NULL
})
169 DEFENCODING(( "JAVA",
172 { java_mbtowc
, NULL
}, { java_wctomb
, NULL
})
174 /* Standard
8-bit encodings
*/
176 DEFENCODING(( "ISO-8859-1", /* IANA
*/
177 "ISO_8859-1", /* IANA
*/
178 "ISO_8859-1:1987", /* IANA
*/
179 "ISO-IR-100", /* IANA
*/
184 "csISOLatin1", /* IANA
*/
185 "ISO8859-1", /* X11R6.4
, glibc
, FreeBSD
*/
186 /*"ISO8859_1", JDK
1.1 */
187 /*"CP28591", Windows
*/
190 { iso8859_1_mbtowc
, NULL
}, { iso8859_1_wctomb
, NULL
})
192 DEFENCODING(( "ISO-8859-2", /* IANA
*/
193 "ISO_8859-2", /* IANA
*/
194 "ISO_8859-2:1987", /* IANA
*/
195 "ISO-IR-101", /* IANA
*/
198 "csISOLatin2", /* IANA
*/
199 "ISO8859-2", /* X11R6.4
, glibc
, FreeBSD
*/
200 /*"ISO8859_2", JDK
1.1 */
201 /*"CP28592", Windows
*/
204 { iso8859_2_mbtowc
, NULL
}, { iso8859_2_wctomb
, NULL
})
206 DEFENCODING(( "ISO-8859-3", /* IANA
*/
207 "ISO_8859-3", /* IANA
*/
208 "ISO_8859-3:1988", /* IANA
*/
209 "ISO-IR-109", /* IANA
*/
212 "csISOLatin3", /* IANA
*/
213 "ISO8859-3", /* X11R6.4
, glibc
, FreeBSD
*/
214 /*"ISO8859_3", JDK
1.1 */
215 /*"CP28593", Windows
*/
218 { iso8859_3_mbtowc
, NULL
}, { iso8859_3_wctomb
, NULL
})
220 DEFENCODING(( "ISO-8859-4", /* IANA
*/
221 "ISO_8859-4", /* IANA
*/
222 "ISO_8859-4:1988", /* IANA
*/
223 "ISO-IR-110", /* IANA
*/
226 "csISOLatin4", /* IANA
*/
227 "ISO8859-4", /* X11R6.4
, glibc
, FreeBSD
*/
228 /*"ISO8859_4", JDK
1.1 */
229 /*"CP28594", Windows
*/
232 { iso8859_4_mbtowc
, NULL
}, { iso8859_4_wctomb
, NULL
})
234 DEFENCODING(( "ISO-8859-5", /* IANA
*/
235 "ISO_8859-5", /* IANA
*/
236 "ISO_8859-5:1988", /* IANA
*/
237 "ISO-IR-144", /* IANA
*/
238 "CYRILLIC", /* IANA
*/
239 "csISOLatinCyrillic", /* IANA
*/
240 "ISO8859-5", /* X11R6.4
, glibc
, FreeBSD
*/
241 /*"ISO8859_5", JDK
1.1 */
242 /*"CP28595", Windows
*/
245 { iso8859_5_mbtowc
, NULL
}, { iso8859_5_wctomb
, NULL
})
247 DEFENCODING(( "ISO-8859-6", /* IANA
*/
248 "ISO_8859-6", /* IANA
*/
249 "ISO_8859-6:1987", /* IANA
*/
250 "ISO-IR-127", /* IANA
*/
251 "ECMA-114", /* IANA
*/
252 "ASMO-708", /* IANA
*/
254 "csISOLatinArabic", /* IANA
*/
255 "ISO8859-6", /* X11R6.4
, glibc
, FreeBSD
*/
256 /*"ISO8859_6", JDK
1.1 */
257 /*"CP28596", Windows
*/
260 { iso8859_6_mbtowc
, NULL
}, { iso8859_6_wctomb
, NULL
})
262 DEFENCODING(( "ISO-8859-7", /* IANA
, RFC
1947 */
263 "ISO_8859-7", /* IANA
*/
264 "ISO_8859-7:1987", /* IANA
*/
266 "ISO-IR-126", /* IANA
*/
267 "ECMA-118", /* IANA
*/
268 "ELOT_928", /* IANA
*/
271 "csISOLatinGreek", /* IANA
*/
272 "ISO8859-7", /* X11R6.4
, glibc
, FreeBSD
*/
273 /*"ISO8859_7", JDK
1.1 */
274 /*"CP28597", Windows
*/
277 { iso8859_7_mbtowc
, NULL
}, { iso8859_7_wctomb
, NULL
})
279 DEFENCODING(( "ISO-8859-8", /* IANA
*/
280 "ISO_8859-8", /* IANA
*/
281 "ISO_8859-8:1988", /* IANA
*/
282 "ISO-IR-138", /* IANA
*/
284 "csISOLatinHebrew", /* IANA
*/
285 "ISO8859-8", /* X11R6.4
, glibc
, FreeBSD
*/
286 /*"ISO8859_8", JDK
1.1 */
287 /*"CP28598", Windows
*/
288 /*"CP38598", Windows
*/
291 { iso8859_8_mbtowc
, NULL
}, { iso8859_8_wctomb
, NULL
})
293 DEFENCODING(( "ISO-8859-9", /* IANA
*/
294 "ISO_8859-9", /* IANA
*/
295 "ISO_8859-9:1989", /* IANA
*/
296 "ISO-IR-148", /* IANA
*/
299 "csISOLatin5", /* IANA
*/
300 "ISO8859-9", /* X11R6.4
, glibc
, FreeBSD
*/
301 /*"ISO8859_9", JDK
1.1 */
302 /*"CP28599", Windows
*/
305 { iso8859_9_mbtowc
, NULL
}, { iso8859_9_wctomb
, NULL
})
307 DEFENCODING(( "ISO-8859-10", /* IANA
*/
309 "ISO_8859-10:1992", /* IANA
*/
310 "ISO-IR-157", /* IANA
*/
313 "csISOLatin6", /* IANA
*/
314 "ISO8859-10", /* X11R6.4
, glibc
, FreeBSD
*/
317 { iso8859_10_mbtowc
, NULL
}, { iso8859_10_wctomb
, NULL
})
319 DEFENCODING(( "ISO-8859-11", /* glibc
*/
321 "ISO8859-11", /* X11R6.7
, glibc
*/
324 { iso8859_11_mbtowc
, NULL
}, { iso8859_11_wctomb
, NULL
})
326 DEFENCODING(( "ISO-8859-13", /* IANA
, glibc
*/
328 "ISO-IR-179", /* glibc
*/
329 "LATIN7", /* glibc
*/
331 "ISO8859-13", /* glibc
, FreeBSD
*/
334 { iso8859_13_mbtowc
, NULL
}, { iso8859_13_wctomb
, NULL
})
336 DEFENCODING(( "ISO-8859-14", /* IANA
, glibc
*/
337 "ISO_8859-14", /* IANA
*/
338 "ISO_8859-14:1998", /* IANA
, glibc
*/
339 "ISO-IR-199", /* IANA
*/
340 "LATIN8", /* IANA
, glibc
*/
341 "L8", /* IANA
, glibc
*/
342 "ISO-CELTIC", /* IANA
*/
343 "ISO8859-14", /* glibc
, FreeBSD
*/
346 { iso8859_14_mbtowc
, NULL
}, { iso8859_14_wctomb
, NULL
})
348 DEFENCODING(( "ISO-8859-15", /* IANA
, glibc
*/
349 "ISO_8859-15", /* IANA
*/
350 "ISO_8859-15:1998", /* glibc
*/
352 "LATIN-9", /* IANA
*/
353 "ISO8859-15", /* glibc
, FreeBSD
*/
354 /*"CP28605", Windows
*/
357 { iso8859_15_mbtowc
, NULL
}, { iso8859_15_wctomb
, NULL
})
359 DEFENCODING(( "ISO-8859-16", /* IANA
*/
360 "ISO_8859-16", /* IANA
*/
361 "ISO_8859-16:2001", /* IANA
*/
362 "ISO-IR-226", /* IANA
*/
363 "LATIN10", /* IANA
*/
365 "ISO8859-16", /* glibc
, FreeBSD
*/
368 { iso8859_16_mbtowc
, NULL
}, { iso8859_16_wctomb
, NULL
})
370 DEFENCODING(( "KOI8-R", /* IANA
, RFC
1489, X11R6.4
, JDK
1.1 */
371 "csKOI8R", /* IANA
*/
372 /*"CP20866", Windows
*/
375 { koi8_r_mbtowc
, NULL
}, { koi8_r_wctomb
, NULL
})
377 DEFENCODING(( "KOI8-U", /* IANA
, RFC
2319 */
380 { koi8_u_mbtowc
, NULL
}, { koi8_u_wctomb
, NULL
})
382 DEFENCODING(( "KOI8-RU",
385 { koi8_ru_mbtowc
, NULL
}, { koi8_ru_wctomb
, NULL
})
387 /* Windows
8-bit encodings
*/
389 DEFENCODING(( "CP1250", /* JDK
1.1 */
390 "WINDOWS-1250", /* IANA
*/
394 { cp1250_mbtowc
, NULL
}, { cp1250_wctomb
, NULL
})
396 DEFENCODING(( "CP1251", /* JDK
1.1 */
397 "WINDOWS-1251", /* IANA
*/
401 { cp1251_mbtowc
, NULL
}, { cp1251_wctomb
, NULL
})
403 DEFENCODING(( "CP1252", /* JDK
1.1 */
404 "WINDOWS-1252", /* IANA
*/
408 { cp1252_mbtowc
, NULL
}, { cp1252_wctomb
, NULL
})
410 DEFENCODING(( "CP1253", /* JDK
1.1 */
411 "WINDOWS-1253", /* IANA
*/
415 { cp1253_mbtowc
, NULL
}, { cp1253_wctomb
, NULL
})
417 DEFENCODING(( "CP1254", /* JDK
1.1 */
418 "WINDOWS-1254", /* IANA
*/
422 { cp1254_mbtowc
, NULL
}, { cp1254_wctomb
, NULL
})
424 DEFENCODING(( "CP1255", /* JDK
1.1 */
425 "WINDOWS-1255", /* IANA
*/
429 { cp1255_mbtowc
, cp1255_flushwc
}, { cp1255_wctomb
, NULL
})
431 DEFENCODING(( "CP1256", /* JDK
1.1 */
432 "WINDOWS-1256", /* IANA
*/
436 { cp1256_mbtowc
, NULL
}, { cp1256_wctomb
, NULL
})
438 DEFENCODING(( "CP1257", /* JDK
1.1 */
439 "WINDOWS-1257", /* IANA
*/
443 { cp1257_mbtowc
, NULL
}, { cp1257_wctomb
, NULL
})
445 DEFENCODING(( "CP1258", /* JDK
1.1 */
446 "WINDOWS-1258", /* IANA
*/
449 { cp1258_mbtowc
, cp1258_flushwc
}, { cp1258_wctomb
, NULL
})
451 /* DOS
8-bit encodings
*/
453 DEFENCODING(( "CP850", /* IANA
, JDK
1.1 */
456 "csPC850Multilingual", /* IANA
*/
459 { cp850_mbtowc
, NULL
}, { cp850_wctomb
, NULL
})
461 DEFENCODING(( "CP862", /* IANA
, JDK
1.1 */
464 "csPC862LatinHebrew", /* IANA
*/
467 { cp862_mbtowc
, NULL
}, { cp862_wctomb
, NULL
})
469 DEFENCODING(( "CP866", /* IANA
, JDK
1.1 */
472 "csIBM866", /* IANA
*/
475 { cp866_mbtowc
, NULL
}, { cp866_wctomb
, NULL
})
477 /* Macintosh
8-bit encodings
*/
479 DEFENCODING(( "MacRoman", /* JDK
1.1 */
480 /* This is the best table for MACINTOSH. The ones
*/
481 /* in glibc and FreeBSD
-iconv are bad quality.
*/
482 "MACINTOSH", /* IANA
*/
484 "csMacintosh", /* IANA
*/
485 /*"CP10000", Windows
*/
488 { mac_roman_mbtowc
, NULL
}, { mac_roman_wctomb
, NULL
})
490 DEFENCODING(( "MacCentralEurope", /* JDK
1.1 */
491 /*"CP10029", Windows
*/
494 { mac_centraleurope_mbtowc
, NULL
}, { mac_centraleurope_wctomb
, NULL
})
496 DEFENCODING(( "MacIceland", /* JDK
1.1 */
497 /*"CP10079", Windows
*/
500 { mac_iceland_mbtowc
, NULL
}, { mac_iceland_wctomb
, NULL
})
502 DEFENCODING(( "MacCroatian", /* JDK
1.1 */
503 /*"CP10082", Windows
*/
506 { mac_croatian_mbtowc
, NULL
}, { mac_croatian_wctomb
, NULL
})
508 DEFENCODING(( "MacRomania", /* JDK
1.1 */
509 /*"CP10010", Windows
*/
512 { mac_romania_mbtowc
, NULL
}, { mac_romania_wctomb
, NULL
})
514 DEFENCODING(( "MacCyrillic", /* JDK
1.1 */
515 /*"CP10007", Windows
*/
518 { mac_cyrillic_mbtowc
, NULL
}, { mac_cyrillic_wctomb
, NULL
})
520 DEFENCODING(( "MacUkraine", /* JDK
1.1 */
521 /*"CP10017", Windows
*/
524 { mac_ukraine_mbtowc
, NULL
}, { mac_ukraine_wctomb
, NULL
})
526 DEFENCODING(( "MacGreek", /* JDK
1.1 */
527 /*"CP10006", Windows
*/
530 { mac_greek_mbtowc
, NULL
}, { mac_greek_wctomb
, NULL
})
532 DEFENCODING(( "MacTurkish", /* JDK
1.1 */
533 /*"CP10081", Windows
*/
536 { mac_turkish_mbtowc
, NULL
}, { mac_turkish_wctomb
, NULL
})
538 DEFENCODING(( "MacHebrew", /* JDK
1.1 */
539 /*"CP10005", Windows
*/
542 { mac_hebrew_mbtowc
, NULL
}, { mac_hebrew_wctomb
, NULL
})
544 DEFENCODING(( "MacArabic", /* JDK
1.1 */
545 /*"CP10004", Windows
*/
548 { mac_arabic_mbtowc
, NULL
}, { mac_arabic_wctomb
, NULL
})
550 DEFENCODING(( "MacThai", /* JDK
1.1 */
551 /*"CP10021", Windows
*/
554 { mac_thai_mbtowc
, NULL
}, { mac_thai_wctomb
, NULL
})
556 /* Other platform specific
8-bit encodings
*/
558 DEFENCODING(( "HP-ROMAN8", /* IANA
, X11R6.4
*/
561 "csHPRoman8", /* IANA
*/
564 { hp_roman8_mbtowc
, NULL
}, { hp_roman8_wctomb
, NULL
})
566 DEFENCODING(( "NEXTSTEP",
569 { nextstep_mbtowc
, NULL
}, { nextstep_wctomb
, NULL
})
571 /* Regional
8-bit encodings used for a single language
*/
573 DEFENCODING(( "ARMSCII-8",
576 { armscii_8_mbtowc
, NULL
}, { armscii_8_wctomb
, NULL
})
578 DEFENCODING(( "GEORGIAN-ACADEMY",
581 { georgian_academy_mbtowc
, NULL
}, { georgian_academy_wctomb
, NULL
})
583 DEFENCODING(( "GEORGIAN-PS",
586 { georgian_ps_mbtowc
, NULL
}, { georgian_ps_wctomb
, NULL
})
588 DEFENCODING(( "KOI8-T",
591 { koi8_t_mbtowc
, NULL
}, { koi8_t_wctomb
, NULL
})
593 DEFENCODING(( "PT154", /* IANA
, glibc
*/
594 "PTCP154", /* IANA
*/
596 "CYRILLIC-ASIAN", /* IANA
*/
597 "csPTCP154", /* IANA
*/
600 { pt154_mbtowc
, NULL
}, { pt154_wctomb
, NULL
})
602 DEFENCODING(( "RK1048", /* IANA
, glibc
*/
603 "STRK1048-2002", /* IANA
*/
604 "KZ-1048", /* IANA
*/
605 "csKZ1048", /* IANA
*/
608 { rk1048_mbtowc
, NULL
}, { rk1048_wctomb
, NULL
})
610 DEFENCODING(( "MULELAO-1",
613 { mulelao_mbtowc
, NULL
}, { mulelao_wctomb
, NULL
})
615 DEFENCODING(( "CP1133",
619 { cp1133_mbtowc
, NULL
}, { cp1133_wctomb
, NULL
})
621 DEFENCODING(( "TIS-620", /* IANA
*/
622 "TIS620", /* glibc
*/
623 "TIS620-0", /* glibc
*/
624 "TIS620.2529-1", /* glibc
*/
625 "TIS620.2533-0", /* glibc
*/
627 "ISO-IR-166", /* glibc
*/
630 { tis620_mbtowc
, NULL
}, { tis620_wctomb
, NULL
})
632 DEFENCODING(( "CP874", /* JDK
1.1 */
636 { cp874_mbtowc
, NULL
}, { cp874_wctomb
, NULL
})
638 DEFENCODING(( "VISCII", /* IANA
, RFC
1456 */
640 "csVISCII", /* IANA
*/
643 { viscii_mbtowc
, NULL
}, { viscii_wctomb
, NULL
})
645 DEFENCODING(( "TCVN",
651 { tcvn_mbtowc
, tcvn_flushwc
}, { tcvn_wctomb
, NULL
})
653 /* CJK character
sets (not documented
) */
655 DEFENCODING(( "JIS_C6220-1969-RO", /* IANA
*/
656 "ISO646-JP", /* IANA
*/
657 "ISO-IR-14", /* IANA
*/
659 "csISO14JISC6220ro", /* IANA
*/
662 { iso646_jp_mbtowc
, NULL
}, { iso646_jp_wctomb
, NULL
})
664 DEFENCODING(( "JIS_X0201", /* IANA
*/
667 "csHalfWidthKatakana", /* IANA
*/
668 /*"JISX0201.1976-0", X11R6.4
*/
669 /*"JIS0201", JDK
1.1 */
672 { jisx0201_mbtowc
, NULL
}, { jisx0201_wctomb
, NULL
})
674 DEFENCODING(( "JIS_X0208",
675 "JIS_X0208-1983", /* IANA
*/
679 "ISO-IR-87", /* IANA
*/
680 "JIS_C6226-1983", /* IANA
*/
681 "csISO87JISX0208", /* IANA
*/
682 /*"JISX0208.1983-0", X11R6.4
*/
683 /*"JISX0208.1990-0", X11R6.4
*/
684 /*"JIS0208", JDK
1.1 */
687 { jisx0208_mbtowc
, NULL
}, { jisx0208_wctomb
, NULL
})
689 DEFENCODING(( "JIS_X0212",
691 "JIS_X0212-1990", /* IANA
*/
693 "ISO-IR-159", /* IANA
*/
694 "csISO159JISX02121990", /* IANA
*/
695 /*"JISX0212.1990-0", X11R6.4
*/
696 /*"JIS0212", JDK
1.1 */
699 { jisx0212_mbtowc
, NULL
}, { jisx0212_wctomb
, NULL
})
701 DEFENCODING(( "GB_1988-80", /* IANA
*/
702 "ISO646-CN", /* IANA
*/
703 "ISO-IR-57", /* IANA
*/
705 "csISO57GB1988", /* IANA
*/
708 { iso646_cn_mbtowc
, NULL
}, { iso646_cn_wctomb
, NULL
})
710 DEFENCODING(( "GB_2312-80", /* IANA
*/
711 "ISO-IR-58", /* IANA
*/
712 "csISO58GB231280", /* IANA
*/
713 "CHINESE", /* IANA
*/
714 /*"GB2312.1980-0", X11R6.4
*/
717 { gb2312_mbtowc
, NULL
}, { gb2312_wctomb
, NULL
})
719 DEFENCODING(( "ISO-IR-165",
720 "CN-GB-ISOIR165", /* RFC
1922 */
723 { isoir165_mbtowc
, NULL
}, { isoir165_wctomb
, NULL
})
725 DEFENCODING(( "KSC_5601", /* IANA
*/
726 "KS_C_5601-1987", /* IANA
*/
727 "KS_C_5601-1989", /* IANA
*/
728 "ISO-IR-149", /* IANA
*/
729 "csKSC56011987", /* IANA
*/
731 /*"KSC5601.1987-0", X11R6.4
*/
732 /*"KSX1001:1992", Ken Lunde
*/
735 { ksc5601_mbtowc
, NULL
}, { ksc5601_wctomb
, NULL
})
739 DEFENCODING(( "EUC-JP", /* IANA
*/
741 "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA
*/
742 "csEUCPkdFmtJapanese", /* IANA
*/
743 /*"EUC_JP", JDK
1.1 */
744 /*"CP51932", Windows
*/
747 { euc_jp_mbtowc
, NULL
}, { euc_jp_wctomb
, NULL
})
749 DEFENCODING(( "SHIFT_JIS", /* IANA
*/
750 "SHIFT-JIS", /* glibc
*/
751 "SJIS", /* JDK
1.1 */
752 "MS_KANJI", /* IANA
*/
753 "csShiftJIS", /* IANA
*/
756 { sjis_mbtowc
, NULL
}, { sjis_wctomb
, NULL
})
758 DEFENCODING(( "CP932", /* glibc
*/
761 { cp932_mbtowc
, NULL
}, { cp932_wctomb
, NULL
})
763 DEFENCODING(( "ISO-2022-JP", /* IANA
, RFC
1468 */
764 "csISO2022JP", /* IANA
*/
765 /*"ISO2022JP", JDK
1.1 */
768 { iso2022_jp_mbtowc
, NULL
}, { iso2022_jp_wctomb
, iso2022_jp_reset
})
770 DEFENCODING(( "ISO-2022-JP-1", /* RFC
2237 */
773 { iso2022_jp1_mbtowc
, NULL
}, { iso2022_jp1_wctomb
, iso2022_jp1_reset
})
775 DEFENCODING(( "ISO-2022-JP-2", /* IANA
, RFC
1554 */
776 "csISO2022JP2", /* IANA
*/
779 { iso2022_jp2_mbtowc
, NULL
}, { iso2022_jp2_wctomb
, iso2022_jp2_reset
})
781 DEFENCODING(( "EUC-CN", /* glibc
*/
784 "CN-GB", /* RFC
1922 */
785 "csGB2312", /* IANA
*/
786 /*"EUC_CN", JDK
1.1 */
787 /*"CP51936", Windows
*/
790 { euc_cn_mbtowc
, NULL
}, { euc_cn_wctomb
, NULL
})
792 DEFENCODING(( "GBK", /* IANA
, JDK
1.1 */
795 { ces_gbk_mbtowc
, NULL
}, { ces_gbk_wctomb
, NULL
})
797 DEFENCODING(( "CP936", /* IANA
*/
799 "WINDOWS-936", /* IANA
*/
802 { cp936_mbtowc
, NULL
}, { cp936_wctomb
, NULL
})
804 DEFENCODING(( "GB18030", /* IANA
, glibc
*/
805 /*"CP54936", Windows
*/
808 { gb18030_mbtowc
, NULL
}, { gb18030_wctomb
, NULL
})
810 DEFENCODING(( "ISO-2022-CN", /* IANA
, RFC
1922 */
812 /*"ISO2022CN", JDK
1.1 */
815 { iso2022_cn_mbtowc
, NULL
}, { iso2022_cn_wctomb
, iso2022_cn_reset
})
817 DEFENCODING(( "ISO-2022-CN-EXT", /* IANA
, RFC
1922 */
820 { iso2022_cn_ext_mbtowc
, NULL
}, { iso2022_cn_ext_wctomb
, iso2022_cn_ext_reset
})
822 DEFENCODING(( "HZ", /* RFC
1843 */
823 "HZ-GB-2312", /* IANA
, RFC
1842 */
826 { hz_mbtowc
, NULL
}, { hz_wctomb
, hz_reset
})
828 DEFENCODING(( "EUC-TW", /* glibc
*/
831 /*"EUC_TW", JDK
1.1 */
832 /*"CP51950", Windows
*/
835 { euc_tw_mbtowc
, NULL
}, { euc_tw_wctomb
, NULL
})
837 DEFENCODING(( "BIG5", /* IANA
, JDK
1.1 */
839 "BIG-FIVE", /* glibc
*/
840 "BIGFIVE", /* glibc
*/
841 "CN-BIG5", /* RFC
1922 */
845 { ces_big5_mbtowc
, NULL
}, { ces_big5_wctomb
, NULL
})
847 DEFENCODING(( "CP950", /* JDK
1.1 */
850 { cp950_mbtowc
, NULL
}, { cp950_wctomb
, NULL
})
852 DEFENCODING(( "BIG5-HKSCS:1999",
855 { big5hkscs1999_mbtowc
, big5hkscs1999_flushwc
}, { big5hkscs1999_wctomb
, big5hkscs1999_reset
})
857 DEFENCODING(( "BIG5-HKSCS:2001",
860 { big5hkscs2001_mbtowc
, big5hkscs2001_flushwc
}, { big5hkscs2001_wctomb
, big5hkscs2001_reset
})
862 DEFENCODING(( "BIG5-HKSCS", /* IANA
*/
863 "BIG5HKSCS", /* glibc
*/
867 { big5hkscs2004_mbtowc
, big5hkscs2004_flushwc
}, { big5hkscs2004_wctomb
, big5hkscs2004_reset
})
869 DEFENCODING(( "EUC-KR", /* IANA
, RFC
1557 */
871 "csEUCKR", /* IANA
*/
872 /*"EUC_KR", JDK
1.1 */
873 /*"CP51949", Windows
*/
876 { euc_kr_mbtowc
, NULL
}, { euc_kr_wctomb
, NULL
})
878 DEFENCODING(( "CP949", /* JDK
1.1 */
882 { cp949_mbtowc
, NULL
}, { cp949_wctomb
, NULL
})
884 DEFENCODING(( "JOHAB", /* glibc
*/
885 "CP1361", /* glibc
*/
888 { johab_mbtowc
, NULL
}, { johab_wctomb
, NULL
})
890 DEFENCODING(( "ISO-2022-KR", /* IANA
, RFC
1557 */
891 "csISO2022KR", /* IANA
*/
892 /*"ISO2022KR", JDK
1.1 */
895 { iso2022_kr_mbtowc
, NULL
}, { iso2022_kr_wctomb
, iso2022_kr_reset
})