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