]> git.lyx.org Git - lyx.git/blob - 3rdparty/libiconv/1.15/lib/encodings.def
Implement auto-nesting.
[lyx.git] / 3rdparty / libiconv / 1.15 / lib / encodings.def
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 <http://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