update dev300-m58
[ooovba.git] / sal / textenc / tcvteas1.tab
blob8445e69b0888af2b6dc993bd0417b5c949157b7f
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  * 
5  * Copyright 2008 by Sun Microsystems, Inc.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * $RCSfile: tcvteas1.tab,v $
10  * $Revision: 1.9 $
11  *
12  * This file is part of OpenOffice.org.
13  *
14  * OpenOffice.org is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU Lesser General Public License version 3
16  * only, as published by the Free Software Foundation.
17  *
18  * OpenOffice.org is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU Lesser General Public License version 3 for more details
22  * (a copy is included in the LICENSE file that accompanied this code).
23  *
24  * You should have received a copy of the GNU Lesser General Public License
25  * version 3 along with OpenOffice.org.  If not, see
26  * <http://www.openoffice.org/license.html>
27  * for a copy of the LGPLv3 License.
28  *
29  ************************************************************************/
31 /* ======================================================================= */
33 /* This file contain the tables for all 1 byte charsets, for the */
34 /* following scripts: asia (Thai, Vietnamese) and other exotic scripts */
36 /* ======================================================================= */
38 /* MS-874 */
39 /* Windows/Dos Standard CharSet for Thai */
40 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
41 /* Convert-Tables: mappings/vendors/micsft/pc/cp874.txt from 04/15/98 Version 2.00 */
42 /* Last-Changes from us: */
44 /* ----------------------------------------------------------------------- */
46 #define MS874UNI_START                  0x80
47 #define MS874UNI_END                    0xFB
48 static sal_uInt16 const aImplMS874ToUniTab[MS874UNI_END - MS874UNI_START + 1] =
50 /*       0       1       2       3       4       5       6       7 */
51 /*       8       9       A       B       C       D       E       F */
52     0x20AC,      0,      0,      0,      0, 0x2026,      0,      0, /* 0x80 */
53          0,      0,      0,      0,      0,      0,      0,      0, /* 0x80 */
54          0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
55          0,      0,      0,      0,      0,      0,      0,      0, /* 0x90 */
56     0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, /* 0xA0 */
57     0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, /* 0xA0 */
58     0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, /* 0xB0 */
59     0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, /* 0xB0 */
60     0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, /* 0xC0 */
61     0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, /* 0xC0 */
62     0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, /* 0xD0 */
63     0x0E38, 0x0E39, 0x0E3A,      0,      0,      0,      0, 0x0E3F, /* 0xD0 */
64     0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, /* 0xE0 */
65     0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, /* 0xE0 */
66     0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, /* 0xF0 */
67     0x0E58, 0x0E59, 0x0E5A, 0x0E5B                                  /* 0xF0 */
70 /* ----------------------------------------------------------------------- */
72 #define MS874CHAR_START                 0x0E01
73 #define MS874CHAR_END                   0x0E5B
74 static sal_uChar const aImplMS874ToCharTab[MS874CHAR_END - MS874CHAR_START + 1] =
76 /*     0     1     2     3     4     5     6     7 */
77 /*     8     9     A     B     C     D     E     F */
78           0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x0E00 */
79     0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x0E00 */
80     0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x0E10 */
81     0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x0E10 */
82     0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0E20 */
83     0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0E20 */
84     0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x0E30 */
85     0xD8, 0xD9, 0xDA,    0,    0,    0,    0, 0xDF, /* 0x0E30 */
86     0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0E40 */
87     0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0E40 */
88     0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0E50 */
89     0xF8, 0xF9, 0xFA, 0xFB                          /* 0x0E50 */
92 /* ----------------------------------------------------------------------- */
94 #define MS874TOCHARTABEX_COUNT          10
95 static ImplUniCharTabData const aImplMS874ToCharTabEx[MS874TOCHARTABEX_COUNT] =
97   { 0x00A0, 0xA0, 0 },
98   { 0x2013, 0x96, 0 },
99   { 0x2014, 0x97, 0 },
100   { 0x2018, 0x91, 0 },
101   { 0x2019, 0x92, 0 },
102   { 0x201C, 0x93, 0 },
103   { 0x201D, 0x94, 0 },
104   { 0x2022, 0x95, 0 },
105   { 0x2026, 0x85, 0 },
106   { 0x20AC, 0x80, 0 }
109 /* ----------------------------------------------------------------------- */
111 static ImplByteConvertData const aImplMS874ByteCvtData =
113     aImplMS874ToUniTab,
114     NULL,
115     MS874UNI_START, MS874UNI_END,
116     NOTABUNI_START, NOTABUNI_END,
117     aImplMS874ToCharTab,
118     NULL,
119     aImplMS874ToCharTabEx,
120     MS874CHAR_START, MS874CHAR_END,
121     NOTABCHAR_START, NOTABCHAR_END,
122     MS874TOCHARTABEX_COUNT
125 /* ----------------------------------------------------------------------- */
127 static ImplTextEncodingData const aImplMS874TextEncodingData
128     = { { &aImplMS874ByteCvtData,
129           ImplCharToUnicode,
130           ImplUnicodeToChar,
131           NULL,
132           NULL,
133           NULL,
134           NULL,
135           NULL,
136           NULL },
137         1,
138         1,
139         1,
140         222,
141         "iso8859-1", /* TODO! correct? */
142         "windows-874",
143         RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
144     /* WIN/DOS/OS2, SCRIPT_THAI, pc code page 874, mac encoding 21 */
146 /* ======================================================================= */
148 /* TIS 620-2533
150  * A good source of information is <http://www.inet.co.th/cyberclub/trin/
151  * thairef/index.html> as of 18 Mar 2002.
153  * Single byte encoding, from which MS874 is derived (although it is the other
154  * way around in this implementation):
156  * 0x00--9F map to U+0000--009F
157  * 0xA0 is questionable (unassigned or U+00A0 NO BREAK SPACE), to ease
158  *      implementation, it maps to U+00A0
159  * 0xA1--DA map to U+0E01--0E3A (TIS 620, same for MS874)
160  * 0xDB--DE are unassigned (TIS 620, same for MS874)
161  * 0xDF--FB map to U+0E3F--0E5B (TIS 620, same for MS874)
162  * 0xFC--FF are unassigned (TIS 620, same for MS874)
163  */
165 static ImplByteConvertData const aImplTis620ByteCvtData =
167     aImplMS874ToUniTab + (0xA0 - MS874UNI_START),
168     aImpl8090SameToUniTab,
169     0xA0, MS874UNI_END,
170     SAME8090UNI_START, SAME8090UNI_END,
171     aImplMS874ToCharTab,
172     aImpl8090SameToCharTab,
173     aImplMS874ToCharTabEx,
174     MS874CHAR_START, MS874CHAR_END,
175     SAME8090CHAR_START, SAME8090CHAR_END,
176     1
179 static ImplTextEncodingData const aImplTis620TextEncodingData
180     = { { &aImplTis620ByteCvtData,
181           ImplCharToUnicode,
182           ImplUnicodeToChar,
183           NULL,
184           NULL,
185           NULL,
186           NULL,
187           NULL,
188           NULL },
189         1,
190         1,
191         1,
192         222,
193         "iso8859-1", /* TODO! correct? */
194         "TIS-620",
195         RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
197 /* ======================================================================= */
199 /* MS-1258 */
200 /* Windows Standard CharSet for Vietnamease */
201 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
202 /* Convert-Tables: mappings/vendors/micsft/windows/cp1258.txt from 04/15/98 Version 2.01 */
203 /* Last-Changes from us: */
205 /* ----------------------------------------------------------------------- */
207 #define MS1258UNI_START                 0x80
208 #define MS1258UNI_END                   0xFF
209 static sal_uInt16 const aImplMS1258ToUniTab[MS1258UNI_END - MS1258UNI_START + 1] =
211 /*       0       1       2       3       4       5       6       7 */
212 /*       8       9       A       B       C       D       E       F */
213     0x20AC,      0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
214     0x02C6, 0x2030,      0, 0x2039, 0x0152,      0,      0,      0, /* 0x80 */
215          0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
216     0x02DC, 0x2122,      0, 0x203A, 0x0153,      0,      0, 0x0178, /* 0x90 */
217     0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
218     0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
219     0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
220     0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
221     0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
222     0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
223     0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7, /* 0xD0 */
224     0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF, /* 0xD0 */
225     0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
226     0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
227     0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7, /* 0xF0 */
228     0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF  /* 0xF0 */
231 /* ----------------------------------------------------------------------- */
233 #define MS1258CHAR_START                0x00A0
234 #define MS1258CHAR_END                  0x00FF
235 static sal_uChar const aImplMS1258ToCharTab[MS1258CHAR_END - MS1258CHAR_START + 1] =
237 /*     0     1     2     3     4     5     6     7 */
238 /*     8     9     A     B     C     D     E     F */
239     0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x00A0 */
240     0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
241     0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
242     0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x00B0 */
243     0xC0, 0xC1, 0xC2,    0, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
244     0xC8, 0xC9, 0xCA, 0xCB,    0, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
245        0, 0xD1,    0, 0xD3, 0xD4,    0, 0xD6, 0xD7, /* 0x00D0 */
246     0xD8, 0xD9, 0xDA, 0xDB, 0xDC,    0,    0, 0xDF, /* 0x00D0 */
247     0xE0, 0xE1, 0xE2,    0, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
248     0xE8, 0xE9, 0xEA, 0xEB,    0, 0xED, 0xEE, 0xEF, /* 0x00E0 */
249        0, 0xF1,    0, 0xF3, 0xF4,    0, 0xF6, 0xF7, /* 0x00F0 */
250     0xF8, 0xF9, 0xFA, 0xFB, 0xFC,    0,    0, 0xFF  /* 0x00F0 */
253 /* ----------------------------------------------------------------------- */
255 /* The list of Vietnamese-relevant precomposed Unicode characters that map to
256    MS1258 base + combining modifier are derived from the information present at
257    <http://vietunicode.sourceforge.net/charset/>: */
258 #define MS1258TOCHARTABEX_COUNT         141
259 static ImplUniCharTabData const aImplMS1258ToCharTabEx[MS1258TOCHARTABEX_COUNT] =
261   { 0x00C3, 0x41, 0xDE },
262   { 0x00CC, 0x49, 0xCC },
263   { 0x00D2, 0x4F, 0xCC },
264   { 0x00D5, 0x4F, 0xDE },
265   { 0x00DD, 0x59, 0xEC },
266   { 0x00E3, 0x61, 0xDE },
267   { 0x00EC, 0x69, 0xCC },
268   { 0x00F2, 0x6F, 0xCC },
269   { 0x00F5, 0x6F, 0xDE },
270   { 0x00FD, 0x79, 0xCC },
271   { 0x0102, 0xC3, 0 },
272   { 0x0103, 0xE3, 0 },
273   { 0x0110, 0xD0, 0 },
274   { 0x0111, 0xF0, 0 },
275   { 0x0128, 0x49, 0xDE },
276   { 0x0129, 0x69, 0xDE },
277   { 0x0152, 0x8C, 0 },
278   { 0x0153, 0x9C, 0 },
279   { 0x0168, 0x55, 0xDE },
280   { 0x0169, 0x75, 0xDE },
281   { 0x0178, 0x9F, 0 },
282   { 0x0192, 0x83, 0 },
283   { 0x01A0, 0xD5, 0 },
284   { 0x01A1, 0xF5, 0 },
285   { 0x01AF, 0xDD, 0 },
286   { 0x01B0, 0xFD, 0 },
287   { 0x02C6, 0x88, 0 },
288   { 0x02DC, 0x98, 0 },
289   { 0x0300, 0xCC, 0 },
290   { 0x0301, 0xEC, 0 },
291   { 0x0303, 0xDE, 0 },
292   { 0x0309, 0xD2, 0 },
293   { 0x0323, 0xF2, 0 },
294   { 0x1EA0, 0x41, 0xF2 },
295   { 0x1EA1, 0x61, 0xF2 },
296   { 0x1EA2, 0x41, 0xD2 },
297   { 0x1EA3, 0x61, 0xD2 },
298   { 0x1EA4, 0xC2, 0xEC },
299   { 0x1EA5, 0xE2, 0xEC },
300   { 0x1EA6, 0xC2, 0xCC },
301   { 0x1EA7, 0xE2, 0xCC },
302   { 0x1EA8, 0xC2, 0xD2 },
303   { 0x1EA9, 0xE2, 0xD2 },
304   { 0x1EAA, 0xC2, 0xDE },
305   { 0x1EAB, 0xE2, 0xDE },
306   { 0x1EAC, 0xC2, 0xF2 },
307   { 0x1EAD, 0xE2, 0xF2 },
308   { 0x1EAE, 0xC3, 0xEC },
309   { 0x1EAF, 0xE3, 0xEC },
310   { 0x1EB0, 0xC3, 0xCC },
311   { 0x1EB1, 0xE3, 0xCC },
312   { 0x1EB2, 0xC3, 0xD2 },
313   { 0x1EB3, 0xE3, 0xD2 },
314   { 0x1EB4, 0xC3, 0xDE },
315   { 0x1EB5, 0xE3, 0xDE },
316   { 0x1EB6, 0xC3, 0xF2 },
317   { 0x1EB7, 0xE3, 0xF2 },
318   { 0x1EB8, 0x45, 0xF2 },
319   { 0x1EB9, 0x65, 0xF2 },
320   { 0x1EBA, 0x45, 0xD2 },
321   { 0x1EBB, 0x65, 0xD2 },
322   { 0x1EBC, 0x45, 0xDE },
323   { 0x1EBD, 0x65, 0xDE },
324   { 0x1EBE, 0xCA, 0xEC },
325   { 0x1EBF, 0xEA, 0xEC },
326   { 0x1EC0, 0xCA, 0xCC },
327   { 0x1EC1, 0xEA, 0xCC },
328   { 0x1EC2, 0xCA, 0xD2 },
329   { 0x1EC3, 0xEA, 0xD2 },
330   { 0x1EC4, 0xCA, 0xDE },
331   { 0x1EC5, 0xEA, 0xDE },
332   { 0x1EC6, 0xCA, 0xF2 },
333   { 0x1EC7, 0xEA, 0xF2 },
334   { 0x1EC8, 0x49, 0xD2 },
335   { 0x1EC9, 0x69, 0xD2 },
336   { 0x1ECA, 0x49, 0xF2 },
337   { 0x1ECB, 0x69, 0xF2 },
338   { 0x1ECC, 0x4F, 0xF2 },
339   { 0x1ECD, 0x6F, 0xF2 },
340   { 0x1ECE, 0x4F, 0xD2 },
341   { 0x1ECF, 0x6F, 0xD2 },
342   { 0x1ED0, 0xD4, 0xEC },
343   { 0x1ED1, 0xF4, 0xEC },
344   { 0x1ED2, 0xD4, 0xCC },
345   { 0x1ED3, 0xF4, 0xCC },
346   { 0x1ED4, 0xD4, 0xD2 },
347   { 0x1ED5, 0xF4, 0xD2 },
348   { 0x1ED6, 0xD4, 0xDE },
349   { 0x1ED7, 0xF4, 0xDE },
350   { 0x1ED8, 0xD4, 0xF2 },
351   { 0x1ED9, 0xF4, 0xF2 },
352   { 0x1EDA, 0xD5, 0xEC },
353   { 0x1EDB, 0xF5, 0xEC },
354   { 0x1EDC, 0xD5, 0xCC },
355   { 0x1EDD, 0xF5, 0xCC },
356   { 0x1EDE, 0xD5, 0xD2 },
357   { 0x1EDF, 0xF5, 0xD2 },
358   { 0x1EE0, 0xD5, 0xDE },
359   { 0x1EE1, 0xF5, 0xDE },
360   { 0x1EE2, 0xD5, 0xF2 },
361   { 0x1EE3, 0xF5, 0xF2 },
362   { 0x1EE4, 0x55, 0xF2 },
363   { 0x1EE5, 0x75, 0xF2 },
364   { 0x1EE6, 0x55, 0xD2 },
365   { 0x1EE7, 0x75, 0xD2 },
366   { 0x1EE8, 0xDD, 0xEC },
367   { 0x1EE9, 0xFD, 0xEC },
368   { 0x1EEA, 0xDD, 0xCC },
369   { 0x1EEB, 0xFD, 0xCC },
370   { 0x1EEC, 0xDD, 0xD2 },
371   { 0x1EED, 0xFD, 0xD2 },
372   { 0x1EEE, 0xDD, 0xDE },
373   { 0x1EEF, 0xFD, 0xDE },
374   { 0x1EF0, 0xDD, 0xF2 },
375   { 0x1EF1, 0xFD, 0xF2 },
376   { 0x1EF2, 0x59, 0xCC },
377   { 0x1EF3, 0x79, 0xCC },
378   { 0x1EF4, 0x59, 0xF2 },
379   { 0x1EF5, 0x79, 0xF2 },
380   { 0x1EF6, 0x59, 0xD2 },
381   { 0x1EF7, 0x79, 0xD2 },
382   { 0x1EF8, 0x59, 0xDE },
383   { 0x1EF9, 0x79, 0xDE },
384   { 0x2013, 0x96, 0 },
385   { 0x2014, 0x97, 0 },
386   { 0x2018, 0x91, 0 },
387   { 0x2019, 0x92, 0 },
388   { 0x201A, 0x82, 0 },
389   { 0x201C, 0x93, 0 },
390   { 0x201D, 0x94, 0 },
391   { 0x201E, 0x84, 0 },
392   { 0x2020, 0x86, 0 },
393   { 0x2021, 0x87, 0 },
394   { 0x2022, 0x95, 0 },
395   { 0x2026, 0x85, 0 },
396   { 0x2030, 0x89, 0 },
397   { 0x2039, 0x8B, 0 },
398   { 0x203A, 0x9B, 0 },
399   { 0x20AB, 0xFE, 0 },
400   { 0x20AC, 0x80, 0 },
401   { 0x2122, 0x99, 0 }
404 /* ----------------------------------------------------------------------- */
406 static ImplByteConvertData const aImplMS1258ByteCvtData =
408     aImplMS1258ToUniTab,
409     NULL,
410     MS1258UNI_START, MS1258UNI_END,
411     NOTABUNI_START, NOTABUNI_END,
412     aImplMS1258ToCharTab,
413     NULL,
414     aImplMS1258ToCharTabEx,
415     MS1258CHAR_START, MS1258CHAR_END,
416     NOTABCHAR_START, NOTABCHAR_END,
417     MS1258TOCHARTABEX_COUNT
420 /* ----------------------------------------------------------------------- */
422 static ImplTextEncodingData const aImplMS1258TextEncodingData
423     = { { &aImplMS1258ByteCvtData,
424           ImplCharToUnicode,
425           ImplUnicodeToChar,
426           NULL,
427           NULL,
428           NULL,
429           NULL,
430           NULL,
431           NULL },
432         1,
433         2,
434         1,
435         163,
436         "iso8859-1", /* TODO! correct? */
437         "windows-1258",
438         RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
439     /* WIN, SCRIPT_VIETNAMESE, mac encoding 30 */