1 /* Copyright (C
) 1999-2010 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
})
54 #ifdef USE_SOLARIS_ALIASES
55 DEFALIAS( "646", /* Solaris
*/
59 /* General multi
-byte encodings
*/
61 DEFENCODING(( "UTF-8", /* IANA
, RFC
2279 */
63 /*"CP65001", Windows
*/
66 { utf8_mbtowc
, NULL
}, { utf8_wctomb
, NULL
})
67 #ifdef USE_HPUX_ALIASES
68 DEFALIAS( "UTF8", /* HP
-UX
*/
72 DEFENCODING(( "UCS-2", /* glibc
*/
73 "ISO-10646-UCS-2", /* IANA
*/
74 "csUnicode", /* IANA
*/
77 { ucs2_mbtowc
, NULL
}, { ucs2_wctomb
, NULL
})
79 DEFENCODING(( "UCS-2BE", /* glibc
*/
80 "UNICODEBIG", /* glibc
*/
81 "UNICODE-1-1", /* IANA
*/
82 "csUnicode11", /* IANA
*/
83 /*"CP1201", Windows
*/
86 { ucs2be_mbtowc
, NULL
}, { ucs2be_wctomb
, NULL
})
88 DEFENCODING(( "UCS-2LE", /* glibc
*/
89 "UNICODELITTLE", /* glibc
*/
90 /*"CP1200", Windows
*/
93 { ucs2le_mbtowc
, NULL
}, { ucs2le_wctomb
, NULL
})
95 DEFENCODING(( "UCS-4", /* glibc
*/
96 "ISO-10646-UCS-4", /* IANA
*/
100 { ucs4_mbtowc
, NULL
}, { ucs4_wctomb
, NULL
})
102 DEFENCODING(( "UCS-4BE", /* glibc
*/
103 /*"CP12001", Windows
*/
106 { ucs4be_mbtowc
, NULL
}, { ucs4be_wctomb
, NULL
})
108 DEFENCODING(( "UCS-4LE", /* glibc
*/
109 /*"CP12000", Windows
*/
112 { ucs4le_mbtowc
, NULL
}, { ucs4le_wctomb
, NULL
})
114 DEFENCODING(( "UTF-16", /* IANA
, RFC
2781 */
117 { utf16_mbtowc
, NULL
}, { utf16_wctomb
, NULL
})
119 DEFENCODING(( "UTF-16BE", /* IANA
, RFC
2781 */
122 { utf16be_mbtowc
, NULL
}, { utf16be_wctomb
, NULL
})
124 DEFENCODING(( "UTF-16LE", /* IANA
, RFC
2781 */
127 { utf16le_mbtowc
, NULL
}, { utf16le_wctomb
, NULL
})
129 DEFENCODING(( "UTF-32", /* IANA
, Unicode
3.1 */
132 { utf32_mbtowc
, NULL
}, { utf32_wctomb
, NULL
})
134 DEFENCODING(( "UTF-32BE", /* IANA
, Unicode
3.1 */
137 { utf32be_mbtowc
, NULL
}, { utf32be_wctomb
, NULL
})
139 DEFENCODING(( "UTF-32LE", /* IANA
, Unicode
3.1 */
142 { utf32le_mbtowc
, NULL
}, { utf32le_wctomb
, NULL
})
144 DEFENCODING(( "UTF-7", /* IANA
, RFC
2152 */
145 "UNICODE-1-1-UTF-7", /* IANA
, RFC
1642 */
146 "csUnicode11UTF7", /* IANA
*/
147 /*"CP65000", Windows
*/
150 { utf7_mbtowc
, NULL
}, { utf7_wctomb
, utf7_reset
})
152 DEFENCODING(( "UCS-2-INTERNAL", /* libiconv
*/
155 { ucs2internal_mbtowc
, NULL
}, { ucs2internal_wctomb
, NULL
})
157 DEFENCODING(( "UCS-2-SWAPPED", /* libiconv
*/
160 { ucs2swapped_mbtowc
, NULL
}, { ucs2swapped_wctomb
, NULL
})
162 DEFENCODING(( "UCS-4-INTERNAL", /* libiconv
*/
165 { ucs4internal_mbtowc
, NULL
},{ ucs4internal_wctomb
, NULL
})
167 DEFENCODING(( "UCS-4-SWAPPED", /* libiconv
*/
170 { ucs4swapped_mbtowc
, NULL
}, { ucs4swapped_wctomb
, NULL
})
175 { c99_mbtowc
, NULL
}, { c99_wctomb
, NULL
})
177 DEFENCODING(( "JAVA",
180 { java_mbtowc
, NULL
}, { java_wctomb
, NULL
})
182 /* Standard
8-bit encodings
*/
184 DEFENCODING(( "ISO-8859-1", /* IANA
*/
185 "ISO_8859-1", /* IANA
*/
186 "ISO_8859-1:1987", /* IANA
*/
187 "ISO-IR-100", /* IANA
*/
192 "csISOLatin1", /* IANA
*/
193 "ISO8859-1", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
194 /*"ISO8859_1", JDK
1.1 */
195 /*"CP28591", Windows
*/
198 { iso8859_1_mbtowc
, NULL
}, { iso8859_1_wctomb
, NULL
})
199 #ifdef USE_HPUX_ALIASES
200 DEFALIAS( "ISO88591", /* HP
-UX
*/
204 DEFENCODING(( "ISO-8859-2", /* IANA
*/
205 "ISO_8859-2", /* IANA
*/
206 "ISO_8859-2:1987", /* IANA
*/
207 "ISO-IR-101", /* IANA
*/
210 "csISOLatin2", /* IANA
*/
211 "ISO8859-2", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
212 /*"ISO8859_2", JDK
1.1 */
213 /*"CP28592", Windows
*/
216 { iso8859_2_mbtowc
, NULL
}, { iso8859_2_wctomb
, NULL
})
217 #ifdef USE_HPUX_ALIASES
218 DEFALIAS( "ISO88592", /* HP
-UX
*/
222 DEFENCODING(( "ISO-8859-3", /* IANA
*/
223 "ISO_8859-3", /* IANA
*/
224 "ISO_8859-3:1988", /* IANA
*/
225 "ISO-IR-109", /* IANA
*/
228 "csISOLatin3", /* IANA
*/
229 "ISO8859-3", /* X11R6.4
, glibc
, FreeBSD
, Solaris
*/
230 /*"ISO8859_3", JDK
1.1 */
231 /*"CP28593", Windows
*/
234 { iso8859_3_mbtowc
, NULL
}, { iso8859_3_wctomb
, NULL
})
236 DEFENCODING(( "ISO-8859-4", /* IANA
*/
237 "ISO_8859-4", /* IANA
*/
238 "ISO_8859-4:1988", /* IANA
*/
239 "ISO-IR-110", /* IANA
*/
242 "csISOLatin4", /* IANA
*/
243 "ISO8859-4", /* X11R6.4
, glibc
, FreeBSD
, OSF
/1, Solaris
*/
244 /*"ISO8859_4", JDK
1.1 */
245 /*"CP28594", Windows
*/
248 { iso8859_4_mbtowc
, NULL
}, { iso8859_4_wctomb
, NULL
})
250 DEFENCODING(( "ISO-8859-5", /* IANA
*/
251 "ISO_8859-5", /* IANA
*/
252 "ISO_8859-5:1988", /* IANA
*/
253 "ISO-IR-144", /* IANA
*/
254 "CYRILLIC", /* IANA
*/
255 "csISOLatinCyrillic", /* IANA
*/
256 "ISO8859-5", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
257 /*"ISO8859_5", JDK
1.1 */
258 /*"CP28595", Windows
*/
261 { iso8859_5_mbtowc
, NULL
}, { iso8859_5_wctomb
, NULL
})
262 #ifdef USE_HPUX_ALIASES
263 DEFALIAS( "ISO88595", /* HP
-UX
*/
267 DEFENCODING(( "ISO-8859-6", /* IANA
*/
268 "ISO_8859-6", /* IANA
*/
269 "ISO_8859-6:1987", /* IANA
*/
270 "ISO-IR-127", /* IANA
*/
271 "ECMA-114", /* IANA
*/
272 "ASMO-708", /* IANA
*/
274 "csISOLatinArabic", /* IANA
*/
275 "ISO8859-6", /* X11R6.4
, glibc
, FreeBSD
, AIX
, Solaris
*/
276 /*"ISO8859_6", JDK
1.1 */
277 /*"CP28596", Windows
*/
280 { iso8859_6_mbtowc
, NULL
}, { iso8859_6_wctomb
, NULL
})
281 #ifdef USE_HPUX_ALIASES
282 DEFALIAS( "ISO88596", /* HP
-UX
*/
286 DEFENCODING(( "ISO-8859-7", /* IANA
, RFC
1947 */
287 "ISO_8859-7", /* IANA
*/
288 "ISO_8859-7:1987", /* IANA
*/
290 "ISO-IR-126", /* IANA
*/
291 "ECMA-118", /* IANA
*/
292 "ELOT_928", /* IANA
*/
295 "csISOLatinGreek", /* IANA
*/
296 "ISO8859-7", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
297 /*"ISO8859_7", JDK
1.1 */
298 /*"CP28597", Windows
*/
301 { iso8859_7_mbtowc
, NULL
}, { iso8859_7_wctomb
, NULL
})
302 #ifdef USE_HPUX_ALIASES
303 DEFALIAS( "ISO88597", /* HP
-UX
*/
307 DEFENCODING(( "ISO-8859-8", /* IANA
*/
308 "ISO_8859-8", /* IANA
*/
309 "ISO_8859-8:1988", /* IANA
*/
310 "ISO-IR-138", /* IANA
*/
312 "csISOLatinHebrew", /* IANA
*/
313 "ISO8859-8", /* X11R6.4
, glibc
, FreeBSD
, AIX
, OSF
/1, Solaris
*/
314 /*"ISO8859_8", JDK
1.1 */
315 /*"CP28598", Windows
*/
316 /*"CP38598", Windows
*/
319 { iso8859_8_mbtowc
, NULL
}, { iso8859_8_wctomb
, NULL
})
320 #ifdef USE_HPUX_ALIASES
321 DEFALIAS( "ISO88598", /* HP
-UX
*/
325 DEFENCODING(( "ISO-8859-9", /* IANA
*/
326 "ISO_8859-9", /* IANA
*/
327 "ISO_8859-9:1989", /* IANA
*/
328 "ISO-IR-148", /* IANA
*/
331 "csISOLatin5", /* IANA
*/
332 "ISO8859-9", /* X11R6.4
, glibc
, FreeBSD
, AIX
, IRIX
, OSF
/1, Solaris
*/
333 /*"ISO8859_9", JDK
1.1 */
334 /*"CP28599", Windows
*/
337 { iso8859_9_mbtowc
, NULL
}, { iso8859_9_wctomb
, NULL
})
338 #ifdef USE_HPUX_ALIASES
339 DEFALIAS( "ISO88599", /* HP
-UX
*/
343 DEFENCODING(( "ISO-8859-10", /* IANA
*/
345 "ISO_8859-10:1992", /* IANA
*/
346 "ISO-IR-157", /* IANA
*/
349 "csISOLatin6", /* IANA
*/
350 "ISO8859-10", /* X11R6.4
, glibc
, FreeBSD
*/
353 { iso8859_10_mbtowc
, NULL
}, { iso8859_10_wctomb
, NULL
})
355 DEFENCODING(( "ISO-8859-11", /* glibc
*/
357 "ISO8859-11", /* X11R6.7
, glibc
*/
360 { iso8859_11_mbtowc
, NULL
}, { iso8859_11_wctomb
, NULL
})
362 DEFENCODING(( "ISO-8859-13", /* IANA
, glibc
*/
364 "ISO-IR-179", /* glibc
*/
365 "LATIN7", /* glibc
*/
367 "ISO8859-13", /* glibc
, FreeBSD
*/
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",
429 { koi8_ru_mbtowc
, NULL
}, { koi8_ru_wctomb
, NULL
})
431 /* Windows
8-bit encodings
*/
433 DEFENCODING(( "CP1250", /* JDK
1.1 */
434 "WINDOWS-1250", /* IANA
*/
438 { cp1250_mbtowc
, NULL
}, { cp1250_wctomb
, NULL
})
440 DEFENCODING(( "CP1251", /* JDK
1.1 */
441 "WINDOWS-1251", /* IANA
*/
445 { cp1251_mbtowc
, NULL
}, { cp1251_wctomb
, NULL
})
446 #ifdef USE_SOLARIS_ALIASES
447 DEFALIAS( "ANSI-1251", /* Solaris
*/
451 DEFENCODING(( "CP1252", /* JDK
1.1 */
452 "WINDOWS-1252", /* IANA
*/
456 { cp1252_mbtowc
, NULL
}, { cp1252_wctomb
, NULL
})
457 #ifdef USE_AIX_ALIASES
458 DEFALIAS( "IBM-1252", /* AIX
*/
462 DEFENCODING(( "CP1253", /* JDK
1.1 */
463 "WINDOWS-1253", /* IANA
*/
467 { cp1253_mbtowc
, NULL
}, { cp1253_wctomb
, NULL
})
469 DEFENCODING(( "CP1254", /* JDK
1.1 */
470 "WINDOWS-1254", /* IANA
*/
474 { cp1254_mbtowc
, NULL
}, { cp1254_wctomb
, NULL
})
476 DEFENCODING(( "CP1255", /* JDK
1.1 */
477 "WINDOWS-1255", /* IANA
*/
481 { cp1255_mbtowc
, cp1255_flushwc
}, { cp1255_wctomb
, NULL
})
483 DEFENCODING(( "CP1256", /* JDK
1.1 */
484 "WINDOWS-1256", /* IANA
*/
488 { cp1256_mbtowc
, NULL
}, { cp1256_wctomb
, NULL
})
490 DEFENCODING(( "CP1257", /* JDK
1.1 */
491 "WINDOWS-1257", /* IANA
*/
495 { cp1257_mbtowc
, NULL
}, { cp1257_wctomb
, NULL
})
497 DEFENCODING(( "CP1258", /* JDK
1.1 */
498 "WINDOWS-1258", /* IANA
*/
501 { cp1258_mbtowc
, cp1258_flushwc
}, { cp1258_wctomb
, NULL
})
503 /* DOS
8-bit encodings
*/
505 DEFENCODING(( "CP850", /* IANA
, JDK
1.1 */
508 "csPC850Multilingual", /* IANA
*/
511 { cp850_mbtowc
, NULL
}, { cp850_wctomb
, NULL
})
512 #ifdef USE_AIX_ALIASES
513 DEFALIAS( "IBM-850", /* AIX
*/
517 DEFENCODING(( "CP862", /* IANA
, JDK
1.1 */
520 "csPC862LatinHebrew", /* IANA
*/
523 { cp862_mbtowc
, NULL
}, { cp862_wctomb
, NULL
})
525 DEFENCODING(( "CP866", /* IANA
, JDK
1.1 */
528 "csIBM866", /* IANA
*/
531 { cp866_mbtowc
, NULL
}, { cp866_wctomb
, NULL
})
533 DEFENCODING(( "CP1131", /* FreeBSD
, MacOS X
*/
536 { cp1131_mbtowc
, NULL
}, { cp1131_wctomb
, NULL
})
537 #ifdef USE_AIX_ALIASES
538 DEFALIAS( "IBM-1131", /* AIX
*/
542 /* Macintosh
8-bit encodings
*/
544 DEFENCODING(( "MacRoman", /* JDK
1.1 */
545 /* This is the best table for MACINTOSH. The ones
*/
546 /* in glibc and FreeBSD
-iconv are bad quality.
*/
547 "MACINTOSH", /* IANA
*/
549 "csMacintosh", /* IANA
*/
550 /*"CP10000", Windows
*/
553 { mac_roman_mbtowc
, NULL
}, { mac_roman_wctomb
, NULL
})
555 DEFENCODING(( "MacCentralEurope", /* JDK
1.1 */
556 /*"CP10029", Windows
*/
559 { mac_centraleurope_mbtowc
, NULL
}, { mac_centraleurope_wctomb
, NULL
})
561 DEFENCODING(( "MacIceland", /* JDK
1.1 */
562 /*"CP10079", Windows
*/
565 { mac_iceland_mbtowc
, NULL
}, { mac_iceland_wctomb
, NULL
})
567 DEFENCODING(( "MacCroatian", /* JDK
1.1 */
568 /*"CP10082", Windows
*/
571 { mac_croatian_mbtowc
, NULL
}, { mac_croatian_wctomb
, NULL
})
573 DEFENCODING(( "MacRomania", /* JDK
1.1 */
574 /*"CP10010", Windows
*/
577 { mac_romania_mbtowc
, NULL
}, { mac_romania_wctomb
, NULL
})
579 DEFENCODING(( "MacCyrillic", /* JDK
1.1 */
580 /*"CP10007", Windows
*/
583 { mac_cyrillic_mbtowc
, NULL
}, { mac_cyrillic_wctomb
, NULL
})
585 DEFENCODING(( "MacUkraine", /* JDK
1.1 */
586 /*"CP10017", Windows
*/
589 { mac_ukraine_mbtowc
, NULL
}, { mac_ukraine_wctomb
, NULL
})
591 DEFENCODING(( "MacGreek", /* JDK
1.1 */
592 /*"CP10006", Windows
*/
595 { mac_greek_mbtowc
, NULL
}, { mac_greek_wctomb
, NULL
})
597 DEFENCODING(( "MacTurkish", /* JDK
1.1 */
598 /*"CP10081", Windows
*/
601 { mac_turkish_mbtowc
, NULL
}, { mac_turkish_wctomb
, NULL
})
603 DEFENCODING(( "MacHebrew", /* JDK
1.1 */
604 /*"CP10005", Windows
*/
607 { mac_hebrew_mbtowc
, NULL
}, { mac_hebrew_wctomb
, NULL
})
609 DEFENCODING(( "MacArabic", /* JDK
1.1 */
610 /*"CP10004", Windows
*/
613 { mac_arabic_mbtowc
, NULL
}, { mac_arabic_wctomb
, NULL
})
615 DEFENCODING(( "MacThai", /* JDK
1.1 */
616 /*"CP10021", Windows
*/
619 { mac_thai_mbtowc
, NULL
}, { mac_thai_wctomb
, NULL
})
621 /* Other platform specific
8-bit encodings
*/
623 DEFENCODING(( "HP-ROMAN8", /* IANA
, X11R6.4
*/
626 "csHPRoman8", /* IANA
*/
629 { hp_roman8_mbtowc
, NULL
}, { hp_roman8_wctomb
, NULL
})
631 DEFENCODING(( "NEXTSTEP",
634 { nextstep_mbtowc
, NULL
}, { nextstep_wctomb
, NULL
})
636 /* Regional
8-bit encodings used for a single language
*/
638 DEFENCODING(( "ARMSCII-8",
641 { armscii_8_mbtowc
, NULL
}, { armscii_8_wctomb
, NULL
})
643 DEFENCODING(( "GEORGIAN-ACADEMY",
646 { georgian_academy_mbtowc
, NULL
}, { georgian_academy_wctomb
, NULL
})
648 DEFENCODING(( "GEORGIAN-PS",
651 { georgian_ps_mbtowc
, NULL
}, { georgian_ps_wctomb
, NULL
})
653 DEFENCODING(( "KOI8-T",
656 { koi8_t_mbtowc
, NULL
}, { koi8_t_wctomb
, NULL
})
658 DEFENCODING(( "PT154", /* IANA
, glibc
*/
659 "PTCP154", /* IANA
*/
661 "CYRILLIC-ASIAN", /* IANA
*/
662 "csPTCP154", /* IANA
*/
665 { pt154_mbtowc
, NULL
}, { pt154_wctomb
, NULL
})
667 DEFENCODING(( "RK1048", /* IANA
, glibc
*/
668 "STRK1048-2002", /* IANA
*/
669 "KZ-1048", /* IANA
*/
670 "csKZ1048", /* IANA
*/
673 { rk1048_mbtowc
, NULL
}, { rk1048_wctomb
, NULL
})
675 DEFENCODING(( "MULELAO-1",
678 { mulelao_mbtowc
, NULL
}, { mulelao_wctomb
, NULL
})
680 DEFENCODING(( "CP1133",
684 { cp1133_mbtowc
, NULL
}, { cp1133_wctomb
, NULL
})
686 DEFENCODING(( "TIS-620", /* IANA
*/
687 "TIS620", /* glibc
, HP
-UX
*/
688 "TIS620-0", /* glibc
*/
689 "TIS620.2529-1", /* glibc
*/
690 "TIS620.2533-0", /* glibc
*/
692 "ISO-IR-166", /* glibc
*/
695 { tis620_mbtowc
, NULL
}, { tis620_wctomb
, NULL
})
696 #ifdef USE_OSF1_ALIASES
697 DEFALIAS( "TACTIS", /* OSF
/1 */
700 #ifdef USE_SOLARIS_ALIASES
701 DEFALIAS( "TIS620.2533", /* Solaris
*/
705 DEFENCODING(( "CP874", /* JDK
1.1 */
709 { cp874_mbtowc
, NULL
}, { cp874_wctomb
, NULL
})
711 DEFENCODING(( "VISCII", /* IANA
, RFC
1456 */
713 "csVISCII", /* IANA
*/
716 { viscii_mbtowc
, NULL
}, { viscii_wctomb
, NULL
})
718 DEFENCODING(( "TCVN",
724 { tcvn_mbtowc
, tcvn_flushwc
}, { tcvn_wctomb
, NULL
})
726 /* CJK character
sets (not documented
) */
728 DEFENCODING(( "JIS_C6220-1969-RO", /* IANA
*/
729 "ISO646-JP", /* IANA
*/
730 "ISO-IR-14", /* IANA
*/
732 "csISO14JISC6220ro", /* IANA
*/
735 { iso646_jp_mbtowc
, NULL
}, { iso646_jp_wctomb
, NULL
})
737 DEFENCODING(( "JIS_X0201", /* IANA
*/
740 "csHalfWidthKatakana", /* IANA
*/
741 /*"JISX0201.1976-0", X11R6.4
*/
742 /*"JIS0201", JDK
1.1 */
745 { jisx0201_mbtowc
, NULL
}, { jisx0201_wctomb
, NULL
})
747 DEFENCODING(( "JIS_X0208",
748 "JIS_X0208-1983", /* IANA
*/
752 "ISO-IR-87", /* IANA
*/
753 "JIS_C6226-1983", /* IANA
*/
754 "csISO87JISX0208", /* IANA
*/
755 /*"JISX0208.1983-0", X11R6.4
*/
756 /*"JISX0208.1990-0", X11R6.4
*/
757 /*"JIS0208", JDK
1.1 */
760 { jisx0208_mbtowc
, NULL
}, { jisx0208_wctomb
, NULL
})
762 DEFENCODING(( "JIS_X0212",
764 "JIS_X0212-1990", /* IANA
*/
766 "ISO-IR-159", /* IANA
*/
767 "csISO159JISX02121990", /* IANA
*/
768 /*"JISX0212.1990-0", X11R6.4
*/
769 /*"JIS0212", JDK
1.1 */
772 { jisx0212_mbtowc
, NULL
}, { jisx0212_wctomb
, NULL
})
774 DEFENCODING(( "GB_1988-80", /* IANA
*/
775 "ISO646-CN", /* IANA
*/
776 "ISO-IR-57", /* IANA
*/
778 "csISO57GB1988", /* IANA
*/
781 { iso646_cn_mbtowc
, NULL
}, { iso646_cn_wctomb
, NULL
})
783 DEFENCODING(( "GB_2312-80", /* IANA
*/
784 "ISO-IR-58", /* IANA
*/
785 "csISO58GB231280", /* IANA
*/
786 "CHINESE", /* IANA
*/
787 /*"GB2312.1980-0", X11R6.4
*/
790 { gb2312_mbtowc
, NULL
}, { gb2312_wctomb
, NULL
})
792 DEFENCODING(( "ISO-IR-165",
793 "CN-GB-ISOIR165", /* RFC
1922 */
796 { isoir165_mbtowc
, NULL
}, { isoir165_wctomb
, NULL
})
798 DEFENCODING(( "KSC_5601", /* IANA
*/
799 "KS_C_5601-1987", /* IANA
*/
800 "KS_C_5601-1989", /* IANA
*/
801 "ISO-IR-149", /* IANA
*/
802 "csKSC56011987", /* IANA
*/
804 /*"KSC5601.1987-0", X11R6.4
*/
805 /*"KSX1001:1992", Ken Lunde
*/
808 { ksc5601_mbtowc
, NULL
}, { ksc5601_wctomb
, NULL
})
812 DEFENCODING(( "EUC-JP", /* IANA
*/
813 "EUCJP", /* glibc
, HP
-UX
, IRIX
, OSF
/1, Solaris
*/
814 "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA
*/
815 "csEUCPkdFmtJapanese", /* IANA
*/
816 /*"EUC_JP", JDK
1.1 */
817 /*"CP51932", Windows
*/
820 { euc_jp_mbtowc
, NULL
}, { euc_jp_wctomb
, NULL
})
821 #ifdef USE_AIX_ALIASES
822 DEFALIAS( "IBM-EUCJP", /* AIX
*/
825 #ifdef USE_OSF1_ALIASES
826 DEFALIAS( "SDECKANJI", /* OSF
/1 */
830 DEFENCODING(( "SHIFT_JIS", /* IANA
*/
831 "SHIFT-JIS", /* glibc
*/
832 "SJIS", /* JDK
1.1, HP
-UX
, OSF
/1 */
833 "MS_KANJI", /* IANA
*/
834 "csShiftJIS", /* IANA
*/
837 { sjis_mbtowc
, NULL
}, { sjis_wctomb
, NULL
})
838 #ifdef USE_SOLARIS_ALIASES
839 DEFALIAS( "PCK", /* Solaris
*/
843 DEFENCODING(( "CP932", /* glibc
*/
846 { cp932_mbtowc
, NULL
}, { cp932_wctomb
, NULL
})
847 #ifdef USE_AIX_ALIASES
848 DEFALIAS( "IBM-932", /* AIX
*/
852 DEFENCODING(( "ISO-2022-JP", /* IANA
, RFC
1468 */
853 "csISO2022JP", /* IANA
*/
854 /*"ISO2022JP", JDK
1.1 */
857 { iso2022_jp_mbtowc
, NULL
}, { iso2022_jp_wctomb
, iso2022_jp_reset
})
859 DEFENCODING(( "ISO-2022-JP-1", /* RFC
2237 */
862 { iso2022_jp1_mbtowc
, NULL
}, { iso2022_jp1_wctomb
, iso2022_jp1_reset
})
864 DEFENCODING(( "ISO-2022-JP-2", /* IANA
, RFC
1554 */
865 "csISO2022JP2", /* IANA
*/
868 { iso2022_jp2_mbtowc
, NULL
}, { iso2022_jp2_wctomb
, iso2022_jp2_reset
})
870 DEFENCODING(( "EUC-CN", /* glibc
*/
871 "EUCCN", /* glibc
, IRIX
*/
873 "CN-GB", /* RFC
1922 */
874 "csGB2312", /* IANA
*/
875 /*"EUC_CN", JDK
1.1 */
876 /*"CP51936", Windows
*/
879 { euc_cn_mbtowc
, NULL
}, { euc_cn_wctomb
, NULL
})
880 #ifdef USE_AIX_ALIASES
881 DEFALIAS( "IBM-EUCCN", /* AIX
*/
884 #ifdef USE_HPUX_ALIASES
885 DEFALIAS( "HP15CN", /* HP
-UX
*/
888 #ifdef USE_OSF1_ALIASES
889 DEFALIAS( "DECHANZI", /* OSF
/1 */
893 DEFENCODING(( "GBK", /* IANA
, JDK
1.1 */
896 { ces_gbk_mbtowc
, NULL
}, { ces_gbk_wctomb
, NULL
})
898 DEFENCODING(( "CP936", /* IANA
*/
900 "WINDOWS-936", /* IANA
*/
903 { cp936_mbtowc
, NULL
}, { cp936_wctomb
, NULL
})
905 DEFENCODING(( "GB18030", /* IANA
, glibc
*/
906 /*"CP54936", Windows
*/
909 { gb18030_mbtowc
, NULL
}, { gb18030_wctomb
, NULL
})
911 DEFENCODING(( "ISO-2022-CN", /* IANA
, RFC
1922 */
913 /*"ISO2022CN", JDK
1.1 */
916 { iso2022_cn_mbtowc
, NULL
}, { iso2022_cn_wctomb
, iso2022_cn_reset
})
918 DEFENCODING(( "ISO-2022-CN-EXT", /* IANA
, RFC
1922 */
921 { iso2022_cn_ext_mbtowc
, NULL
}, { iso2022_cn_ext_wctomb
, iso2022_cn_ext_reset
})
923 DEFENCODING(( "HZ", /* RFC
1843 */
924 "HZ-GB-2312", /* IANA
, RFC
1842 */
927 { hz_mbtowc
, NULL
}, { hz_wctomb
, hz_reset
})
929 DEFENCODING(( "EUC-TW", /* glibc
*/
930 "EUCTW", /* glibc
, HP
-UX
, IRIX
, OSF
/1 */
932 /*"EUC_TW", JDK
1.1 */
933 /*"CP51950", Windows
*/
936 { euc_tw_mbtowc
, NULL
}, { euc_tw_wctomb
, NULL
})
937 #ifdef USE_AIX_ALIASES
938 DEFALIAS( "IBM-EUCTW", /* AIX
*/
941 #ifdef USE_SOLARIS_ALIASES
942 DEFALIAS( "CNS11643", /* Solaris
*/
946 DEFENCODING(( "BIG5", /* IANA
, JDK
1.1 */
948 "BIG-FIVE", /* glibc
*/
949 "BIGFIVE", /* glibc
*/
950 "CN-BIG5", /* RFC
1922 */
954 { ces_big5_mbtowc
, NULL
}, { ces_big5_wctomb
, NULL
})
956 DEFENCODING(( "CP950", /* JDK
1.1 */
959 { cp950_mbtowc
, NULL
}, { cp950_wctomb
, NULL
})
961 DEFENCODING(( "BIG5-HKSCS:1999",
964 { big5hkscs1999_mbtowc
, big5hkscs1999_flushwc
}, { big5hkscs1999_wctomb
, big5hkscs1999_reset
})
966 DEFENCODING(( "BIG5-HKSCS:2001",
969 { big5hkscs2001_mbtowc
, big5hkscs2001_flushwc
}, { big5hkscs2001_wctomb
, big5hkscs2001_reset
})
971 DEFENCODING(( "BIG5-HKSCS:2004",
974 { big5hkscs2004_mbtowc
, big5hkscs2004_flushwc
}, { big5hkscs2004_wctomb
, big5hkscs2004_reset
})
976 DEFENCODING(( "BIG5-HKSCS", /* IANA
*/
977 "BIG5HKSCS", /* glibc
*/
981 { big5hkscs2008_mbtowc
, big5hkscs2008_flushwc
}, { big5hkscs2008_wctomb
, big5hkscs2008_reset
})
983 DEFENCODING(( "EUC-KR", /* IANA
, RFC
1557 */
984 "EUCKR", /* glibc
, HP
-UX
, IRIX
, OSF
/1 */
985 "csEUCKR", /* IANA
*/
986 /*"EUC_KR", JDK
1.1 */
987 /*"CP51949", Windows
*/
990 { euc_kr_mbtowc
, NULL
}, { euc_kr_wctomb
, NULL
})
991 #ifdef USE_AIX_ALIASES
992 DEFALIAS( "IBM-EUCKR", /* AIX
*/
995 #ifdef USE_OSF1_ALIASES
996 DEFALIAS( "DECKOREAN", /* OSF
/1 */
999 #ifdef USE_SOLARIS_ALIASES
1000 DEFALIAS( "5601", /* Solaris
*/
1004 DEFENCODING(( "CP949", /* JDK
1.1 */
1008 { cp949_mbtowc
, NULL
}, { cp949_wctomb
, NULL
})
1009 #ifdef USE_OSF1_ALIASES
1010 DEFALIAS( "KSC5601", /* OSF
/1 */
1014 DEFENCODING(( "JOHAB", /* glibc
*/
1015 "CP1361", /* glibc
*/
1018 { johab_mbtowc
, NULL
}, { johab_wctomb
, NULL
})
1019 #ifdef USE_SOLARIS_ALIASES
1020 DEFALIAS( "KO_KR.JOHAP92", /* Solaris
*/
1024 DEFENCODING(( "ISO-2022-KR", /* IANA
, RFC
1557 */
1025 "csISO2022KR", /* IANA
*/
1026 /*"ISO2022KR", JDK
1.1 */
1029 { iso2022_kr_mbtowc
, NULL
}, { iso2022_kr_wctomb
, iso2022_kr_reset
})