1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: tcvtlat1.tab,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 /* ======================================================================= */
33 /* This file contain the tables for all 1 byte charsets, for the */
34 /* following scripts: latin, iceland, nordic */
36 /* ======================================================================= */
39 /* Dos Latin US - Standard CharSet for Western Script */
40 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
41 /* Convert-Tables: mappings/vendors/micsft/pc/cp437.txt from 04/24/96 Version 2.00 */
42 /* Last-Changes from us: */
44 /* ----------------------------------------------------------------------- */
46 #define IBM437UNI_START 0x80
47 #define IBM437UNI_END 0xFF
48 static sal_uInt16 const aImplIBM437ToUniTab[IBM437UNI_END - IBM437UNI_START + 1] =
52 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
53 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
54 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
55 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, /* 0x90 */
56 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
57 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
58 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
59 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
60 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
61 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
62 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
63 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
64 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
65 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
66 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
67 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
70 /* ----------------------------------------------------------------------- */
72 #define IBM437CHAR_START 0x00A0
73 #define IBM437CHAR_END 0x00FF
74 static sal_uChar const aImplIBM437ToCharTab[IBM437CHAR_END - IBM437CHAR_START + 1] =
78 0xFF, 0xAD, 0x9B, 0x9C, 0, 0x9D, 0, 0, /* 0x00A0 */
79 0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
80 0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
81 0, 0, 0xA7, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
82 0, 0, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
83 0, 0x90, 0, 0, 0, 0, 0, 0, /* 0x00C0 */
84 0, 0xA5, 0, 0, 0, 0, 0x99, 0, /* 0x00D0 */
85 0, 0, 0, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
86 0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
87 0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
88 0, 0xA4, 0x95, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
89 0, 0x97, 0xA3, 0x96, 0x81, 0, 0, 0x98 /* 0x00F0 */
92 /* ----------------------------------------------------------------------- */
94 #define IBM437TOCHARTABEX_COUNT 75
95 static ImplUniCharTabData const aImplIBM437ToCharTabEx[IBM437TOCHARTABEX_COUNT] =
174 /* ----------------------------------------------------------------------- */
176 static ImplByteConvertData const aImplIBM437ByteCvtData =
180 IBM437UNI_START, IBM437UNI_END,
181 NOTABUNI_START, NOTABUNI_END,
182 aImplIBM437ToCharTab,
184 aImplIBM437ToCharTabEx,
185 IBM437CHAR_START, IBM437CHAR_END,
186 NOTABCHAR_START, NOTABCHAR_END,
187 IBM437TOCHARTABEX_COUNT
190 /* ----------------------------------------------------------------------- */
192 static ImplTextEncodingData const aImplIBM437TextEncodingData
193 = { { &aImplIBM437ByteCvtData,
208 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
209 /* DOS/OS2, SCRIPT_LATIN, pc code page 437 */
211 /* ======================================================================= */
214 /* Dos Standard CharSet for Western/Europa */
215 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
216 /* Convert-Tables: mappings/vendors/micsft/pc/cp850.txt from 04/24/96 Version 2.00 */
217 /* Last-Changes from us: */
218 /* D5 - geaendert auf EURO SIGN and 0x20AC added to D5 */
220 /* ----------------------------------------------------------------------- */
222 #define IBM850UNI_START 0x80
223 #define IBM850UNI_END 0xFF
224 static sal_uInt16 const aImplIBM850ToUniTab[IBM850UNI_END - IBM850UNI_START + 1] =
226 /* 0 1 2 3 4 5 6 7 */
227 /* 8 9 A B C D E F */
228 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
229 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
230 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
231 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, /* 0x90 */
232 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
233 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
234 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, /* 0xB0 */
235 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, /* 0xB0 */
236 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, /* 0xC0 */
237 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
238 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE, /* 0xD0 */
239 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
240 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, /* 0xE0 */
241 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, /* 0xE0 */
242 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
243 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
246 /* ----------------------------------------------------------------------- */
248 #define IBM850CHAR_START 0x00A0
249 #define IBM850CHAR_END 0x00FF
250 static sal_uChar const aImplIBM850ToCharTab[IBM850CHAR_END - IBM850CHAR_START + 1] =
252 /* 0 1 2 3 4 5 6 7 */
253 /* 8 9 A B C D E F */
254 0xFF, 0xAD, 0xBD, 0x9C, 0xCF, 0xBE, 0xDD, 0xF5, /* 0x00A0 */
255 0xF9, 0xB8, 0xA6, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
256 0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
257 0xF7, 0xFB, 0xA7, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
258 0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
259 0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
260 0xD1, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0x9E, /* 0x00D0 */
261 0x9D, 0xEB, 0xE9, 0xEA, 0x9A, 0xED, 0xE8, 0xE1, /* 0x00D0 */
262 0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
263 0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
264 0xD0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
265 0x9B, 0x97, 0xA3, 0x96, 0x81, 0xEC, 0xE7, 0x98 /* 0x00F0 */
268 /* ----------------------------------------------------------------------- */
270 #define IBM850TOCHARTABEX_COUNT 33
271 static ImplUniCharTabData const aImplIBM850ToCharTabEx[IBM850TOCHARTABEX_COUNT] =
308 /* ----------------------------------------------------------------------- */
310 static ImplByteConvertData const aImplIBM850ByteCvtData =
314 IBM850UNI_START, IBM850UNI_END,
315 NOTABUNI_START, NOTABUNI_END,
316 aImplIBM850ToCharTab,
318 aImplIBM850ToCharTabEx,
319 IBM850CHAR_START, IBM850CHAR_END,
320 NOTABCHAR_START, NOTABCHAR_END,
321 IBM850TOCHARTABEX_COUNT
324 /* ----------------------------------------------------------------------- */
326 static ImplTextEncodingData const aImplIBM850TextEncodingData
327 = { { &aImplIBM850ByteCvtData,
342 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
343 /* DOS/OS2, SCRIPT_LATIN, pc code page 850 */
345 /* ======================================================================= */
348 /* Dos Standard CharSet for Portugiese */
349 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
350 /* Convert-Tables: mappings/vendors/micsft/pc/cp860.txt from 04/24/96 Version 2.00 */
351 /* Last-Changes from us: */
353 /* ----------------------------------------------------------------------- */
355 #define IBM860UNI_START 0x80
356 #define IBM860UNI_END 0xFF
357 static sal_uInt16 const aImplIBM860ToUniTab[IBM860UNI_END - IBM860UNI_START + 1] =
359 /* 0 1 2 3 4 5 6 7 */
360 /* 8 9 A B C D E F */
361 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, /* 0x80 */
362 0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, /* 0x80 */
363 0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, /* 0x90 */
364 0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, /* 0x90 */
365 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
366 0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
367 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
368 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
369 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
370 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
371 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
372 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
373 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
374 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
375 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
376 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
379 /* ----------------------------------------------------------------------- */
381 #define IBM860CHAR_START 0x00A0
382 #define IBM860CHAR_END 0x00FC
383 static sal_uChar const aImplIBM860ToCharTab[IBM860CHAR_END - IBM860CHAR_START + 1] =
385 /* 0 1 2 3 4 5 6 7 */
386 /* 8 9 A B C D E F */
387 0xFF, 0xAD, 0x9B, 0x9C, 0 , 0, 0, 0, /* 0x00A0 */
388 0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
389 0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
390 0, 0, 0xA7, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
391 0x91, 0x86, 0x8F, 0x8E, 0, 0, 0, 0x80, /* 0x00C0 */
392 0x92, 0x90, 0x89, 0, 0x98, 0x8B, 0, 0, /* 0x00C0 */
393 0, 0xA5, 0xA9, 0x9F, 0x8C, 0x99, 0, 0, /* 0x00D0 */
394 0, 0x9D, 0x96, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
395 0x85, 0xA0, 0x83, 0x84, 0, 0, 0, 0x87, /* 0x00E0 */
396 0x8A, 0x82, 0x88, 0, 0x8D, 0xA1, 0, 0, /* 0x00E0 */
397 0, 0xA4, 0x95, 0xA2, 0x93, 0x94, 0, 0xF6, /* 0x00F0 */
398 0, 0x97, 0xA3, 0, 0x81 /* 0x00F0 */
401 /* ----------------------------------------------------------------------- */
403 #define IBM860TOCHARTABEX_COUNT 73
404 static ImplUniCharTabData const aImplIBM860ToCharTabEx[IBM860TOCHARTABEX_COUNT] =
481 /* ----------------------------------------------------------------------- */
483 static ImplByteConvertData const aImplIBM860ByteCvtData =
487 IBM860UNI_START, IBM860UNI_END,
488 NOTABUNI_START, NOTABUNI_END,
489 aImplIBM860ToCharTab,
491 aImplIBM860ToCharTabEx,
492 IBM860CHAR_START, IBM860CHAR_END,
493 NOTABCHAR_START, NOTABCHAR_END,
494 IBM860TOCHARTABEX_COUNT
497 /* ----------------------------------------------------------------------- */
499 static ImplTextEncodingData const aImplIBM860TextEncodingData
500 = { { &aImplIBM860ByteCvtData,
515 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
516 /* DOS/OS2, SCRIPT_LATIN, pc code page 860 */
518 /* ======================================================================= */
521 /* Dos Standard CharSet for Icelandic */
522 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
523 /* Convert-Tables: mappings/vendors/micsft/pc/cp861.txt from 04/24/96 Version 2.00 */
524 /* Last-Changes from us: */
526 /* ----------------------------------------------------------------------- */
528 #define IBM861UNI_START 0x80
529 #define IBM861UNI_END 0xFF
530 static sal_uInt16 const aImplIBM861ToUniTab[IBM861UNI_END - IBM861UNI_START + 1] =
532 /* 0 1 2 3 4 5 6 7 */
533 /* 8 9 A B C D E F */
534 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
535 0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, /* 0x80 */
536 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, /* 0x90 */
537 0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
538 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, /* 0xA0 */
539 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
540 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
541 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
542 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
543 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
544 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
545 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
546 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
547 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
548 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
549 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
552 /* ----------------------------------------------------------------------- */
554 #define IBM861CHAR_START 0x00A0
555 #define IBM861CHAR_END 0x00FE
556 static sal_uChar const aImplIBM861ToCharTab[IBM861CHAR_END - IBM861CHAR_START + 1] =
558 /* 0 1 2 3 4 5 6 7 */
559 /* 8 9 A B C D E F */
560 0xFF, 0xAD, 0, 0x9C, 0, 0, 0, 0, /* 0x00A0 */
561 0, 0, 0, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
562 0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
563 0, 0, 0, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
564 0, 0xA4, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
565 0, 0x90, 0, 0, 0, 0xA5, 0, 0, /* 0x00C0 */
566 0x8B, 0, 0, 0xA6, 0, 0, 0x99, 0, /* 0x00D0 */
567 0x9D, 0, 0xA7, 0, 0x9A, 0x97, 0x8D, 0xE1, /* 0x00D0 */
568 0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
569 0x8A, 0x82, 0x88, 0x89, 0, 0xA1, 0, 0, /* 0x00E0 */
570 0x8C, 0, 0, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
571 0x9B, 0, 0xA3, 0x96, 0x81, 0x98, 0x95 /* 0x00F0 */
574 /* ----------------------------------------------------------------------- */
576 #define IBM861TOCHARTABEX_COUNT 75
577 static ImplUniCharTabData const aImplIBM861ToCharTabEx[IBM861TOCHARTABEX_COUNT] =
656 /* ----------------------------------------------------------------------- */
658 static ImplByteConvertData const aImplIBM861ByteCvtData =
662 IBM861UNI_START, IBM861UNI_END,
663 NOTABUNI_START, NOTABUNI_END,
664 aImplIBM861ToCharTab,
666 aImplIBM861ToCharTabEx,
667 IBM861CHAR_START, IBM861CHAR_END,
668 NOTABCHAR_START, NOTABCHAR_END,
669 IBM861TOCHARTABEX_COUNT
672 /* ----------------------------------------------------------------------- */
674 static ImplTextEncodingData const aImplIBM861TextEncodingData
675 = { { &aImplIBM861ByteCvtData,
690 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
691 /* DOS/OS2, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
693 /* ======================================================================= */
696 /* Dos Standard CharSet for Canada-France */
697 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
698 /* Convert-Tables: mappings/vendors/micsft/pc/cp863.txt from 04/24/96 Version 2.00 */
699 /* Last-Changes from us: */
701 /* ----------------------------------------------------------------------- */
703 #define IBM863UNI_START 0x80
704 #define IBM863UNI_END 0xFF
705 static sal_uInt16 const aImplIBM863ToUniTab[IBM863UNI_END - IBM863UNI_START + 1] =
707 /* 0 1 2 3 4 5 6 7 */
708 /* 8 9 A B C D E F */
709 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, /* 0x80 */
710 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2017, 0x00C0, 0x00A7, /* 0x80 */
711 0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, /* 0x90 */
712 0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, /* 0x90 */
713 0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF, /* 0xA0 */
714 0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, /* 0xA0 */
715 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
716 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
717 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
718 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
719 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
720 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
721 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
722 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
723 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
724 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
727 /* ----------------------------------------------------------------------- */
729 #define IBM863CHAR_START 0x00A0
730 #define IBM863CHAR_END 0x00FC
731 static sal_uChar const aImplIBM863ToCharTab[IBM863CHAR_END - IBM863CHAR_START + 1] =
733 /* 0 1 2 3 4 5 6 7 */
734 /* 8 9 A B C D E F */
735 0xFF, 0, 0x9B, 0x9C, 0x98, 0, 0xA0, 0x8F, /* 0x00A0 */
736 0xA4, 0, 0, 0xAE, 0xAA, 0, 0, 0xA7, /* 0x00A0 */
737 0xF8, 0xF1, 0xFD, 0xA6, 0xA1, 0xE6, 0x86, 0xFA, /* 0x00B0 */
738 0xA5, 0, 0, 0xAF, 0xAC, 0xAB, 0xAD, 0, /* 0x00B0 */
739 0x8E, 0, 0x84, 0, 0, 0, 0, 0x80, /* 0x00C0 */
740 0x91, 0x90, 0x92, 0x94, 0, 0, 0xA8, 0x95, /* 0x00C0 */
741 0, 0, 0, 0, 0x99, 0, 0, 0, /* 0x00D0 */
742 0, 0x9D, 0, 0x9E, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
743 0x85, 0, 0x83, 0, 0, 0, 0, 0x87, /* 0x00E0 */
744 0x8A, 0x82, 0x88, 0x89, 0, 0, 0x8C, 0x8B, /* 0x00E0 */
745 0, 0, 0, 0xA2, 0x93, 0, 0, 0xF6, /* 0x00F0 */
746 0, 0x97, 0xA3, 0x96, 0x81 /* 0x00F0 */
749 /* ----------------------------------------------------------------------- */
751 #define IBM863TOCHARTABEX_COUNT 75
752 static ImplUniCharTabData const aImplIBM863ToCharTabEx[IBM863TOCHARTABEX_COUNT] =
831 /* ----------------------------------------------------------------------- */
833 static ImplByteConvertData const aImplIBM863ByteCvtData =
837 IBM863UNI_START, IBM863UNI_END,
838 NOTABUNI_START, NOTABUNI_END,
839 aImplIBM863ToCharTab,
841 aImplIBM863ToCharTabEx,
842 IBM863CHAR_START, IBM863CHAR_END,
843 NOTABCHAR_START, NOTABCHAR_END,
844 IBM863TOCHARTABEX_COUNT
847 /* ----------------------------------------------------------------------- */
849 static ImplTextEncodingData const aImplIBM863TextEncodingData
850 = { { &aImplIBM863ByteCvtData,
865 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
866 /* DOS/OS2, SCRIPT_LATIN, pc code page 863 */
868 /* ======================================================================= */
871 /* Dos Standard CharSet for Nordic */
872 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
873 /* Convert-Tables: mappings/vendors/micsft/pc/cp865.txt from 04/24/96 Version 2.00 */
874 /* Last-Changes from us: */
876 /* ----------------------------------------------------------------------- */
878 #define IBM865UNI_START 0x80
879 #define IBM865UNI_END 0xFF
880 static sal_uInt16 const aImplIBM865ToUniTab[IBM865UNI_END - IBM865UNI_START + 1] =
882 /* 0 1 2 3 4 5 6 7 */
883 /* 8 9 A B C D E F */
884 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
885 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
886 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
887 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
888 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
889 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, /* 0xA0 */
890 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
891 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
892 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
893 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
894 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
895 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
896 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
897 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
898 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
899 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
902 /* ----------------------------------------------------------------------- */
904 #define IBM865CHAR_START 0x00A0
905 #define IBM865CHAR_END 0x00FF
906 static sal_uChar const aImplIBM865ToCharTab[IBM865CHAR_END - IBM865CHAR_START + 1] =
908 /* 0 1 2 3 4 5 6 7 */
909 /* 8 9 A B C D E F */
910 0xFF, 0xAD, 0, 0x9C, 0xAF, 0, 0, 0, /* 0x00A0 */
911 0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
912 0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
913 0, 0, 0xA7, 0, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
914 0, 0, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
915 0, 0x90, 0, 0, 0, 0, 0, 0, /* 0x00C0 */
916 0, 0xA5, 0, 0, 0, 0, 0x99, 0, /* 0x00D0 */
917 0x9D, 0, 0, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
918 0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
919 0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
920 0, 0xA4, 0x95, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
921 0x9B, 0x97, 0xA3, 0x96, 0x81, 0, 0, 0x98 /* 0x00F0 */
924 /* ----------------------------------------------------------------------- */
926 #define IBM865TOCHARTABEX_COUNT 75
927 static ImplUniCharTabData const aImplIBM865ToCharTabEx[IBM865TOCHARTABEX_COUNT] =
1000 { 0x2591, 0xB0, 0 },
1001 { 0x2592, 0xB1, 0 },
1002 { 0x2593, 0xB2, 0 },
1006 /* ----------------------------------------------------------------------- */
1008 static ImplByteConvertData const aImplIBM865ByteCvtData =
1010 aImplIBM865ToUniTab,
1012 IBM865UNI_START, IBM865UNI_END,
1013 NOTABUNI_START, NOTABUNI_END,
1014 aImplIBM865ToCharTab,
1016 aImplIBM865ToCharTabEx,
1017 IBM865CHAR_START, IBM865CHAR_END,
1018 NOTABCHAR_START, NOTABCHAR_END,
1019 IBM865TOCHARTABEX_COUNT
1022 /* ----------------------------------------------------------------------- */
1024 static ImplTextEncodingData const aImplIBM865TextEncodingData
1025 = { { &aImplIBM865ByteCvtData,
1040 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1041 /* DOS/OS2, SCRIPT_LATIN, pc code page 865 */
1043 /* ======================================================================= */
1046 /* Windows Standard CharSet (ANSI) for Western Script */
1047 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1048 /* Convert-Tables: mappings/vendors/micsft/windows/cp1252.txt from 04/15/98 Version 2.01 */
1049 /* Last-Changes from us: */
1051 /* ----------------------------------------------------------------------- */
1053 #define MS1252UNI_START 0x80
1054 #define MS1252UNI_END 0xFF
1055 static sal_uInt16 const aImplMS1252ToUniTab[MS1252UNI_END - MS1252UNI_START + 1] =
1057 /* 0 1 2 3 4 5 6 7 */
1058 /* 8 9 A B C D E F */
1059 0x20AC, 0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
1060 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0, 0x017D, 0, /* 0x80 */
1061 0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
1062 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0, 0x017E, 0x0178, /* 0x90 */
1063 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1064 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1065 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1066 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
1067 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1068 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1069 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1070 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1071 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1072 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1073 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1074 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF /* 0xF0 */
1077 /* ----------------------------------------------------------------------- */
1079 #define MS1252TOCHARTABEX_COUNT 27
1080 static ImplUniCharTabData const aImplMS1252ToCharTabEx[MS1252TOCHARTABEX_COUNT] =
1082 { 0x0152, 0x8C, 0 },
1083 { 0x0153, 0x9C, 0 },
1084 { 0x0160, 0x8A, 0 },
1085 { 0x0161, 0x9A, 0 },
1086 { 0x0178, 0x9F, 0 },
1087 { 0x017D, 0x8E, 0 },
1088 { 0x017E, 0x9E, 0 },
1089 { 0x0192, 0x83, 0 },
1090 { 0x02C6, 0x88, 0 },
1091 { 0x02DC, 0x98, 0 },
1092 { 0x2013, 0x96, 0 },
1093 { 0x2014, 0x97, 0 },
1094 { 0x2018, 0x91, 0 },
1095 { 0x2019, 0x92, 0 },
1096 { 0x201A, 0x82, 0 },
1097 { 0x201C, 0x93, 0 },
1098 { 0x201D, 0x94, 0 },
1099 { 0x201E, 0x84, 0 },
1100 { 0x2020, 0x86, 0 },
1101 { 0x2021, 0x87, 0 },
1102 { 0x2022, 0x95, 0 },
1103 { 0x2026, 0x85, 0 },
1104 { 0x2030, 0x89, 0 },
1105 { 0x2039, 0x8B, 0 },
1106 { 0x203A, 0x9B, 0 },
1107 { 0x20AC, 0x80, 0 },
1108 { 0x2122, 0x99, 0 },
1111 /* ----------------------------------------------------------------------- */
1113 static ImplByteConvertData const aImplMS1252ByteCvtData =
1115 aImplMS1252ToUniTab,
1117 MS1252UNI_START, MS1252UNI_END,
1118 NOTABUNI_START, NOTABUNI_END,
1119 aImplA0FFSameToCharTab,
1121 aImplMS1252ToCharTabEx,
1122 SAMEA0FFCHAR_START, SAMEA0FFCHAR_END,
1123 NOTABCHAR_START, NOTABCHAR_END,
1124 MS1252TOCHARTABEX_COUNT
1127 /* ----------------------------------------------------------------------- */
1129 static ImplTextEncodingData const aImplMS1252TextEncodingData
1130 = { { &aImplMS1252ByteCvtData,
1145 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1146 /* WIN, SCRIPT_LATIN, pc code page 850 */
1148 /* ======================================================================= */
1151 /* Unix Standard CharSet (Latin1) for Western Script */
1152 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1153 /* Convert-Tables: mappings/iso8859/8859-1.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1154 /* Last-Changes from us: */
1156 #define ISO88591UNI_START 0xA0
1157 #define ISO88591UNI_END 0xFF
1158 static sal_uInt16 const aImplISO88591ToUniTab[ISO88591UNI_END - ISO88591UNI_START + 1] =
1160 /* 0 1 2 3 4 5 6 7 */
1161 /* 8 9 A B C D E F */
1162 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
1163 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1164 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1165 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
1166 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1167 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1168 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1169 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1170 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1171 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1172 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1173 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF /* 0xF0 */
1176 /* ----------------------------------------------------------------------- */
1178 static ImplByteConvertData const aImplISO88591ByteCvtData =
1180 aImplISO88591ToUniTab,
1181 aImpl8090SameToUniTab,
1182 ISO88591UNI_START, ISO88591UNI_END,
1183 SAME8090UNI_START, SAME8090UNI_END,
1184 aImplA0FFSameToCharTab,
1185 aImpl8090SameToCharTab,
1187 SAMEA0FFCHAR_START, SAMEA0FFCHAR_END,
1188 SAME8090CHAR_START, SAME8090CHAR_END,
1192 /* ----------------------------------------------------------------------- */
1194 static ImplTextEncodingData const aImplISO88591TextEncodingData
1195 = { { &aImplISO88591ByteCvtData,
1210 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1211 /* SCRIPT_LATIN, pc code page 850 */
1213 /* ======================================================================= */
1216 /* ungefaehr wie Latin1 */
1217 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1218 /* Convert-Tables: mappings/iso8859/8859-14.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1219 /* Last-Changes from us: */
1221 #define ISO885914UNI_START 0xA0
1222 #define ISO885914UNI_END 0xFF
1223 static sal_uInt16 const aImplISO885914ToUniTab[ISO885914UNI_END - ISO885914UNI_START + 1] =
1225 /* 0 1 2 3 4 5 6 7 */
1226 /* 8 9 A B C D E F */
1227 0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, /* 0xA0 */
1228 0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, /* 0xA0 */
1229 0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, /* 0xB0 */
1230 0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, /* 0xB0 */
1231 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1232 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1233 0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, /* 0xD0 */
1234 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, /* 0xD0 */
1235 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1236 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1237 0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, /* 0xF0 */
1238 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF /* 0xF0 */
1241 /* ----------------------------------------------------------------------- */
1243 #define ISO885914CHAR_START 0x00C0
1244 #define ISO885914CHAR_END 0x00FF
1245 static sal_uChar const aImplISO885914ToCharTab[ISO885914CHAR_END - ISO885914CHAR_START + 1] =
1247 /* 0 1 2 3 4 5 6 7 */
1248 /* 8 9 A B C D E F */
1249 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
1250 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
1251 0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0, /* 0x00D0 */
1252 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0, 0xDF, /* 0x00D0 */
1253 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
1254 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
1255 0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0, /* 0x00F0 */
1256 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0, 0xFF /* 0x00F0 */
1259 /* ----------------------------------------------------------------------- */
1261 #define ISO885914TOCHARTABEX_COUNT 38
1262 static ImplUniCharTabData const aImplISO885914ToCharTabEx[ISO885914TOCHARTABEX_COUNT] =
1264 { 0x00A0, 0xA0, 0 },
1265 { 0x00A3, 0xA3, 0 },
1266 { 0x00A7, 0xA7, 0 },
1267 { 0x00A9, 0xA9, 0 },
1268 { 0x00AD, 0xAD, 0 },
1269 { 0x00AE, 0xAE, 0 },
1270 { 0x00B6, 0xB6, 0 },
1271 { 0x010A, 0xA4, 0 },
1272 { 0x010B, 0xA5, 0 },
1273 { 0x0120, 0xB2, 0 },
1274 { 0x0121, 0xB3, 0 },
1275 { 0x0174, 0xD0, 0 },
1276 { 0x0175, 0xF0, 0 },
1277 { 0x0176, 0xDE, 0 },
1278 { 0x0177, 0xFE, 0 },
1279 { 0x0178, 0xAF, 0 },
1280 { 0x1E02, 0xA1, 0 },
1281 { 0x1E03, 0xA2, 0 },
1282 { 0x1E0A, 0xA6, 0 },
1283 { 0x1E0B, 0xAB, 0 },
1284 { 0x1E1E, 0xB0, 0 },
1285 { 0x1E1F, 0xB1, 0 },
1286 { 0x1E40, 0xB4, 0 },
1287 { 0x1E41, 0xB5, 0 },
1288 { 0x1E56, 0xB7, 0 },
1289 { 0x1E57, 0xB9, 0 },
1290 { 0x1E60, 0xBB, 0 },
1291 { 0x1E61, 0xBF, 0 },
1292 { 0x1E6A, 0xD7, 0 },
1293 { 0x1E6B, 0xF7, 0 },
1294 { 0x1E80, 0xA8, 0 },
1295 { 0x1E81, 0xB8, 0 },
1296 { 0x1E82, 0xAA, 0 },
1297 { 0x1E83, 0xBA, 0 },
1298 { 0x1E84, 0xBD, 0 },
1299 { 0x1E85, 0xBE, 0 },
1300 { 0x1EF2, 0xAC, 0 },
1304 /* ----------------------------------------------------------------------- */
1306 static ImplByteConvertData const aImplISO885914ByteCvtData =
1308 aImplISO885914ToUniTab,
1309 aImpl8090SameToUniTab,
1310 ISO885914UNI_START, ISO885914UNI_END,
1311 SAME8090UNI_START, SAME8090UNI_END,
1312 aImplISO885914ToCharTab,
1313 aImpl8090SameToCharTab,
1314 aImplISO885914ToCharTabEx,
1315 ISO885914CHAR_START, ISO885914CHAR_END,
1316 SAME8090CHAR_START, SAME8090CHAR_END,
1317 ISO885914TOCHARTABEX_COUNT
1320 /* ----------------------------------------------------------------------- */
1322 static ImplTextEncodingData const aImplISO885914TextEncodingData
1323 = { { &aImplISO885914ByteCvtData,
1338 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1339 /* SCRIPT_LATIN, pc code page 850 */
1341 /* ======================================================================= */
1344 /* ungefaehr wie Latin1, jedoch mit Euro (ehemaliges CURRENCY-Symbol an A4) */
1345 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
1346 /* Convert-Tables: mappings/iso8859/8859-15.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
1347 /* Last-Changes from us: */
1349 #define ISO885915UNI_START 0xA0
1350 #define ISO885915UNI_END 0xFF
1351 static sal_uInt16 const aImplISO885915ToUniTab[ISO885915UNI_END - ISO885915UNI_START + 1] =
1353 /* 0 1 2 3 4 5 6 7 */
1354 /* 8 9 A B C D E F */
1355 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, /* 0xA0 */
1356 0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
1357 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
1358 0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, /* 0xB0 */
1359 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
1360 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
1361 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
1362 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
1363 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
1364 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
1365 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
1366 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF /* 0xF0 */
1369 /* ----------------------------------------------------------------------- */
1371 #define ISO885915CHAR_START 0x00A0
1372 #define ISO885915CHAR_END 0x00FF
1373 static sal_uChar const aImplISO885915ToCharTab[ISO885915CHAR_END - ISO885915CHAR_START + 1] =
1375 /* 0 1 2 3 4 5 6 7 */
1376 /* 8 9 A B C D E F */
1377 0xA0, 0xA1, 0xA2, 0xA3, 0, 0xA5, 0, 0xA7, /* 0x00A0 */
1378 0, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
1379 0xB0, 0xB1, 0xB2, 0xB3, 0, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
1380 0, 0xB9, 0xBA, 0xBB, 0, 0, 0, 0xBF, /* 0x00B0 */
1381 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
1382 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
1383 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
1384 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
1385 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
1386 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
1387 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
1388 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF /* 0x00F0 */
1391 /* ----------------------------------------------------------------------- */
1393 #define ISO885915TOCHARTABEX_COUNT 8
1394 static ImplUniCharTabData const aImplISO885915ToCharTabEx[ISO885915TOCHARTABEX_COUNT] =
1396 { 0x0152, 0xBC, 0 },
1397 { 0x0153, 0xBD, 0 },
1398 { 0x0160, 0xA6, 0 },
1399 { 0x0161, 0xA8, 0 },
1400 { 0x0178, 0xBE, 0 },
1401 { 0x017D, 0xB4, 0 },
1402 { 0x017E, 0xB8, 0 },
1406 /* ----------------------------------------------------------------------- */
1408 static ImplByteConvertData const aImplISO885915ByteCvtData =
1410 aImplISO885915ToUniTab,
1411 aImpl8090SameToUniTab,
1412 ISO885915UNI_START, ISO885915UNI_END,
1413 SAME8090UNI_START, SAME8090UNI_END,
1414 aImplISO885915ToCharTab,
1415 aImpl8090SameToCharTab,
1416 aImplISO885915ToCharTabEx,
1417 ISO885915CHAR_START, ISO885915CHAR_END,
1418 SAME8090CHAR_START, SAME8090CHAR_END,
1419 ISO885915TOCHARTABEX_COUNT
1422 /* ----------------------------------------------------------------------- */
1424 static ImplTextEncodingData const aImplISO885915TextEncodingData
1425 = { { &aImplISO885915ByteCvtData,
1440 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1441 /* SCRIPT_LATIN, pc code page 850 */
1443 /* ======================================================================= */
1446 /* Apple CharSet for Iceland */
1447 /* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
1448 /* die wir aber nicht beruecksichtigen */
1449 /* Convert-Tables: mappings/vendors/apple/iceland.txt from 02/05/98 */
1450 /* Last-Changes from us: */
1452 #define APPLEICELANDUNI_START 0x80
1453 #define APPLEICELANDUNI_END 0xFF
1454 static sal_uInt16 const aImplAPPLEICELANDToUniTab[APPLEICELANDUNI_END - APPLEICELANDUNI_START + 1] =
1456 /* 0 1 2 3 4 5 6 7 */
1457 /* 8 9 A B C D E F */
1458 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
1459 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
1460 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
1461 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
1462 0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
1463 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
1464 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
1465 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
1466 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
1467 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
1468 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
1469 0x00FF, 0x0178, 0x2044, 0x00A4, 0x00D0, 0x00F0, 0x00DE, 0x00FE, /* 0xD0 */
1470 0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
1471 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
1472 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
1473 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7 /* 0xF0 */
1476 /* ----------------------------------------------------------------------- */
1478 #define APPLEICELANDCHAR_START 0x00A0
1479 #define APPLEICELANDCHAR_END 0x00FF
1480 static sal_uChar const aImplAPPLEICELANDToCharTab[APPLEICELANDCHAR_END - APPLEICELANDCHAR_START + 1] =
1482 /* 0 1 2 3 4 5 6 7 */
1483 /* 8 9 A B C D E F */
1484 0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4, 0, 0xA4, /* 0x00A0 */
1485 0xAC, 0xA9, 0xBB, 0xC7, 0xC2, 0, 0xA8, 0xF8, /* 0x00A0 */
1486 0xA1, 0xB1, 0, 0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
1487 0xFC, 0, 0xBC, 0xC8, 0, 0, 0, 0xC0, /* 0x00B0 */
1488 0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
1489 0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
1490 0xDC, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85, 0, /* 0x00D0 */
1491 0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0xA0, 0xDE, 0xA7, /* 0x00D0 */
1492 0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
1493 0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
1494 0xDD, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
1495 0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0xE0, 0xDF, 0xD8 /* 0x00F0 */
1498 /* ----------------------------------------------------------------------- */
1500 #define APPLEICELANDTOCHARTABEX_COUNT 41
1501 static ImplUniCharTabData const aImplAPPLEICELANDToCharTabEx[APPLEICELANDTOCHARTABEX_COUNT] =
1503 { 0x0131, 0xF5, 0 },
1504 { 0x0152, 0xCE, 0 },
1505 { 0x0153, 0xCF, 0 },
1506 { 0x0178, 0xD9, 0 },
1507 { 0x0192, 0xC4, 0 },
1508 { 0x02C6, 0xF6, 0 },
1509 { 0x02C7, 0xFF, 0 },
1510 { 0x02D8, 0xF9, 0 },
1511 { 0x02D9, 0xFA, 0 },
1512 { 0x02DA, 0xFB, 0 },
1513 { 0x02DB, 0xFE, 0 },
1514 { 0x02DC, 0xF7, 0 },
1515 { 0x02DD, 0xFD, 0 },
1516 { 0x03A9, 0xBD, 0 },
1517 { 0x03C0, 0xB9, 0 },
1518 { 0x2013, 0xD0, 0 },
1519 { 0x2014, 0xD1, 0 },
1520 { 0x2018, 0xD4, 0 },
1521 { 0x2019, 0xD5, 0 },
1522 { 0x201A, 0xE2, 0 },
1523 { 0x201C, 0xD2, 0 },
1524 { 0x201D, 0xD3, 0 },
1525 { 0x201E, 0xE3, 0 },
1526 { 0x2022, 0xA5, 0 },
1527 { 0x2026, 0xC9, 0 },
1528 { 0x2030, 0xE4, 0 },
1529 { 0x2044, 0xDA, 0 },
1530 { 0x2122, 0xAA, 0 },
1531 { 0x2202, 0xB6, 0 },
1532 { 0x2206, 0xC6, 0 },
1533 { 0x220F, 0xB8, 0 },
1534 { 0x2211, 0xB7, 0 },
1535 { 0x221A, 0xC3, 0 },
1536 { 0x221E, 0xB0, 0 },
1537 { 0x222B, 0xBA, 0 },
1538 { 0x2248, 0xC5, 0 },
1539 { 0x2260, 0xAD, 0 },
1540 { 0x2264, 0xB2, 0 },
1541 { 0x2265, 0xB3, 0 },
1542 { 0x25CA, 0xD7, 0 },
1546 /* ----------------------------------------------------------------------- */
1548 static ImplByteConvertData const aImplAPPLEICELANDByteCvtData =
1550 aImplAPPLEICELANDToUniTab,
1552 APPLEICELANDUNI_START, APPLEICELANDUNI_END,
1553 NOTABUNI_START, NOTABUNI_END,
1554 aImplAPPLEICELANDToCharTab,
1556 aImplAPPLEICELANDToCharTabEx,
1557 APPLEICELANDCHAR_START, APPLEICELANDCHAR_END,
1558 NOTABCHAR_START, NOTABCHAR_END,
1559 APPLEICELANDTOCHARTABEX_COUNT
1562 /* ----------------------------------------------------------------------- */
1564 static ImplTextEncodingData const aImplAPPLEICELANDTextEncodingData
1565 = { { &aImplAPPLEICELANDByteCvtData,
1580 RTL_TEXTENCODING_INFO_ASCII };
1581 /* MAC, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
1583 /* ======================================================================= */
1586 /* Standard Apple CharSet for Western */
1587 /* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
1588 /* die wir aber nicht beruecksichtigen */
1589 /* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
1590 /* Last-Changes from us: */
1592 #define APPLEROMANUNI_START 0x80
1593 #define APPLEROMANUNI_END 0xFF
1594 static sal_uInt16 const aImplAPPLEROMANToUniTab[APPLEROMANUNI_END - APPLEROMANUNI_START + 1] =
1596 /* 0 1 2 3 4 5 6 7 */
1597 /* 8 9 A B C D E F */
1598 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
1599 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
1600 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
1601 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
1602 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
1603 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
1604 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
1605 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
1606 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
1607 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
1608 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
1609 0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0xFB01, 0xFB02, /* 0xD0 */
1610 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
1611 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
1612 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
1613 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7 /* 0xF0 */
1616 /* ----------------------------------------------------------------------- */
1618 #define APPLEROMANCHAR_START 0x00A0
1619 #define APPLEROMANCHAR_END 0x00FF
1620 static sal_uChar const aImplAPPLEROMANToCharTab[APPLEROMANCHAR_END - APPLEROMANCHAR_START + 1] =
1622 /* 0 1 2 3 4 5 6 7 */
1623 /* 8 9 A B C D E F */
1624 0xCA, 0xC1, 0xA2, 0xA3, 0, 0xB4, 0, 0xA4, /* 0x00A0 */
1625 0xAC, 0xA9, 0xBB, 0xC7, 0xC2, 0, 0xA8, 0xF8, /* 0x00A0 */
1626 0xA1, 0xB1, 0, 0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
1627 0xFC, 0, 0xBC, 0xC8, 0, 0, 0, 0xC0, /* 0x00B0 */
1628 0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
1629 0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
1630 0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85, 0, /* 0x00D0 */
1631 0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0, 0, 0xA7, /* 0x00D0 */
1632 0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
1633 0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
1634 0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
1635 0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0, 0, 0xD8 /* 0x00F0 */
1638 /* ----------------------------------------------------------------------- */
1640 #define APPLEROMANTOCHARTABEX_COUNT 48
1641 static ImplUniCharTabData const aImplAPPLEROMANToCharTabEx[APPLEROMANTOCHARTABEX_COUNT] =
1643 { 0x0131, 0xF5, 0 },
1644 { 0x0152, 0xCE, 0 },
1645 { 0x0153, 0xCF, 0 },
1646 { 0x0178, 0xD9, 0 },
1647 { 0x0192, 0xC4, 0 },
1648 { 0x02C6, 0xF6, 0 },
1649 { 0x02C7, 0xFF, 0 },
1650 { 0x02D8, 0xF9, 0 },
1651 { 0x02D9, 0xFA, 0 },
1652 { 0x02DA, 0xFB, 0 },
1653 { 0x02DB, 0xFE, 0 },
1654 { 0x02DC, 0xF7, 0 },
1655 { 0x02DD, 0xFD, 0 },
1656 { 0x03A9, 0xBD, 0 },
1657 { 0x03C0, 0xB9, 0 },
1658 { 0x2013, 0xD0, 0 },
1659 { 0x2014, 0xD1, 0 },
1660 { 0x2018, 0xD4, 0 },
1661 { 0x2019, 0xD5, 0 },
1662 { 0x201A, 0xE2, 0 },
1663 { 0x201C, 0xD2, 0 },
1664 { 0x201D, 0xD3, 0 },
1665 { 0x201E, 0xE3, 0 },
1666 { 0x2020, 0xA0, 0 },
1667 { 0x2021, 0xE0, 0 },
1668 { 0x2022, 0xA5, 0 },
1669 { 0x2026, 0xC9, 0 },
1670 { 0x2030, 0xE4, 0 },
1671 { 0x2039, 0xDC, 0 },
1672 { 0x203A, 0xDD, 0 },
1673 { 0x2044, 0xDA, 0 },
1674 { 0x20AC, 0xDB, 0 },
1675 { 0x2122, 0xAA, 0 },
1676 { 0x2202, 0xB6, 0 },
1677 { 0x2206, 0xC6, 0 },
1678 { 0x220F, 0xB8, 0 },
1679 { 0x2211, 0xB7, 0 },
1680 { 0x221A, 0xC3, 0 },
1681 { 0x221E, 0xB0, 0 },
1682 { 0x222B, 0xBA, 0 },
1683 { 0x2248, 0xC5, 0 },
1684 { 0x2260, 0xAD, 0 },
1685 { 0x2264, 0xB2, 0 },
1686 { 0x2265, 0xB3, 0 },
1687 { 0x25CA, 0xD7, 0 },
1688 { 0xF8FF, 0xF0, 0 },
1689 { 0xFB01, 0xDE, 0 },
1693 /* ----------------------------------------------------------------------- */
1695 static ImplByteConvertData const aImplAPPLEROMANByteCvtData =
1697 aImplAPPLEROMANToUniTab,
1699 APPLEROMANUNI_START, APPLEROMANUNI_END,
1700 NOTABUNI_START, NOTABUNI_END,
1701 aImplAPPLEROMANToCharTab,
1703 aImplAPPLEROMANToCharTabEx,
1704 APPLEROMANCHAR_START, APPLEROMANCHAR_END,
1705 NOTABCHAR_START, NOTABCHAR_END,
1706 APPLEROMANTOCHARTABEX_COUNT
1709 /* ----------------------------------------------------------------------- */
1711 static ImplTextEncodingData const aImplAPPLEROMANTextEncodingData
1712 = { { &aImplAPPLEROMANByteCvtData,
1727 RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
1728 /* MAC, SCRIPT_LATIN, pc code page 850 */
1730 /* ======================================================================= */
1734 /* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
1735 /* For the import we use ISO-8859-1 with MS extension (MS-1252), because */
1736 /* when the 8-Bit is set, the chance, that this is a ISO-8859-1 character */
1737 /* is the greatest. For the export all chars greater than 127 are not */
1738 /* converted and are replaced by the replacement character. */
1739 /* Last-Changes from us: */
1741 /* ----------------------------------------------------------------------- */
1743 static ImplByteConvertData const aImplUSASCIIByteCvtData =
1745 aImplMS1252ToUniTab,
1747 MS1252UNI_START, MS1252UNI_END,
1748 NOTABUNI_START, NOTABUNI_END,
1752 NOTABCHAR_START, NOTABCHAR_END,
1753 NOTABCHAR_START, NOTABCHAR_END,
1757 /* ----------------------------------------------------------------------- */
1759 static ImplTextEncodingData const aImplUSASCIITextEncodingData
1760 = { { &aImplUSASCIIByteCvtData,
1775 RTL_TEXTENCODING_INFO_ASCII
1776 | RTL_TEXTENCODING_INFO_7BIT
1777 | RTL_TEXTENCODING_INFO_MIME };
1778 /* SCRIPT_LATIN, pc code page 437 */