1 /* Copyright (C
) 1999-2011 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 Lesser General Public
6 License as published by the Free Software Foundation
; either version
2.1
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 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU LIBICONV Library
; see the file COPYING.LIB.
16 If not
, see
<https
://www.gnu.org
/licenses
/>.
*/
18 /* The list of all system independent user
-visible encodings.
*/
20 /* By convention
, an encoding named FOOBAR or FOO_BAR or FOO
-BAR is defined
21 in a file named
"foobar.h" through the functions foobar_mbtowc and
22 foobar_wctomb (and possibly foobar_reset
).
*/
24 /* DEFENCODING(( name
, alias1
, ...
, ),
26 { xxx_mbtowc
, xxx_flushwc
},
27 { xxx_wctomb
, xxx_reset
})
28 defines an encoding with the given name and aliases.
(There is no
29 difference between a name and an alias. By convention
, the name is chosen
30 as the preferred MIME name or the standard name.
)
31 All names and aliases must be in ASCII. Case is not significant
, but
32 for the
"cs*" aliases mixed case is preferred
, otherwise UPPERCASE is
33 preferred. For all names and aliases
, note where it comes from.
34 xxx is the name as used in the C
code (lowercase
).
38 DEFENCODING(( "US-ASCII", /* IANA
*/
39 "ASCII", /* IANA
, JDK
1.1 */
40 "ISO646-US", /* IANA
*/
41 "ISO_646.IRV:1991", /* IANA
*/
42 "ISO-IR-6", /* IANA
*/
43 "ANSI_X3.4-1968", /* IANA
*/
44 "ANSI_X3.4-1986", /* IANA
*/
49 /*"ISO646.1991-IRV", X11R6.4
*/
52 { ascii_mbtowc
, NULL
}, { ascii_wctomb
, NULL
})
53 #ifdef USE_SOLARIS_ALIASES
54 DEFALIAS( "646", /* Solaris
*/
58 /* General multi
-byte encodings
*/
60 DEFENCODING(( "UTF-8", /* IANA
, RFC
2279 */
62 /*"CP65001", Windows
*/
65 { utf8_mbtowc
, NULL
}, { utf8_wctomb
, NULL
})
66 #ifdef USE_HPUX_ALIASES
67 DEFALIAS( "UTF8", /* HP
-UX
*/
71 DEFENCODING(( "UCS-2", /* glibc
*/
72 "ISO-10646-UCS-2", /* IANA
*/
73 "csUnicode", /* IANA
*/
76 { ucs2_mbtowc
, NULL
}, { ucs2_wctomb
, NULL
})
78 DEFENCODING(( "UCS-2BE", /* glibc
*/
79 "UNICODEBIG", /* glibc
*/
80 "UNICODE-1-1", /* IANA
*/
81 "csUnicode11", /* IANA
*/
82 /*"CP1201", Windows
*/
85 { ucs2be_mbtowc
, NULL
}, { ucs2be_wctomb
, NULL
})
87 DEFENCODING(( "UCS-2LE", /* glibc
*/
88 "UNICODELITTLE", /* glibc
*/
89 /*"CP1200", Windows
*/
92 { ucs2le_mbtowc
, NULL
}, { ucs2le_wctomb
, NULL
})
94 DEFENCODING(( "UCS-4", /* glibc
*/
95 "ISO-10646-UCS-4", /* IANA
*/
99 { ucs4_mbtowc
, NULL
}, { ucs4_wctomb
, NULL
})
101 DEFENCODING(( "UCS-4BE", /* glibc
*/
102 /*"CP12001", Windows
*/
105 { ucs4be_mbtowc
, NULL
}, { ucs4be_wctomb
, NULL
})
107 DEFENCODING(( "UCS-4LE", /* glibc
*/
108 /*"CP12000", Windows
*/
111 { ucs4le_mbtowc
, NULL
}, { ucs4le_wctomb
, NULL
})
113 DEFENCODING(( "UTF-16", /* IANA
, RFC
2781 */
116 { utf16_mbtowc
, NULL
}, { utf16_wctomb
, NULL
})
118 DEFENCODING(( "UTF-16BE", /* IANA
, RFC
2781 */
121 { utf16be_mbtowc
, NULL
}, { utf16be_wctomb
, NULL
})
123 DEFENCODING(( "UTF-16LE", /* IANA
, RFC
2781 */
126 { utf16le_mbtowc
, NULL
}, { utf16le_wctomb
, NULL
})
128 DEFENCODING(( "UTF-32", /* IANA
, Unicode
3.1 */
131 { utf32_mbtowc
, NULL
}, { utf32_wctomb
, NULL
})
133 DEFENCODING(( "UTF-32BE", /* IANA
, Unicode
3.1 */
136 { utf32be_mbtowc
, NULL
}, { utf32be_wctomb
, NULL
})
138 DEFENCODING(( "UTF-32LE", /* IANA
, Unicode
3.1 */
141 { utf32le_mbtowc
, NULL
}, { utf32le_wctomb
, NULL
})
143 DEFENCODING(( "UTF-7", /* IANA
, RFC
2152 */
144 "UNICODE-1-1-UTF-7", /* IANA
, RFC
1642 */
145 "csUnicode11UTF7", /* IANA
*/
146 /*"CP65000", Windows
*/
149 { utf7_mbtowc
, NULL
}, { utf7_wctomb
, utf7_reset
})
151 DEFENCODING(( "UCS-2-INTERNAL", /* libiconv
*/
154 { ucs2internal_mbtowc
, NULL
}, { ucs2internal_wctomb
, NULL
})
156 DEFENCODING(( "UCS-2-SWAPPED", /* libiconv
*/
159 { ucs2swapped_mbtowc
, NULL
}, { ucs2swapped_wctomb
, NULL
})
161 DEFENCODING(( "UCS-4-INTERNAL", /* libiconv
*/
164 { ucs4internal_mbtowc
, NULL
},{ ucs4internal_wctomb
, NULL
})
166 DEFENCODING(( "UCS-4-SWAPPED", /* libiconv
*/
169 { ucs4swapped_mbtowc
, NULL
}, { ucs4swapped_wctomb
, NULL
})
174 { c99_mbtowc
, NULL
}, { c99_wctomb
, NULL
})
176 DEFENCODING(( "JAVA",
179 { java_mbtowc
, NULL
}, { java_wctomb
, NULL
})
181 /* Standard
8-bit encodings
*/
183 DEFENCODING(( "ISO-8859-1", /* IANA
*/
184 "ISO_8859-1", /* IANA
*/
185 "ISO_8859-1:1987", /* IANA
*/
186 "ISO-IR-100", /* IANA
*/
191 "csISOLatin1", /* IANA
*/
192 "ISO8859-1", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
193 /*"ISO8859_1", JDK
1.1 */
194 /*"CP28591", Windows
*/
197 { iso8859_1_mbtowc
, NULL
}, { iso8859_1_wctomb
, NULL
})
198 #ifdef USE_HPUX_ALIASES
199 DEFALIAS( "ISO88591", /* HP
-UX
*/
203 DEFENCODING(( "ISO-8859-2", /* IANA
*/
204 "ISO_8859-2", /* IANA
*/
205 "ISO_8859-2:1987", /* IANA
*/
206 "ISO-IR-101", /* IANA
*/
209 "csISOLatin2", /* IANA
*/
210 "ISO8859-2", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
211 /*"ISO8859_2", JDK
1.1 */
212 /*"CP28592", Windows
*/
215 { iso8859_2_mbtowc
, NULL
}, { iso8859_2_wctomb
, NULL
})
216 #ifdef USE_HPUX_ALIASES
217 DEFALIAS( "ISO88592", /* HP
-UX
*/
221 DEFENCODING(( "ISO-8859-3", /* IANA
*/
222 "ISO_8859-3", /* IANA
*/
223 "ISO_8859-3:1988", /* IANA
*/
224 "ISO-IR-109", /* IANA
*/
227 "csISOLatin3", /* IANA
*/
228 "ISO8859-3", /* X11R6.4
, glibc
, FreeBSD
, Solaris
*/
229 /*"ISO8859_3", JDK
1.1 */
230 /*"CP28593", Windows
*/
233 { iso8859_3_mbtowc
, NULL
}, { iso8859_3_wctomb
, NULL
})
235 DEFENCODING(( "ISO-8859-4", /* IANA
*/
236 "ISO_8859-4", /* IANA
*/
237 "ISO_8859-4:1988", /* IANA
*/
238 "ISO-IR-110", /* IANA
*/
241 "csISOLatin4", /* IANA
*/
242 "ISO8859-4", /* X11R6.4
, glibc
, FreeBSD
, OSF
/1, Solaris
*/
243 /*"ISO8859_4", JDK
1.1 */
244 /*"CP28594", Windows
*/
247 { iso8859_4_mbtowc
, NULL
}, { iso8859_4_wctomb
, NULL
})
249 DEFENCODING(( "ISO-8859-5", /* IANA
*/
250 "ISO_8859-5", /* IANA
*/
251 "ISO_8859-5:1988", /* IANA
*/
252 "ISO-IR-144", /* IANA
*/
253 "CYRILLIC", /* IANA
*/
254 "csISOLatinCyrillic", /* IANA
*/
255 "ISO8859-5", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
256 /*"ISO8859_5", JDK
1.1 */
257 /*"CP28595", Windows
*/
260 { iso8859_5_mbtowc
, NULL
}, { iso8859_5_wctomb
, NULL
})
261 #ifdef USE_HPUX_ALIASES
262 DEFALIAS( "ISO88595", /* HP
-UX
*/
266 DEFENCODING(( "ISO-8859-6", /* IANA
*/
267 "ISO_8859-6", /* IANA
*/
268 "ISO_8859-6:1987", /* IANA
*/
269 "ISO-IR-127", /* IANA
*/
270 "ECMA-114", /* IANA
*/
271 "ASMO-708", /* IANA
*/
273 "csISOLatinArabic", /* IANA
*/
274 "ISO8859-6", /* X11R6.4
, glibc
, FreeBSD
, AIX
, Solaris
*/
275 /*"ISO8859_6", JDK
1.1 */
276 /*"CP28596", Windows
*/
279 { iso8859_6_mbtowc
, NULL
}, { iso8859_6_wctomb
, NULL
})
280 #ifdef USE_HPUX_ALIASES
281 DEFALIAS( "ISO88596", /* HP
-UX
*/
285 DEFENCODING(( "ISO-8859-7", /* IANA
, RFC
1947 */
286 "ISO_8859-7", /* IANA
*/
287 "ISO_8859-7:1987", /* IANA
*/
289 "ISO-IR-126", /* IANA
*/
290 "ECMA-118", /* IANA
*/
291 "ELOT_928", /* IANA
*/
294 "csISOLatinGreek", /* IANA
*/
295 "ISO8859-7", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
296 /*"ISO8859_7", JDK
1.1 */
297 /*"CP28597", Windows
*/
300 { iso8859_7_mbtowc
, NULL
}, { iso8859_7_wctomb
, NULL
})
301 #ifdef USE_HPUX_ALIASES
302 DEFALIAS( "ISO88597", /* HP
-UX
*/
306 DEFENCODING(( "ISO-8859-8", /* IANA
*/
307 "ISO_8859-8", /* IANA
*/
308 "ISO_8859-8:1988", /* IANA
*/
309 "ISO-IR-138", /* IANA
*/
311 "csISOLatinHebrew", /* IANA
*/
312 "ISO8859-8", /* X11R6.4
, glibc
, FreeBSD
, AIX
, OSF
/1, Solaris
*/
313 /*"ISO8859_8", JDK
1.1 */
314 /*"CP28598", Windows
*/
315 /*"CP38598", Windows
*/
318 { iso8859_8_mbtowc
, NULL
}, { iso8859_8_wctomb
, NULL
})
319 #ifdef USE_HPUX_ALIASES
320 DEFALIAS( "ISO88598", /* HP
-UX
*/
324 DEFENCODING(( "ISO-8859-9", /* IANA
*/
325 "ISO_8859-9", /* IANA
*/
326 "ISO_8859-9:1989", /* IANA
*/
327 "ISO-IR-148", /* IANA
*/
330 "csISOLatin5", /* IANA
*/
331 "ISO8859-9", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
332 /*"ISO8859_9", JDK
1.1 */
333 /*"CP28599", Windows
*/
336 { iso8859_9_mbtowc
, NULL
}, { iso8859_9_wctomb
, NULL
})
337 #ifdef USE_HPUX_ALIASES
338 DEFALIAS( "ISO88599", /* HP
-UX
*/
342 DEFENCODING(( "ISO-8859-10", /* IANA
*/
344 "ISO_8859-10:1992", /* IANA
*/
345 "ISO-IR-157", /* IANA
*/
348 "csISOLatin6", /* IANA
*/
349 "ISO8859-10", /* X11R6.4
, glibc
, FreeBSD
*/
352 { iso8859_10_mbtowc
, NULL
}, { iso8859_10_wctomb
, NULL
})
354 DEFENCODING(( "ISO-8859-11", /* glibc
*/
356 "ISO8859-11", /* X11R6.7
, glibc
*/
359 { iso8859_11_mbtowc
, NULL
}, { iso8859_11_wctomb
, NULL
})
361 DEFENCODING(( "ISO-8859-13", /* IANA
, glibc
*/
363 "ISO-IR-179", /* glibc
*/
364 "LATIN7", /* glibc
*/
366 "ISO8859-13", /* glibc
, FreeBSD
*/
367 /*"CP28603", Windows
*/
370 { iso8859_13_mbtowc
, NULL
}, { iso8859_13_wctomb
, NULL
})
371 #ifdef USE_AIX_ALIASES
372 DEFALIAS( "IBM-921", /* AIX
*/
376 DEFENCODING(( "ISO-8859-14", /* IANA
, glibc
*/
377 "ISO_8859-14", /* IANA
*/
378 "ISO_8859-14:1998", /* IANA
, glibc
*/
379 "ISO-IR-199", /* IANA
*/
380 "LATIN8", /* IANA
, glibc
*/
381 "L8", /* IANA
, glibc
*/
382 "ISO-CELTIC", /* IANA
*/
383 "ISO8859-14", /* glibc
, FreeBSD
*/
386 { iso8859_14_mbtowc
, NULL
}, { iso8859_14_wctomb
, NULL
})
388 DEFENCODING(( "ISO-8859-15", /* IANA
, glibc
*/
389 "ISO_8859-15", /* IANA
*/
390 "ISO_8859-15:1998", /* glibc
*/
392 "LATIN-9", /* IANA
*/
393 "ISO8859-15", /* glibc
, FreeBSD
, AIX
, OSF
/1, Solaris
*/
394 /*"CP28605", Windows
*/
397 { iso8859_15_mbtowc
, NULL
}, { iso8859_15_wctomb
, NULL
})
398 #ifdef USE_HPUX_ALIASES
399 DEFALIAS( "ISO885915", /* HP
-UX
*/
403 DEFENCODING(( "ISO-8859-16", /* IANA
*/
404 "ISO_8859-16", /* IANA
*/
405 "ISO_8859-16:2001", /* IANA
*/
406 "ISO-IR-226", /* IANA
*/
407 "LATIN10", /* IANA
*/
409 "ISO8859-16", /* glibc
, FreeBSD
*/
412 { iso8859_16_mbtowc
, NULL
}, { iso8859_16_wctomb
, NULL
})
414 DEFENCODING(( "KOI8-R", /* IANA
, RFC
1489, X11R6.4
, JDK
1.1 */
415 "csKOI8R", /* IANA
*/
416 /*"CP20866", Windows
*/
419 { koi8_r_mbtowc
, NULL
}, { koi8_r_wctomb
, NULL
})
421 DEFENCODING(( "KOI8-U", /* IANA
, RFC
2319 */
424 { koi8_u_mbtowc
, NULL
}, { koi8_u_wctomb
, NULL
})
426 DEFENCODING(( "KOI8-RU",
427 /*"CP21866", Windows
*/
430 { koi8_ru_mbtowc
, NULL
}, { koi8_ru_wctomb
, NULL
})
432 /* Windows
8-bit encodings
*/
434 DEFENCODING(( "CP1250", /* JDK
1.1 */
435 "WINDOWS-1250", /* IANA
*/
439 { cp1250_mbtowc
, NULL
}, { cp1250_wctomb
, NULL
})
441 DEFENCODING(( "CP1251", /* JDK
1.1 */
442 "WINDOWS-1251", /* IANA
*/
446 { cp1251_mbtowc
, NULL
}, { cp1251_wctomb
, NULL
})
447 #ifdef USE_SOLARIS_ALIASES
448 DEFALIAS( "ANSI-1251", /* Solaris
*/
452 DEFENCODING(( "CP1252", /* JDK
1.1 */
453 "WINDOWS-1252", /* IANA
*/
457 { cp1252_mbtowc
, NULL
}, { cp1252_wctomb
, NULL
})
458 #ifdef USE_AIX_ALIASES
459 DEFALIAS( "IBM-1252", /* AIX
*/
463 DEFENCODING(( "CP1253", /* JDK
1.1 */
464 "WINDOWS-1253", /* IANA
*/
468 { cp1253_mbtowc
, NULL
}, { cp1253_wctomb
, NULL
})
470 DEFENCODING(( "CP1254", /* JDK
1.1 */
471 "WINDOWS-1254", /* IANA
*/
475 { cp1254_mbtowc
, NULL
}, { cp1254_wctomb
, NULL
})
477 DEFENCODING(( "CP1255", /* JDK
1.1 */
478 "WINDOWS-1255", /* IANA
*/
482 { cp1255_mbtowc
, cp1255_flushwc
}, { cp1255_wctomb
, NULL
})
484 DEFENCODING(( "CP1256", /* JDK
1.1 */
485 "WINDOWS-1256", /* IANA
*/
489 { cp1256_mbtowc
, NULL
}, { cp1256_wctomb
, NULL
})
491 DEFENCODING(( "CP1257", /* JDK
1.1 */
492 "WINDOWS-1257", /* IANA
*/
496 { cp1257_mbtowc
, NULL
}, { cp1257_wctomb
, NULL
})
498 DEFENCODING(( "CP1258", /* JDK
1.1 */
499 "WINDOWS-1258", /* IANA
*/
502 { cp1258_mbtowc
, cp1258_flushwc
}, { cp1258_wctomb
, NULL
})
504 /* DOS
8-bit encodings
*/
506 DEFENCODING(( "CP850", /* IANA
, JDK
1.1 */
509 "csPC850Multilingual", /* IANA
*/
512 { cp850_mbtowc
, NULL
}, { cp850_wctomb
, NULL
})
513 #ifdef USE_AIX_ALIASES
514 DEFALIAS( "IBM-850", /* AIX
*/
518 DEFENCODING(( "CP862", /* IANA
, JDK
1.1 */
521 "csPC862LatinHebrew", /* IANA
*/
524 { cp862_mbtowc
, NULL
}, { cp862_wctomb
, NULL
})
526 DEFENCODING(( "CP866", /* IANA
, JDK
1.1 */
529 "csIBM866", /* IANA
*/
532 { cp866_mbtowc
, NULL
}, { cp866_wctomb
, NULL
})
534 DEFENCODING(( "CP1131", /* FreeBSD
, MacOS X
*/
537 { cp1131_mbtowc
, NULL
}, { cp1131_wctomb
, NULL
})
538 #ifdef USE_AIX_ALIASES
539 DEFALIAS( "IBM-1131", /* AIX
*/
543 /* Macintosh
8-bit encodings
*/
545 DEFENCODING(( "MacRoman", /* JDK
1.1 */
546 /* This is the best table for MACINTOSH. The ones
*/
547 /* in glibc and FreeBSD
-iconv are bad quality.
*/
548 "MACINTOSH", /* IANA
*/
550 "csMacintosh", /* IANA
*/
551 /*"CP10000", Windows
*/
554 { mac_roman_mbtowc
, NULL
}, { mac_roman_wctomb
, NULL
})
556 DEFENCODING(( "MacCentralEurope", /* JDK
1.1 */
557 /*"CP10029", Windows
*/
560 { mac_centraleurope_mbtowc
, NULL
}, { mac_centraleurope_wctomb
, NULL
})
562 DEFENCODING(( "MacIceland", /* JDK
1.1 */
563 /*"CP10079", Windows
*/
566 { mac_iceland_mbtowc
, NULL
}, { mac_iceland_wctomb
, NULL
})
568 DEFENCODING(( "MacCroatian", /* JDK
1.1 */
569 /*"CP10082", Windows
*/
572 { mac_croatian_mbtowc
, NULL
}, { mac_croatian_wctomb
, NULL
})
574 DEFENCODING(( "MacRomania", /* JDK
1.1 */
575 /*"CP10010", Windows
*/
578 { mac_romania_mbtowc
, NULL
}, { mac_romania_wctomb
, NULL
})
580 DEFENCODING(( "MacCyrillic", /* JDK
1.1 */
581 /*"CP10007", Windows
*/
584 { mac_cyrillic_mbtowc
, NULL
}, { mac_cyrillic_wctomb
, NULL
})
586 DEFENCODING(( "MacUkraine", /* JDK
1.1 */
587 /*"CP10017", Windows
*/
590 { mac_ukraine_mbtowc
, NULL
}, { mac_ukraine_wctomb
, NULL
})
592 DEFENCODING(( "MacGreek", /* JDK
1.1 */
593 /*"CP10006", Windows
*/
596 { mac_greek_mbtowc
, NULL
}, { mac_greek_wctomb
, NULL
})
598 DEFENCODING(( "MacTurkish", /* JDK
1.1 */
599 /*"CP10081", Windows
*/
602 { mac_turkish_mbtowc
, NULL
}, { mac_turkish_wctomb
, NULL
})
604 DEFENCODING(( "MacHebrew", /* JDK
1.1 */
605 /*"CP10005", Windows
*/
608 { mac_hebrew_mbtowc
, NULL
}, { mac_hebrew_wctomb
, NULL
})
610 DEFENCODING(( "MacArabic", /* JDK
1.1 */
611 /*"CP10004", Windows
*/
614 { mac_arabic_mbtowc
, NULL
}, { mac_arabic_wctomb
, NULL
})
616 DEFENCODING(( "MacThai", /* JDK
1.1 */
617 /*"CP10021", Windows
*/
620 { mac_thai_mbtowc
, NULL
}, { mac_thai_wctomb
, NULL
})
622 /* Other platform specific
8-bit encodings
*/
624 DEFENCODING(( "HP-ROMAN8", /* IANA
, X11R6.4
*/
627 "csHPRoman8", /* IANA
*/
630 { hp_roman8_mbtowc
, NULL
}, { hp_roman8_wctomb
, NULL
})
632 DEFENCODING(( "NEXTSTEP",
635 { nextstep_mbtowc
, NULL
}, { nextstep_wctomb
, NULL
})
637 /* Regional
8-bit encodings used for a single language
*/
639 DEFENCODING(( "ARMSCII-8",
642 { armscii_8_mbtowc
, NULL
}, { armscii_8_wctomb
, NULL
})
644 DEFENCODING(( "GEORGIAN-ACADEMY",
647 { georgian_academy_mbtowc
, NULL
}, { georgian_academy_wctomb
, NULL
})
649 DEFENCODING(( "GEORGIAN-PS",
652 { georgian_ps_mbtowc
, NULL
}, { georgian_ps_wctomb
, NULL
})
654 DEFENCODING(( "KOI8-T",
657 { koi8_t_mbtowc
, NULL
}, { koi8_t_wctomb
, NULL
})
659 DEFENCODING(( "PT154", /* IANA
, glibc
*/
660 "PTCP154", /* IANA
*/
662 "CYRILLIC-ASIAN", /* IANA
*/
663 "csPTCP154", /* IANA
*/
666 { pt154_mbtowc
, NULL
}, { pt154_wctomb
, NULL
})
668 DEFENCODING(( "RK1048", /* IANA
, glibc
*/
669 "STRK1048-2002", /* IANA
*/
670 "KZ-1048", /* IANA
*/
671 "csKZ1048", /* IANA
*/
674 { rk1048_mbtowc
, NULL
}, { rk1048_wctomb
, NULL
})
676 DEFENCODING(( "MULELAO-1",
679 { mulelao_mbtowc
, NULL
}, { mulelao_wctomb
, NULL
})
681 DEFENCODING(( "CP1133",
685 { cp1133_mbtowc
, NULL
}, { cp1133_wctomb
, NULL
})
687 DEFENCODING(( "TIS-620", /* IANA
*/
688 "TIS620", /* glibc
, HP
-UX
*/
689 "TIS620-0", /* glibc
*/
690 "TIS620.2529-1", /* glibc
*/
691 "TIS620.2533-0", /* glibc
*/
693 "ISO-IR-166", /* glibc
*/
696 { tis620_mbtowc
, NULL
}, { tis620_wctomb
, NULL
})
697 #ifdef USE_OSF1_ALIASES
698 DEFALIAS( "TACTIS", /* OSF
/1 */
701 #ifdef USE_SOLARIS_ALIASES
702 DEFALIAS( "TIS620.2533", /* Solaris
*/
706 DEFENCODING(( "CP874", /* JDK
1.1 */
710 { cp874_mbtowc
, NULL
}, { cp874_wctomb
, NULL
})
712 DEFENCODING(( "VISCII", /* IANA
, RFC
1456 */
714 "csVISCII", /* IANA
*/
717 { viscii_mbtowc
, NULL
}, { viscii_wctomb
, NULL
})
719 DEFENCODING(( "TCVN",
725 { tcvn_mbtowc
, tcvn_flushwc
}, { tcvn_wctomb
, NULL
})
727 /* CJK character
sets (not documented
) */
729 DEFENCODING(( "JIS_C6220-1969-RO", /* IANA
*/
730 "ISO646-JP", /* IANA
*/
731 "ISO-IR-14", /* IANA
*/
733 "csISO14JISC6220ro", /* IANA
*/
736 { iso646_jp_mbtowc
, NULL
}, { iso646_jp_wctomb
, NULL
})
738 DEFENCODING(( "JIS_X0201", /* IANA
*/
741 "csHalfWidthKatakana", /* IANA
*/
742 /*"JISX0201.1976-0", X11R6.4
*/
743 /*"JIS0201", JDK
1.1 */
746 { jisx0201_mbtowc
, NULL
}, { jisx0201_wctomb
, NULL
})
748 DEFENCODING(( "JIS_X0208",
749 "JIS_X0208-1983", /* IANA
*/
753 "ISO-IR-87", /* IANA
*/
754 "JIS_C6226-1983", /* IANA
*/
755 "csISO87JISX0208", /* IANA
*/
756 /*"JISX0208.1983-0", X11R6.4
*/
757 /*"JISX0208.1990-0", X11R6.4
*/
758 /*"JIS0208", JDK
1.1 */
761 { jisx0208_mbtowc
, NULL
}, { jisx0208_wctomb
, NULL
})
763 DEFENCODING(( "JIS_X0212",
765 "JIS_X0212-1990", /* IANA
*/
767 "ISO-IR-159", /* IANA
*/
768 "csISO159JISX02121990", /* IANA
*/
769 /*"JISX0212.1990-0", X11R6.4
*/
770 /*"JIS0212", JDK
1.1 */
773 { jisx0212_mbtowc
, NULL
}, { jisx0212_wctomb
, NULL
})
775 DEFENCODING(( "GB_1988-80", /* IANA
*/
776 "ISO646-CN", /* IANA
*/
777 "ISO-IR-57", /* IANA
*/
779 "csISO57GB1988", /* IANA
*/
782 { iso646_cn_mbtowc
, NULL
}, { iso646_cn_wctomb
, NULL
})
784 DEFENCODING(( "GB_2312-80", /* IANA
*/
785 "ISO-IR-58", /* IANA
*/
786 "csISO58GB231280", /* IANA
*/
787 "CHINESE", /* IANA
*/
788 /*"GB2312.1980-0", X11R6.4
*/
791 { gb2312_mbtowc
, NULL
}, { gb2312_wctomb
, NULL
})
793 DEFENCODING(( "ISO-IR-165",
794 "CN-GB-ISOIR165", /* RFC
1922 */
797 { isoir165_mbtowc
, NULL
}, { isoir165_wctomb
, NULL
})
799 DEFENCODING(( "KSC_5601", /* IANA
*/
800 "KS_C_5601-1987", /* IANA
*/
801 "KS_C_5601-1989", /* IANA
*/
802 "ISO-IR-149", /* IANA
*/
803 "csKSC56011987", /* IANA
*/
805 /*"KSC5601.1987-0", X11R6.4
*/
806 /*"KSX1001:1992", Ken Lunde
*/
809 { ksc5601_mbtowc
, NULL
}, { ksc5601_wctomb
, NULL
})
813 DEFENCODING(( "EUC-JP", /* IANA
*/
814 "EUCJP", /* glibc
, HP
-UX
, IRIX
, OSF
/1, Solaris
*/
815 "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA
*/
816 "csEUCPkdFmtJapanese", /* IANA
*/
817 /*"EUC_JP", JDK
1.1 */
818 /*"CP51932", Windows
*/
821 { euc_jp_mbtowc
, NULL
}, { euc_jp_wctomb
, NULL
})
822 #ifdef USE_AIX_ALIASES
823 DEFALIAS( "IBM-EUCJP", /* AIX
*/
826 #ifdef USE_OSF1_ALIASES
827 DEFALIAS( "SDECKANJI", /* OSF
/1 */
831 DEFENCODING(( "SHIFT_JIS", /* IANA
*/
832 "SHIFT-JIS", /* glibc
*/
833 "SJIS", /* JDK
1.1, HP
-UX
, OSF
/1 */
834 "MS_KANJI", /* IANA
*/
835 "csShiftJIS", /* IANA
*/
838 { sjis_mbtowc
, NULL
}, { sjis_wctomb
, NULL
})
839 #ifdef USE_SOLARIS_ALIASES
840 DEFALIAS( "PCK", /* Solaris
*/
844 DEFENCODING(( "CP932", /* glibc
*/
847 { cp932_mbtowc
, NULL
}, { cp932_wctomb
, NULL
})
848 #ifdef USE_AIX_ALIASES
849 DEFALIAS( "IBM-932", /* AIX
*/
853 DEFENCODING(( "ISO-2022-JP", /* IANA
, RFC
1468 */
854 "csISO2022JP", /* IANA
*/
855 /*"ISO2022JP", JDK
1.1 */
858 { iso2022_jp_mbtowc
, NULL
}, { iso2022_jp_wctomb
, iso2022_jp_reset
})
860 DEFENCODING(( "ISO-2022-JP-1", /* RFC
2237 */
863 { iso2022_jp1_mbtowc
, NULL
}, { iso2022_jp1_wctomb
, iso2022_jp1_reset
})
865 DEFENCODING(( "ISO-2022-JP-2", /* IANA
, RFC
1554 */
866 "csISO2022JP2", /* IANA
*/
869 { iso2022_jp2_mbtowc
, NULL
}, { iso2022_jp2_wctomb
, iso2022_jp2_reset
})
871 DEFENCODING(( "ISO-2022-JP-MS",
873 /*"ISO-2022-JP-ESC", Windows
*/
876 { iso2022_jpms_mbtowc
, NULL
}, { iso2022_jpms_wctomb
, iso2022_jpms_reset
})
878 DEFENCODING(( "EUC-CN", /* glibc
*/
879 "EUCCN", /* glibc
, IRIX
*/
881 "CN-GB", /* RFC
1922 */
882 "csGB2312", /* IANA
*/
883 /*"EUC_CN", JDK
1.1 */
884 /*"CP51936", Windows
*/
887 { euc_cn_mbtowc
, NULL
}, { euc_cn_wctomb
, NULL
})
888 #ifdef USE_AIX_ALIASES
889 DEFALIAS( "IBM-EUCCN", /* AIX
*/
892 #ifdef USE_HPUX_ALIASES
893 DEFALIAS( "HP15CN", /* HP
-UX
*/
896 #ifdef USE_OSF1_ALIASES
897 DEFALIAS( "DECHANZI", /* OSF
/1 */
901 DEFENCODING(( "GBK", /* IANA
, JDK
1.1 */
904 { ces_gbk_mbtowc
, NULL
}, { ces_gbk_wctomb
, NULL
})
906 DEFENCODING(( "CP936", /* IANA
*/
908 "WINDOWS-936", /* IANA
*/
911 { cp936_mbtowc
, NULL
}, { cp936_wctomb
, NULL
})
913 DEFENCODING(( "GB18030", /* IANA
, glibc
*/
914 /*"CP54936", Windows
*/
918 { gb18030_2005_mbtowc
, NULL
},{ gb18030_2005_wctomb
, NULL
})
920 DEFENCODING(( "GB18030:2022",
923 { gb18030_2022_mbtowc
, NULL
},{ gb18030_2022_wctomb
, NULL
})
925 DEFENCODING(( "ISO-2022-CN", /* IANA
, RFC
1922 */
927 /*"ISO2022CN", JDK
1.1 */
930 { iso2022_cn_mbtowc
, NULL
}, { iso2022_cn_wctomb
, iso2022_cn_reset
})
932 DEFENCODING(( "ISO-2022-CN-EXT", /* IANA
, RFC
1922 */
935 { iso2022_cn_ext_mbtowc
, NULL
}, { iso2022_cn_ext_wctomb
, iso2022_cn_ext_reset
})
937 DEFENCODING(( "HZ", /* RFC
1843 */
938 "HZ-GB-2312", /* IANA
, RFC
1842 */
939 /*"CP52936", Windows
*/
942 { hz_mbtowc
, NULL
}, { hz_wctomb
, hz_reset
})
944 DEFENCODING(( "EUC-TW", /* glibc
*/
945 "EUCTW", /* glibc
, HP
-UX
, IRIX
, OSF
/1 */
947 /*"EUC_TW", JDK
1.1 */
948 /*"CP51950", Windows
*/
951 { euc_tw_mbtowc
, NULL
}, { euc_tw_wctomb
, NULL
})
952 #ifdef USE_AIX_ALIASES
953 DEFALIAS( "IBM-EUCTW", /* AIX
*/
956 #ifdef USE_SOLARIS_ALIASES
957 DEFALIAS( "CNS11643", /* Solaris
*/
961 DEFENCODING(( "BIG5", /* IANA
, JDK
1.1 */
963 "BIG-FIVE", /* glibc
*/
964 "BIGFIVE", /* glibc
*/
965 "CN-BIG5", /* RFC
1922 */
969 { ces_big5_mbtowc
, NULL
}, { ces_big5_wctomb
, NULL
})
971 DEFENCODING(( "CP950", /* JDK
1.1 */
974 { cp950_mbtowc
, NULL
}, { cp950_wctomb
, NULL
})
976 DEFENCODING(( "BIG5-HKSCS:1999",
979 { big5hkscs1999_mbtowc
, big5hkscs1999_flushwc
}, { big5hkscs1999_wctomb
, big5hkscs1999_reset
})
981 DEFENCODING(( "BIG5-HKSCS:2001",
984 { big5hkscs2001_mbtowc
, big5hkscs2001_flushwc
}, { big5hkscs2001_wctomb
, big5hkscs2001_reset
})
986 DEFENCODING(( "BIG5-HKSCS:2004",
989 { big5hkscs2004_mbtowc
, big5hkscs2004_flushwc
}, { big5hkscs2004_wctomb
, big5hkscs2004_reset
})
991 DEFENCODING(( "BIG5-HKSCS", /* IANA
*/
992 "BIG5HKSCS", /* glibc
*/
996 { big5hkscs2008_mbtowc
, big5hkscs2008_flushwc
}, { big5hkscs2008_wctomb
, big5hkscs2008_reset
})
998 DEFENCODING(( "EUC-KR", /* IANA
, RFC
1557 */
999 "EUCKR", /* glibc
, HP
-UX
, IRIX
, OSF
/1 */
1000 "csEUCKR", /* IANA
*/
1001 /*"EUC_KR", JDK
1.1 */
1002 /*"CP51949", Windows
*/
1005 { euc_kr_mbtowc
, NULL
}, { euc_kr_wctomb
, NULL
})
1006 #ifdef USE_AIX_ALIASES
1007 DEFALIAS( "IBM-EUCKR", /* AIX
*/
1010 #ifdef USE_OSF1_ALIASES
1011 DEFALIAS( "DECKOREAN", /* OSF
/1 */
1014 #ifdef USE_SOLARIS_ALIASES
1015 DEFALIAS( "5601", /* Solaris
*/
1019 DEFENCODING(( "CP949", /* JDK
1.1 */
1023 { cp949_mbtowc
, NULL
}, { cp949_wctomb
, NULL
})
1024 #ifdef USE_OSF1_ALIASES
1025 DEFALIAS( "KSC5601", /* OSF
/1 */
1029 DEFENCODING(( "JOHAB", /* glibc
*/
1030 "CP1361", /* glibc
*/
1033 { johab_mbtowc
, NULL
}, { johab_wctomb
, NULL
})
1034 #ifdef USE_SOLARIS_ALIASES
1035 DEFALIAS( "KO_KR.JOHAP92", /* Solaris
*/
1039 DEFENCODING(( "ISO-2022-KR", /* IANA
, RFC
1557 */
1040 "csISO2022KR", /* IANA
*/
1041 /*"ISO2022KR", JDK
1.1 */
1042 /*"CP50225", Windows
*/
1045 { iso2022_kr_mbtowc
, NULL
}, { iso2022_kr_wctomb
, iso2022_kr_reset
})