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