BTRFS: Reimplement TreeIterator, add some error checks and remove redundancies.
[haiku.git] / src / libs / iconv / encodings.def
blob7a5cdbb4bf426c8869013c175995cacc4754f398
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, ..., ),
26 xxx,
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 */
46 "CP367", /* IANA */
47 "IBM367", /* IANA */
48 "US", /* IANA */
49 "csASCII", /* IANA */
50 /*"ISO646.1991-IRV", X11R6.4 */
52 ascii,
53 { ascii_mbtowc, NULL }, { ascii_wctomb, NULL })
55 /* General multi-byte encodings */
57 DEFENCODING(( "UTF-8", /* IANA, RFC 2279 */
58 /*"UTF8", JDK 1.1 */
59 /*"CP65001", Windows */
61 utf8,
62 { utf8_mbtowc, NULL }, { utf8_wctomb, NULL })
64 DEFENCODING(( "UCS-2", /* glibc */
65 "ISO-10646-UCS-2", /* IANA */
66 "csUnicode", /* IANA */
68 ucs2,
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 */
77 ucs2be,
78 { ucs2be_mbtowc, NULL }, { ucs2be_wctomb, NULL })
80 DEFENCODING(( "UCS-2LE", /* glibc */
81 "UNICODELITTLE", /* glibc */
82 /*"CP1200", Windows */
84 ucs2le,
85 { ucs2le_mbtowc, NULL }, { ucs2le_wctomb, NULL })
87 DEFENCODING(( "UCS-4", /* glibc */
88 "ISO-10646-UCS-4", /* IANA */
89 "csUCS4", /* IANA */
91 ucs4,
92 { ucs4_mbtowc, NULL }, { ucs4_wctomb, NULL })
94 DEFENCODING(( "UCS-4BE", /* glibc */
95 /*"CP12001", Windows */
97 ucs4be,
98 { ucs4be_mbtowc, NULL }, { ucs4be_wctomb, NULL })
100 DEFENCODING(( "UCS-4LE", /* glibc */
101 /*"CP12000", Windows */
103 ucs4le,
104 { ucs4le_mbtowc, NULL }, { ucs4le_wctomb, NULL })
106 DEFENCODING(( "UTF-16", /* IANA, RFC 2781 */
108 utf16,
109 { utf16_mbtowc, NULL }, { utf16_wctomb, NULL })
111 DEFENCODING(( "UTF-16BE", /* IANA, RFC 2781 */
113 utf16be,
114 { utf16be_mbtowc, NULL }, { utf16be_wctomb, NULL })
116 DEFENCODING(( "UTF-16LE", /* IANA, RFC 2781 */
118 utf16le,
119 { utf16le_mbtowc, NULL }, { utf16le_wctomb, NULL })
121 DEFENCODING(( "UTF-32", /* IANA, Unicode 3.1 */
123 utf32,
124 { utf32_mbtowc, NULL }, { utf32_wctomb, NULL })
126 DEFENCODING(( "UTF-32BE", /* IANA, Unicode 3.1 */
128 utf32be,
129 { utf32be_mbtowc, NULL }, { utf32be_wctomb, NULL })
131 DEFENCODING(( "UTF-32LE", /* IANA, Unicode 3.1 */
133 utf32le,
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 */
141 utf7,
142 { utf7_mbtowc, NULL }, { utf7_wctomb, utf7_reset })
144 DEFENCODING(( "UCS-2-INTERNAL", /* libiconv */
146 ucs2internal,
147 { ucs2internal_mbtowc, NULL }, { ucs2internal_wctomb, NULL })
149 DEFENCODING(( "UCS-2-SWAPPED", /* libiconv */
151 ucs2swapped,
152 { ucs2swapped_mbtowc, NULL }, { ucs2swapped_wctomb, NULL })
154 DEFENCODING(( "UCS-4-INTERNAL", /* libiconv */
156 ucs4internal,
157 { ucs4internal_mbtowc, NULL },{ ucs4internal_wctomb, NULL })
159 DEFENCODING(( "UCS-4-SWAPPED", /* libiconv */
161 ucs4swapped,
162 { ucs4swapped_mbtowc, NULL }, { ucs4swapped_wctomb, NULL })
164 DEFENCODING(( "C99",
166 c99,
167 { c99_mbtowc, NULL }, { c99_wctomb, NULL })
169 DEFENCODING(( "JAVA",
171 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 */
180 "CP819", /* IANA */
181 "IBM819", /* IANA */
182 "LATIN1", /* IANA */
183 "L1", /* IANA */
184 "csISOLatin1", /* IANA */
185 "ISO8859-1", /* X11R6.4, glibc, FreeBSD */
186 /*"ISO8859_1", JDK 1.1 */
187 /*"CP28591", Windows */
189 iso8859_1,
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 */
196 "LATIN2", /* IANA */
197 "L2", /* IANA */
198 "csISOLatin2", /* IANA */
199 "ISO8859-2", /* X11R6.4, glibc, FreeBSD */
200 /*"ISO8859_2", JDK 1.1 */
201 /*"CP28592", Windows */
203 iso8859_2,
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 */
210 "LATIN3", /* IANA */
211 "L3", /* IANA */
212 "csISOLatin3", /* IANA */
213 "ISO8859-3", /* X11R6.4, glibc, FreeBSD */
214 /*"ISO8859_3", JDK 1.1 */
215 /*"CP28593", Windows */
217 iso8859_3,
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 */
224 "LATIN4", /* IANA */
225 "L4", /* IANA */
226 "csISOLatin4", /* IANA */
227 "ISO8859-4", /* X11R6.4, glibc, FreeBSD */
228 /*"ISO8859_4", JDK 1.1 */
229 /*"CP28594", Windows */
231 iso8859_4,
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 */
244 iso8859_5,
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 */
253 "ARABIC", /* IANA */
254 "csISOLatinArabic", /* IANA */
255 "ISO8859-6", /* X11R6.4, glibc, FreeBSD */
256 /*"ISO8859_6", JDK 1.1 */
257 /*"CP28596", Windows */
259 iso8859_6,
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 */
265 "ISO_8859-7:2003",
266 "ISO-IR-126", /* IANA */
267 "ECMA-118", /* IANA */
268 "ELOT_928", /* IANA */
269 "GREEK8", /* IANA */
270 "GREEK", /* IANA */
271 "csISOLatinGreek", /* IANA */
272 "ISO8859-7", /* X11R6.4, glibc, FreeBSD */
273 /*"ISO8859_7", JDK 1.1 */
274 /*"CP28597", Windows */
276 iso8859_7,
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 */
283 "HEBREW", /* IANA */
284 "csISOLatinHebrew", /* IANA */
285 "ISO8859-8", /* X11R6.4, glibc, FreeBSD */
286 /*"ISO8859_8", JDK 1.1 */
287 /*"CP28598", Windows */
288 /*"CP38598", Windows */
290 iso8859_8,
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 */
297 "LATIN5", /* IANA */
298 "L5", /* IANA */
299 "csISOLatin5", /* IANA */
300 "ISO8859-9", /* X11R6.4, glibc, FreeBSD */
301 /*"ISO8859_9", JDK 1.1 */
302 /*"CP28599", Windows */
304 iso8859_9,
305 { iso8859_9_mbtowc, NULL }, { iso8859_9_wctomb, NULL })
307 DEFENCODING(( "ISO-8859-10", /* IANA */
308 "ISO_8859-10",
309 "ISO_8859-10:1992", /* IANA */
310 "ISO-IR-157", /* IANA */
311 "LATIN6", /* IANA */
312 "L6", /* IANA */
313 "csISOLatin6", /* IANA */
314 "ISO8859-10", /* X11R6.4, glibc, FreeBSD */
316 iso8859_10,
317 { iso8859_10_mbtowc, NULL }, { iso8859_10_wctomb, NULL })
319 DEFENCODING(( "ISO-8859-11", /* glibc */
320 "ISO_8859-11",
321 "ISO8859-11", /* X11R6.7, glibc */
323 iso8859_11,
324 { iso8859_11_mbtowc, NULL }, { iso8859_11_wctomb, NULL })
326 DEFENCODING(( "ISO-8859-13", /* IANA, glibc */
327 "ISO_8859-13",
328 "ISO-IR-179", /* glibc */
329 "LATIN7", /* glibc */
330 "L7", /* glibc */
331 "ISO8859-13", /* glibc, FreeBSD */
333 iso8859_13,
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 */
345 iso8859_14,
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 */
351 "ISO-IR-203",
352 "LATIN-9", /* IANA */
353 "ISO8859-15", /* glibc, FreeBSD */
354 /*"CP28605", Windows */
356 iso8859_15,
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 */
364 "L10", /* IANA */
365 "ISO8859-16", /* glibc, FreeBSD */
367 iso8859_16,
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 */
374 koi8_r,
375 { koi8_r_mbtowc, NULL }, { koi8_r_wctomb, NULL })
377 DEFENCODING(( "KOI8-U", /* IANA, RFC 2319 */
379 koi8_u,
380 { koi8_u_mbtowc, NULL }, { koi8_u_wctomb, NULL })
382 DEFENCODING(( "KOI8-RU",
384 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 */
391 "MS-EE",
393 cp1250,
394 { cp1250_mbtowc, NULL }, { cp1250_wctomb, NULL })
396 DEFENCODING(( "CP1251", /* JDK 1.1 */
397 "WINDOWS-1251", /* IANA */
398 "MS-CYRL",
400 cp1251,
401 { cp1251_mbtowc, NULL }, { cp1251_wctomb, NULL })
403 DEFENCODING(( "CP1252", /* JDK 1.1 */
404 "WINDOWS-1252", /* IANA */
405 "MS-ANSI",
407 cp1252,
408 { cp1252_mbtowc, NULL }, { cp1252_wctomb, NULL })
410 DEFENCODING(( "CP1253", /* JDK 1.1 */
411 "WINDOWS-1253", /* IANA */
412 "MS-GREEK",
414 cp1253,
415 { cp1253_mbtowc, NULL }, { cp1253_wctomb, NULL })
417 DEFENCODING(( "CP1254", /* JDK 1.1 */
418 "WINDOWS-1254", /* IANA */
419 "MS-TURK",
421 cp1254,
422 { cp1254_mbtowc, NULL }, { cp1254_wctomb, NULL })
424 DEFENCODING(( "CP1255", /* JDK 1.1 */
425 "WINDOWS-1255", /* IANA */
426 "MS-HEBR",
428 cp1255,
429 { cp1255_mbtowc, cp1255_flushwc }, { cp1255_wctomb, NULL })
431 DEFENCODING(( "CP1256", /* JDK 1.1 */
432 "WINDOWS-1256", /* IANA */
433 "MS-ARAB",
435 cp1256,
436 { cp1256_mbtowc, NULL }, { cp1256_wctomb, NULL })
438 DEFENCODING(( "CP1257", /* JDK 1.1 */
439 "WINDOWS-1257", /* IANA */
440 "WINBALTRIM",
442 cp1257,
443 { cp1257_mbtowc, NULL }, { cp1257_wctomb, NULL })
445 DEFENCODING(( "CP1258", /* JDK 1.1 */
446 "WINDOWS-1258", /* IANA */
448 cp1258,
449 { cp1258_mbtowc, cp1258_flushwc }, { cp1258_wctomb, NULL })
451 /* DOS 8-bit encodings */
453 DEFENCODING(( "CP850", /* IANA, JDK 1.1 */
454 "IBM850", /* IANA */
455 "850", /* IANA */
456 "csPC850Multilingual", /* IANA */
458 cp850,
459 { cp850_mbtowc, NULL }, { cp850_wctomb, NULL })
461 DEFENCODING(( "CP862", /* IANA, JDK 1.1 */
462 "IBM862", /* IANA */
463 "862", /* IANA */
464 "csPC862LatinHebrew", /* IANA */
466 cp862,
467 { cp862_mbtowc, NULL }, { cp862_wctomb, NULL })
469 DEFENCODING(( "CP866", /* IANA, JDK 1.1 */
470 "IBM866", /* IANA */
471 "866", /* IANA */
472 "csIBM866", /* IANA */
474 cp866,
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 */
483 "MAC", /* IANA */
484 "csMacintosh", /* IANA */
485 /*"CP10000", Windows */
487 mac_roman,
488 { mac_roman_mbtowc, NULL }, { mac_roman_wctomb, NULL })
490 DEFENCODING(( "MacCentralEurope", /* JDK 1.1 */
491 /*"CP10029", Windows */
493 mac_centraleurope,
494 { mac_centraleurope_mbtowc, NULL }, { mac_centraleurope_wctomb, NULL })
496 DEFENCODING(( "MacIceland", /* JDK 1.1 */
497 /*"CP10079", Windows */
499 mac_iceland,
500 { mac_iceland_mbtowc, NULL }, { mac_iceland_wctomb, NULL })
502 DEFENCODING(( "MacCroatian", /* JDK 1.1 */
503 /*"CP10082", Windows */
505 mac_croatian,
506 { mac_croatian_mbtowc, NULL }, { mac_croatian_wctomb, NULL })
508 DEFENCODING(( "MacRomania", /* JDK 1.1 */
509 /*"CP10010", Windows */
511 mac_romania,
512 { mac_romania_mbtowc, NULL }, { mac_romania_wctomb, NULL })
514 DEFENCODING(( "MacCyrillic", /* JDK 1.1 */
515 /*"CP10007", Windows */
517 mac_cyrillic,
518 { mac_cyrillic_mbtowc, NULL }, { mac_cyrillic_wctomb, NULL })
520 DEFENCODING(( "MacUkraine", /* JDK 1.1 */
521 /*"CP10017", Windows */
523 mac_ukraine,
524 { mac_ukraine_mbtowc, NULL }, { mac_ukraine_wctomb, NULL })
526 DEFENCODING(( "MacGreek", /* JDK 1.1 */
527 /*"CP10006", Windows */
529 mac_greek,
530 { mac_greek_mbtowc, NULL }, { mac_greek_wctomb, NULL })
532 DEFENCODING(( "MacTurkish", /* JDK 1.1 */
533 /*"CP10081", Windows */
535 mac_turkish,
536 { mac_turkish_mbtowc, NULL }, { mac_turkish_wctomb, NULL })
538 DEFENCODING(( "MacHebrew", /* JDK 1.1 */
539 /*"CP10005", Windows */
541 mac_hebrew,
542 { mac_hebrew_mbtowc, NULL }, { mac_hebrew_wctomb, NULL })
544 DEFENCODING(( "MacArabic", /* JDK 1.1 */
545 /*"CP10004", Windows */
547 mac_arabic,
548 { mac_arabic_mbtowc, NULL }, { mac_arabic_wctomb, NULL })
550 DEFENCODING(( "MacThai", /* JDK 1.1 */
551 /*"CP10021", Windows */
553 mac_thai,
554 { mac_thai_mbtowc, NULL }, { mac_thai_wctomb, NULL })
556 /* Other platform specific 8-bit encodings */
558 DEFENCODING(( "HP-ROMAN8", /* IANA, X11R6.4 */
559 "ROMAN8", /* IANA */
560 "R8", /* IANA */
561 "csHPRoman8", /* IANA */
563 hp_roman8,
564 { hp_roman8_mbtowc, NULL }, { hp_roman8_wctomb, NULL })
566 DEFENCODING(( "NEXTSTEP",
568 nextstep,
569 { nextstep_mbtowc, NULL }, { nextstep_wctomb, NULL })
571 /* Regional 8-bit encodings used for a single language */
573 DEFENCODING(( "ARMSCII-8",
575 armscii_8,
576 { armscii_8_mbtowc, NULL }, { armscii_8_wctomb, NULL })
578 DEFENCODING(( "GEORGIAN-ACADEMY",
580 georgian_academy,
581 { georgian_academy_mbtowc, NULL }, { georgian_academy_wctomb, NULL })
583 DEFENCODING(( "GEORGIAN-PS",
585 georgian_ps,
586 { georgian_ps_mbtowc, NULL }, { georgian_ps_wctomb, NULL })
588 DEFENCODING(( "KOI8-T",
590 koi8_t,
591 { koi8_t_mbtowc, NULL }, { koi8_t_wctomb, NULL })
593 DEFENCODING(( "PT154", /* IANA, glibc */
594 "PTCP154", /* IANA */
595 "CP154", /* IANA */
596 "CYRILLIC-ASIAN", /* IANA */
597 "csPTCP154", /* IANA */
599 pt154,
600 { pt154_mbtowc, NULL }, { pt154_wctomb, NULL })
602 DEFENCODING(( "RK1048", /* IANA, glibc */
603 "STRK1048-2002", /* IANA */
604 "KZ-1048", /* IANA */
605 "csKZ1048", /* IANA */
607 rk1048,
608 { rk1048_mbtowc, NULL }, { rk1048_wctomb, NULL })
610 DEFENCODING(( "MULELAO-1",
612 mulelao,
613 { mulelao_mbtowc, NULL }, { mulelao_wctomb, NULL })
615 DEFENCODING(( "CP1133",
616 "IBM-CP1133",
618 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 */
626 "TIS620.2533-1",
627 "ISO-IR-166", /* glibc */
629 tis620,
630 { tis620_mbtowc, NULL }, { tis620_wctomb, NULL })
632 DEFENCODING(( "CP874", /* JDK 1.1 */
633 "WINDOWS-874",
635 cp874,
636 { cp874_mbtowc, NULL }, { cp874_wctomb, NULL })
638 DEFENCODING(( "VISCII", /* IANA, RFC 1456 */
639 "VISCII1.1-1",
640 "csVISCII", /* IANA */
642 viscii,
643 { viscii_mbtowc, NULL }, { viscii_wctomb, NULL })
645 DEFENCODING(( "TCVN",
646 "TCVN-5712",
647 "TCVN5712-1",
648 "TCVN5712-1:1993",
650 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 */
658 "JP", /* IANA */
659 "csISO14JISC6220ro", /* IANA */
661 iso646_jp,
662 { iso646_jp_mbtowc, NULL }, { iso646_jp_wctomb, NULL })
664 DEFENCODING(( "JIS_X0201", /* IANA */
665 "JISX0201-1976",
666 "X0201", /* IANA */
667 "csHalfWidthKatakana", /* IANA */
668 /*"JISX0201.1976-0", X11R6.4 */
669 /*"JIS0201", JDK 1.1 */
671 jisx0201,
672 { jisx0201_mbtowc, NULL }, { jisx0201_wctomb, NULL })
674 DEFENCODING(( "JIS_X0208",
675 "JIS_X0208-1983", /* IANA */
676 "JIS_X0208-1990",
677 "JIS0208",
678 "X0208", /* 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 */
686 jisx0208,
687 { jisx0208_mbtowc, NULL }, { jisx0208_wctomb, NULL })
689 DEFENCODING(( "JIS_X0212",
690 "JIS_X0212.1990-0",
691 "JIS_X0212-1990", /* IANA */
692 "X0212", /* IANA */
693 "ISO-IR-159", /* IANA */
694 "csISO159JISX02121990", /* IANA */
695 /*"JISX0212.1990-0", X11R6.4 */
696 /*"JIS0212", JDK 1.1 */
698 jisx0212,
699 { jisx0212_mbtowc, NULL }, { jisx0212_wctomb, NULL })
701 DEFENCODING(( "GB_1988-80", /* IANA */
702 "ISO646-CN", /* IANA */
703 "ISO-IR-57", /* IANA */
704 "CN", /* IANA */
705 "csISO57GB1988", /* IANA */
707 iso646_cn,
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 */
716 gb2312,
717 { gb2312_mbtowc, NULL }, { gb2312_wctomb, NULL })
719 DEFENCODING(( "ISO-IR-165",
720 "CN-GB-ISOIR165", /* RFC 1922 */
722 isoir165,
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 */
730 "KOREAN", /* IANA */
731 /*"KSC5601.1987-0", X11R6.4 */
732 /*"KSX1001:1992", Ken Lunde */
734 ksc5601,
735 { ksc5601_mbtowc, NULL }, { ksc5601_wctomb, NULL })
737 /* CJK encodings */
739 DEFENCODING(( "EUC-JP", /* IANA */
740 "EUCJP", /* glibc */
741 "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA */
742 "csEUCPkdFmtJapanese", /* IANA */
743 /*"EUC_JP", JDK 1.1 */
744 /*"CP51932", Windows */
746 euc_jp,
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 */
755 sjis,
756 { sjis_mbtowc, NULL }, { sjis_wctomb, NULL })
758 DEFENCODING(( "CP932", /* glibc */
760 cp932,
761 { cp932_mbtowc, NULL }, { cp932_wctomb, NULL })
763 DEFENCODING(( "ISO-2022-JP", /* IANA, RFC 1468 */
764 "csISO2022JP", /* IANA */
765 /*"ISO2022JP", JDK 1.1 */
767 iso2022_jp,
768 { iso2022_jp_mbtowc, NULL }, { iso2022_jp_wctomb, iso2022_jp_reset })
770 DEFENCODING(( "ISO-2022-JP-1", /* RFC 2237 */
772 iso2022_jp1,
773 { iso2022_jp1_mbtowc, NULL }, { iso2022_jp1_wctomb, iso2022_jp1_reset })
775 DEFENCODING(( "ISO-2022-JP-2", /* IANA, RFC 1554 */
776 "csISO2022JP2", /* IANA */
778 iso2022_jp2,
779 { iso2022_jp2_mbtowc, NULL }, { iso2022_jp2_wctomb, iso2022_jp2_reset })
781 DEFENCODING(( "EUC-CN", /* glibc */
782 "EUCCN", /* glibc */
783 "GB2312", /* IANA */
784 "CN-GB", /* RFC 1922 */
785 "csGB2312", /* IANA */
786 /*"EUC_CN", JDK 1.1 */
787 /*"CP51936", Windows */
789 euc_cn,
790 { euc_cn_mbtowc, NULL }, { euc_cn_wctomb, NULL })
792 DEFENCODING(( "GBK", /* IANA, JDK 1.1 */
794 ces_gbk,
795 { ces_gbk_mbtowc, NULL }, { ces_gbk_wctomb, NULL })
797 DEFENCODING(( "CP936", /* IANA */
798 "MS936", /* IANA */
799 "WINDOWS-936", /* IANA */
801 cp936,
802 { cp936_mbtowc, NULL }, { cp936_wctomb, NULL })
804 DEFENCODING(( "GB18030", /* IANA, glibc */
805 /*"CP54936", Windows */
807 gb18030,
808 { gb18030_mbtowc, NULL }, { gb18030_wctomb, NULL })
810 DEFENCODING(( "ISO-2022-CN", /* IANA, RFC 1922 */
811 "csISO2022CN",
812 /*"ISO2022CN", JDK 1.1 */
814 iso2022_cn,
815 { iso2022_cn_mbtowc, NULL }, { iso2022_cn_wctomb, iso2022_cn_reset })
817 DEFENCODING(( "ISO-2022-CN-EXT", /* IANA, RFC 1922 */
819 iso2022_cn_ext,
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 */
829 "EUCTW", /* glibc */
830 "csEUCTW",
831 /*"EUC_TW", JDK 1.1 */
832 /*"CP51950", Windows */
834 euc_tw,
835 { euc_tw_mbtowc, NULL }, { euc_tw_wctomb, NULL })
837 DEFENCODING(( "BIG5", /* IANA, JDK 1.1 */
838 "BIG-5", /* glibc */
839 "BIG-FIVE", /* glibc */
840 "BIGFIVE", /* glibc */
841 "CN-BIG5", /* RFC 1922 */
842 "csBig5", /* IANA */
844 ces_big5,
845 { ces_big5_mbtowc, NULL }, { ces_big5_wctomb, NULL })
847 DEFENCODING(( "CP950", /* JDK 1.1 */
849 cp950,
850 { cp950_mbtowc, NULL }, { cp950_wctomb, NULL })
852 DEFENCODING(( "BIG5-HKSCS:1999",
854 big5hkscs1999,
855 { big5hkscs1999_mbtowc, big5hkscs1999_flushwc }, { big5hkscs1999_wctomb, big5hkscs1999_reset })
857 DEFENCODING(( "BIG5-HKSCS:2001",
859 big5hkscs2001,
860 { big5hkscs2001_mbtowc, big5hkscs2001_flushwc }, { big5hkscs2001_wctomb, big5hkscs2001_reset })
862 DEFENCODING(( "BIG5-HKSCS", /* IANA */
863 "BIG5HKSCS", /* glibc */
864 "BIG5-HKSCS:2004",
866 big5hkscs2004,
867 { big5hkscs2004_mbtowc, big5hkscs2004_flushwc }, { big5hkscs2004_wctomb, big5hkscs2004_reset })
869 DEFENCODING(( "EUC-KR", /* IANA, RFC 1557 */
870 "EUCKR", /* glibc */
871 "csEUCKR", /* IANA */
872 /*"EUC_KR", JDK 1.1 */
873 /*"CP51949", Windows */
875 euc_kr,
876 { euc_kr_mbtowc, NULL }, { euc_kr_wctomb, NULL })
878 DEFENCODING(( "CP949", /* JDK 1.1 */
879 "UHC", /* glibc */
881 cp949,
882 { cp949_mbtowc, NULL }, { cp949_wctomb, NULL })
884 DEFENCODING(( "JOHAB", /* glibc */
885 "CP1361", /* glibc */
887 johab,
888 { johab_mbtowc, NULL }, { johab_wctomb, NULL })
890 DEFENCODING(( "ISO-2022-KR", /* IANA, RFC 1557 */
891 "csISO2022KR", /* IANA */
892 /*"ISO2022KR", JDK 1.1 */
894 iso2022_kr,
895 { iso2022_kr_mbtowc, NULL }, { iso2022_kr_wctomb, iso2022_kr_reset })