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