xref: /aoo41x/main/sal/textenc/tcvtest1.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: easteurope, cyrillic, greek, turkish */
28cdf0e10cSrcweir
29cdf0e10cSrcweir/* ======================================================================= */
30cdf0e10cSrcweir
31cdf0e10cSrcweir/* IBM-737 */
32cdf0e10cSrcweir/* Dos Standard CharSet for Greek */
33cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
34cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp737.txt from 04/24/96 Version 2.00 */
35cdf0e10cSrcweir/* Last-Changes from us: */
36cdf0e10cSrcweir
37cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
38cdf0e10cSrcweir
39cdf0e10cSrcweir#define IBM737UNI_START                 0x80
40cdf0e10cSrcweir#define IBM737UNI_END                   0xFF
41cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM737ToUniTab[IBM737UNI_END - IBM737UNI_START + 1] =
42cdf0e10cSrcweir{
43cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
44cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
45cdf0e10cSrcweir    0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, /* 0x80 */
46cdf0e10cSrcweir    0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, /* 0x80 */
47cdf0e10cSrcweir    0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, /* 0x90 */
48cdf0e10cSrcweir    0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, /* 0x90 */
49cdf0e10cSrcweir    0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, /* 0xA0 */
50cdf0e10cSrcweir    0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, /* 0xA0 */
51cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
52cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
53cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
54cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
55cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
56cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
57cdf0e10cSrcweir    0x03C9, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD, /* 0xE0 */
58cdf0e10cSrcweir    0x03CB, 0x03CE, 0x0386, 0x0388, 0x0389, 0x038A, 0x038C, 0x038E, /* 0xE0 */
59cdf0e10cSrcweir    0x038F, 0x00B1, 0x2265, 0x2264, 0x03AA, 0x03AB, 0x00F7, 0x2248, /* 0xF0 */
60cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
61cdf0e10cSrcweir};
62cdf0e10cSrcweir
63cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
64cdf0e10cSrcweir
65cdf0e10cSrcweir#define IBM737CHAR_START                0x0386
66cdf0e10cSrcweir#define IBM737CHAR_END                  0x03CE
67cdf0e10cSrcweirstatic sal_uChar const aImplIBM737ToCharTab[IBM737CHAR_END - IBM737CHAR_START + 1] =
68cdf0e10cSrcweir{
69cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
70cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
71cdf0e10cSrcweir                                        0xEA,    0, /* 0x0380 */
72cdf0e10cSrcweir    0xEB, 0xEC, 0xED,    0, 0xEE,    0, 0xEF, 0xF0, /* 0x0380 */
73cdf0e10cSrcweir       0, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, /* 0x0390 */
74cdf0e10cSrcweir    0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, /* 0x0390 */
75cdf0e10cSrcweir    0x8F, 0x90,    0, 0x91, 0x92, 0x93, 0x94, 0x95, /* 0x03A0 */
76cdf0e10cSrcweir    0x96, 0x97, 0xF4, 0xF5, 0xE1, 0xE2, 0xE3, 0xE5, /* 0x03A0 */
77cdf0e10cSrcweir       0, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, /* 0x03B0 */
78cdf0e10cSrcweir    0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, /* 0x03B0 */
79cdf0e10cSrcweir    0xA7, 0xA8, 0xAA, 0xA9, 0xAB, 0xAC, 0xAD, 0xAE, /* 0x03C0 */
80cdf0e10cSrcweir    0xAF, 0xE0, 0xE4, 0xE8, 0xE6, 0xE7, 0xE9        /* 0x03C0 */
81cdf0e10cSrcweir};
82cdf0e10cSrcweir
83cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
84cdf0e10cSrcweir
85cdf0e10cSrcweir#define IBM737TOCHARTABEX_COUNT         61
86cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM737ToCharTabEx[IBM737TOCHARTABEX_COUNT] =
87cdf0e10cSrcweir{
88cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
89cdf0e10cSrcweir  { 0x00B0, 0xF8, 0 },
90cdf0e10cSrcweir  { 0x00B1, 0xF1, 0 },
91cdf0e10cSrcweir  { 0x00B2, 0xFD, 0 },
92cdf0e10cSrcweir  { 0x00B7, 0xFA, 0 },
93cdf0e10cSrcweir  { 0x00F7, 0xF6, 0 },
94cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
95cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
96cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
97cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
98cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
99cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
100cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
101cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
102cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
103cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
104cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
105cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
106cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
107cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
108cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
109cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
110cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
111cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
112cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
113cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
114cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
115cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
116cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
117cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
118cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
119cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
120cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
121cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
122cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
123cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
124cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
125cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
126cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
127cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
128cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
129cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
130cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
131cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
132cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
133cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
134cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
135cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
136cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
137cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
138cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
139cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
140cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
141cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
142cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
143cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
144cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
145cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
146cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
147cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
148cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
149cdf0e10cSrcweir};
150cdf0e10cSrcweir
151cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
152cdf0e10cSrcweir
153cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM737ByteCvtData =
154cdf0e10cSrcweir{
155cdf0e10cSrcweir    aImplIBM737ToUniTab,
156cdf0e10cSrcweir    NULL,
157cdf0e10cSrcweir    IBM737UNI_START, IBM737UNI_END,
158cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
159cdf0e10cSrcweir    aImplIBM737ToCharTab,
160cdf0e10cSrcweir    NULL,
161cdf0e10cSrcweir    aImplIBM737ToCharTabEx,
162cdf0e10cSrcweir    IBM737CHAR_START, IBM737CHAR_END,
163cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
164cdf0e10cSrcweir    IBM737TOCHARTABEX_COUNT
165cdf0e10cSrcweir};
166cdf0e10cSrcweir
167cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
168cdf0e10cSrcweir
169cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM737TextEncodingData
170cdf0e10cSrcweir    = { { &aImplIBM737ByteCvtData,
171cdf0e10cSrcweir          ImplCharToUnicode,
172cdf0e10cSrcweir          ImplUnicodeToChar,
173cdf0e10cSrcweir          NULL,
174cdf0e10cSrcweir          NULL,
175cdf0e10cSrcweir          NULL,
176cdf0e10cSrcweir          NULL,
177cdf0e10cSrcweir          NULL,
178cdf0e10cSrcweir          NULL },
179cdf0e10cSrcweir        1,
180cdf0e10cSrcweir        1,
181cdf0e10cSrcweir        1,
182cdf0e10cSrcweir        161,
183cdf0e10cSrcweir        "iso8859-7",
184cdf0e10cSrcweir        "iso-8859-7",
185cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
186cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_GREEK, pc code page 737, mac encoding 6 */
187cdf0e10cSrcweir
188cdf0e10cSrcweir/* ======================================================================= */
189cdf0e10cSrcweir
190cdf0e10cSrcweir/* IBM-775 */
191cdf0e10cSrcweir/* Dos Standard CharSet for BalticRim */
192cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
193cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp775.txt from 04/24/96 Version 2.00 */
194cdf0e10cSrcweir/* Last-Changes from us: */
195cdf0e10cSrcweir
196cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
197cdf0e10cSrcweir
198cdf0e10cSrcweir#define IBM775UNI_START                 0x80
199cdf0e10cSrcweir#define IBM775UNI_END                   0xFF
200cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM775ToUniTab[IBM775UNI_END - IBM775UNI_START + 1] =
201cdf0e10cSrcweir{
202cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
203cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
204cdf0e10cSrcweir    0x0106, 0x00FC, 0x00E9, 0x0101, 0x00E4, 0x0123, 0x00E5, 0x0107, /* 0x80 */
205cdf0e10cSrcweir    0x0142, 0x0113, 0x0156, 0x0157, 0x012B, 0x0179, 0x00C4, 0x00C5, /* 0x80 */
206cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x014D, 0x00F6, 0x0122, 0x00A2, 0x015A, /* 0x90 */
207cdf0e10cSrcweir    0x015B, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x00A4, /* 0x90 */
208cdf0e10cSrcweir    0x0100, 0x012A, 0x00F3, 0x017B, 0x017C, 0x017A, 0x201D, 0x00A6, /* 0xA0 */
209cdf0e10cSrcweir    0x00A9, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x0141, 0x00AB, 0x00BB, /* 0xA0 */
210cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010C, 0x0118, /* 0xB0 */
211cdf0e10cSrcweir    0x0116, 0x2563, 0x2551, 0x2557, 0x255D, 0x012E, 0x0160, 0x2510, /* 0xB0 */
212cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0172, 0x016A, /* 0xC0 */
213cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x017D, /* 0xC0 */
214cdf0e10cSrcweir    0x0105, 0x010D, 0x0119, 0x0117, 0x012F, 0x0161, 0x0173, 0x016B, /* 0xD0 */
215cdf0e10cSrcweir    0x017E, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
216cdf0e10cSrcweir    0x00D3, 0x00DF, 0x014C, 0x0143, 0x00F5, 0x00D5, 0x00B5, 0x0144, /* 0xE0 */
217cdf0e10cSrcweir    0x0136, 0x0137, 0x013B, 0x013C, 0x0146, 0x0112, 0x0145, 0x2019, /* 0xE0 */
218cdf0e10cSrcweir    0x00AD, 0x00B1, 0x201C, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x201E, /* 0xF0 */
219cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
220cdf0e10cSrcweir};
221cdf0e10cSrcweir
222cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
223cdf0e10cSrcweir
224cdf0e10cSrcweir#define IBM775TOCHARTABEX_COUNT         128
225cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM775ToCharTabEx[IBM775TOCHARTABEX_COUNT] =
226cdf0e10cSrcweir{
227cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
228cdf0e10cSrcweir  { 0x00A2, 0x96, 0 },
229cdf0e10cSrcweir  { 0x00A3, 0x9C, 0 },
230cdf0e10cSrcweir  { 0x00A4, 0x9F, 0 },
231cdf0e10cSrcweir  { 0x00A6, 0xA7, 0 },
232cdf0e10cSrcweir  { 0x00A7, 0xF5, 0 },
233cdf0e10cSrcweir  { 0x00A9, 0xA8, 0 },
234cdf0e10cSrcweir  { 0x00AB, 0xAE, 0 },
235cdf0e10cSrcweir  { 0x00AC, 0xAA, 0 },
236cdf0e10cSrcweir  { 0x00AD, 0xF0, 0 },
237cdf0e10cSrcweir  { 0x00AE, 0xA9, 0 },
238cdf0e10cSrcweir  { 0x00B0, 0xF8, 0 },
239cdf0e10cSrcweir  { 0x00B1, 0xF1, 0 },
240cdf0e10cSrcweir  { 0x00B2, 0xFD, 0 },
241cdf0e10cSrcweir  { 0x00B3, 0xFC, 0 },
242cdf0e10cSrcweir  { 0x00B5, 0xE6, 0 },
243cdf0e10cSrcweir  { 0x00B6, 0xF4, 0 },
244cdf0e10cSrcweir  { 0x00B7, 0xFA, 0 },
245cdf0e10cSrcweir  { 0x00B9, 0xFB, 0 },
246cdf0e10cSrcweir  { 0x00BB, 0xAF, 0 },
247cdf0e10cSrcweir  { 0x00BC, 0xAC, 0 },
248cdf0e10cSrcweir  { 0x00BD, 0xAB, 0 },
249cdf0e10cSrcweir  { 0x00BE, 0xF3, 0 },
250cdf0e10cSrcweir  { 0x00C4, 0x8E, 0 },
251cdf0e10cSrcweir  { 0x00C5, 0x8F, 0 },
252cdf0e10cSrcweir  { 0x00C6, 0x92, 0 },
253cdf0e10cSrcweir  { 0x00C9, 0x90, 0 },
254cdf0e10cSrcweir  { 0x00D3, 0xE0, 0 },
255cdf0e10cSrcweir  { 0x00D5, 0xE5, 0 },
256cdf0e10cSrcweir  { 0x00D6, 0x99, 0 },
257cdf0e10cSrcweir  { 0x00D7, 0x9E, 0 },
258cdf0e10cSrcweir  { 0x00D8, 0x9D, 0 },
259cdf0e10cSrcweir  { 0x00DC, 0x9A, 0 },
260cdf0e10cSrcweir  { 0x00DF, 0xE1, 0 },
261cdf0e10cSrcweir  { 0x00E4, 0x84, 0 },
262cdf0e10cSrcweir  { 0x00E5, 0x86, 0 },
263cdf0e10cSrcweir  { 0x00E6, 0x91, 0 },
264cdf0e10cSrcweir  { 0x00E9, 0x82, 0 },
265cdf0e10cSrcweir  { 0x00F3, 0xA2, 0 },
266cdf0e10cSrcweir  { 0x00F5, 0xE4, 0 },
267cdf0e10cSrcweir  { 0x00F6, 0x94, 0 },
268cdf0e10cSrcweir  { 0x00F7, 0xF6, 0 },
269cdf0e10cSrcweir  { 0x00F8, 0x9B, 0 },
270cdf0e10cSrcweir  { 0x00FC, 0x81, 0 },
271cdf0e10cSrcweir  { 0x0100, 0xA0, 0 },
272cdf0e10cSrcweir  { 0x0101, 0x83, 0 },
273cdf0e10cSrcweir  { 0x0104, 0xB5, 0 },
274cdf0e10cSrcweir  { 0x0105, 0xD0, 0 },
275cdf0e10cSrcweir  { 0x0106, 0x80, 0 },
276cdf0e10cSrcweir  { 0x0107, 0x87, 0 },
277cdf0e10cSrcweir  { 0x010C, 0xB6, 0 },
278cdf0e10cSrcweir  { 0x010D, 0xD1, 0 },
279cdf0e10cSrcweir  { 0x0112, 0xED, 0 },
280cdf0e10cSrcweir  { 0x0113, 0x89, 0 },
281cdf0e10cSrcweir  { 0x0116, 0xB8, 0 },
282cdf0e10cSrcweir  { 0x0117, 0xD3, 0 },
283cdf0e10cSrcweir  { 0x0118, 0xB7, 0 },
284cdf0e10cSrcweir  { 0x0119, 0xD2, 0 },
285cdf0e10cSrcweir  { 0x0122, 0x95, 0 },
286cdf0e10cSrcweir  { 0x0123, 0x85, 0 },
287cdf0e10cSrcweir  { 0x012A, 0xA1, 0 },
288cdf0e10cSrcweir  { 0x012B, 0x8C, 0 },
289cdf0e10cSrcweir  { 0x012E, 0xBD, 0 },
290cdf0e10cSrcweir  { 0x012F, 0xD4, 0 },
291cdf0e10cSrcweir  { 0x0136, 0xE8, 0 },
292cdf0e10cSrcweir  { 0x0137, 0xE9, 0 },
293cdf0e10cSrcweir  { 0x013B, 0xEA, 0 },
294cdf0e10cSrcweir  { 0x013C, 0xEB, 0 },
295cdf0e10cSrcweir  { 0x0141, 0xAD, 0 },
296cdf0e10cSrcweir  { 0x0142, 0x88, 0 },
297cdf0e10cSrcweir  { 0x0143, 0xE3, 0 },
298cdf0e10cSrcweir  { 0x0144, 0xE7, 0 },
299cdf0e10cSrcweir  { 0x0145, 0xEE, 0 },
300cdf0e10cSrcweir  { 0x0146, 0xEC, 0 },
301cdf0e10cSrcweir  { 0x014C, 0xE2, 0 },
302cdf0e10cSrcweir  { 0x014D, 0x93, 0 },
303cdf0e10cSrcweir  { 0x0156, 0x8A, 0 },
304cdf0e10cSrcweir  { 0x0157, 0x8B, 0 },
305cdf0e10cSrcweir  { 0x015A, 0x97, 0 },
306cdf0e10cSrcweir  { 0x015B, 0x98, 0 },
307cdf0e10cSrcweir  { 0x0160, 0xBE, 0 },
308cdf0e10cSrcweir  { 0x0161, 0xD5, 0 },
309cdf0e10cSrcweir  { 0x016A, 0xC7, 0 },
310cdf0e10cSrcweir  { 0x016B, 0xD7, 0 },
311cdf0e10cSrcweir  { 0x0172, 0xC6, 0 },
312cdf0e10cSrcweir  { 0x0173, 0xD6, 0 },
313cdf0e10cSrcweir  { 0x0179, 0x8D, 0 },
314cdf0e10cSrcweir  { 0x017A, 0xA5, 0 },
315cdf0e10cSrcweir  { 0x017B, 0xA3, 0 },
316cdf0e10cSrcweir  { 0x017C, 0xA4, 0 },
317cdf0e10cSrcweir  { 0x017D, 0xCF, 0 },
318cdf0e10cSrcweir  { 0x017E, 0xD8, 0 },
319cdf0e10cSrcweir  { 0x2019, 0xEF, 0 },
320cdf0e10cSrcweir  { 0x201C, 0xF2, 0 },
321cdf0e10cSrcweir  { 0x201D, 0xA6, 0 },
322cdf0e10cSrcweir  { 0x201E, 0xF7, 0 },
323cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
324cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
325cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
326cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
327cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
328cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
329cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
330cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
331cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
332cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
333cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
334cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
335cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
336cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
337cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
338cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
339cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
340cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
341cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
342cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
343cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
344cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
345cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
346cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
347cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
348cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
349cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
350cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
351cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
352cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
353cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
354cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
355cdf0e10cSrcweir};
356cdf0e10cSrcweir
357cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
358cdf0e10cSrcweir
359cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM775ByteCvtData =
360cdf0e10cSrcweir{
361cdf0e10cSrcweir    aImplIBM775ToUniTab,
362cdf0e10cSrcweir    NULL,
363cdf0e10cSrcweir    IBM775UNI_START, IBM775UNI_END,
364cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
365cdf0e10cSrcweir    NULL,
366cdf0e10cSrcweir    NULL,
367cdf0e10cSrcweir    aImplIBM775ToCharTabEx,
368cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
369cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
370cdf0e10cSrcweir    IBM775TOCHARTABEX_COUNT
371cdf0e10cSrcweir};
372cdf0e10cSrcweir
373cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
374cdf0e10cSrcweir
375cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM775TextEncodingData
376cdf0e10cSrcweir    = { { &aImplIBM775ByteCvtData,
377cdf0e10cSrcweir          ImplCharToUnicode,
378cdf0e10cSrcweir          ImplUnicodeToChar,
379cdf0e10cSrcweir          NULL,
380cdf0e10cSrcweir          NULL,
381cdf0e10cSrcweir          NULL,
382cdf0e10cSrcweir          NULL,
383cdf0e10cSrcweir          NULL,
384cdf0e10cSrcweir          NULL },
385cdf0e10cSrcweir        1,
386cdf0e10cSrcweir        1,
387cdf0e10cSrcweir        1,
388cdf0e10cSrcweir        186,
389cdf0e10cSrcweir        "iso8859-4",
390cdf0e10cSrcweir        "iso-8859-4",
391cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
392cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_BALTIC, pc code page 775, mac encoding 29 (?) */
393cdf0e10cSrcweir
394cdf0e10cSrcweir/* ======================================================================= */
395cdf0e10cSrcweir
396cdf0e10cSrcweir/* IBM-852 */
397cdf0e10cSrcweir/* Dos Standard CharSet for Central Europa (Jug., Pol., Tsch., Ung., ...) */
398cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
399cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp852.txt from 04/24/96 Version 2.00 */
400cdf0e10cSrcweir/* Last-Changes from us: */
401cdf0e10cSrcweir
402cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
403cdf0e10cSrcweir
404cdf0e10cSrcweir#define IBM852UNI_START                 0x80
405cdf0e10cSrcweir#define IBM852UNI_END                   0xFF
406cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM852ToUniTab[IBM852UNI_END - IBM852UNI_START + 1] =
407cdf0e10cSrcweir{
408cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
409cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
410cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7, /* 0x80 */
411cdf0e10cSrcweir    0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106, /* 0x80 */
412cdf0e10cSrcweir    0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A, /* 0x90 */
413cdf0e10cSrcweir    0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D, /* 0x90 */
414cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E, /* 0xA0 */
415cdf0e10cSrcweir    0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB, /* 0xA0 */
416cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A, /* 0xB0 */
417cdf0e10cSrcweir    0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510, /* 0xB0 */
418cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103, /* 0xC0 */
419cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
420cdf0e10cSrcweir    0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE, /* 0xD0 */
421cdf0e10cSrcweir    0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580, /* 0xD0 */
422cdf0e10cSrcweir    0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, /* 0xE0 */
423cdf0e10cSrcweir    0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4, /* 0xE0 */
424cdf0e10cSrcweir    0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
425cdf0e10cSrcweir    0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0  /* 0xF0 */
426cdf0e10cSrcweir};
427cdf0e10cSrcweir
428cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
429cdf0e10cSrcweir
430cdf0e10cSrcweir#define IBM852TOCHARTABEX_COUNT         128
431cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM852ToCharTabEx[IBM852TOCHARTABEX_COUNT] =
432cdf0e10cSrcweir{
433cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
434cdf0e10cSrcweir  { 0x00A4, 0xCF, 0 },
435cdf0e10cSrcweir  { 0x00A7, 0xF5, 0 },
436cdf0e10cSrcweir  { 0x00A8, 0xF9, 0 },
437cdf0e10cSrcweir  { 0x00AB, 0xAE, 0 },
438cdf0e10cSrcweir  { 0x00AC, 0xAA, 0 },
439cdf0e10cSrcweir  { 0x00AD, 0xF0, 0 },
440cdf0e10cSrcweir  { 0x00B0, 0xF8, 0 },
441cdf0e10cSrcweir  { 0x00B4, 0xEF, 0 },
442cdf0e10cSrcweir  { 0x00B8, 0xF7, 0 },
443cdf0e10cSrcweir  { 0x00BB, 0xAF, 0 },
444cdf0e10cSrcweir  { 0x00C1, 0xB5, 0 },
445cdf0e10cSrcweir  { 0x00C2, 0xB6, 0 },
446cdf0e10cSrcweir  { 0x00C4, 0x8E, 0 },
447cdf0e10cSrcweir  { 0x00C7, 0x80, 0 },
448cdf0e10cSrcweir  { 0x00C9, 0x90, 0 },
449cdf0e10cSrcweir  { 0x00CB, 0xD3, 0 },
450cdf0e10cSrcweir  { 0x00CD, 0xD6, 0 },
451cdf0e10cSrcweir  { 0x00CE, 0xD7, 0 },
452cdf0e10cSrcweir  { 0x00D3, 0xE0, 0 },
453cdf0e10cSrcweir  { 0x00D4, 0xE2, 0 },
454cdf0e10cSrcweir  { 0x00D6, 0x99, 0 },
455cdf0e10cSrcweir  { 0x00D7, 0x9E, 0 },
456cdf0e10cSrcweir  { 0x00DA, 0xE9, 0 },
457cdf0e10cSrcweir  { 0x00DC, 0x9A, 0 },
458cdf0e10cSrcweir  { 0x00DD, 0xED, 0 },
459cdf0e10cSrcweir  { 0x00DF, 0xE1, 0 },
460cdf0e10cSrcweir  { 0x00E1, 0xA0, 0 },
461cdf0e10cSrcweir  { 0x00E2, 0x83, 0 },
462cdf0e10cSrcweir  { 0x00E4, 0x84, 0 },
463cdf0e10cSrcweir  { 0x00E7, 0x87, 0 },
464cdf0e10cSrcweir  { 0x00E9, 0x82, 0 },
465cdf0e10cSrcweir  { 0x00EB, 0x89, 0 },
466cdf0e10cSrcweir  { 0x00ED, 0xA1, 0 },
467cdf0e10cSrcweir  { 0x00EE, 0x8C, 0 },
468cdf0e10cSrcweir  { 0x00F3, 0xA2, 0 },
469cdf0e10cSrcweir  { 0x00F4, 0x93, 0 },
470cdf0e10cSrcweir  { 0x00F6, 0x94, 0 },
471cdf0e10cSrcweir  { 0x00F7, 0xF6, 0 },
472cdf0e10cSrcweir  { 0x00FA, 0xA3, 0 },
473cdf0e10cSrcweir  { 0x00FC, 0x81, 0 },
474cdf0e10cSrcweir  { 0x00FD, 0xEC, 0 },
475cdf0e10cSrcweir  { 0x0102, 0xC6, 0 },
476cdf0e10cSrcweir  { 0x0103, 0xC7, 0 },
477cdf0e10cSrcweir  { 0x0104, 0xA4, 0 },
478cdf0e10cSrcweir  { 0x0105, 0xA5, 0 },
479cdf0e10cSrcweir  { 0x0106, 0x8F, 0 },
480cdf0e10cSrcweir  { 0x0107, 0x86, 0 },
481cdf0e10cSrcweir  { 0x010C, 0xAC, 0 },
482cdf0e10cSrcweir  { 0x010D, 0x9F, 0 },
483cdf0e10cSrcweir  { 0x010E, 0xD2, 0 },
484cdf0e10cSrcweir  { 0x010F, 0xD4, 0 },
485cdf0e10cSrcweir  { 0x0110, 0xD1, 0 },
486cdf0e10cSrcweir  { 0x0111, 0xD0, 0 },
487cdf0e10cSrcweir  { 0x0118, 0xA8, 0 },
488cdf0e10cSrcweir  { 0x0119, 0xA9, 0 },
489cdf0e10cSrcweir  { 0x011A, 0xB7, 0 },
490cdf0e10cSrcweir  { 0x011B, 0xD8, 0 },
491cdf0e10cSrcweir  { 0x0139, 0x91, 0 },
492cdf0e10cSrcweir  { 0x013A, 0x92, 0 },
493cdf0e10cSrcweir  { 0x013D, 0x95, 0 },
494cdf0e10cSrcweir  { 0x013E, 0x96, 0 },
495cdf0e10cSrcweir  { 0x0141, 0x9D, 0 },
496cdf0e10cSrcweir  { 0x0142, 0x88, 0 },
497cdf0e10cSrcweir  { 0x0143, 0xE3, 0 },
498cdf0e10cSrcweir  { 0x0144, 0xE4, 0 },
499cdf0e10cSrcweir  { 0x0147, 0xD5, 0 },
500cdf0e10cSrcweir  { 0x0148, 0xE5, 0 },
501cdf0e10cSrcweir  { 0x0150, 0x8A, 0 },
502cdf0e10cSrcweir  { 0x0151, 0x8B, 0 },
503cdf0e10cSrcweir  { 0x0154, 0xE8, 0 },
504cdf0e10cSrcweir  { 0x0155, 0xEA, 0 },
505cdf0e10cSrcweir  { 0x0158, 0xFC, 0 },
506cdf0e10cSrcweir  { 0x0159, 0xFD, 0 },
507cdf0e10cSrcweir  { 0x015A, 0x97, 0 },
508cdf0e10cSrcweir  { 0x015B, 0x98, 0 },
509cdf0e10cSrcweir  { 0x015E, 0xB8, 0 },
510cdf0e10cSrcweir  { 0x015F, 0xAD, 0 },
511cdf0e10cSrcweir  { 0x0160, 0xE6, 0 },
512cdf0e10cSrcweir  { 0x0161, 0xE7, 0 },
513cdf0e10cSrcweir  { 0x0162, 0xDD, 0 },
514cdf0e10cSrcweir  { 0x0163, 0xEE, 0 },
515cdf0e10cSrcweir  { 0x0164, 0x9B, 0 },
516cdf0e10cSrcweir  { 0x0165, 0x9C, 0 },
517cdf0e10cSrcweir  { 0x016E, 0xDE, 0 },
518cdf0e10cSrcweir  { 0x016F, 0x85, 0 },
519cdf0e10cSrcweir  { 0x0170, 0xEB, 0 },
520cdf0e10cSrcweir  { 0x0171, 0xFB, 0 },
521cdf0e10cSrcweir  { 0x0179, 0x8D, 0 },
522cdf0e10cSrcweir  { 0x017A, 0xAB, 0 },
523cdf0e10cSrcweir  { 0x017B, 0xBD, 0 },
524cdf0e10cSrcweir  { 0x017C, 0xBE, 0 },
525cdf0e10cSrcweir  { 0x017D, 0xA6, 0 },
526cdf0e10cSrcweir  { 0x017E, 0xA7, 0 },
527cdf0e10cSrcweir  { 0x02C7, 0xF3, 0 },
528cdf0e10cSrcweir  { 0x02D8, 0xF4, 0 },
529cdf0e10cSrcweir  { 0x02D9, 0xFA, 0 },
530cdf0e10cSrcweir  { 0x02DB, 0xF2, 0 },
531cdf0e10cSrcweir  { 0x02DD, 0xF1, 0 },
532cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
533cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
534cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
535cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
536cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
537cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
538cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
539cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
540cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
541cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
542cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
543cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
544cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
545cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
546cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
547cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
548cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
549cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
550cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
551cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
552cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
553cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
554cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
555cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
556cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
557cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
558cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
559cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
560cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
561cdf0e10cSrcweir};
562cdf0e10cSrcweir
563cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
564cdf0e10cSrcweir
565cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM852ByteCvtData =
566cdf0e10cSrcweir{
567cdf0e10cSrcweir    aImplIBM852ToUniTab,
568cdf0e10cSrcweir    NULL,
569cdf0e10cSrcweir    IBM852UNI_START, IBM852UNI_END,
570cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
571cdf0e10cSrcweir    NULL,
572cdf0e10cSrcweir    NULL,
573cdf0e10cSrcweir    aImplIBM852ToCharTabEx,
574cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
575cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
576cdf0e10cSrcweir    IBM852TOCHARTABEX_COUNT
577cdf0e10cSrcweir};
578cdf0e10cSrcweir
579cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
580cdf0e10cSrcweir
581cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM852TextEncodingData
582cdf0e10cSrcweir    = { { &aImplIBM852ByteCvtData,
583cdf0e10cSrcweir          ImplCharToUnicode,
584cdf0e10cSrcweir          ImplUnicodeToChar,
585cdf0e10cSrcweir          NULL,
586cdf0e10cSrcweir          NULL,
587cdf0e10cSrcweir          NULL,
588cdf0e10cSrcweir          NULL,
589cdf0e10cSrcweir          NULL,
590cdf0e10cSrcweir          NULL },
591cdf0e10cSrcweir        1,
592cdf0e10cSrcweir        1,
593cdf0e10cSrcweir        1,
594cdf0e10cSrcweir        238,
595cdf0e10cSrcweir        "iso8859-2",
596cdf0e10cSrcweir        "ibm852",
597cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
598cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
599cdf0e10cSrcweir
600cdf0e10cSrcweir/* ======================================================================= */
601cdf0e10cSrcweir
602cdf0e10cSrcweir/* IBM-855 */
603cdf0e10cSrcweir/* Dos Standard CharSet for Cyrillic */
604cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
605cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp855.txt from 04/24/96 Version 2.00 */
606cdf0e10cSrcweir/* Last-Changes from us: */
607cdf0e10cSrcweir
608cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
609cdf0e10cSrcweir
610cdf0e10cSrcweir#define IBM855UNI_START                 0x80
611cdf0e10cSrcweir#define IBM855UNI_END                   0xFF
612cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM855ToUniTab[IBM855UNI_END - IBM855UNI_START + 1] =
613cdf0e10cSrcweir{
614cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
615cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
616cdf0e10cSrcweir    0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, /* 0x80 */
617cdf0e10cSrcweir    0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, /* 0x80 */
618cdf0e10cSrcweir    0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x040B, 0x045C, 0x040C, /* 0x90 */
619cdf0e10cSrcweir    0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A, /* 0x90 */
620cdf0e10cSrcweir    0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, /* 0xA0 */
621cdf0e10cSrcweir    0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB, /* 0xA0 */
622cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, /* 0xB0 */
623cdf0e10cSrcweir    0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510, /* 0xB0 */
624cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A, /* 0xC0 */
625cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
626cdf0e10cSrcweir    0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E, /* 0xD0 */
627cdf0e10cSrcweir    0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580, /* 0xD0 */
628cdf0e10cSrcweir    0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, /* 0xE0 */
629cdf0e10cSrcweir    0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x2116, /* 0xE0 */
630cdf0e10cSrcweir    0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D, /* 0xF0 */
631cdf0e10cSrcweir    0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0x00A7, 0x25A0, 0x00A0  /* 0xF0 */
632cdf0e10cSrcweir};
633cdf0e10cSrcweir
634cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
635cdf0e10cSrcweir
636cdf0e10cSrcweir#define IBM855CHAR_START                0x0401
637cdf0e10cSrcweir#define IBM855CHAR_END                  0x045F
638cdf0e10cSrcweirstatic sal_uChar const aImplIBM855ToCharTab[IBM855CHAR_END - IBM855CHAR_START + 1] =
639cdf0e10cSrcweir{
640cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
641cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
642cdf0e10cSrcweir          0x85, 0x81, 0x83, 0x87, 0x89, 0x8B, 0x8D, /* 0x0400 */
643cdf0e10cSrcweir    0x8F, 0x91, 0x93, 0x95, 0x97,    0, 0x99, 0x9B, /* 0x0400 */
644cdf0e10cSrcweir    0xA1, 0xA3, 0xEC, 0xAD, 0xA7, 0xA9, 0xEA, 0xF4, /* 0x0410 */
645cdf0e10cSrcweir    0xB8, 0xBE, 0xC7, 0xD1, 0xD3, 0xD5, 0xD7, 0xDD, /* 0x0410 */
646cdf0e10cSrcweir    0xE2, 0xE4, 0xE6, 0xE8, 0xAB, 0xB6, 0xA5, 0xFC, /* 0x0420 */
647cdf0e10cSrcweir    0xF6, 0xFA, 0x9F, 0xF2, 0xEE, 0xF8, 0x9D, 0xE0, /* 0x0420 */
648cdf0e10cSrcweir    0xA0, 0xA2, 0xEB, 0xAC, 0xA6, 0xA8, 0xE9, 0xF3, /* 0x0430 */
649cdf0e10cSrcweir    0xB7, 0xBD, 0xC6, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, /* 0x0430 */
650cdf0e10cSrcweir    0xE1, 0xE3, 0xE5, 0xE7, 0xAA, 0xB5, 0xA4, 0xFB, /* 0x0440 */
651cdf0e10cSrcweir    0xF5, 0xF9, 0x9E, 0xF1, 0xED, 0xF7, 0x9C, 0xDE, /* 0x0440 */
652cdf0e10cSrcweir       0, 0x84, 0x80, 0x82, 0x86, 0x88, 0x8A, 0x8C, /* 0x0450 */
653cdf0e10cSrcweir    0x8E, 0x90, 0x92, 0x94, 0x96,    0, 0x98, 0x9A, /* 0x0450 */
654cdf0e10cSrcweir};
655cdf0e10cSrcweir
656cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
657cdf0e10cSrcweir
658cdf0e10cSrcweir#define IBM855TOCHARTABEX_COUNT         36
659cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM855ToCharTabEx[IBM855TOCHARTABEX_COUNT] =
660cdf0e10cSrcweir{
661cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
662cdf0e10cSrcweir  { 0x00A4, 0xCF, 0 },
663cdf0e10cSrcweir  { 0x00A7, 0xFD, 0 },
664cdf0e10cSrcweir  { 0x00AB, 0xAE, 0 },
665cdf0e10cSrcweir  { 0x00AD, 0xF0, 0 },
666cdf0e10cSrcweir  { 0x00BB, 0xAF, 0 },
667cdf0e10cSrcweir  { 0x2116, 0xEF, 0 },
668cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
669cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
670cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
671cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
672cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
673cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
674cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
675cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
676cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
677cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
678cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
679cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
680cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
681cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
682cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
683cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
684cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
685cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
686cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
687cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
688cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
689cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
690cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
691cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
692cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
693cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
694cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
695cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
696cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
697cdf0e10cSrcweir};
698cdf0e10cSrcweir
699cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
700cdf0e10cSrcweir
701cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM855ByteCvtData =
702cdf0e10cSrcweir{
703cdf0e10cSrcweir    aImplIBM855ToUniTab,
704cdf0e10cSrcweir    NULL,
705cdf0e10cSrcweir    IBM855UNI_START, IBM855UNI_END,
706cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
707cdf0e10cSrcweir    aImplIBM855ToCharTab,
708cdf0e10cSrcweir    NULL,
709cdf0e10cSrcweir    aImplIBM855ToCharTabEx,
710cdf0e10cSrcweir    IBM855CHAR_START, IBM855CHAR_END,
711cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
712cdf0e10cSrcweir    IBM855TOCHARTABEX_COUNT
713cdf0e10cSrcweir};
714cdf0e10cSrcweir
715cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
716cdf0e10cSrcweir
717cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM855TextEncodingData
718cdf0e10cSrcweir    = { { &aImplIBM855ByteCvtData,
719cdf0e10cSrcweir          ImplCharToUnicode,
720cdf0e10cSrcweir          ImplUnicodeToChar,
721cdf0e10cSrcweir          NULL,
722cdf0e10cSrcweir          NULL,
723cdf0e10cSrcweir          NULL,
724cdf0e10cSrcweir          NULL,
725cdf0e10cSrcweir          NULL,
726cdf0e10cSrcweir          NULL },
727cdf0e10cSrcweir        1,
728cdf0e10cSrcweir        1,
729cdf0e10cSrcweir        1,
730cdf0e10cSrcweir        204,
731cdf0e10cSrcweir        "iso8859-5",
732cdf0e10cSrcweir        "iso-8859-5",
733cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
734cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_CYRILLIC, pc code page 855, mac encoding 7 */
735cdf0e10cSrcweir
736cdf0e10cSrcweir/* ======================================================================= */
737cdf0e10cSrcweir
738cdf0e10cSrcweir/* IBM-857 */
739cdf0e10cSrcweir/* Dos Standard CharSet for Turkish */
740cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
741cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp857.txt from 04/24/96 Version 2.00 */
742cdf0e10cSrcweir/* Last-Changes from us: */
743cdf0e10cSrcweir
744cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
745cdf0e10cSrcweir
746cdf0e10cSrcweir#define IBM857UNI_START                 0x80
747cdf0e10cSrcweir#define IBM857UNI_END                   0xFF
748cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM857ToUniTab[IBM857UNI_END - IBM857UNI_START + 1] =
749cdf0e10cSrcweir{
750cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
751cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
752cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
753cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0131, 0x00C4, 0x00C5, /* 0x80 */
754cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
755cdf0e10cSrcweir    0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F, /* 0x90 */
756cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F, /* 0xA0 */
757cdf0e10cSrcweir    0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
758cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, /* 0xB0 */
759cdf0e10cSrcweir    0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, /* 0xB0 */
760cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, /* 0xC0 */
761cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
762cdf0e10cSrcweir    0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8,      0, 0x00CD, 0x00CE, /* 0xD0 */
763cdf0e10cSrcweir    0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
764cdf0e10cSrcweir    0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5,      0, /* 0xE0 */
765cdf0e10cSrcweir    0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x00AF, 0x00B4, /* 0xE0 */
766cdf0e10cSrcweir    0x00AD, 0x00B1,      0, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
767cdf0e10cSrcweir    0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
768cdf0e10cSrcweir};
769cdf0e10cSrcweir
770cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
771cdf0e10cSrcweir
772cdf0e10cSrcweir#define IBM857CHAR_START                0x00A0
773cdf0e10cSrcweir#define IBM857CHAR_END                  0x00FF
774cdf0e10cSrcweirstatic sal_uChar const aImplIBM857ToCharTab[IBM857CHAR_END - IBM857CHAR_START + 1] =
775cdf0e10cSrcweir{
776cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
777cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
778cdf0e10cSrcweir    0xFF, 0xAD, 0xBD, 0x9C, 0xCF, 0xBE, 0xDD, 0xF5, /* 0x00A0 */
779cdf0e10cSrcweir    0xF9, 0xB8, 0xD1, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
780cdf0e10cSrcweir    0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
781cdf0e10cSrcweir    0xF7, 0xFB, 0xD0, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
782cdf0e10cSrcweir    0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
783cdf0e10cSrcweir    0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
784cdf0e10cSrcweir       0, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0xE8, /* 0x00D0 */
785cdf0e10cSrcweir    0x9D, 0xEB, 0xE9, 0xEA, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
786cdf0e10cSrcweir    0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
787cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89, 0xEC, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
788cdf0e10cSrcweir       0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
789cdf0e10cSrcweir    0x9B, 0x97, 0xA3, 0x96, 0x81,    0,    0, 0xED  /* 0x00F0 */
790cdf0e10cSrcweir};
791cdf0e10cSrcweir
792cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
793cdf0e10cSrcweir
794cdf0e10cSrcweir#define IBM857TOCHARTABEX_COUNT         35
795cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM857ToCharTabEx[IBM857TOCHARTABEX_COUNT] =
796cdf0e10cSrcweir{
797cdf0e10cSrcweir  { 0x011E, 0xA6, 0 },
798cdf0e10cSrcweir  { 0x011F, 0xA7, 0 },
799cdf0e10cSrcweir  { 0x0130, 0x98, 0 },
800cdf0e10cSrcweir  { 0x0131, 0x8D, 0 },
801cdf0e10cSrcweir  { 0x015E, 0x9E, 0 },
802cdf0e10cSrcweir  { 0x015F, 0x9F, 0 },
803cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
804cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
805cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
806cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
807cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
808cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
809cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
810cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
811cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
812cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
813cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
814cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
815cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
816cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
817cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
818cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
819cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
820cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
821cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
822cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
823cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
824cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
825cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
826cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
827cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
828cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
829cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
830cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
831cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
832cdf0e10cSrcweir};
833cdf0e10cSrcweir
834cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
835cdf0e10cSrcweir
836cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM857ByteCvtData =
837cdf0e10cSrcweir{
838cdf0e10cSrcweir    aImplIBM857ToUniTab,
839cdf0e10cSrcweir    NULL,
840cdf0e10cSrcweir    IBM857UNI_START, IBM857UNI_END,
841cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
842cdf0e10cSrcweir    aImplIBM857ToCharTab,
843cdf0e10cSrcweir    NULL,
844cdf0e10cSrcweir    aImplIBM857ToCharTabEx,
845cdf0e10cSrcweir    IBM857CHAR_START, IBM857CHAR_END,
846cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
847cdf0e10cSrcweir    IBM857TOCHARTABEX_COUNT
848cdf0e10cSrcweir};
849cdf0e10cSrcweir
850cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
851cdf0e10cSrcweir
852cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM857TextEncodingData
853cdf0e10cSrcweir    = { { &aImplIBM857ByteCvtData,
854cdf0e10cSrcweir          ImplCharToUnicode,
855cdf0e10cSrcweir          ImplUnicodeToChar,
856cdf0e10cSrcweir          NULL,
857cdf0e10cSrcweir          NULL,
858cdf0e10cSrcweir          NULL,
859cdf0e10cSrcweir          NULL,
860cdf0e10cSrcweir          NULL,
861cdf0e10cSrcweir          NULL },
862cdf0e10cSrcweir        1,
863cdf0e10cSrcweir        1,
864cdf0e10cSrcweir        1,
865cdf0e10cSrcweir        162,
866cdf0e10cSrcweir        "iso8859-9",
867cdf0e10cSrcweir        "iso-8859-9",
868cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
869cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
870cdf0e10cSrcweir
871cdf0e10cSrcweir/* ======================================================================= */
872cdf0e10cSrcweir
873cdf0e10cSrcweir/* IBM-866 */
874cdf0e10cSrcweir/* Dos Standard CharSet for CyrillicRussian */
875cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
876cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp866.txt from 04/24/96 Version 2.00 */
877cdf0e10cSrcweir/* Last-Changes from us: */
878cdf0e10cSrcweir
879cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
880cdf0e10cSrcweir
881cdf0e10cSrcweir#define IBM866UNI_START                 0x80
882cdf0e10cSrcweir#define IBM866UNI_END                   0xFF
883cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM866ToUniTab[IBM866UNI_END - IBM866UNI_START + 1] =
884cdf0e10cSrcweir{
885cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
886cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
887cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
888cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
889cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
890cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
891cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xA0 */
892cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xA0 */
893cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
894cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
895cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
896cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
897cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
898cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
899cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xE0 */
900cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, /* 0xE0 */
901cdf0e10cSrcweir    0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E, /* 0xF0 */
902cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0  /* 0xF0 */
903cdf0e10cSrcweir};
904cdf0e10cSrcweir
905cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
906cdf0e10cSrcweir
907cdf0e10cSrcweir#define IBM866CHAR_START                0x0401
908cdf0e10cSrcweir#define IBM866CHAR_END                  0x045E
909cdf0e10cSrcweirstatic sal_uChar const aImplIBM866ToCharTab[IBM866CHAR_END - IBM866CHAR_START + 1] =
910cdf0e10cSrcweir{
911cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
912cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
913cdf0e10cSrcweir          0xF0,    0,    0, 0xF2,    0,    0, 0xF4, /* 0x0400 */
914cdf0e10cSrcweir       0,    0,    0,    0,    0,    0, 0xF6,    0, /* 0x0400 */
915cdf0e10cSrcweir    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
916cdf0e10cSrcweir    0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
917cdf0e10cSrcweir    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
918cdf0e10cSrcweir    0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
919cdf0e10cSrcweir    0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x0430 */
920cdf0e10cSrcweir    0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x0430 */
921cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0440 */
922cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0440 */
923cdf0e10cSrcweir       0, 0xF1,    0,    0, 0xF3,    0,    0, 0xF5, /* 0x0450 */
924cdf0e10cSrcweir       0,    0,    0,    0,    0,    0, 0xF7        /* 0x0450 */
925cdf0e10cSrcweir};
926cdf0e10cSrcweir
927cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
928cdf0e10cSrcweir
929cdf0e10cSrcweir#define IBM866TOCHARTABEX_COUNT         56
930cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM866ToCharTabEx[IBM866TOCHARTABEX_COUNT] =
931cdf0e10cSrcweir{
932cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
933cdf0e10cSrcweir  { 0x00A4, 0xFD, 0 },
934cdf0e10cSrcweir  { 0x00B0, 0xF8, 0 },
935cdf0e10cSrcweir  { 0x00B7, 0xFA, 0 },
936cdf0e10cSrcweir  { 0x2116, 0xFC, 0 },
937cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
938cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
939cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
940cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
941cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
942cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
943cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
944cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
945cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
946cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
947cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
948cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
949cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
950cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
951cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
952cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
953cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
954cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
955cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
956cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
957cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
958cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
959cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
960cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
961cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
962cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
963cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
964cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
965cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
966cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
967cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
968cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
969cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
970cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
971cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
972cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
973cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
974cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
975cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
976cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
977cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
978cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
979cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
980cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
981cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
982cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
983cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
984cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
985cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
986cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
987cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
988cdf0e10cSrcweir};
989cdf0e10cSrcweir
990cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
991cdf0e10cSrcweir
992cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM866ByteCvtData =
993cdf0e10cSrcweir{
994cdf0e10cSrcweir    aImplIBM866ToUniTab,
995cdf0e10cSrcweir    NULL,
996cdf0e10cSrcweir    IBM866UNI_START, IBM866UNI_END,
997cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
998cdf0e10cSrcweir    aImplIBM866ToCharTab,
999cdf0e10cSrcweir    NULL,
1000cdf0e10cSrcweir    aImplIBM866ToCharTabEx,
1001cdf0e10cSrcweir    IBM866CHAR_START, IBM866CHAR_END,
1002cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1003cdf0e10cSrcweir    IBM866TOCHARTABEX_COUNT
1004cdf0e10cSrcweir};
1005cdf0e10cSrcweir
1006cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1007cdf0e10cSrcweir
1008cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM866TextEncodingData
1009cdf0e10cSrcweir    = { { &aImplIBM866ByteCvtData,
1010cdf0e10cSrcweir          ImplCharToUnicode,
1011cdf0e10cSrcweir          ImplUnicodeToChar,
1012cdf0e10cSrcweir          NULL,
1013cdf0e10cSrcweir          NULL,
1014cdf0e10cSrcweir          NULL,
1015cdf0e10cSrcweir          NULL,
1016cdf0e10cSrcweir          NULL,
1017cdf0e10cSrcweir          NULL },
1018cdf0e10cSrcweir        1,
1019cdf0e10cSrcweir        1,
1020cdf0e10cSrcweir        1,
1021cdf0e10cSrcweir        204,
1022cdf0e10cSrcweir        "iso8859-5",
1023cdf0e10cSrcweir        "cp866",
1024cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1025cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 866, mac encoding 7 */
1026cdf0e10cSrcweir
1027cdf0e10cSrcweir/* ======================================================================= */
1028cdf0e10cSrcweir
1029cdf0e10cSrcweir/* IBM-869 */
1030cdf0e10cSrcweir/* Dos Standard CharSet for Greek2 */
1031cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1032cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp869.txt from 04/24/96 Version 2.00 */
1033cdf0e10cSrcweir/* Last-Changes from us: */
1034cdf0e10cSrcweir
1035cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1036cdf0e10cSrcweir
1037cdf0e10cSrcweir#define IBM869UNI_START                 0x86
1038cdf0e10cSrcweir#define IBM869UNI_END                   0xFF
1039cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM869ToUniTab[IBM869UNI_END - IBM869UNI_START + 1] =
1040cdf0e10cSrcweir{
1041cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1042cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1043cdf0e10cSrcweir                                                    0x0386,      0, /* 0x80 */
1044cdf0e10cSrcweir    0x00B7, 0x00AC, 0x00A6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389, /* 0x80 */
1045cdf0e10cSrcweir    0x038A, 0x03AA, 0x038C,      0,      0, 0x038E, 0x03AB, 0x00A9, /* 0x90 */
1046cdf0e10cSrcweir    0x038F, 0x00B2, 0x00B3, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF, /* 0x90 */
1047cdf0e10cSrcweir    0x03CA, 0x0390, 0x03CC, 0x03CD, 0x0391, 0x0392, 0x0393, 0x0394, /* 0xA0 */
1048cdf0e10cSrcweir    0x0395, 0x0396, 0x0397, 0x00BD, 0x0398, 0x0399, 0x00AB, 0x00BB, /* 0xA0 */
1049cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039C, /* 0xB0 */
1050cdf0e10cSrcweir    0x039D, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510, /* 0xB0 */
1051cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x03A0, 0x03A1, /* 0xC0 */
1052cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x03A3, /* 0xC0 */
1053cdf0e10cSrcweir    0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2, /* 0xD0 */
1054cdf0e10cSrcweir    0x03B3, 0x2518, 0x250C, 0x2588, 0x2584, 0x03B4, 0x03B5, 0x2580, /* 0xD0 */
1055cdf0e10cSrcweir    0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, /* 0xE0 */
1056cdf0e10cSrcweir    0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x0384, /* 0xE0 */
1057cdf0e10cSrcweir    0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x0385, /* 0xF0 */
1058cdf0e10cSrcweir    0x00B0, 0x00A8, 0x03C9, 0x03CB, 0x03B0, 0x03CE, 0x25A0, 0x00A0  /* 0xF0 */
1059cdf0e10cSrcweir};
1060cdf0e10cSrcweir
1061cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1062cdf0e10cSrcweir
1063cdf0e10cSrcweir#define IBM869CHAR_START                0x0384
1064cdf0e10cSrcweir#define IBM869CHAR_END                  0x03CE
1065cdf0e10cSrcweirstatic sal_uChar const aImplIBM869ToCharTab[IBM869CHAR_END - IBM869CHAR_START + 1] =
1066cdf0e10cSrcweir{
1067cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1068cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1069cdf0e10cSrcweir                            0xEF, 0xF7, 0x86,    0, /* 0x0380 */
1070cdf0e10cSrcweir    0x8D, 0x8F, 0x90,    0, 0x92,    0, 0x95, 0x98, /* 0x0380 */
1071cdf0e10cSrcweir    0xA1, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, /* 0x0390 */
1072cdf0e10cSrcweir    0xAC, 0xAD, 0xB5, 0xB6, 0xB7, 0xB8, 0xBD, 0xBE, /* 0x0390 */
1073cdf0e10cSrcweir    0xC6, 0xC7,    0, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, /* 0x03A0 */
1074cdf0e10cSrcweir    0xD4, 0xD5, 0x91, 0x96, 0x9B, 0x9D, 0x9E, 0x9F, /* 0x03A0 */
1075cdf0e10cSrcweir    0xFC, 0xD6, 0xD7, 0xD8, 0xDD, 0xDE, 0xE0, 0xE1, /* 0x03B0 */
1076cdf0e10cSrcweir    0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, /* 0x03B0 */
1077cdf0e10cSrcweir    0xEA, 0xEB, 0xED, 0xEC, 0xEE, 0xF2, 0xF3, 0xF4, /* 0x03C0 */
1078cdf0e10cSrcweir    0xF6, 0xFA, 0xA0, 0xFB, 0xA2, 0xA3, 0xFD        /* 0x03C0 */
1079cdf0e10cSrcweir};
1080cdf0e10cSrcweir
1081cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1082cdf0e10cSrcweir
1083cdf0e10cSrcweir#define IBM869TOCHARTABEX_COUNT         48
1084cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM869ToCharTabEx[IBM869TOCHARTABEX_COUNT] =
1085cdf0e10cSrcweir{
1086cdf0e10cSrcweir  { 0x00A0, 0xFF, 0 },
1087cdf0e10cSrcweir  { 0x00A3, 0x9C, 0 },
1088cdf0e10cSrcweir  { 0x00A6, 0x8A, 0 },
1089cdf0e10cSrcweir  { 0x00A7, 0xF5, 0 },
1090cdf0e10cSrcweir  { 0x00A8, 0xF9, 0 },
1091cdf0e10cSrcweir  { 0x00A9, 0x97, 0 },
1092cdf0e10cSrcweir  { 0x00AB, 0xAE, 0 },
1093cdf0e10cSrcweir  { 0x00AC, 0x89, 0 },
1094cdf0e10cSrcweir  { 0x00AD, 0xF0, 0 },
1095cdf0e10cSrcweir  { 0x00B0, 0xF8, 0 },
1096cdf0e10cSrcweir  { 0x00B1, 0xF1, 0 },
1097cdf0e10cSrcweir  { 0x00B2, 0x99, 0 },
1098cdf0e10cSrcweir  { 0x00B3, 0x9A, 0 },
1099cdf0e10cSrcweir  { 0x00B7, 0x88, 0 },
1100cdf0e10cSrcweir  { 0x00BB, 0xAF, 0 },
1101cdf0e10cSrcweir  { 0x00BD, 0xAB, 0 },
1102cdf0e10cSrcweir  { 0x2015, 0x8E, 0 },
1103cdf0e10cSrcweir  { 0x2018, 0x8B, 0 },
1104cdf0e10cSrcweir  { 0x2019, 0x8C, 0 },
1105cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
1106cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
1107cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
1108cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
1109cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
1110cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
1111cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
1112cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
1113cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
1114cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
1115cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
1116cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
1117cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
1118cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
1119cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
1120cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
1121cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
1122cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
1123cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
1124cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
1125cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
1126cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
1127cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
1128cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
1129cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
1130cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
1131cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
1132cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
1133cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
1134cdf0e10cSrcweir};
1135cdf0e10cSrcweir
1136cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1137cdf0e10cSrcweir
1138cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM869ByteCvtData =
1139cdf0e10cSrcweir{
1140cdf0e10cSrcweir    aImplIBM869ToUniTab,
1141cdf0e10cSrcweir    NULL,
1142cdf0e10cSrcweir    IBM869UNI_START, IBM869UNI_END,
1143cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1144cdf0e10cSrcweir    aImplIBM869ToCharTab,
1145cdf0e10cSrcweir    NULL,
1146cdf0e10cSrcweir    aImplIBM869ToCharTabEx,
1147cdf0e10cSrcweir    IBM869CHAR_START, IBM869CHAR_END,
1148cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1149cdf0e10cSrcweir    IBM869TOCHARTABEX_COUNT
1150cdf0e10cSrcweir};
1151cdf0e10cSrcweir
1152cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1153cdf0e10cSrcweir
1154cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM869TextEncodingData
1155cdf0e10cSrcweir    = { { &aImplIBM869ByteCvtData,
1156cdf0e10cSrcweir          ImplCharToUnicode,
1157cdf0e10cSrcweir          ImplUnicodeToChar,
1158cdf0e10cSrcweir          NULL,
1159cdf0e10cSrcweir          NULL,
1160cdf0e10cSrcweir          NULL,
1161cdf0e10cSrcweir          NULL,
1162cdf0e10cSrcweir          NULL,
1163cdf0e10cSrcweir          NULL },
1164cdf0e10cSrcweir        1,
1165cdf0e10cSrcweir        1,
1166cdf0e10cSrcweir        1,
1167cdf0e10cSrcweir        161,
1168cdf0e10cSrcweir        "iso8859-7",
1169cdf0e10cSrcweir        "iso-8859-7",
1170cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
1171cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 869, mac encoding 6 */
1172cdf0e10cSrcweir
1173cdf0e10cSrcweir/* ======================================================================= */
1174cdf0e10cSrcweir
1175cdf0e10cSrcweir/* MS-1250 */
1176cdf0e10cSrcweir/* Windows CodePage for Eastern European (WinLatin2) */
1177cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1178cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1250.txt from 04/15/98 Version 2.01 */
1179cdf0e10cSrcweir/* Last-Changes from us: */
1180cdf0e10cSrcweir
1181cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1182cdf0e10cSrcweir
1183cdf0e10cSrcweir#define MS1250UNI_START                 0x80
1184cdf0e10cSrcweir#define MS1250UNI_END                   0xFF
1185cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1250ToUniTab[MS1250UNI_END - MS1250UNI_START + 1] =
1186cdf0e10cSrcweir{
1187cdf0e10cSrcweir/*  0       1       2       3       4       5       6       7 */
1188cdf0e10cSrcweir/*  8       9       A       B       C       D       E       F */
1189cdf0e10cSrcweir    0x20AC,      0, 0x201A,      0, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1190cdf0e10cSrcweir         0, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179, /* 0x80 */
1191cdf0e10cSrcweir         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1192cdf0e10cSrcweir         0, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A, /* 0x90 */
1193cdf0e10cSrcweir    0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7, /* 0xA0 */
1194cdf0e10cSrcweir    0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B, /* 0xA0 */
1195cdf0e10cSrcweir    0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1196cdf0e10cSrcweir    0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C, /* 0xB0 */
1197cdf0e10cSrcweir    0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, /* 0xC0 */
1198cdf0e10cSrcweir    0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, /* 0xC0 */
1199cdf0e10cSrcweir    0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, /* 0xD0 */
1200cdf0e10cSrcweir    0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, /* 0xD0 */
1201cdf0e10cSrcweir    0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, /* 0xE0 */
1202cdf0e10cSrcweir    0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, /* 0xE0 */
1203cdf0e10cSrcweir    0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, /* 0xF0 */
1204cdf0e10cSrcweir    0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9  /* 0xF0 */
1205cdf0e10cSrcweir};
1206cdf0e10cSrcweir
1207cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1208cdf0e10cSrcweir
1209cdf0e10cSrcweir#define MS1250TOCHARTABEX_COUNT         123
1210cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1250ToCharTabEx[MS1250TOCHARTABEX_COUNT] =
1211cdf0e10cSrcweir{
1212cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
1213cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
1214cdf0e10cSrcweir  { 0x00A6, 0xA6, 0 },
1215cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
1216cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
1217cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
1218cdf0e10cSrcweir  { 0x00AB, 0xAB, 0 },
1219cdf0e10cSrcweir  { 0x00AC, 0xAC, 0 },
1220cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
1221cdf0e10cSrcweir  { 0x00AE, 0xAE, 0 },
1222cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
1223cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
1224cdf0e10cSrcweir  { 0x00B4, 0xB4, 0 },
1225cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
1226cdf0e10cSrcweir  { 0x00B6, 0xB6, 0 },
1227cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
1228cdf0e10cSrcweir  { 0x00B8, 0xB8, 0 },
1229cdf0e10cSrcweir  { 0x00BB, 0xBB, 0 },
1230cdf0e10cSrcweir  { 0x00C1, 0xC1, 0 },
1231cdf0e10cSrcweir  { 0x00C2, 0xC2, 0 },
1232cdf0e10cSrcweir  { 0x00C4, 0xC4, 0 },
1233cdf0e10cSrcweir  { 0x00C7, 0xC7, 0 },
1234cdf0e10cSrcweir  { 0x00C9, 0xC9, 0 },
1235cdf0e10cSrcweir  { 0x00CB, 0xCB, 0 },
1236cdf0e10cSrcweir  { 0x00CD, 0xCD, 0 },
1237cdf0e10cSrcweir  { 0x00CE, 0xCE, 0 },
1238cdf0e10cSrcweir  { 0x00D3, 0xD3, 0 },
1239cdf0e10cSrcweir  { 0x00D4, 0xD4, 0 },
1240cdf0e10cSrcweir  { 0x00D6, 0xD6, 0 },
1241cdf0e10cSrcweir  { 0x00D7, 0xD7, 0 },
1242cdf0e10cSrcweir  { 0x00DA, 0xDA, 0 },
1243cdf0e10cSrcweir  { 0x00DC, 0xDC, 0 },
1244cdf0e10cSrcweir  { 0x00DD, 0xDD, 0 },
1245cdf0e10cSrcweir  { 0x00DF, 0xDF, 0 },
1246cdf0e10cSrcweir  { 0x00E1, 0xE1, 0 },
1247cdf0e10cSrcweir  { 0x00E2, 0xE2, 0 },
1248cdf0e10cSrcweir  { 0x00E4, 0xE4, 0 },
1249cdf0e10cSrcweir  { 0x00E7, 0xE7, 0 },
1250cdf0e10cSrcweir  { 0x00E9, 0xE9, 0 },
1251cdf0e10cSrcweir  { 0x00EB, 0xEB, 0 },
1252cdf0e10cSrcweir  { 0x00ED, 0xED, 0 },
1253cdf0e10cSrcweir  { 0x00EE, 0xEE, 0 },
1254cdf0e10cSrcweir  { 0x00F3, 0xF3, 0 },
1255cdf0e10cSrcweir  { 0x00F4, 0xF4, 0 },
1256cdf0e10cSrcweir  { 0x00F6, 0xF6, 0 },
1257cdf0e10cSrcweir  { 0x00F7, 0xF7, 0 },
1258cdf0e10cSrcweir  { 0x00FA, 0xFA, 0 },
1259cdf0e10cSrcweir  { 0x00FC, 0xFC, 0 },
1260cdf0e10cSrcweir  { 0x00FD, 0xFD, 0 },
1261cdf0e10cSrcweir  { 0x0102, 0xC3, 0 },
1262cdf0e10cSrcweir  { 0x0103, 0xE3, 0 },
1263cdf0e10cSrcweir  { 0x0104, 0xA5, 0 },
1264cdf0e10cSrcweir  { 0x0105, 0xB9, 0 },
1265cdf0e10cSrcweir  { 0x0106, 0xC6, 0 },
1266cdf0e10cSrcweir  { 0x0107, 0xE6, 0 },
1267cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
1268cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
1269cdf0e10cSrcweir  { 0x010E, 0xCF, 0 },
1270cdf0e10cSrcweir  { 0x010F, 0xEF, 0 },
1271cdf0e10cSrcweir  { 0x0110, 0xD0, 0 },
1272cdf0e10cSrcweir  { 0x0111, 0xF0, 0 },
1273cdf0e10cSrcweir  { 0x0118, 0xCA, 0 },
1274cdf0e10cSrcweir  { 0x0119, 0xEA, 0 },
1275cdf0e10cSrcweir  { 0x011A, 0xCC, 0 },
1276cdf0e10cSrcweir  { 0x011B, 0xEC, 0 },
1277cdf0e10cSrcweir  { 0x0139, 0xC5, 0 },
1278cdf0e10cSrcweir  { 0x013A, 0xE5, 0 },
1279cdf0e10cSrcweir  { 0x013D, 0xBC, 0 },
1280cdf0e10cSrcweir  { 0x013E, 0xBE, 0 },
1281cdf0e10cSrcweir  { 0x0141, 0xA3, 0 },
1282cdf0e10cSrcweir  { 0x0142, 0xB3, 0 },
1283cdf0e10cSrcweir  { 0x0143, 0xD1, 0 },
1284cdf0e10cSrcweir  { 0x0144, 0xF1, 0 },
1285cdf0e10cSrcweir  { 0x0147, 0xD2, 0 },
1286cdf0e10cSrcweir  { 0x0148, 0xF2, 0 },
1287cdf0e10cSrcweir  { 0x0150, 0xD5, 0 },
1288cdf0e10cSrcweir  { 0x0151, 0xF5, 0 },
1289cdf0e10cSrcweir  { 0x0154, 0xC0, 0 },
1290cdf0e10cSrcweir  { 0x0155, 0xE0, 0 },
1291cdf0e10cSrcweir  { 0x0158, 0xD8, 0 },
1292cdf0e10cSrcweir  { 0x0159, 0xF8, 0 },
1293cdf0e10cSrcweir  { 0x015A, 0x8C, 0 },
1294cdf0e10cSrcweir  { 0x015B, 0x9C, 0 },
1295cdf0e10cSrcweir  { 0x015E, 0xAA, 0 },
1296cdf0e10cSrcweir  { 0x015F, 0xBA, 0 },
1297cdf0e10cSrcweir  { 0x0160, 0x8A, 0 },
1298cdf0e10cSrcweir  { 0x0161, 0x9A, 0 },
1299cdf0e10cSrcweir  { 0x0162, 0xDE, 0 },
1300cdf0e10cSrcweir  { 0x0163, 0xFE, 0 },
1301cdf0e10cSrcweir  { 0x0164, 0x8D, 0 },
1302cdf0e10cSrcweir  { 0x0165, 0x9D, 0 },
1303cdf0e10cSrcweir  { 0x016E, 0xD9, 0 },
1304cdf0e10cSrcweir  { 0x016F, 0xF9, 0 },
1305cdf0e10cSrcweir  { 0x0170, 0xDB, 0 },
1306cdf0e10cSrcweir  { 0x0171, 0xFB, 0 },
1307cdf0e10cSrcweir  { 0x0179, 0x8F, 0 },
1308cdf0e10cSrcweir  { 0x017A, 0x9F, 0 },
1309cdf0e10cSrcweir  { 0x017B, 0xAF, 0 },
1310cdf0e10cSrcweir  { 0x017C, 0xBF, 0 },
1311cdf0e10cSrcweir  { 0x017D, 0x8E, 0 },
1312cdf0e10cSrcweir  { 0x017E, 0x9E, 0 },
1313cdf0e10cSrcweir  { 0x02C7, 0xA1, 0 },
1314cdf0e10cSrcweir  { 0x02D8, 0xA2, 0 },
1315cdf0e10cSrcweir  { 0x02D9, 0xFF, 0 },
1316cdf0e10cSrcweir  { 0x02DB, 0xB2, 0 },
1317cdf0e10cSrcweir  { 0x02DD, 0xBD, 0 },
1318cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1319cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1320cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1321cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1322cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1323cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1324cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1325cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1326cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1327cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1328cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1329cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1330cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1331cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1332cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1333cdf0e10cSrcweir  { 0x20AC, 0x80, 0 },
1334cdf0e10cSrcweir  { 0x2122, 0x99, 0 }
1335cdf0e10cSrcweir};
1336cdf0e10cSrcweir
1337cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1338cdf0e10cSrcweir
1339cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1250ByteCvtData =
1340cdf0e10cSrcweir{
1341cdf0e10cSrcweir    aImplMS1250ToUniTab,
1342cdf0e10cSrcweir    NULL,
1343cdf0e10cSrcweir    MS1250UNI_START, MS1250UNI_END,
1344cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1345cdf0e10cSrcweir    NULL,
1346cdf0e10cSrcweir    NULL,
1347cdf0e10cSrcweir    aImplMS1250ToCharTabEx,
1348cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1349cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1350cdf0e10cSrcweir    MS1250TOCHARTABEX_COUNT
1351cdf0e10cSrcweir};
1352cdf0e10cSrcweir
1353cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1354cdf0e10cSrcweir
1355cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1250TextEncodingData
1356cdf0e10cSrcweir    = { { &aImplMS1250ByteCvtData,
1357cdf0e10cSrcweir          ImplCharToUnicode,
1358cdf0e10cSrcweir          ImplUnicodeToChar,
1359cdf0e10cSrcweir          NULL,
1360cdf0e10cSrcweir          NULL,
1361cdf0e10cSrcweir          NULL,
1362cdf0e10cSrcweir          NULL,
1363cdf0e10cSrcweir          NULL,
1364cdf0e10cSrcweir          NULL },
1365cdf0e10cSrcweir        1,
1366cdf0e10cSrcweir        1,
1367cdf0e10cSrcweir        1,
1368cdf0e10cSrcweir        238,
1369cdf0e10cSrcweir        "iso8859-2",
1370cdf0e10cSrcweir        "windows-1250",
1371cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1372cdf0e10cSrcweir    /* WIN, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
1373cdf0e10cSrcweir
1374cdf0e10cSrcweir/* ======================================================================= */
1375cdf0e10cSrcweir
1376cdf0e10cSrcweir/* MS-1251 */
1377cdf0e10cSrcweir/* Windows CodePage for Cyrillic */
1378cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1379cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1251.txt from 04/15/98 Version 2.01 */
1380cdf0e10cSrcweir/* Last-Changes from us: */
1381cdf0e10cSrcweir
1382cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1383cdf0e10cSrcweir
1384cdf0e10cSrcweir#define MS1251UNI_START                 0x80
1385cdf0e10cSrcweir#define MS1251UNI_END                   0xFF
1386cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1251ToUniTab[MS1251UNI_END - MS1251UNI_START + 1] =
1387cdf0e10cSrcweir{
1388cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1389cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1390cdf0e10cSrcweir    0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1391cdf0e10cSrcweir    0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, /* 0x80 */
1392cdf0e10cSrcweir    0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1393cdf0e10cSrcweir         0, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, /* 0x90 */
1394cdf0e10cSrcweir    0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, /* 0xA0 */
1395cdf0e10cSrcweir    0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, /* 0xA0 */
1396cdf0e10cSrcweir    0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1397cdf0e10cSrcweir    0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, /* 0xB0 */
1398cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xC0 */
1399cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xC0 */
1400cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xD0 */
1401cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xD0 */
1402cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
1403cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
1404cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
1405cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F  /* 0xF0 */
1406cdf0e10cSrcweir};
1407cdf0e10cSrcweir
1408cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1409cdf0e10cSrcweir
1410cdf0e10cSrcweir#define MS1251CHAR_START                0x0401
1411cdf0e10cSrcweir#define MS1251CHAR_END                  0x045F
1412cdf0e10cSrcweirstatic sal_uChar const aImplMS1251ToCharTab[MS1251CHAR_END - MS1251CHAR_START + 1] =
1413cdf0e10cSrcweir{
1414cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1415cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1416cdf0e10cSrcweir          0xA8, 0x80, 0x81, 0xAA, 0xBD, 0xB2, 0xAF, /* 0x0400 */
1417cdf0e10cSrcweir    0xA3, 0x8A, 0x8C, 0x8E, 0x8D,    0, 0xA1, 0x8F, /* 0x0400 */
1418cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0410 */
1419cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0410 */
1420cdf0e10cSrcweir    0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x0420 */
1421cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x0420 */
1422cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
1423cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
1424cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
1425cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, /* 0x0440 */
1426cdf0e10cSrcweir       0, 0xB8, 0x90, 0x83, 0xBA, 0xBE, 0xB3, 0xBF, /* 0x0450 */
1427cdf0e10cSrcweir    0xBC, 0x9A, 0x9C, 0x9E, 0x9D,    0, 0xA2, 0x9F  /* 0x0450 */
1428cdf0e10cSrcweir};
1429cdf0e10cSrcweir
1430cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1431cdf0e10cSrcweir
1432cdf0e10cSrcweir#define MS1251TOCHARTABEX_COUNT         35
1433cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1251ToCharTabEx[MS1251TOCHARTABEX_COUNT] =
1434cdf0e10cSrcweir{
1435cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
1436cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
1437cdf0e10cSrcweir  { 0x00A6, 0xA6, 0 },
1438cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
1439cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
1440cdf0e10cSrcweir  { 0x00AB, 0xAB, 0 },
1441cdf0e10cSrcweir  { 0x00AC, 0xAC, 0 },
1442cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
1443cdf0e10cSrcweir  { 0x00AE, 0xAE, 0 },
1444cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
1445cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
1446cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
1447cdf0e10cSrcweir  { 0x00B6, 0xB6, 0 },
1448cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
1449cdf0e10cSrcweir  { 0x00BB, 0xBB, 0 },
1450cdf0e10cSrcweir  { 0x0490, 0xA5, 0 },
1451cdf0e10cSrcweir  { 0x0491, 0xB4, 0 },
1452cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1453cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1454cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1455cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1456cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1457cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1458cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1459cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1460cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1461cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1462cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1463cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1464cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1465cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1466cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1467cdf0e10cSrcweir  { 0x20AC, 0x88, 0 },
1468cdf0e10cSrcweir  { 0x2116, 0xB9, 0 },
1469cdf0e10cSrcweir  { 0x2122, 0x99, 0 }
1470cdf0e10cSrcweir};
1471cdf0e10cSrcweir
1472cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1473cdf0e10cSrcweir
1474cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1251ByteCvtData =
1475cdf0e10cSrcweir{
1476cdf0e10cSrcweir    aImplMS1251ToUniTab,
1477cdf0e10cSrcweir    NULL,
1478cdf0e10cSrcweir    MS1251UNI_START, MS1251UNI_END,
1479cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1480cdf0e10cSrcweir    aImplMS1251ToCharTab,
1481cdf0e10cSrcweir    NULL,
1482cdf0e10cSrcweir    aImplMS1251ToCharTabEx,
1483cdf0e10cSrcweir    MS1251CHAR_START, MS1251CHAR_END,
1484cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1485cdf0e10cSrcweir    MS1251TOCHARTABEX_COUNT
1486cdf0e10cSrcweir};
1487cdf0e10cSrcweir
1488cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1489cdf0e10cSrcweir
1490cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1251TextEncodingData
1491cdf0e10cSrcweir    = { { &aImplMS1251ByteCvtData,
1492cdf0e10cSrcweir          ImplCharToUnicode,
1493cdf0e10cSrcweir          ImplUnicodeToChar,
1494cdf0e10cSrcweir          NULL,
1495cdf0e10cSrcweir          NULL,
1496cdf0e10cSrcweir          NULL,
1497cdf0e10cSrcweir          NULL,
1498cdf0e10cSrcweir          NULL,
1499cdf0e10cSrcweir          NULL },
1500cdf0e10cSrcweir        1,
1501cdf0e10cSrcweir        1,
1502cdf0e10cSrcweir        1,
1503cdf0e10cSrcweir        204,
1504cdf0e10cSrcweir        "iso8859-5",
1505cdf0e10cSrcweir        "windows-1251",
1506cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1507cdf0e10cSrcweir    /* WIN, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
1508cdf0e10cSrcweir
1509cdf0e10cSrcweir/* ======================================================================= */
1510cdf0e10cSrcweir
1511cdf0e10cSrcweir/* MS-1253 */
1512cdf0e10cSrcweir/* Windows Standard CharSet for Greek */
1513cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1514cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1253.txt from 04/15/98 Version 2.01 */
1515cdf0e10cSrcweir/* Last-Changes from us: */
1516cdf0e10cSrcweir
1517cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1518cdf0e10cSrcweir
1519cdf0e10cSrcweir#define MS1253UNI_START                 0x80
1520cdf0e10cSrcweir#define MS1253UNI_END                   0xFF
1521cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1253ToUniTab[MS1253UNI_END - MS1253UNI_START + 1] =
1522cdf0e10cSrcweir{
1523cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1524cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1525cdf0e10cSrcweir    0x20AC,      0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1526cdf0e10cSrcweir         0, 0x2030,      0, 0x2039,      0,      0,      0,      0, /* 0x80 */
1527cdf0e10cSrcweir         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1528cdf0e10cSrcweir         0, 0x2122,      0, 0x203A,      0,      0,      0,      0, /* 0x90 */
1529cdf0e10cSrcweir    0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1530cdf0e10cSrcweir    0x00A8, 0x00A9,      0, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015, /* 0xA0 */
1531cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1532cdf0e10cSrcweir    0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, /* 0xB0 */
1533cdf0e10cSrcweir    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, /* 0xC0 */
1534cdf0e10cSrcweir    0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, /* 0xC0 */
1535cdf0e10cSrcweir    0x03A0, 0x03A1,      0, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, /* 0xD0 */
1536cdf0e10cSrcweir    0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, /* 0xD0 */
1537cdf0e10cSrcweir    0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, /* 0xE0 */
1538cdf0e10cSrcweir    0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, /* 0xE0 */
1539cdf0e10cSrcweir    0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, /* 0xF0 */
1540cdf0e10cSrcweir    0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE,      0  /* 0xF0 */
1541cdf0e10cSrcweir};
1542cdf0e10cSrcweir
1543cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1544cdf0e10cSrcweir
1545cdf0e10cSrcweir#define MS1253CHAR_START                0x0384
1546cdf0e10cSrcweir#define MS1253CHAR_END                  0x03CE
1547cdf0e10cSrcweirstatic sal_uChar const aImplMS1253ToCharTab[MS1253CHAR_END - MS1253CHAR_START + 1] =
1548cdf0e10cSrcweir{
1549cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1550cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1551cdf0e10cSrcweir                            0xB4, 0xA1, 0xA2,    0, /* 0x0380 */
1552cdf0e10cSrcweir    0xB8, 0xB9, 0xBA,    0, 0xBC,    0, 0xBE, 0xBF, /* 0x0380 */
1553cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0390 */
1554cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0390 */
1555cdf0e10cSrcweir    0xD0, 0xD1,    0, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x03A0 */
1556cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x03A0 */
1557cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x03B0 */
1558cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x03B0 */
1559cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x03C0 */
1560cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE        /* 0x03C0 */
1561cdf0e10cSrcweir};
1562cdf0e10cSrcweir
1563cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1564cdf0e10cSrcweir
1565cdf0e10cSrcweir#define MS1253TOCHARTABEX_COUNT         40
1566cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1253ToCharTabEx[MS1253TOCHARTABEX_COUNT] =
1567cdf0e10cSrcweir{
1568cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
1569cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
1570cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
1571cdf0e10cSrcweir  { 0x00A5, 0xA5, 0 },
1572cdf0e10cSrcweir  { 0x00A6, 0xA6, 0 },
1573cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
1574cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
1575cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
1576cdf0e10cSrcweir  { 0x00AB, 0xAB, 0 },
1577cdf0e10cSrcweir  { 0x00AC, 0xAC, 0 },
1578cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
1579cdf0e10cSrcweir  { 0x00AE, 0xAE, 0 },
1580cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
1581cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
1582cdf0e10cSrcweir  { 0x00B2, 0xB2, 0 },
1583cdf0e10cSrcweir  { 0x00B3, 0xB3, 0 },
1584cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
1585cdf0e10cSrcweir  { 0x00B6, 0xB6, 0 },
1586cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
1587cdf0e10cSrcweir  { 0x00BB, 0xBB, 0 },
1588cdf0e10cSrcweir  { 0x00BD, 0xBD, 0 },
1589cdf0e10cSrcweir  { 0x0192, 0x83, 0 },
1590cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1591cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1592cdf0e10cSrcweir  { 0x2015, 0xAF, 0 },
1593cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1594cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1595cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1596cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1597cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1598cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1599cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1600cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1601cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1602cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1603cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1604cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1605cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1606cdf0e10cSrcweir  { 0x20AC, 0x80, 0 },
1607cdf0e10cSrcweir  { 0x2122, 0x99, 0 }
1608cdf0e10cSrcweir};
1609cdf0e10cSrcweir
1610cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1611cdf0e10cSrcweir
1612cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1253ByteCvtData =
1613cdf0e10cSrcweir{
1614cdf0e10cSrcweir    aImplMS1253ToUniTab,
1615cdf0e10cSrcweir    NULL,
1616cdf0e10cSrcweir    MS1253UNI_START, MS1253UNI_END,
1617cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1618cdf0e10cSrcweir    aImplMS1253ToCharTab,
1619cdf0e10cSrcweir    NULL,
1620cdf0e10cSrcweir    aImplMS1253ToCharTabEx,
1621cdf0e10cSrcweir    MS1253CHAR_START, MS1253CHAR_END,
1622cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1623cdf0e10cSrcweir    MS1253TOCHARTABEX_COUNT
1624cdf0e10cSrcweir};
1625cdf0e10cSrcweir
1626cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1627cdf0e10cSrcweir
1628cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1253TextEncodingData
1629cdf0e10cSrcweir    = { { &aImplMS1253ByteCvtData,
1630cdf0e10cSrcweir          ImplCharToUnicode,
1631cdf0e10cSrcweir          ImplUnicodeToChar,
1632cdf0e10cSrcweir          NULL,
1633cdf0e10cSrcweir          NULL,
1634cdf0e10cSrcweir          NULL,
1635cdf0e10cSrcweir          NULL,
1636cdf0e10cSrcweir          NULL,
1637cdf0e10cSrcweir          NULL },
1638cdf0e10cSrcweir        1,
1639cdf0e10cSrcweir        1,
1640cdf0e10cSrcweir        1,
1641cdf0e10cSrcweir        161,
1642cdf0e10cSrcweir        "iso8859-7",
1643cdf0e10cSrcweir        "windows-1253",
1644cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1645cdf0e10cSrcweir    /* WIN, SCRIPT_GREEK, pc code page 869, mac encoding 6 */
1646cdf0e10cSrcweir
1647cdf0e10cSrcweir/* ======================================================================= */
1648cdf0e10cSrcweir
1649cdf0e10cSrcweir/* MS-1254 */
1650cdf0e10cSrcweir/* Windows Standard CharSet for Turkish */
1651cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1652cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1254.txt from 04/15/98 Version 2.01 */
1653cdf0e10cSrcweir/* Last-Changes from us: */
1654cdf0e10cSrcweir
1655cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1656cdf0e10cSrcweir
1657cdf0e10cSrcweir#define MS1254UNI_START                 0x80
1658cdf0e10cSrcweir#define MS1254UNI_END                   0xFF
1659cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1254ToUniTab[MS1254UNI_END - MS1254UNI_START + 1] =
1660cdf0e10cSrcweir{
1661cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1662cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1663cdf0e10cSrcweir    0x20AC,      0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1664cdf0e10cSrcweir    0x02C6, 0x2030, 0x0160, 0x2039, 0x0152,      0,      0,      0, /* 0x80 */
1665cdf0e10cSrcweir         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1666cdf0e10cSrcweir    0x02DC, 0x2122, 0x0161, 0x203A, 0x0153,      0,      0, 0x0178, /* 0x90 */
1667cdf0e10cSrcweir    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1668cdf0e10cSrcweir    0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1669cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1670cdf0e10cSrcweir    0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
1671cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1672cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1673cdf0e10cSrcweir    0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1674cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, /* 0xD0 */
1675cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1676cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1677cdf0e10cSrcweir    0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1678cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF  /* 0xF0 */
1679cdf0e10cSrcweir};
1680cdf0e10cSrcweir
1681cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1682cdf0e10cSrcweir
1683cdf0e10cSrcweir#define MS1254CHAR_START                0x00A0
1684cdf0e10cSrcweir#define MS1254CHAR_END                  0x00FF
1685cdf0e10cSrcweirstatic sal_uChar const aImplMS1254ToCharTab[MS1254CHAR_END - MS1254CHAR_START + 1] =
1686cdf0e10cSrcweir{
1687cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1688cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1689cdf0e10cSrcweir    0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x00A0 */
1690cdf0e10cSrcweir    0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
1691cdf0e10cSrcweir    0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
1692cdf0e10cSrcweir    0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x00B0 */
1693cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
1694cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
1695cdf0e10cSrcweir       0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
1696cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC,    0,    0, 0xDF, /* 0x00D0 */
1697cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
1698cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
1699cdf0e10cSrcweir       0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
1700cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC,    0,    0, 0xFF  /* 0x00F0 */
1701cdf0e10cSrcweir};
1702cdf0e10cSrcweir
1703cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1704cdf0e10cSrcweir
1705cdf0e10cSrcweir#define MS1254TOCHARTABEX_COUNT         31
1706cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1254ToCharTabEx[MS1254TOCHARTABEX_COUNT] =
1707cdf0e10cSrcweir{
1708cdf0e10cSrcweir  { 0x011E, 0xD0, 0 },
1709cdf0e10cSrcweir  { 0x011F, 0xF0, 0 },
1710cdf0e10cSrcweir  { 0x0130, 0xDD, 0 },
1711cdf0e10cSrcweir  { 0x0131, 0xFD, 0 },
1712cdf0e10cSrcweir  { 0x0152, 0x8C, 0 },
1713cdf0e10cSrcweir  { 0x0153, 0x9C, 0 },
1714cdf0e10cSrcweir  { 0x015E, 0xDE, 0 },
1715cdf0e10cSrcweir  { 0x015F, 0xFE, 0 },
1716cdf0e10cSrcweir  { 0x0160, 0x8A, 0 },
1717cdf0e10cSrcweir  { 0x0161, 0x9A, 0 },
1718cdf0e10cSrcweir  { 0x0178, 0x9F, 0 },
1719cdf0e10cSrcweir  { 0x0192, 0x83, 0 },
1720cdf0e10cSrcweir  { 0x02C6, 0x88, 0 },
1721cdf0e10cSrcweir  { 0x02DC, 0x98, 0 },
1722cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1723cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1724cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1725cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1726cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1727cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1728cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1729cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1730cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1731cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1732cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1733cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1734cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1735cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1736cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1737cdf0e10cSrcweir  { 0x20AC, 0x80, 0 },
1738cdf0e10cSrcweir  { 0x2122, 0x99, 0 }
1739cdf0e10cSrcweir};
1740cdf0e10cSrcweir
1741cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1742cdf0e10cSrcweir
1743cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1254ByteCvtData =
1744cdf0e10cSrcweir{
1745cdf0e10cSrcweir    aImplMS1254ToUniTab,
1746cdf0e10cSrcweir    NULL,
1747cdf0e10cSrcweir    MS1254UNI_START, MS1254UNI_END,
1748cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1749cdf0e10cSrcweir    aImplMS1254ToCharTab,
1750cdf0e10cSrcweir    NULL,
1751cdf0e10cSrcweir    aImplMS1254ToCharTabEx,
1752cdf0e10cSrcweir    MS1254CHAR_START, MS1254CHAR_END,
1753cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1754cdf0e10cSrcweir    MS1254TOCHARTABEX_COUNT,
1755cdf0e10cSrcweir};
1756cdf0e10cSrcweir
1757cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1758cdf0e10cSrcweir
1759cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1254TextEncodingData
1760cdf0e10cSrcweir    = { { &aImplMS1254ByteCvtData,
1761cdf0e10cSrcweir          ImplCharToUnicode,
1762cdf0e10cSrcweir          ImplUnicodeToChar,
1763cdf0e10cSrcweir          NULL,
1764cdf0e10cSrcweir          NULL,
1765cdf0e10cSrcweir          NULL,
1766cdf0e10cSrcweir          NULL,
1767cdf0e10cSrcweir          NULL,
1768cdf0e10cSrcweir          NULL },
1769cdf0e10cSrcweir        1,
1770cdf0e10cSrcweir        1,
1771cdf0e10cSrcweir        1,
1772cdf0e10cSrcweir        162,
1773cdf0e10cSrcweir        "iso8859-9",
1774cdf0e10cSrcweir        "windows-1254",
1775cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1776cdf0e10cSrcweir    /* WIN, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
1777cdf0e10cSrcweir
1778cdf0e10cSrcweir/* ======================================================================= */
1779cdf0e10cSrcweir
1780cdf0e10cSrcweir/* MS-1257 */
1781cdf0e10cSrcweir/* Windows Standard CharSet for Baltic */
1782cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1783cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1257.txt from 04/15/98 Version 2.01 */
1784cdf0e10cSrcweir/* Last-Changes from us: */
1785cdf0e10cSrcweir
1786cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1787cdf0e10cSrcweir
1788cdf0e10cSrcweir#define MS1257UNI_START                 0x80
1789cdf0e10cSrcweir#define MS1257UNI_END                   0xFF
1790cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1257ToUniTab[MS1257UNI_END - MS1257UNI_START + 1] =
1791cdf0e10cSrcweir{
1792cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1793cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1794cdf0e10cSrcweir    0x20AC,      0, 0x201A,      0, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1795cdf0e10cSrcweir         0, 0x2030,      0, 0x2039,      0, 0x00A8, 0x02C7, 0x00B8, /* 0x80 */
1796cdf0e10cSrcweir         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1797cdf0e10cSrcweir         0, 0x2122,      0, 0x203A,      0, 0x00AF, 0x02DB,      0, /* 0x90 */
1798cdf0e10cSrcweir    0x00A0,      0, 0x00A2, 0x00A3, 0x00A4,      0, 0x00A6, 0x00A7, /* 0xA0 */
1799cdf0e10cSrcweir    0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, /* 0xA0 */
1800cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1801cdf0e10cSrcweir    0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, /* 0xB0 */
1802cdf0e10cSrcweir    0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, /* 0xC0 */
1803cdf0e10cSrcweir    0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, /* 0xC0 */
1804cdf0e10cSrcweir    0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1805cdf0e10cSrcweir    0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, /* 0xD0 */
1806cdf0e10cSrcweir    0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, /* 0xE0 */
1807cdf0e10cSrcweir    0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, /* 0xE0 */
1808cdf0e10cSrcweir    0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1809cdf0e10cSrcweir    0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9  /* 0xF0 */
1810cdf0e10cSrcweir};
1811cdf0e10cSrcweir
1812cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1813cdf0e10cSrcweir
1814cdf0e10cSrcweir#define MS1257CHAR_START                0x00A0
1815cdf0e10cSrcweir#define MS1257CHAR_END                  0x017E
1816cdf0e10cSrcweirstatic sal_uChar const aImplMS1257ToCharTab[MS1257CHAR_END - MS1257CHAR_START + 1] =
1817cdf0e10cSrcweir{
1818cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1819cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1820cdf0e10cSrcweir    0xA0,    0, 0xA2, 0xA3, 0xA4,    0, 0xA6, 0xA7, /* 0x00A0 */
1821cdf0e10cSrcweir    0x8D, 0xA9,    0, 0xAB, 0xAC, 0xAD, 0xAE, 0x9D, /* 0x00A0 */
1822cdf0e10cSrcweir    0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
1823cdf0e10cSrcweir    0x8F, 0xB9,    0, 0xBB, 0xBC, 0xBD, 0xBE,    0, /* 0x00B0 */
1824cdf0e10cSrcweir       0,    0,    0,    0, 0xC4, 0xC5, 0xAF,    0, /* 0x00C0 */
1825cdf0e10cSrcweir       0, 0xC9,    0,    0,    0,    0,    0,    0, /* 0x00C0 */
1826cdf0e10cSrcweir       0,    0,    0, 0xD3,    0, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
1827cdf0e10cSrcweir    0xA8,    0,    0,    0, 0xDC,    0,    0, 0xDF, /* 0x00D0 */
1828cdf0e10cSrcweir       0,    0,    0,    0, 0xE4, 0xE5, 0xBF,    0, /* 0x00E0 */
1829cdf0e10cSrcweir       0, 0xE9,    0,    0,    0,    0,    0,    0, /* 0x00E0 */
1830cdf0e10cSrcweir       0,    0,    0, 0xF3,    0, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
1831cdf0e10cSrcweir    0xB8,    0,    0,    0, 0xFC,    0,    0,    0, /* 0x00F0 */
1832cdf0e10cSrcweir    0xC2, 0xE2,    0,    0, 0xC0, 0xE0, 0xC3, 0xE3, /* 0x0100 */
1833cdf0e10cSrcweir       0,    0,    0,    0, 0xC8, 0xE8,    0,    0, /* 0x0100 */
1834cdf0e10cSrcweir       0,    0, 0xC7, 0xE7,    0,    0, 0xCB, 0xEB, /* 0x0110 */
1835cdf0e10cSrcweir    0xC6, 0xE6,    0,    0,    0,    0,    0,    0, /* 0x0110 */
1836cdf0e10cSrcweir       0,    0, 0xCC, 0xEC,    0,    0,    0,    0, /* 0x0120 */
1837cdf0e10cSrcweir       0,    0, 0xCE, 0xEE,    0,    0, 0xC1, 0xE1, /* 0x0120 */
1838cdf0e10cSrcweir       0,    0,    0,    0,    0,    0, 0xCD, 0xED, /* 0x0130 */
1839cdf0e10cSrcweir       0,    0,    0, 0xCF, 0xEF,    0,    0,    0, /* 0x0130 */
1840cdf0e10cSrcweir       0, 0xD9, 0xF9, 0xD1, 0xF1, 0xD2, 0xF2,    0, /* 0x0140 */
1841cdf0e10cSrcweir       0,    0,    0,    0, 0xD4, 0xF4,    0,    0, /* 0x0140 */
1842cdf0e10cSrcweir       0,    0,    0,    0,    0,    0, 0xAA, 0xBA, /* 0x0150 */
1843cdf0e10cSrcweir       0,    0, 0xDA, 0xFA,    0,    0,    0,    0, /* 0x0150 */
1844cdf0e10cSrcweir    0xD0, 0xF0,    0,    0,    0,    0,    0,    0, /* 0x0160 */
1845cdf0e10cSrcweir       0,    0, 0xDB, 0xFB,    0,    0,    0,    0, /* 0x0160 */
1846cdf0e10cSrcweir       0,    0, 0xD8, 0xF8,    0,    0,    0,    0, /* 0x0170 */
1847cdf0e10cSrcweir       0, 0xCA, 0xEA, 0xDD, 0xFD, 0xDE, 0xFE        /* 0x0170 */
1848cdf0e10cSrcweir};
1849cdf0e10cSrcweir
1850cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1851cdf0e10cSrcweir
1852cdf0e10cSrcweir#define MS1257TOCHARTABEX_COUNT         20
1853cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1257ToCharTabEx[MS1257TOCHARTABEX_COUNT] =
1854cdf0e10cSrcweir{
1855cdf0e10cSrcweir  { 0x02C7, 0x8E, 0 },
1856cdf0e10cSrcweir  { 0x02D9, 0xFF, 0 },
1857cdf0e10cSrcweir  { 0x02DB, 0x9E, 0 },
1858cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1859cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1860cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1861cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1862cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1863cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1864cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1865cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1866cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1867cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1868cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1869cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1870cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1871cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1872cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1873cdf0e10cSrcweir  { 0x20AC, 0x80, 0 },
1874cdf0e10cSrcweir  { 0x2122, 0x99, 0 }
1875cdf0e10cSrcweir};
1876cdf0e10cSrcweir
1877cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1878cdf0e10cSrcweir
1879cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1257ByteCvtData =
1880cdf0e10cSrcweir{
1881cdf0e10cSrcweir    aImplMS1257ToUniTab,
1882cdf0e10cSrcweir    NULL,
1883cdf0e10cSrcweir    MS1257UNI_START, MS1257UNI_END,
1884cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1885cdf0e10cSrcweir    aImplMS1257ToCharTab,
1886cdf0e10cSrcweir    NULL,
1887cdf0e10cSrcweir    aImplMS1257ToCharTabEx,
1888cdf0e10cSrcweir    MS1257CHAR_START, MS1257CHAR_END,
1889cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1890cdf0e10cSrcweir    MS1257TOCHARTABEX_COUNT,
1891cdf0e10cSrcweir};
1892cdf0e10cSrcweir
1893cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1894cdf0e10cSrcweir
1895cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1257TextEncodingData
1896cdf0e10cSrcweir    = { { &aImplMS1257ByteCvtData,
1897cdf0e10cSrcweir          ImplCharToUnicode,
1898cdf0e10cSrcweir          ImplUnicodeToChar,
1899cdf0e10cSrcweir          NULL,
1900cdf0e10cSrcweir          NULL,
1901cdf0e10cSrcweir          NULL,
1902cdf0e10cSrcweir          NULL,
1903cdf0e10cSrcweir          NULL,
1904cdf0e10cSrcweir          NULL },
1905cdf0e10cSrcweir        1,
1906cdf0e10cSrcweir        1,
1907cdf0e10cSrcweir        1,
1908cdf0e10cSrcweir        186,
1909cdf0e10cSrcweir        "iso8859-4",
1910cdf0e10cSrcweir        "windows-1257",
1911cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1912cdf0e10cSrcweir    /* WIN, SCRIPT_BALTIC, pc code page 775, mac encoding 29 */
1913cdf0e10cSrcweir
1914cdf0e10cSrcweir/* ======================================================================= */
1915cdf0e10cSrcweir
1916cdf0e10cSrcweir/* ISO-8859-2 */
1917cdf0e10cSrcweir/* Unix Standard for Eastern European (Latin2) */
1918cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1919cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-2.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1920cdf0e10cSrcweir/* Last-Changes from us: */
1921cdf0e10cSrcweir
1922cdf0e10cSrcweir#define ISO88592UNI_START               0xA0
1923cdf0e10cSrcweir#define ISO88592UNI_END                 0xFF
1924cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88592ToUniTab[ISO88592UNI_END - ISO88592UNI_START + 1] =
1925cdf0e10cSrcweir{
1926cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1927cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1928cdf0e10cSrcweir    0x00A0, 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7, /* 0xA0 */
1929cdf0e10cSrcweir    0x00A8, 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B, /* 0xA0 */
1930cdf0e10cSrcweir    0x00B0, 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7, /* 0xB0 */
1931cdf0e10cSrcweir    0x00B8, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, /* 0xB0 */
1932cdf0e10cSrcweir    0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, /* 0xC0 */
1933cdf0e10cSrcweir    0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, /* 0xC0 */
1934cdf0e10cSrcweir    0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, /* 0xD0 */
1935cdf0e10cSrcweir    0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, /* 0xD0 */
1936cdf0e10cSrcweir    0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, /* 0xE0 */
1937cdf0e10cSrcweir    0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, /* 0xE0 */
1938cdf0e10cSrcweir    0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, /* 0xF0 */
1939cdf0e10cSrcweir    0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9  /* 0xF0 */
1940cdf0e10cSrcweir};
1941cdf0e10cSrcweir
1942cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1943cdf0e10cSrcweir
1944cdf0e10cSrcweir#define ISO88592TOCHARTABEX_COUNT       96
1945cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88592ToCharTabEx[ISO88592TOCHARTABEX_COUNT] =
1946cdf0e10cSrcweir{
1947cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
1948cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
1949cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
1950cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
1951cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
1952cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
1953cdf0e10cSrcweir  { 0x00B4, 0xB4, 0 },
1954cdf0e10cSrcweir  { 0x00B8, 0xB8, 0 },
1955cdf0e10cSrcweir  { 0x00C1, 0xC1, 0 },
1956cdf0e10cSrcweir  { 0x00C2, 0xC2, 0 },
1957cdf0e10cSrcweir  { 0x00C4, 0xC4, 0 },
1958cdf0e10cSrcweir  { 0x00C7, 0xC7, 0 },
1959cdf0e10cSrcweir  { 0x00C9, 0xC9, 0 },
1960cdf0e10cSrcweir  { 0x00CB, 0xCB, 0 },
1961cdf0e10cSrcweir  { 0x00CD, 0xCD, 0 },
1962cdf0e10cSrcweir  { 0x00CE, 0xCE, 0 },
1963cdf0e10cSrcweir  { 0x00D3, 0xD3, 0 },
1964cdf0e10cSrcweir  { 0x00D4, 0xD4, 0 },
1965cdf0e10cSrcweir  { 0x00D6, 0xD6, 0 },
1966cdf0e10cSrcweir  { 0x00D7, 0xD7, 0 },
1967cdf0e10cSrcweir  { 0x00DA, 0xDA, 0 },
1968cdf0e10cSrcweir  { 0x00DC, 0xDC, 0 },
1969cdf0e10cSrcweir  { 0x00DD, 0xDD, 0 },
1970cdf0e10cSrcweir  { 0x00DF, 0xDF, 0 },
1971cdf0e10cSrcweir  { 0x00E1, 0xE1, 0 },
1972cdf0e10cSrcweir  { 0x00E2, 0xE2, 0 },
1973cdf0e10cSrcweir  { 0x00E4, 0xE4, 0 },
1974cdf0e10cSrcweir  { 0x00E7, 0xE7, 0 },
1975cdf0e10cSrcweir  { 0x00E9, 0xE9, 0 },
1976cdf0e10cSrcweir  { 0x00EB, 0xEB, 0 },
1977cdf0e10cSrcweir  { 0x00ED, 0xED, 0 },
1978cdf0e10cSrcweir  { 0x00EE, 0xEE, 0 },
1979cdf0e10cSrcweir  { 0x00F3, 0xF3, 0 },
1980cdf0e10cSrcweir  { 0x00F4, 0xF4, 0 },
1981cdf0e10cSrcweir  { 0x00F6, 0xF6, 0 },
1982cdf0e10cSrcweir  { 0x00F7, 0xF7, 0 },
1983cdf0e10cSrcweir  { 0x00FA, 0xFA, 0 },
1984cdf0e10cSrcweir  { 0x00FC, 0xFC, 0 },
1985cdf0e10cSrcweir  { 0x00FD, 0xFD, 0 },
1986cdf0e10cSrcweir  { 0x0102, 0xC3, 0 },
1987cdf0e10cSrcweir  { 0x0103, 0xE3, 0 },
1988cdf0e10cSrcweir  { 0x0104, 0xA1, 0 },
1989cdf0e10cSrcweir  { 0x0105, 0xB1, 0 },
1990cdf0e10cSrcweir  { 0x0106, 0xC6, 0 },
1991cdf0e10cSrcweir  { 0x0107, 0xE6, 0 },
1992cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
1993cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
1994cdf0e10cSrcweir  { 0x010E, 0xCF, 0 },
1995cdf0e10cSrcweir  { 0x010F, 0xEF, 0 },
1996cdf0e10cSrcweir  { 0x0110, 0xD0, 0 },
1997cdf0e10cSrcweir  { 0x0111, 0xF0, 0 },
1998cdf0e10cSrcweir  { 0x0118, 0xCA, 0 },
1999cdf0e10cSrcweir  { 0x0119, 0xEA, 0 },
2000cdf0e10cSrcweir  { 0x011A, 0xCC, 0 },
2001cdf0e10cSrcweir  { 0x011B, 0xEC, 0 },
2002cdf0e10cSrcweir  { 0x0139, 0xC5, 0 },
2003cdf0e10cSrcweir  { 0x013A, 0xE5, 0 },
2004cdf0e10cSrcweir  { 0x013D, 0xA5, 0 },
2005cdf0e10cSrcweir  { 0x013E, 0xB5, 0 },
2006cdf0e10cSrcweir  { 0x0141, 0xA3, 0 },
2007cdf0e10cSrcweir  { 0x0142, 0xB3, 0 },
2008cdf0e10cSrcweir  { 0x0143, 0xD1, 0 },
2009cdf0e10cSrcweir  { 0x0144, 0xF1, 0 },
2010cdf0e10cSrcweir  { 0x0147, 0xD2, 0 },
2011cdf0e10cSrcweir  { 0x0148, 0xF2, 0 },
2012cdf0e10cSrcweir  { 0x0150, 0xD5, 0 },
2013cdf0e10cSrcweir  { 0x0151, 0xF5, 0 },
2014cdf0e10cSrcweir  { 0x0154, 0xC0, 0 },
2015cdf0e10cSrcweir  { 0x0155, 0xE0, 0 },
2016cdf0e10cSrcweir  { 0x0158, 0xD8, 0 },
2017cdf0e10cSrcweir  { 0x0159, 0xF8, 0 },
2018cdf0e10cSrcweir  { 0x015A, 0xA6, 0 },
2019cdf0e10cSrcweir  { 0x015B, 0xB6, 0 },
2020cdf0e10cSrcweir  { 0x015E, 0xAA, 0 },
2021cdf0e10cSrcweir  { 0x015F, 0xBA, 0 },
2022cdf0e10cSrcweir  { 0x0160, 0xA9, 0 },
2023cdf0e10cSrcweir  { 0x0161, 0xB9, 0 },
2024cdf0e10cSrcweir  { 0x0162, 0xDE, 0 },
2025cdf0e10cSrcweir  { 0x0163, 0xFE, 0 },
2026cdf0e10cSrcweir  { 0x0164, 0xAB, 0 },
2027cdf0e10cSrcweir  { 0x0165, 0xBB, 0 },
2028cdf0e10cSrcweir  { 0x016E, 0xD9, 0 },
2029cdf0e10cSrcweir  { 0x016F, 0xF9, 0 },
2030cdf0e10cSrcweir  { 0x0170, 0xDB, 0 },
2031cdf0e10cSrcweir  { 0x0171, 0xFB, 0 },
2032cdf0e10cSrcweir  { 0x0179, 0xAC, 0 },
2033cdf0e10cSrcweir  { 0x017A, 0xBC, 0 },
2034cdf0e10cSrcweir  { 0x017B, 0xAF, 0 },
2035cdf0e10cSrcweir  { 0x017C, 0xBF, 0 },
2036cdf0e10cSrcweir  { 0x017D, 0xAE, 0 },
2037cdf0e10cSrcweir  { 0x017E, 0xBE, 0 },
2038cdf0e10cSrcweir  { 0x02C7, 0xB7, 0 },
2039cdf0e10cSrcweir  { 0x02D8, 0xA2, 0 },
2040cdf0e10cSrcweir  { 0x02D9, 0xFF, 0 },
2041cdf0e10cSrcweir  { 0x02DB, 0xB2, 0 },
2042cdf0e10cSrcweir  { 0x02DD, 0xBD, 0 }
2043cdf0e10cSrcweir};
2044cdf0e10cSrcweir
2045cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2046cdf0e10cSrcweir
2047cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88592ByteCvtData =
2048cdf0e10cSrcweir{
2049cdf0e10cSrcweir    aImplISO88592ToUniTab,
2050cdf0e10cSrcweir    aImpl8090SameToUniTab,
2051cdf0e10cSrcweir    ISO88592UNI_START, ISO88592UNI_END,
2052cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2053cdf0e10cSrcweir    aImpl8090SameToCharTab,
2054cdf0e10cSrcweir    NULL,
2055cdf0e10cSrcweir    aImplISO88592ToCharTabEx,
2056cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2057cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
2058cdf0e10cSrcweir    ISO88592TOCHARTABEX_COUNT
2059cdf0e10cSrcweir};
2060cdf0e10cSrcweir
2061cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2062cdf0e10cSrcweir
2063cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88592TextEncodingData
2064cdf0e10cSrcweir    = { { &aImplISO88592ByteCvtData,
2065cdf0e10cSrcweir          ImplCharToUnicode,
2066cdf0e10cSrcweir          ImplUnicodeToChar,
2067cdf0e10cSrcweir          NULL,
2068cdf0e10cSrcweir          NULL,
2069cdf0e10cSrcweir          NULL,
2070cdf0e10cSrcweir          NULL,
2071cdf0e10cSrcweir          NULL,
2072cdf0e10cSrcweir          NULL },
2073cdf0e10cSrcweir        1,
2074cdf0e10cSrcweir        1,
2075cdf0e10cSrcweir        1,
2076cdf0e10cSrcweir        238,
2077cdf0e10cSrcweir        "iso8859-2",
2078cdf0e10cSrcweir        "iso-8859-2",
2079cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2080cdf0e10cSrcweir    /* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
2081cdf0e10cSrcweir
2082cdf0e10cSrcweir/* ======================================================================= */
2083cdf0e10cSrcweir
2084cdf0e10cSrcweir/* ISO-8859-3 */
2085cdf0e10cSrcweir/* Latin3 (Esperanto, Maltese, Turkish) */
2086cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2087cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-3.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2088cdf0e10cSrcweir/* Last-Changes from us: */
2089cdf0e10cSrcweir
2090cdf0e10cSrcweir#define ISO88593UNI_START               0xA0
2091cdf0e10cSrcweir#define ISO88593UNI_END                 0xFF
2092cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88593ToUniTab[ISO88593UNI_END - ISO88593UNI_START + 1] =
2093cdf0e10cSrcweir{
2094cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2095cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2096cdf0e10cSrcweir    0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4,      0, 0x0124, 0x00A7, /* 0xA0 */
2097cdf0e10cSrcweir    0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD,      0, 0x017B, /* 0xA0 */
2098cdf0e10cSrcweir    0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7, /* 0xB0 */
2099cdf0e10cSrcweir    0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD,      0, 0x017C, /* 0xB0 */
2100cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2,      0, 0x00C4, 0x010A, 0x0108, 0x00C7, /* 0xC0 */
2101cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
2102cdf0e10cSrcweir         0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7, /* 0xD0 */
2103cdf0e10cSrcweir    0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF, /* 0xD0 */
2104cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2,      0, 0x00E4, 0x010B, 0x0109, 0x00E7, /* 0xE0 */
2105cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
2106cdf0e10cSrcweir         0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7, /* 0xF0 */
2107cdf0e10cSrcweir    0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9  /* 0xF0 */
2108cdf0e10cSrcweir};
2109cdf0e10cSrcweir
2110cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2111cdf0e10cSrcweir
2112cdf0e10cSrcweir#define ISO88593TOCHARTABEX_COUNT       89
2113cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88593ToCharTabEx[ISO88593TOCHARTABEX_COUNT] =
2114cdf0e10cSrcweir{
2115cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2116cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
2117cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
2118cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
2119cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
2120cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2121cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
2122cdf0e10cSrcweir  { 0x00B2, 0xB2, 0 },
2123cdf0e10cSrcweir  { 0x00B3, 0xB3, 0 },
2124cdf0e10cSrcweir  { 0x00B4, 0xB4, 0 },
2125cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
2126cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
2127cdf0e10cSrcweir  { 0x00B8, 0xB8, 0 },
2128cdf0e10cSrcweir  { 0x00BD, 0xBD, 0 },
2129cdf0e10cSrcweir  { 0x00C0, 0xC0, 0 },
2130cdf0e10cSrcweir  { 0x00C1, 0xC1, 0 },
2131cdf0e10cSrcweir  { 0x00C2, 0xC2, 0 },
2132cdf0e10cSrcweir  { 0x00C4, 0xC4, 0 },
2133cdf0e10cSrcweir  { 0x00C7, 0xC7, 0 },
2134cdf0e10cSrcweir  { 0x00C8, 0xC8, 0 },
2135cdf0e10cSrcweir  { 0x00C9, 0xC9, 0 },
2136cdf0e10cSrcweir  { 0x00CA, 0xCA, 0 },
2137cdf0e10cSrcweir  { 0x00CB, 0xCB, 0 },
2138cdf0e10cSrcweir  { 0x00CC, 0xCC, 0 },
2139cdf0e10cSrcweir  { 0x00CD, 0xCD, 0 },
2140cdf0e10cSrcweir  { 0x00CE, 0xCE, 0 },
2141cdf0e10cSrcweir  { 0x00CF, 0xCF, 0 },
2142cdf0e10cSrcweir  { 0x00D1, 0xD1, 0 },
2143cdf0e10cSrcweir  { 0x00D2, 0xD2, 0 },
2144cdf0e10cSrcweir  { 0x00D3, 0xD3, 0 },
2145cdf0e10cSrcweir  { 0x00D4, 0xD4, 0 },
2146cdf0e10cSrcweir  { 0x00D6, 0xD6, 0 },
2147cdf0e10cSrcweir  { 0x00D7, 0xD7, 0 },
2148cdf0e10cSrcweir  { 0x00D9, 0xD9, 0 },
2149cdf0e10cSrcweir  { 0x00DA, 0xDA, 0 },
2150cdf0e10cSrcweir  { 0x00DB, 0xDB, 0 },
2151cdf0e10cSrcweir  { 0x00DC, 0xDC, 0 },
2152cdf0e10cSrcweir  { 0x00DF, 0xDF, 0 },
2153cdf0e10cSrcweir  { 0x00E0, 0xE0, 0 },
2154cdf0e10cSrcweir  { 0x00E1, 0xE1, 0 },
2155cdf0e10cSrcweir  { 0x00E2, 0xE2, 0 },
2156cdf0e10cSrcweir  { 0x00E4, 0xE4, 0 },
2157cdf0e10cSrcweir  { 0x00E7, 0xE7, 0 },
2158cdf0e10cSrcweir  { 0x00E8, 0xE8, 0 },
2159cdf0e10cSrcweir  { 0x00E9, 0xE9, 0 },
2160cdf0e10cSrcweir  { 0x00EA, 0xEA, 0 },
2161cdf0e10cSrcweir  { 0x00EB, 0xEB, 0 },
2162cdf0e10cSrcweir  { 0x00EC, 0xEC, 0 },
2163cdf0e10cSrcweir  { 0x00ED, 0xED, 0 },
2164cdf0e10cSrcweir  { 0x00EE, 0xEE, 0 },
2165cdf0e10cSrcweir  { 0x00EF, 0xEF, 0 },
2166cdf0e10cSrcweir  { 0x00F1, 0xF1, 0 },
2167cdf0e10cSrcweir  { 0x00F2, 0xF2, 0 },
2168cdf0e10cSrcweir  { 0x00F3, 0xF3, 0 },
2169cdf0e10cSrcweir  { 0x00F4, 0xF4, 0 },
2170cdf0e10cSrcweir  { 0x00F6, 0xF6, 0 },
2171cdf0e10cSrcweir  { 0x00F7, 0xF7, 0 },
2172cdf0e10cSrcweir  { 0x00F9, 0xF9, 0 },
2173cdf0e10cSrcweir  { 0x00FA, 0xFA, 0 },
2174cdf0e10cSrcweir  { 0x00FB, 0xFB, 0 },
2175cdf0e10cSrcweir  { 0x00FC, 0xFC, 0 },
2176cdf0e10cSrcweir  { 0x0108, 0xC6, 0 },
2177cdf0e10cSrcweir  { 0x0109, 0xE6, 0 },
2178cdf0e10cSrcweir  { 0x010A, 0xC5, 0 },
2179cdf0e10cSrcweir  { 0x010B, 0xE5, 0 },
2180cdf0e10cSrcweir  { 0x011C, 0xD8, 0 },
2181cdf0e10cSrcweir  { 0x011D, 0xF8, 0 },
2182cdf0e10cSrcweir  { 0x011E, 0xAB, 0 },
2183cdf0e10cSrcweir  { 0x011F, 0xBB, 0 },
2184cdf0e10cSrcweir  { 0x0120, 0xD5, 0 },
2185cdf0e10cSrcweir  { 0x0121, 0xF5, 0 },
2186cdf0e10cSrcweir  { 0x0124, 0xA6, 0 },
2187cdf0e10cSrcweir  { 0x0125, 0xB6, 0 },
2188cdf0e10cSrcweir  { 0x0126, 0xA1, 0 },
2189cdf0e10cSrcweir  { 0x0127, 0xB1, 0 },
2190cdf0e10cSrcweir  { 0x0130, 0xA9, 0 },
2191cdf0e10cSrcweir  { 0x0131, 0xB9, 0 },
2192cdf0e10cSrcweir  { 0x0134, 0xAC, 0 },
2193cdf0e10cSrcweir  { 0x0135, 0xBC, 0 },
2194cdf0e10cSrcweir  { 0x015C, 0xDE, 0 },
2195cdf0e10cSrcweir  { 0x015D, 0xFE, 0 },
2196cdf0e10cSrcweir  { 0x015E, 0xAA, 0 },
2197cdf0e10cSrcweir  { 0x015F, 0xBA, 0 },
2198cdf0e10cSrcweir  { 0x016C, 0xDD, 0 },
2199cdf0e10cSrcweir  { 0x016D, 0xFD, 0 },
2200cdf0e10cSrcweir  { 0x017B, 0xAF, 0 },
2201cdf0e10cSrcweir  { 0x017C, 0xBF, 0 },
2202cdf0e10cSrcweir  { 0x02D8, 0xA2, 0 },
2203cdf0e10cSrcweir  { 0x02D9, 0xFF, 0 }
2204cdf0e10cSrcweir};
2205cdf0e10cSrcweir
2206cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2207cdf0e10cSrcweir
2208cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88593ByteCvtData =
2209cdf0e10cSrcweir{
2210cdf0e10cSrcweir    aImplISO88593ToUniTab,
2211cdf0e10cSrcweir    aImpl8090SameToUniTab,
2212cdf0e10cSrcweir    ISO88593UNI_START, ISO88593UNI_END,
2213cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2214cdf0e10cSrcweir    aImpl8090SameToCharTab,
2215cdf0e10cSrcweir    NULL,
2216cdf0e10cSrcweir    aImplISO88593ToCharTabEx,
2217cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2218cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
2219cdf0e10cSrcweir    ISO88593TOCHARTABEX_COUNT
2220cdf0e10cSrcweir};
2221cdf0e10cSrcweir
2222cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2223cdf0e10cSrcweir
2224cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88593TextEncodingData
2225cdf0e10cSrcweir    = { { &aImplISO88593ByteCvtData,
2226cdf0e10cSrcweir          ImplCharToUnicode,
2227cdf0e10cSrcweir          ImplUnicodeToChar,
2228cdf0e10cSrcweir          NULL,
2229cdf0e10cSrcweir          NULL,
2230cdf0e10cSrcweir          NULL,
2231cdf0e10cSrcweir          NULL,
2232cdf0e10cSrcweir          NULL,
2233cdf0e10cSrcweir          NULL },
2234cdf0e10cSrcweir        1,
2235cdf0e10cSrcweir        1,
2236cdf0e10cSrcweir        1,
2237cdf0e10cSrcweir        0,
2238cdf0e10cSrcweir        "iso8859-3",
2239cdf0e10cSrcweir        "iso-8859-3",
2240cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2241cdf0e10cSrcweir    /* SCRIPT_LATIN, pc code page 850 */
2242cdf0e10cSrcweir
2243cdf0e10cSrcweir/* ======================================================================= */
2244cdf0e10cSrcweir
2245cdf0e10cSrcweir/* ISO-8859-4 */
2246cdf0e10cSrcweir/* Latin4 (Estonian, Latvian, Lithuanian) */
2247cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2248cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-4.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2249cdf0e10cSrcweir/* Last-Changes from us: */
2250cdf0e10cSrcweir
2251cdf0e10cSrcweir#define ISO88594UNI_START               0xA0
2252cdf0e10cSrcweir#define ISO88594UNI_END                 0xFF
2253cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88594ToUniTab[ISO88594UNI_END - ISO88594UNI_START + 1] =
2254cdf0e10cSrcweir{
2255cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2256cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2257cdf0e10cSrcweir    0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7, /* 0xA0 */
2258cdf0e10cSrcweir    0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF, /* 0xA0 */
2259cdf0e10cSrcweir    0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7, /* 0xB0 */
2260cdf0e10cSrcweir    0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B, /* 0xB0 */
2261cdf0e10cSrcweir    0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, /* 0xC0 */
2262cdf0e10cSrcweir    0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A, /* 0xC0 */
2263cdf0e10cSrcweir    0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
2264cdf0e10cSrcweir    0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF, /* 0xD0 */
2265cdf0e10cSrcweir    0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, /* 0xE0 */
2266cdf0e10cSrcweir    0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B, /* 0xE0 */
2267cdf0e10cSrcweir    0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
2268cdf0e10cSrcweir    0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9  /* 0xF0 */
2269cdf0e10cSrcweir};
2270cdf0e10cSrcweir
2271cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2272cdf0e10cSrcweir
2273cdf0e10cSrcweir#define ISO88594TOCHARTABEX_COUNT       96
2274cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88594ToCharTabEx[ISO88594TOCHARTABEX_COUNT] =
2275cdf0e10cSrcweir{
2276cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2277cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
2278cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
2279cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
2280cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2281cdf0e10cSrcweir  { 0x00AF, 0xAF, 0 },
2282cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
2283cdf0e10cSrcweir  { 0x00B4, 0xB4, 0 },
2284cdf0e10cSrcweir  { 0x00B8, 0xB8, 0 },
2285cdf0e10cSrcweir  { 0x00C1, 0xC1, 0 },
2286cdf0e10cSrcweir  { 0x00C2, 0xC2, 0 },
2287cdf0e10cSrcweir  { 0x00C3, 0xC3, 0 },
2288cdf0e10cSrcweir  { 0x00C4, 0xC4, 0 },
2289cdf0e10cSrcweir  { 0x00C5, 0xC5, 0 },
2290cdf0e10cSrcweir  { 0x00C6, 0xC6, 0 },
2291cdf0e10cSrcweir  { 0x00C9, 0xC9, 0 },
2292cdf0e10cSrcweir  { 0x00CB, 0xCB, 0 },
2293cdf0e10cSrcweir  { 0x00CD, 0xCD, 0 },
2294cdf0e10cSrcweir  { 0x00CE, 0xCE, 0 },
2295cdf0e10cSrcweir  { 0x00D4, 0xD4, 0 },
2296cdf0e10cSrcweir  { 0x00D5, 0xD5, 0 },
2297cdf0e10cSrcweir  { 0x00D6, 0xD6, 0 },
2298cdf0e10cSrcweir  { 0x00D7, 0xD7, 0 },
2299cdf0e10cSrcweir  { 0x00D8, 0xD8, 0 },
2300cdf0e10cSrcweir  { 0x00DA, 0xDA, 0 },
2301cdf0e10cSrcweir  { 0x00DB, 0xDB, 0 },
2302cdf0e10cSrcweir  { 0x00DC, 0xDC, 0 },
2303cdf0e10cSrcweir  { 0x00DF, 0xDF, 0 },
2304cdf0e10cSrcweir  { 0x00E1, 0xE1, 0 },
2305cdf0e10cSrcweir  { 0x00E2, 0xE2, 0 },
2306cdf0e10cSrcweir  { 0x00E3, 0xE3, 0 },
2307cdf0e10cSrcweir  { 0x00E4, 0xE4, 0 },
2308cdf0e10cSrcweir  { 0x00E5, 0xE5, 0 },
2309cdf0e10cSrcweir  { 0x00E6, 0xE6, 0 },
2310cdf0e10cSrcweir  { 0x00E9, 0xE9, 0 },
2311cdf0e10cSrcweir  { 0x00EB, 0xEB, 0 },
2312cdf0e10cSrcweir  { 0x00ED, 0xED, 0 },
2313cdf0e10cSrcweir  { 0x00EE, 0xEE, 0 },
2314cdf0e10cSrcweir  { 0x00F4, 0xF4, 0 },
2315cdf0e10cSrcweir  { 0x00F5, 0xF5, 0 },
2316cdf0e10cSrcweir  { 0x00F6, 0xF6, 0 },
2317cdf0e10cSrcweir  { 0x00F7, 0xF7, 0 },
2318cdf0e10cSrcweir  { 0x00F8, 0xF8, 0 },
2319cdf0e10cSrcweir  { 0x00FA, 0xFA, 0 },
2320cdf0e10cSrcweir  { 0x00FB, 0xFB, 0 },
2321cdf0e10cSrcweir  { 0x00FC, 0xFC, 0 },
2322cdf0e10cSrcweir  { 0x0100, 0xC0, 0 },
2323cdf0e10cSrcweir  { 0x0101, 0xE0, 0 },
2324cdf0e10cSrcweir  { 0x0104, 0xA1, 0 },
2325cdf0e10cSrcweir  { 0x0105, 0xB1, 0 },
2326cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
2327cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
2328cdf0e10cSrcweir  { 0x0110, 0xD0, 0 },
2329cdf0e10cSrcweir  { 0x0111, 0xF0, 0 },
2330cdf0e10cSrcweir  { 0x0112, 0xAA, 0 },
2331cdf0e10cSrcweir  { 0x0113, 0xBA, 0 },
2332cdf0e10cSrcweir  { 0x0116, 0xCC, 0 },
2333cdf0e10cSrcweir  { 0x0117, 0xEC, 0 },
2334cdf0e10cSrcweir  { 0x0118, 0xCA, 0 },
2335cdf0e10cSrcweir  { 0x0119, 0xEA, 0 },
2336cdf0e10cSrcweir  { 0x0122, 0xAB, 0 },
2337cdf0e10cSrcweir  { 0x0123, 0xBB, 0 },
2338cdf0e10cSrcweir  { 0x0128, 0xA5, 0 },
2339cdf0e10cSrcweir  { 0x0129, 0xB5, 0 },
2340cdf0e10cSrcweir  { 0x012A, 0xCF, 0 },
2341cdf0e10cSrcweir  { 0x012B, 0xEF, 0 },
2342cdf0e10cSrcweir  { 0x012E, 0xC7, 0 },
2343cdf0e10cSrcweir  { 0x012F, 0xE7, 0 },
2344cdf0e10cSrcweir  { 0x0136, 0xD3, 0 },
2345cdf0e10cSrcweir  { 0x0137, 0xF3, 0 },
2346cdf0e10cSrcweir  { 0x0138, 0xA2, 0 },
2347cdf0e10cSrcweir  { 0x013B, 0xA6, 0 },
2348cdf0e10cSrcweir  { 0x013C, 0xB6, 0 },
2349cdf0e10cSrcweir  { 0x0145, 0xD1, 0 },
2350cdf0e10cSrcweir  { 0x0146, 0xF1, 0 },
2351cdf0e10cSrcweir  { 0x014A, 0xBD, 0 },
2352cdf0e10cSrcweir  { 0x014B, 0xBF, 0 },
2353cdf0e10cSrcweir  { 0x014C, 0xD2, 0 },
2354cdf0e10cSrcweir  { 0x014D, 0xF2, 0 },
2355cdf0e10cSrcweir  { 0x0156, 0xA3, 0 },
2356cdf0e10cSrcweir  { 0x0157, 0xB3, 0 },
2357cdf0e10cSrcweir  { 0x0160, 0xA9, 0 },
2358cdf0e10cSrcweir  { 0x0161, 0xB9, 0 },
2359cdf0e10cSrcweir  { 0x0166, 0xAC, 0 },
2360cdf0e10cSrcweir  { 0x0167, 0xBC, 0 },
2361cdf0e10cSrcweir  { 0x0168, 0xDD, 0 },
2362cdf0e10cSrcweir  { 0x0169, 0xFD, 0 },
2363cdf0e10cSrcweir  { 0x016A, 0xDE, 0 },
2364cdf0e10cSrcweir  { 0x016B, 0xFE, 0 },
2365cdf0e10cSrcweir  { 0x0172, 0xD9, 0 },
2366cdf0e10cSrcweir  { 0x0173, 0xF9, 0 },
2367cdf0e10cSrcweir  { 0x017D, 0xAE, 0 },
2368cdf0e10cSrcweir  { 0x017E, 0xBE, 0 },
2369cdf0e10cSrcweir  { 0x02C7, 0xB7, 0 },
2370cdf0e10cSrcweir  { 0x02D9, 0xFF, 0 },
2371cdf0e10cSrcweir  { 0x02DB, 0xB2, 0 }
2372cdf0e10cSrcweir};
2373cdf0e10cSrcweir
2374cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2375cdf0e10cSrcweir
2376cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88594ByteCvtData =
2377cdf0e10cSrcweir{
2378cdf0e10cSrcweir    aImplISO88594ToUniTab,
2379cdf0e10cSrcweir    aImpl8090SameToUniTab,
2380cdf0e10cSrcweir    ISO88594UNI_START, ISO88594UNI_END,
2381cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2382cdf0e10cSrcweir    aImpl8090SameToCharTab,
2383cdf0e10cSrcweir    NULL,
2384cdf0e10cSrcweir    aImplISO88594ToCharTabEx,
2385cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2386cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
2387cdf0e10cSrcweir    ISO88594TOCHARTABEX_COUNT
2388cdf0e10cSrcweir};
2389cdf0e10cSrcweir
2390cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2391cdf0e10cSrcweir
2392cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88594TextEncodingData
2393cdf0e10cSrcweir    = { { &aImplISO88594ByteCvtData,
2394cdf0e10cSrcweir          ImplCharToUnicode,
2395cdf0e10cSrcweir          ImplUnicodeToChar,
2396cdf0e10cSrcweir          NULL,
2397cdf0e10cSrcweir          NULL,
2398cdf0e10cSrcweir          NULL,
2399cdf0e10cSrcweir          NULL,
2400cdf0e10cSrcweir          NULL,
2401cdf0e10cSrcweir          NULL },
2402cdf0e10cSrcweir        1,
2403cdf0e10cSrcweir        1,
2404cdf0e10cSrcweir        1,
2405cdf0e10cSrcweir        186,
2406cdf0e10cSrcweir        "iso8859-4",
2407cdf0e10cSrcweir        "iso-8859-4",
2408cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2409cdf0e10cSrcweir    /* SCRIPT_BALTIC, pc code page 775, mac encoding 29 (?) */
2410cdf0e10cSrcweir
2411cdf0e10cSrcweir/* ======================================================================= */
2412cdf0e10cSrcweir
2413cdf0e10cSrcweir/* ISO-8859-5 */
2414cdf0e10cSrcweir/* Unix Standard for Cyrillic */
2415cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2416cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-5.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2417cdf0e10cSrcweir/* Last-Changes from us: */
2418cdf0e10cSrcweir
2419cdf0e10cSrcweir#define ISO88595UNI_START               0xA0
2420cdf0e10cSrcweir#define ISO88595UNI_END                 0xFF
2421cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88595ToUniTab[ISO88595UNI_END - ISO88595UNI_START + 1] =
2422cdf0e10cSrcweir{
2423cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2424cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2425cdf0e10cSrcweir    0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, /* 0xA0 */
2426cdf0e10cSrcweir    0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F, /* 0xA0 */
2427cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xB0 */
2428cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xB0 */
2429cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xC0 */
2430cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xC0 */
2431cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xD0 */
2432cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xD0 */
2433cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xE0 */
2434cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, /* 0xE0 */
2435cdf0e10cSrcweir    0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, /* 0xF0 */
2436cdf0e10cSrcweir    0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F  /* 0xF0 */
2437cdf0e10cSrcweir};
2438cdf0e10cSrcweir
2439cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2440cdf0e10cSrcweir
2441cdf0e10cSrcweir#define ISO88595CHAR_START              0x0401
2442cdf0e10cSrcweir#define ISO88595CHAR_END                0x045F
2443cdf0e10cSrcweirstatic sal_uChar const aImplISO88595ToCharTab[ISO88595CHAR_END - ISO88595CHAR_START + 1] =
2444cdf0e10cSrcweir{
2445cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
2446cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
2447cdf0e10cSrcweir          0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x0400 */
2448cdf0e10cSrcweir    0xA8, 0xA9, 0xAA, 0xAB, 0xAC,    0, 0xAE, 0xAF, /* 0x0400 */
2449cdf0e10cSrcweir    0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x0410 */
2450cdf0e10cSrcweir    0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x0410 */
2451cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0420 */
2452cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0420 */
2453cdf0e10cSrcweir    0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x0430 */
2454cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x0430 */
2455cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0440 */
2456cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0440 */
2457cdf0e10cSrcweir       0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0450 */
2458cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC,    0, 0xFE, 0xFF, /* 0x0450 */
2459cdf0e10cSrcweir};
2460cdf0e10cSrcweir
2461cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2462cdf0e10cSrcweir
2463cdf0e10cSrcweir#define ISO88595TOCHARTABEX_COUNT       4
2464cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88595ToCharTabEx[ISO88595TOCHARTABEX_COUNT] =
2465cdf0e10cSrcweir{
2466cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2467cdf0e10cSrcweir  { 0x00A7, 0xFD, 0 },
2468cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2469cdf0e10cSrcweir  { 0x2116, 0xF0, 0 }
2470cdf0e10cSrcweir};
2471cdf0e10cSrcweir
2472cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2473cdf0e10cSrcweir
2474cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88595ByteCvtData =
2475cdf0e10cSrcweir{
2476cdf0e10cSrcweir    aImplISO88595ToUniTab,
2477cdf0e10cSrcweir    aImpl8090SameToUniTab,
2478cdf0e10cSrcweir    ISO88595UNI_START, ISO88595UNI_END,
2479cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2480cdf0e10cSrcweir    aImplISO88595ToCharTab,
2481cdf0e10cSrcweir    aImpl8090SameToCharTab,
2482cdf0e10cSrcweir    aImplISO88595ToCharTabEx,
2483cdf0e10cSrcweir    ISO88595CHAR_START, ISO88595CHAR_END,
2484cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2485cdf0e10cSrcweir    ISO88595TOCHARTABEX_COUNT
2486cdf0e10cSrcweir};
2487cdf0e10cSrcweir
2488cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2489cdf0e10cSrcweir
2490cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88595TextEncodingData
2491cdf0e10cSrcweir    = { { &aImplISO88595ByteCvtData,
2492cdf0e10cSrcweir          ImplCharToUnicode,
2493cdf0e10cSrcweir          ImplUnicodeToChar,
2494cdf0e10cSrcweir          NULL,
2495cdf0e10cSrcweir          NULL,
2496cdf0e10cSrcweir          NULL,
2497cdf0e10cSrcweir          NULL,
2498cdf0e10cSrcweir          NULL,
2499cdf0e10cSrcweir          NULL },
2500cdf0e10cSrcweir        1,
2501cdf0e10cSrcweir        1,
2502cdf0e10cSrcweir        1,
2503cdf0e10cSrcweir        204,
2504cdf0e10cSrcweir        "iso8859-5",
2505cdf0e10cSrcweir        "iso-8859-5",
2506cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2507cdf0e10cSrcweir    /* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
2508cdf0e10cSrcweir
2509cdf0e10cSrcweir/* ======================================================================= */
2510cdf0e10cSrcweir
2511cdf0e10cSrcweir/* ISO-8859-7 */
2512cdf0e10cSrcweir/* Unix Standard for Greek */
2513cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2514cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-7.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2515cdf0e10cSrcweir/* Last-Changes from us: */
2516cdf0e10cSrcweir
2517cdf0e10cSrcweir#define ISO88597UNI_START               0xA0
2518cdf0e10cSrcweir#define ISO88597UNI_END                 0xFF
2519cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88597ToUniTab[ISO88597UNI_END - ISO88597UNI_START + 1] =
2520cdf0e10cSrcweir{
2521cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2522cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2523cdf0e10cSrcweir    0x00A0, 0x2018, 0x2019, 0x00A3,      0,      0, 0x00A6, 0x00A7, /* 0xA0 */
2524cdf0e10cSrcweir    0x00A8, 0x00A9,      0, 0x00AB, 0x00AC, 0x00AD,      0, 0x2015, /* 0xA0 */
2525cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x0385, 0x0386, 0x00B7, /* 0xB0 */
2526cdf0e10cSrcweir    0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, /* 0xB0 */
2527cdf0e10cSrcweir    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, /* 0xC0 */
2528cdf0e10cSrcweir    0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, /* 0xC0 */
2529cdf0e10cSrcweir    0x03A0, 0x03A1,      0, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, /* 0xD0 */
2530cdf0e10cSrcweir    0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, /* 0xD0 */
2531cdf0e10cSrcweir    0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, /* 0xE0 */
2532cdf0e10cSrcweir    0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, /* 0xE0 */
2533cdf0e10cSrcweir    0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, /* 0xF0 */
2534cdf0e10cSrcweir    0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE,      0  /* 0xF0 */
2535cdf0e10cSrcweir};
2536cdf0e10cSrcweir
2537cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2538cdf0e10cSrcweir
2539cdf0e10cSrcweir#define ISO88597CHAR_START              0x0384
2540cdf0e10cSrcweir#define ISO88597CHAR_END                0x03CE
2541cdf0e10cSrcweirstatic sal_uChar const aImplISO88597ToCharTab[ISO88597CHAR_END - ISO88597CHAR_START + 1] =
2542cdf0e10cSrcweir{
2543cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
2544cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
2545cdf0e10cSrcweir                            0xB4, 0xB5, 0xB6,    0, /* 0x0380 */
2546cdf0e10cSrcweir    0xB8, 0xB9, 0xBA,    0, 0xBC,    0, 0xBE, 0xBF, /* 0x0380 */
2547cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0390 */
2548cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0390 */
2549cdf0e10cSrcweir    0xD0, 0xD1,    0, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x03A0 */
2550cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x03A0 */
2551cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x03B0 */
2552cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x03B0 */
2553cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x03C0 */
2554cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE        /* 0x03C0 */
2555cdf0e10cSrcweir};
2556cdf0e10cSrcweir
2557cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2558cdf0e10cSrcweir
2559cdf0e10cSrcweir#define ISO88597TOCHARTABEX_COUNT       19
2560cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88597ToCharTabEx[ISO88597TOCHARTABEX_COUNT] =
2561cdf0e10cSrcweir{
2562cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2563cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
2564cdf0e10cSrcweir  { 0x00A6, 0xA6, 0 },
2565cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
2566cdf0e10cSrcweir  { 0x00A8, 0xA8, 0 },
2567cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
2568cdf0e10cSrcweir  { 0x00AB, 0xAB, 0 },
2569cdf0e10cSrcweir  { 0x00AC, 0xAC, 0 },
2570cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2571cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
2572cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
2573cdf0e10cSrcweir  { 0x00B2, 0xB2, 0 },
2574cdf0e10cSrcweir  { 0x00B3, 0xB3, 0 },
2575cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
2576cdf0e10cSrcweir  { 0x00BB, 0xBB, 0 },
2577cdf0e10cSrcweir  { 0x00BD, 0xBD, 0 },
2578cdf0e10cSrcweir  { 0x2015, 0xAF, 0 },
2579cdf0e10cSrcweir  { 0x2018, 0xA1, 0 },
2580cdf0e10cSrcweir  { 0x2019, 0xA2, 0 }
2581cdf0e10cSrcweir};
2582cdf0e10cSrcweir
2583cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2584cdf0e10cSrcweir
2585cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88597ByteCvtData =
2586cdf0e10cSrcweir{
2587cdf0e10cSrcweir    aImplISO88597ToUniTab,
2588cdf0e10cSrcweir    aImpl8090SameToUniTab,
2589cdf0e10cSrcweir    ISO88597UNI_START, ISO88597UNI_END,
2590cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2591cdf0e10cSrcweir    aImplISO88597ToCharTab,
2592cdf0e10cSrcweir    aImpl8090SameToCharTab,
2593cdf0e10cSrcweir    aImplISO88597ToCharTabEx,
2594cdf0e10cSrcweir    ISO88597CHAR_START, ISO88597CHAR_END,
2595cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2596cdf0e10cSrcweir    ISO88597TOCHARTABEX_COUNT
2597cdf0e10cSrcweir};
2598cdf0e10cSrcweir
2599cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2600cdf0e10cSrcweir
2601cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88597TextEncodingData
2602cdf0e10cSrcweir    = { { &aImplISO88597ByteCvtData,
2603cdf0e10cSrcweir          ImplCharToUnicode,
2604cdf0e10cSrcweir          ImplUnicodeToChar,
2605cdf0e10cSrcweir          NULL,
2606cdf0e10cSrcweir          NULL,
2607cdf0e10cSrcweir          NULL,
2608cdf0e10cSrcweir          NULL,
2609cdf0e10cSrcweir          NULL,
2610cdf0e10cSrcweir          NULL },
2611cdf0e10cSrcweir        1,
2612cdf0e10cSrcweir        1,
2613cdf0e10cSrcweir        1,
2614cdf0e10cSrcweir        161,
2615cdf0e10cSrcweir        "iso8859-7",
2616cdf0e10cSrcweir        "iso-8859-7",
2617cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2618cdf0e10cSrcweir    /* SCRIPT_GREEK, pc code page 869, mac encoding 6 */
2619cdf0e10cSrcweir
2620cdf0e10cSrcweir/* ======================================================================= */
2621cdf0e10cSrcweir
2622cdf0e10cSrcweir/* ISO-8859-9 */
2623cdf0e10cSrcweir/* Latin5 (Turkish) */
2624cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2625cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-9.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2626cdf0e10cSrcweir/* Last-Changes from us: */
2627cdf0e10cSrcweir
2628cdf0e10cSrcweir#define ISO88599UNI_START               0xA0
2629cdf0e10cSrcweir#define ISO88599UNI_END                 0xFF
2630cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88599ToUniTab[ISO88599UNI_END - ISO88599UNI_START + 1] =
2631cdf0e10cSrcweir{
2632cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2633cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2634cdf0e10cSrcweir    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
2635cdf0e10cSrcweir    0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
2636cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
2637cdf0e10cSrcweir    0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
2638cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
2639cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
2640cdf0e10cSrcweir    0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
2641cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, /* 0xD0 */
2642cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
2643cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
2644cdf0e10cSrcweir    0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
2645cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF  /* 0xF0 */
2646cdf0e10cSrcweir};
2647cdf0e10cSrcweir
2648cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2649cdf0e10cSrcweir
2650cdf0e10cSrcweir#define ISO88599CHAR_START              0x00A0
2651cdf0e10cSrcweir#define ISO88599CHAR_END                0x00FF
2652cdf0e10cSrcweirstatic sal_uChar const aImplISO88599ToCharTab[ISO88599CHAR_END - ISO88599CHAR_START + 1] =
2653cdf0e10cSrcweir{
2654cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
2655cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
2656cdf0e10cSrcweir    0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x00A0 */
2657cdf0e10cSrcweir    0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
2658cdf0e10cSrcweir    0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
2659cdf0e10cSrcweir    0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x00B0 */
2660cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
2661cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
2662cdf0e10cSrcweir       0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
2663cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC,    0,    0, 0xDF, /* 0x00D0 */
2664cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
2665cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
2666cdf0e10cSrcweir       0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
2667cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC,    0,    0, 0xFF  /* 0x00F0 */
2668cdf0e10cSrcweir};
2669cdf0e10cSrcweir
2670cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2671cdf0e10cSrcweir
2672cdf0e10cSrcweir#define ISO88599TOCHARTABEX_COUNT       6
2673cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO88599ToCharTabEx[ISO88599TOCHARTABEX_COUNT] =
2674cdf0e10cSrcweir{
2675cdf0e10cSrcweir  { 0x011E, 0xD0, 0 },
2676cdf0e10cSrcweir  { 0x011F, 0xF0, 0 },
2677cdf0e10cSrcweir  { 0x0130, 0xDD, 0 },
2678cdf0e10cSrcweir  { 0x0131, 0xFD, 0 },
2679cdf0e10cSrcweir  { 0x015E, 0xDE, 0 },
2680cdf0e10cSrcweir  { 0x015F, 0xFE, 0 }
2681cdf0e10cSrcweir};
2682cdf0e10cSrcweir
2683cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2684cdf0e10cSrcweir
2685cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88599ByteCvtData =
2686cdf0e10cSrcweir{
2687cdf0e10cSrcweir    aImplISO88599ToUniTab,
2688cdf0e10cSrcweir    aImpl8090SameToUniTab,
2689cdf0e10cSrcweir    ISO88599UNI_START, ISO88599UNI_END,
2690cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2691cdf0e10cSrcweir    aImplISO88599ToCharTab,
2692cdf0e10cSrcweir    aImpl8090SameToCharTab,
2693cdf0e10cSrcweir    aImplISO88599ToCharTabEx,
2694cdf0e10cSrcweir    ISO88599CHAR_START, ISO88599CHAR_END,
2695cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2696cdf0e10cSrcweir    ISO88599TOCHARTABEX_COUNT
2697cdf0e10cSrcweir};
2698cdf0e10cSrcweir
2699cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2700cdf0e10cSrcweir
2701cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88599TextEncodingData
2702cdf0e10cSrcweir    = { { &aImplISO88599ByteCvtData,
2703cdf0e10cSrcweir          ImplCharToUnicode,
2704cdf0e10cSrcweir          ImplUnicodeToChar,
2705cdf0e10cSrcweir          NULL,
2706cdf0e10cSrcweir          NULL,
2707cdf0e10cSrcweir          NULL,
2708cdf0e10cSrcweir          NULL,
2709cdf0e10cSrcweir          NULL,
2710cdf0e10cSrcweir          NULL },
2711cdf0e10cSrcweir        1,
2712cdf0e10cSrcweir        1,
2713cdf0e10cSrcweir        1,
2714cdf0e10cSrcweir        162,
2715cdf0e10cSrcweir        "iso8859-9",
2716cdf0e10cSrcweir        "iso-8859-9",
2717cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2718cdf0e10cSrcweir    /* SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
2719cdf0e10cSrcweir
2720cdf0e10cSrcweir/* ======================================================================= */
2721cdf0e10cSrcweir
2722cdf0e10cSrcweir/* ISO-8859-10 */
2723cdf0e10cSrcweir/* East European */
2724cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2725cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-10.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2726cdf0e10cSrcweir/* Last-Changes from us: */
2727cdf0e10cSrcweir
2728cdf0e10cSrcweir#define ISO885910UNI_START              0xA0
2729cdf0e10cSrcweir#define ISO885910UNI_END                0xFF
2730cdf0e10cSrcweirstatic sal_uInt16 const aImplISO885910ToUniTab[ISO885910UNI_END - ISO885910UNI_START + 1] =
2731cdf0e10cSrcweir{
2732cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2733cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2734cdf0e10cSrcweir    0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7, /* 0xA0 */
2735cdf0e10cSrcweir    0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A, /* 0xA0 */
2736cdf0e10cSrcweir    0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7, /* 0xB0 */
2737cdf0e10cSrcweir    0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2015, 0x016B, 0x014B, /* 0xB0 */
2738cdf0e10cSrcweir    0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, /* 0xC0 */
2739cdf0e10cSrcweir    0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
2740cdf0e10cSrcweir    0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168, /* 0xD0 */
2741cdf0e10cSrcweir    0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
2742cdf0e10cSrcweir    0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, /* 0xE0 */
2743cdf0e10cSrcweir    0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
2744cdf0e10cSrcweir    0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169, /* 0xF0 */
2745cdf0e10cSrcweir    0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138  /* 0xF0 */
2746cdf0e10cSrcweir};
2747cdf0e10cSrcweir
2748cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2749cdf0e10cSrcweir
2750cdf0e10cSrcweir#define ISO885910CHAR_START             0x00C1
2751cdf0e10cSrcweir#define ISO885910CHAR_END               0x00FE
2752cdf0e10cSrcweirstatic sal_uChar const aImplISO885910ToCharTab[ISO885910CHAR_END - ISO885910CHAR_START + 1] =
2753cdf0e10cSrcweir{
2754cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
2755cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
2756cdf0e10cSrcweir          0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6,    0, /* 0x00C0 */
2757cdf0e10cSrcweir       0, 0xC9,    0, 0xCB,    0, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
2758cdf0e10cSrcweir    0xD0,    0,    0, 0xD3, 0xD4, 0xD5, 0xD6,    0, /* 0x00D0 */
2759cdf0e10cSrcweir    0xD8,    0, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
2760cdf0e10cSrcweir       0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,    0, /* 0x00E0 */
2761cdf0e10cSrcweir       0, 0xE9,    0, 0xEB,    0, 0xED, 0xEE, 0xEF, /* 0x00E0 */
2762cdf0e10cSrcweir    0xF0,    0,    0, 0xF3, 0xF4, 0xF5, 0xF6,    0, /* 0x00F0 */
2763cdf0e10cSrcweir    0xF8,    0, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE        /* 0x00F0 */
2764cdf0e10cSrcweir};
2765cdf0e10cSrcweir
2766cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2767cdf0e10cSrcweir
2768cdf0e10cSrcweir#define ISO885910TOCHARTABEX_COUNT      51
2769cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO885910ToCharTabEx[ISO885910TOCHARTABEX_COUNT] =
2770cdf0e10cSrcweir{
2771cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2772cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
2773cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2774cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
2775cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
2776cdf0e10cSrcweir  { 0x0100, 0xC0, 0 },
2777cdf0e10cSrcweir  { 0x0101, 0xE0, 0 },
2778cdf0e10cSrcweir  { 0x0104, 0xA1, 0 },
2779cdf0e10cSrcweir  { 0x0105, 0xB1, 0 },
2780cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
2781cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
2782cdf0e10cSrcweir  { 0x0110, 0xA9, 0 },
2783cdf0e10cSrcweir  { 0x0111, 0xB9, 0 },
2784cdf0e10cSrcweir  { 0x0112, 0xA2, 0 },
2785cdf0e10cSrcweir  { 0x0113, 0xB2, 0 },
2786cdf0e10cSrcweir  { 0x0116, 0xCC, 0 },
2787cdf0e10cSrcweir  { 0x0117, 0xEC, 0 },
2788cdf0e10cSrcweir  { 0x0118, 0xCA, 0 },
2789cdf0e10cSrcweir  { 0x0119, 0xEA, 0 },
2790cdf0e10cSrcweir  { 0x0122, 0xA3, 0 },
2791cdf0e10cSrcweir  { 0x0123, 0xB3, 0 },
2792cdf0e10cSrcweir  { 0x0128, 0xA5, 0 },
2793cdf0e10cSrcweir  { 0x0129, 0xB5, 0 },
2794cdf0e10cSrcweir  { 0x012A, 0xA4, 0 },
2795cdf0e10cSrcweir  { 0x012B, 0xB4, 0 },
2796cdf0e10cSrcweir  { 0x012E, 0xC7, 0 },
2797cdf0e10cSrcweir  { 0x012F, 0xE7, 0 },
2798cdf0e10cSrcweir  { 0x0136, 0xA6, 0 },
2799cdf0e10cSrcweir  { 0x0137, 0xB6, 0 },
2800cdf0e10cSrcweir  { 0x0138, 0xFF, 0 },
2801cdf0e10cSrcweir  { 0x013B, 0xA8, 0 },
2802cdf0e10cSrcweir  { 0x013C, 0xB8, 0 },
2803cdf0e10cSrcweir  { 0x0145, 0xD1, 0 },
2804cdf0e10cSrcweir  { 0x0146, 0xF1, 0 },
2805cdf0e10cSrcweir  { 0x014A, 0xAF, 0 },
2806cdf0e10cSrcweir  { 0x014B, 0xBF, 0 },
2807cdf0e10cSrcweir  { 0x014C, 0xD2, 0 },
2808cdf0e10cSrcweir  { 0x014D, 0xF2, 0 },
2809cdf0e10cSrcweir  { 0x0160, 0xAA, 0 },
2810cdf0e10cSrcweir  { 0x0161, 0xBA, 0 },
2811cdf0e10cSrcweir  { 0x0166, 0xAB, 0 },
2812cdf0e10cSrcweir  { 0x0167, 0xBB, 0 },
2813cdf0e10cSrcweir  { 0x0168, 0xD7, 0 },
2814cdf0e10cSrcweir  { 0x0169, 0xF7, 0 },
2815cdf0e10cSrcweir  { 0x016A, 0xAE, 0 },
2816cdf0e10cSrcweir  { 0x016B, 0xBE, 0 },
2817cdf0e10cSrcweir  { 0x0172, 0xD9, 0 },
2818cdf0e10cSrcweir  { 0x0173, 0xF9, 0 },
2819cdf0e10cSrcweir  { 0x017D, 0xAC, 0 },
2820cdf0e10cSrcweir  { 0x017E, 0xBC, 0 },
2821cdf0e10cSrcweir  { 0x2015, 0xBD, 0 }
2822cdf0e10cSrcweir};
2823cdf0e10cSrcweir
2824cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2825cdf0e10cSrcweir
2826cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO885910ByteCvtData =
2827cdf0e10cSrcweir{
2828cdf0e10cSrcweir    aImplISO885910ToUniTab,
2829cdf0e10cSrcweir    aImpl8090SameToUniTab,
2830cdf0e10cSrcweir    ISO885910UNI_START, ISO885910UNI_END,
2831cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
2832cdf0e10cSrcweir    aImplISO885910ToCharTab,
2833cdf0e10cSrcweir    aImpl8090SameToCharTab,
2834cdf0e10cSrcweir    aImplISO885910ToCharTabEx,
2835cdf0e10cSrcweir    ISO885910CHAR_START, ISO885910CHAR_END,
2836cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
2837cdf0e10cSrcweir    ISO885910TOCHARTABEX_COUNT
2838cdf0e10cSrcweir};
2839cdf0e10cSrcweir
2840cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2841cdf0e10cSrcweir
2842cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO885910TextEncodingData
2843cdf0e10cSrcweir    = { { &aImplISO885910ByteCvtData,
2844cdf0e10cSrcweir          ImplCharToUnicode,
2845cdf0e10cSrcweir          ImplUnicodeToChar,
2846cdf0e10cSrcweir          NULL,
2847cdf0e10cSrcweir          NULL,
2848cdf0e10cSrcweir          NULL,
2849cdf0e10cSrcweir          NULL,
2850cdf0e10cSrcweir          NULL,
2851cdf0e10cSrcweir          NULL },
2852cdf0e10cSrcweir        1,
2853cdf0e10cSrcweir        1,
2854cdf0e10cSrcweir        1,
2855cdf0e10cSrcweir        238,
2856cdf0e10cSrcweir        "iso8859-10",
2857cdf0e10cSrcweir        "iso-8859-10",
2858cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
2859cdf0e10cSrcweir    /* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
2860cdf0e10cSrcweir
2861cdf0e10cSrcweir/* ======================================================================= */
2862cdf0e10cSrcweir
2863cdf0e10cSrcweir/* ISO-8859-13 */
2864cdf0e10cSrcweir/* East European */
2865cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
2866cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-13.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
2867cdf0e10cSrcweir/* Last-Changes from us: */
2868cdf0e10cSrcweir
2869cdf0e10cSrcweir#define ISO885913UNI_START              0xA0
2870cdf0e10cSrcweir#define ISO885913UNI_END                0xFF
2871cdf0e10cSrcweirstatic sal_uInt16 const aImplISO885913ToUniTab[ISO885913UNI_END - ISO885913UNI_START + 1] =
2872cdf0e10cSrcweir{
2873cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
2874cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
2875cdf0e10cSrcweir    0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7, /* 0xA0 */
2876cdf0e10cSrcweir    0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, /* 0xA0 */
2877cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
2878cdf0e10cSrcweir    0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, /* 0xB0 */
2879cdf0e10cSrcweir    0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, /* 0xC0 */
2880cdf0e10cSrcweir    0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, /* 0xC0 */
2881cdf0e10cSrcweir    0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
2882cdf0e10cSrcweir    0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, /* 0xD0 */
2883cdf0e10cSrcweir    0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, /* 0xE0 */
2884cdf0e10cSrcweir    0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, /* 0xE0 */
2885cdf0e10cSrcweir    0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
2886cdf0e10cSrcweir    0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019  /* 0xF0 */
2887cdf0e10cSrcweir};
2888cdf0e10cSrcweir
2889cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2890cdf0e10cSrcweir
2891cdf0e10cSrcweir#define ISO885913TOCHARTABEX_COUNT      96
2892cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO885913ToCharTabEx[ISO885913TOCHARTABEX_COUNT] =
2893cdf0e10cSrcweir{
2894cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
2895cdf0e10cSrcweir  { 0x00A2, 0xA2, 0 },
2896cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
2897cdf0e10cSrcweir  { 0x00A4, 0xA4, 0 },
2898cdf0e10cSrcweir  { 0x00A6, 0xA6, 0 },
2899cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
2900cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
2901cdf0e10cSrcweir  { 0x00AB, 0xAB, 0 },
2902cdf0e10cSrcweir  { 0x00AC, 0xAC, 0 },
2903cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
2904cdf0e10cSrcweir  { 0x00AE, 0xAE, 0 },
2905cdf0e10cSrcweir  { 0x00B0, 0xB0, 0 },
2906cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
2907cdf0e10cSrcweir  { 0x00B2, 0xB2, 0 },
2908cdf0e10cSrcweir  { 0x00B3, 0xB3, 0 },
2909cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
2910cdf0e10cSrcweir  { 0x00B6, 0xB6, 0 },
2911cdf0e10cSrcweir  { 0x00B7, 0xB7, 0 },
2912cdf0e10cSrcweir  { 0x00B9, 0xB9, 0 },
2913cdf0e10cSrcweir  { 0x00BB, 0xBB, 0 },
2914cdf0e10cSrcweir  { 0x00BC, 0xBC, 0 },
2915cdf0e10cSrcweir  { 0x00BD, 0xBD, 0 },
2916cdf0e10cSrcweir  { 0x00BE, 0xBE, 0 },
2917cdf0e10cSrcweir  { 0x00C4, 0xC4, 0 },
2918cdf0e10cSrcweir  { 0x00C5, 0xC5, 0 },
2919cdf0e10cSrcweir  { 0x00C6, 0xAF, 0 },
2920cdf0e10cSrcweir  { 0x00C9, 0xC9, 0 },
2921cdf0e10cSrcweir  { 0x00D3, 0xD3, 0 },
2922cdf0e10cSrcweir  { 0x00D5, 0xD5, 0 },
2923cdf0e10cSrcweir  { 0x00D6, 0xD6, 0 },
2924cdf0e10cSrcweir  { 0x00D7, 0xD7, 0 },
2925cdf0e10cSrcweir  { 0x00D8, 0xA8, 0 },
2926cdf0e10cSrcweir  { 0x00DC, 0xDC, 0 },
2927cdf0e10cSrcweir  { 0x00DF, 0xDF, 0 },
2928cdf0e10cSrcweir  { 0x00E4, 0xE4, 0 },
2929cdf0e10cSrcweir  { 0x00E5, 0xE5, 0 },
2930cdf0e10cSrcweir  { 0x00E6, 0xBF, 0 },
2931cdf0e10cSrcweir  { 0x00E9, 0xE9, 0 },
2932cdf0e10cSrcweir  { 0x00F3, 0xF3, 0 },
2933cdf0e10cSrcweir  { 0x00F5, 0xF5, 0 },
2934cdf0e10cSrcweir  { 0x00F6, 0xF6, 0 },
2935cdf0e10cSrcweir  { 0x00F7, 0xF7, 0 },
2936cdf0e10cSrcweir  { 0x00F8, 0xB8, 0 },
2937cdf0e10cSrcweir  { 0x00FC, 0xFC, 0 },
2938cdf0e10cSrcweir  { 0x0100, 0xC2, 0 },
2939cdf0e10cSrcweir  { 0x0101, 0xE2, 0 },
2940cdf0e10cSrcweir  { 0x0104, 0xC0, 0 },
2941cdf0e10cSrcweir  { 0x0105, 0xE0, 0 },
2942cdf0e10cSrcweir  { 0x0106, 0xC3, 0 },
2943cdf0e10cSrcweir  { 0x0107, 0xE3, 0 },
2944cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
2945cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
2946cdf0e10cSrcweir  { 0x0112, 0xC7, 0 },
2947cdf0e10cSrcweir  { 0x0113, 0xE7, 0 },
2948cdf0e10cSrcweir  { 0x0116, 0xCB, 0 },
2949cdf0e10cSrcweir  { 0x0117, 0xEB, 0 },
2950cdf0e10cSrcweir  { 0x0118, 0xC6, 0 },
2951cdf0e10cSrcweir  { 0x0119, 0xE6, 0 },
2952cdf0e10cSrcweir  { 0x0122, 0xCC, 0 },
2953cdf0e10cSrcweir  { 0x0123, 0xEC, 0 },
2954cdf0e10cSrcweir  { 0x012A, 0xCE, 0 },
2955cdf0e10cSrcweir  { 0x012B, 0xEE, 0 },
2956cdf0e10cSrcweir  { 0x012E, 0xC1, 0 },
2957cdf0e10cSrcweir  { 0x012F, 0xE1, 0 },
2958cdf0e10cSrcweir  { 0x0136, 0xCD, 0 },
2959cdf0e10cSrcweir  { 0x0137, 0xED, 0 },
2960cdf0e10cSrcweir  { 0x013B, 0xCF, 0 },
2961cdf0e10cSrcweir  { 0x013C, 0xEF, 0 },
2962cdf0e10cSrcweir  { 0x0141, 0xD9, 0 },
2963cdf0e10cSrcweir  { 0x0142, 0xF9, 0 },
2964cdf0e10cSrcweir  { 0x0143, 0xD1, 0 },
2965cdf0e10cSrcweir  { 0x0144, 0xF1, 0 },
2966cdf0e10cSrcweir  { 0x0145, 0xD2, 0 },
2967cdf0e10cSrcweir  { 0x0146, 0xF2, 0 },
2968cdf0e10cSrcweir  { 0x014C, 0xD4, 0 },
2969cdf0e10cSrcweir  { 0x014D, 0xF4, 0 },
2970cdf0e10cSrcweir  { 0x0156, 0xAA, 0 },
2971cdf0e10cSrcweir  { 0x0157, 0xBA, 0 },
2972cdf0e10cSrcweir  { 0x015A, 0xDA, 0 },
2973cdf0e10cSrcweir  { 0x015B, 0xFA, 0 },
2974cdf0e10cSrcweir  { 0x0160, 0xD0, 0 },
2975cdf0e10cSrcweir  { 0x0161, 0xF0, 0 },
2976cdf0e10cSrcweir  { 0x016A, 0xDB, 0 },
2977cdf0e10cSrcweir  { 0x016B, 0xFB, 0 },
2978cdf0e10cSrcweir  { 0x0172, 0xD8, 0 },
2979cdf0e10cSrcweir  { 0x0173, 0xF8, 0 },
2980cdf0e10cSrcweir  { 0x0179, 0xCA, 0 },
2981cdf0e10cSrcweir  { 0x017A, 0xEA, 0 },
2982cdf0e10cSrcweir  { 0x017B, 0xDD, 0 },
2983cdf0e10cSrcweir  { 0x017C, 0xFD, 0 },
2984cdf0e10cSrcweir  { 0x017D, 0xDE, 0 },
2985cdf0e10cSrcweir  { 0x017E, 0xFE, 0 },
2986cdf0e10cSrcweir  { 0x2019, 0xFF, 0 },
2987cdf0e10cSrcweir  { 0x201C, 0xB4, 0 },
2988cdf0e10cSrcweir  { 0x201D, 0xA1, 0 },
2989cdf0e10cSrcweir  { 0x201E, 0xA5, 0 }
2990cdf0e10cSrcweir};
2991cdf0e10cSrcweir
2992cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2993cdf0e10cSrcweir
2994cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO885913ByteCvtData =
2995cdf0e10cSrcweir{
2996cdf0e10cSrcweir    aImplISO885913ToUniTab,
2997cdf0e10cSrcweir    aImpl8090SameToUniTab,
2998cdf0e10cSrcweir    ISO885913UNI_START, ISO885913UNI_END,
2999cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
3000cdf0e10cSrcweir    aImpl8090SameToCharTab,
3001cdf0e10cSrcweir    NULL,
3002cdf0e10cSrcweir    aImplISO885913ToCharTabEx,
3003cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
3004cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3005cdf0e10cSrcweir    ISO885913TOCHARTABEX_COUNT
3006cdf0e10cSrcweir};
3007cdf0e10cSrcweir
3008cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3009cdf0e10cSrcweir
3010cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO885913TextEncodingData
3011cdf0e10cSrcweir    = { { &aImplISO885913ByteCvtData,
3012cdf0e10cSrcweir          ImplCharToUnicode,
3013cdf0e10cSrcweir          ImplUnicodeToChar,
3014cdf0e10cSrcweir          NULL,
3015cdf0e10cSrcweir          NULL,
3016cdf0e10cSrcweir          NULL,
3017cdf0e10cSrcweir          NULL,
3018cdf0e10cSrcweir          NULL,
3019cdf0e10cSrcweir          NULL },
3020cdf0e10cSrcweir        1,
3021cdf0e10cSrcweir        1,
3022cdf0e10cSrcweir        1,
3023cdf0e10cSrcweir        238,
3024cdf0e10cSrcweir        "iso8859-13",
3025cdf0e10cSrcweir        "iso-8859-13",
3026cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
3027cdf0e10cSrcweir    /* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
3028cdf0e10cSrcweir
3029cdf0e10cSrcweir/* ======================================================================= */
3030cdf0e10cSrcweir
3031cdf0e10cSrcweir/* APPLE-CentEuro */
3032cdf0e10cSrcweir/* Apple CharSet for Eastern Europa (Polish, Czech, Slovak, Hungarian, Estonian, Latvian, Lithuanian) */
3033cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3034cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3035cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/centeuro.txt from 02/05/98 */
3036cdf0e10cSrcweir/* Last-Changes from us: */
3037cdf0e10cSrcweir
3038cdf0e10cSrcweir#define APPLECENTEUROUNI_START          0x80
3039cdf0e10cSrcweir#define APPLECENTEUROUNI_END            0xFF
3040cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLECENTEUROToUniTab[APPLECENTEUROUNI_END - APPLECENTEUROUNI_START + 1] =
3041cdf0e10cSrcweir{
3042cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3043cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3044cdf0e10cSrcweir    0x00C4, 0x0100, 0x0101, 0x00C9, 0x0104, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
3045cdf0e10cSrcweir    0x0105, 0x010C, 0x00E4, 0x010D, 0x0106, 0x0107, 0x00E9, 0x0179, /* 0x80 */
3046cdf0e10cSrcweir    0x017A, 0x010E, 0x00ED, 0x010F, 0x0112, 0x0113, 0x0116, 0x00F3, /* 0x90 */
3047cdf0e10cSrcweir    0x0117, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x011A, 0x011B, 0x00FC, /* 0x90 */
3048cdf0e10cSrcweir    0x2020, 0x00B0, 0x0118, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
3049cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x0119, 0x00A8, 0x2260, 0x0123, 0x012E, /* 0xA0 */
3050cdf0e10cSrcweir    0x012F, 0x012A, 0x2264, 0x2265, 0x012B, 0x0136, 0x2202, 0x2211, /* 0xB0 */
3051cdf0e10cSrcweir    0x0142, 0x013B, 0x013C, 0x013D, 0x013E, 0x0139, 0x013A, 0x0145, /* 0xB0 */
3052cdf0e10cSrcweir    0x0146, 0x0143, 0x00AC, 0x221A, 0x0144, 0x0147, 0x2206, 0x00AB, /* 0xC0 */
3053cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x0148, 0x0150, 0x00D5, 0x0151, 0x014C, /* 0xC0 */
3054cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
3055cdf0e10cSrcweir    0x014D, 0x0154, 0x0155, 0x0158, 0x2039, 0x203A, 0x0159, 0x0156, /* 0xD0 */
3056cdf0e10cSrcweir    0x0157, 0x0160, 0x201A, 0x201E, 0x0161, 0x015A, 0x015B, 0x00C1, /* 0xE0 */
3057cdf0e10cSrcweir    0x0164, 0x0165, 0x00CD, 0x017D, 0x017E, 0x016A, 0x00D3, 0x00D4, /* 0xE0 */
3058cdf0e10cSrcweir    0x016B, 0x016E, 0x00DA, 0x016F, 0x0170, 0x0171, 0x0172, 0x0173, /* 0xF0 */
3059cdf0e10cSrcweir    0x00DD, 0x00FD, 0x0137, 0x017B, 0x0141, 0x017C, 0x0122, 0x02C7  /* 0xF0 */
3060cdf0e10cSrcweir};
3061cdf0e10cSrcweir
3062cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3063cdf0e10cSrcweir
3064cdf0e10cSrcweir#define APPLECENTEUROTOCHARTABEX_COUNT  128
3065cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLECENTEUROToCharTabEx[APPLECENTEUROTOCHARTABEX_COUNT] =
3066cdf0e10cSrcweir{
3067cdf0e10cSrcweir  { 0x00A0, 0xCA, 0 },
3068cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
3069cdf0e10cSrcweir  { 0x00A7, 0xA4, 0 },
3070cdf0e10cSrcweir  { 0x00A8, 0xAC, 0 },
3071cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
3072cdf0e10cSrcweir  { 0x00AB, 0xC7, 0 },
3073cdf0e10cSrcweir  { 0x00AC, 0xC2, 0 },
3074cdf0e10cSrcweir  { 0x00AE, 0xA8, 0 },
3075cdf0e10cSrcweir  { 0x00B0, 0xA1, 0 },
3076cdf0e10cSrcweir  { 0x00B6, 0xA6, 0 },
3077cdf0e10cSrcweir  { 0x00BB, 0xC8, 0 },
3078cdf0e10cSrcweir  { 0x00C1, 0xE7, 0 },
3079cdf0e10cSrcweir  { 0x00C4, 0x80, 0 },
3080cdf0e10cSrcweir  { 0x00C9, 0x83, 0 },
3081cdf0e10cSrcweir  { 0x00CD, 0xEA, 0 },
3082cdf0e10cSrcweir  { 0x00D3, 0xEE, 0 },
3083cdf0e10cSrcweir  { 0x00D4, 0xEF, 0 },
3084cdf0e10cSrcweir  { 0x00D5, 0xCD, 0 },
3085cdf0e10cSrcweir  { 0x00D6, 0x85, 0 },
3086cdf0e10cSrcweir  { 0x00DA, 0xF2, 0 },
3087cdf0e10cSrcweir  { 0x00DC, 0x86, 0 },
3088cdf0e10cSrcweir  { 0x00DD, 0xF8, 0 },
3089cdf0e10cSrcweir  { 0x00DF, 0xA7, 0 },
3090cdf0e10cSrcweir  { 0x00E1, 0x87, 0 },
3091cdf0e10cSrcweir  { 0x00E4, 0x8A, 0 },
3092cdf0e10cSrcweir  { 0x00E9, 0x8E, 0 },
3093cdf0e10cSrcweir  { 0x00ED, 0x92, 0 },
3094cdf0e10cSrcweir  { 0x00F3, 0x97, 0 },
3095cdf0e10cSrcweir  { 0x00F4, 0x99, 0 },
3096cdf0e10cSrcweir  { 0x00F5, 0x9B, 0 },
3097cdf0e10cSrcweir  { 0x00F6, 0x9A, 0 },
3098cdf0e10cSrcweir  { 0x00F7, 0xD6, 0 },
3099cdf0e10cSrcweir  { 0x00FA, 0x9C, 0 },
3100cdf0e10cSrcweir  { 0x00FC, 0x9F, 0 },
3101cdf0e10cSrcweir  { 0x00FD, 0xF9, 0 },
3102cdf0e10cSrcweir  { 0x0100, 0x81, 0 },
3103cdf0e10cSrcweir  { 0x0101, 0x82, 0 },
3104cdf0e10cSrcweir  { 0x0104, 0x84, 0 },
3105cdf0e10cSrcweir  { 0x0105, 0x88, 0 },
3106cdf0e10cSrcweir  { 0x0106, 0x8C, 0 },
3107cdf0e10cSrcweir  { 0x0107, 0x8D, 0 },
3108cdf0e10cSrcweir  { 0x010C, 0x89, 0 },
3109cdf0e10cSrcweir  { 0x010D, 0x8B, 0 },
3110cdf0e10cSrcweir  { 0x010E, 0x91, 0 },
3111cdf0e10cSrcweir  { 0x010F, 0x93, 0 },
3112cdf0e10cSrcweir  { 0x0112, 0x94, 0 },
3113cdf0e10cSrcweir  { 0x0113, 0x95, 0 },
3114cdf0e10cSrcweir  { 0x0116, 0x96, 0 },
3115cdf0e10cSrcweir  { 0x0117, 0x98, 0 },
3116cdf0e10cSrcweir  { 0x0118, 0xA2, 0 },
3117cdf0e10cSrcweir  { 0x0119, 0xAB, 0 },
3118cdf0e10cSrcweir  { 0x011A, 0x9D, 0 },
3119cdf0e10cSrcweir  { 0x011B, 0x9E, 0 },
3120cdf0e10cSrcweir  { 0x0122, 0xFE, 0 },
3121cdf0e10cSrcweir  { 0x0123, 0xAE, 0 },
3122cdf0e10cSrcweir  { 0x012A, 0xB1, 0 },
3123cdf0e10cSrcweir  { 0x012B, 0xB4, 0 },
3124cdf0e10cSrcweir  { 0x012E, 0xAF, 0 },
3125cdf0e10cSrcweir  { 0x012F, 0xB0, 0 },
3126cdf0e10cSrcweir  { 0x0136, 0xB5, 0 },
3127cdf0e10cSrcweir  { 0x0137, 0xFA, 0 },
3128cdf0e10cSrcweir  { 0x0139, 0xBD, 0 },
3129cdf0e10cSrcweir  { 0x013A, 0xBE, 0 },
3130cdf0e10cSrcweir  { 0x013B, 0xB9, 0 },
3131cdf0e10cSrcweir  { 0x013C, 0xBA, 0 },
3132cdf0e10cSrcweir  { 0x013D, 0xBB, 0 },
3133cdf0e10cSrcweir  { 0x013E, 0xBC, 0 },
3134cdf0e10cSrcweir  { 0x0141, 0xFC, 0 },
3135cdf0e10cSrcweir  { 0x0142, 0xB8, 0 },
3136cdf0e10cSrcweir  { 0x0143, 0xC1, 0 },
3137cdf0e10cSrcweir  { 0x0144, 0xC4, 0 },
3138cdf0e10cSrcweir  { 0x0145, 0xBF, 0 },
3139cdf0e10cSrcweir  { 0x0146, 0xC0, 0 },
3140cdf0e10cSrcweir  { 0x0147, 0xC5, 0 },
3141cdf0e10cSrcweir  { 0x0148, 0xCB, 0 },
3142cdf0e10cSrcweir  { 0x014C, 0xCF, 0 },
3143cdf0e10cSrcweir  { 0x014D, 0xD8, 0 },
3144cdf0e10cSrcweir  { 0x0150, 0xCC, 0 },
3145cdf0e10cSrcweir  { 0x0151, 0xCE, 0 },
3146cdf0e10cSrcweir  { 0x0154, 0xD9, 0 },
3147cdf0e10cSrcweir  { 0x0155, 0xDA, 0 },
3148cdf0e10cSrcweir  { 0x0156, 0xDF, 0 },
3149cdf0e10cSrcweir  { 0x0157, 0xE0, 0 },
3150cdf0e10cSrcweir  { 0x0158, 0xDB, 0 },
3151cdf0e10cSrcweir  { 0x0159, 0xDE, 0 },
3152cdf0e10cSrcweir  { 0x015A, 0xE5, 0 },
3153cdf0e10cSrcweir  { 0x015B, 0xE6, 0 },
3154cdf0e10cSrcweir  { 0x0160, 0xE1, 0 },
3155cdf0e10cSrcweir  { 0x0161, 0xE4, 0 },
3156cdf0e10cSrcweir  { 0x0164, 0xE8, 0 },
3157cdf0e10cSrcweir  { 0x0165, 0xE9, 0 },
3158cdf0e10cSrcweir  { 0x016A, 0xED, 0 },
3159cdf0e10cSrcweir  { 0x016B, 0xF0, 0 },
3160cdf0e10cSrcweir  { 0x016E, 0xF1, 0 },
3161cdf0e10cSrcweir  { 0x016F, 0xF3, 0 },
3162cdf0e10cSrcweir  { 0x0170, 0xF4, 0 },
3163cdf0e10cSrcweir  { 0x0171, 0xF5, 0 },
3164cdf0e10cSrcweir  { 0x0172, 0xF6, 0 },
3165cdf0e10cSrcweir  { 0x0173, 0xF7, 0 },
3166cdf0e10cSrcweir  { 0x0179, 0x8F, 0 },
3167cdf0e10cSrcweir  { 0x017A, 0x90, 0 },
3168cdf0e10cSrcweir  { 0x017B, 0xFB, 0 },
3169cdf0e10cSrcweir  { 0x017C, 0xFD, 0 },
3170cdf0e10cSrcweir  { 0x017D, 0xEB, 0 },
3171cdf0e10cSrcweir  { 0x017E, 0xEC, 0 },
3172cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
3173cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
3174cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
3175cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3176cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3177cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
3178cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3179cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3180cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
3181cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3182cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
3183cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3184cdf0e10cSrcweir  { 0x2039, 0xDC, 0 },
3185cdf0e10cSrcweir  { 0x203A, 0xDD, 0 },
3186cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
3187cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
3188cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
3189cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
3190cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
3191cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3192cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3193cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
3194cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 }
3195cdf0e10cSrcweir};
3196cdf0e10cSrcweir
3197cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3198cdf0e10cSrcweir
3199cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLECENTEUROByteCvtData =
3200cdf0e10cSrcweir{
3201cdf0e10cSrcweir    aImplAPPLECENTEUROToUniTab,
3202cdf0e10cSrcweir    NULL,
3203cdf0e10cSrcweir    APPLECENTEUROUNI_START, APPLECENTEUROUNI_END,
3204cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3205cdf0e10cSrcweir    NULL,
3206cdf0e10cSrcweir    NULL,
3207cdf0e10cSrcweir    aImplAPPLECENTEUROToCharTabEx,
3208cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3209cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3210cdf0e10cSrcweir    APPLECENTEUROTOCHARTABEX_COUNT
3211cdf0e10cSrcweir};
3212cdf0e10cSrcweir
3213cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3214cdf0e10cSrcweir
3215cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLECENTEUROTextEncodingData
3216cdf0e10cSrcweir    = { { &aImplAPPLECENTEUROByteCvtData,
3217cdf0e10cSrcweir          ImplCharToUnicode,
3218cdf0e10cSrcweir          ImplUnicodeToChar,
3219cdf0e10cSrcweir          NULL,
3220cdf0e10cSrcweir          NULL,
3221cdf0e10cSrcweir          NULL,
3222cdf0e10cSrcweir          NULL,
3223cdf0e10cSrcweir          NULL,
3224cdf0e10cSrcweir          NULL },
3225cdf0e10cSrcweir        1,
3226cdf0e10cSrcweir        1,
3227cdf0e10cSrcweir        1,
3228cdf0e10cSrcweir        238,
3229cdf0e10cSrcweir        "iso8859-2",
3230cdf0e10cSrcweir        "iso-8859-2",
3231cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3232cdf0e10cSrcweir    /* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
3233cdf0e10cSrcweir
3234cdf0e10cSrcweir/* ======================================================================= */
3235cdf0e10cSrcweir
3236cdf0e10cSrcweir/* APPLE-Croatian */
3237cdf0e10cSrcweir/* Standard Apple CharSet for Croatian */
3238cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3239cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3240cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/croatien.txt from 02/05/98 */
3241cdf0e10cSrcweir/* Last-Changes from us: */
3242cdf0e10cSrcweir
3243cdf0e10cSrcweir#define APPLECROATIANUNI_START          0x80
3244cdf0e10cSrcweir#define APPLECROATIANUNI_END            0xFF
3245cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLECROATIANToUniTab[APPLECROATIANUNI_END - APPLECROATIANUNI_START + 1] =
3246cdf0e10cSrcweir{
3247cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3248cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3249cdf0e10cSrcweir    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
3250cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
3251cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
3252cdf0e10cSrcweir    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
3253cdf0e10cSrcweir    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
3254cdf0e10cSrcweir    0x00AE, 0x0160, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x017D, 0x00D8, /* 0xA0 */
3255cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x2206, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
3256cdf0e10cSrcweir    0x220F, 0x0161, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x017E, 0x00F8, /* 0xB0 */
3257cdf0e10cSrcweir    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x0106, 0x00AB, /* 0xC0 */
3258cdf0e10cSrcweir    0x010C, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
3259cdf0e10cSrcweir    0x0110, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
3260cdf0e10cSrcweir    0xF8FF, 0x00A9, 0x2044, 0x00A4, 0x2039, 0x203A, 0x00C6, 0x00BB, /* 0xD0 */
3261cdf0e10cSrcweir    0x2013, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x0107, 0x00C1, /* 0xE0 */
3262cdf0e10cSrcweir    0x010D, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
3263cdf0e10cSrcweir    0x0111, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
3264cdf0e10cSrcweir    0x00AF, 0x03C0, 0x00CB, 0x02DA, 0x00B8, 0x00CA, 0x00E6, 0x02C7  /* 0xF0 */
3265cdf0e10cSrcweir};
3266cdf0e10cSrcweir
3267cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3268cdf0e10cSrcweir
3269cdf0e10cSrcweir#define APPLECROATIANCHAR_START         0x00A0
3270cdf0e10cSrcweir#define APPLECROATIANCHAR_END           0x00FC
3271cdf0e10cSrcweirstatic sal_uChar const aImplAPPLECROATIANToCharTab[APPLECROATIANCHAR_END - APPLECROATIANCHAR_START + 1] =
3272cdf0e10cSrcweir{
3273cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
3274cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
3275cdf0e10cSrcweir    0xCA, 0xC1, 0xA2, 0xA3, 0xDB,    0,    0, 0xA4, /* 0x00A0 */
3276cdf0e10cSrcweir    0xAC, 0xD9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
3277cdf0e10cSrcweir    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
3278cdf0e10cSrcweir    0xFC,    0, 0xBC, 0xDF,    0,    0,    0, 0xC0, /* 0x00B0 */
3279cdf0e10cSrcweir    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xDE, 0x82, /* 0x00C0 */
3280cdf0e10cSrcweir    0xE9, 0x83, 0xFD, 0xFA, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
3281cdf0e10cSrcweir       0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
3282cdf0e10cSrcweir    0xAF, 0xF4, 0xF2, 0xF3, 0x86,    0,    0, 0xA7, /* 0x00D0 */
3283cdf0e10cSrcweir    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xFE, 0x8D, /* 0x00E0 */
3284cdf0e10cSrcweir    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
3285cdf0e10cSrcweir       0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
3286cdf0e10cSrcweir    0xBF, 0x9D, 0x9C, 0x9E, 0x9F                    /* 0x00F0 */
3287cdf0e10cSrcweir};
3288cdf0e10cSrcweir
3289cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3290cdf0e10cSrcweir
3291cdf0e10cSrcweir#define APPLECROATIANTOCHARTABEX_COUNT  49
3292cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLECROATIANToCharTabEx[APPLECROATIANTOCHARTABEX_COUNT] =
3293cdf0e10cSrcweir{
3294cdf0e10cSrcweir  { 0x0106, 0xC6, 0 },
3295cdf0e10cSrcweir  { 0x0107, 0xE6, 0 },
3296cdf0e10cSrcweir  { 0x010C, 0xC8, 0 },
3297cdf0e10cSrcweir  { 0x010D, 0xE8, 0 },
3298cdf0e10cSrcweir  { 0x0110, 0xD0, 0 },
3299cdf0e10cSrcweir  { 0x0111, 0xF0, 0 },
3300cdf0e10cSrcweir  { 0x0131, 0xF5, 0 },
3301cdf0e10cSrcweir  { 0x0152, 0xCE, 0 },
3302cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
3303cdf0e10cSrcweir  { 0x0160, 0xA9, 0 },
3304cdf0e10cSrcweir  { 0x0161, 0xB9, 0 },
3305cdf0e10cSrcweir  { 0x017D, 0xAE, 0 },
3306cdf0e10cSrcweir  { 0x017E, 0xBE, 0 },
3307cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
3308cdf0e10cSrcweir  { 0x02C6, 0xF6, 0 },
3309cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
3310cdf0e10cSrcweir  { 0x02DA, 0xFB, 0 },
3311cdf0e10cSrcweir  { 0x02DC, 0xF7, 0 },
3312cdf0e10cSrcweir  { 0x03A9, 0xBD, 0 },
3313cdf0e10cSrcweir  { 0x03C0, 0xF9, 0 },
3314cdf0e10cSrcweir  { 0x2013, 0xE0, 0 },
3315cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
3316cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3317cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3318cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
3319cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3320cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3321cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
3322cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3323cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
3324cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3325cdf0e10cSrcweir  { 0x2030, 0xE4, 0 },
3326cdf0e10cSrcweir  { 0x2039, 0xDC, 0 },
3327cdf0e10cSrcweir  { 0x203A, 0xDD, 0 },
3328cdf0e10cSrcweir  { 0x2044, 0xDA, 0 },
3329cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
3330cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
3331cdf0e10cSrcweir  { 0x2206, 0xB4, 0 },
3332cdf0e10cSrcweir  { 0x220F, 0xB8, 0 },
3333cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
3334cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
3335cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
3336cdf0e10cSrcweir  { 0x222B, 0xBA, 0 },
3337cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
3338cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3339cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3340cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
3341cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 },
3342cdf0e10cSrcweir  { 0xF8FF, 0xD8, 0 }
3343cdf0e10cSrcweir};
3344cdf0e10cSrcweir
3345cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3346cdf0e10cSrcweir
3347cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLECROATIANByteCvtData =
3348cdf0e10cSrcweir{
3349cdf0e10cSrcweir    aImplAPPLECROATIANToUniTab,
3350cdf0e10cSrcweir    NULL,
3351cdf0e10cSrcweir    APPLECROATIANUNI_START, APPLECROATIANUNI_END,
3352cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3353cdf0e10cSrcweir    aImplAPPLECROATIANToCharTab,
3354cdf0e10cSrcweir    NULL,
3355cdf0e10cSrcweir    aImplAPPLECROATIANToCharTabEx,
3356cdf0e10cSrcweir    APPLECROATIANCHAR_START, APPLECROATIANCHAR_END,
3357cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3358cdf0e10cSrcweir    APPLECROATIANTOCHARTABEX_COUNT
3359cdf0e10cSrcweir};
3360cdf0e10cSrcweir
3361cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3362cdf0e10cSrcweir
3363cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLECROATIANTextEncodingData
3364cdf0e10cSrcweir    = { { &aImplAPPLECROATIANByteCvtData,
3365cdf0e10cSrcweir          ImplCharToUnicode,
3366cdf0e10cSrcweir          ImplUnicodeToChar,
3367cdf0e10cSrcweir          NULL,
3368cdf0e10cSrcweir          NULL,
3369cdf0e10cSrcweir          NULL,
3370cdf0e10cSrcweir          NULL,
3371cdf0e10cSrcweir          NULL,
3372cdf0e10cSrcweir          NULL },
3373cdf0e10cSrcweir        1,
3374cdf0e10cSrcweir        1,
3375cdf0e10cSrcweir        1,
3376cdf0e10cSrcweir        238,
3377cdf0e10cSrcweir        "iso8859-2",
3378cdf0e10cSrcweir        "iso-8859-2",
3379cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3380cdf0e10cSrcweir    /* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 36 */
3381cdf0e10cSrcweir
3382cdf0e10cSrcweir/* ======================================================================= */
3383cdf0e10cSrcweir
3384cdf0e10cSrcweir/* APPLE-Cyrillic */
3385cdf0e10cSrcweir/* Apple CharSet for Cyrillic */
3386cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3387cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3388cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/cyrillic.txt from 02/15/98 */
3389cdf0e10cSrcweir/* Last-Changes from us: */
3390cdf0e10cSrcweir
3391cdf0e10cSrcweir#define APPLECYRILLICUNI_START          0x80
3392cdf0e10cSrcweir#define APPLECYRILLICUNI_END            0xFF
3393cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLECYRILLICToUniTab[APPLECYRILLICUNI_END - APPLECYRILLICUNI_START + 1] =
3394cdf0e10cSrcweir{
3395cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3396cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3397cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
3398cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
3399cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
3400cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
3401cdf0e10cSrcweir    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, /* 0xA0 */
3402cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, /* 0xA0 */
3403cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x2202, 0x0408, /* 0xB0 */
3404cdf0e10cSrcweir    0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, /* 0xB0 */
3405cdf0e10cSrcweir    0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
3406cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, /* 0xC0 */
3407cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, /* 0xD0 */
3408cdf0e10cSrcweir    0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, /* 0xD0 */
3409cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
3410cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
3411cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
3412cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x00A4  /* 0xF0 */
3413cdf0e10cSrcweir};
3414cdf0e10cSrcweir
3415cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3416cdf0e10cSrcweir
3417cdf0e10cSrcweir#define APPLECYRILLICCHAR_START         0x0401
3418cdf0e10cSrcweir#define APPLECYRILLICCHAR_END           0x045F
3419cdf0e10cSrcweirstatic sal_uChar const aImplAPPLECYRILLICToCharTab[APPLECYRILLICCHAR_END - APPLECYRILLICCHAR_START + 1] =
3420cdf0e10cSrcweir{
3421cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
3422cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
3423cdf0e10cSrcweir          0xDD, 0xAB, 0xAE, 0xB8, 0xC1, 0xA7, 0xBA, /* 0x0400 */
3424cdf0e10cSrcweir    0xB7, 0xBC, 0xBE, 0xCB, 0xCD,    0, 0xD8, 0xDA, /* 0x0400 */
3425cdf0e10cSrcweir    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
3426cdf0e10cSrcweir    0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
3427cdf0e10cSrcweir    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
3428cdf0e10cSrcweir    0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
3429cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
3430cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
3431cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
3432cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF, /* 0x0440 */
3433cdf0e10cSrcweir       0, 0xDE, 0xAC, 0xAF, 0xB9, 0xCF, 0xB4, 0xBB, /* 0x0450 */
3434cdf0e10cSrcweir    0xC0, 0xBD, 0xBF, 0xCC, 0xCE,    0, 0xD9, 0xDB, /* 0x0450 */
3435cdf0e10cSrcweir};
3436cdf0e10cSrcweir
3437cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3438cdf0e10cSrcweir
3439cdf0e10cSrcweir#define APPLECYRILLICTOCHARTABEX_COUNT  36
3440cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLECYRILLICToCharTabEx[APPLECYRILLICTOCHARTABEX_COUNT] =
3441cdf0e10cSrcweir{
3442cdf0e10cSrcweir  { 0x00A0, 0xCA, 0 },
3443cdf0e10cSrcweir  { 0x00A2, 0xA2, 0 },
3444cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
3445cdf0e10cSrcweir  { 0x00A4, 0xFF, 0 },
3446cdf0e10cSrcweir  { 0x00A7, 0xA4, 0 },
3447cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
3448cdf0e10cSrcweir  { 0x00AB, 0xC7, 0 },
3449cdf0e10cSrcweir  { 0x00AC, 0xC2, 0 },
3450cdf0e10cSrcweir  { 0x00AE, 0xA8, 0 },
3451cdf0e10cSrcweir  { 0x00B0, 0xA1, 0 },
3452cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
3453cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
3454cdf0e10cSrcweir  { 0x00B6, 0xA6, 0 },
3455cdf0e10cSrcweir  { 0x00BB, 0xC8, 0 },
3456cdf0e10cSrcweir  { 0x00F7, 0xD6, 0 },
3457cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
3458cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
3459cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
3460cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3461cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3462cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3463cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3464cdf0e10cSrcweir  { 0x201E, 0xD7, 0 },
3465cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3466cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
3467cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3468cdf0e10cSrcweir  { 0x2116, 0xDC, 0 },
3469cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
3470cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
3471cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
3472cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
3473cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
3474cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
3475cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3476cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3477cdf0e10cSrcweir  { 0x2265, 0xB3, 0 }
3478cdf0e10cSrcweir};
3479cdf0e10cSrcweir
3480cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3481cdf0e10cSrcweir
3482cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLECYRILLICByteCvtData =
3483cdf0e10cSrcweir{
3484cdf0e10cSrcweir    aImplAPPLECYRILLICToUniTab,
3485cdf0e10cSrcweir    NULL,
3486cdf0e10cSrcweir    APPLECYRILLICUNI_START, APPLECYRILLICUNI_END,
3487cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3488cdf0e10cSrcweir    aImplAPPLECYRILLICToCharTab,
3489cdf0e10cSrcweir    NULL,
3490cdf0e10cSrcweir    aImplAPPLECYRILLICToCharTabEx,
3491cdf0e10cSrcweir    APPLECYRILLICCHAR_START, APPLECYRILLICCHAR_END,
3492cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3493cdf0e10cSrcweir    APPLECYRILLICTOCHARTABEX_COUNT
3494cdf0e10cSrcweir};
3495cdf0e10cSrcweir
3496cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3497cdf0e10cSrcweir
3498cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLECYRILLICTextEncodingData
3499cdf0e10cSrcweir    = { { &aImplAPPLECYRILLICByteCvtData,
3500cdf0e10cSrcweir          ImplCharToUnicode,
3501cdf0e10cSrcweir          ImplUnicodeToChar,
3502cdf0e10cSrcweir          NULL,
3503cdf0e10cSrcweir          NULL,
3504cdf0e10cSrcweir          NULL,
3505cdf0e10cSrcweir          NULL,
3506cdf0e10cSrcweir          NULL,
3507cdf0e10cSrcweir          NULL },
3508cdf0e10cSrcweir        1,
3509cdf0e10cSrcweir        1,
3510cdf0e10cSrcweir        1,
3511cdf0e10cSrcweir        204,
3512cdf0e10cSrcweir        "iso8859-5",
3513cdf0e10cSrcweir        "iso-8859-5",
3514cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3515cdf0e10cSrcweir    /* MAC, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
3516cdf0e10cSrcweir
3517cdf0e10cSrcweir/* ======================================================================= */
3518cdf0e10cSrcweir
3519cdf0e10cSrcweir/* APPLE-Greek */
3520cdf0e10cSrcweir/* Apple CharSet for Greek */
3521cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3522cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3523cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
3524cdf0e10cSrcweir/* Last-Changes from us: */
3525cdf0e10cSrcweir
3526cdf0e10cSrcweir#define APPLEGREEKUNI_START             0x80
3527cdf0e10cSrcweir#define APPLEGREEKUNI_END               0xFF
3528cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLEGREEKToUniTab[APPLEGREEKUNI_END - APPLEGREEKUNI_START + 1] =
3529cdf0e10cSrcweir{
3530cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3531cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3532cdf0e10cSrcweir    0x00C4, 0x00B9, 0x00B2, 0x00C9, 0x00B3, 0x00D6, 0x00DC, 0x0385, /* 0x80 */
3533cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x0384, 0x00A8, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
3534cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00A3, 0x2122, 0x00EE, 0x00EF, 0x2022, 0x00BD, /* 0x90 */
3535cdf0e10cSrcweir    0x2030, 0x00F4, 0x00F6, 0x00A6, 0x00AD, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
3536cdf0e10cSrcweir    0x2020, 0x0393, 0x0394, 0x0398, 0x039B, 0x039E, 0x03A0, 0x00DF, /* 0xA0 */
3537cdf0e10cSrcweir    0x00AE, 0x00A9, 0x03A3, 0x03AA, 0x00A7, 0x2260, 0x00B0, 0x00B7, /* 0xA0 */
3538cdf0e10cSrcweir    0x0391, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x0392, 0x0395, 0x0396, /* 0xB0 */
3539cdf0e10cSrcweir    0x0397, 0x0399, 0x039A, 0x039C, 0x03A6, 0x03AB, 0x03A8, 0x03A9, /* 0xB0 */
3540cdf0e10cSrcweir    0x03AC, 0x039D, 0x00AC, 0x039F, 0x03A1, 0x2248, 0x03A4, 0x00AB, /* 0xC0 */
3541cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x03A5, 0x03A7, 0x0386, 0x0388, 0x0153, /* 0xC0 */
3542cdf0e10cSrcweir    0x2013, 0x2015, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x0389, /* 0xD0 */
3543cdf0e10cSrcweir    0x038A, 0x038C, 0x038E, 0x03AD, 0x03AE, 0x03AF, 0x03CC, 0x038F, /* 0xD0 */
3544cdf0e10cSrcweir    0x03CD, 0x03B1, 0x03B2, 0x03C8, 0x03B4, 0x03B5, 0x03C6, 0x03B3, /* 0xE0 */
3545cdf0e10cSrcweir    0x03B7, 0x03B9, 0x03BE, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BF, /* 0xE0 */
3546cdf0e10cSrcweir    0x03C0, 0x03CE, 0x03C1, 0x03C3, 0x03C4, 0x03B8, 0x03C9, 0x03C2, /* 0xF0 */
3547cdf0e10cSrcweir    0x03C7, 0x03C5, 0x03B6, 0x03CA, 0x03CB, 0x0390, 0x03B0, 0xF8A0  /* 0xF0 */
3548cdf0e10cSrcweir};
3549cdf0e10cSrcweir
3550cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3551cdf0e10cSrcweir
3552cdf0e10cSrcweir#define APPLEGREEKCHAR_START            0x0384
3553cdf0e10cSrcweir#define APPLEGREEKCHAR_END              0x03CE
3554cdf0e10cSrcweirstatic sal_uChar const aImplAPPLEGREEKToCharTab[APPLEGREEKCHAR_END - APPLEGREEKCHAR_START + 1] =
3555cdf0e10cSrcweir{
3556cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
3557cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
3558cdf0e10cSrcweir                            0x8B, 0x87, 0xCD,    0, /* 0x0380 */
3559cdf0e10cSrcweir    0xCE, 0xD7, 0xD8,    0, 0xD9,    0, 0xDA, 0xDF, /* 0x0380 */
3560cdf0e10cSrcweir    0xFD, 0xB0, 0xB5, 0xA1, 0xA2, 0xB6, 0xB7, 0xB8, /* 0x0390 */
3561cdf0e10cSrcweir    0xA3, 0xB9, 0xBA, 0xA4, 0xBB, 0xC1, 0xA5, 0xC3, /* 0x0390 */
3562cdf0e10cSrcweir    0xA6, 0xC4,    0, 0xAA, 0xC6, 0xCB, 0xBC, 0xCC, /* 0x03A0 */
3563cdf0e10cSrcweir    0xBE, 0xBF, 0xAB, 0xBD, 0xC0, 0xDB, 0xDC, 0xDD, /* 0x03A0 */
3564cdf0e10cSrcweir    0xFE, 0xE1, 0xE2, 0xE7, 0xE4, 0xE5, 0xFA, 0xE8, /* 0x03B0 */
3565cdf0e10cSrcweir    0xF5, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEA, 0xEF, /* 0x03B0 */
3566cdf0e10cSrcweir    0xF0, 0xF2, 0xF7, 0xF3, 0xF4, 0xF9, 0xE6, 0xF8, /* 0x03C0 */
3567cdf0e10cSrcweir    0xE3, 0xF6, 0xFB, 0xFC, 0xDE, 0xE0, 0xF1        /* 0x03C0 */
3568cdf0e10cSrcweir};
3569cdf0e10cSrcweir
3570cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3571cdf0e10cSrcweir
3572cdf0e10cSrcweir#define APPLEGREEKTOCHARTABEX_COUNT     57
3573cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLEGREEKToCharTabEx[APPLEGREEKTOCHARTABEX_COUNT] =
3574cdf0e10cSrcweir{
3575cdf0e10cSrcweir  { 0x00A0, 0xCA, 0 },
3576cdf0e10cSrcweir  { 0x00A3, 0x92, 0 },
3577cdf0e10cSrcweir  { 0x00A5, 0xB4, 0 },
3578cdf0e10cSrcweir  { 0x00A6, 0x9B, 0 },
3579cdf0e10cSrcweir  { 0x00A7, 0xAC, 0 },
3580cdf0e10cSrcweir  { 0x00A8, 0x8C, 0 },
3581cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
3582cdf0e10cSrcweir  { 0x00AB, 0xC7, 0 },
3583cdf0e10cSrcweir  { 0x00AC, 0xC2, 0 },
3584cdf0e10cSrcweir  { 0x00AD, 0x9C, 0 },
3585cdf0e10cSrcweir  { 0x00AE, 0xA8, 0 },
3586cdf0e10cSrcweir  { 0x00B0, 0xAE, 0 },
3587cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
3588cdf0e10cSrcweir  { 0x00B2, 0x82, 0 },
3589cdf0e10cSrcweir  { 0x00B3, 0x84, 0 },
3590cdf0e10cSrcweir  { 0x00B7, 0xAF, 0 },
3591cdf0e10cSrcweir  { 0x00B9, 0x81, 0 },
3592cdf0e10cSrcweir  { 0x00BB, 0xC8, 0 },
3593cdf0e10cSrcweir  { 0x00BD, 0x97, 0 },
3594cdf0e10cSrcweir  { 0x00C4, 0x80, 0 },
3595cdf0e10cSrcweir  { 0x00C9, 0x83, 0 },
3596cdf0e10cSrcweir  { 0x00D6, 0x85, 0 },
3597cdf0e10cSrcweir  { 0x00DC, 0x86, 0 },
3598cdf0e10cSrcweir  { 0x00DF, 0xA7, 0 },
3599cdf0e10cSrcweir  { 0x00E0, 0x88, 0 },
3600cdf0e10cSrcweir  { 0x00E2, 0x89, 0 },
3601cdf0e10cSrcweir  { 0x00E4, 0x8A, 0 },
3602cdf0e10cSrcweir  { 0x00E7, 0x8D, 0 },
3603cdf0e10cSrcweir  { 0x00E8, 0x8F, 0 },
3604cdf0e10cSrcweir  { 0x00E9, 0x8E, 0 },
3605cdf0e10cSrcweir  { 0x00EA, 0x90, 0 },
3606cdf0e10cSrcweir  { 0x00EB, 0x91, 0 },
3607cdf0e10cSrcweir  { 0x00EE, 0x94, 0 },
3608cdf0e10cSrcweir  { 0x00EF, 0x95, 0 },
3609cdf0e10cSrcweir  { 0x00F4, 0x99, 0 },
3610cdf0e10cSrcweir  { 0x00F6, 0x9A, 0 },
3611cdf0e10cSrcweir  { 0x00F7, 0xD6, 0 },
3612cdf0e10cSrcweir  { 0x00F9, 0x9D, 0 },
3613cdf0e10cSrcweir  { 0x00FB, 0x9E, 0 },
3614cdf0e10cSrcweir  { 0x00FC, 0x9F, 0 },
3615cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
3616cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
3617cdf0e10cSrcweir  { 0x2015, 0xD1, 0 },
3618cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3619cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3620cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3621cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3622cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3623cdf0e10cSrcweir  { 0x2022, 0x96, 0 },
3624cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3625cdf0e10cSrcweir  { 0x2030, 0x98, 0 },
3626cdf0e10cSrcweir  { 0x2122, 0x93, 0 },
3627cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
3628cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3629cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3630cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
3631cdf0e10cSrcweir  { 0xF8A0, 0xFF, 0 }
3632cdf0e10cSrcweir};
3633cdf0e10cSrcweir
3634cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3635cdf0e10cSrcweir
3636cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLEGREEKByteCvtData =
3637cdf0e10cSrcweir{
3638cdf0e10cSrcweir    aImplAPPLEGREEKToUniTab,
3639cdf0e10cSrcweir    NULL,
3640cdf0e10cSrcweir    APPLEGREEKUNI_START, APPLEGREEKUNI_END,
3641cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3642cdf0e10cSrcweir    aImplAPPLEGREEKToCharTab,
3643cdf0e10cSrcweir    NULL,
3644cdf0e10cSrcweir    aImplAPPLEGREEKToCharTabEx,
3645cdf0e10cSrcweir    APPLEGREEKCHAR_START, APPLEGREEKCHAR_END,
3646cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3647cdf0e10cSrcweir    APPLEGREEKTOCHARTABEX_COUNT
3648cdf0e10cSrcweir};
3649cdf0e10cSrcweir
3650cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3651cdf0e10cSrcweir
3652cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEGREEKTextEncodingData
3653cdf0e10cSrcweir    = { { &aImplAPPLEGREEKByteCvtData,
3654cdf0e10cSrcweir          ImplCharToUnicode,
3655cdf0e10cSrcweir          ImplUnicodeToChar,
3656cdf0e10cSrcweir          NULL,
3657cdf0e10cSrcweir          NULL,
3658cdf0e10cSrcweir          NULL,
3659cdf0e10cSrcweir          NULL,
3660cdf0e10cSrcweir          NULL,
3661cdf0e10cSrcweir          NULL },
3662cdf0e10cSrcweir        1,
3663cdf0e10cSrcweir        1,
3664cdf0e10cSrcweir        1,
3665cdf0e10cSrcweir        161,
3666cdf0e10cSrcweir        "iso8859-7",
3667cdf0e10cSrcweir        "iso-8859-7",
3668cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3669cdf0e10cSrcweir    /* MAC, SCRIPT_GREEK, pc code page 869, mac encoding 6 */
3670cdf0e10cSrcweir
3671cdf0e10cSrcweir/* ======================================================================= */
3672cdf0e10cSrcweir
3673cdf0e10cSrcweir/* APPLE-Romanian */
3674cdf0e10cSrcweir/* Standard Apple CharSet for Romanien */
3675cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3676cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3677cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/romanian.txt from 02/05/98 */
3678cdf0e10cSrcweir/* Last-Changes from us: */
3679cdf0e10cSrcweir/* 0xAF --> 0x015E (like Java), Apple Definition: 0x0053+0x0326   # LATIN CAPITAL LETTER S + COMBINING COMMA BELOW */
3680cdf0e10cSrcweir/* 0xBF --> 0x015F (like Java), Apple Definition: 0x0073+0x0326   # LATIN SMALL LETTER S + COMBINING COMMA BELOW */
3681cdf0e10cSrcweir/* 0xDE --> 0x0162 (like Java), Apple Definition: 0x0054+0x0326   # LATIN CAPITAL LETTER T + COMBINING COMMA BELOW */
3682cdf0e10cSrcweir/* 0xDF --> 0x0163 (like Java), Apple Definition: 0x0074+0x0326   # LATIN SMALL LETTER T + COMBINING COMMA BELOW */
3683cdf0e10cSrcweir
3684cdf0e10cSrcweir#define APPLEROMANIANUNI_START          0x80
3685cdf0e10cSrcweir#define APPLEROMANIANUNI_END            0xFF
3686cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLEROMANIANToUniTab[APPLEROMANIANUNI_END - APPLEROMANIANUNI_START + 1] =
3687cdf0e10cSrcweir{
3688cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3689cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3690cdf0e10cSrcweir    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
3691cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
3692cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
3693cdf0e10cSrcweir    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
3694cdf0e10cSrcweir    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
3695cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x0102, 0x015E, /* 0xA0 */
3696cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
3697cdf0e10cSrcweir    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x0103, 0x015F, /* 0xB0 */
3698cdf0e10cSrcweir    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
3699cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
3700cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
3701cdf0e10cSrcweir    0x00FF, 0x0178, 0x2044, 0x00A4, 0x2039, 0x203A, 0x0162, 0x0163, /* 0xD0 */
3702cdf0e10cSrcweir    0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
3703cdf0e10cSrcweir    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
3704cdf0e10cSrcweir    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
3705cdf0e10cSrcweir    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
3706cdf0e10cSrcweir};
3707cdf0e10cSrcweir
3708cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3709cdf0e10cSrcweir
3710cdf0e10cSrcweir#define APPLEROMANIANCHAR_START         0x00A0
3711cdf0e10cSrcweir#define APPLEROMANIANCHAR_END           0x00FF
3712cdf0e10cSrcweirstatic sal_uChar const aImplAPPLEROMANIANToCharTab[APPLEROMANIANCHAR_END - APPLEROMANIANCHAR_START + 1] =
3713cdf0e10cSrcweir{
3714cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
3715cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
3716cdf0e10cSrcweir    0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4,    0, 0xA4, /* 0x00A0 */
3717cdf0e10cSrcweir    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
3718cdf0e10cSrcweir    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
3719cdf0e10cSrcweir    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
3720cdf0e10cSrcweir    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81,    0, 0x82, /* 0x00C0 */
3721cdf0e10cSrcweir    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
3722cdf0e10cSrcweir       0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
3723cdf0e10cSrcweir       0, 0xF4, 0xF2, 0xF3, 0x86,    0,    0, 0xA7, /* 0x00D0 */
3724cdf0e10cSrcweir    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C,    0, 0x8D, /* 0x00E0 */
3725cdf0e10cSrcweir    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
3726cdf0e10cSrcweir       0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
3727cdf0e10cSrcweir       0, 0x9D, 0x9C, 0x9E, 0x9F,    0,    0, 0xD8  /* 0x00F0 */
3728cdf0e10cSrcweir};
3729cdf0e10cSrcweir
3730cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3731cdf0e10cSrcweir
3732cdf0e10cSrcweir#define APPLEROMANIANTOCHARTABEX_COUNT  51
3733cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLEROMANIANToCharTabEx[APPLEROMANIANTOCHARTABEX_COUNT] =
3734cdf0e10cSrcweir{
3735cdf0e10cSrcweir  { 0x0102, 0xAE, 0 },
3736cdf0e10cSrcweir  { 0x0103, 0xBE, 0 },
3737cdf0e10cSrcweir  { 0x0131, 0xF5, 0 },
3738cdf0e10cSrcweir  { 0x0152, 0xCE, 0 },
3739cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
3740cdf0e10cSrcweir  { 0x015E, 0xAF, 0 },
3741cdf0e10cSrcweir  { 0x015F, 0xBF, 0 },
3742cdf0e10cSrcweir  { 0x0162, 0xDE, 0 },
3743cdf0e10cSrcweir  { 0x0163, 0xDF, 0 },
3744cdf0e10cSrcweir  { 0x0178, 0xD9, 0 },
3745cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
3746cdf0e10cSrcweir  { 0x02C6, 0xF6, 0 },
3747cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
3748cdf0e10cSrcweir  { 0x02D8, 0xF9, 0 },
3749cdf0e10cSrcweir  { 0x02D9, 0xFA, 0 },
3750cdf0e10cSrcweir  { 0x02DA, 0xFB, 0 },
3751cdf0e10cSrcweir  { 0x02DB, 0xFE, 0 },
3752cdf0e10cSrcweir  { 0x02DC, 0xF7, 0 },
3753cdf0e10cSrcweir  { 0x02DD, 0xFD, 0 },
3754cdf0e10cSrcweir  { 0x03A9, 0xBD, 0 },
3755cdf0e10cSrcweir  { 0x03C0, 0xB9, 0 },
3756cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
3757cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
3758cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3759cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3760cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
3761cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3762cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3763cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
3764cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3765cdf0e10cSrcweir  { 0x2021, 0xE0, 0 },
3766cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
3767cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3768cdf0e10cSrcweir  { 0x2030, 0xE4, 0 },
3769cdf0e10cSrcweir  { 0x2039, 0xDC, 0 },
3770cdf0e10cSrcweir  { 0x203A, 0xDD, 0 },
3771cdf0e10cSrcweir  { 0x2044, 0xDA, 0 },
3772cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
3773cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
3774cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
3775cdf0e10cSrcweir  { 0x220F, 0xB8, 0 },
3776cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
3777cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
3778cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
3779cdf0e10cSrcweir  { 0x222B, 0xBA, 0 },
3780cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
3781cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3782cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3783cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
3784cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 },
3785cdf0e10cSrcweir  { 0xF8FF, 0xF0, 0 }
3786cdf0e10cSrcweir};
3787cdf0e10cSrcweir
3788cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3789cdf0e10cSrcweir
3790cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLEROMANIANByteCvtData =
3791cdf0e10cSrcweir{
3792cdf0e10cSrcweir    aImplAPPLEROMANIANToUniTab,
3793cdf0e10cSrcweir    NULL,
3794cdf0e10cSrcweir    APPLEROMANIANUNI_START, APPLEROMANIANUNI_END,
3795cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3796cdf0e10cSrcweir    aImplAPPLEROMANIANToCharTab,
3797cdf0e10cSrcweir    NULL,
3798cdf0e10cSrcweir    aImplAPPLEROMANIANToCharTabEx,
3799cdf0e10cSrcweir    APPLEROMANIANCHAR_START, APPLEROMANIANCHAR_END,
3800cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3801cdf0e10cSrcweir    APPLEROMANIANTOCHARTABEX_COUNT
3802cdf0e10cSrcweir};
3803cdf0e10cSrcweir
3804cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3805cdf0e10cSrcweir
3806cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEROMANIANTextEncodingData
3807cdf0e10cSrcweir    = { { &aImplAPPLEROMANIANByteCvtData,
3808cdf0e10cSrcweir          ImplCharToUnicode,
3809cdf0e10cSrcweir          ImplUnicodeToChar,
3810cdf0e10cSrcweir          NULL,
3811cdf0e10cSrcweir          NULL,
3812cdf0e10cSrcweir          NULL,
3813cdf0e10cSrcweir          NULL,
3814cdf0e10cSrcweir          NULL,
3815cdf0e10cSrcweir          NULL },
3816cdf0e10cSrcweir        1,
3817cdf0e10cSrcweir        1,
3818cdf0e10cSrcweir        1,
3819cdf0e10cSrcweir        238,
3820cdf0e10cSrcweir        "iso8859-2",
3821cdf0e10cSrcweir        "iso-8859-2",
3822cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3823cdf0e10cSrcweir    /* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 38 */
3824cdf0e10cSrcweir
3825cdf0e10cSrcweir/* ======================================================================= */
3826cdf0e10cSrcweir
3827cdf0e10cSrcweir/* APPLE-Turkish */
3828cdf0e10cSrcweir/* Apple CharSet for Turkish */
3829cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3830cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3831cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/turkish.txt from 02/05/98 */
3832cdf0e10cSrcweir/* Last-Changes from us: */
3833cdf0e10cSrcweir
3834cdf0e10cSrcweir#define APPLETURKISHUNI_START           0x80
3835cdf0e10cSrcweir#define APPLETURKISHUNI_END             0xFF
3836cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLETURKISHToUniTab[APPLETURKISHUNI_END - APPLETURKISHUNI_START + 1] =
3837cdf0e10cSrcweir{
3838cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3839cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3840cdf0e10cSrcweir    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
3841cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
3842cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
3843cdf0e10cSrcweir    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
3844cdf0e10cSrcweir    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
3845cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
3846cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
3847cdf0e10cSrcweir    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
3848cdf0e10cSrcweir    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
3849cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
3850cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
3851cdf0e10cSrcweir    0x00FF, 0x0178, 0x011E, 0x011F, 0x0130, 0x0131, 0x015E, 0x015F, /* 0xD0 */
3852cdf0e10cSrcweir    0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
3853cdf0e10cSrcweir    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
3854cdf0e10cSrcweir    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0xF8A0, 0x02C6, 0x02DC, /* 0xF0 */
3855cdf0e10cSrcweir    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
3856cdf0e10cSrcweir};
3857cdf0e10cSrcweir
3858cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3859cdf0e10cSrcweir
3860cdf0e10cSrcweir#define APPLETURKISHCHAR_START          0x00A0
3861cdf0e10cSrcweir#define APPLETURKISHCHAR_END            0x00FF
3862cdf0e10cSrcweirstatic sal_uChar const aImplAPPLETURKISHToCharTab[APPLETURKISHCHAR_END - APPLETURKISHCHAR_START + 1] =
3863cdf0e10cSrcweir{
3864cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
3865cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
3866cdf0e10cSrcweir    0xCA, 0xC1, 0xA2, 0xA3,    0, 0xB4,    0, 0xA4, /* 0x00A0 */
3867cdf0e10cSrcweir    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
3868cdf0e10cSrcweir    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
3869cdf0e10cSrcweir    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
3870cdf0e10cSrcweir    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
3871cdf0e10cSrcweir    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
3872cdf0e10cSrcweir       0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
3873cdf0e10cSrcweir    0xAF, 0xF4, 0xF2, 0xF3, 0x86,    0,    0, 0xA7, /* 0x00D0 */
3874cdf0e10cSrcweir    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
3875cdf0e10cSrcweir    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
3876cdf0e10cSrcweir       0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
3877cdf0e10cSrcweir    0xBF, 0x9D, 0x9C, 0x9E, 0x9F,    0,    0, 0xD8  /* 0x00F0 */
3878cdf0e10cSrcweir};
3879cdf0e10cSrcweir
3880cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3881cdf0e10cSrcweir
3882cdf0e10cSrcweir#define APPLETURKISHTOCHARTABEX_COUNT   48
3883cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLETURKISHToCharTabEx[APPLETURKISHTOCHARTABEX_COUNT] =
3884cdf0e10cSrcweir{
3885cdf0e10cSrcweir  { 0x011E, 0xDA, 0 },
3886cdf0e10cSrcweir  { 0x011F, 0xDB, 0 },
3887cdf0e10cSrcweir  { 0x0130, 0xDC, 0 },
3888cdf0e10cSrcweir  { 0x0131, 0xDD, 0 },
3889cdf0e10cSrcweir  { 0x0152, 0xCE, 0 },
3890cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
3891cdf0e10cSrcweir  { 0x015E, 0xDE, 0 },
3892cdf0e10cSrcweir  { 0x015F, 0xDF, 0 },
3893cdf0e10cSrcweir  { 0x0178, 0xD9, 0 },
3894cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
3895cdf0e10cSrcweir  { 0x02C6, 0xF6, 0 },
3896cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
3897cdf0e10cSrcweir  { 0x02D8, 0xF9, 0 },
3898cdf0e10cSrcweir  { 0x02D9, 0xFA, 0 },
3899cdf0e10cSrcweir  { 0x02DA, 0xFB, 0 },
3900cdf0e10cSrcweir  { 0x02DB, 0xFE, 0 },
3901cdf0e10cSrcweir  { 0x02DC, 0xF7, 0 },
3902cdf0e10cSrcweir  { 0x02DD, 0xFD, 0 },
3903cdf0e10cSrcweir  { 0x03A9, 0xBD, 0 },
3904cdf0e10cSrcweir  { 0x03C0, 0xB9, 0 },
3905cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
3906cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
3907cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
3908cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
3909cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
3910cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
3911cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
3912cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
3913cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
3914cdf0e10cSrcweir  { 0x2021, 0xE0, 0 },
3915cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
3916cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
3917cdf0e10cSrcweir  { 0x2030, 0xE4, 0 },
3918cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
3919cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
3920cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
3921cdf0e10cSrcweir  { 0x220F, 0xB8, 0 },
3922cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
3923cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
3924cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
3925cdf0e10cSrcweir  { 0x222B, 0xBA, 0 },
3926cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
3927cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
3928cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
3929cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
3930cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 },
3931cdf0e10cSrcweir  { 0xF8A0, 0xF5, 0 },
3932cdf0e10cSrcweir  { 0xF8FF, 0xF0, 0 }
3933cdf0e10cSrcweir};
3934cdf0e10cSrcweir
3935cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3936cdf0e10cSrcweir
3937cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLETURKISHByteCvtData =
3938cdf0e10cSrcweir{
3939cdf0e10cSrcweir    aImplAPPLETURKISHToUniTab,
3940cdf0e10cSrcweir    NULL,
3941cdf0e10cSrcweir    APPLETURKISHUNI_START, APPLETURKISHUNI_END,
3942cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
3943cdf0e10cSrcweir    aImplAPPLETURKISHToCharTab,
3944cdf0e10cSrcweir    NULL,
3945cdf0e10cSrcweir    aImplAPPLETURKISHToCharTabEx,
3946cdf0e10cSrcweir    APPLETURKISHCHAR_START, APPLETURKISHCHAR_END,
3947cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
3948cdf0e10cSrcweir    APPLETURKISHTOCHARTABEX_COUNT
3949cdf0e10cSrcweir};
3950cdf0e10cSrcweir
3951cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
3952cdf0e10cSrcweir
3953cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLETURKISHTextEncodingData
3954cdf0e10cSrcweir    = { { &aImplAPPLETURKISHByteCvtData,
3955cdf0e10cSrcweir          ImplCharToUnicode,
3956cdf0e10cSrcweir          ImplUnicodeToChar,
3957cdf0e10cSrcweir          NULL,
3958cdf0e10cSrcweir          NULL,
3959cdf0e10cSrcweir          NULL,
3960cdf0e10cSrcweir          NULL,
3961cdf0e10cSrcweir          NULL,
3962cdf0e10cSrcweir          NULL },
3963cdf0e10cSrcweir        1,
3964cdf0e10cSrcweir        1,
3965cdf0e10cSrcweir        1,
3966cdf0e10cSrcweir        162,
3967cdf0e10cSrcweir        "iso8859-9",
3968cdf0e10cSrcweir        "iso-8859-9",
3969cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
3970cdf0e10cSrcweir    /* MAC, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
3971cdf0e10cSrcweir
3972cdf0e10cSrcweir/* ======================================================================= */
3973cdf0e10cSrcweir
3974cdf0e10cSrcweir/* APPLE-Ukrainian */
3975cdf0e10cSrcweir/* Apple CharSet for Ukrainian */
3976cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
3977cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
3978cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/ukraine.txt from 02/05/98 */
3979cdf0e10cSrcweir/* Last-Changes from us: */
3980cdf0e10cSrcweir
3981cdf0e10cSrcweir#define APPLEUKRAINIANUNI_START         0x80
3982cdf0e10cSrcweir#define APPLEUKRAINIANUNI_END           0xFF
3983cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLEUKRAINIANToUniTab[APPLEUKRAINIANUNI_END - APPLEUKRAINIANUNI_START + 1] =
3984cdf0e10cSrcweir{
3985cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
3986cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
3987cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
3988cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
3989cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
3990cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
3991cdf0e10cSrcweir    0x2020, 0x00B0, 0x0490, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, /* 0xA0 */
3992cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, /* 0xA0 */
3993cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x0491, 0x0408, /* 0xB0 */
3994cdf0e10cSrcweir    0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, /* 0xB0 */
3995cdf0e10cSrcweir    0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
3996cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, /* 0xC0 */
3997cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, /* 0xD0 */
3998cdf0e10cSrcweir    0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, /* 0xD0 */
3999cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
4000cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
4001cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
4002cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x00A4  /* 0xF0 */
4003cdf0e10cSrcweir};
4004cdf0e10cSrcweir
4005cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4006cdf0e10cSrcweir
4007cdf0e10cSrcweir#define APPLEUKRAINIANCHAR_START        0x0401
4008cdf0e10cSrcweir#define APPLEUKRAINIANCHAR_END          0x045F
4009cdf0e10cSrcweirstatic sal_uChar const aImplAPPLEUKRAINIANToCharTab[APPLEUKRAINIANCHAR_END - APPLEUKRAINIANCHAR_START + 1] =
4010cdf0e10cSrcweir{
4011cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
4012cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
4013cdf0e10cSrcweir          0xDD, 0xAB, 0xAE, 0xB8, 0xC1, 0xA7, 0xBA, /* 0x0400 */
4014cdf0e10cSrcweir    0xB7, 0xBC, 0xBE, 0xCB, 0xCD,    0, 0xD8, 0xDA, /* 0x0400 */
4015cdf0e10cSrcweir    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
4016cdf0e10cSrcweir    0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
4017cdf0e10cSrcweir    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
4018cdf0e10cSrcweir    0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
4019cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
4020cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
4021cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
4022cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF, /* 0x0440 */
4023cdf0e10cSrcweir       0, 0xDE, 0xAC, 0xAF, 0xB9, 0xCF, 0xB4, 0xBB, /* 0x0450 */
4024cdf0e10cSrcweir    0xC0, 0xBD, 0xBF, 0xCC, 0xCE,    0, 0xD9, 0xDB, /* 0x0450 */
4025cdf0e10cSrcweir};
4026cdf0e10cSrcweir
4027cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4028cdf0e10cSrcweir
4029cdf0e10cSrcweir#define APPLEUKRAINIANTOCHARTABEX_COUNT 36
4030cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLEUKRAINIANToCharTabEx[APPLEUKRAINIANTOCHARTABEX_COUNT] =
4031cdf0e10cSrcweir{
4032cdf0e10cSrcweir  { 0x00A0, 0xCA, 0 },
4033cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
4034cdf0e10cSrcweir  { 0x00A4, 0xFF, 0 },
4035cdf0e10cSrcweir  { 0x00A7, 0xA4, 0 },
4036cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
4037cdf0e10cSrcweir  { 0x00AB, 0xC7, 0 },
4038cdf0e10cSrcweir  { 0x00AC, 0xC2, 0 },
4039cdf0e10cSrcweir  { 0x00AE, 0xA8, 0 },
4040cdf0e10cSrcweir  { 0x00B0, 0xA1, 0 },
4041cdf0e10cSrcweir  { 0x00B1, 0xB1, 0 },
4042cdf0e10cSrcweir  { 0x00B5, 0xB5, 0 },
4043cdf0e10cSrcweir  { 0x00B6, 0xA6, 0 },
4044cdf0e10cSrcweir  { 0x00BB, 0xC8, 0 },
4045cdf0e10cSrcweir  { 0x00F7, 0xD6, 0 },
4046cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
4047cdf0e10cSrcweir  { 0x0490, 0xA2, 0 },
4048cdf0e10cSrcweir  { 0x0491, 0xB6, 0 },
4049cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
4050cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
4051cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
4052cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
4053cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
4054cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
4055cdf0e10cSrcweir  { 0x201E, 0xD7, 0 },
4056cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
4057cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
4058cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
4059cdf0e10cSrcweir  { 0x2116, 0xDC, 0 },
4060cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
4061cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
4062cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
4063cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
4064cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
4065cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
4066cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
4067cdf0e10cSrcweir  { 0x2265, 0xB3, 0 }
4068cdf0e10cSrcweir};
4069cdf0e10cSrcweir
4070cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4071cdf0e10cSrcweir
4072cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLEUKRAINIANByteCvtData =
4073cdf0e10cSrcweir{
4074cdf0e10cSrcweir    aImplAPPLEUKRAINIANToUniTab,
4075cdf0e10cSrcweir    NULL,
4076cdf0e10cSrcweir    APPLEUKRAINIANUNI_START, APPLEUKRAINIANUNI_END,
4077cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
4078cdf0e10cSrcweir    aImplAPPLEUKRAINIANToCharTab,
4079cdf0e10cSrcweir    NULL,
4080cdf0e10cSrcweir    aImplAPPLEUKRAINIANToCharTabEx,
4081cdf0e10cSrcweir    APPLEUKRAINIANCHAR_START, APPLEUKRAINIANCHAR_END,
4082cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
4083cdf0e10cSrcweir    APPLEUKRAINIANTOCHARTABEX_COUNT
4084cdf0e10cSrcweir};
4085cdf0e10cSrcweir
4086cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4087cdf0e10cSrcweir
4088cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEUKRAINIANTextEncodingData
4089cdf0e10cSrcweir    = { { &aImplAPPLEUKRAINIANByteCvtData,
4090cdf0e10cSrcweir          ImplCharToUnicode,
4091cdf0e10cSrcweir          ImplUnicodeToChar,
4092cdf0e10cSrcweir          NULL,
4093cdf0e10cSrcweir          NULL,
4094cdf0e10cSrcweir          NULL,
4095cdf0e10cSrcweir          NULL,
4096cdf0e10cSrcweir          NULL,
4097cdf0e10cSrcweir          NULL },
4098cdf0e10cSrcweir        1,
4099cdf0e10cSrcweir        1,
4100cdf0e10cSrcweir        1,
4101cdf0e10cSrcweir        204,
4102cdf0e10cSrcweir        "iso8859-5",
4103cdf0e10cSrcweir        "iso-8859-5",
4104cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
4105cdf0e10cSrcweir    /* MAC, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 0x98
4106cdf0e10cSrcweir       (MAC 8.5 and above) */
4107cdf0e10cSrcweir
4108cdf0e10cSrcweir/* ======================================================================= */
4109cdf0e10cSrcweir
4110cdf0e10cSrcweir/* KOI8_R */
4111cdf0e10cSrcweir/* Standard Charset for Cyrillic */
4112cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
4113cdf0e10cSrcweir/* Convert-Tables: typed per hand */
4114cdf0e10cSrcweir/* Last-Changes from us: */
4115cdf0e10cSrcweir
4116cdf0e10cSrcweir#define KOI8RUNI_START                  0x80
4117cdf0e10cSrcweir#define KOI8RUNI_END                    0xFF
4118cdf0e10cSrcweirstatic sal_uInt16 const aImplKOI8RToUniTab[KOI8RUNI_END - KOI8RUNI_START + 1] =
4119cdf0e10cSrcweir{
4120cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
4121cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
4122cdf0e10cSrcweir    0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, /* 0x80 */
4123cdf0e10cSrcweir    0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, /* 0x80 */
4124cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, /* 0x90 */
4125cdf0e10cSrcweir    0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, /* 0x90 */
4126cdf0e10cSrcweir    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, /* 0xA0 */
4127cdf0e10cSrcweir    0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, /* 0xA0 */
4128cdf0e10cSrcweir    0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, /* 0xB0 */
4129cdf0e10cSrcweir    0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9, /* 0xB0 */
4130cdf0e10cSrcweir    0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, /* 0xC0 */
4131cdf0e10cSrcweir    0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, /* 0xC0 */
4132cdf0e10cSrcweir    0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, /* 0xD0 */
4133cdf0e10cSrcweir    0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, /* 0xD0 */
4134cdf0e10cSrcweir    0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, /* 0xE0 */
4135cdf0e10cSrcweir    0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, /* 0xE0 */
4136cdf0e10cSrcweir    0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, /* 0xF0 */
4137cdf0e10cSrcweir    0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A  /* 0xF0 */
4138cdf0e10cSrcweir};
4139cdf0e10cSrcweir
4140cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4141cdf0e10cSrcweir
4142cdf0e10cSrcweir#define KOI8RCHAR_START                 0x0410
4143cdf0e10cSrcweir#define KOI8RCHAR_END                   0x044F
4144cdf0e10cSrcweirstatic sal_uChar const aImplKOI8RToCharTab[KOI8RCHAR_END - KOI8RCHAR_START + 1] =
4145cdf0e10cSrcweir{
4146cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
4147cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
4148cdf0e10cSrcweir    0xE1, 0xE2, 0xF7, 0xE7, 0xE4, 0xE5, 0xF6, 0xFA, /* 0x0410 */
4149cdf0e10cSrcweir    0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, /* 0x0410 */
4150cdf0e10cSrcweir    0xF2, 0xF3, 0xF4, 0xF5, 0xE6, 0xE8, 0xE3, 0xFE, /* 0x0420 */
4151cdf0e10cSrcweir    0xFB, 0xFD, 0xFF, 0xF9, 0xF8, 0xFC, 0xE0, 0xF1, /* 0x0420 */
4152cdf0e10cSrcweir    0xC1, 0xC2, 0xD7, 0xC7, 0xC4, 0xC5, 0xD6, 0xDA, /* 0x0430 */
4153cdf0e10cSrcweir    0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, /* 0x0430 */
4154cdf0e10cSrcweir    0xD2, 0xD3, 0xD4, 0xD5, 0xC6, 0xC8, 0xC3, 0xDE, /* 0x0440 */
4155cdf0e10cSrcweir    0xDB, 0xDD, 0xDF, 0xD9, 0xD8, 0xDC, 0xC0, 0xD1  /* 0x0440 */
4156cdf0e10cSrcweir};
4157cdf0e10cSrcweir
4158cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4159cdf0e10cSrcweir
4160cdf0e10cSrcweir#define KOI8RTOCHARTABEX_COUNT          64
4161cdf0e10cSrcweirstatic ImplUniCharTabData const aImplKOI8RToCharTabEx[KOI8RTOCHARTABEX_COUNT] =
4162cdf0e10cSrcweir{
4163cdf0e10cSrcweir  { 0x00A0, 0x9A, 0 },
4164cdf0e10cSrcweir  { 0x00A9, 0xBF, 0 },
4165cdf0e10cSrcweir  { 0x00B0, 0x9C, 0 },
4166cdf0e10cSrcweir  { 0x00B2, 0x9D, 0 },
4167cdf0e10cSrcweir  { 0x00B7, 0x9E, 0 },
4168cdf0e10cSrcweir  { 0x00F7, 0x9F, 0 },
4169cdf0e10cSrcweir  { 0x0401, 0xB3, 0 },
4170cdf0e10cSrcweir  { 0x0451, 0xA3, 0 },
4171cdf0e10cSrcweir  { 0x2219, 0x95, 0 },
4172cdf0e10cSrcweir  { 0x221A, 0x96, 0 },
4173cdf0e10cSrcweir  { 0x2248, 0x97, 0 },
4174cdf0e10cSrcweir  { 0x2264, 0x98, 0 },
4175cdf0e10cSrcweir  { 0x2265, 0x99, 0 },
4176cdf0e10cSrcweir  { 0x2320, 0x93, 0 },
4177cdf0e10cSrcweir  { 0x2321, 0x9B, 0 },
4178cdf0e10cSrcweir  { 0x2500, 0x80, 0 },
4179cdf0e10cSrcweir  { 0x2502, 0x81, 0 },
4180cdf0e10cSrcweir  { 0x250C, 0x82, 0 },
4181cdf0e10cSrcweir  { 0x2510, 0x83, 0 },
4182cdf0e10cSrcweir  { 0x2514, 0x84, 0 },
4183cdf0e10cSrcweir  { 0x2518, 0x85, 0 },
4184cdf0e10cSrcweir  { 0x251C, 0x86, 0 },
4185cdf0e10cSrcweir  { 0x2524, 0x87, 0 },
4186cdf0e10cSrcweir  { 0x252C, 0x88, 0 },
4187cdf0e10cSrcweir  { 0x2534, 0x89, 0 },
4188cdf0e10cSrcweir  { 0x253C, 0x8A, 0 },
4189cdf0e10cSrcweir  { 0x2550, 0xA0, 0 },
4190cdf0e10cSrcweir  { 0x2551, 0xA1, 0 },
4191cdf0e10cSrcweir  { 0x2552, 0xA2, 0 },
4192cdf0e10cSrcweir  { 0x2553, 0xA4, 0 },
4193cdf0e10cSrcweir  { 0x2554, 0xA5, 0 },
4194cdf0e10cSrcweir  { 0x2555, 0xA6, 0 },
4195cdf0e10cSrcweir  { 0x2556, 0xA7, 0 },
4196cdf0e10cSrcweir  { 0x2557, 0xA8, 0 },
4197cdf0e10cSrcweir  { 0x2558, 0xA9, 0 },
4198cdf0e10cSrcweir  { 0x2559, 0xAA, 0 },
4199cdf0e10cSrcweir  { 0x255A, 0xAB, 0 },
4200cdf0e10cSrcweir  { 0x255B, 0xAC, 0 },
4201cdf0e10cSrcweir  { 0x255C, 0xAD, 0 },
4202cdf0e10cSrcweir  { 0x255D, 0xAE, 0 },
4203cdf0e10cSrcweir  { 0x255E, 0xAF, 0 },
4204cdf0e10cSrcweir  { 0x255F, 0xB0, 0 },
4205cdf0e10cSrcweir  { 0x2560, 0xB1, 0 },
4206cdf0e10cSrcweir  { 0x2561, 0xB2, 0 },
4207cdf0e10cSrcweir  { 0x2562, 0xB4, 0 },
4208cdf0e10cSrcweir  { 0x2563, 0xB5, 0 },
4209cdf0e10cSrcweir  { 0x2564, 0xB6, 0 },
4210cdf0e10cSrcweir  { 0x2565, 0xB7, 0 },
4211cdf0e10cSrcweir  { 0x2566, 0xB8, 0 },
4212cdf0e10cSrcweir  { 0x2567, 0xB9, 0 },
4213cdf0e10cSrcweir  { 0x2568, 0xBA, 0 },
4214cdf0e10cSrcweir  { 0x2569, 0xBB, 0 },
4215cdf0e10cSrcweir  { 0x256A, 0xBC, 0 },
4216cdf0e10cSrcweir  { 0x256B, 0xBD, 0 },
4217cdf0e10cSrcweir  { 0x256C, 0xBE, 0 },
4218cdf0e10cSrcweir  { 0x2580, 0x8B, 0 },
4219cdf0e10cSrcweir  { 0x2584, 0x8C, 0 },
4220cdf0e10cSrcweir  { 0x2588, 0x8D, 0 },
4221cdf0e10cSrcweir  { 0x258C, 0x8E, 0 },
4222cdf0e10cSrcweir  { 0x2590, 0x8F, 0 },
4223cdf0e10cSrcweir  { 0x2591, 0x90, 0 },
4224cdf0e10cSrcweir  { 0x2592, 0x91, 0 },
4225cdf0e10cSrcweir  { 0x2593, 0x92, 0 },
4226cdf0e10cSrcweir  { 0x25A0, 0x94, 0 }
4227cdf0e10cSrcweir};
4228cdf0e10cSrcweir
4229cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4230cdf0e10cSrcweir
4231cdf0e10cSrcweirstatic ImplByteConvertData const aImplKOI8RByteCvtData =
4232cdf0e10cSrcweir{
4233cdf0e10cSrcweir    aImplKOI8RToUniTab,
4234cdf0e10cSrcweir    NULL,
4235cdf0e10cSrcweir    KOI8RUNI_START, KOI8RUNI_END,
4236cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
4237cdf0e10cSrcweir    aImplKOI8RToCharTab,
4238cdf0e10cSrcweir    NULL,
4239cdf0e10cSrcweir    aImplKOI8RToCharTabEx,
4240cdf0e10cSrcweir    KOI8RCHAR_START, KOI8RCHAR_END,
4241cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
4242cdf0e10cSrcweir    KOI8RTOCHARTABEX_COUNT
4243cdf0e10cSrcweir};
4244cdf0e10cSrcweir
4245cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4246cdf0e10cSrcweir
4247cdf0e10cSrcweirstatic ImplTextEncodingData const aImplKOI8RTextEncodingData
4248cdf0e10cSrcweir    = { { &aImplKOI8RByteCvtData,
4249cdf0e10cSrcweir          ImplCharToUnicode,
4250cdf0e10cSrcweir          ImplUnicodeToChar,
4251cdf0e10cSrcweir          NULL,
4252cdf0e10cSrcweir          NULL,
4253cdf0e10cSrcweir          NULL,
4254cdf0e10cSrcweir          NULL,
4255cdf0e10cSrcweir          NULL,
4256cdf0e10cSrcweir          NULL },
4257cdf0e10cSrcweir        1,
4258cdf0e10cSrcweir        1,
4259cdf0e10cSrcweir        1,
4260cdf0e10cSrcweir        204,
4261cdf0e10cSrcweir        "koi8-r",
4262cdf0e10cSrcweir        "koi8-r",
4263cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
4264cdf0e10cSrcweir    /* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
4265cdf0e10cSrcweir
4266cdf0e10cSrcweir/* ======================================================================= */
4267cdf0e10cSrcweir
4268cdf0e10cSrcweir/* KOI8_U */
4269cdf0e10cSrcweir/* Standard Charset for Ukrainian Cyrillic */
4270cdf0e10cSrcweir/* Single Byte, 0x00-0x7F equals ASCII */
4271cdf0e10cSrcweir/* Conversion Tables: hand made */
4272cdf0e10cSrcweir
4273cdf0e10cSrcweir#define KOI8UUNI_START 0x80
4274cdf0e10cSrcweir#define KOI8UUNI_END 0xFF
4275cdf0e10cSrcweirstatic sal_uInt16 const aImplKOI8UToUniTab[KOI8UUNI_END - KOI8UUNI_START + 1] =
4276cdf0e10cSrcweir{
4277cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
4278cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
4279cdf0e10cSrcweir    0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, /* 0x80 */
4280cdf0e10cSrcweir    0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, /* 0x80 */
4281cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, /* 0x90 */
4282cdf0e10cSrcweir    0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, /* 0x90 */
4283cdf0e10cSrcweir    0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, /* 0xA0 */
4284cdf0e10cSrcweir    0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E, /* 0xA0 */
4285cdf0e10cSrcweir    0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, /* 0xB0 */
4286cdf0e10cSrcweir    0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9, /* 0xB0 */
4287cdf0e10cSrcweir    0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, /* 0xC0 */
4288cdf0e10cSrcweir    0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, /* 0xC0 */
4289cdf0e10cSrcweir    0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, /* 0xD0 */
4290cdf0e10cSrcweir    0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, /* 0xD0 */
4291cdf0e10cSrcweir    0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, /* 0xE0 */
4292cdf0e10cSrcweir    0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, /* 0xE0 */
4293cdf0e10cSrcweir    0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, /* 0xF0 */
4294cdf0e10cSrcweir    0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A  /* 0xF0 */
4295cdf0e10cSrcweir};
4296cdf0e10cSrcweir
4297cdf0e10cSrcweir#define KOI8UCHAR_START 0x0410
4298cdf0e10cSrcweir#define KOI8UCHAR_END 0x044F
4299cdf0e10cSrcweirstatic sal_uChar const
4300cdf0e10cSrcweiraImplKOI8UToCharTab[KOI8UCHAR_END - KOI8UCHAR_START + 1] =
4301cdf0e10cSrcweir{
4302cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
4303cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
4304cdf0e10cSrcweir    0xE1, 0xE2, 0xF7, 0xE7, 0xE4, 0xE5, 0xF6, 0xFA, /* 0x0410 */
4305cdf0e10cSrcweir    0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, /* 0x0410 */
4306cdf0e10cSrcweir    0xF2, 0xF3, 0xF4, 0xF5, 0xE6, 0xE8, 0xE3, 0xFE, /* 0x0420 */
4307cdf0e10cSrcweir    0xFB, 0xFD, 0xFF, 0xF9, 0xF8, 0xFC, 0xE0, 0xF1, /* 0x0420 */
4308cdf0e10cSrcweir    0xC1, 0xC2, 0xD7, 0xC7, 0xC4, 0xC5, 0xD6, 0xDA, /* 0x0430 */
4309cdf0e10cSrcweir    0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, /* 0x0430 */
4310cdf0e10cSrcweir    0xD2, 0xD3, 0xD4, 0xD5, 0xC6, 0xC8, 0xC3, 0xDE, /* 0x0440 */
4311cdf0e10cSrcweir    0xDB, 0xDD, 0xDF, 0xD9, 0xD8, 0xDC, 0xC0, 0xD1  /* 0x0440 */
4312cdf0e10cSrcweir};
4313cdf0e10cSrcweir
4314cdf0e10cSrcweir#define KOI8UTOCHARTABEX_COUNT 72
4315cdf0e10cSrcweirstatic ImplUniCharTabData const aImplKOI8UToCharTabEx[KOI8UTOCHARTABEX_COUNT] =
4316cdf0e10cSrcweir{
4317cdf0e10cSrcweir  { 0x00A0, 0x9A, 0 },
4318cdf0e10cSrcweir  { 0x00A9, 0xBF, 0 },
4319cdf0e10cSrcweir  { 0x00B0, 0x9C, 0 },
4320cdf0e10cSrcweir  { 0x00B2, 0x9D, 0 },
4321cdf0e10cSrcweir  { 0x00B7, 0x9E, 0 },
4322cdf0e10cSrcweir  { 0x00F7, 0x9F, 0 },
4323cdf0e10cSrcweir  { 0x0401, 0xB3, 0 },
4324cdf0e10cSrcweir  { 0x0404, 0xB4, 0 },
4325cdf0e10cSrcweir  { 0x0406, 0xB6, 0 },
4326cdf0e10cSrcweir  { 0x0407, 0xB7, 0 },
4327cdf0e10cSrcweir  { 0x0451, 0xA3, 0 },
4328cdf0e10cSrcweir  { 0x0454, 0xA4, 0 },
4329cdf0e10cSrcweir  { 0x0456, 0xA6, 0 },
4330cdf0e10cSrcweir  { 0x0457, 0xA7, 0 },
4331cdf0e10cSrcweir  { 0x0490, 0xBD, 0 },
4332cdf0e10cSrcweir  { 0x0491, 0xAD, 0 },
4333cdf0e10cSrcweir  { 0x2219, 0x95, 0 },
4334cdf0e10cSrcweir  { 0x221A, 0x96, 0 },
4335cdf0e10cSrcweir  { 0x2248, 0x97, 0 },
4336cdf0e10cSrcweir  { 0x2264, 0x98, 0 },
4337cdf0e10cSrcweir  { 0x2265, 0x99, 0 },
4338cdf0e10cSrcweir  { 0x2320, 0x93, 0 },
4339cdf0e10cSrcweir  { 0x2321, 0x9B, 0 },
4340cdf0e10cSrcweir  { 0x2500, 0x80, 0 },
4341cdf0e10cSrcweir  { 0x2502, 0x81, 0 },
4342cdf0e10cSrcweir  { 0x250C, 0x82, 0 },
4343cdf0e10cSrcweir  { 0x2510, 0x83, 0 },
4344cdf0e10cSrcweir  { 0x2514, 0x84, 0 },
4345cdf0e10cSrcweir  { 0x2518, 0x85, 0 },
4346cdf0e10cSrcweir  { 0x251C, 0x86, 0 },
4347cdf0e10cSrcweir  { 0x2524, 0x87, 0 },
4348cdf0e10cSrcweir  { 0x252C, 0x88, 0 },
4349cdf0e10cSrcweir  { 0x2534, 0x89, 0 },
4350cdf0e10cSrcweir  { 0x253C, 0x8A, 0 },
4351cdf0e10cSrcweir  { 0x2550, 0xA0, 0 },
4352cdf0e10cSrcweir  { 0x2551, 0xA1, 0 },
4353cdf0e10cSrcweir  { 0x2552, 0xA2, 0 },
4354cdf0e10cSrcweir  { 0x2553, 0xA4, 0 },
4355cdf0e10cSrcweir  { 0x2554, 0xA5, 0 },
4356cdf0e10cSrcweir  { 0x2555, 0xA6, 0 },
4357cdf0e10cSrcweir  { 0x2556, 0xA7, 0 },
4358cdf0e10cSrcweir  { 0x2557, 0xA8, 0 },
4359cdf0e10cSrcweir  { 0x2558, 0xA9, 0 },
4360cdf0e10cSrcweir  { 0x2559, 0xAA, 0 },
4361cdf0e10cSrcweir  { 0x255A, 0xAB, 0 },
4362cdf0e10cSrcweir  { 0x255B, 0xAC, 0 },
4363cdf0e10cSrcweir  { 0x255C, 0xAD, 0 },
4364cdf0e10cSrcweir  { 0x255D, 0xAE, 0 },
4365cdf0e10cSrcweir  { 0x255E, 0xAF, 0 },
4366cdf0e10cSrcweir  { 0x255F, 0xB0, 0 },
4367cdf0e10cSrcweir  { 0x2560, 0xB1, 0 },
4368cdf0e10cSrcweir  { 0x2561, 0xB2, 0 },
4369cdf0e10cSrcweir  { 0x2562, 0xB4, 0 },
4370cdf0e10cSrcweir  { 0x2563, 0xB5, 0 },
4371cdf0e10cSrcweir  { 0x2564, 0xB6, 0 },
4372cdf0e10cSrcweir  { 0x2565, 0xB7, 0 },
4373cdf0e10cSrcweir  { 0x2566, 0xB8, 0 },
4374cdf0e10cSrcweir  { 0x2567, 0xB9, 0 },
4375cdf0e10cSrcweir  { 0x2568, 0xBA, 0 },
4376cdf0e10cSrcweir  { 0x2569, 0xBB, 0 },
4377cdf0e10cSrcweir  { 0x256A, 0xBC, 0 },
4378cdf0e10cSrcweir  { 0x256B, 0xBD, 0 },
4379cdf0e10cSrcweir  { 0x256C, 0xBE, 0 },
4380cdf0e10cSrcweir  { 0x2580, 0x8B, 0 },
4381cdf0e10cSrcweir  { 0x2584, 0x8C, 0 },
4382cdf0e10cSrcweir  { 0x2588, 0x8D, 0 },
4383cdf0e10cSrcweir  { 0x258C, 0x8E, 0 },
4384cdf0e10cSrcweir  { 0x2590, 0x8F, 0 },
4385cdf0e10cSrcweir  { 0x2591, 0x90, 0 },
4386cdf0e10cSrcweir  { 0x2592, 0x91, 0 },
4387cdf0e10cSrcweir  { 0x2593, 0x92, 0 },
4388cdf0e10cSrcweir  { 0x25A0, 0x94, 0 }
4389cdf0e10cSrcweir};
4390cdf0e10cSrcweir
4391cdf0e10cSrcweirstatic ImplByteConvertData const aImplKOI8UByteCvtData =
4392cdf0e10cSrcweir{
4393cdf0e10cSrcweir    aImplKOI8UToUniTab,
4394cdf0e10cSrcweir    NULL,
4395cdf0e10cSrcweir    KOI8UUNI_START, KOI8UUNI_END,
4396cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
4397cdf0e10cSrcweir    aImplKOI8UToCharTab,
4398cdf0e10cSrcweir    NULL,
4399cdf0e10cSrcweir    aImplKOI8UToCharTabEx,
4400cdf0e10cSrcweir    KOI8UCHAR_START, KOI8UCHAR_END,
4401cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
4402cdf0e10cSrcweir    KOI8UTOCHARTABEX_COUNT
4403cdf0e10cSrcweir};
4404cdf0e10cSrcweir
4405cdf0e10cSrcweirstatic ImplTextEncodingData const aImplKoi8UTextEncodingData
4406cdf0e10cSrcweir    = { { &aImplKOI8UByteCvtData,
4407cdf0e10cSrcweir          ImplCharToUnicode,
4408cdf0e10cSrcweir          ImplUnicodeToChar,
4409cdf0e10cSrcweir          NULL,
4410cdf0e10cSrcweir          NULL,
4411cdf0e10cSrcweir          NULL,
4412cdf0e10cSrcweir          NULL,
4413cdf0e10cSrcweir          NULL,
4414cdf0e10cSrcweir          NULL },
4415cdf0e10cSrcweir        1,
4416cdf0e10cSrcweir        1,
4417cdf0e10cSrcweir        1,
4418cdf0e10cSrcweir        204,
4419cdf0e10cSrcweir        "koi8-u",
4420cdf0e10cSrcweir        "KOI8-U",
4421cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
4422cdf0e10cSrcweir    /* SCRIPT_CYRILLIC */
4423cdf0e10cSrcweir
4424cdf0e10cSrcweir/* ======================================================================= */
4425cdf0e10cSrcweir
4426cdf0e10cSrcweir/* PT154 */
4427cdf0e10cSrcweir/* Asian Cyrillic */
4428cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
4429cdf0e10cSrcweir/* Convert-Tables: typed per hand */
4430cdf0e10cSrcweir/* Last-Changes from us: */
4431cdf0e10cSrcweir
4432cdf0e10cSrcweir#define PT154UNI_START                  0x80
4433cdf0e10cSrcweir#define PT154UNI_END                    0xFF
4434cdf0e10cSrcweirstatic sal_uInt16 const aImplPT154ToUniTab[PT154UNI_END - PT154UNI_START + 1] =
4435cdf0e10cSrcweir{
4436cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
4437cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
4438cdf0e10cSrcweir    0x0496, 0x0492, 0x04EE, 0x0493, 0x201E, 0x2026, 0x04B6, 0x04AE, /* 0x80 */
4439cdf0e10cSrcweir    0x04B2, 0x04AF, 0x04A0, 0x04E2, 0x04A2, 0x049A, 0x04BA, 0x04B8, /* 0x80 */
4440cdf0e10cSrcweir    0x0497, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
4441cdf0e10cSrcweir    0x04B3, 0x04B7, 0x04A1, 0x04E3, 0x04A3, 0x049B, 0x04BB, 0x04B9, /* 0x90 */
4442cdf0e10cSrcweir    0x00A0, 0x040E, 0x045E, 0x0408, 0x04E8, 0x0498, 0x04B0, 0x00A7, /* 0xA0 */
4443cdf0e10cSrcweir    0x0401, 0x00A9, 0x04D8, 0x00AB, 0x00AC, 0x04EF, 0x00AE, 0x049C, /* 0xA0 */
4444cdf0e10cSrcweir    0x00B0, 0x04B1, 0x0406, 0x0456, 0x0499, 0x04E9, 0x00B6, 0x00B7, /* 0xB0 */
4445cdf0e10cSrcweir    0x0451, 0x2116, 0x04D9, 0x00BB, 0x0458, 0x04AA, 0x04AB, 0x049D, /* 0xB0 */
4446cdf0e10cSrcweir    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xC0 */
4447cdf0e10cSrcweir    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xC0 */
4448cdf0e10cSrcweir    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xD0 */
4449cdf0e10cSrcweir    0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xD0 */
4450cdf0e10cSrcweir    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
4451cdf0e10cSrcweir    0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
4452cdf0e10cSrcweir    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
4453cdf0e10cSrcweir    0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F  /* 0xF0 */
4454cdf0e10cSrcweir};
4455cdf0e10cSrcweir
4456cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4457cdf0e10cSrcweir
4458cdf0e10cSrcweir#define PT154CHAR_START                 0x0410
4459cdf0e10cSrcweir#define PT154CHAR_END                   0x044F
4460cdf0e10cSrcweirstatic sal_uChar const aImplPT154ToCharTab[PT154CHAR_END - PT154CHAR_START + 1] =
4461cdf0e10cSrcweir{
4462cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
4463cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
4464cdf0e10cSrcweir    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x0410 */
4465cdf0e10cSrcweir    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0x0410 */
4466cdf0e10cSrcweir    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, /* 0x0420 */
4467cdf0e10cSrcweir    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, /* 0x0420 */
4468cdf0e10cSrcweir    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0x0430 */
4469cdf0e10cSrcweir    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* 0x0430 */
4470cdf0e10cSrcweir    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x0440 */
4471cdf0e10cSrcweir    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff  /* 0x0440 */
4472cdf0e10cSrcweir};
4473cdf0e10cSrcweir
4474cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4475cdf0e10cSrcweir
4476cdf0e10cSrcweir#define PT154TOCHARTABEX_COUNT          64
4477cdf0e10cSrcweirstatic ImplUniCharTabData const aImplPT154ToCharTabEx[PT154TOCHARTABEX_COUNT] =
4478cdf0e10cSrcweir{
4479cdf0e10cSrcweir  { 0x00A0, 0xa0, 0 },
4480cdf0e10cSrcweir  { 0x00A7, 0xa7, 0 },
4481cdf0e10cSrcweir  { 0x00A9, 0xa9, 0 },
4482cdf0e10cSrcweir  { 0x00AB, 0xab, 0 },
4483cdf0e10cSrcweir  { 0x00AC, 0xac, 0 },
4484cdf0e10cSrcweir  { 0x00AE, 0xae, 0 },
4485cdf0e10cSrcweir  { 0x00B0, 0xb0, 0 },
4486cdf0e10cSrcweir  { 0x00B6, 0xb6, 0 },
4487cdf0e10cSrcweir  { 0x00B7, 0xb7, 0 },
4488cdf0e10cSrcweir  { 0x00BB, 0xbb, 0 },
4489cdf0e10cSrcweir  { 0x0401, 0xa8, 0 },
4490cdf0e10cSrcweir  { 0x0406, 0xb2, 0 },
4491cdf0e10cSrcweir  { 0x0408, 0xa3, 0 },
4492cdf0e10cSrcweir  { 0x040E, 0xa1, 0 },
4493cdf0e10cSrcweir  { 0x0451, 0xb8, 0 },
4494cdf0e10cSrcweir  { 0x0456, 0xb3, 0 },
4495cdf0e10cSrcweir  { 0x0458, 0xbc, 0 },
4496cdf0e10cSrcweir  { 0x045E, 0xa2, 0 },
4497cdf0e10cSrcweir  { 0x0492, 0x81, 0 },
4498cdf0e10cSrcweir  { 0x0493, 0x83, 0 },
4499cdf0e10cSrcweir  { 0x0496, 0x80, 0 },
4500cdf0e10cSrcweir  { 0x0497, 0x90, 0 },
4501cdf0e10cSrcweir  { 0x0498, 0xa5, 0 },
4502cdf0e10cSrcweir  { 0x0499, 0xb4, 0 },
4503cdf0e10cSrcweir  { 0x049A, 0x8d, 0 },
4504cdf0e10cSrcweir  { 0x049B, 0x9d, 0 },
4505cdf0e10cSrcweir  { 0x049C, 0xaf, 0 },
4506cdf0e10cSrcweir  { 0x049D, 0xbf, 0 },
4507cdf0e10cSrcweir  { 0x04A0, 0x8a, 0 },
4508cdf0e10cSrcweir  { 0x04A1, 0x9a, 0 },
4509cdf0e10cSrcweir  { 0x04A2, 0x8c, 0 },
4510cdf0e10cSrcweir  { 0x04A3, 0x9c, 0 },
4511cdf0e10cSrcweir  { 0x04AA, 0xbd, 0 },
4512cdf0e10cSrcweir  { 0x04AB, 0xbe, 0 },
4513cdf0e10cSrcweir  { 0x04AE, 0x87, 0 },
4514cdf0e10cSrcweir  { 0x04AF, 0x89, 0 },
4515cdf0e10cSrcweir  { 0x04B0, 0xa6, 0 },
4516cdf0e10cSrcweir  { 0x04B1, 0xb1, 0 },
4517cdf0e10cSrcweir  { 0x04B2, 0x88, 0 },
4518cdf0e10cSrcweir  { 0x04B3, 0x98, 0 },
4519cdf0e10cSrcweir  { 0x04B6, 0x86, 0 },
4520cdf0e10cSrcweir  { 0x04B7, 0x99, 0 },
4521cdf0e10cSrcweir  { 0x04B8, 0x8f, 0 },
4522cdf0e10cSrcweir  { 0x04B9, 0x9f, 0 },
4523cdf0e10cSrcweir  { 0x04BA, 0x8e, 0 },
4524cdf0e10cSrcweir  { 0x04BB, 0x9e, 0 },
4525cdf0e10cSrcweir  { 0x04D8, 0xaa, 0 },
4526cdf0e10cSrcweir  { 0x04D9, 0xba, 0 },
4527cdf0e10cSrcweir  { 0x04E2, 0x8b, 0 },
4528cdf0e10cSrcweir  { 0x04E3, 0x9b, 0 },
4529cdf0e10cSrcweir  { 0x04E8, 0xa4, 0 },
4530cdf0e10cSrcweir  { 0x04E9, 0xb5, 0 },
4531cdf0e10cSrcweir  { 0x04EE, 0x82, 0 },
4532cdf0e10cSrcweir  { 0x04EF, 0xad, 0 },
4533cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
4534cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
4535cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
4536cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
4537cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
4538cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
4539cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
4540cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
4541cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
4542cdf0e10cSrcweir  { 0x2116, 0xb9, 0 }
4543cdf0e10cSrcweir};
4544cdf0e10cSrcweir
4545cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4546cdf0e10cSrcweir
4547cdf0e10cSrcweirstatic ImplByteConvertData const aImplPT154ByteCvtData =
4548cdf0e10cSrcweir{
4549cdf0e10cSrcweir    aImplPT154ToUniTab,
4550cdf0e10cSrcweir    NULL,
4551cdf0e10cSrcweir    PT154UNI_START, PT154UNI_END,
4552cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
4553cdf0e10cSrcweir    aImplPT154ToCharTab,
4554cdf0e10cSrcweir    NULL,
4555cdf0e10cSrcweir    aImplPT154ToCharTabEx,
4556cdf0e10cSrcweir    PT154CHAR_START, PT154CHAR_END,
4557cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
4558cdf0e10cSrcweir    PT154TOCHARTABEX_COUNT
4559cdf0e10cSrcweir};
4560cdf0e10cSrcweir
4561cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
4562cdf0e10cSrcweir
4563cdf0e10cSrcweirstatic ImplTextEncodingData const aImplPT154TextEncodingData
4564cdf0e10cSrcweir    = { { &aImplPT154ByteCvtData,
4565cdf0e10cSrcweir          ImplCharToUnicode,
4566cdf0e10cSrcweir          ImplUnicodeToChar,
4567cdf0e10cSrcweir          NULL,
4568cdf0e10cSrcweir          NULL,
4569cdf0e10cSrcweir          NULL,
4570cdf0e10cSrcweir          NULL,
4571cdf0e10cSrcweir          NULL,
4572cdf0e10cSrcweir          NULL },
4573cdf0e10cSrcweir        1,
4574cdf0e10cSrcweir        1,
4575cdf0e10cSrcweir        1,
4576cdf0e10cSrcweir        204,
4577cdf0e10cSrcweir        "iso8859-5",
4578cdf0e10cSrcweir        "PTCP154",
4579cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
4580cdf0e10cSrcweir    /* SCRIPT_CYRILLIC */
4581