1: /* Copyright (C) 1999-2011 Free Software Foundation, Inc.
2: This file is part of the GNU LIBICONV Library.
3:
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.
8:
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.
13:
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, see <https://www.gnu.org/licenses/>. */
17:
18: /* The list of all system independent user-visible encodings. */
19:
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). */
23:
24: /* DEFENCODING(( name, alias1, ..., ),
25: xxx,
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).
35: */
36:
37:
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 */
45: "CP367", /* IANA */
46: "IBM367", /* IANA */
47: "US", /* IANA */
48: "csASCII", /* IANA */
49: /*"ISO646.1991-IRV", X11R6.4 */
50: ),
51: ascii,
52: { ascii_mbtowc, NULL }, { ascii_wctomb, NULL })
53: #ifdef USE_SOLARIS_ALIASES
54: DEFALIAS( "646", /* Solaris */
55: ascii)
56: #endif
57:
58: /* General multi-byte encodings */
59:
60: DEFENCODING(( "UTF-8", /* IANA, RFC 2279 */
61: /*"UTF8", JDK 1.1 */
62: /*"CP65001", Windows */
63: ),
64: utf8,
65: { utf8_mbtowc, NULL }, { utf8_wctomb, NULL })
66: #ifdef USE_HPUX_ALIASES
67: DEFALIAS( "UTF8", /* HP-UX */
68: utf8)
69: #endif
70:
71: DEFENCODING(( "UCS-2", /* glibc */
72: "ISO-10646-UCS-2", /* IANA */
73: "csUnicode", /* IANA */
74: ),
75: ucs2,
76: { ucs2_mbtowc, NULL }, { ucs2_wctomb, NULL })
77:
78: DEFENCODING(( "UCS-2BE", /* glibc */
79: "UNICODEBIG", /* glibc */
80: "UNICODE-1-1", /* IANA */
81: "csUnicode11", /* IANA */
82: /*"CP1201", Windows */
83: ),
84: ucs2be,
85: { ucs2be_mbtowc, NULL }, { ucs2be_wctomb, NULL })
86:
87: DEFENCODING(( "UCS-2LE", /* glibc */
88: "UNICODELITTLE", /* glibc */
89: /*"CP1200", Windows */
90: ),
91: ucs2le,
92: { ucs2le_mbtowc, NULL }, { ucs2le_wctomb, NULL })
93:
94: DEFENCODING(( "UCS-4", /* glibc */
95: "ISO-10646-UCS-4", /* IANA */
96: "csUCS4", /* IANA */
97: ),
98: ucs4,
99: { ucs4_mbtowc, NULL }, { ucs4_wctomb, NULL })
100:
101: DEFENCODING(( "UCS-4BE", /* glibc */
102: /*"CP12001", Windows */
103: ),
104: ucs4be,
105: { ucs4be_mbtowc, NULL }, { ucs4be_wctomb, NULL })
106:
107: DEFENCODING(( "UCS-4LE", /* glibc */
108: /*"CP12000", Windows */
109: ),
110: ucs4le,
111: { ucs4le_mbtowc, NULL }, { ucs4le_wctomb, NULL })
112:
113: DEFENCODING(( "UTF-16", /* IANA, RFC 2781 */
114: ),
115: utf16,
116: { utf16_mbtowc, NULL }, { utf16_wctomb, NULL })
117:
118: DEFENCODING(( "UTF-16BE", /* IANA, RFC 2781 */
119: ),
120: utf16be,
121: { utf16be_mbtowc, NULL }, { utf16be_wctomb, NULL })
122:
123: DEFENCODING(( "UTF-16LE", /* IANA, RFC 2781 */
124: ),
125: utf16le,
126: { utf16le_mbtowc, NULL }, { utf16le_wctomb, NULL })
127:
128: DEFENCODING(( "UTF-32", /* IANA, Unicode 3.1 */
129: ),
130: utf32,
131: { utf32_mbtowc, NULL }, { utf32_wctomb, NULL })
132:
133: DEFENCODING(( "UTF-32BE", /* IANA, Unicode 3.1 */
134: ),
135: utf32be,
136: { utf32be_mbtowc, NULL }, { utf32be_wctomb, NULL })
137:
138: DEFENCODING(( "UTF-32LE", /* IANA, Unicode 3.1 */
139: ),
140: utf32le,
141: { utf32le_mbtowc, NULL }, { utf32le_wctomb, NULL })
142:
143: DEFENCODING(( "UTF-7", /* IANA, RFC 2152 */
144: "UNICODE-1-1-UTF-7", /* IANA, RFC 1642 */
145: "csUnicode11UTF7", /* IANA */
146: /*"CP65000", Windows */
147: ),
148: utf7,
149: { utf7_mbtowc, NULL }, { utf7_wctomb, utf7_reset })
150:
151: DEFENCODING(( "UCS-2-INTERNAL", /* libiconv */
152: ),
153: ucs2internal,
154: { ucs2internal_mbtowc, NULL }, { ucs2internal_wctomb, NULL })
155:
156: DEFENCODING(( "UCS-2-SWAPPED", /* libiconv */
157: ),
158: ucs2swapped,
159: { ucs2swapped_mbtowc, NULL }, { ucs2swapped_wctomb, NULL })
160:
161: DEFENCODING(( "UCS-4-INTERNAL", /* libiconv */
162: ),
163: ucs4internal,
164: { ucs4internal_mbtowc, NULL },{ ucs4internal_wctomb, NULL })
165:
166: DEFENCODING(( "UCS-4-SWAPPED", /* libiconv */
167: ),
168: ucs4swapped,
169: { ucs4swapped_mbtowc, NULL }, { ucs4swapped_wctomb, NULL })
170:
171: DEFENCODING(( "C99",
172: ),
173: c99,
174: { c99_mbtowc, NULL }, { c99_wctomb, NULL })
175:
176: DEFENCODING(( "JAVA",
177: ),
178: java,
179: { java_mbtowc, NULL }, { java_wctomb, NULL })
180:
181: /* Standard 8-bit encodings */
182:
183: DEFENCODING(( "ISO-8859-1", /* IANA */
184: "ISO_8859-1", /* IANA */
185: "ISO_8859-1:1987", /* IANA */
186: "ISO-IR-100", /* IANA */
187: "CP819", /* IANA */
188: "IBM819", /* IANA */
189: "LATIN1", /* IANA */
190: "L1", /* 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 */
195: ),
196: iso8859_1,
197: { iso8859_1_mbtowc, NULL }, { iso8859_1_wctomb, NULL })
198: #ifdef USE_HPUX_ALIASES
199: DEFALIAS( "ISO88591", /* HP-UX */
200: iso8859_1)
201: #endif
202:
203: DEFENCODING(( "ISO-8859-2", /* IANA */
204: "ISO_8859-2", /* IANA */
205: "ISO_8859-2:1987", /* IANA */
206: "ISO-IR-101", /* IANA */
207: "LATIN2", /* IANA */
208: "L2", /* 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 */
213: ),
214: iso8859_2,
215: { iso8859_2_mbtowc, NULL }, { iso8859_2_wctomb, NULL })
216: #ifdef USE_HPUX_ALIASES
217: DEFALIAS( "ISO88592", /* HP-UX */
218: iso8859_2)
219: #endif
220:
221: DEFENCODING(( "ISO-8859-3", /* IANA */
222: "ISO_8859-3", /* IANA */
223: "ISO_8859-3:1988", /* IANA */
224: "ISO-IR-109", /* IANA */
225: "LATIN3", /* IANA */
226: "L3", /* IANA */
227: "csISOLatin3", /* IANA */
228: "ISO8859-3", /* X11R6.4, glibc, FreeBSD, Solaris */
229: /*"ISO8859_3", JDK 1.1 */
230: /*"CP28593", Windows */
231: ),
232: iso8859_3,
233: { iso8859_3_mbtowc, NULL }, { iso8859_3_wctomb, NULL })
234:
235: DEFENCODING(( "ISO-8859-4", /* IANA */
236: "ISO_8859-4", /* IANA */
237: "ISO_8859-4:1988", /* IANA */
238: "ISO-IR-110", /* IANA */
239: "LATIN4", /* IANA */
240: "L4", /* IANA */
241: "csISOLatin4", /* IANA */
242: "ISO8859-4", /* X11R6.4, glibc, FreeBSD, OSF/1, Solaris */
243: /*"ISO8859_4", JDK 1.1 */
244: /*"CP28594", Windows */
245: ),
246: iso8859_4,
247: { iso8859_4_mbtowc, NULL }, { iso8859_4_wctomb, NULL })
248:
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 */
258: ),
259: iso8859_5,
260: { iso8859_5_mbtowc, NULL }, { iso8859_5_wctomb, NULL })
261: #ifdef USE_HPUX_ALIASES
262: DEFALIAS( "ISO88595", /* HP-UX */
263: iso8859_5)
264: #endif
265:
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 */
272: "ARABIC", /* IANA */
273: "csISOLatinArabic", /* IANA */
274: "ISO8859-6", /* X11R6.4, glibc, FreeBSD, AIX, Solaris */
275: /*"ISO8859_6", JDK 1.1 */
276: /*"CP28596", Windows */
277: ),
278: iso8859_6,
279: { iso8859_6_mbtowc, NULL }, { iso8859_6_wctomb, NULL })
280: #ifdef USE_HPUX_ALIASES
281: DEFALIAS( "ISO88596", /* HP-UX */
282: iso8859_6)
283: #endif
284:
285: DEFENCODING(( "ISO-8859-7", /* IANA, RFC 1947 */
286: "ISO_8859-7", /* IANA */
287: "ISO_8859-7:1987", /* IANA */
288: "ISO_8859-7:2003",
289: "ISO-IR-126", /* IANA */
290: "ECMA-118", /* IANA */
291: "ELOT_928", /* IANA */
292: "GREEK8", /* IANA */
293: "GREEK", /* 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 */
298: ),
299: iso8859_7,
300: { iso8859_7_mbtowc, NULL }, { iso8859_7_wctomb, NULL })
301: #ifdef USE_HPUX_ALIASES
302: DEFALIAS( "ISO88597", /* HP-UX */
303: iso8859_7)
304: #endif
305:
306: DEFENCODING(( "ISO-8859-8", /* IANA */
307: "ISO_8859-8", /* IANA */
308: "ISO_8859-8:1988", /* IANA */
309: "ISO-IR-138", /* IANA */
310: "HEBREW", /* 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 */
316: ),
317: iso8859_8,
318: { iso8859_8_mbtowc, NULL }, { iso8859_8_wctomb, NULL })
319: #ifdef USE_HPUX_ALIASES
320: DEFALIAS( "ISO88598", /* HP-UX */
321: iso8859_8)
322: #endif
323:
324: DEFENCODING(( "ISO-8859-9", /* IANA */
325: "ISO_8859-9", /* IANA */
326: "ISO_8859-9:1989", /* IANA */
327: "ISO-IR-148", /* IANA */
328: "LATIN5", /* IANA */
329: "L5", /* 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 */
334: ),
335: iso8859_9,
336: { iso8859_9_mbtowc, NULL }, { iso8859_9_wctomb, NULL })
337: #ifdef USE_HPUX_ALIASES
338: DEFALIAS( "ISO88599", /* HP-UX */
339: iso8859_9)
340: #endif
341:
342: DEFENCODING(( "ISO-8859-10", /* IANA */
343: "ISO_8859-10",
344: "ISO_8859-10:1992", /* IANA */
345: "ISO-IR-157", /* IANA */
346: "LATIN6", /* IANA */
347: "L6", /* IANA */
348: "csISOLatin6", /* IANA */
349: "ISO8859-10", /* X11R6.4, glibc, FreeBSD */
350: ),
351: iso8859_10,
352: { iso8859_10_mbtowc, NULL }, { iso8859_10_wctomb, NULL })
353:
354: DEFENCODING(( "ISO-8859-11", /* glibc */
355: "ISO_8859-11",
356: "ISO8859-11", /* X11R6.7, glibc */
357: ),
358: iso8859_11,
359: { iso8859_11_mbtowc, NULL }, { iso8859_11_wctomb, NULL })
360:
361: DEFENCODING(( "ISO-8859-13", /* IANA, glibc */
362: "ISO_8859-13",
363: "ISO-IR-179", /* glibc */
364: "LATIN7", /* glibc */
365: "L7", /* glibc */
366: "ISO8859-13", /* glibc, FreeBSD */
367: /*"CP28603", Windows */
368: ),
369: iso8859_13,
370: { iso8859_13_mbtowc, NULL }, { iso8859_13_wctomb, NULL })
371: #ifdef USE_AIX_ALIASES
372: DEFALIAS( "IBM-921", /* AIX */
373: iso8859_13)
374: #endif
375:
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 */
384: ),
385: iso8859_14,
386: { iso8859_14_mbtowc, NULL }, { iso8859_14_wctomb, NULL })
387:
388: DEFENCODING(( "ISO-8859-15", /* IANA, glibc */
389: "ISO_8859-15", /* IANA */
390: "ISO_8859-15:1998", /* glibc */
391: "ISO-IR-203",
392: "LATIN-9", /* IANA */
393: "ISO8859-15", /* glibc, FreeBSD, AIX, OSF/1, Solaris */
394: /*"CP28605", Windows */
395: ),
396: iso8859_15,
397: { iso8859_15_mbtowc, NULL }, { iso8859_15_wctomb, NULL })
398: #ifdef USE_HPUX_ALIASES
399: DEFALIAS( "ISO885915", /* HP-UX */
400: iso8859_15)
401: #endif
402:
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 */
408: "L10", /* IANA */
409: "ISO8859-16", /* glibc, FreeBSD */
410: ),
411: iso8859_16,
412: { iso8859_16_mbtowc, NULL }, { iso8859_16_wctomb, NULL })
413:
414: DEFENCODING(( "KOI8-R", /* IANA, RFC 1489, X11R6.4, JDK 1.1 */
415: "csKOI8R", /* IANA */
416: /*"CP20866", Windows */
417: ),
418: koi8_r,
419: { koi8_r_mbtowc, NULL }, { koi8_r_wctomb, NULL })
420:
421: DEFENCODING(( "KOI8-U", /* IANA, RFC 2319 */
422: ),
423: koi8_u,
424: { koi8_u_mbtowc, NULL }, { koi8_u_wctomb, NULL })
425:
426: DEFENCODING(( "KOI8-RU",
427: /*"CP21866", Windows */
428: ),
429: koi8_ru,
430: { koi8_ru_mbtowc, NULL }, { koi8_ru_wctomb, NULL })
431:
432: /* Windows 8-bit encodings */
433:
434: DEFENCODING(( "CP1250", /* JDK 1.1 */
435: "WINDOWS-1250", /* IANA */
436: "MS-EE",
437: ),
438: cp1250,
439: { cp1250_mbtowc, NULL }, { cp1250_wctomb, NULL })
440:
441: DEFENCODING(( "CP1251", /* JDK 1.1 */
442: "WINDOWS-1251", /* IANA */
443: "MS-CYRL",
444: ),
445: cp1251,
446: { cp1251_mbtowc, NULL }, { cp1251_wctomb, NULL })
447: #ifdef USE_SOLARIS_ALIASES
448: DEFALIAS( "ANSI-1251", /* Solaris */
449: cp1251)
450: #endif
451:
452: DEFENCODING(( "CP1252", /* JDK 1.1 */
453: "WINDOWS-1252", /* IANA */
454: "MS-ANSI",
455: ),
456: cp1252,
457: { cp1252_mbtowc, NULL }, { cp1252_wctomb, NULL })
458: #ifdef USE_AIX_ALIASES
459: DEFALIAS( "IBM-1252", /* AIX */
460: cp1252)
461: #endif
462:
463: DEFENCODING(( "CP1253", /* JDK 1.1 */
464: "WINDOWS-1253", /* IANA */
465: "MS-GREEK",
466: ),
467: cp1253,
468: { cp1253_mbtowc, NULL }, { cp1253_wctomb, NULL })
469:
470: DEFENCODING(( "CP1254", /* JDK 1.1 */
471: "WINDOWS-1254", /* IANA */
472: "MS-TURK",
473: ),
474: cp1254,
475: { cp1254_mbtowc, NULL }, { cp1254_wctomb, NULL })
476:
477: DEFENCODING(( "CP1255", /* JDK 1.1 */
478: "WINDOWS-1255", /* IANA */
479: "MS-HEBR",
480: ),
481: cp1255,
482: { cp1255_mbtowc, cp1255_flushwc }, { cp1255_wctomb, NULL })
483:
484: DEFENCODING(( "CP1256", /* JDK 1.1 */
485: "WINDOWS-1256", /* IANA */
486: "MS-ARAB",
487: ),
488: cp1256,
489: { cp1256_mbtowc, NULL }, { cp1256_wctomb, NULL })
490:
491: DEFENCODING(( "CP1257", /* JDK 1.1 */
492: "WINDOWS-1257", /* IANA */
493: "WINBALTRIM",
494: ),
495: cp1257,
496: { cp1257_mbtowc, NULL }, { cp1257_wctomb, NULL })
497:
498: DEFENCODING(( "CP1258", /* JDK 1.1 */
499: "WINDOWS-1258", /* IANA */
500: ),
501: cp1258,
502: { cp1258_mbtowc, cp1258_flushwc }, { cp1258_wctomb, NULL })
503:
504: /* DOS 8-bit encodings */
505:
506: DEFENCODING(( "CP850", /* IANA, JDK 1.1 */
507: "IBM850", /* IANA */
508: "850", /* IANA */
509: "csPC850Multilingual", /* IANA */
510: ),
511: cp850,
512: { cp850_mbtowc, NULL }, { cp850_wctomb, NULL })
513: #ifdef USE_AIX_ALIASES
514: DEFALIAS( "IBM-850", /* AIX */
515: cp850)
516: #endif
517:
518: DEFENCODING(( "CP862", /* IANA, JDK 1.1 */
519: "IBM862", /* IANA */
520: "862", /* IANA */
521: "csPC862LatinHebrew", /* IANA */
522: ),
523: cp862,
524: { cp862_mbtowc, NULL }, { cp862_wctomb, NULL })
525:
526: DEFENCODING(( "CP866", /* IANA, JDK 1.1 */
527: "IBM866", /* IANA */
528: "866", /* IANA */
529: "csIBM866", /* IANA */
530: ),
531: cp866,
532: { cp866_mbtowc, NULL }, { cp866_wctomb, NULL })
533:
534: DEFENCODING(( "CP1131", /* FreeBSD, MacOS X */
535: ),
536: cp1131,
537: { cp1131_mbtowc, NULL }, { cp1131_wctomb, NULL })
538: #ifdef USE_AIX_ALIASES
539: DEFALIAS( "IBM-1131", /* AIX */
540: cp1131)
541: #endif
542:
543: /* Macintosh 8-bit encodings */
544:
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 */
549: "MAC", /* IANA */
550: "csMacintosh", /* IANA */
551: /*"CP10000", Windows */
552: ),
553: mac_roman,
554: { mac_roman_mbtowc, NULL }, { mac_roman_wctomb, NULL })
555:
556: DEFENCODING(( "MacCentralEurope", /* JDK 1.1 */
557: /*"CP10029", Windows */
558: ),
559: mac_centraleurope,
560: { mac_centraleurope_mbtowc, NULL }, { mac_centraleurope_wctomb, NULL })
561:
562: DEFENCODING(( "MacIceland", /* JDK 1.1 */
563: /*"CP10079", Windows */
564: ),
565: mac_iceland,
566: { mac_iceland_mbtowc, NULL }, { mac_iceland_wctomb, NULL })
567:
568: DEFENCODING(( "MacCroatian", /* JDK 1.1 */
569: /*"CP10082", Windows */
570: ),
571: mac_croatian,
572: { mac_croatian_mbtowc, NULL }, { mac_croatian_wctomb, NULL })
573:
574: DEFENCODING(( "MacRomania", /* JDK 1.1 */
575: /*"CP10010", Windows */
576: ),
577: mac_romania,
578: { mac_romania_mbtowc, NULL }, { mac_romania_wctomb, NULL })
579:
580: DEFENCODING(( "MacCyrillic", /* JDK 1.1 */
581: /*"CP10007", Windows */
582: ),
583: mac_cyrillic,
584: { mac_cyrillic_mbtowc, NULL }, { mac_cyrillic_wctomb, NULL })
585:
586: DEFENCODING(( "MacUkraine", /* JDK 1.1 */
587: /*"CP10017", Windows */
588: ),
589: mac_ukraine,
590: { mac_ukraine_mbtowc, NULL }, { mac_ukraine_wctomb, NULL })
591:
592: DEFENCODING(( "MacGreek", /* JDK 1.1 */
593: /*"CP10006", Windows */
594: ),
595: mac_greek,
596: { mac_greek_mbtowc, NULL }, { mac_greek_wctomb, NULL })
597:
598: DEFENCODING(( "MacTurkish", /* JDK 1.1 */
599: /*"CP10081", Windows */
600: ),
601: mac_turkish,
602: { mac_turkish_mbtowc, NULL }, { mac_turkish_wctomb, NULL })
603:
604: DEFENCODING(( "MacHebrew", /* JDK 1.1 */
605: /*"CP10005", Windows */
606: ),
607: mac_hebrew,
608: { mac_hebrew_mbtowc, NULL }, { mac_hebrew_wctomb, NULL })
609:
610: DEFENCODING(( "MacArabic", /* JDK 1.1 */
611: /*"CP10004", Windows */
612: ),
613: mac_arabic,
614: { mac_arabic_mbtowc, NULL }, { mac_arabic_wctomb, NULL })
615:
616: DEFENCODING(( "MacThai", /* JDK 1.1 */
617: /*"CP10021", Windows */
618: ),
619: mac_thai,
620: { mac_thai_mbtowc, NULL }, { mac_thai_wctomb, NULL })
621:
622: /* Other platform specific 8-bit encodings */
623:
624: DEFENCODING(( "HP-ROMAN8", /* IANA, X11R6.4 */
625: "ROMAN8", /* IANA */
626: "R8", /* IANA */
627: "csHPRoman8", /* IANA */
628: ),
629: hp_roman8,
630: { hp_roman8_mbtowc, NULL }, { hp_roman8_wctomb, NULL })
631:
632: DEFENCODING(( "NEXTSTEP",
633: ),
634: nextstep,
635: { nextstep_mbtowc, NULL }, { nextstep_wctomb, NULL })
636:
637: /* Regional 8-bit encodings used for a single language */
638:
639: DEFENCODING(( "ARMSCII-8",
640: ),
641: armscii_8,
642: { armscii_8_mbtowc, NULL }, { armscii_8_wctomb, NULL })
643:
644: DEFENCODING(( "GEORGIAN-ACADEMY",
645: ),
646: georgian_academy,
647: { georgian_academy_mbtowc, NULL }, { georgian_academy_wctomb, NULL })
648:
649: DEFENCODING(( "GEORGIAN-PS",
650: ),
651: georgian_ps,
652: { georgian_ps_mbtowc, NULL }, { georgian_ps_wctomb, NULL })
653:
654: DEFENCODING(( "KOI8-T",
655: ),
656: koi8_t,
657: { koi8_t_mbtowc, NULL }, { koi8_t_wctomb, NULL })
658:
659: DEFENCODING(( "PT154", /* IANA, glibc */
660: "PTCP154", /* IANA */
661: "CP154", /* IANA */
662: "CYRILLIC-ASIAN", /* IANA */
663: "csPTCP154", /* IANA */
664: ),
665: pt154,
666: { pt154_mbtowc, NULL }, { pt154_wctomb, NULL })
667:
668: DEFENCODING(( "RK1048", /* IANA, glibc */
669: "STRK1048-2002", /* IANA */
670: "KZ-1048", /* IANA */
671: "csKZ1048", /* IANA */
672: ),
673: rk1048,
674: { rk1048_mbtowc, NULL }, { rk1048_wctomb, NULL })
675:
676: DEFENCODING(( "MULELAO-1",
677: ),
678: mulelao,
679: { mulelao_mbtowc, NULL }, { mulelao_wctomb, NULL })
680:
681: DEFENCODING(( "CP1133",
682: "IBM-CP1133",
683: ),
684: cp1133,
685: { cp1133_mbtowc, NULL }, { cp1133_wctomb, NULL })
686:
687: DEFENCODING(( "TIS-620", /* IANA */
688: "TIS620", /* glibc, HP-UX */
689: "TIS620-0", /* glibc */
690: "TIS620.2529-1", /* glibc */
691: "TIS620.2533-0", /* glibc */
692: "TIS620.2533-1",
693: "ISO-IR-166", /* glibc */
694: ),
695: tis620,
696: { tis620_mbtowc, NULL }, { tis620_wctomb, NULL })
697: #ifdef USE_OSF1_ALIASES
698: DEFALIAS( "TACTIS", /* OSF/1 */
699: tis620)
700: #endif
701: #ifdef USE_SOLARIS_ALIASES
702: DEFALIAS( "TIS620.2533", /* Solaris */
703: tis620)
704: #endif
705:
706: DEFENCODING(( "CP874", /* JDK 1.1 */
707: "WINDOWS-874",
708: ),
709: cp874,
710: { cp874_mbtowc, NULL }, { cp874_wctomb, NULL })
711:
712: DEFENCODING(( "VISCII", /* IANA, RFC 1456 */
713: "VISCII1.1-1",
714: "csVISCII", /* IANA */
715: ),
716: viscii,
717: { viscii_mbtowc, NULL }, { viscii_wctomb, NULL })
718:
719: DEFENCODING(( "TCVN",
720: "TCVN-5712",
721: "TCVN5712-1",
722: "TCVN5712-1:1993",
723: ),
724: tcvn,
725: { tcvn_mbtowc, tcvn_flushwc }, { tcvn_wctomb, NULL })
726:
727: /* CJK character sets (not documented) */
728:
729: DEFENCODING(( "JIS_C6220-1969-RO", /* IANA */
730: "ISO646-JP", /* IANA */
731: "ISO-IR-14", /* IANA */
732: "JP", /* IANA */
733: "csISO14JISC6220ro", /* IANA */
734: ),
735: iso646_jp,
736: { iso646_jp_mbtowc, NULL }, { iso646_jp_wctomb, NULL })
737:
738: DEFENCODING(( "JIS_X0201", /* IANA */
739: "JISX0201-1976",
740: "X0201", /* IANA */
741: "csHalfWidthKatakana", /* IANA */
742: /*"JISX0201.1976-0", X11R6.4 */
743: /*"JIS0201", JDK 1.1 */
744: ),
745: jisx0201,
746: { jisx0201_mbtowc, NULL }, { jisx0201_wctomb, NULL })
747:
748: DEFENCODING(( "JIS_X0208",
749: "JIS_X0208-1983", /* IANA */
750: "JIS_X0208-1990",
751: "JIS0208",
752: "X0208", /* 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 */
759: ),
760: jisx0208,
761: { jisx0208_mbtowc, NULL }, { jisx0208_wctomb, NULL })
762:
763: DEFENCODING(( "JIS_X0212",
764: "JIS_X0212.1990-0",
765: "JIS_X0212-1990", /* IANA */
766: "X0212", /* IANA */
767: "ISO-IR-159", /* IANA */
768: "csISO159JISX02121990", /* IANA */
769: /*"JISX0212.1990-0", X11R6.4 */
770: /*"JIS0212", JDK 1.1 */
771: ),
772: jisx0212,
773: { jisx0212_mbtowc, NULL }, { jisx0212_wctomb, NULL })
774:
775: DEFENCODING(( "GB_1988-80", /* IANA */
776: "ISO646-CN", /* IANA */
777: "ISO-IR-57", /* IANA */
778: "CN", /* IANA */
779: "csISO57GB1988", /* IANA */
780: ),
781: iso646_cn,
782: { iso646_cn_mbtowc, NULL }, { iso646_cn_wctomb, NULL })
783:
784: DEFENCODING(( "GB_2312-80", /* IANA */
785: "ISO-IR-58", /* IANA */
786: "csISO58GB231280", /* IANA */
787: "CHINESE", /* IANA */
788: /*"GB2312.1980-0", X11R6.4 */
789: ),
790: gb2312,
791: { gb2312_mbtowc, NULL }, { gb2312_wctomb, NULL })
792:
793: DEFENCODING(( "ISO-IR-165",
794: "CN-GB-ISOIR165", /* RFC 1922 */
795: ),
796: isoir165,
797: { isoir165_mbtowc, NULL }, { isoir165_wctomb, NULL })
798:
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 */
804: "KOREAN", /* IANA */
805: /*"KSC5601.1987-0", X11R6.4 */
806: /*"KSX1001:1992", Ken Lunde */
807: ),
808: ksc5601,
809: { ksc5601_mbtowc, NULL }, { ksc5601_wctomb, NULL })
810:
811: /* CJK encodings */
812:
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 */
819: ),
820: euc_jp,
821: { euc_jp_mbtowc, NULL }, { euc_jp_wctomb, NULL })
822: #ifdef USE_AIX_ALIASES
823: DEFALIAS( "IBM-EUCJP", /* AIX */
824: euc_jp)
825: #endif
826: #ifdef USE_OSF1_ALIASES
827: DEFALIAS( "SDECKANJI", /* OSF/1 */
828: euc_jp)
829: #endif
830:
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 */
836: ),
837: sjis,
838: { sjis_mbtowc, NULL }, { sjis_wctomb, NULL })
839: #ifdef USE_SOLARIS_ALIASES
840: DEFALIAS( "PCK", /* Solaris */
841: sjis)
842: #endif
843:
844: DEFENCODING(( "CP932", /* glibc */
845: ),
846: cp932,
847: { cp932_mbtowc, NULL }, { cp932_wctomb, NULL })
848: #ifdef USE_AIX_ALIASES
849: DEFALIAS( "IBM-932", /* AIX */
850: cp932)
851: #endif
852:
853: DEFENCODING(( "ISO-2022-JP", /* IANA, RFC 1468 */
854: "csISO2022JP", /* IANA */
855: /*"ISO2022JP", JDK 1.1 */
856: ),
857: iso2022_jp,
858: { iso2022_jp_mbtowc, NULL }, { iso2022_jp_wctomb, iso2022_jp_reset })
859:
860: DEFENCODING(( "ISO-2022-JP-1", /* RFC 2237 */
861: ),
862: iso2022_jp1,
863: { iso2022_jp1_mbtowc, NULL }, { iso2022_jp1_wctomb, iso2022_jp1_reset })
864:
865: DEFENCODING(( "ISO-2022-JP-2", /* IANA, RFC 1554 */
866: "csISO2022JP2", /* IANA */
867: ),
868: iso2022_jp2,
869: { iso2022_jp2_mbtowc, NULL }, { iso2022_jp2_wctomb, iso2022_jp2_reset })
870:
871: DEFENCODING(( "ISO-2022-JP-MS",
872: "CP50221",
873: /*"ISO-2022-JP-ESC", Windows */
874: ),
875: iso2022_jpms,
876: { iso2022_jpms_mbtowc, NULL }, { iso2022_jpms_wctomb, iso2022_jpms_reset })
877:
878: DEFENCODING(( "EUC-CN", /* glibc */
879: "EUCCN", /* glibc, IRIX */
880: "GB2312", /* IANA */
881: "CN-GB", /* RFC 1922 */
882: "csGB2312", /* IANA */
883: /*"EUC_CN", JDK 1.1 */
884: /*"CP51936", Windows */
885: ),
886: euc_cn,
887: { euc_cn_mbtowc, NULL }, { euc_cn_wctomb, NULL })
888: #ifdef USE_AIX_ALIASES
889: DEFALIAS( "IBM-EUCCN", /* AIX */
890: euc_cn)
891: #endif
892: #ifdef USE_HPUX_ALIASES
893: DEFALIAS( "HP15CN", /* HP-UX */
894: euc_cn)
895: #endif
896: #ifdef USE_OSF1_ALIASES
897: DEFALIAS( "DECHANZI", /* OSF/1 */
898: euc_cn)
899: #endif
900:
901: DEFENCODING(( "GBK", /* IANA, JDK 1.1 */
902: ),
903: ces_gbk,
904: { ces_gbk_mbtowc, NULL }, { ces_gbk_wctomb, NULL })
905:
906: DEFENCODING(( "CP936", /* IANA */
907: "MS936", /* IANA */
908: "WINDOWS-936", /* IANA */
909: ),
910: cp936,
911: { cp936_mbtowc, NULL }, { cp936_wctomb, NULL })
912:
913: DEFENCODING(( "GB18030", /* IANA, glibc */
914: /*"CP54936", Windows */
915: ),
916: gb18030,
917: { gb18030_mbtowc, NULL }, { gb18030_wctomb, NULL })
918:
919: DEFENCODING(( "ISO-2022-CN", /* IANA, RFC 1922 */
920: "csISO2022CN",
921: /*"ISO2022CN", JDK 1.1 */
922: ),
923: iso2022_cn,
924: { iso2022_cn_mbtowc, NULL }, { iso2022_cn_wctomb, iso2022_cn_reset })
925:
926: DEFENCODING(( "ISO-2022-CN-EXT", /* IANA, RFC 1922 */
927: ),
928: iso2022_cn_ext,
929: { iso2022_cn_ext_mbtowc, NULL }, { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset })
930:
931: DEFENCODING(( "HZ", /* RFC 1843 */
932: "HZ-GB-2312", /* IANA, RFC 1842 */
933: /*"CP52936", Windows */
934: ),
935: hz,
936: { hz_mbtowc, NULL }, { hz_wctomb, hz_reset })
937:
938: DEFENCODING(( "EUC-TW", /* glibc */
939: "EUCTW", /* glibc, HP-UX, IRIX, OSF/1 */
940: "csEUCTW",
941: /*"EUC_TW", JDK 1.1 */
942: /*"CP51950", Windows */
943: ),
944: euc_tw,
945: { euc_tw_mbtowc, NULL }, { euc_tw_wctomb, NULL })
946: #ifdef USE_AIX_ALIASES
947: DEFALIAS( "IBM-EUCTW", /* AIX */
948: euc_tw)
949: #endif
950: #ifdef USE_SOLARIS_ALIASES
951: DEFALIAS( "CNS11643", /* Solaris */
952: euc_tw)
953: #endif
954:
955: DEFENCODING(( "BIG5", /* IANA, JDK 1.1 */
956: "BIG-5", /* glibc */
957: "BIG-FIVE", /* glibc */
958: "BIGFIVE", /* glibc */
959: "CN-BIG5", /* RFC 1922 */
960: "csBig5", /* IANA */
961: ),
962: ces_big5,
963: { ces_big5_mbtowc, NULL }, { ces_big5_wctomb, NULL })
964:
965: DEFENCODING(( "CP950", /* JDK 1.1 */
966: ),
967: cp950,
968: { cp950_mbtowc, NULL }, { cp950_wctomb, NULL })
969:
970: DEFENCODING(( "BIG5-HKSCS:1999",
971: ),
972: big5hkscs1999,
973: { big5hkscs1999_mbtowc, big5hkscs1999_flushwc }, { big5hkscs1999_wctomb, big5hkscs1999_reset })
974:
975: DEFENCODING(( "BIG5-HKSCS:2001",
976: ),
977: big5hkscs2001,
978: { big5hkscs2001_mbtowc, big5hkscs2001_flushwc }, { big5hkscs2001_wctomb, big5hkscs2001_reset })
979:
980: DEFENCODING(( "BIG5-HKSCS:2004",
981: ),
982: big5hkscs2004,
983: { big5hkscs2004_mbtowc, big5hkscs2004_flushwc }, { big5hkscs2004_wctomb, big5hkscs2004_reset })
984:
985: DEFENCODING(( "BIG5-HKSCS", /* IANA */
986: "BIG5HKSCS", /* glibc */
987: "BIG5-HKSCS:2008",
988: ),
989: big5hkscs2008,
990: { big5hkscs2008_mbtowc, big5hkscs2008_flushwc }, { big5hkscs2008_wctomb, big5hkscs2008_reset })
991:
992: DEFENCODING(( "EUC-KR", /* IANA, RFC 1557 */
993: "EUCKR", /* glibc, HP-UX, IRIX, OSF/1 */
994: "csEUCKR", /* IANA */
995: /*"EUC_KR", JDK 1.1 */
996: /*"CP51949", Windows */
997: ),
998: euc_kr,
999: { euc_kr_mbtowc, NULL }, { euc_kr_wctomb, NULL })
1000: #ifdef USE_AIX_ALIASES
1001: DEFALIAS( "IBM-EUCKR", /* AIX */
1002: euc_kr)
1003: #endif
1004: #ifdef USE_OSF1_ALIASES
1005: DEFALIAS( "DECKOREAN", /* OSF/1 */
1006: euc_kr)
1007: #endif
1008: #ifdef USE_SOLARIS_ALIASES
1009: DEFALIAS( "5601", /* Solaris */
1010: euc_kr)
1011: #endif
1012:
1013: DEFENCODING(( "CP949", /* JDK 1.1 */
1014: "UHC", /* glibc */
1015: ),
1016: cp949,
1017: { cp949_mbtowc, NULL }, { cp949_wctomb, NULL })
1018: #ifdef USE_OSF1_ALIASES
1019: DEFALIAS( "KSC5601", /* OSF/1 */
1020: cp949)
1021: #endif
1022:
1023: DEFENCODING(( "JOHAB", /* glibc */
1024: "CP1361", /* glibc */
1025: ),
1026: johab,
1027: { johab_mbtowc, NULL }, { johab_wctomb, NULL })
1028: #ifdef USE_SOLARIS_ALIASES
1029: DEFALIAS( "KO_KR.JOHAP92", /* Solaris */
1030: johab)
1031: #endif
1032:
1033: DEFENCODING(( "ISO-2022-KR", /* IANA, RFC 1557 */
1034: "csISO2022KR", /* IANA */
1035: /*"ISO2022KR", JDK 1.1 */
1036: /*"CP50225", Windows */
1037: ),
1038: iso2022_kr,
1039: { iso2022_kr_mbtowc, NULL }, { iso2022_kr_wctomb, iso2022_kr_reset })
1040:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>