c30f3ea3dd
Change-Id: I539ca8b9dee5edc5fc2282a2b9b0ffd78bad8b11
1552 lines
55 KiB
SQL
1552 lines
55 KiB
SQL
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#include <sal/config.h>
|
|
|
|
#include "convertsimple.hxx"
|
|
#include "tcvtbyte.hxx"
|
|
#include "tenchelp.hxx"
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* This file contain the tables for all 1 byte charsets, for the */
|
|
/* following scripts: latin, iceland, nordic */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-437 */
|
|
/* Dos Latin US - Standard CharSet for Western Script */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp437.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM437UNI_START 0x80
|
|
#define IBM437UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM437ToUniTab[IBM437UNI_END - IBM437UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
|
|
0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
|
|
0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
|
|
0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
|
|
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
|
|
0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
|
|
0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
|
|
0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM437CHAR_START 0x00A0
|
|
#define IBM437CHAR_END 0x00FF
|
|
static unsigned char const aImplIBM437ToCharTab[IBM437CHAR_END - IBM437CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0xAD, 0x9B, 0x9C, 0, 0x9D, 0, 0, /* 0x00A0 */
|
|
0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
|
|
0, 0, 0xA7, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
|
|
0, 0, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
|
|
0, 0x90, 0, 0, 0, 0, 0, 0, /* 0x00C0 */
|
|
0, 0xA5, 0, 0, 0, 0, 0x99, 0, /* 0x00D0 */
|
|
0, 0, 0, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
|
|
0, 0xA4, 0x95, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
|
|
0, 0x97, 0xA3, 0x96, 0x81, 0, 0, 0x98 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM437TOCHARTABEX_COUNT 75
|
|
static ImplUniCharTabData const aImplIBM437ToCharTabEx[IBM437TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0192, 0x9F, 0 },
|
|
{ 0x0393, 0xE2, 0 },
|
|
{ 0x0398, 0xE9, 0 },
|
|
{ 0x03A3, 0xE4, 0 },
|
|
{ 0x03A6, 0xE8, 0 },
|
|
{ 0x03A9, 0xEA, 0 },
|
|
{ 0x03B1, 0xE0, 0 },
|
|
{ 0x03B4, 0xEB, 0 },
|
|
{ 0x03B5, 0xEE, 0 },
|
|
{ 0x03C0, 0xE3, 0 },
|
|
{ 0x03C3, 0xE5, 0 },
|
|
{ 0x03C4, 0xE7, 0 },
|
|
{ 0x03C6, 0xED, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x20A7, 0x9E, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x221E, 0xEC, 0 },
|
|
{ 0x2229, 0xEF, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2261, 0xF0, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 0 },
|
|
{ 0x2310, 0xA9, 0 },
|
|
{ 0x2320, 0xF4, 0 },
|
|
{ 0x2321, 0xF5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2552, 0xD5, 0 },
|
|
{ 0x2553, 0xD6, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2555, 0xB8, 0 },
|
|
{ 0x2556, 0xB7, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x2558, 0xD4, 0 },
|
|
{ 0x2559, 0xD3, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255B, 0xBE, 0 },
|
|
{ 0x255C, 0xBD, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x255E, 0xC6, 0 },
|
|
{ 0x255F, 0xC7, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2561, 0xB5, 0 },
|
|
{ 0x2562, 0xB6, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2564, 0xD1, 0 },
|
|
{ 0x2565, 0xD2, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2567, 0xCF, 0 },
|
|
{ 0x2568, 0xD0, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256A, 0xD8, 0 },
|
|
{ 0x256B, 0xD7, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM437ByteCvtData =
|
|
{
|
|
aImplIBM437ToUniTab,
|
|
nullptr,
|
|
IBM437UNI_START, IBM437UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM437ToCharTab,
|
|
nullptr,
|
|
aImplIBM437ToCharTabEx,
|
|
IBM437CHAR_START, IBM437CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM437TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM437TextEncodingData
|
|
= { { &aImplIBM437ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"ibm437",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 437 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-850 */
|
|
/* Dos Standard CharSet for Western/Europe */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp850.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
/* D5 - changed to EURO SIGN and 0x20AC added to D5 */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM850UNI_START 0x80
|
|
#define IBM850UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM850ToUniTab[IBM850UNI_END - IBM850UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
|
|
0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
|
|
0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, /* 0xB0 */
|
|
0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
|
|
0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE, /* 0xD0 */
|
|
0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
|
|
0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, /* 0xE0 */
|
|
0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, /* 0xE0 */
|
|
0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
|
|
0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM850CHAR_START 0x00A0
|
|
#define IBM850CHAR_END 0x00FF
|
|
static unsigned char const aImplIBM850ToCharTab[IBM850CHAR_END - IBM850CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0xAD, 0xBD, 0x9C, 0xCF, 0xBE, 0xDD, 0xF5, /* 0x00A0 */
|
|
0xF9, 0xB8, 0xA6, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
|
|
0xF7, 0xFB, 0xA7, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
|
|
0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
|
|
0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
|
|
0xD1, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0x9E, /* 0x00D0 */
|
|
0x9D, 0xEB, 0xE9, 0xEA, 0x9A, 0xED, 0xE8, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
|
|
0xD0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
|
|
0x9B, 0x97, 0xA3, 0x96, 0x81, 0xEC, 0xE7, 0x98 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM850TOCHARTABEX_COUNT 33
|
|
static ImplUniCharTabData const aImplIBM850ToCharTabEx[IBM850TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0131, 0xD5, 0 },
|
|
{ 0x0192, 0x9F, 0 },
|
|
{ 0x2017, 0xF2, 0 },
|
|
{ 0x20AC, 0xD5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM850ByteCvtData =
|
|
{
|
|
aImplIBM850ToUniTab,
|
|
nullptr,
|
|
IBM850UNI_START, IBM850UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM850ToCharTab,
|
|
nullptr,
|
|
aImplIBM850ToCharTabEx,
|
|
IBM850CHAR_START, IBM850CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM850TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM850TextEncodingData
|
|
= { { &aImplIBM850ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"ibm850",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 850 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-860 */
|
|
/* Dos Standard CharSet for Portuguese */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp860.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM860UNI_START 0x80
|
|
#define IBM860UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM860ToUniTab[IBM860UNI_END - IBM860UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, /* 0x80 */
|
|
0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, /* 0x90 */
|
|
0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
|
|
0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
|
|
0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
|
|
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
|
|
0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
|
|
0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
|
|
0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM860CHAR_START 0x00A0
|
|
#define IBM860CHAR_END 0x00FC
|
|
static unsigned char const aImplIBM860ToCharTab[IBM860CHAR_END - IBM860CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0xAD, 0x9B, 0x9C, 0 , 0, 0, 0, /* 0x00A0 */
|
|
0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
|
|
0, 0, 0xA7, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
|
|
0x91, 0x86, 0x8F, 0x8E, 0, 0, 0, 0x80, /* 0x00C0 */
|
|
0x92, 0x90, 0x89, 0, 0x98, 0x8B, 0, 0, /* 0x00C0 */
|
|
0, 0xA5, 0xA9, 0x9F, 0x8C, 0x99, 0, 0, /* 0x00D0 */
|
|
0, 0x9D, 0x96, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0x84, 0, 0, 0, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0, 0x8D, 0xA1, 0, 0, /* 0x00E0 */
|
|
0, 0xA4, 0x95, 0xA2, 0x93, 0x94, 0, 0xF6, /* 0x00F0 */
|
|
0, 0x97, 0xA3, 0, 0x81 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM860TOCHARTABEX_COUNT 73
|
|
static ImplUniCharTabData const aImplIBM860ToCharTabEx[IBM860TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0393, 0xE2, 0 },
|
|
{ 0x0398, 0xE9, 0 },
|
|
{ 0x03A3, 0xE4, 0 },
|
|
{ 0x03A6, 0xE8, 0 },
|
|
{ 0x03A9, 0xEA, 0 },
|
|
{ 0x03B1, 0xE0, 0 },
|
|
{ 0x03B4, 0xEB, 0 },
|
|
{ 0x03B5, 0xEE, 0 },
|
|
{ 0x03C0, 0xE3, 0 },
|
|
{ 0x03C3, 0xE5, 0 },
|
|
{ 0x03C4, 0xE7, 0 },
|
|
{ 0x03C6, 0xED, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x20A7, 0x9E, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x221E, 0xEC, 0 },
|
|
{ 0x2229, 0xEF, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2261, 0xF0, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 0 },
|
|
{ 0x2320, 0xF4, 0 },
|
|
{ 0x2321, 0xF5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2552, 0xD5, 0 },
|
|
{ 0x2553, 0xD6, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2555, 0xB8, 0 },
|
|
{ 0x2556, 0xB7, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x2558, 0xD4, 0 },
|
|
{ 0x2559, 0xD3, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255B, 0xBE, 0 },
|
|
{ 0x255C, 0xBD, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x255E, 0xC6, 0 },
|
|
{ 0x255F, 0xC7, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2561, 0xB5, 0 },
|
|
{ 0x2562, 0xB6, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2564, 0xD1, 0 },
|
|
{ 0x2565, 0xD2, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2567, 0xCF, 0 },
|
|
{ 0x2568, 0xD0, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256A, 0xD8, 0 },
|
|
{ 0x256B, 0xD7, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM860ByteCvtData =
|
|
{
|
|
aImplIBM860ToUniTab,
|
|
nullptr,
|
|
IBM860UNI_START, IBM860UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM860ToCharTab,
|
|
nullptr,
|
|
aImplIBM860ToCharTabEx,
|
|
IBM860CHAR_START, IBM860CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM860TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM860TextEncodingData
|
|
= { { &aImplIBM860ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"IBM860",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 860 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-861 */
|
|
/* Dos Standard CharSet for Icelandic */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp861.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM861UNI_START 0x80
|
|
#define IBM861UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM861ToUniTab[IBM861UNI_END - IBM861UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, /* 0x90 */
|
|
0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, /* 0xA0 */
|
|
0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
|
|
0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
|
|
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
|
|
0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
|
|
0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
|
|
0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM861CHAR_START 0x00A0
|
|
#define IBM861CHAR_END 0x00FE
|
|
static unsigned char const aImplIBM861ToCharTab[IBM861CHAR_END - IBM861CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0xAD, 0, 0x9C, 0, 0, 0, 0, /* 0x00A0 */
|
|
0, 0, 0, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
|
|
0, 0, 0, 0xAF, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
|
|
0, 0xA4, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
|
|
0, 0x90, 0, 0, 0, 0xA5, 0, 0, /* 0x00C0 */
|
|
0x8B, 0, 0, 0xA6, 0, 0, 0x99, 0, /* 0x00D0 */
|
|
0x9D, 0, 0xA7, 0, 0x9A, 0x97, 0x8D, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0, 0xA1, 0, 0, /* 0x00E0 */
|
|
0x8C, 0, 0, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
|
|
0x9B, 0, 0xA3, 0x96, 0x81, 0x98, 0x95 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM861TOCHARTABEX_COUNT 75
|
|
static ImplUniCharTabData const aImplIBM861ToCharTabEx[IBM861TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0192, 0x9F, 0 },
|
|
{ 0x0393, 0xE2, 0 },
|
|
{ 0x0398, 0xE9, 0 },
|
|
{ 0x03A3, 0xE4, 0 },
|
|
{ 0x03A6, 0xE8, 0 },
|
|
{ 0x03A9, 0xEA, 0 },
|
|
{ 0x03B1, 0xE0, 0 },
|
|
{ 0x03B4, 0xEB, 0 },
|
|
{ 0x03B5, 0xEE, 0 },
|
|
{ 0x03C0, 0xE3, 0 },
|
|
{ 0x03C3, 0xE5, 0 },
|
|
{ 0x03C4, 0xE7, 0 },
|
|
{ 0x03C6, 0xED, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x20A7, 0x9E, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x221E, 0xEC, 0 },
|
|
{ 0x2229, 0xEF, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2261, 0xF0, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 0 },
|
|
{ 0x2310, 0xA9, 0 },
|
|
{ 0x2320, 0xF4, 0 },
|
|
{ 0x2321, 0xF5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2552, 0xD5, 0 },
|
|
{ 0x2553, 0xD6, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2555, 0xB8, 0 },
|
|
{ 0x2556, 0xB7, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x2558, 0xD4, 0 },
|
|
{ 0x2559, 0xD3, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255B, 0xBE, 0 },
|
|
{ 0x255C, 0xBD, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x255E, 0xC6, 0 },
|
|
{ 0x255F, 0xC7, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2561, 0xB5, 0 },
|
|
{ 0x2562, 0xB6, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2564, 0xD1, 0 },
|
|
{ 0x2565, 0xD2, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2567, 0xCF, 0 },
|
|
{ 0x2568, 0xD0, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256A, 0xD8, 0 },
|
|
{ 0x256B, 0xD7, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM861ByteCvtData =
|
|
{
|
|
aImplIBM861ToUniTab,
|
|
nullptr,
|
|
IBM861UNI_START, IBM861UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM861ToCharTab,
|
|
nullptr,
|
|
aImplIBM861ToCharTabEx,
|
|
IBM861CHAR_START, IBM861CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM861TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM861TextEncodingData
|
|
= { { &aImplIBM861ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"IBM861",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-863 */
|
|
/* Dos Standard CharSet for Canada-France */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp863.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM863UNI_START 0x80
|
|
#define IBM863UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM863ToUniTab[IBM863UNI_END - IBM863UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2017, 0x00C0, 0x00A7, /* 0x80 */
|
|
0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, /* 0x90 */
|
|
0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, /* 0x90 */
|
|
0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF, /* 0xA0 */
|
|
0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
|
|
0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
|
|
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
|
|
0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
|
|
0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
|
|
0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM863CHAR_START 0x00A0
|
|
#define IBM863CHAR_END 0x00FC
|
|
static unsigned char const aImplIBM863ToCharTab[IBM863CHAR_END - IBM863CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0, 0x9B, 0x9C, 0x98, 0, 0xA0, 0x8F, /* 0x00A0 */
|
|
0xA4, 0, 0, 0xAE, 0xAA, 0, 0, 0xA7, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0xA6, 0xA1, 0xE6, 0x86, 0xFA, /* 0x00B0 */
|
|
0xA5, 0, 0, 0xAF, 0xAC, 0xAB, 0xAD, 0, /* 0x00B0 */
|
|
0x8E, 0, 0x84, 0, 0, 0, 0, 0x80, /* 0x00C0 */
|
|
0x91, 0x90, 0x92, 0x94, 0, 0, 0xA8, 0x95, /* 0x00C0 */
|
|
0, 0, 0, 0, 0x99, 0, 0, 0, /* 0x00D0 */
|
|
0, 0x9D, 0, 0x9E, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
|
|
0x85, 0, 0x83, 0, 0, 0, 0, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0, 0, 0x8C, 0x8B, /* 0x00E0 */
|
|
0, 0, 0, 0xA2, 0x93, 0, 0, 0xF6, /* 0x00F0 */
|
|
0, 0x97, 0xA3, 0x96, 0x81 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM863TOCHARTABEX_COUNT 75
|
|
static ImplUniCharTabData const aImplIBM863ToCharTabEx[IBM863TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0192, 0x9F, 0 },
|
|
{ 0x0393, 0xE2, 0 },
|
|
{ 0x0398, 0xE9, 0 },
|
|
{ 0x03A3, 0xE4, 0 },
|
|
{ 0x03A6, 0xE8, 0 },
|
|
{ 0x03A9, 0xEA, 0 },
|
|
{ 0x03B1, 0xE0, 0 },
|
|
{ 0x03B4, 0xEB, 0 },
|
|
{ 0x03B5, 0xEE, 0 },
|
|
{ 0x03C0, 0xE3, 0 },
|
|
{ 0x03C3, 0xE5, 0 },
|
|
{ 0x03C4, 0xE7, 0 },
|
|
{ 0x03C6, 0xED, 0 },
|
|
{ 0x2017, 0x8D, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x221E, 0xEC, 0 },
|
|
{ 0x2229, 0xEF, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2261, 0xF0, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 0 },
|
|
{ 0x2310, 0xA9, 0 },
|
|
{ 0x2320, 0xF4, 0 },
|
|
{ 0x2321, 0xF5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2552, 0xD5, 0 },
|
|
{ 0x2553, 0xD6, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2555, 0xB8, 0 },
|
|
{ 0x2556, 0xB7, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x2558, 0xD4, 0 },
|
|
{ 0x2559, 0xD3, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255B, 0xBE, 0 },
|
|
{ 0x255C, 0xBD, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x255E, 0xC6, 0 },
|
|
{ 0x255F, 0xC7, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2561, 0xB5, 0 },
|
|
{ 0x2562, 0xB6, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2564, 0xD1, 0 },
|
|
{ 0x2565, 0xD2, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2567, 0xCF, 0 },
|
|
{ 0x2568, 0xD0, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256A, 0xD8, 0 },
|
|
{ 0x256B, 0xD7, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM863ByteCvtData =
|
|
{
|
|
aImplIBM863ToUniTab,
|
|
nullptr,
|
|
IBM863UNI_START, IBM863UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM863ToCharTab,
|
|
nullptr,
|
|
aImplIBM863ToCharTabEx,
|
|
IBM863CHAR_START, IBM863CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM863TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM863TextEncodingData
|
|
= { { &aImplIBM863ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"IBM863",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 863 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-865 */
|
|
/* Dos Standard CharSet for Nordic */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp865.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM865UNI_START 0x80
|
|
#define IBM865UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM865ToUniTab[IBM865UNI_END - IBM865UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
|
|
0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
|
|
0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
|
|
0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
|
|
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
|
|
0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
|
|
0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
|
|
0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM865CHAR_START 0x00A0
|
|
#define IBM865CHAR_END 0x00FF
|
|
static unsigned char const aImplIBM865ToCharTab[IBM865CHAR_END - IBM865CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xFF, 0xAD, 0, 0x9C, 0xAF, 0, 0, 0, /* 0x00A0 */
|
|
0, 0, 0xA6, 0xAE, 0xAA, 0, 0, 0, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0, 0, 0xE6, 0, 0xFA, /* 0x00B0 */
|
|
0, 0, 0xA7, 0, 0xAC, 0xAB, 0, 0xA8, /* 0x00B0 */
|
|
0, 0, 0, 0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
|
|
0, 0x90, 0, 0, 0, 0, 0, 0, /* 0x00C0 */
|
|
0, 0xA5, 0, 0, 0, 0, 0x99, 0, /* 0x00D0 */
|
|
0x9D, 0, 0, 0, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
|
|
0, 0xA4, 0x95, 0xA2, 0x93, 0, 0x94, 0xF6, /* 0x00F0 */
|
|
0x9B, 0x97, 0xA3, 0x96, 0x81, 0, 0, 0x98 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM865TOCHARTABEX_COUNT 75
|
|
static ImplUniCharTabData const aImplIBM865ToCharTabEx[IBM865TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0192, 0x9F, 0 },
|
|
{ 0x0393, 0xE2, 0 },
|
|
{ 0x0398, 0xE9, 0 },
|
|
{ 0x03A3, 0xE4, 0 },
|
|
{ 0x03A6, 0xE8, 0 },
|
|
{ 0x03A9, 0xEA, 0 },
|
|
{ 0x03B1, 0xE0, 0 },
|
|
{ 0x03B4, 0xEB, 0 },
|
|
{ 0x03B5, 0xEE, 0 },
|
|
{ 0x03C0, 0xE3, 0 },
|
|
{ 0x03C3, 0xE5, 0 },
|
|
{ 0x03C4, 0xE7, 0 },
|
|
{ 0x03C6, 0xED, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x20A7, 0x9E, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x221E, 0xEC, 0 },
|
|
{ 0x2229, 0xEF, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2261, 0xF0, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 0 },
|
|
{ 0x2310, 0xA9, 0 },
|
|
{ 0x2320, 0xF4, 0 },
|
|
{ 0x2321, 0xF5, 0 },
|
|
{ 0x2500, 0xC4, 0 },
|
|
{ 0x2502, 0xB3, 0 },
|
|
{ 0x250C, 0xDA, 0 },
|
|
{ 0x2510, 0xBF, 0 },
|
|
{ 0x2514, 0xC0, 0 },
|
|
{ 0x2518, 0xD9, 0 },
|
|
{ 0x251C, 0xC3, 0 },
|
|
{ 0x2524, 0xB4, 0 },
|
|
{ 0x252C, 0xC2, 0 },
|
|
{ 0x2534, 0xC1, 0 },
|
|
{ 0x253C, 0xC5, 0 },
|
|
{ 0x2550, 0xCD, 0 },
|
|
{ 0x2551, 0xBA, 0 },
|
|
{ 0x2552, 0xD5, 0 },
|
|
{ 0x2553, 0xD6, 0 },
|
|
{ 0x2554, 0xC9, 0 },
|
|
{ 0x2555, 0xB8, 0 },
|
|
{ 0x2556, 0xB7, 0 },
|
|
{ 0x2557, 0xBB, 0 },
|
|
{ 0x2558, 0xD4, 0 },
|
|
{ 0x2559, 0xD3, 0 },
|
|
{ 0x255A, 0xC8, 0 },
|
|
{ 0x255B, 0xBE, 0 },
|
|
{ 0x255C, 0xBD, 0 },
|
|
{ 0x255D, 0xBC, 0 },
|
|
{ 0x255E, 0xC6, 0 },
|
|
{ 0x255F, 0xC7, 0 },
|
|
{ 0x2560, 0xCC, 0 },
|
|
{ 0x2561, 0xB5, 0 },
|
|
{ 0x2562, 0xB6, 0 },
|
|
{ 0x2563, 0xB9, 0 },
|
|
{ 0x2564, 0xD1, 0 },
|
|
{ 0x2565, 0xD2, 0 },
|
|
{ 0x2566, 0xCB, 0 },
|
|
{ 0x2567, 0xCF, 0 },
|
|
{ 0x2568, 0xD0, 0 },
|
|
{ 0x2569, 0xCA, 0 },
|
|
{ 0x256A, 0xD8, 0 },
|
|
{ 0x256B, 0xD7, 0 },
|
|
{ 0x256C, 0xCE, 0 },
|
|
{ 0x2580, 0xDF, 0 },
|
|
{ 0x2584, 0xDC, 0 },
|
|
{ 0x2588, 0xDB, 0 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM865ByteCvtData =
|
|
{
|
|
aImplIBM865ToUniTab,
|
|
nullptr,
|
|
IBM865UNI_START, IBM865UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM865ToCharTab,
|
|
nullptr,
|
|
aImplIBM865ToCharTabEx,
|
|
IBM865CHAR_START, IBM865CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM865TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM865TextEncodingData
|
|
= { { &aImplIBM865ByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"IBM865",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 865 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-14 */
|
|
/* approximately like Latin1 */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception, 0x80-0x9F control character like in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-14.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO885914UNI_START 0xA0
|
|
#define ISO885914UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO885914ToUniTab[ISO885914UNI_END - ISO885914UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, /* 0xA0 */
|
|
0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, /* 0xA0 */
|
|
0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, /* 0xB0 */
|
|
0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, /* 0xB0 */
|
|
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
|
|
0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, /* 0xD0 */
|
|
0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, /* 0xD0 */
|
|
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
|
|
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, /* 0xF0 */
|
|
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885914CHAR_START 0x00C0
|
|
#define ISO885914CHAR_END 0x00FF
|
|
static unsigned char const aImplISO885914ToCharTab[ISO885914CHAR_END - ISO885914CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
|
|
0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0, /* 0x00D0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0, 0xDF, /* 0x00D0 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
|
|
0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0, /* 0x00F0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0, 0xFF /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885914TOCHARTABEX_COUNT 38
|
|
static ImplUniCharTabData const aImplISO885914ToCharTabEx[ISO885914TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AE, 0xAE, 0 },
|
|
{ 0x00B6, 0xB6, 0 },
|
|
{ 0x010A, 0xA4, 0 },
|
|
{ 0x010B, 0xA5, 0 },
|
|
{ 0x0120, 0xB2, 0 },
|
|
{ 0x0121, 0xB3, 0 },
|
|
{ 0x0174, 0xD0, 0 },
|
|
{ 0x0175, 0xF0, 0 },
|
|
{ 0x0176, 0xDE, 0 },
|
|
{ 0x0177, 0xFE, 0 },
|
|
{ 0x0178, 0xAF, 0 },
|
|
{ 0x1E02, 0xA1, 0 },
|
|
{ 0x1E03, 0xA2, 0 },
|
|
{ 0x1E0A, 0xA6, 0 },
|
|
{ 0x1E0B, 0xAB, 0 },
|
|
{ 0x1E1E, 0xB0, 0 },
|
|
{ 0x1E1F, 0xB1, 0 },
|
|
{ 0x1E40, 0xB4, 0 },
|
|
{ 0x1E41, 0xB5, 0 },
|
|
{ 0x1E56, 0xB7, 0 },
|
|
{ 0x1E57, 0xB9, 0 },
|
|
{ 0x1E60, 0xBB, 0 },
|
|
{ 0x1E61, 0xBF, 0 },
|
|
{ 0x1E6A, 0xD7, 0 },
|
|
{ 0x1E6B, 0xF7, 0 },
|
|
{ 0x1E80, 0xA8, 0 },
|
|
{ 0x1E81, 0xB8, 0 },
|
|
{ 0x1E82, 0xAA, 0 },
|
|
{ 0x1E83, 0xBA, 0 },
|
|
{ 0x1E84, 0xBD, 0 },
|
|
{ 0x1E85, 0xBE, 0 },
|
|
{ 0x1EF2, 0xAC, 0 },
|
|
{ 0x1EF3, 0xBC, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO885914ByteCvtData =
|
|
{
|
|
aImplISO885914ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO885914UNI_START, ISO885914UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO885914ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO885914ToCharTabEx,
|
|
ISO885914CHAR_START, ISO885914CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO885914TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO885914TextEncodingData
|
|
= { { &aImplISO885914ByteCvtData,
|
|
sal::detail::textenc::convertCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-14",
|
|
"iso-8859-14",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_LATIN, pc code page 850 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-15 */
|
|
/* approximately like Latin1, but with Euro (former CURRENCY symbol to A4) */
|
|
/* 1-byte, 0x00-0x7F ASCII without exception, 0x80-0x9F control character like in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-15.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO885915UNI_START 0xA0
|
|
#define ISO885915UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO885915ToUniTab[ISO885915UNI_END - ISO885915UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, /* 0xA0 */
|
|
0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, /* 0xB0 */
|
|
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
|
|
0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
|
|
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
|
|
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885915CHAR_START 0x00A0
|
|
#define ISO885915CHAR_END 0x00FF
|
|
static unsigned char const aImplISO885915ToCharTab[ISO885915CHAR_END - ISO885915CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA0, 0xA1, 0xA2, 0xA3, 0, 0xA5, 0, 0xA7, /* 0x00A0 */
|
|
0, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
|
|
0xB0, 0xB1, 0xB2, 0xB3, 0, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
|
|
0, 0xB9, 0xBA, 0xBB, 0, 0, 0, 0xBF, /* 0x00B0 */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
|
|
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885915TOCHARTABEX_COUNT 8
|
|
static ImplUniCharTabData const aImplISO885915ToCharTabEx[ISO885915TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0152, 0xBC, 0 },
|
|
{ 0x0153, 0xBD, 0 },
|
|
{ 0x0160, 0xA6, 0 },
|
|
{ 0x0161, 0xA8, 0 },
|
|
{ 0x0178, 0xBE, 0 },
|
|
{ 0x017D, 0xB4, 0 },
|
|
{ 0x017E, 0xB8, 0 },
|
|
{ 0x20AC, 0xA4, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO885915ByteCvtData =
|
|
{
|
|
aImplISO885915ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO885915UNI_START, ISO885915UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO885915ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO885915ToCharTabEx,
|
|
ISO885915CHAR_START, ISO885915CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO885915TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO885915TextEncodingData
|
|
= { { &aImplISO885915ByteCvtData,
|
|
sal::detail::textenc::convertCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-15",
|
|
"iso-8859-15",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_LATIN, pc code page 850 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Iceland */
|
|
/* Apple CharSet for Iceland */
|
|
/* 1-byte, 0x00-0x7F ASCII, but actually special characters between 0x00-0x1F */
|
|
/* which we don't consider, though */
|
|
/* Convert-Tables: mappings/vendors/apple/iceland.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLEICELANDUNI_START 0x80
|
|
#define APPLEICELANDUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLEICELANDToUniTab[APPLEICELANDUNI_END - APPLEICELANDUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
|
|
0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
|
|
0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
|
|
0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
|
|
0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
|
|
0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
|
|
0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
|
|
0x00FF, 0x0178, 0x2044, 0x00A4, 0x00D0, 0x00F0, 0x00DE, 0x00FE, /* 0xD0 */
|
|
0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
|
|
0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
|
|
0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
|
|
0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEICELANDCHAR_START 0x00A0
|
|
#define APPLEICELANDCHAR_END 0x00FF
|
|
static unsigned char const aImplAPPLEICELANDToCharTab[APPLEICELANDCHAR_END - APPLEICELANDCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4, 0, 0xA4, /* 0x00A0 */
|
|
0xAC, 0xA9, 0xBB, 0xC7, 0xC2, 0, 0xA8, 0xF8, /* 0x00A0 */
|
|
0xA1, 0xB1, 0, 0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
|
|
0xFC, 0, 0xBC, 0xC8, 0, 0, 0, 0xC0, /* 0x00B0 */
|
|
0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
|
|
0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
|
|
0xDC, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85, 0, /* 0x00D0 */
|
|
0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0xA0, 0xDE, 0xA7, /* 0x00D0 */
|
|
0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
|
|
0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
|
|
0xDD, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
|
|
0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0xE0, 0xDF, 0xD8 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEICELANDTOCHARTABEX_COUNT 41
|
|
static ImplUniCharTabData const aImplAPPLEICELANDToCharTabEx[APPLEICELANDTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0131, 0xF5, 0 },
|
|
{ 0x0152, 0xCE, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x0178, 0xD9, 0 },
|
|
{ 0x0192, 0xC4, 0 },
|
|
{ 0x02C6, 0xF6, 0 },
|
|
{ 0x02C7, 0xFF, 0 },
|
|
{ 0x02D8, 0xF9, 0 },
|
|
{ 0x02D9, 0xFA, 0 },
|
|
{ 0x02DA, 0xFB, 0 },
|
|
{ 0x02DB, 0xFE, 0 },
|
|
{ 0x02DC, 0xF7, 0 },
|
|
{ 0x02DD, 0xFD, 0 },
|
|
{ 0x03A9, 0xBD, 0 },
|
|
{ 0x03C0, 0xB9, 0 },
|
|
{ 0x2013, 0xD0, 0 },
|
|
{ 0x2014, 0xD1, 0 },
|
|
{ 0x2018, 0xD4, 0 },
|
|
{ 0x2019, 0xD5, 0 },
|
|
{ 0x201A, 0xE2, 0 },
|
|
{ 0x201C, 0xD2, 0 },
|
|
{ 0x201D, 0xD3, 0 },
|
|
{ 0x201E, 0xE3, 0 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2030, 0xE4, 0 },
|
|
{ 0x2044, 0xDA, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2202, 0xB6, 0 },
|
|
{ 0x2206, 0xC6, 0 },
|
|
{ 0x220F, 0xB8, 0 },
|
|
{ 0x2211, 0xB7, 0 },
|
|
{ 0x221A, 0xC3, 0 },
|
|
{ 0x221E, 0xB0, 0 },
|
|
{ 0x222B, 0xBA, 0 },
|
|
{ 0x2248, 0xC5, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 },
|
|
{ 0x25CA, 0xD7, 0 },
|
|
{ 0xF8FF, 0xF0, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLEICELANDByteCvtData =
|
|
{
|
|
aImplAPPLEICELANDToUniTab,
|
|
nullptr,
|
|
APPLEICELANDUNI_START, APPLEICELANDUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLEICELANDToCharTab,
|
|
nullptr,
|
|
aImplAPPLEICELANDToCharTabEx,
|
|
APPLEICELANDCHAR_START, APPLEICELANDCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLEICELANDTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLEICELANDTextEncodingData
|
|
= { { &aImplAPPLEICELANDByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-1",
|
|
"iso-8859-1",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_LATIN, pc code page 861, mac encoding 37 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Roman */
|
|
/* Standard Apple CharSet for Western */
|
|
/* 1-byte, 0x00-0x7F ASCII, but actually special characters between 0x00-0x1F */
|
|
/* which we don't consider, though */
|
|
/* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLEROMANUNI_START 0x80
|
|
#define APPLEROMANUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLEROMANToUniTab[APPLEROMANUNI_END - APPLEROMANUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
|
|
0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
|
|
0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
|
|
0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
|
|
0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
|
|
0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
|
|
0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
|
|
0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0xFB01, 0xFB02, /* 0xD0 */
|
|
0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
|
|
0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
|
|
0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
|
|
0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEROMANCHAR_START 0x00A0
|
|
#define APPLEROMANCHAR_END 0x00FF
|
|
static unsigned char const aImplAPPLEROMANToCharTab[APPLEROMANCHAR_END - APPLEROMANCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xCA, 0xC1, 0xA2, 0xA3, 0, 0xB4, 0, 0xA4, /* 0x00A0 */
|
|
0xAC, 0xA9, 0xBB, 0xC7, 0xC2, 0, 0xA8, 0xF8, /* 0x00A0 */
|
|
0xA1, 0xB1, 0, 0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
|
|
0xFC, 0, 0xBC, 0xC8, 0, 0, 0, 0xC0, /* 0x00B0 */
|
|
0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
|
|
0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
|
|
0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85, 0, /* 0x00D0 */
|
|
0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0, 0, 0xA7, /* 0x00D0 */
|
|
0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
|
|
0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
|
|
0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
|
|
0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0, 0, 0xD8 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEROMANTOCHARTABEX_COUNT 48
|
|
static ImplUniCharTabData const aImplAPPLEROMANToCharTabEx[APPLEROMANTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0131, 0xF5, 0 },
|
|
{ 0x0152, 0xCE, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x0178, 0xD9, 0 },
|
|
{ 0x0192, 0xC4, 0 },
|
|
{ 0x02C6, 0xF6, 0 },
|
|
{ 0x02C7, 0xFF, 0 },
|
|
{ 0x02D8, 0xF9, 0 },
|
|
{ 0x02D9, 0xFA, 0 },
|
|
{ 0x02DA, 0xFB, 0 },
|
|
{ 0x02DB, 0xFE, 0 },
|
|
{ 0x02DC, 0xF7, 0 },
|
|
{ 0x02DD, 0xFD, 0 },
|
|
{ 0x03A9, 0xBD, 0 },
|
|
{ 0x03C0, 0xB9, 0 },
|
|
{ 0x2013, 0xD0, 0 },
|
|
{ 0x2014, 0xD1, 0 },
|
|
{ 0x2018, 0xD4, 0 },
|
|
{ 0x2019, 0xD5, 0 },
|
|
{ 0x201A, 0xE2, 0 },
|
|
{ 0x201C, 0xD2, 0 },
|
|
{ 0x201D, 0xD3, 0 },
|
|
{ 0x201E, 0xE3, 0 },
|
|
{ 0x2020, 0xA0, 0 },
|
|
{ 0x2021, 0xE0, 0 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2030, 0xE4, 0 },
|
|
{ 0x2039, 0xDC, 0 },
|
|
{ 0x203A, 0xDD, 0 },
|
|
{ 0x2044, 0xDA, 0 },
|
|
{ 0x20AC, 0xDB, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2202, 0xB6, 0 },
|
|
{ 0x2206, 0xC6, 0 },
|
|
{ 0x220F, 0xB8, 0 },
|
|
{ 0x2211, 0xB7, 0 },
|
|
{ 0x221A, 0xC3, 0 },
|
|
{ 0x221E, 0xB0, 0 },
|
|
{ 0x222B, 0xBA, 0 },
|
|
{ 0x2248, 0xC5, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 },
|
|
{ 0x25CA, 0xD7, 0 },
|
|
{ 0xF8FF, 0xF0, 0 },
|
|
{ 0xFB01, 0xDE, 0 },
|
|
{ 0xFB02, 0xDF, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLEROMANByteCvtData =
|
|
{
|
|
aImplAPPLEROMANToUniTab,
|
|
nullptr,
|
|
APPLEROMANUNI_START, APPLEROMANUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLEROMANToCharTab,
|
|
nullptr,
|
|
aImplAPPLEROMANToCharTabEx,
|
|
APPLEROMANCHAR_START, APPLEROMANCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLEROMANTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLEROMANTextEncodingData
|
|
= { { &aImplAPPLEROMANByteCvtData,
|
|
ImplUpperCharToUnicode,
|
|
sal::detail::textenc::convertUnicodeToChar,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr,
|
|
nullptr },
|
|
1,
|
|
1,
|
|
1,
|
|
77,
|
|
"iso8859-1",
|
|
"macintosh",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* MAC, SCRIPT_LATIN, pc code page 850 */
|