xref: /aoo42x/main/sal/textenc/tcvtlat1.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: latin, iceland, nordic */
32*cdf0e10cSrcweir
33*cdf0e10cSrcweir/* ======================================================================= */
34*cdf0e10cSrcweir
35*cdf0e10cSrcweir/* IBM-437 */
36*cdf0e10cSrcweir/* Dos Latin US - Standard CharSet for Western Script */
37*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
38*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp437.txt from 04/24/96 Version 2.00 */
39*cdf0e10cSrcweir/* Last-Changes from us: */
40*cdf0e10cSrcweir
41*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
42*cdf0e10cSrcweir
43*cdf0e10cSrcweir#define IBM437UNI_START                 0x80
44*cdf0e10cSrcweir#define IBM437UNI_END                   0xFF
45*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM437ToUniTab[IBM437UNI_END - IBM437UNI_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    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
50*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
51*cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
52*cdf0e10cSrcweir    0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, /* 0x90 */
53*cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
54*cdf0e10cSrcweir    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 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    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
62*cdf0e10cSrcweir    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
63*cdf0e10cSrcweir    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 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 IBM437CHAR_START                0x00A0
70*cdf0e10cSrcweir#define IBM437CHAR_END                  0x00FF
71*cdf0e10cSrcweirstatic sal_uChar const aImplIBM437ToCharTab[IBM437CHAR_END - IBM437CHAR_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    0xFF, 0xAD, 0x9B, 0x9C,    0, 0x9D,    0,    0, /* 0x00A0 */
76*cdf0e10cSrcweir       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
77*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
78*cdf0e10cSrcweir       0,    0, 0xA7, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
79*cdf0e10cSrcweir       0,    0,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
80*cdf0e10cSrcweir       0, 0x90,    0,    0,    0,    0,    0,    0, /* 0x00C0 */
81*cdf0e10cSrcweir       0, 0xA5,    0,    0,    0,    0, 0x99,    0, /* 0x00D0 */
82*cdf0e10cSrcweir       0,    0,    0,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
83*cdf0e10cSrcweir    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
84*cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
85*cdf0e10cSrcweir       0, 0xA4, 0x95, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
86*cdf0e10cSrcweir       0, 0x97, 0xA3, 0x96, 0x81,    0,    0, 0x98  /* 0x00F0 */
87*cdf0e10cSrcweir};
88*cdf0e10cSrcweir
89*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
90*cdf0e10cSrcweir
91*cdf0e10cSrcweir#define IBM437TOCHARTABEX_COUNT         75
92*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM437ToCharTabEx[IBM437TOCHARTABEX_COUNT] =
93*cdf0e10cSrcweir{
94*cdf0e10cSrcweir  { 0x0192, 0x9F, 0 },
95*cdf0e10cSrcweir  { 0x0393, 0xE2, 0 },
96*cdf0e10cSrcweir  { 0x0398, 0xE9, 0 },
97*cdf0e10cSrcweir  { 0x03A3, 0xE4, 0 },
98*cdf0e10cSrcweir  { 0x03A6, 0xE8, 0 },
99*cdf0e10cSrcweir  { 0x03A9, 0xEA, 0 },
100*cdf0e10cSrcweir  { 0x03B1, 0xE0, 0 },
101*cdf0e10cSrcweir  { 0x03B4, 0xEB, 0 },
102*cdf0e10cSrcweir  { 0x03B5, 0xEE, 0 },
103*cdf0e10cSrcweir  { 0x03C0, 0xE3, 0 },
104*cdf0e10cSrcweir  { 0x03C3, 0xE5, 0 },
105*cdf0e10cSrcweir  { 0x03C4, 0xE7, 0 },
106*cdf0e10cSrcweir  { 0x03C6, 0xED, 0 },
107*cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
108*cdf0e10cSrcweir  { 0x20A7, 0x9E, 0 },
109*cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
110*cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
111*cdf0e10cSrcweir  { 0x221E, 0xEC, 0 },
112*cdf0e10cSrcweir  { 0x2229, 0xEF, 0 },
113*cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
114*cdf0e10cSrcweir  { 0x2261, 0xF0, 0 },
115*cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
116*cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
117*cdf0e10cSrcweir  { 0x2310, 0xA9, 0 },
118*cdf0e10cSrcweir  { 0x2320, 0xF4, 0 },
119*cdf0e10cSrcweir  { 0x2321, 0xF5, 0 },
120*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
121*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
122*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
123*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
124*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
125*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
126*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
127*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
128*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
129*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
130*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
131*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
132*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
133*cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
134*cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
135*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
136*cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
137*cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
138*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
139*cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
140*cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
141*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
142*cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
143*cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
144*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
145*cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
146*cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
147*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
148*cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
149*cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
150*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
151*cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
152*cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
153*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
154*cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
155*cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
156*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
157*cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
158*cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
159*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
160*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
161*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
162*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
163*cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
164*cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
165*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
166*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
167*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
168*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
169*cdf0e10cSrcweir};
170*cdf0e10cSrcweir
171*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
172*cdf0e10cSrcweir
173*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM437ByteCvtData =
174*cdf0e10cSrcweir{
175*cdf0e10cSrcweir    aImplIBM437ToUniTab,
176*cdf0e10cSrcweir    NULL,
177*cdf0e10cSrcweir    IBM437UNI_START, IBM437UNI_END,
178*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
179*cdf0e10cSrcweir    aImplIBM437ToCharTab,
180*cdf0e10cSrcweir    NULL,
181*cdf0e10cSrcweir    aImplIBM437ToCharTabEx,
182*cdf0e10cSrcweir    IBM437CHAR_START, IBM437CHAR_END,
183*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
184*cdf0e10cSrcweir    IBM437TOCHARTABEX_COUNT
185*cdf0e10cSrcweir};
186*cdf0e10cSrcweir
187*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
188*cdf0e10cSrcweir
189*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM437TextEncodingData
190*cdf0e10cSrcweir    = { { &aImplIBM437ByteCvtData,
191*cdf0e10cSrcweir          ImplCharToUnicode,
192*cdf0e10cSrcweir          ImplUnicodeToChar,
193*cdf0e10cSrcweir          NULL,
194*cdf0e10cSrcweir          NULL,
195*cdf0e10cSrcweir          NULL,
196*cdf0e10cSrcweir          NULL,
197*cdf0e10cSrcweir          NULL,
198*cdf0e10cSrcweir          NULL },
199*cdf0e10cSrcweir        1,
200*cdf0e10cSrcweir        1,
201*cdf0e10cSrcweir        1,
202*cdf0e10cSrcweir        0,
203*cdf0e10cSrcweir        "iso8859-1",
204*cdf0e10cSrcweir        "ibm437",
205*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
206*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 437 */
207*cdf0e10cSrcweir
208*cdf0e10cSrcweir/* ======================================================================= */
209*cdf0e10cSrcweir
210*cdf0e10cSrcweir/* IBM-850 */
211*cdf0e10cSrcweir/* Dos Standard CharSet for Western/Europa */
212*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
213*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp850.txt from 04/24/96 Version 2.00 */
214*cdf0e10cSrcweir/* Last-Changes from us: */
215*cdf0e10cSrcweir/* D5 - geaendert auf EURO SIGN and 0x20AC added to D5 */
216*cdf0e10cSrcweir
217*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
218*cdf0e10cSrcweir
219*cdf0e10cSrcweir#define IBM850UNI_START                 0x80
220*cdf0e10cSrcweir#define IBM850UNI_END                   0xFF
221*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM850ToUniTab[IBM850UNI_END - IBM850UNI_START + 1] =
222*cdf0e10cSrcweir{
223*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
224*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
225*cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
226*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
227*cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
228*cdf0e10cSrcweir    0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, /* 0x90 */
229*cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
230*cdf0e10cSrcweir    0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
231*cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, /* 0xB0 */
232*cdf0e10cSrcweir    0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, /* 0xB0 */
233*cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, /* 0xC0 */
234*cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
235*cdf0e10cSrcweir    0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE, /* 0xD0 */
236*cdf0e10cSrcweir    0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
237*cdf0e10cSrcweir    0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, /* 0xE0 */
238*cdf0e10cSrcweir    0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, /* 0xE0 */
239*cdf0e10cSrcweir    0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
240*cdf0e10cSrcweir    0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
241*cdf0e10cSrcweir};
242*cdf0e10cSrcweir
243*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
244*cdf0e10cSrcweir
245*cdf0e10cSrcweir#define IBM850CHAR_START                0x00A0
246*cdf0e10cSrcweir#define IBM850CHAR_END                  0x00FF
247*cdf0e10cSrcweirstatic sal_uChar const aImplIBM850ToCharTab[IBM850CHAR_END - IBM850CHAR_START + 1] =
248*cdf0e10cSrcweir{
249*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
250*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
251*cdf0e10cSrcweir    0xFF, 0xAD, 0xBD, 0x9C, 0xCF, 0xBE, 0xDD, 0xF5, /* 0x00A0 */
252*cdf0e10cSrcweir    0xF9, 0xB8, 0xA6, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
253*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
254*cdf0e10cSrcweir    0xF7, 0xFB, 0xA7, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
255*cdf0e10cSrcweir    0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
256*cdf0e10cSrcweir    0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
257*cdf0e10cSrcweir    0xD1, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0x9E, /* 0x00D0 */
258*cdf0e10cSrcweir    0x9D, 0xEB, 0xE9, 0xEA, 0x9A, 0xED, 0xE8, 0xE1, /* 0x00D0 */
259*cdf0e10cSrcweir    0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
260*cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
261*cdf0e10cSrcweir    0xD0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
262*cdf0e10cSrcweir    0x9B, 0x97, 0xA3, 0x96, 0x81, 0xEC, 0xE7, 0x98  /* 0x00F0 */
263*cdf0e10cSrcweir};
264*cdf0e10cSrcweir
265*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
266*cdf0e10cSrcweir
267*cdf0e10cSrcweir#define IBM850TOCHARTABEX_COUNT         33
268*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM850ToCharTabEx[IBM850TOCHARTABEX_COUNT] =
269*cdf0e10cSrcweir{
270*cdf0e10cSrcweir  { 0x0131, 0xD5, 0 },
271*cdf0e10cSrcweir  { 0x0192, 0x9F, 0 },
272*cdf0e10cSrcweir  { 0x2017, 0xF2, 0 },
273*cdf0e10cSrcweir  { 0x20AC, 0xD5, 0 },
274*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
275*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
276*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
277*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
278*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
279*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
280*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
281*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
282*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
283*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
284*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
285*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
286*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
287*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
288*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
289*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
290*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
291*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
292*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
293*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
294*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
295*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
296*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
297*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
298*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
299*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
300*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
301*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
302*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
303*cdf0e10cSrcweir};
304*cdf0e10cSrcweir
305*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
306*cdf0e10cSrcweir
307*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM850ByteCvtData =
308*cdf0e10cSrcweir{
309*cdf0e10cSrcweir    aImplIBM850ToUniTab,
310*cdf0e10cSrcweir    NULL,
311*cdf0e10cSrcweir    IBM850UNI_START, IBM850UNI_END,
312*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
313*cdf0e10cSrcweir    aImplIBM850ToCharTab,
314*cdf0e10cSrcweir    NULL,
315*cdf0e10cSrcweir    aImplIBM850ToCharTabEx,
316*cdf0e10cSrcweir    IBM850CHAR_START, IBM850CHAR_END,
317*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
318*cdf0e10cSrcweir    IBM850TOCHARTABEX_COUNT
319*cdf0e10cSrcweir};
320*cdf0e10cSrcweir
321*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
322*cdf0e10cSrcweir
323*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM850TextEncodingData
324*cdf0e10cSrcweir    = { { &aImplIBM850ByteCvtData,
325*cdf0e10cSrcweir          ImplCharToUnicode,
326*cdf0e10cSrcweir          ImplUnicodeToChar,
327*cdf0e10cSrcweir          NULL,
328*cdf0e10cSrcweir          NULL,
329*cdf0e10cSrcweir          NULL,
330*cdf0e10cSrcweir          NULL,
331*cdf0e10cSrcweir          NULL,
332*cdf0e10cSrcweir          NULL },
333*cdf0e10cSrcweir        1,
334*cdf0e10cSrcweir        1,
335*cdf0e10cSrcweir        1,
336*cdf0e10cSrcweir        0,
337*cdf0e10cSrcweir        "iso8859-1",
338*cdf0e10cSrcweir        "ibm850",
339*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
340*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 850 */
341*cdf0e10cSrcweir
342*cdf0e10cSrcweir/* ======================================================================= */
343*cdf0e10cSrcweir
344*cdf0e10cSrcweir/* IBM-860 */
345*cdf0e10cSrcweir/* Dos Standard CharSet for Portugiese */
346*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
347*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp860.txt from 04/24/96 Version 2.00 */
348*cdf0e10cSrcweir/* Last-Changes from us: */
349*cdf0e10cSrcweir
350*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
351*cdf0e10cSrcweir
352*cdf0e10cSrcweir#define IBM860UNI_START                 0x80
353*cdf0e10cSrcweir#define IBM860UNI_END                   0xFF
354*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM860ToUniTab[IBM860UNI_END - IBM860UNI_START + 1] =
355*cdf0e10cSrcweir{
356*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
357*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
358*cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, /* 0x80 */
359*cdf0e10cSrcweir    0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, /* 0x80 */
360*cdf0e10cSrcweir    0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, /* 0x90 */
361*cdf0e10cSrcweir    0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, /* 0x90 */
362*cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
363*cdf0e10cSrcweir    0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
364*cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
365*cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
366*cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
367*cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
368*cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
369*cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
370*cdf0e10cSrcweir    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
371*cdf0e10cSrcweir    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
372*cdf0e10cSrcweir    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
373*cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
374*cdf0e10cSrcweir};
375*cdf0e10cSrcweir
376*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
377*cdf0e10cSrcweir
378*cdf0e10cSrcweir#define IBM860CHAR_START                0x00A0
379*cdf0e10cSrcweir#define IBM860CHAR_END                  0x00FC
380*cdf0e10cSrcweirstatic sal_uChar const aImplIBM860ToCharTab[IBM860CHAR_END - IBM860CHAR_START + 1] =
381*cdf0e10cSrcweir{
382*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
383*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
384*cdf0e10cSrcweir    0xFF, 0xAD, 0x9B, 0x9C,    0 ,   0,    0,    0, /* 0x00A0 */
385*cdf0e10cSrcweir       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
386*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
387*cdf0e10cSrcweir       0,    0, 0xA7, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
388*cdf0e10cSrcweir    0x91, 0x86, 0x8F, 0x8E,    0,    0,    0, 0x80, /* 0x00C0 */
389*cdf0e10cSrcweir    0x92, 0x90, 0x89,    0, 0x98, 0x8B,    0,    0, /* 0x00C0 */
390*cdf0e10cSrcweir       0, 0xA5, 0xA9, 0x9F, 0x8C, 0x99,    0,    0, /* 0x00D0 */
391*cdf0e10cSrcweir       0, 0x9D, 0x96,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
392*cdf0e10cSrcweir    0x85, 0xA0, 0x83, 0x84,    0,    0,    0, 0x87, /* 0x00E0 */
393*cdf0e10cSrcweir    0x8A, 0x82, 0x88,    0, 0x8D, 0xA1,    0,    0, /* 0x00E0 */
394*cdf0e10cSrcweir       0, 0xA4, 0x95, 0xA2, 0x93, 0x94,    0, 0xF6, /* 0x00F0 */
395*cdf0e10cSrcweir       0, 0x97, 0xA3,    0, 0x81                    /* 0x00F0 */
396*cdf0e10cSrcweir};
397*cdf0e10cSrcweir
398*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
399*cdf0e10cSrcweir
400*cdf0e10cSrcweir#define IBM860TOCHARTABEX_COUNT         73
401*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM860ToCharTabEx[IBM860TOCHARTABEX_COUNT] =
402*cdf0e10cSrcweir{
403*cdf0e10cSrcweir  { 0x0393, 0xE2, 0 },
404*cdf0e10cSrcweir  { 0x0398, 0xE9, 0 },
405*cdf0e10cSrcweir  { 0x03A3, 0xE4, 0 },
406*cdf0e10cSrcweir  { 0x03A6, 0xE8, 0 },
407*cdf0e10cSrcweir  { 0x03A9, 0xEA, 0 },
408*cdf0e10cSrcweir  { 0x03B1, 0xE0, 0 },
409*cdf0e10cSrcweir  { 0x03B4, 0xEB, 0 },
410*cdf0e10cSrcweir  { 0x03B5, 0xEE, 0 },
411*cdf0e10cSrcweir  { 0x03C0, 0xE3, 0 },
412*cdf0e10cSrcweir  { 0x03C3, 0xE5, 0 },
413*cdf0e10cSrcweir  { 0x03C4, 0xE7, 0 },
414*cdf0e10cSrcweir  { 0x03C6, 0xED, 0 },
415*cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
416*cdf0e10cSrcweir  { 0x20A7, 0x9E, 0 },
417*cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
418*cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
419*cdf0e10cSrcweir  { 0x221E, 0xEC, 0 },
420*cdf0e10cSrcweir  { 0x2229, 0xEF, 0 },
421*cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
422*cdf0e10cSrcweir  { 0x2261, 0xF0, 0 },
423*cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
424*cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
425*cdf0e10cSrcweir  { 0x2320, 0xF4, 0 },
426*cdf0e10cSrcweir  { 0x2321, 0xF5, 0 },
427*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
428*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
429*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
430*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
431*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
432*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
433*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
434*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
435*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
436*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
437*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
438*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
439*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
440*cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
441*cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
442*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
443*cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
444*cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
445*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
446*cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
447*cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
448*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
449*cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
450*cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
451*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
452*cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
453*cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
454*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
455*cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
456*cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
457*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
458*cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
459*cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
460*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
461*cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
462*cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
463*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
464*cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
465*cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
466*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
467*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
468*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
469*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
470*cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
471*cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
472*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
473*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
474*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
475*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
476*cdf0e10cSrcweir};
477*cdf0e10cSrcweir
478*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
479*cdf0e10cSrcweir
480*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM860ByteCvtData =
481*cdf0e10cSrcweir{
482*cdf0e10cSrcweir    aImplIBM860ToUniTab,
483*cdf0e10cSrcweir    NULL,
484*cdf0e10cSrcweir    IBM860UNI_START, IBM860UNI_END,
485*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
486*cdf0e10cSrcweir    aImplIBM860ToCharTab,
487*cdf0e10cSrcweir    NULL,
488*cdf0e10cSrcweir    aImplIBM860ToCharTabEx,
489*cdf0e10cSrcweir    IBM860CHAR_START, IBM860CHAR_END,
490*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
491*cdf0e10cSrcweir    IBM860TOCHARTABEX_COUNT
492*cdf0e10cSrcweir};
493*cdf0e10cSrcweir
494*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
495*cdf0e10cSrcweir
496*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM860TextEncodingData
497*cdf0e10cSrcweir    = { { &aImplIBM860ByteCvtData,
498*cdf0e10cSrcweir          ImplCharToUnicode,
499*cdf0e10cSrcweir          ImplUnicodeToChar,
500*cdf0e10cSrcweir          NULL,
501*cdf0e10cSrcweir          NULL,
502*cdf0e10cSrcweir          NULL,
503*cdf0e10cSrcweir          NULL,
504*cdf0e10cSrcweir          NULL,
505*cdf0e10cSrcweir          NULL },
506*cdf0e10cSrcweir        1,
507*cdf0e10cSrcweir        1,
508*cdf0e10cSrcweir        1,
509*cdf0e10cSrcweir        0,
510*cdf0e10cSrcweir        "iso8859-1",
511*cdf0e10cSrcweir        "IBM860",
512*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
513*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 860 */
514*cdf0e10cSrcweir
515*cdf0e10cSrcweir/* ======================================================================= */
516*cdf0e10cSrcweir
517*cdf0e10cSrcweir/* IBM-861 */
518*cdf0e10cSrcweir/* Dos Standard CharSet for Icelandic */
519*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
520*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp861.txt from 04/24/96 Version 2.00 */
521*cdf0e10cSrcweir/* Last-Changes from us: */
522*cdf0e10cSrcweir
523*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
524*cdf0e10cSrcweir
525*cdf0e10cSrcweir#define IBM861UNI_START                 0x80
526*cdf0e10cSrcweir#define IBM861UNI_END                   0xFF
527*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM861ToUniTab[IBM861UNI_END - IBM861UNI_START + 1] =
528*cdf0e10cSrcweir{
529*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
530*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
531*cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
532*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, /* 0x80 */
533*cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, /* 0x90 */
534*cdf0e10cSrcweir    0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
535*cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, /* 0xA0 */
536*cdf0e10cSrcweir    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
537*cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
538*cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
539*cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
540*cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
541*cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
542*cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
543*cdf0e10cSrcweir    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
544*cdf0e10cSrcweir    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
545*cdf0e10cSrcweir    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
546*cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
547*cdf0e10cSrcweir};
548*cdf0e10cSrcweir
549*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
550*cdf0e10cSrcweir
551*cdf0e10cSrcweir#define IBM861CHAR_START                0x00A0
552*cdf0e10cSrcweir#define IBM861CHAR_END                  0x00FE
553*cdf0e10cSrcweirstatic sal_uChar const aImplIBM861ToCharTab[IBM861CHAR_END - IBM861CHAR_START + 1] =
554*cdf0e10cSrcweir{
555*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
556*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
557*cdf0e10cSrcweir    0xFF, 0xAD,    0, 0x9C,    0,    0,    0,    0, /* 0x00A0 */
558*cdf0e10cSrcweir       0,    0,    0, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
559*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
560*cdf0e10cSrcweir       0,    0,    0, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
561*cdf0e10cSrcweir       0, 0xA4,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
562*cdf0e10cSrcweir       0, 0x90,    0,    0,    0, 0xA5,    0,    0, /* 0x00C0 */
563*cdf0e10cSrcweir    0x8B,    0,    0, 0xA6,    0,    0, 0x99,    0, /* 0x00D0 */
564*cdf0e10cSrcweir    0x9D,    0, 0xA7,    0, 0x9A, 0x97, 0x8D, 0xE1, /* 0x00D0 */
565*cdf0e10cSrcweir    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
566*cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89,    0, 0xA1,    0,    0, /* 0x00E0 */
567*cdf0e10cSrcweir    0x8C,    0,    0, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
568*cdf0e10cSrcweir    0x9B,    0, 0xA3, 0x96, 0x81, 0x98, 0x95        /* 0x00F0 */
569*cdf0e10cSrcweir};
570*cdf0e10cSrcweir
571*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
572*cdf0e10cSrcweir
573*cdf0e10cSrcweir#define IBM861TOCHARTABEX_COUNT         75
574*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM861ToCharTabEx[IBM861TOCHARTABEX_COUNT] =
575*cdf0e10cSrcweir{
576*cdf0e10cSrcweir  { 0x0192, 0x9F, 0 },
577*cdf0e10cSrcweir  { 0x0393, 0xE2, 0 },
578*cdf0e10cSrcweir  { 0x0398, 0xE9, 0 },
579*cdf0e10cSrcweir  { 0x03A3, 0xE4, 0 },
580*cdf0e10cSrcweir  { 0x03A6, 0xE8, 0 },
581*cdf0e10cSrcweir  { 0x03A9, 0xEA, 0 },
582*cdf0e10cSrcweir  { 0x03B1, 0xE0, 0 },
583*cdf0e10cSrcweir  { 0x03B4, 0xEB, 0 },
584*cdf0e10cSrcweir  { 0x03B5, 0xEE, 0 },
585*cdf0e10cSrcweir  { 0x03C0, 0xE3, 0 },
586*cdf0e10cSrcweir  { 0x03C3, 0xE5, 0 },
587*cdf0e10cSrcweir  { 0x03C4, 0xE7, 0 },
588*cdf0e10cSrcweir  { 0x03C6, 0xED, 0 },
589*cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
590*cdf0e10cSrcweir  { 0x20A7, 0x9E, 0 },
591*cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
592*cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
593*cdf0e10cSrcweir  { 0x221E, 0xEC, 0 },
594*cdf0e10cSrcweir  { 0x2229, 0xEF, 0 },
595*cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
596*cdf0e10cSrcweir  { 0x2261, 0xF0, 0 },
597*cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
598*cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
599*cdf0e10cSrcweir  { 0x2310, 0xA9, 0 },
600*cdf0e10cSrcweir  { 0x2320, 0xF4, 0 },
601*cdf0e10cSrcweir  { 0x2321, 0xF5, 0 },
602*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
603*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
604*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
605*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
606*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
607*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
608*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
609*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
610*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
611*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
612*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
613*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
614*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
615*cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
616*cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
617*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
618*cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
619*cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
620*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
621*cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
622*cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
623*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
624*cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
625*cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
626*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
627*cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
628*cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
629*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
630*cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
631*cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
632*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
633*cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
634*cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
635*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
636*cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
637*cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
638*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
639*cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
640*cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
641*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
642*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
643*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
644*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
645*cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
646*cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
647*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
648*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
649*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
650*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
651*cdf0e10cSrcweir};
652*cdf0e10cSrcweir
653*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
654*cdf0e10cSrcweir
655*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM861ByteCvtData =
656*cdf0e10cSrcweir{
657*cdf0e10cSrcweir    aImplIBM861ToUniTab,
658*cdf0e10cSrcweir    NULL,
659*cdf0e10cSrcweir    IBM861UNI_START, IBM861UNI_END,
660*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
661*cdf0e10cSrcweir    aImplIBM861ToCharTab,
662*cdf0e10cSrcweir    NULL,
663*cdf0e10cSrcweir    aImplIBM861ToCharTabEx,
664*cdf0e10cSrcweir    IBM861CHAR_START, IBM861CHAR_END,
665*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
666*cdf0e10cSrcweir    IBM861TOCHARTABEX_COUNT
667*cdf0e10cSrcweir};
668*cdf0e10cSrcweir
669*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
670*cdf0e10cSrcweir
671*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM861TextEncodingData
672*cdf0e10cSrcweir    = { { &aImplIBM861ByteCvtData,
673*cdf0e10cSrcweir          ImplCharToUnicode,
674*cdf0e10cSrcweir          ImplUnicodeToChar,
675*cdf0e10cSrcweir          NULL,
676*cdf0e10cSrcweir          NULL,
677*cdf0e10cSrcweir          NULL,
678*cdf0e10cSrcweir          NULL,
679*cdf0e10cSrcweir          NULL,
680*cdf0e10cSrcweir          NULL },
681*cdf0e10cSrcweir        1,
682*cdf0e10cSrcweir        1,
683*cdf0e10cSrcweir        1,
684*cdf0e10cSrcweir        0,
685*cdf0e10cSrcweir        "iso8859-1",
686*cdf0e10cSrcweir        "IBM861",
687*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
688*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
689*cdf0e10cSrcweir
690*cdf0e10cSrcweir/* ======================================================================= */
691*cdf0e10cSrcweir
692*cdf0e10cSrcweir/* IBM-863 */
693*cdf0e10cSrcweir/* Dos Standard CharSet for Canada-France */
694*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
695*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp863.txt from 04/24/96 Version 2.00 */
696*cdf0e10cSrcweir/* Last-Changes from us: */
697*cdf0e10cSrcweir
698*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
699*cdf0e10cSrcweir
700*cdf0e10cSrcweir#define IBM863UNI_START                 0x80
701*cdf0e10cSrcweir#define IBM863UNI_END                   0xFF
702*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM863ToUniTab[IBM863UNI_END - IBM863UNI_START + 1] =
703*cdf0e10cSrcweir{
704*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
705*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
706*cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, /* 0x80 */
707*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2017, 0x00C0, 0x00A7, /* 0x80 */
708*cdf0e10cSrcweir    0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, /* 0x90 */
709*cdf0e10cSrcweir    0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, /* 0x90 */
710*cdf0e10cSrcweir    0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF, /* 0xA0 */
711*cdf0e10cSrcweir    0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, /* 0xA0 */
712*cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
713*cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
714*cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
715*cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
716*cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
717*cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
718*cdf0e10cSrcweir    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
719*cdf0e10cSrcweir    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
720*cdf0e10cSrcweir    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
721*cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
722*cdf0e10cSrcweir};
723*cdf0e10cSrcweir
724*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
725*cdf0e10cSrcweir
726*cdf0e10cSrcweir#define IBM863CHAR_START                0x00A0
727*cdf0e10cSrcweir#define IBM863CHAR_END                  0x00FC
728*cdf0e10cSrcweirstatic sal_uChar const aImplIBM863ToCharTab[IBM863CHAR_END - IBM863CHAR_START + 1] =
729*cdf0e10cSrcweir{
730*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
731*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
732*cdf0e10cSrcweir    0xFF,    0, 0x9B, 0x9C, 0x98,    0, 0xA0, 0x8F, /* 0x00A0 */
733*cdf0e10cSrcweir    0xA4,    0,    0, 0xAE, 0xAA,    0,    0, 0xA7, /* 0x00A0 */
734*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD, 0xA6, 0xA1, 0xE6, 0x86, 0xFA, /* 0x00B0 */
735*cdf0e10cSrcweir    0xA5,    0,    0, 0xAF, 0xAC, 0xAB, 0xAD,    0, /* 0x00B0 */
736*cdf0e10cSrcweir    0x8E,    0, 0x84,    0,    0,    0,    0, 0x80, /* 0x00C0 */
737*cdf0e10cSrcweir    0x91, 0x90, 0x92, 0x94,    0,    0, 0xA8, 0x95, /* 0x00C0 */
738*cdf0e10cSrcweir       0,    0,    0,    0, 0x99,    0,    0,    0, /* 0x00D0 */
739*cdf0e10cSrcweir       0, 0x9D,    0, 0x9E, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
740*cdf0e10cSrcweir    0x85,    0, 0x83,    0,    0,    0,    0, 0x87, /* 0x00E0 */
741*cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89,    0,    0, 0x8C, 0x8B, /* 0x00E0 */
742*cdf0e10cSrcweir       0,    0,    0, 0xA2, 0x93,    0,    0, 0xF6, /* 0x00F0 */
743*cdf0e10cSrcweir       0, 0x97, 0xA3, 0x96, 0x81                    /* 0x00F0 */
744*cdf0e10cSrcweir};
745*cdf0e10cSrcweir
746*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
747*cdf0e10cSrcweir
748*cdf0e10cSrcweir#define IBM863TOCHARTABEX_COUNT         75
749*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM863ToCharTabEx[IBM863TOCHARTABEX_COUNT] =
750*cdf0e10cSrcweir{
751*cdf0e10cSrcweir  { 0x0192, 0x9F, 0 },
752*cdf0e10cSrcweir  { 0x0393, 0xE2, 0 },
753*cdf0e10cSrcweir  { 0x0398, 0xE9, 0 },
754*cdf0e10cSrcweir  { 0x03A3, 0xE4, 0 },
755*cdf0e10cSrcweir  { 0x03A6, 0xE8, 0 },
756*cdf0e10cSrcweir  { 0x03A9, 0xEA, 0 },
757*cdf0e10cSrcweir  { 0x03B1, 0xE0, 0 },
758*cdf0e10cSrcweir  { 0x03B4, 0xEB, 0 },
759*cdf0e10cSrcweir  { 0x03B5, 0xEE, 0 },
760*cdf0e10cSrcweir  { 0x03C0, 0xE3, 0 },
761*cdf0e10cSrcweir  { 0x03C3, 0xE5, 0 },
762*cdf0e10cSrcweir  { 0x03C4, 0xE7, 0 },
763*cdf0e10cSrcweir  { 0x03C6, 0xED, 0 },
764*cdf0e10cSrcweir  { 0x2017, 0x8D, 0 },
765*cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
766*cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
767*cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
768*cdf0e10cSrcweir  { 0x221E, 0xEC, 0 },
769*cdf0e10cSrcweir  { 0x2229, 0xEF, 0 },
770*cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
771*cdf0e10cSrcweir  { 0x2261, 0xF0, 0 },
772*cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
773*cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
774*cdf0e10cSrcweir  { 0x2310, 0xA9, 0 },
775*cdf0e10cSrcweir  { 0x2320, 0xF4, 0 },
776*cdf0e10cSrcweir  { 0x2321, 0xF5, 0 },
777*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
778*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
779*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
780*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
781*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
782*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
783*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
784*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
785*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
786*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
787*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
788*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
789*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
790*cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
791*cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
792*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
793*cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
794*cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
795*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
796*cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
797*cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
798*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
799*cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
800*cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
801*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
802*cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
803*cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
804*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
805*cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
806*cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
807*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
808*cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
809*cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
810*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
811*cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
812*cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
813*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
814*cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
815*cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
816*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
817*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
818*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
819*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
820*cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
821*cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
822*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
823*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
824*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
825*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
826*cdf0e10cSrcweir};
827*cdf0e10cSrcweir
828*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
829*cdf0e10cSrcweir
830*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM863ByteCvtData =
831*cdf0e10cSrcweir{
832*cdf0e10cSrcweir    aImplIBM863ToUniTab,
833*cdf0e10cSrcweir    NULL,
834*cdf0e10cSrcweir    IBM863UNI_START, IBM863UNI_END,
835*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
836*cdf0e10cSrcweir    aImplIBM863ToCharTab,
837*cdf0e10cSrcweir    NULL,
838*cdf0e10cSrcweir    aImplIBM863ToCharTabEx,
839*cdf0e10cSrcweir    IBM863CHAR_START, IBM863CHAR_END,
840*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
841*cdf0e10cSrcweir    IBM863TOCHARTABEX_COUNT
842*cdf0e10cSrcweir};
843*cdf0e10cSrcweir
844*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
845*cdf0e10cSrcweir
846*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM863TextEncodingData
847*cdf0e10cSrcweir    = { { &aImplIBM863ByteCvtData,
848*cdf0e10cSrcweir          ImplCharToUnicode,
849*cdf0e10cSrcweir          ImplUnicodeToChar,
850*cdf0e10cSrcweir          NULL,
851*cdf0e10cSrcweir          NULL,
852*cdf0e10cSrcweir          NULL,
853*cdf0e10cSrcweir          NULL,
854*cdf0e10cSrcweir          NULL,
855*cdf0e10cSrcweir          NULL },
856*cdf0e10cSrcweir        1,
857*cdf0e10cSrcweir        1,
858*cdf0e10cSrcweir        1,
859*cdf0e10cSrcweir        0,
860*cdf0e10cSrcweir        "iso8859-1",
861*cdf0e10cSrcweir        "IBM863",
862*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
863*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 863 */
864*cdf0e10cSrcweir
865*cdf0e10cSrcweir/* ======================================================================= */
866*cdf0e10cSrcweir
867*cdf0e10cSrcweir/* IBM-865 */
868*cdf0e10cSrcweir/* Dos Standard CharSet for Nordic */
869*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
870*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/pc/cp865.txt from 04/24/96 Version 2.00 */
871*cdf0e10cSrcweir/* Last-Changes from us: */
872*cdf0e10cSrcweir
873*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
874*cdf0e10cSrcweir
875*cdf0e10cSrcweir#define IBM865UNI_START                 0x80
876*cdf0e10cSrcweir#define IBM865UNI_END                   0xFF
877*cdf0e10cSrcweirstatic sal_uInt16 const aImplIBM865ToUniTab[IBM865UNI_END - IBM865UNI_START + 1] =
878*cdf0e10cSrcweir{
879*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
880*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
881*cdf0e10cSrcweir    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
882*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
883*cdf0e10cSrcweir    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
884*cdf0e10cSrcweir    0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
885*cdf0e10cSrcweir    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
886*cdf0e10cSrcweir    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, /* 0xA0 */
887*cdf0e10cSrcweir    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
888*cdf0e10cSrcweir    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
889*cdf0e10cSrcweir    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
890*cdf0e10cSrcweir    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
891*cdf0e10cSrcweir    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
892*cdf0e10cSrcweir    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
893*cdf0e10cSrcweir    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
894*cdf0e10cSrcweir    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
895*cdf0e10cSrcweir    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
896*cdf0e10cSrcweir    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
897*cdf0e10cSrcweir};
898*cdf0e10cSrcweir
899*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
900*cdf0e10cSrcweir
901*cdf0e10cSrcweir#define IBM865CHAR_START                0x00A0
902*cdf0e10cSrcweir#define IBM865CHAR_END                  0x00FF
903*cdf0e10cSrcweirstatic sal_uChar const aImplIBM865ToCharTab[IBM865CHAR_END - IBM865CHAR_START + 1] =
904*cdf0e10cSrcweir{
905*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
906*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
907*cdf0e10cSrcweir    0xFF, 0xAD,    0, 0x9C, 0xAF,    0,    0,    0, /* 0x00A0 */
908*cdf0e10cSrcweir       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
909*cdf0e10cSrcweir    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
910*cdf0e10cSrcweir       0,    0, 0xA7,    0, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
911*cdf0e10cSrcweir       0,    0,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
912*cdf0e10cSrcweir       0, 0x90,    0,    0,    0,    0,    0,    0, /* 0x00C0 */
913*cdf0e10cSrcweir       0, 0xA5,    0,    0,    0,    0, 0x99,    0, /* 0x00D0 */
914*cdf0e10cSrcweir    0x9D,    0,    0,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
915*cdf0e10cSrcweir    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
916*cdf0e10cSrcweir    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
917*cdf0e10cSrcweir       0, 0xA4, 0x95, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
918*cdf0e10cSrcweir    0x9B, 0x97, 0xA3, 0x96, 0x81,    0,    0, 0x98  /* 0x00F0 */
919*cdf0e10cSrcweir};
920*cdf0e10cSrcweir
921*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
922*cdf0e10cSrcweir
923*cdf0e10cSrcweir#define IBM865TOCHARTABEX_COUNT         75
924*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplIBM865ToCharTabEx[IBM865TOCHARTABEX_COUNT] =
925*cdf0e10cSrcweir{
926*cdf0e10cSrcweir  { 0x0192, 0x9F, 0 },
927*cdf0e10cSrcweir  { 0x0393, 0xE2, 0 },
928*cdf0e10cSrcweir  { 0x0398, 0xE9, 0 },
929*cdf0e10cSrcweir  { 0x03A3, 0xE4, 0 },
930*cdf0e10cSrcweir  { 0x03A6, 0xE8, 0 },
931*cdf0e10cSrcweir  { 0x03A9, 0xEA, 0 },
932*cdf0e10cSrcweir  { 0x03B1, 0xE0, 0 },
933*cdf0e10cSrcweir  { 0x03B4, 0xEB, 0 },
934*cdf0e10cSrcweir  { 0x03B5, 0xEE, 0 },
935*cdf0e10cSrcweir  { 0x03C0, 0xE3, 0 },
936*cdf0e10cSrcweir  { 0x03C3, 0xE5, 0 },
937*cdf0e10cSrcweir  { 0x03C4, 0xE7, 0 },
938*cdf0e10cSrcweir  { 0x03C6, 0xED, 0 },
939*cdf0e10cSrcweir  { 0x207F, 0xFC, 0 },
940*cdf0e10cSrcweir  { 0x20A7, 0x9E, 0 },
941*cdf0e10cSrcweir  { 0x2219, 0xF9, 0 },
942*cdf0e10cSrcweir  { 0x221A, 0xFB, 0 },
943*cdf0e10cSrcweir  { 0x221E, 0xEC, 0 },
944*cdf0e10cSrcweir  { 0x2229, 0xEF, 0 },
945*cdf0e10cSrcweir  { 0x2248, 0xF7, 0 },
946*cdf0e10cSrcweir  { 0x2261, 0xF0, 0 },
947*cdf0e10cSrcweir  { 0x2264, 0xF3, 0 },
948*cdf0e10cSrcweir  { 0x2265, 0xF2, 0 },
949*cdf0e10cSrcweir  { 0x2310, 0xA9, 0 },
950*cdf0e10cSrcweir  { 0x2320, 0xF4, 0 },
951*cdf0e10cSrcweir  { 0x2321, 0xF5, 0 },
952*cdf0e10cSrcweir  { 0x2500, 0xC4, 0 },
953*cdf0e10cSrcweir  { 0x2502, 0xB3, 0 },
954*cdf0e10cSrcweir  { 0x250C, 0xDA, 0 },
955*cdf0e10cSrcweir  { 0x2510, 0xBF, 0 },
956*cdf0e10cSrcweir  { 0x2514, 0xC0, 0 },
957*cdf0e10cSrcweir  { 0x2518, 0xD9, 0 },
958*cdf0e10cSrcweir  { 0x251C, 0xC3, 0 },
959*cdf0e10cSrcweir  { 0x2524, 0xB4, 0 },
960*cdf0e10cSrcweir  { 0x252C, 0xC2, 0 },
961*cdf0e10cSrcweir  { 0x2534, 0xC1, 0 },
962*cdf0e10cSrcweir  { 0x253C, 0xC5, 0 },
963*cdf0e10cSrcweir  { 0x2550, 0xCD, 0 },
964*cdf0e10cSrcweir  { 0x2551, 0xBA, 0 },
965*cdf0e10cSrcweir  { 0x2552, 0xD5, 0 },
966*cdf0e10cSrcweir  { 0x2553, 0xD6, 0 },
967*cdf0e10cSrcweir  { 0x2554, 0xC9, 0 },
968*cdf0e10cSrcweir  { 0x2555, 0xB8, 0 },
969*cdf0e10cSrcweir  { 0x2556, 0xB7, 0 },
970*cdf0e10cSrcweir  { 0x2557, 0xBB, 0 },
971*cdf0e10cSrcweir  { 0x2558, 0xD4, 0 },
972*cdf0e10cSrcweir  { 0x2559, 0xD3, 0 },
973*cdf0e10cSrcweir  { 0x255A, 0xC8, 0 },
974*cdf0e10cSrcweir  { 0x255B, 0xBE, 0 },
975*cdf0e10cSrcweir  { 0x255C, 0xBD, 0 },
976*cdf0e10cSrcweir  { 0x255D, 0xBC, 0 },
977*cdf0e10cSrcweir  { 0x255E, 0xC6, 0 },
978*cdf0e10cSrcweir  { 0x255F, 0xC7, 0 },
979*cdf0e10cSrcweir  { 0x2560, 0xCC, 0 },
980*cdf0e10cSrcweir  { 0x2561, 0xB5, 0 },
981*cdf0e10cSrcweir  { 0x2562, 0xB6, 0 },
982*cdf0e10cSrcweir  { 0x2563, 0xB9, 0 },
983*cdf0e10cSrcweir  { 0x2564, 0xD1, 0 },
984*cdf0e10cSrcweir  { 0x2565, 0xD2, 0 },
985*cdf0e10cSrcweir  { 0x2566, 0xCB, 0 },
986*cdf0e10cSrcweir  { 0x2567, 0xCF, 0 },
987*cdf0e10cSrcweir  { 0x2568, 0xD0, 0 },
988*cdf0e10cSrcweir  { 0x2569, 0xCA, 0 },
989*cdf0e10cSrcweir  { 0x256A, 0xD8, 0 },
990*cdf0e10cSrcweir  { 0x256B, 0xD7, 0 },
991*cdf0e10cSrcweir  { 0x256C, 0xCE, 0 },
992*cdf0e10cSrcweir  { 0x2580, 0xDF, 0 },
993*cdf0e10cSrcweir  { 0x2584, 0xDC, 0 },
994*cdf0e10cSrcweir  { 0x2588, 0xDB, 0 },
995*cdf0e10cSrcweir  { 0x258C, 0xDD, 0 },
996*cdf0e10cSrcweir  { 0x2590, 0xDE, 0 },
997*cdf0e10cSrcweir  { 0x2591, 0xB0, 0 },
998*cdf0e10cSrcweir  { 0x2592, 0xB1, 0 },
999*cdf0e10cSrcweir  { 0x2593, 0xB2, 0 },
1000*cdf0e10cSrcweir  { 0x25A0, 0xFE, 0 }
1001*cdf0e10cSrcweir};
1002*cdf0e10cSrcweir
1003*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1004*cdf0e10cSrcweir
1005*cdf0e10cSrcweirstatic ImplByteConvertData const aImplIBM865ByteCvtData =
1006*cdf0e10cSrcweir{
1007*cdf0e10cSrcweir    aImplIBM865ToUniTab,
1008*cdf0e10cSrcweir    NULL,
1009*cdf0e10cSrcweir    IBM865UNI_START, IBM865UNI_END,
1010*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1011*cdf0e10cSrcweir    aImplIBM865ToCharTab,
1012*cdf0e10cSrcweir    NULL,
1013*cdf0e10cSrcweir    aImplIBM865ToCharTabEx,
1014*cdf0e10cSrcweir    IBM865CHAR_START, IBM865CHAR_END,
1015*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1016*cdf0e10cSrcweir    IBM865TOCHARTABEX_COUNT
1017*cdf0e10cSrcweir};
1018*cdf0e10cSrcweir
1019*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1020*cdf0e10cSrcweir
1021*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplIBM865TextEncodingData
1022*cdf0e10cSrcweir    = { { &aImplIBM865ByteCvtData,
1023*cdf0e10cSrcweir          ImplCharToUnicode,
1024*cdf0e10cSrcweir          ImplUnicodeToChar,
1025*cdf0e10cSrcweir          NULL,
1026*cdf0e10cSrcweir          NULL,
1027*cdf0e10cSrcweir          NULL,
1028*cdf0e10cSrcweir          NULL,
1029*cdf0e10cSrcweir          NULL,
1030*cdf0e10cSrcweir          NULL },
1031*cdf0e10cSrcweir        1,
1032*cdf0e10cSrcweir        1,
1033*cdf0e10cSrcweir        1,
1034*cdf0e10cSrcweir        0,
1035*cdf0e10cSrcweir        "iso8859-1",
1036*cdf0e10cSrcweir        "IBM865",
1037*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1038*cdf0e10cSrcweir    /* DOS/OS2, SCRIPT_LATIN, pc code page 865 */
1039*cdf0e10cSrcweir
1040*cdf0e10cSrcweir/* ======================================================================= */
1041*cdf0e10cSrcweir
1042*cdf0e10cSrcweir/* MS-1252 */
1043*cdf0e10cSrcweir/* Windows Standard CharSet (ANSI) for Western Script */
1044*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1045*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/micsft/windows/cp1252.txt from 04/15/98 Version 2.01 */
1046*cdf0e10cSrcweir/* Last-Changes from us: */
1047*cdf0e10cSrcweir
1048*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1049*cdf0e10cSrcweir
1050*cdf0e10cSrcweir#define MS1252UNI_START                 0x80
1051*cdf0e10cSrcweir#define MS1252UNI_END                   0xFF
1052*cdf0e10cSrcweirstatic sal_uInt16 const aImplMS1252ToUniTab[MS1252UNI_END - MS1252UNI_START + 1] =
1053*cdf0e10cSrcweir{
1054*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1055*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1056*cdf0e10cSrcweir    0x20AC,      0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1057*cdf0e10cSrcweir    0x02C6, 0x2030, 0x0160, 0x2039, 0x0152,      0, 0x017D,      0, /* 0x80 */
1058*cdf0e10cSrcweir         0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1059*cdf0e10cSrcweir    0x02DC, 0x2122, 0x0161, 0x203A, 0x0153,      0, 0x017E, 0x0178, /* 0x90 */
1060*cdf0e10cSrcweir    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1061*cdf0e10cSrcweir    0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1062*cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1063*cdf0e10cSrcweir    0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
1064*cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1065*cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1066*cdf0e10cSrcweir    0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1067*cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1068*cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1069*cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1070*cdf0e10cSrcweir    0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1071*cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF  /* 0xF0 */
1072*cdf0e10cSrcweir};
1073*cdf0e10cSrcweir
1074*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1075*cdf0e10cSrcweir
1076*cdf0e10cSrcweir#define MS1252TOCHARTABEX_COUNT         27
1077*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplMS1252ToCharTabEx[MS1252TOCHARTABEX_COUNT] =
1078*cdf0e10cSrcweir{
1079*cdf0e10cSrcweir  { 0x0152, 0x8C, 0 },
1080*cdf0e10cSrcweir  { 0x0153, 0x9C, 0 },
1081*cdf0e10cSrcweir  { 0x0160, 0x8A, 0 },
1082*cdf0e10cSrcweir  { 0x0161, 0x9A, 0 },
1083*cdf0e10cSrcweir  { 0x0178, 0x9F, 0 },
1084*cdf0e10cSrcweir  { 0x017D, 0x8E, 0 },
1085*cdf0e10cSrcweir  { 0x017E, 0x9E, 0 },
1086*cdf0e10cSrcweir  { 0x0192, 0x83, 0 },
1087*cdf0e10cSrcweir  { 0x02C6, 0x88, 0 },
1088*cdf0e10cSrcweir  { 0x02DC, 0x98, 0 },
1089*cdf0e10cSrcweir  { 0x2013, 0x96, 0 },
1090*cdf0e10cSrcweir  { 0x2014, 0x97, 0 },
1091*cdf0e10cSrcweir  { 0x2018, 0x91, 0 },
1092*cdf0e10cSrcweir  { 0x2019, 0x92, 0 },
1093*cdf0e10cSrcweir  { 0x201A, 0x82, 0 },
1094*cdf0e10cSrcweir  { 0x201C, 0x93, 0 },
1095*cdf0e10cSrcweir  { 0x201D, 0x94, 0 },
1096*cdf0e10cSrcweir  { 0x201E, 0x84, 0 },
1097*cdf0e10cSrcweir  { 0x2020, 0x86, 0 },
1098*cdf0e10cSrcweir  { 0x2021, 0x87, 0 },
1099*cdf0e10cSrcweir  { 0x2022, 0x95, 0 },
1100*cdf0e10cSrcweir  { 0x2026, 0x85, 0 },
1101*cdf0e10cSrcweir  { 0x2030, 0x89, 0 },
1102*cdf0e10cSrcweir  { 0x2039, 0x8B, 0 },
1103*cdf0e10cSrcweir  { 0x203A, 0x9B, 0 },
1104*cdf0e10cSrcweir  { 0x20AC, 0x80, 0 },
1105*cdf0e10cSrcweir  { 0x2122, 0x99, 0 },
1106*cdf0e10cSrcweir};
1107*cdf0e10cSrcweir
1108*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1109*cdf0e10cSrcweir
1110*cdf0e10cSrcweirstatic ImplByteConvertData const aImplMS1252ByteCvtData =
1111*cdf0e10cSrcweir{
1112*cdf0e10cSrcweir    aImplMS1252ToUniTab,
1113*cdf0e10cSrcweir    NULL,
1114*cdf0e10cSrcweir    MS1252UNI_START, MS1252UNI_END,
1115*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1116*cdf0e10cSrcweir    aImplA0FFSameToCharTab,
1117*cdf0e10cSrcweir    NULL,
1118*cdf0e10cSrcweir    aImplMS1252ToCharTabEx,
1119*cdf0e10cSrcweir    SAMEA0FFCHAR_START, SAMEA0FFCHAR_END,
1120*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1121*cdf0e10cSrcweir    MS1252TOCHARTABEX_COUNT
1122*cdf0e10cSrcweir};
1123*cdf0e10cSrcweir
1124*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1125*cdf0e10cSrcweir
1126*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1252TextEncodingData
1127*cdf0e10cSrcweir    = { { &aImplMS1252ByteCvtData,
1128*cdf0e10cSrcweir          ImplCharToUnicode,
1129*cdf0e10cSrcweir          ImplUnicodeToChar,
1130*cdf0e10cSrcweir          NULL,
1131*cdf0e10cSrcweir          NULL,
1132*cdf0e10cSrcweir          NULL,
1133*cdf0e10cSrcweir          NULL,
1134*cdf0e10cSrcweir          NULL,
1135*cdf0e10cSrcweir          NULL },
1136*cdf0e10cSrcweir        1,
1137*cdf0e10cSrcweir        1,
1138*cdf0e10cSrcweir        1,
1139*cdf0e10cSrcweir        0,
1140*cdf0e10cSrcweir        "iso8859-1",
1141*cdf0e10cSrcweir        "windows-1252",
1142*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1143*cdf0e10cSrcweir    /* WIN, SCRIPT_LATIN, pc code page 850 */
1144*cdf0e10cSrcweir
1145*cdf0e10cSrcweir/* ======================================================================= */
1146*cdf0e10cSrcweir
1147*cdf0e10cSrcweir/* ISO-8859-1 */
1148*cdf0e10cSrcweir/* Unix Standard CharSet (Latin1) for Western Script */
1149*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1150*cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-1.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1151*cdf0e10cSrcweir/* Last-Changes from us: */
1152*cdf0e10cSrcweir
1153*cdf0e10cSrcweir#define ISO88591UNI_START               0xA0
1154*cdf0e10cSrcweir#define ISO88591UNI_END                 0xFF
1155*cdf0e10cSrcweirstatic sal_uInt16 const aImplISO88591ToUniTab[ISO88591UNI_END - ISO88591UNI_START + 1] =
1156*cdf0e10cSrcweir{
1157*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1158*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1159*cdf0e10cSrcweir    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1160*cdf0e10cSrcweir    0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1161*cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1162*cdf0e10cSrcweir    0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
1163*cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1164*cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1165*cdf0e10cSrcweir    0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1166*cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1167*cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1168*cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1169*cdf0e10cSrcweir    0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1170*cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF  /* 0xF0 */
1171*cdf0e10cSrcweir};
1172*cdf0e10cSrcweir
1173*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1174*cdf0e10cSrcweir
1175*cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO88591ByteCvtData =
1176*cdf0e10cSrcweir{
1177*cdf0e10cSrcweir    aImplISO88591ToUniTab,
1178*cdf0e10cSrcweir    aImpl8090SameToUniTab,
1179*cdf0e10cSrcweir    ISO88591UNI_START, ISO88591UNI_END,
1180*cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
1181*cdf0e10cSrcweir    aImplA0FFSameToCharTab,
1182*cdf0e10cSrcweir    aImpl8090SameToCharTab,
1183*cdf0e10cSrcweir    NULL,
1184*cdf0e10cSrcweir    SAMEA0FFCHAR_START, SAMEA0FFCHAR_END,
1185*cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
1186*cdf0e10cSrcweir    0
1187*cdf0e10cSrcweir};
1188*cdf0e10cSrcweir
1189*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1190*cdf0e10cSrcweir
1191*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO88591TextEncodingData
1192*cdf0e10cSrcweir    = { { &aImplISO88591ByteCvtData,
1193*cdf0e10cSrcweir          ImplCharToUnicode,
1194*cdf0e10cSrcweir          ImplUnicodeToChar,
1195*cdf0e10cSrcweir          NULL,
1196*cdf0e10cSrcweir          NULL,
1197*cdf0e10cSrcweir          NULL,
1198*cdf0e10cSrcweir          NULL,
1199*cdf0e10cSrcweir          NULL,
1200*cdf0e10cSrcweir          NULL },
1201*cdf0e10cSrcweir        1,
1202*cdf0e10cSrcweir        1,
1203*cdf0e10cSrcweir        1,
1204*cdf0e10cSrcweir        0,
1205*cdf0e10cSrcweir        "iso8859-1",
1206*cdf0e10cSrcweir        "iso-8859-1",
1207*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1208*cdf0e10cSrcweir    /* SCRIPT_LATIN, pc code page 850 */
1209*cdf0e10cSrcweir
1210*cdf0e10cSrcweir/* ======================================================================= */
1211*cdf0e10cSrcweir
1212*cdf0e10cSrcweir/* ISO-8859-14 */
1213*cdf0e10cSrcweir/* ungefaehr wie Latin1 */
1214*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1215*cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-14.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1216*cdf0e10cSrcweir/* Last-Changes from us: */
1217*cdf0e10cSrcweir
1218*cdf0e10cSrcweir#define ISO885914UNI_START              0xA0
1219*cdf0e10cSrcweir#define ISO885914UNI_END                0xFF
1220*cdf0e10cSrcweirstatic sal_uInt16 const aImplISO885914ToUniTab[ISO885914UNI_END - ISO885914UNI_START + 1] =
1221*cdf0e10cSrcweir{
1222*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1223*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1224*cdf0e10cSrcweir    0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, /* 0xA0 */
1225*cdf0e10cSrcweir    0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, /* 0xA0 */
1226*cdf0e10cSrcweir    0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, /* 0xB0 */
1227*cdf0e10cSrcweir    0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, /* 0xB0 */
1228*cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1229*cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1230*cdf0e10cSrcweir    0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, /* 0xD0 */
1231*cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, /* 0xD0 */
1232*cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1233*cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1234*cdf0e10cSrcweir    0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, /* 0xF0 */
1235*cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF  /* 0xF0 */
1236*cdf0e10cSrcweir};
1237*cdf0e10cSrcweir
1238*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1239*cdf0e10cSrcweir
1240*cdf0e10cSrcweir#define ISO885914CHAR_START             0x00C0
1241*cdf0e10cSrcweir#define ISO885914CHAR_END               0x00FF
1242*cdf0e10cSrcweirstatic sal_uChar const aImplISO885914ToCharTab[ISO885914CHAR_END - ISO885914CHAR_START + 1] =
1243*cdf0e10cSrcweir{
1244*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1245*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1246*cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
1247*cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
1248*cdf0e10cSrcweir       0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,    0, /* 0x00D0 */
1249*cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD,    0, 0xDF, /* 0x00D0 */
1250*cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
1251*cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
1252*cdf0e10cSrcweir       0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,    0, /* 0x00F0 */
1253*cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD,    0, 0xFF  /* 0x00F0 */
1254*cdf0e10cSrcweir};
1255*cdf0e10cSrcweir
1256*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1257*cdf0e10cSrcweir
1258*cdf0e10cSrcweir#define ISO885914TOCHARTABEX_COUNT      38
1259*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO885914ToCharTabEx[ISO885914TOCHARTABEX_COUNT] =
1260*cdf0e10cSrcweir{
1261*cdf0e10cSrcweir  { 0x00A0, 0xA0, 0 },
1262*cdf0e10cSrcweir  { 0x00A3, 0xA3, 0 },
1263*cdf0e10cSrcweir  { 0x00A7, 0xA7, 0 },
1264*cdf0e10cSrcweir  { 0x00A9, 0xA9, 0 },
1265*cdf0e10cSrcweir  { 0x00AD, 0xAD, 0 },
1266*cdf0e10cSrcweir  { 0x00AE, 0xAE, 0 },
1267*cdf0e10cSrcweir  { 0x00B6, 0xB6, 0 },
1268*cdf0e10cSrcweir  { 0x010A, 0xA4, 0 },
1269*cdf0e10cSrcweir  { 0x010B, 0xA5, 0 },
1270*cdf0e10cSrcweir  { 0x0120, 0xB2, 0 },
1271*cdf0e10cSrcweir  { 0x0121, 0xB3, 0 },
1272*cdf0e10cSrcweir  { 0x0174, 0xD0, 0 },
1273*cdf0e10cSrcweir  { 0x0175, 0xF0, 0 },
1274*cdf0e10cSrcweir  { 0x0176, 0xDE, 0 },
1275*cdf0e10cSrcweir  { 0x0177, 0xFE, 0 },
1276*cdf0e10cSrcweir  { 0x0178, 0xAF, 0 },
1277*cdf0e10cSrcweir  { 0x1E02, 0xA1, 0 },
1278*cdf0e10cSrcweir  { 0x1E03, 0xA2, 0 },
1279*cdf0e10cSrcweir  { 0x1E0A, 0xA6, 0 },
1280*cdf0e10cSrcweir  { 0x1E0B, 0xAB, 0 },
1281*cdf0e10cSrcweir  { 0x1E1E, 0xB0, 0 },
1282*cdf0e10cSrcweir  { 0x1E1F, 0xB1, 0 },
1283*cdf0e10cSrcweir  { 0x1E40, 0xB4, 0 },
1284*cdf0e10cSrcweir  { 0x1E41, 0xB5, 0 },
1285*cdf0e10cSrcweir  { 0x1E56, 0xB7, 0 },
1286*cdf0e10cSrcweir  { 0x1E57, 0xB9, 0 },
1287*cdf0e10cSrcweir  { 0x1E60, 0xBB, 0 },
1288*cdf0e10cSrcweir  { 0x1E61, 0xBF, 0 },
1289*cdf0e10cSrcweir  { 0x1E6A, 0xD7, 0 },
1290*cdf0e10cSrcweir  { 0x1E6B, 0xF7, 0 },
1291*cdf0e10cSrcweir  { 0x1E80, 0xA8, 0 },
1292*cdf0e10cSrcweir  { 0x1E81, 0xB8, 0 },
1293*cdf0e10cSrcweir  { 0x1E82, 0xAA, 0 },
1294*cdf0e10cSrcweir  { 0x1E83, 0xBA, 0 },
1295*cdf0e10cSrcweir  { 0x1E84, 0xBD, 0 },
1296*cdf0e10cSrcweir  { 0x1E85, 0xBE, 0 },
1297*cdf0e10cSrcweir  { 0x1EF2, 0xAC, 0 },
1298*cdf0e10cSrcweir  { 0x1EF3, 0xBC, 0 }
1299*cdf0e10cSrcweir};
1300*cdf0e10cSrcweir
1301*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1302*cdf0e10cSrcweir
1303*cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO885914ByteCvtData =
1304*cdf0e10cSrcweir{
1305*cdf0e10cSrcweir    aImplISO885914ToUniTab,
1306*cdf0e10cSrcweir    aImpl8090SameToUniTab,
1307*cdf0e10cSrcweir    ISO885914UNI_START, ISO885914UNI_END,
1308*cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
1309*cdf0e10cSrcweir    aImplISO885914ToCharTab,
1310*cdf0e10cSrcweir    aImpl8090SameToCharTab,
1311*cdf0e10cSrcweir    aImplISO885914ToCharTabEx,
1312*cdf0e10cSrcweir    ISO885914CHAR_START, ISO885914CHAR_END,
1313*cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
1314*cdf0e10cSrcweir    ISO885914TOCHARTABEX_COUNT
1315*cdf0e10cSrcweir};
1316*cdf0e10cSrcweir
1317*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1318*cdf0e10cSrcweir
1319*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO885914TextEncodingData
1320*cdf0e10cSrcweir    = { { &aImplISO885914ByteCvtData,
1321*cdf0e10cSrcweir          ImplCharToUnicode,
1322*cdf0e10cSrcweir          ImplUnicodeToChar,
1323*cdf0e10cSrcweir          NULL,
1324*cdf0e10cSrcweir          NULL,
1325*cdf0e10cSrcweir          NULL,
1326*cdf0e10cSrcweir          NULL,
1327*cdf0e10cSrcweir          NULL,
1328*cdf0e10cSrcweir          NULL },
1329*cdf0e10cSrcweir        1,
1330*cdf0e10cSrcweir        1,
1331*cdf0e10cSrcweir        1,
1332*cdf0e10cSrcweir        0,
1333*cdf0e10cSrcweir        "iso8859-14",
1334*cdf0e10cSrcweir        "iso-8859-14",
1335*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1336*cdf0e10cSrcweir    /* SCRIPT_LATIN, pc code page 850 */
1337*cdf0e10cSrcweir
1338*cdf0e10cSrcweir/* ======================================================================= */
1339*cdf0e10cSrcweir
1340*cdf0e10cSrcweir/* ISO-8859-15 */
1341*cdf0e10cSrcweir/* ungefaehr wie Latin1, jedoch mit Euro (ehemaliges CURRENCY-Symbol an A4) */
1342*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1343*cdf0e10cSrcweir/* Convert-Tables: mappings/iso8859/8859-15.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1344*cdf0e10cSrcweir/* Last-Changes from us: */
1345*cdf0e10cSrcweir
1346*cdf0e10cSrcweir#define ISO885915UNI_START              0xA0
1347*cdf0e10cSrcweir#define ISO885915UNI_END                0xFF
1348*cdf0e10cSrcweirstatic sal_uInt16 const aImplISO885915ToUniTab[ISO885915UNI_END - ISO885915UNI_START + 1] =
1349*cdf0e10cSrcweir{
1350*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1351*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1352*cdf0e10cSrcweir    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, /* 0xA0 */
1353*cdf0e10cSrcweir    0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1354*cdf0e10cSrcweir    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1355*cdf0e10cSrcweir    0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, /* 0xB0 */
1356*cdf0e10cSrcweir    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1357*cdf0e10cSrcweir    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1358*cdf0e10cSrcweir    0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1359*cdf0e10cSrcweir    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1360*cdf0e10cSrcweir    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1361*cdf0e10cSrcweir    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1362*cdf0e10cSrcweir    0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1363*cdf0e10cSrcweir    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF  /* 0xF0 */
1364*cdf0e10cSrcweir};
1365*cdf0e10cSrcweir
1366*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1367*cdf0e10cSrcweir
1368*cdf0e10cSrcweir#define ISO885915CHAR_START             0x00A0
1369*cdf0e10cSrcweir#define ISO885915CHAR_END               0x00FF
1370*cdf0e10cSrcweirstatic sal_uChar const aImplISO885915ToCharTab[ISO885915CHAR_END - ISO885915CHAR_START + 1] =
1371*cdf0e10cSrcweir{
1372*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1373*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1374*cdf0e10cSrcweir    0xA0, 0xA1, 0xA2, 0xA3,    0, 0xA5,    0, 0xA7, /* 0x00A0 */
1375*cdf0e10cSrcweir       0, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
1376*cdf0e10cSrcweir    0xB0, 0xB1, 0xB2, 0xB3,    0, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
1377*cdf0e10cSrcweir       0, 0xB9, 0xBA, 0xBB,    0,    0,    0, 0xBF, /* 0x00B0 */
1378*cdf0e10cSrcweir    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
1379*cdf0e10cSrcweir    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
1380*cdf0e10cSrcweir    0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
1381*cdf0e10cSrcweir    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
1382*cdf0e10cSrcweir    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
1383*cdf0e10cSrcweir    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
1384*cdf0e10cSrcweir    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
1385*cdf0e10cSrcweir    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF  /* 0x00F0 */
1386*cdf0e10cSrcweir};
1387*cdf0e10cSrcweir
1388*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1389*cdf0e10cSrcweir
1390*cdf0e10cSrcweir#define ISO885915TOCHARTABEX_COUNT      8
1391*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplISO885915ToCharTabEx[ISO885915TOCHARTABEX_COUNT] =
1392*cdf0e10cSrcweir{
1393*cdf0e10cSrcweir  { 0x0152, 0xBC, 0 },
1394*cdf0e10cSrcweir  { 0x0153, 0xBD, 0 },
1395*cdf0e10cSrcweir  { 0x0160, 0xA6, 0 },
1396*cdf0e10cSrcweir  { 0x0161, 0xA8, 0 },
1397*cdf0e10cSrcweir  { 0x0178, 0xBE, 0 },
1398*cdf0e10cSrcweir  { 0x017D, 0xB4, 0 },
1399*cdf0e10cSrcweir  { 0x017E, 0xB8, 0 },
1400*cdf0e10cSrcweir  { 0x20AC, 0xA4, 0 }
1401*cdf0e10cSrcweir};
1402*cdf0e10cSrcweir
1403*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1404*cdf0e10cSrcweir
1405*cdf0e10cSrcweirstatic ImplByteConvertData const aImplISO885915ByteCvtData =
1406*cdf0e10cSrcweir{
1407*cdf0e10cSrcweir    aImplISO885915ToUniTab,
1408*cdf0e10cSrcweir    aImpl8090SameToUniTab,
1409*cdf0e10cSrcweir    ISO885915UNI_START, ISO885915UNI_END,
1410*cdf0e10cSrcweir    SAME8090UNI_START, SAME8090UNI_END,
1411*cdf0e10cSrcweir    aImplISO885915ToCharTab,
1412*cdf0e10cSrcweir    aImpl8090SameToCharTab,
1413*cdf0e10cSrcweir    aImplISO885915ToCharTabEx,
1414*cdf0e10cSrcweir    ISO885915CHAR_START, ISO885915CHAR_END,
1415*cdf0e10cSrcweir    SAME8090CHAR_START, SAME8090CHAR_END,
1416*cdf0e10cSrcweir    ISO885915TOCHARTABEX_COUNT
1417*cdf0e10cSrcweir};
1418*cdf0e10cSrcweir
1419*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1420*cdf0e10cSrcweir
1421*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplISO885915TextEncodingData
1422*cdf0e10cSrcweir    = { { &aImplISO885915ByteCvtData,
1423*cdf0e10cSrcweir          ImplCharToUnicode,
1424*cdf0e10cSrcweir          ImplUnicodeToChar,
1425*cdf0e10cSrcweir          NULL,
1426*cdf0e10cSrcweir          NULL,
1427*cdf0e10cSrcweir          NULL,
1428*cdf0e10cSrcweir          NULL,
1429*cdf0e10cSrcweir          NULL,
1430*cdf0e10cSrcweir          NULL },
1431*cdf0e10cSrcweir        1,
1432*cdf0e10cSrcweir        1,
1433*cdf0e10cSrcweir        1,
1434*cdf0e10cSrcweir        0,
1435*cdf0e10cSrcweir        "iso8859-15",
1436*cdf0e10cSrcweir        "iso-8859-15",
1437*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1438*cdf0e10cSrcweir    /* SCRIPT_LATIN, pc code page 850 */
1439*cdf0e10cSrcweir
1440*cdf0e10cSrcweir/* ======================================================================= */
1441*cdf0e10cSrcweir
1442*cdf0e10cSrcweir/* APPLE-Iceland */
1443*cdf0e10cSrcweir/* Apple CharSet for Iceland */
1444*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
1445*cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
1446*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/iceland.txt from 02/05/98 */
1447*cdf0e10cSrcweir/* Last-Changes from us: */
1448*cdf0e10cSrcweir
1449*cdf0e10cSrcweir#define APPLEICELANDUNI_START           0x80
1450*cdf0e10cSrcweir#define APPLEICELANDUNI_END             0xFF
1451*cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLEICELANDToUniTab[APPLEICELANDUNI_END - APPLEICELANDUNI_START + 1] =
1452*cdf0e10cSrcweir{
1453*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1454*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1455*cdf0e10cSrcweir    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
1456*cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
1457*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
1458*cdf0e10cSrcweir    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
1459*cdf0e10cSrcweir    0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
1460*cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
1461*cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
1462*cdf0e10cSrcweir    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
1463*cdf0e10cSrcweir    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
1464*cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
1465*cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
1466*cdf0e10cSrcweir    0x00FF, 0x0178, 0x2044, 0x00A4, 0x00D0, 0x00F0, 0x00DE, 0x00FE, /* 0xD0 */
1467*cdf0e10cSrcweir    0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
1468*cdf0e10cSrcweir    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
1469*cdf0e10cSrcweir    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
1470*cdf0e10cSrcweir    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
1471*cdf0e10cSrcweir};
1472*cdf0e10cSrcweir
1473*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1474*cdf0e10cSrcweir
1475*cdf0e10cSrcweir#define APPLEICELANDCHAR_START          0x00A0
1476*cdf0e10cSrcweir#define APPLEICELANDCHAR_END            0x00FF
1477*cdf0e10cSrcweirstatic sal_uChar const aImplAPPLEICELANDToCharTab[APPLEICELANDCHAR_END - APPLEICELANDCHAR_START + 1] =
1478*cdf0e10cSrcweir{
1479*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1480*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1481*cdf0e10cSrcweir    0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4,    0, 0xA4, /* 0x00A0 */
1482*cdf0e10cSrcweir    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
1483*cdf0e10cSrcweir    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
1484*cdf0e10cSrcweir    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
1485*cdf0e10cSrcweir    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
1486*cdf0e10cSrcweir    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
1487*cdf0e10cSrcweir    0xDC, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
1488*cdf0e10cSrcweir    0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0xA0, 0xDE, 0xA7, /* 0x00D0 */
1489*cdf0e10cSrcweir    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
1490*cdf0e10cSrcweir    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
1491*cdf0e10cSrcweir    0xDD, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
1492*cdf0e10cSrcweir    0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0xE0, 0xDF, 0xD8  /* 0x00F0 */
1493*cdf0e10cSrcweir};
1494*cdf0e10cSrcweir
1495*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1496*cdf0e10cSrcweir
1497*cdf0e10cSrcweir#define APPLEICELANDTOCHARTABEX_COUNT   41
1498*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLEICELANDToCharTabEx[APPLEICELANDTOCHARTABEX_COUNT] =
1499*cdf0e10cSrcweir{
1500*cdf0e10cSrcweir  { 0x0131, 0xF5, 0 },
1501*cdf0e10cSrcweir  { 0x0152, 0xCE, 0 },
1502*cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
1503*cdf0e10cSrcweir  { 0x0178, 0xD9, 0 },
1504*cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
1505*cdf0e10cSrcweir  { 0x02C6, 0xF6, 0 },
1506*cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
1507*cdf0e10cSrcweir  { 0x02D8, 0xF9, 0 },
1508*cdf0e10cSrcweir  { 0x02D9, 0xFA, 0 },
1509*cdf0e10cSrcweir  { 0x02DA, 0xFB, 0 },
1510*cdf0e10cSrcweir  { 0x02DB, 0xFE, 0 },
1511*cdf0e10cSrcweir  { 0x02DC, 0xF7, 0 },
1512*cdf0e10cSrcweir  { 0x02DD, 0xFD, 0 },
1513*cdf0e10cSrcweir  { 0x03A9, 0xBD, 0 },
1514*cdf0e10cSrcweir  { 0x03C0, 0xB9, 0 },
1515*cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
1516*cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
1517*cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
1518*cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
1519*cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
1520*cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
1521*cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
1522*cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
1523*cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
1524*cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
1525*cdf0e10cSrcweir  { 0x2030, 0xE4, 0 },
1526*cdf0e10cSrcweir  { 0x2044, 0xDA, 0 },
1527*cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
1528*cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
1529*cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
1530*cdf0e10cSrcweir  { 0x220F, 0xB8, 0 },
1531*cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
1532*cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
1533*cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
1534*cdf0e10cSrcweir  { 0x222B, 0xBA, 0 },
1535*cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
1536*cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
1537*cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
1538*cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
1539*cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 },
1540*cdf0e10cSrcweir  { 0xF8FF, 0xF0, 0 }
1541*cdf0e10cSrcweir};
1542*cdf0e10cSrcweir
1543*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1544*cdf0e10cSrcweir
1545*cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLEICELANDByteCvtData =
1546*cdf0e10cSrcweir{
1547*cdf0e10cSrcweir    aImplAPPLEICELANDToUniTab,
1548*cdf0e10cSrcweir    NULL,
1549*cdf0e10cSrcweir    APPLEICELANDUNI_START, APPLEICELANDUNI_END,
1550*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1551*cdf0e10cSrcweir    aImplAPPLEICELANDToCharTab,
1552*cdf0e10cSrcweir    NULL,
1553*cdf0e10cSrcweir    aImplAPPLEICELANDToCharTabEx,
1554*cdf0e10cSrcweir    APPLEICELANDCHAR_START, APPLEICELANDCHAR_END,
1555*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1556*cdf0e10cSrcweir    APPLEICELANDTOCHARTABEX_COUNT
1557*cdf0e10cSrcweir};
1558*cdf0e10cSrcweir
1559*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1560*cdf0e10cSrcweir
1561*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEICELANDTextEncodingData
1562*cdf0e10cSrcweir    = { { &aImplAPPLEICELANDByteCvtData,
1563*cdf0e10cSrcweir          ImplCharToUnicode,
1564*cdf0e10cSrcweir          ImplUnicodeToChar,
1565*cdf0e10cSrcweir          NULL,
1566*cdf0e10cSrcweir          NULL,
1567*cdf0e10cSrcweir          NULL,
1568*cdf0e10cSrcweir          NULL,
1569*cdf0e10cSrcweir          NULL,
1570*cdf0e10cSrcweir          NULL },
1571*cdf0e10cSrcweir        1,
1572*cdf0e10cSrcweir        1,
1573*cdf0e10cSrcweir        1,
1574*cdf0e10cSrcweir        0,
1575*cdf0e10cSrcweir        "iso8859-1",
1576*cdf0e10cSrcweir        "iso-8859-1",
1577*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII };
1578*cdf0e10cSrcweir    /* MAC, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
1579*cdf0e10cSrcweir
1580*cdf0e10cSrcweir/* ======================================================================= */
1581*cdf0e10cSrcweir
1582*cdf0e10cSrcweir/* APPLE-Roman */
1583*cdf0e10cSrcweir/* Standard Apple CharSet for Western */
1584*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
1585*cdf0e10cSrcweir/* die wir aber nicht beruecksichtigen */
1586*cdf0e10cSrcweir/* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
1587*cdf0e10cSrcweir/* Last-Changes from us: */
1588*cdf0e10cSrcweir
1589*cdf0e10cSrcweir#define APPLEROMANUNI_START             0x80
1590*cdf0e10cSrcweir#define APPLEROMANUNI_END               0xFF
1591*cdf0e10cSrcweirstatic sal_uInt16 const aImplAPPLEROMANToUniTab[APPLEROMANUNI_END - APPLEROMANUNI_START + 1] =
1592*cdf0e10cSrcweir{
1593*cdf0e10cSrcweir/*       0       1       2       3       4       5       6       7 */
1594*cdf0e10cSrcweir/*       8       9       A       B       C       D       E       F */
1595*cdf0e10cSrcweir    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
1596*cdf0e10cSrcweir    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
1597*cdf0e10cSrcweir    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
1598*cdf0e10cSrcweir    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
1599*cdf0e10cSrcweir    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
1600*cdf0e10cSrcweir    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
1601*cdf0e10cSrcweir    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
1602*cdf0e10cSrcweir    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
1603*cdf0e10cSrcweir    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
1604*cdf0e10cSrcweir    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
1605*cdf0e10cSrcweir    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
1606*cdf0e10cSrcweir    0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0xFB01, 0xFB02, /* 0xD0 */
1607*cdf0e10cSrcweir    0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
1608*cdf0e10cSrcweir    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
1609*cdf0e10cSrcweir    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
1610*cdf0e10cSrcweir    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
1611*cdf0e10cSrcweir};
1612*cdf0e10cSrcweir
1613*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1614*cdf0e10cSrcweir
1615*cdf0e10cSrcweir#define APPLEROMANCHAR_START            0x00A0
1616*cdf0e10cSrcweir#define APPLEROMANCHAR_END              0x00FF
1617*cdf0e10cSrcweirstatic sal_uChar const aImplAPPLEROMANToCharTab[APPLEROMANCHAR_END - APPLEROMANCHAR_START + 1] =
1618*cdf0e10cSrcweir{
1619*cdf0e10cSrcweir/*     0     1     2     3     4     5     6     7 */
1620*cdf0e10cSrcweir/*     8     9     A     B     C     D     E     F */
1621*cdf0e10cSrcweir    0xCA, 0xC1, 0xA2, 0xA3,    0, 0xB4,    0, 0xA4, /* 0x00A0 */
1622*cdf0e10cSrcweir    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
1623*cdf0e10cSrcweir    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
1624*cdf0e10cSrcweir    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
1625*cdf0e10cSrcweir    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
1626*cdf0e10cSrcweir    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
1627*cdf0e10cSrcweir       0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
1628*cdf0e10cSrcweir    0xAF, 0xF4, 0xF2, 0xF3, 0x86,    0,    0, 0xA7, /* 0x00D0 */
1629*cdf0e10cSrcweir    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
1630*cdf0e10cSrcweir    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
1631*cdf0e10cSrcweir       0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
1632*cdf0e10cSrcweir    0xBF, 0x9D, 0x9C, 0x9E, 0x9F,    0,    0, 0xD8  /* 0x00F0 */
1633*cdf0e10cSrcweir};
1634*cdf0e10cSrcweir
1635*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1636*cdf0e10cSrcweir
1637*cdf0e10cSrcweir#define APPLEROMANTOCHARTABEX_COUNT     48
1638*cdf0e10cSrcweirstatic ImplUniCharTabData const aImplAPPLEROMANToCharTabEx[APPLEROMANTOCHARTABEX_COUNT] =
1639*cdf0e10cSrcweir{
1640*cdf0e10cSrcweir  { 0x0131, 0xF5, 0 },
1641*cdf0e10cSrcweir  { 0x0152, 0xCE, 0 },
1642*cdf0e10cSrcweir  { 0x0153, 0xCF, 0 },
1643*cdf0e10cSrcweir  { 0x0178, 0xD9, 0 },
1644*cdf0e10cSrcweir  { 0x0192, 0xC4, 0 },
1645*cdf0e10cSrcweir  { 0x02C6, 0xF6, 0 },
1646*cdf0e10cSrcweir  { 0x02C7, 0xFF, 0 },
1647*cdf0e10cSrcweir  { 0x02D8, 0xF9, 0 },
1648*cdf0e10cSrcweir  { 0x02D9, 0xFA, 0 },
1649*cdf0e10cSrcweir  { 0x02DA, 0xFB, 0 },
1650*cdf0e10cSrcweir  { 0x02DB, 0xFE, 0 },
1651*cdf0e10cSrcweir  { 0x02DC, 0xF7, 0 },
1652*cdf0e10cSrcweir  { 0x02DD, 0xFD, 0 },
1653*cdf0e10cSrcweir  { 0x03A9, 0xBD, 0 },
1654*cdf0e10cSrcweir  { 0x03C0, 0xB9, 0 },
1655*cdf0e10cSrcweir  { 0x2013, 0xD0, 0 },
1656*cdf0e10cSrcweir  { 0x2014, 0xD1, 0 },
1657*cdf0e10cSrcweir  { 0x2018, 0xD4, 0 },
1658*cdf0e10cSrcweir  { 0x2019, 0xD5, 0 },
1659*cdf0e10cSrcweir  { 0x201A, 0xE2, 0 },
1660*cdf0e10cSrcweir  { 0x201C, 0xD2, 0 },
1661*cdf0e10cSrcweir  { 0x201D, 0xD3, 0 },
1662*cdf0e10cSrcweir  { 0x201E, 0xE3, 0 },
1663*cdf0e10cSrcweir  { 0x2020, 0xA0, 0 },
1664*cdf0e10cSrcweir  { 0x2021, 0xE0, 0 },
1665*cdf0e10cSrcweir  { 0x2022, 0xA5, 0 },
1666*cdf0e10cSrcweir  { 0x2026, 0xC9, 0 },
1667*cdf0e10cSrcweir  { 0x2030, 0xE4, 0 },
1668*cdf0e10cSrcweir  { 0x2039, 0xDC, 0 },
1669*cdf0e10cSrcweir  { 0x203A, 0xDD, 0 },
1670*cdf0e10cSrcweir  { 0x2044, 0xDA, 0 },
1671*cdf0e10cSrcweir  { 0x20AC, 0xDB, 0 },
1672*cdf0e10cSrcweir  { 0x2122, 0xAA, 0 },
1673*cdf0e10cSrcweir  { 0x2202, 0xB6, 0 },
1674*cdf0e10cSrcweir  { 0x2206, 0xC6, 0 },
1675*cdf0e10cSrcweir  { 0x220F, 0xB8, 0 },
1676*cdf0e10cSrcweir  { 0x2211, 0xB7, 0 },
1677*cdf0e10cSrcweir  { 0x221A, 0xC3, 0 },
1678*cdf0e10cSrcweir  { 0x221E, 0xB0, 0 },
1679*cdf0e10cSrcweir  { 0x222B, 0xBA, 0 },
1680*cdf0e10cSrcweir  { 0x2248, 0xC5, 0 },
1681*cdf0e10cSrcweir  { 0x2260, 0xAD, 0 },
1682*cdf0e10cSrcweir  { 0x2264, 0xB2, 0 },
1683*cdf0e10cSrcweir  { 0x2265, 0xB3, 0 },
1684*cdf0e10cSrcweir  { 0x25CA, 0xD7, 0 },
1685*cdf0e10cSrcweir  { 0xF8FF, 0xF0, 0 },
1686*cdf0e10cSrcweir  { 0xFB01, 0xDE, 0 },
1687*cdf0e10cSrcweir  { 0xFB02, 0xDF, 0 }
1688*cdf0e10cSrcweir};
1689*cdf0e10cSrcweir
1690*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1691*cdf0e10cSrcweir
1692*cdf0e10cSrcweirstatic ImplByteConvertData const aImplAPPLEROMANByteCvtData =
1693*cdf0e10cSrcweir{
1694*cdf0e10cSrcweir    aImplAPPLEROMANToUniTab,
1695*cdf0e10cSrcweir    NULL,
1696*cdf0e10cSrcweir    APPLEROMANUNI_START, APPLEROMANUNI_END,
1697*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1698*cdf0e10cSrcweir    aImplAPPLEROMANToCharTab,
1699*cdf0e10cSrcweir    NULL,
1700*cdf0e10cSrcweir    aImplAPPLEROMANToCharTabEx,
1701*cdf0e10cSrcweir    APPLEROMANCHAR_START, APPLEROMANCHAR_END,
1702*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1703*cdf0e10cSrcweir    APPLEROMANTOCHARTABEX_COUNT
1704*cdf0e10cSrcweir};
1705*cdf0e10cSrcweir
1706*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1707*cdf0e10cSrcweir
1708*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEROMANTextEncodingData
1709*cdf0e10cSrcweir    = { { &aImplAPPLEROMANByteCvtData,
1710*cdf0e10cSrcweir          ImplCharToUnicode,
1711*cdf0e10cSrcweir          ImplUnicodeToChar,
1712*cdf0e10cSrcweir          NULL,
1713*cdf0e10cSrcweir          NULL,
1714*cdf0e10cSrcweir          NULL,
1715*cdf0e10cSrcweir          NULL,
1716*cdf0e10cSrcweir          NULL,
1717*cdf0e10cSrcweir          NULL },
1718*cdf0e10cSrcweir        1,
1719*cdf0e10cSrcweir        1,
1720*cdf0e10cSrcweir        1,
1721*cdf0e10cSrcweir        77,
1722*cdf0e10cSrcweir        "iso8859-1",
1723*cdf0e10cSrcweir        "macintosh",
1724*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1725*cdf0e10cSrcweir    /* MAC, SCRIPT_LATIN, pc code page 850 */
1726*cdf0e10cSrcweir
1727*cdf0e10cSrcweir/* ======================================================================= */
1728*cdf0e10cSrcweir
1729*cdf0e10cSrcweir/* US-ASCII */
1730*cdf0e10cSrcweir/* 7-Bit ASCII */
1731*cdf0e10cSrcweir/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1732*cdf0e10cSrcweir/* For the import we use ISO-8859-1 with MS extension (MS-1252), because */
1733*cdf0e10cSrcweir/* when the 8-Bit is set, the chance, that this is a ISO-8859-1 character */
1734*cdf0e10cSrcweir/* is the greatest. For the export all chars greater than 127 are not */
1735*cdf0e10cSrcweir/* converted and are replaced by the replacement character. */
1736*cdf0e10cSrcweir/* Last-Changes from us: */
1737*cdf0e10cSrcweir
1738*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1739*cdf0e10cSrcweir
1740*cdf0e10cSrcweirstatic ImplByteConvertData const aImplUSASCIIByteCvtData =
1741*cdf0e10cSrcweir{
1742*cdf0e10cSrcweir    aImplMS1252ToUniTab,
1743*cdf0e10cSrcweir    NULL,
1744*cdf0e10cSrcweir    MS1252UNI_START, MS1252UNI_END,
1745*cdf0e10cSrcweir    NOTABUNI_START, NOTABUNI_END,
1746*cdf0e10cSrcweir    NULL,
1747*cdf0e10cSrcweir    NULL,
1748*cdf0e10cSrcweir    NULL,
1749*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1750*cdf0e10cSrcweir    NOTABCHAR_START, NOTABCHAR_END,
1751*cdf0e10cSrcweir    0
1752*cdf0e10cSrcweir};
1753*cdf0e10cSrcweir
1754*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1755*cdf0e10cSrcweir
1756*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplUSASCIITextEncodingData
1757*cdf0e10cSrcweir    = { { &aImplUSASCIIByteCvtData,
1758*cdf0e10cSrcweir          ImplCharToUnicode,
1759*cdf0e10cSrcweir          ImplUnicodeToChar,
1760*cdf0e10cSrcweir          NULL,
1761*cdf0e10cSrcweir          NULL,
1762*cdf0e10cSrcweir          NULL,
1763*cdf0e10cSrcweir          NULL,
1764*cdf0e10cSrcweir          NULL,
1765*cdf0e10cSrcweir          NULL },
1766*cdf0e10cSrcweir        1,
1767*cdf0e10cSrcweir        1,
1768*cdf0e10cSrcweir        1,
1769*cdf0e10cSrcweir        0,
1770*cdf0e10cSrcweir        "iso8859-1",
1771*cdf0e10cSrcweir        "us-ascii",
1772*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII
1773*cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_7BIT
1774*cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MIME };
1775*cdf0e10cSrcweir    /* SCRIPT_LATIN, pc code page 437 */
1776