4584 lines
156 KiB
SQL
4584 lines
156 KiB
SQL
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* This file contain the tables for all 1 byte charsets, for the */
|
|
/* following scripts: easteurope, cyrillic, greek, turkish */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-737 */
|
|
/* Dos Standard CharSet for Greek */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp737.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM737UNI_START 0x80
|
|
#define IBM737UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM737ToUniTab[IBM737UNI_END - IBM737UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, /* 0x80 */
|
|
0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, /* 0x80 */
|
|
0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, /* 0x90 */
|
|
0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, /* 0x90 */
|
|
0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, /* 0xA0 */
|
|
0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, /* 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 */
|
|
0x03C9, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD, /* 0xE0 */
|
|
0x03CB, 0x03CE, 0x0386, 0x0388, 0x0389, 0x038A, 0x038C, 0x038E, /* 0xE0 */
|
|
0x038F, 0x00B1, 0x2265, 0x2264, 0x03AA, 0x03AB, 0x00F7, 0x2248, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM737CHAR_START 0x0386
|
|
#define IBM737CHAR_END 0x03CE
|
|
static sal_uChar const aImplIBM737ToCharTab[IBM737CHAR_END - IBM737CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xEA, 0, /* 0x0380 */
|
|
0xEB, 0xEC, 0xED, 0, 0xEE, 0, 0xEF, 0xF0, /* 0x0380 */
|
|
0, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, /* 0x0390 */
|
|
0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, /* 0x0390 */
|
|
0x8F, 0x90, 0, 0x91, 0x92, 0x93, 0x94, 0x95, /* 0x03A0 */
|
|
0x96, 0x97, 0xF4, 0xF5, 0xE1, 0xE2, 0xE3, 0xE5, /* 0x03A0 */
|
|
0, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, /* 0x03B0 */
|
|
0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, /* 0x03B0 */
|
|
0xA7, 0xA8, 0xAA, 0xA9, 0xAB, 0xAC, 0xAD, 0xAE, /* 0x03C0 */
|
|
0xAF, 0xE0, 0xE4, 0xE8, 0xE6, 0xE7, 0xE9 /* 0x03C0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM737TOCHARTABEX_COUNT 61
|
|
static ImplUniCharTabData const aImplIBM737ToCharTabEx[IBM737TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00B0, 0xF8, 0 },
|
|
{ 0x00B1, 0xF1, 0 },
|
|
{ 0x00B2, 0xFD, 0 },
|
|
{ 0x00B7, 0xFA, 0 },
|
|
{ 0x00F7, 0xF6, 0 },
|
|
{ 0x207F, 0xFC, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 0 },
|
|
{ 0x2248, 0xF7, 0 },
|
|
{ 0x2264, 0xF3, 0 },
|
|
{ 0x2265, 0xF2, 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 aImplIBM737ByteCvtData =
|
|
{
|
|
aImplIBM737ToUniTab,
|
|
NULL,
|
|
IBM737UNI_START, IBM737UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM737ToCharTab,
|
|
NULL,
|
|
aImplIBM737ToCharTabEx,
|
|
IBM737CHAR_START, IBM737CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM737TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM737TextEncodingData
|
|
= { { &aImplIBM737ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
161,
|
|
"iso8859-7",
|
|
"iso-8859-7",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* DOS/OS2, SCRIPT_GREEK, pc code page 737, mac encoding 6 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-775 */
|
|
/* Dos Standard CharSet for BalticRim */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp775.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM775UNI_START 0x80
|
|
#define IBM775UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM775ToUniTab[IBM775UNI_END - IBM775UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0106, 0x00FC, 0x00E9, 0x0101, 0x00E4, 0x0123, 0x00E5, 0x0107, /* 0x80 */
|
|
0x0142, 0x0113, 0x0156, 0x0157, 0x012B, 0x0179, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x014D, 0x00F6, 0x0122, 0x00A2, 0x015A, /* 0x90 */
|
|
0x015B, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x00A4, /* 0x90 */
|
|
0x0100, 0x012A, 0x00F3, 0x017B, 0x017C, 0x017A, 0x201D, 0x00A6, /* 0xA0 */
|
|
0x00A9, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x0141, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010C, 0x0118, /* 0xB0 */
|
|
0x0116, 0x2563, 0x2551, 0x2557, 0x255D, 0x012E, 0x0160, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0172, 0x016A, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x017D, /* 0xC0 */
|
|
0x0105, 0x010D, 0x0119, 0x0117, 0x012F, 0x0161, 0x0173, 0x016B, /* 0xD0 */
|
|
0x017E, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
|
|
0x00D3, 0x00DF, 0x014C, 0x0143, 0x00F5, 0x00D5, 0x00B5, 0x0144, /* 0xE0 */
|
|
0x0136, 0x0137, 0x013B, 0x013C, 0x0146, 0x0112, 0x0145, 0x2019, /* 0xE0 */
|
|
0x00AD, 0x00B1, 0x201C, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x201E, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM775TOCHARTABEX_COUNT 128
|
|
static ImplUniCharTabData const aImplIBM775ToCharTabEx[IBM775TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00A2, 0x96, 0 },
|
|
{ 0x00A3, 0x9C, 0 },
|
|
{ 0x00A4, 0x9F, 0 },
|
|
{ 0x00A6, 0xA7, 0 },
|
|
{ 0x00A7, 0xF5, 0 },
|
|
{ 0x00A9, 0xA8, 0 },
|
|
{ 0x00AB, 0xAE, 0 },
|
|
{ 0x00AC, 0xAA, 0 },
|
|
{ 0x00AD, 0xF0, 0 },
|
|
{ 0x00AE, 0xA9, 0 },
|
|
{ 0x00B0, 0xF8, 0 },
|
|
{ 0x00B1, 0xF1, 0 },
|
|
{ 0x00B2, 0xFD, 0 },
|
|
{ 0x00B3, 0xFC, 0 },
|
|
{ 0x00B5, 0xE6, 0 },
|
|
{ 0x00B6, 0xF4, 0 },
|
|
{ 0x00B7, 0xFA, 0 },
|
|
{ 0x00B9, 0xFB, 0 },
|
|
{ 0x00BB, 0xAF, 0 },
|
|
{ 0x00BC, 0xAC, 0 },
|
|
{ 0x00BD, 0xAB, 0 },
|
|
{ 0x00BE, 0xF3, 0 },
|
|
{ 0x00C4, 0x8E, 0 },
|
|
{ 0x00C5, 0x8F, 0 },
|
|
{ 0x00C6, 0x92, 0 },
|
|
{ 0x00C9, 0x90, 0 },
|
|
{ 0x00D3, 0xE0, 0 },
|
|
{ 0x00D5, 0xE5, 0 },
|
|
{ 0x00D6, 0x99, 0 },
|
|
{ 0x00D7, 0x9E, 0 },
|
|
{ 0x00D8, 0x9D, 0 },
|
|
{ 0x00DC, 0x9A, 0 },
|
|
{ 0x00DF, 0xE1, 0 },
|
|
{ 0x00E4, 0x84, 0 },
|
|
{ 0x00E5, 0x86, 0 },
|
|
{ 0x00E6, 0x91, 0 },
|
|
{ 0x00E9, 0x82, 0 },
|
|
{ 0x00F3, 0xA2, 0 },
|
|
{ 0x00F5, 0xE4, 0 },
|
|
{ 0x00F6, 0x94, 0 },
|
|
{ 0x00F7, 0xF6, 0 },
|
|
{ 0x00F8, 0x9B, 0 },
|
|
{ 0x00FC, 0x81, 0 },
|
|
{ 0x0100, 0xA0, 0 },
|
|
{ 0x0101, 0x83, 0 },
|
|
{ 0x0104, 0xB5, 0 },
|
|
{ 0x0105, 0xD0, 0 },
|
|
{ 0x0106, 0x80, 0 },
|
|
{ 0x0107, 0x87, 0 },
|
|
{ 0x010C, 0xB6, 0 },
|
|
{ 0x010D, 0xD1, 0 },
|
|
{ 0x0112, 0xED, 0 },
|
|
{ 0x0113, 0x89, 0 },
|
|
{ 0x0116, 0xB8, 0 },
|
|
{ 0x0117, 0xD3, 0 },
|
|
{ 0x0118, 0xB7, 0 },
|
|
{ 0x0119, 0xD2, 0 },
|
|
{ 0x0122, 0x95, 0 },
|
|
{ 0x0123, 0x85, 0 },
|
|
{ 0x012A, 0xA1, 0 },
|
|
{ 0x012B, 0x8C, 0 },
|
|
{ 0x012E, 0xBD, 0 },
|
|
{ 0x012F, 0xD4, 0 },
|
|
{ 0x0136, 0xE8, 0 },
|
|
{ 0x0137, 0xE9, 0 },
|
|
{ 0x013B, 0xEA, 0 },
|
|
{ 0x013C, 0xEB, 0 },
|
|
{ 0x0141, 0xAD, 0 },
|
|
{ 0x0142, 0x88, 0 },
|
|
{ 0x0143, 0xE3, 0 },
|
|
{ 0x0144, 0xE7, 0 },
|
|
{ 0x0145, 0xEE, 0 },
|
|
{ 0x0146, 0xEC, 0 },
|
|
{ 0x014C, 0xE2, 0 },
|
|
{ 0x014D, 0x93, 0 },
|
|
{ 0x0156, 0x8A, 0 },
|
|
{ 0x0157, 0x8B, 0 },
|
|
{ 0x015A, 0x97, 0 },
|
|
{ 0x015B, 0x98, 0 },
|
|
{ 0x0160, 0xBE, 0 },
|
|
{ 0x0161, 0xD5, 0 },
|
|
{ 0x016A, 0xC7, 0 },
|
|
{ 0x016B, 0xD7, 0 },
|
|
{ 0x0172, 0xC6, 0 },
|
|
{ 0x0173, 0xD6, 0 },
|
|
{ 0x0179, 0x8D, 0 },
|
|
{ 0x017A, 0xA5, 0 },
|
|
{ 0x017B, 0xA3, 0 },
|
|
{ 0x017C, 0xA4, 0 },
|
|
{ 0x017D, 0xCF, 0 },
|
|
{ 0x017E, 0xD8, 0 },
|
|
{ 0x2019, 0xEF, 0 },
|
|
{ 0x201C, 0xF2, 0 },
|
|
{ 0x201D, 0xA6, 0 },
|
|
{ 0x201E, 0xF7, 0 },
|
|
{ 0x2219, 0xF9, 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 },
|
|
{ 0x258C, 0xDD, 0 },
|
|
{ 0x2590, 0xDE, 0 },
|
|
{ 0x2591, 0xB0, 0 },
|
|
{ 0x2592, 0xB1, 0 },
|
|
{ 0x2593, 0xB2, 0 },
|
|
{ 0x25A0, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplIBM775ByteCvtData =
|
|
{
|
|
aImplIBM775ToUniTab,
|
|
NULL,
|
|
IBM775UNI_START, IBM775UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
NULL,
|
|
NULL,
|
|
aImplIBM775ToCharTabEx,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM775TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM775TextEncodingData
|
|
= { { &aImplIBM775ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
186,
|
|
"iso8859-4",
|
|
"iso-8859-4",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* DOS/OS2, SCRIPT_BALTIC, pc code page 775, mac encoding 29 (?) */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-852 */
|
|
/* Dos Standard CharSet for Central Europa (Jug., Pol., Tsch., Ung., ...) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp852.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM852UNI_START 0x80
|
|
#define IBM852UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM852ToUniTab[IBM852UNI_END - IBM852UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7, /* 0x80 */
|
|
0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106, /* 0x80 */
|
|
0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A, /* 0x90 */
|
|
0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E, /* 0xA0 */
|
|
0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A, /* 0xB0 */
|
|
0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
|
|
0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE, /* 0xD0 */
|
|
0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580, /* 0xD0 */
|
|
0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, /* 0xE0 */
|
|
0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4, /* 0xE0 */
|
|
0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
|
|
0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM852TOCHARTABEX_COUNT 128
|
|
static ImplUniCharTabData const aImplIBM852ToCharTabEx[IBM852TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00A4, 0xCF, 0 },
|
|
{ 0x00A7, 0xF5, 0 },
|
|
{ 0x00A8, 0xF9, 0 },
|
|
{ 0x00AB, 0xAE, 0 },
|
|
{ 0x00AC, 0xAA, 0 },
|
|
{ 0x00AD, 0xF0, 0 },
|
|
{ 0x00B0, 0xF8, 0 },
|
|
{ 0x00B4, 0xEF, 0 },
|
|
{ 0x00B8, 0xF7, 0 },
|
|
{ 0x00BB, 0xAF, 0 },
|
|
{ 0x00C1, 0xB5, 0 },
|
|
{ 0x00C2, 0xB6, 0 },
|
|
{ 0x00C4, 0x8E, 0 },
|
|
{ 0x00C7, 0x80, 0 },
|
|
{ 0x00C9, 0x90, 0 },
|
|
{ 0x00CB, 0xD3, 0 },
|
|
{ 0x00CD, 0xD6, 0 },
|
|
{ 0x00CE, 0xD7, 0 },
|
|
{ 0x00D3, 0xE0, 0 },
|
|
{ 0x00D4, 0xE2, 0 },
|
|
{ 0x00D6, 0x99, 0 },
|
|
{ 0x00D7, 0x9E, 0 },
|
|
{ 0x00DA, 0xE9, 0 },
|
|
{ 0x00DC, 0x9A, 0 },
|
|
{ 0x00DD, 0xED, 0 },
|
|
{ 0x00DF, 0xE1, 0 },
|
|
{ 0x00E1, 0xA0, 0 },
|
|
{ 0x00E2, 0x83, 0 },
|
|
{ 0x00E4, 0x84, 0 },
|
|
{ 0x00E7, 0x87, 0 },
|
|
{ 0x00E9, 0x82, 0 },
|
|
{ 0x00EB, 0x89, 0 },
|
|
{ 0x00ED, 0xA1, 0 },
|
|
{ 0x00EE, 0x8C, 0 },
|
|
{ 0x00F3, 0xA2, 0 },
|
|
{ 0x00F4, 0x93, 0 },
|
|
{ 0x00F6, 0x94, 0 },
|
|
{ 0x00F7, 0xF6, 0 },
|
|
{ 0x00FA, 0xA3, 0 },
|
|
{ 0x00FC, 0x81, 0 },
|
|
{ 0x00FD, 0xEC, 0 },
|
|
{ 0x0102, 0xC6, 0 },
|
|
{ 0x0103, 0xC7, 0 },
|
|
{ 0x0104, 0xA4, 0 },
|
|
{ 0x0105, 0xA5, 0 },
|
|
{ 0x0106, 0x8F, 0 },
|
|
{ 0x0107, 0x86, 0 },
|
|
{ 0x010C, 0xAC, 0 },
|
|
{ 0x010D, 0x9F, 0 },
|
|
{ 0x010E, 0xD2, 0 },
|
|
{ 0x010F, 0xD4, 0 },
|
|
{ 0x0110, 0xD1, 0 },
|
|
{ 0x0111, 0xD0, 0 },
|
|
{ 0x0118, 0xA8, 0 },
|
|
{ 0x0119, 0xA9, 0 },
|
|
{ 0x011A, 0xB7, 0 },
|
|
{ 0x011B, 0xD8, 0 },
|
|
{ 0x0139, 0x91, 0 },
|
|
{ 0x013A, 0x92, 0 },
|
|
{ 0x013D, 0x95, 0 },
|
|
{ 0x013E, 0x96, 0 },
|
|
{ 0x0141, 0x9D, 0 },
|
|
{ 0x0142, 0x88, 0 },
|
|
{ 0x0143, 0xE3, 0 },
|
|
{ 0x0144, 0xE4, 0 },
|
|
{ 0x0147, 0xD5, 0 },
|
|
{ 0x0148, 0xE5, 0 },
|
|
{ 0x0150, 0x8A, 0 },
|
|
{ 0x0151, 0x8B, 0 },
|
|
{ 0x0154, 0xE8, 0 },
|
|
{ 0x0155, 0xEA, 0 },
|
|
{ 0x0158, 0xFC, 0 },
|
|
{ 0x0159, 0xFD, 0 },
|
|
{ 0x015A, 0x97, 0 },
|
|
{ 0x015B, 0x98, 0 },
|
|
{ 0x015E, 0xB8, 0 },
|
|
{ 0x015F, 0xAD, 0 },
|
|
{ 0x0160, 0xE6, 0 },
|
|
{ 0x0161, 0xE7, 0 },
|
|
{ 0x0162, 0xDD, 0 },
|
|
{ 0x0163, 0xEE, 0 },
|
|
{ 0x0164, 0x9B, 0 },
|
|
{ 0x0165, 0x9C, 0 },
|
|
{ 0x016E, 0xDE, 0 },
|
|
{ 0x016F, 0x85, 0 },
|
|
{ 0x0170, 0xEB, 0 },
|
|
{ 0x0171, 0xFB, 0 },
|
|
{ 0x0179, 0x8D, 0 },
|
|
{ 0x017A, 0xAB, 0 },
|
|
{ 0x017B, 0xBD, 0 },
|
|
{ 0x017C, 0xBE, 0 },
|
|
{ 0x017D, 0xA6, 0 },
|
|
{ 0x017E, 0xA7, 0 },
|
|
{ 0x02C7, 0xF3, 0 },
|
|
{ 0x02D8, 0xF4, 0 },
|
|
{ 0x02D9, 0xFA, 0 },
|
|
{ 0x02DB, 0xF2, 0 },
|
|
{ 0x02DD, 0xF1, 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 aImplIBM852ByteCvtData =
|
|
{
|
|
aImplIBM852ToUniTab,
|
|
NULL,
|
|
IBM852UNI_START, IBM852UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
NULL,
|
|
NULL,
|
|
aImplIBM852ToCharTabEx,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM852TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM852TextEncodingData
|
|
= { { &aImplIBM852ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"ibm852",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-855 */
|
|
/* Dos Standard CharSet for Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp855.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM855UNI_START 0x80
|
|
#define IBM855UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM855ToUniTab[IBM855UNI_END - IBM855UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, /* 0x80 */
|
|
0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, /* 0x80 */
|
|
0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x040B, 0x045C, 0x040C, /* 0x90 */
|
|
0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A, /* 0x90 */
|
|
0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, /* 0xA0 */
|
|
0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, /* 0xB0 */
|
|
0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
|
|
0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E, /* 0xD0 */
|
|
0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580, /* 0xD0 */
|
|
0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, /* 0xE0 */
|
|
0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x2116, /* 0xE0 */
|
|
0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D, /* 0xF0 */
|
|
0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0x00A7, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM855CHAR_START 0x0401
|
|
#define IBM855CHAR_END 0x045F
|
|
static sal_uChar const aImplIBM855ToCharTab[IBM855CHAR_END - IBM855CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x85, 0x81, 0x83, 0x87, 0x89, 0x8B, 0x8D, /* 0x0400 */
|
|
0x8F, 0x91, 0x93, 0x95, 0x97, 0, 0x99, 0x9B, /* 0x0400 */
|
|
0xA1, 0xA3, 0xEC, 0xAD, 0xA7, 0xA9, 0xEA, 0xF4, /* 0x0410 */
|
|
0xB8, 0xBE, 0xC7, 0xD1, 0xD3, 0xD5, 0xD7, 0xDD, /* 0x0410 */
|
|
0xE2, 0xE4, 0xE6, 0xE8, 0xAB, 0xB6, 0xA5, 0xFC, /* 0x0420 */
|
|
0xF6, 0xFA, 0x9F, 0xF2, 0xEE, 0xF8, 0x9D, 0xE0, /* 0x0420 */
|
|
0xA0, 0xA2, 0xEB, 0xAC, 0xA6, 0xA8, 0xE9, 0xF3, /* 0x0430 */
|
|
0xB7, 0xBD, 0xC6, 0xD0, 0xD2, 0xD4, 0xD6, 0xD8, /* 0x0430 */
|
|
0xE1, 0xE3, 0xE5, 0xE7, 0xAA, 0xB5, 0xA4, 0xFB, /* 0x0440 */
|
|
0xF5, 0xF9, 0x9E, 0xF1, 0xED, 0xF7, 0x9C, 0xDE, /* 0x0440 */
|
|
0, 0x84, 0x80, 0x82, 0x86, 0x88, 0x8A, 0x8C, /* 0x0450 */
|
|
0x8E, 0x90, 0x92, 0x94, 0x96, 0, 0x98, 0x9A, /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM855TOCHARTABEX_COUNT 36
|
|
static ImplUniCharTabData const aImplIBM855ToCharTabEx[IBM855TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00A4, 0xCF, 0 },
|
|
{ 0x00A7, 0xFD, 0 },
|
|
{ 0x00AB, 0xAE, 0 },
|
|
{ 0x00AD, 0xF0, 0 },
|
|
{ 0x00BB, 0xAF, 0 },
|
|
{ 0x2116, 0xEF, 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 aImplIBM855ByteCvtData =
|
|
{
|
|
aImplIBM855ToUniTab,
|
|
NULL,
|
|
IBM855UNI_START, IBM855UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM855ToCharTab,
|
|
NULL,
|
|
aImplIBM855ToCharTabEx,
|
|
IBM855CHAR_START, IBM855CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM855TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM855TextEncodingData
|
|
= { { &aImplIBM855ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"iso-8859-5",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* DOS/OS2, SCRIPT_CYRILLIC, pc code page 855, mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-857 */
|
|
/* Dos Standard CharSet for Turkish */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp857.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM857UNI_START 0x80
|
|
#define IBM857UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM857ToUniTab[IBM857UNI_END - IBM857UNI_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, 0x0131, 0x00C4, 0x00C5, /* 0x80 */
|
|
0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
|
|
0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F, /* 0x90 */
|
|
0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F, /* 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 */
|
|
0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8, 0, 0x00CD, 0x00CE, /* 0xD0 */
|
|
0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
|
|
0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0, /* 0xE0 */
|
|
0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x00AF, 0x00B4, /* 0xE0 */
|
|
0x00AD, 0x00B1, 0, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
|
|
0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM857CHAR_START 0x00A0
|
|
#define IBM857CHAR_END 0x00FF
|
|
static sal_uChar const aImplIBM857ToCharTab[IBM857CHAR_END - IBM857CHAR_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, 0xD1, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
|
|
0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
|
|
0xF7, 0xFB, 0xD0, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
|
|
0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
|
|
0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
|
|
0, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0xE8, /* 0x00D0 */
|
|
0x9D, 0xEB, 0xE9, 0xEA, 0x9A, 0, 0, 0xE1, /* 0x00D0 */
|
|
0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
|
|
0x8A, 0x82, 0x88, 0x89, 0xEC, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
|
|
0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
|
|
0x9B, 0x97, 0xA3, 0x96, 0x81, 0, 0, 0xED /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM857TOCHARTABEX_COUNT 35
|
|
static ImplUniCharTabData const aImplIBM857ToCharTabEx[IBM857TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x011E, 0xA6, 0 },
|
|
{ 0x011F, 0xA7, 0 },
|
|
{ 0x0130, 0x98, 0 },
|
|
{ 0x0131, 0x8D, 0 },
|
|
{ 0x015E, 0x9E, 0 },
|
|
{ 0x015F, 0x9F, 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 aImplIBM857ByteCvtData =
|
|
{
|
|
aImplIBM857ToUniTab,
|
|
NULL,
|
|
IBM857UNI_START, IBM857UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM857ToCharTab,
|
|
NULL,
|
|
aImplIBM857ToCharTabEx,
|
|
IBM857CHAR_START, IBM857CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM857TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM857TextEncodingData
|
|
= { { &aImplIBM857ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
162,
|
|
"iso8859-9",
|
|
"iso-8859-9",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* DOS/OS2, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-866 */
|
|
/* Dos Standard CharSet for CyrillicRussian */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp866.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM866UNI_START 0x80
|
|
#define IBM866UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM866ToUniTab[IBM866UNI_END - IBM866UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xA0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 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 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xE0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, /* 0xE0 */
|
|
0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E, /* 0xF0 */
|
|
0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM866CHAR_START 0x0401
|
|
#define IBM866CHAR_END 0x045E
|
|
static sal_uChar const aImplIBM866ToCharTab[IBM866CHAR_END - IBM866CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xF0, 0, 0, 0xF2, 0, 0, 0xF4, /* 0x0400 */
|
|
0, 0, 0, 0, 0, 0, 0xF6, 0, /* 0x0400 */
|
|
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
|
|
0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
|
|
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
|
|
0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
|
|
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x0430 */
|
|
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x0430 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0440 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0440 */
|
|
0, 0xF1, 0, 0, 0xF3, 0, 0, 0xF5, /* 0x0450 */
|
|
0, 0, 0, 0, 0, 0, 0xF7 /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM866TOCHARTABEX_COUNT 56
|
|
static ImplUniCharTabData const aImplIBM866ToCharTabEx[IBM866TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00A4, 0xFD, 0 },
|
|
{ 0x00B0, 0xF8, 0 },
|
|
{ 0x00B7, 0xFA, 0 },
|
|
{ 0x2116, 0xFC, 0 },
|
|
{ 0x2219, 0xF9, 0 },
|
|
{ 0x221A, 0xFB, 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 aImplIBM866ByteCvtData =
|
|
{
|
|
aImplIBM866ToUniTab,
|
|
NULL,
|
|
IBM866UNI_START, IBM866UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM866ToCharTab,
|
|
NULL,
|
|
aImplIBM866ToCharTabEx,
|
|
IBM866CHAR_START, IBM866CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM866TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM866TextEncodingData
|
|
= { { &aImplIBM866ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"cp866",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 866, mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* IBM-869 */
|
|
/* Dos Standard CharSet for Greek2 */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/pc/cp869.txt from 04/24/96 Version 2.00 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM869UNI_START 0x86
|
|
#define IBM869UNI_END 0xFF
|
|
static sal_uInt16 const aImplIBM869ToUniTab[IBM869UNI_END - IBM869UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0386, 0, /* 0x80 */
|
|
0x00B7, 0x00AC, 0x00A6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389, /* 0x80 */
|
|
0x038A, 0x03AA, 0x038C, 0, 0, 0x038E, 0x03AB, 0x00A9, /* 0x90 */
|
|
0x038F, 0x00B2, 0x00B3, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF, /* 0x90 */
|
|
0x03CA, 0x0390, 0x03CC, 0x03CD, 0x0391, 0x0392, 0x0393, 0x0394, /* 0xA0 */
|
|
0x0395, 0x0396, 0x0397, 0x00BD, 0x0398, 0x0399, 0x00AB, 0x00BB, /* 0xA0 */
|
|
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039C, /* 0xB0 */
|
|
0x039D, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510, /* 0xB0 */
|
|
0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x03A0, 0x03A1, /* 0xC0 */
|
|
0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x03A3, /* 0xC0 */
|
|
0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2, /* 0xD0 */
|
|
0x03B3, 0x2518, 0x250C, 0x2588, 0x2584, 0x03B4, 0x03B5, 0x2580, /* 0xD0 */
|
|
0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, /* 0xE0 */
|
|
0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x0384, /* 0xE0 */
|
|
0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x0385, /* 0xF0 */
|
|
0x00B0, 0x00A8, 0x03C9, 0x03CB, 0x03B0, 0x03CE, 0x25A0, 0x00A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM869CHAR_START 0x0384
|
|
#define IBM869CHAR_END 0x03CE
|
|
static sal_uChar const aImplIBM869ToCharTab[IBM869CHAR_END - IBM869CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xEF, 0xF7, 0x86, 0, /* 0x0380 */
|
|
0x8D, 0x8F, 0x90, 0, 0x92, 0, 0x95, 0x98, /* 0x0380 */
|
|
0xA1, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, /* 0x0390 */
|
|
0xAC, 0xAD, 0xB5, 0xB6, 0xB7, 0xB8, 0xBD, 0xBE, /* 0x0390 */
|
|
0xC6, 0xC7, 0, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, /* 0x03A0 */
|
|
0xD4, 0xD5, 0x91, 0x96, 0x9B, 0x9D, 0x9E, 0x9F, /* 0x03A0 */
|
|
0xFC, 0xD6, 0xD7, 0xD8, 0xDD, 0xDE, 0xE0, 0xE1, /* 0x03B0 */
|
|
0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, /* 0x03B0 */
|
|
0xEA, 0xEB, 0xED, 0xEC, 0xEE, 0xF2, 0xF3, 0xF4, /* 0x03C0 */
|
|
0xF6, 0xFA, 0xA0, 0xFB, 0xA2, 0xA3, 0xFD /* 0x03C0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define IBM869TOCHARTABEX_COUNT 48
|
|
static ImplUniCharTabData const aImplIBM869ToCharTabEx[IBM869TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xFF, 0 },
|
|
{ 0x00A3, 0x9C, 0 },
|
|
{ 0x00A6, 0x8A, 0 },
|
|
{ 0x00A7, 0xF5, 0 },
|
|
{ 0x00A8, 0xF9, 0 },
|
|
{ 0x00A9, 0x97, 0 },
|
|
{ 0x00AB, 0xAE, 0 },
|
|
{ 0x00AC, 0x89, 0 },
|
|
{ 0x00AD, 0xF0, 0 },
|
|
{ 0x00B0, 0xF8, 0 },
|
|
{ 0x00B1, 0xF1, 0 },
|
|
{ 0x00B2, 0x99, 0 },
|
|
{ 0x00B3, 0x9A, 0 },
|
|
{ 0x00B7, 0x88, 0 },
|
|
{ 0x00BB, 0xAF, 0 },
|
|
{ 0x00BD, 0xAB, 0 },
|
|
{ 0x2015, 0x8E, 0 },
|
|
{ 0x2018, 0x8B, 0 },
|
|
{ 0x2019, 0x8C, 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 aImplIBM869ByteCvtData =
|
|
{
|
|
aImplIBM869ToUniTab,
|
|
NULL,
|
|
IBM869UNI_START, IBM869UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplIBM869ToCharTab,
|
|
NULL,
|
|
aImplIBM869ToCharTabEx,
|
|
IBM869CHAR_START, IBM869CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
IBM869TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplIBM869TextEncodingData
|
|
= { { &aImplIBM869ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
161,
|
|
"iso8859-7",
|
|
"iso-8859-7",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* DOS/OS2, SCRIPT_LATIN, pc code page 869, mac encoding 6 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* MS-1250 */
|
|
/* Windows CodePage for Eastern European (WinLatin2) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/windows/cp1250.txt from 04/15/98 Version 2.01 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1250UNI_START 0x80
|
|
#define MS1250UNI_END 0xFF
|
|
static sal_uInt16 const aImplMS1250ToUniTab[MS1250UNI_END - MS1250UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x20AC, 0, 0x201A, 0, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
|
|
0, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179, /* 0x80 */
|
|
0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A, /* 0x90 */
|
|
0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C, /* 0xB0 */
|
|
0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, /* 0xC0 */
|
|
0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, /* 0xD0 */
|
|
0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, /* 0xE0 */
|
|
0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1250TOCHARTABEX_COUNT 123
|
|
static ImplUniCharTabData const aImplMS1250ToCharTabEx[MS1250TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A6, 0xA6, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xAB, 0 },
|
|
{ 0x00AC, 0xAC, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AE, 0xAE, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B4, 0xB4, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xB6, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00B8, 0xB8, 0 },
|
|
{ 0x00BB, 0xBB, 0 },
|
|
{ 0x00C1, 0xC1, 0 },
|
|
{ 0x00C2, 0xC2, 0 },
|
|
{ 0x00C4, 0xC4, 0 },
|
|
{ 0x00C7, 0xC7, 0 },
|
|
{ 0x00C9, 0xC9, 0 },
|
|
{ 0x00CB, 0xCB, 0 },
|
|
{ 0x00CD, 0xCD, 0 },
|
|
{ 0x00CE, 0xCE, 0 },
|
|
{ 0x00D3, 0xD3, 0 },
|
|
{ 0x00D4, 0xD4, 0 },
|
|
{ 0x00D6, 0xD6, 0 },
|
|
{ 0x00D7, 0xD7, 0 },
|
|
{ 0x00DA, 0xDA, 0 },
|
|
{ 0x00DC, 0xDC, 0 },
|
|
{ 0x00DD, 0xDD, 0 },
|
|
{ 0x00DF, 0xDF, 0 },
|
|
{ 0x00E1, 0xE1, 0 },
|
|
{ 0x00E2, 0xE2, 0 },
|
|
{ 0x00E4, 0xE4, 0 },
|
|
{ 0x00E7, 0xE7, 0 },
|
|
{ 0x00E9, 0xE9, 0 },
|
|
{ 0x00EB, 0xEB, 0 },
|
|
{ 0x00ED, 0xED, 0 },
|
|
{ 0x00EE, 0xEE, 0 },
|
|
{ 0x00F3, 0xF3, 0 },
|
|
{ 0x00F4, 0xF4, 0 },
|
|
{ 0x00F6, 0xF6, 0 },
|
|
{ 0x00F7, 0xF7, 0 },
|
|
{ 0x00FA, 0xFA, 0 },
|
|
{ 0x00FC, 0xFC, 0 },
|
|
{ 0x00FD, 0xFD, 0 },
|
|
{ 0x0102, 0xC3, 0 },
|
|
{ 0x0103, 0xE3, 0 },
|
|
{ 0x0104, 0xA5, 0 },
|
|
{ 0x0105, 0xB9, 0 },
|
|
{ 0x0106, 0xC6, 0 },
|
|
{ 0x0107, 0xE6, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x010E, 0xCF, 0 },
|
|
{ 0x010F, 0xEF, 0 },
|
|
{ 0x0110, 0xD0, 0 },
|
|
{ 0x0111, 0xF0, 0 },
|
|
{ 0x0118, 0xCA, 0 },
|
|
{ 0x0119, 0xEA, 0 },
|
|
{ 0x011A, 0xCC, 0 },
|
|
{ 0x011B, 0xEC, 0 },
|
|
{ 0x0139, 0xC5, 0 },
|
|
{ 0x013A, 0xE5, 0 },
|
|
{ 0x013D, 0xBC, 0 },
|
|
{ 0x013E, 0xBE, 0 },
|
|
{ 0x0141, 0xA3, 0 },
|
|
{ 0x0142, 0xB3, 0 },
|
|
{ 0x0143, 0xD1, 0 },
|
|
{ 0x0144, 0xF1, 0 },
|
|
{ 0x0147, 0xD2, 0 },
|
|
{ 0x0148, 0xF2, 0 },
|
|
{ 0x0150, 0xD5, 0 },
|
|
{ 0x0151, 0xF5, 0 },
|
|
{ 0x0154, 0xC0, 0 },
|
|
{ 0x0155, 0xE0, 0 },
|
|
{ 0x0158, 0xD8, 0 },
|
|
{ 0x0159, 0xF8, 0 },
|
|
{ 0x015A, 0x8C, 0 },
|
|
{ 0x015B, 0x9C, 0 },
|
|
{ 0x015E, 0xAA, 0 },
|
|
{ 0x015F, 0xBA, 0 },
|
|
{ 0x0160, 0x8A, 0 },
|
|
{ 0x0161, 0x9A, 0 },
|
|
{ 0x0162, 0xDE, 0 },
|
|
{ 0x0163, 0xFE, 0 },
|
|
{ 0x0164, 0x8D, 0 },
|
|
{ 0x0165, 0x9D, 0 },
|
|
{ 0x016E, 0xD9, 0 },
|
|
{ 0x016F, 0xF9, 0 },
|
|
{ 0x0170, 0xDB, 0 },
|
|
{ 0x0171, 0xFB, 0 },
|
|
{ 0x0179, 0x8F, 0 },
|
|
{ 0x017A, 0x9F, 0 },
|
|
{ 0x017B, 0xAF, 0 },
|
|
{ 0x017C, 0xBF, 0 },
|
|
{ 0x017D, 0x8E, 0 },
|
|
{ 0x017E, 0x9E, 0 },
|
|
{ 0x02C7, 0xA1, 0 },
|
|
{ 0x02D8, 0xA2, 0 },
|
|
{ 0x02D9, 0xFF, 0 },
|
|
{ 0x02DB, 0xB2, 0 },
|
|
{ 0x02DD, 0xBD, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201A, 0x82, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2020, 0x86, 0 },
|
|
{ 0x2021, 0x87, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2030, 0x89, 0 },
|
|
{ 0x2039, 0x8B, 0 },
|
|
{ 0x203A, 0x9B, 0 },
|
|
{ 0x20AC, 0x80, 0 },
|
|
{ 0x2122, 0x99, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplMS1250ByteCvtData =
|
|
{
|
|
aImplMS1250ToUniTab,
|
|
NULL,
|
|
MS1250UNI_START, MS1250UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
NULL,
|
|
NULL,
|
|
aImplMS1250ToCharTabEx,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
MS1250TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplMS1250TextEncodingData
|
|
= { { &aImplMS1250ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"windows-1250",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* WIN, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* MS-1251 */
|
|
/* Windows CodePage for Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/windows/cp1251.txt from 04/15/98 Version 2.01 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1251UNI_START 0x80
|
|
#define MS1251UNI_END 0xFF
|
|
static sal_uInt16 const aImplMS1251ToUniTab[MS1251UNI_END - MS1251UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
|
|
0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, /* 0x80 */
|
|
0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, /* 0x90 */
|
|
0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, /* 0xB0 */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xC0 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xC0 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xD0 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xD0 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1251CHAR_START 0x0401
|
|
#define MS1251CHAR_END 0x045F
|
|
static sal_uChar const aImplMS1251ToCharTab[MS1251CHAR_END - MS1251CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA8, 0x80, 0x81, 0xAA, 0xBD, 0xB2, 0xAF, /* 0x0400 */
|
|
0xA3, 0x8A, 0x8C, 0x8E, 0x8D, 0, 0xA1, 0x8F, /* 0x0400 */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0410 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0410 */
|
|
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x0420 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x0420 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, /* 0x0440 */
|
|
0, 0xB8, 0x90, 0x83, 0xBA, 0xBE, 0xB3, 0xBF, /* 0x0450 */
|
|
0xBC, 0x9A, 0x9C, 0x9E, 0x9D, 0, 0xA2, 0x9F /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1251TOCHARTABEX_COUNT 35
|
|
static ImplUniCharTabData const aImplMS1251ToCharTabEx[MS1251TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A6, 0xA6, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xAB, 0 },
|
|
{ 0x00AC, 0xAC, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AE, 0xAE, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xB6, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00BB, 0xBB, 0 },
|
|
{ 0x0490, 0xA5, 0 },
|
|
{ 0x0491, 0xB4, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201A, 0x82, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2020, 0x86, 0 },
|
|
{ 0x2021, 0x87, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2030, 0x89, 0 },
|
|
{ 0x2039, 0x8B, 0 },
|
|
{ 0x203A, 0x9B, 0 },
|
|
{ 0x20AC, 0x88, 0 },
|
|
{ 0x2116, 0xB9, 0 },
|
|
{ 0x2122, 0x99, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplMS1251ByteCvtData =
|
|
{
|
|
aImplMS1251ToUniTab,
|
|
NULL,
|
|
MS1251UNI_START, MS1251UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplMS1251ToCharTab,
|
|
NULL,
|
|
aImplMS1251ToCharTabEx,
|
|
MS1251CHAR_START, MS1251CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
MS1251TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplMS1251TextEncodingData
|
|
= { { &aImplMS1251ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"windows-1251",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* WIN, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* MS-1253 */
|
|
/* Windows Standard CharSet for Greek */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/windows/cp1253.txt from 04/15/98 Version 2.01 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1253UNI_START 0x80
|
|
#define MS1253UNI_END 0xFF
|
|
static sal_uInt16 const aImplMS1253ToUniTab[MS1253UNI_END - MS1253UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x20AC, 0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
|
|
0, 0x2030, 0, 0x2039, 0, 0, 0, 0, /* 0x80 */
|
|
0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0, 0x2122, 0, 0x203A, 0, 0, 0, 0, /* 0x90 */
|
|
0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x00A9, 0, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, /* 0xB0 */
|
|
0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, /* 0xC0 */
|
|
0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, /* 0xC0 */
|
|
0x03A0, 0x03A1, 0, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, /* 0xD0 */
|
|
0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, /* 0xD0 */
|
|
0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, /* 0xE0 */
|
|
0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, /* 0xE0 */
|
|
0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, /* 0xF0 */
|
|
0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1253CHAR_START 0x0384
|
|
#define MS1253CHAR_END 0x03CE
|
|
static sal_uChar const aImplMS1253ToCharTab[MS1253CHAR_END - MS1253CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xB4, 0xA1, 0xA2, 0, /* 0x0380 */
|
|
0xB8, 0xB9, 0xBA, 0, 0xBC, 0, 0xBE, 0xBF, /* 0x0380 */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0390 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0390 */
|
|
0xD0, 0xD1, 0, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x03A0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x03A0 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x03B0 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x03B0 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x03C0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE /* 0x03C0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1253TOCHARTABEX_COUNT 40
|
|
static ImplUniCharTabData const aImplMS1253ToCharTabEx[MS1253TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A5, 0xA5, 0 },
|
|
{ 0x00A6, 0xA6, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xAB, 0 },
|
|
{ 0x00AC, 0xAC, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AE, 0xAE, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B2, 0xB2, 0 },
|
|
{ 0x00B3, 0xB3, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xB6, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00BB, 0xBB, 0 },
|
|
{ 0x00BD, 0xBD, 0 },
|
|
{ 0x0192, 0x83, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2015, 0xAF, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201A, 0x82, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2020, 0x86, 0 },
|
|
{ 0x2021, 0x87, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2030, 0x89, 0 },
|
|
{ 0x2039, 0x8B, 0 },
|
|
{ 0x203A, 0x9B, 0 },
|
|
{ 0x20AC, 0x80, 0 },
|
|
{ 0x2122, 0x99, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplMS1253ByteCvtData =
|
|
{
|
|
aImplMS1253ToUniTab,
|
|
NULL,
|
|
MS1253UNI_START, MS1253UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplMS1253ToCharTab,
|
|
NULL,
|
|
aImplMS1253ToCharTabEx,
|
|
MS1253CHAR_START, MS1253CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
MS1253TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplMS1253TextEncodingData
|
|
= { { &aImplMS1253ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
161,
|
|
"iso8859-7",
|
|
"windows-1253",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* WIN, SCRIPT_GREEK, pc code page 869, mac encoding 6 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* MS-1254 */
|
|
/* Windows Standard CharSet for Turkish */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/windows/cp1254.txt from 04/15/98 Version 2.01 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1254UNI_START 0x80
|
|
#define MS1254UNI_END 0xFF
|
|
static sal_uInt16 const aImplMS1254ToUniTab[MS1254UNI_END - MS1254UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x20AC, 0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
|
|
0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0, 0, 0, /* 0x80 */
|
|
0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0, 0, 0x0178, /* 0x90 */
|
|
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
|
|
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
|
|
0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, /* 0xD0 */
|
|
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
|
|
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1254CHAR_START 0x00A0
|
|
#define MS1254CHAR_END 0x00FF
|
|
static sal_uChar const aImplMS1254ToCharTab[MS1254CHAR_END - MS1254CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x00A0 */
|
|
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
|
|
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
|
|
0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x00B0 */
|
|
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, 0xD7, /* 0x00D0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0, 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, 0xF7, /* 0x00F0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0, 0, 0xFF /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1254TOCHARTABEX_COUNT 31
|
|
static ImplUniCharTabData const aImplMS1254ToCharTabEx[MS1254TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x011E, 0xD0, 0 },
|
|
{ 0x011F, 0xF0, 0 },
|
|
{ 0x0130, 0xDD, 0 },
|
|
{ 0x0131, 0xFD, 0 },
|
|
{ 0x0152, 0x8C, 0 },
|
|
{ 0x0153, 0x9C, 0 },
|
|
{ 0x015E, 0xDE, 0 },
|
|
{ 0x015F, 0xFE, 0 },
|
|
{ 0x0160, 0x8A, 0 },
|
|
{ 0x0161, 0x9A, 0 },
|
|
{ 0x0178, 0x9F, 0 },
|
|
{ 0x0192, 0x83, 0 },
|
|
{ 0x02C6, 0x88, 0 },
|
|
{ 0x02DC, 0x98, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201A, 0x82, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2020, 0x86, 0 },
|
|
{ 0x2021, 0x87, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2030, 0x89, 0 },
|
|
{ 0x2039, 0x8B, 0 },
|
|
{ 0x203A, 0x9B, 0 },
|
|
{ 0x20AC, 0x80, 0 },
|
|
{ 0x2122, 0x99, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplMS1254ByteCvtData =
|
|
{
|
|
aImplMS1254ToUniTab,
|
|
NULL,
|
|
MS1254UNI_START, MS1254UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplMS1254ToCharTab,
|
|
NULL,
|
|
aImplMS1254ToCharTabEx,
|
|
MS1254CHAR_START, MS1254CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
MS1254TOCHARTABEX_COUNT,
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplMS1254TextEncodingData
|
|
= { { &aImplMS1254ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
162,
|
|
"iso8859-9",
|
|
"windows-1254",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* WIN, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* MS-1257 */
|
|
/* Windows Standard CharSet for Baltic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: mappings/vendors/micsft/windows/cp1257.txt from 04/15/98 Version 2.01 */
|
|
/* Last-Changes from us: */
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1257UNI_START 0x80
|
|
#define MS1257UNI_END 0xFF
|
|
static sal_uInt16 const aImplMS1257ToUniTab[MS1257UNI_END - MS1257UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x20AC, 0, 0x201A, 0, 0x201E, 0x2026, 0x2020, 0x2021, /* 0x80 */
|
|
0, 0x2030, 0, 0x2039, 0, 0x00A8, 0x02C7, 0x00B8, /* 0x80 */
|
|
0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0, 0x2122, 0, 0x203A, 0, 0x00AF, 0x02DB, 0, /* 0x90 */
|
|
0x00A0, 0, 0x00A2, 0x00A3, 0x00A4, 0, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, /* 0xB0 */
|
|
0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, /* 0xC0 */
|
|
0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, /* 0xD0 */
|
|
0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, /* 0xE0 */
|
|
0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1257CHAR_START 0x00A0
|
|
#define MS1257CHAR_END 0x017E
|
|
static sal_uChar const aImplMS1257ToCharTab[MS1257CHAR_END - MS1257CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA0, 0, 0xA2, 0xA3, 0xA4, 0, 0xA6, 0xA7, /* 0x00A0 */
|
|
0x8D, 0xA9, 0, 0xAB, 0xAC, 0xAD, 0xAE, 0x9D, /* 0x00A0 */
|
|
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
|
|
0x8F, 0xB9, 0, 0xBB, 0xBC, 0xBD, 0xBE, 0, /* 0x00B0 */
|
|
0, 0, 0, 0, 0xC4, 0xC5, 0xAF, 0, /* 0x00C0 */
|
|
0, 0xC9, 0, 0, 0, 0, 0, 0, /* 0x00C0 */
|
|
0, 0, 0, 0xD3, 0, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
|
|
0xA8, 0, 0, 0, 0xDC, 0, 0, 0xDF, /* 0x00D0 */
|
|
0, 0, 0, 0, 0xE4, 0xE5, 0xBF, 0, /* 0x00E0 */
|
|
0, 0xE9, 0, 0, 0, 0, 0, 0, /* 0x00E0 */
|
|
0, 0, 0, 0xF3, 0, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
|
|
0xB8, 0, 0, 0, 0xFC, 0, 0, 0, /* 0x00F0 */
|
|
0xC2, 0xE2, 0, 0, 0xC0, 0xE0, 0xC3, 0xE3, /* 0x0100 */
|
|
0, 0, 0, 0, 0xC8, 0xE8, 0, 0, /* 0x0100 */
|
|
0, 0, 0xC7, 0xE7, 0, 0, 0xCB, 0xEB, /* 0x0110 */
|
|
0xC6, 0xE6, 0, 0, 0, 0, 0, 0, /* 0x0110 */
|
|
0, 0, 0xCC, 0xEC, 0, 0, 0, 0, /* 0x0120 */
|
|
0, 0, 0xCE, 0xEE, 0, 0, 0xC1, 0xE1, /* 0x0120 */
|
|
0, 0, 0, 0, 0, 0, 0xCD, 0xED, /* 0x0130 */
|
|
0, 0, 0, 0xCF, 0xEF, 0, 0, 0, /* 0x0130 */
|
|
0, 0xD9, 0xF9, 0xD1, 0xF1, 0xD2, 0xF2, 0, /* 0x0140 */
|
|
0, 0, 0, 0, 0xD4, 0xF4, 0, 0, /* 0x0140 */
|
|
0, 0, 0, 0, 0, 0, 0xAA, 0xBA, /* 0x0150 */
|
|
0, 0, 0xDA, 0xFA, 0, 0, 0, 0, /* 0x0150 */
|
|
0xD0, 0xF0, 0, 0, 0, 0, 0, 0, /* 0x0160 */
|
|
0, 0, 0xDB, 0xFB, 0, 0, 0, 0, /* 0x0160 */
|
|
0, 0, 0xD8, 0xF8, 0, 0, 0, 0, /* 0x0170 */
|
|
0, 0xCA, 0xEA, 0xDD, 0xFD, 0xDE, 0xFE /* 0x0170 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define MS1257TOCHARTABEX_COUNT 20
|
|
static ImplUniCharTabData const aImplMS1257ToCharTabEx[MS1257TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x02C7, 0x8E, 0 },
|
|
{ 0x02D9, 0xFF, 0 },
|
|
{ 0x02DB, 0x9E, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201A, 0x82, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2020, 0x86, 0 },
|
|
{ 0x2021, 0x87, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2030, 0x89, 0 },
|
|
{ 0x2039, 0x8B, 0 },
|
|
{ 0x203A, 0x9B, 0 },
|
|
{ 0x20AC, 0x80, 0 },
|
|
{ 0x2122, 0x99, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplMS1257ByteCvtData =
|
|
{
|
|
aImplMS1257ToUniTab,
|
|
NULL,
|
|
MS1257UNI_START, MS1257UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplMS1257ToCharTab,
|
|
NULL,
|
|
aImplMS1257ToCharTabEx,
|
|
MS1257CHAR_START, MS1257CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
MS1257TOCHARTABEX_COUNT,
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplMS1257TextEncodingData
|
|
= { { &aImplMS1257ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
186,
|
|
"iso8859-4",
|
|
"windows-1257",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* WIN, SCRIPT_BALTIC, pc code page 775, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-2 */
|
|
/* Unix Standard for Eastern European (Latin2) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-2.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88592UNI_START 0xA0
|
|
#define ISO88592UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88592ToUniTab[ISO88592UNI_END - ISO88592UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B, /* 0xA0 */
|
|
0x00B0, 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7, /* 0xB0 */
|
|
0x00B8, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, /* 0xB0 */
|
|
0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, /* 0xC0 */
|
|
0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, /* 0xD0 */
|
|
0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, /* 0xE0 */
|
|
0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88592TOCHARTABEX_COUNT 96
|
|
static ImplUniCharTabData const aImplISO88592ToCharTabEx[ISO88592TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B4, 0xB4, 0 },
|
|
{ 0x00B8, 0xB8, 0 },
|
|
{ 0x00C1, 0xC1, 0 },
|
|
{ 0x00C2, 0xC2, 0 },
|
|
{ 0x00C4, 0xC4, 0 },
|
|
{ 0x00C7, 0xC7, 0 },
|
|
{ 0x00C9, 0xC9, 0 },
|
|
{ 0x00CB, 0xCB, 0 },
|
|
{ 0x00CD, 0xCD, 0 },
|
|
{ 0x00CE, 0xCE, 0 },
|
|
{ 0x00D3, 0xD3, 0 },
|
|
{ 0x00D4, 0xD4, 0 },
|
|
{ 0x00D6, 0xD6, 0 },
|
|
{ 0x00D7, 0xD7, 0 },
|
|
{ 0x00DA, 0xDA, 0 },
|
|
{ 0x00DC, 0xDC, 0 },
|
|
{ 0x00DD, 0xDD, 0 },
|
|
{ 0x00DF, 0xDF, 0 },
|
|
{ 0x00E1, 0xE1, 0 },
|
|
{ 0x00E2, 0xE2, 0 },
|
|
{ 0x00E4, 0xE4, 0 },
|
|
{ 0x00E7, 0xE7, 0 },
|
|
{ 0x00E9, 0xE9, 0 },
|
|
{ 0x00EB, 0xEB, 0 },
|
|
{ 0x00ED, 0xED, 0 },
|
|
{ 0x00EE, 0xEE, 0 },
|
|
{ 0x00F3, 0xF3, 0 },
|
|
{ 0x00F4, 0xF4, 0 },
|
|
{ 0x00F6, 0xF6, 0 },
|
|
{ 0x00F7, 0xF7, 0 },
|
|
{ 0x00FA, 0xFA, 0 },
|
|
{ 0x00FC, 0xFC, 0 },
|
|
{ 0x00FD, 0xFD, 0 },
|
|
{ 0x0102, 0xC3, 0 },
|
|
{ 0x0103, 0xE3, 0 },
|
|
{ 0x0104, 0xA1, 0 },
|
|
{ 0x0105, 0xB1, 0 },
|
|
{ 0x0106, 0xC6, 0 },
|
|
{ 0x0107, 0xE6, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x010E, 0xCF, 0 },
|
|
{ 0x010F, 0xEF, 0 },
|
|
{ 0x0110, 0xD0, 0 },
|
|
{ 0x0111, 0xF0, 0 },
|
|
{ 0x0118, 0xCA, 0 },
|
|
{ 0x0119, 0xEA, 0 },
|
|
{ 0x011A, 0xCC, 0 },
|
|
{ 0x011B, 0xEC, 0 },
|
|
{ 0x0139, 0xC5, 0 },
|
|
{ 0x013A, 0xE5, 0 },
|
|
{ 0x013D, 0xA5, 0 },
|
|
{ 0x013E, 0xB5, 0 },
|
|
{ 0x0141, 0xA3, 0 },
|
|
{ 0x0142, 0xB3, 0 },
|
|
{ 0x0143, 0xD1, 0 },
|
|
{ 0x0144, 0xF1, 0 },
|
|
{ 0x0147, 0xD2, 0 },
|
|
{ 0x0148, 0xF2, 0 },
|
|
{ 0x0150, 0xD5, 0 },
|
|
{ 0x0151, 0xF5, 0 },
|
|
{ 0x0154, 0xC0, 0 },
|
|
{ 0x0155, 0xE0, 0 },
|
|
{ 0x0158, 0xD8, 0 },
|
|
{ 0x0159, 0xF8, 0 },
|
|
{ 0x015A, 0xA6, 0 },
|
|
{ 0x015B, 0xB6, 0 },
|
|
{ 0x015E, 0xAA, 0 },
|
|
{ 0x015F, 0xBA, 0 },
|
|
{ 0x0160, 0xA9, 0 },
|
|
{ 0x0161, 0xB9, 0 },
|
|
{ 0x0162, 0xDE, 0 },
|
|
{ 0x0163, 0xFE, 0 },
|
|
{ 0x0164, 0xAB, 0 },
|
|
{ 0x0165, 0xBB, 0 },
|
|
{ 0x016E, 0xD9, 0 },
|
|
{ 0x016F, 0xF9, 0 },
|
|
{ 0x0170, 0xDB, 0 },
|
|
{ 0x0171, 0xFB, 0 },
|
|
{ 0x0179, 0xAC, 0 },
|
|
{ 0x017A, 0xBC, 0 },
|
|
{ 0x017B, 0xAF, 0 },
|
|
{ 0x017C, 0xBF, 0 },
|
|
{ 0x017D, 0xAE, 0 },
|
|
{ 0x017E, 0xBE, 0 },
|
|
{ 0x02C7, 0xB7, 0 },
|
|
{ 0x02D8, 0xA2, 0 },
|
|
{ 0x02D9, 0xFF, 0 },
|
|
{ 0x02DB, 0xB2, 0 },
|
|
{ 0x02DD, 0xBD, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88592ByteCvtData =
|
|
{
|
|
aImplISO88592ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88592UNI_START, ISO88592UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImpl8090SameToCharTab,
|
|
NULL,
|
|
aImplISO88592ToCharTabEx,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
ISO88592TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88592TextEncodingData
|
|
= { { &aImplISO88592ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"iso-8859-2",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-3 */
|
|
/* Latin3 (Esperanto, Maltese, Turkish) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-3.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88593UNI_START 0xA0
|
|
#define ISO88593UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88593ToUniTab[ISO88593UNI_END - ISO88593UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4, 0, 0x0124, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD, 0, 0x017B, /* 0xA0 */
|
|
0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7, /* 0xB0 */
|
|
0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD, 0, 0x017C, /* 0xB0 */
|
|
0x00C0, 0x00C1, 0x00C2, 0, 0x00C4, 0x010A, 0x0108, 0x00C7, /* 0xC0 */
|
|
0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF, /* 0xD0 */
|
|
0x00E0, 0x00E1, 0x00E2, 0, 0x00E4, 0x010B, 0x0109, 0x00E7, /* 0xE0 */
|
|
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88593TOCHARTABEX_COUNT 89
|
|
static ImplUniCharTabData const aImplISO88593ToCharTabEx[ISO88593TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B2, 0xB2, 0 },
|
|
{ 0x00B3, 0xB3, 0 },
|
|
{ 0x00B4, 0xB4, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00B8, 0xB8, 0 },
|
|
{ 0x00BD, 0xBD, 0 },
|
|
{ 0x00C0, 0xC0, 0 },
|
|
{ 0x00C1, 0xC1, 0 },
|
|
{ 0x00C2, 0xC2, 0 },
|
|
{ 0x00C4, 0xC4, 0 },
|
|
{ 0x00C7, 0xC7, 0 },
|
|
{ 0x00C8, 0xC8, 0 },
|
|
{ 0x00C9, 0xC9, 0 },
|
|
{ 0x00CA, 0xCA, 0 },
|
|
{ 0x00CB, 0xCB, 0 },
|
|
{ 0x00CC, 0xCC, 0 },
|
|
{ 0x00CD, 0xCD, 0 },
|
|
{ 0x00CE, 0xCE, 0 },
|
|
{ 0x00CF, 0xCF, 0 },
|
|
{ 0x00D1, 0xD1, 0 },
|
|
{ 0x00D2, 0xD2, 0 },
|
|
{ 0x00D3, 0xD3, 0 },
|
|
{ 0x00D4, 0xD4, 0 },
|
|
{ 0x00D6, 0xD6, 0 },
|
|
{ 0x00D7, 0xD7, 0 },
|
|
{ 0x00D9, 0xD9, 0 },
|
|
{ 0x00DA, 0xDA, 0 },
|
|
{ 0x00DB, 0xDB, 0 },
|
|
{ 0x00DC, 0xDC, 0 },
|
|
{ 0x00DF, 0xDF, 0 },
|
|
{ 0x00E0, 0xE0, 0 },
|
|
{ 0x00E1, 0xE1, 0 },
|
|
{ 0x00E2, 0xE2, 0 },
|
|
{ 0x00E4, 0xE4, 0 },
|
|
{ 0x00E7, 0xE7, 0 },
|
|
{ 0x00E8, 0xE8, 0 },
|
|
{ 0x00E9, 0xE9, 0 },
|
|
{ 0x00EA, 0xEA, 0 },
|
|
{ 0x00EB, 0xEB, 0 },
|
|
{ 0x00EC, 0xEC, 0 },
|
|
{ 0x00ED, 0xED, 0 },
|
|
{ 0x00EE, 0xEE, 0 },
|
|
{ 0x00EF, 0xEF, 0 },
|
|
{ 0x00F1, 0xF1, 0 },
|
|
{ 0x00F2, 0xF2, 0 },
|
|
{ 0x00F3, 0xF3, 0 },
|
|
{ 0x00F4, 0xF4, 0 },
|
|
{ 0x00F6, 0xF6, 0 },
|
|
{ 0x00F7, 0xF7, 0 },
|
|
{ 0x00F9, 0xF9, 0 },
|
|
{ 0x00FA, 0xFA, 0 },
|
|
{ 0x00FB, 0xFB, 0 },
|
|
{ 0x00FC, 0xFC, 0 },
|
|
{ 0x0108, 0xC6, 0 },
|
|
{ 0x0109, 0xE6, 0 },
|
|
{ 0x010A, 0xC5, 0 },
|
|
{ 0x010B, 0xE5, 0 },
|
|
{ 0x011C, 0xD8, 0 },
|
|
{ 0x011D, 0xF8, 0 },
|
|
{ 0x011E, 0xAB, 0 },
|
|
{ 0x011F, 0xBB, 0 },
|
|
{ 0x0120, 0xD5, 0 },
|
|
{ 0x0121, 0xF5, 0 },
|
|
{ 0x0124, 0xA6, 0 },
|
|
{ 0x0125, 0xB6, 0 },
|
|
{ 0x0126, 0xA1, 0 },
|
|
{ 0x0127, 0xB1, 0 },
|
|
{ 0x0130, 0xA9, 0 },
|
|
{ 0x0131, 0xB9, 0 },
|
|
{ 0x0134, 0xAC, 0 },
|
|
{ 0x0135, 0xBC, 0 },
|
|
{ 0x015C, 0xDE, 0 },
|
|
{ 0x015D, 0xFE, 0 },
|
|
{ 0x015E, 0xAA, 0 },
|
|
{ 0x015F, 0xBA, 0 },
|
|
{ 0x016C, 0xDD, 0 },
|
|
{ 0x016D, 0xFD, 0 },
|
|
{ 0x017B, 0xAF, 0 },
|
|
{ 0x017C, 0xBF, 0 },
|
|
{ 0x02D8, 0xA2, 0 },
|
|
{ 0x02D9, 0xFF, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88593ByteCvtData =
|
|
{
|
|
aImplISO88593ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88593UNI_START, ISO88593UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImpl8090SameToCharTab,
|
|
NULL,
|
|
aImplISO88593ToCharTabEx,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
ISO88593TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88593TextEncodingData
|
|
= { { &aImplISO88593ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
0,
|
|
"iso8859-3",
|
|
"iso-8859-3",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_LATIN, pc code page 850 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-4 */
|
|
/* Latin4 (Estonian, Latvian, Lithuanian) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-4.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88594UNI_START 0xA0
|
|
#define ISO88594UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88594ToUniTab[ISO88594UNI_END - ISO88594UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF, /* 0xA0 */
|
|
0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7, /* 0xB0 */
|
|
0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B, /* 0xB0 */
|
|
0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A, /* 0xC0 */
|
|
0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF, /* 0xD0 */
|
|
0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B, /* 0xE0 */
|
|
0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88594TOCHARTABEX_COUNT 96
|
|
static ImplUniCharTabData const aImplISO88594ToCharTabEx[ISO88594TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AF, 0xAF, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B4, 0xB4, 0 },
|
|
{ 0x00B8, 0xB8, 0 },
|
|
{ 0x00C1, 0xC1, 0 },
|
|
{ 0x00C2, 0xC2, 0 },
|
|
{ 0x00C3, 0xC3, 0 },
|
|
{ 0x00C4, 0xC4, 0 },
|
|
{ 0x00C5, 0xC5, 0 },
|
|
{ 0x00C6, 0xC6, 0 },
|
|
{ 0x00C9, 0xC9, 0 },
|
|
{ 0x00CB, 0xCB, 0 },
|
|
{ 0x00CD, 0xCD, 0 },
|
|
{ 0x00CE, 0xCE, 0 },
|
|
{ 0x00D4, 0xD4, 0 },
|
|
{ 0x00D5, 0xD5, 0 },
|
|
{ 0x00D6, 0xD6, 0 },
|
|
{ 0x00D7, 0xD7, 0 },
|
|
{ 0x00D8, 0xD8, 0 },
|
|
{ 0x00DA, 0xDA, 0 },
|
|
{ 0x00DB, 0xDB, 0 },
|
|
{ 0x00DC, 0xDC, 0 },
|
|
{ 0x00DF, 0xDF, 0 },
|
|
{ 0x00E1, 0xE1, 0 },
|
|
{ 0x00E2, 0xE2, 0 },
|
|
{ 0x00E3, 0xE3, 0 },
|
|
{ 0x00E4, 0xE4, 0 },
|
|
{ 0x00E5, 0xE5, 0 },
|
|
{ 0x00E6, 0xE6, 0 },
|
|
{ 0x00E9, 0xE9, 0 },
|
|
{ 0x00EB, 0xEB, 0 },
|
|
{ 0x00ED, 0xED, 0 },
|
|
{ 0x00EE, 0xEE, 0 },
|
|
{ 0x00F4, 0xF4, 0 },
|
|
{ 0x00F5, 0xF5, 0 },
|
|
{ 0x00F6, 0xF6, 0 },
|
|
{ 0x00F7, 0xF7, 0 },
|
|
{ 0x00F8, 0xF8, 0 },
|
|
{ 0x00FA, 0xFA, 0 },
|
|
{ 0x00FB, 0xFB, 0 },
|
|
{ 0x00FC, 0xFC, 0 },
|
|
{ 0x0100, 0xC0, 0 },
|
|
{ 0x0101, 0xE0, 0 },
|
|
{ 0x0104, 0xA1, 0 },
|
|
{ 0x0105, 0xB1, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x0110, 0xD0, 0 },
|
|
{ 0x0111, 0xF0, 0 },
|
|
{ 0x0112, 0xAA, 0 },
|
|
{ 0x0113, 0xBA, 0 },
|
|
{ 0x0116, 0xCC, 0 },
|
|
{ 0x0117, 0xEC, 0 },
|
|
{ 0x0118, 0xCA, 0 },
|
|
{ 0x0119, 0xEA, 0 },
|
|
{ 0x0122, 0xAB, 0 },
|
|
{ 0x0123, 0xBB, 0 },
|
|
{ 0x0128, 0xA5, 0 },
|
|
{ 0x0129, 0xB5, 0 },
|
|
{ 0x012A, 0xCF, 0 },
|
|
{ 0x012B, 0xEF, 0 },
|
|
{ 0x012E, 0xC7, 0 },
|
|
{ 0x012F, 0xE7, 0 },
|
|
{ 0x0136, 0xD3, 0 },
|
|
{ 0x0137, 0xF3, 0 },
|
|
{ 0x0138, 0xA2, 0 },
|
|
{ 0x013B, 0xA6, 0 },
|
|
{ 0x013C, 0xB6, 0 },
|
|
{ 0x0145, 0xD1, 0 },
|
|
{ 0x0146, 0xF1, 0 },
|
|
{ 0x014A, 0xBD, 0 },
|
|
{ 0x014B, 0xBF, 0 },
|
|
{ 0x014C, 0xD2, 0 },
|
|
{ 0x014D, 0xF2, 0 },
|
|
{ 0x0156, 0xA3, 0 },
|
|
{ 0x0157, 0xB3, 0 },
|
|
{ 0x0160, 0xA9, 0 },
|
|
{ 0x0161, 0xB9, 0 },
|
|
{ 0x0166, 0xAC, 0 },
|
|
{ 0x0167, 0xBC, 0 },
|
|
{ 0x0168, 0xDD, 0 },
|
|
{ 0x0169, 0xFD, 0 },
|
|
{ 0x016A, 0xDE, 0 },
|
|
{ 0x016B, 0xFE, 0 },
|
|
{ 0x0172, 0xD9, 0 },
|
|
{ 0x0173, 0xF9, 0 },
|
|
{ 0x017D, 0xAE, 0 },
|
|
{ 0x017E, 0xBE, 0 },
|
|
{ 0x02C7, 0xB7, 0 },
|
|
{ 0x02D9, 0xFF, 0 },
|
|
{ 0x02DB, 0xB2, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88594ByteCvtData =
|
|
{
|
|
aImplISO88594ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88594UNI_START, ISO88594UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImpl8090SameToCharTab,
|
|
NULL,
|
|
aImplISO88594ToCharTabEx,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
ISO88594TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88594TextEncodingData
|
|
= { { &aImplISO88594ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
186,
|
|
"iso8859-4",
|
|
"iso-8859-4",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_BALTIC, pc code page 775, mac encoding 29 (?) */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-5 */
|
|
/* Unix Standard for Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-5.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88595UNI_START 0xA0
|
|
#define ISO88595UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88595ToUniTab[ISO88595UNI_END - ISO88595UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, /* 0xA0 */
|
|
0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F, /* 0xA0 */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xB0 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xB0 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xC0 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xC0 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xD0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xD0 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xE0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, /* 0xE0 */
|
|
0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, /* 0xF0 */
|
|
0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88595CHAR_START 0x0401
|
|
#define ISO88595CHAR_END 0x045F
|
|
static sal_uChar const aImplISO88595ToCharTab[ISO88595CHAR_END - ISO88595CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x0400 */
|
|
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0, 0xAE, 0xAF, /* 0x0400 */
|
|
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x0410 */
|
|
0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x0410 */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0420 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0420 */
|
|
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x0430 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x0430 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0440 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0440 */
|
|
0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0450 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0, 0xFE, 0xFF, /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88595TOCHARTABEX_COUNT 4
|
|
static ImplUniCharTabData const aImplISO88595ToCharTabEx[ISO88595TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A7, 0xFD, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x2116, 0xF0, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88595ByteCvtData =
|
|
{
|
|
aImplISO88595ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88595UNI_START, ISO88595UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO88595ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO88595ToCharTabEx,
|
|
ISO88595CHAR_START, ISO88595CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO88595TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88595TextEncodingData
|
|
= { { &aImplISO88595ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"iso-8859-5",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-7 */
|
|
/* Unix Standard for Greek */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-7.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88597UNI_START 0xA0
|
|
#define ISO88597UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88597ToUniTab[ISO88597UNI_END - ISO88597UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x2018, 0x2019, 0x00A3, 0, 0, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x00A9, 0, 0x00AB, 0x00AC, 0x00AD, 0, 0x2015, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x0385, 0x0386, 0x00B7, /* 0xB0 */
|
|
0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, /* 0xB0 */
|
|
0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, /* 0xC0 */
|
|
0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, /* 0xC0 */
|
|
0x03A0, 0x03A1, 0, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, /* 0xD0 */
|
|
0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, /* 0xD0 */
|
|
0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, /* 0xE0 */
|
|
0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, /* 0xE0 */
|
|
0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, /* 0xF0 */
|
|
0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88597CHAR_START 0x0384
|
|
#define ISO88597CHAR_END 0x03CE
|
|
static sal_uChar const aImplISO88597ToCharTab[ISO88597CHAR_END - ISO88597CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xB4, 0xB5, 0xB6, 0, /* 0x0380 */
|
|
0xB8, 0xB9, 0xBA, 0, 0xBC, 0, 0xBE, 0xBF, /* 0x0380 */
|
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x0390 */
|
|
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x0390 */
|
|
0xD0, 0xD1, 0, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x03A0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x03A0 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x03B0 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x03B0 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x03C0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE /* 0x03C0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88597TOCHARTABEX_COUNT 19
|
|
static ImplUniCharTabData const aImplISO88597ToCharTabEx[ISO88597TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A6, 0xA6, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A8, 0xA8, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xAB, 0 },
|
|
{ 0x00AC, 0xAC, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B2, 0xB2, 0 },
|
|
{ 0x00B3, 0xB3, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00BB, 0xBB, 0 },
|
|
{ 0x00BD, 0xBD, 0 },
|
|
{ 0x2015, 0xAF, 0 },
|
|
{ 0x2018, 0xA1, 0 },
|
|
{ 0x2019, 0xA2, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88597ByteCvtData =
|
|
{
|
|
aImplISO88597ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88597UNI_START, ISO88597UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO88597ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO88597ToCharTabEx,
|
|
ISO88597CHAR_START, ISO88597CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO88597TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88597TextEncodingData
|
|
= { { &aImplISO88597ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
161,
|
|
"iso8859-7",
|
|
"iso-8859-7",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_GREEK, pc code page 869, mac encoding 6 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-9 */
|
|
/* Latin5 (Turkish) */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-9.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO88599UNI_START 0xA0
|
|
#define ISO88599UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO88599ToUniTab[ISO88599UNI_END - ISO88599UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0xB0 */
|
|
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
|
|
0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, /* 0xD0 */
|
|
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
|
|
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88599CHAR_START 0x00A0
|
|
#define ISO88599CHAR_END 0x00FF
|
|
static sal_uChar const aImplISO88599ToCharTab[ISO88599CHAR_END - ISO88599CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, /* 0x00A0 */
|
|
0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
|
|
0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
|
|
0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, /* 0x00B0 */
|
|
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, 0xD7, /* 0x00D0 */
|
|
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0, 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, 0xF7, /* 0x00F0 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0, 0, 0xFF /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO88599TOCHARTABEX_COUNT 6
|
|
static ImplUniCharTabData const aImplISO88599ToCharTabEx[ISO88599TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x011E, 0xD0, 0 },
|
|
{ 0x011F, 0xF0, 0 },
|
|
{ 0x0130, 0xDD, 0 },
|
|
{ 0x0131, 0xFD, 0 },
|
|
{ 0x015E, 0xDE, 0 },
|
|
{ 0x015F, 0xFE, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO88599ByteCvtData =
|
|
{
|
|
aImplISO88599ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO88599UNI_START, ISO88599UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO88599ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO88599ToCharTabEx,
|
|
ISO88599CHAR_START, ISO88599CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO88599TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO88599TextEncodingData
|
|
= { { &aImplISO88599ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
162,
|
|
"iso8859-9",
|
|
"iso-8859-9",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-10 */
|
|
/* East European */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-10.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO885910UNI_START 0xA0
|
|
#define ISO885910UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO885910ToUniTab[ISO885910UNI_END - ISO885910UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7, /* 0xA0 */
|
|
0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A, /* 0xA0 */
|
|
0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7, /* 0xB0 */
|
|
0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2015, 0x016B, 0x014B, /* 0xB0 */
|
|
0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
|
|
0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168, /* 0xD0 */
|
|
0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
|
|
0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
|
|
0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169, /* 0xF0 */
|
|
0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885910CHAR_START 0x00C1
|
|
#define ISO885910CHAR_END 0x00FE
|
|
static sal_uChar const aImplISO885910ToCharTab[ISO885910CHAR_END - ISO885910CHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0, /* 0x00C0 */
|
|
0, 0xC9, 0, 0xCB, 0, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
|
|
0xD0, 0, 0, 0xD3, 0xD4, 0xD5, 0xD6, 0, /* 0x00D0 */
|
|
0xD8, 0, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
|
|
0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0, /* 0x00E0 */
|
|
0, 0xE9, 0, 0xEB, 0, 0xED, 0xEE, 0xEF, /* 0x00E0 */
|
|
0xF0, 0, 0, 0xF3, 0xF4, 0xF5, 0xF6, 0, /* 0x00F0 */
|
|
0xF8, 0, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885910TOCHARTABEX_COUNT 51
|
|
static ImplUniCharTabData const aImplISO885910ToCharTabEx[ISO885910TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x0100, 0xC0, 0 },
|
|
{ 0x0101, 0xE0, 0 },
|
|
{ 0x0104, 0xA1, 0 },
|
|
{ 0x0105, 0xB1, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x0110, 0xA9, 0 },
|
|
{ 0x0111, 0xB9, 0 },
|
|
{ 0x0112, 0xA2, 0 },
|
|
{ 0x0113, 0xB2, 0 },
|
|
{ 0x0116, 0xCC, 0 },
|
|
{ 0x0117, 0xEC, 0 },
|
|
{ 0x0118, 0xCA, 0 },
|
|
{ 0x0119, 0xEA, 0 },
|
|
{ 0x0122, 0xA3, 0 },
|
|
{ 0x0123, 0xB3, 0 },
|
|
{ 0x0128, 0xA5, 0 },
|
|
{ 0x0129, 0xB5, 0 },
|
|
{ 0x012A, 0xA4, 0 },
|
|
{ 0x012B, 0xB4, 0 },
|
|
{ 0x012E, 0xC7, 0 },
|
|
{ 0x012F, 0xE7, 0 },
|
|
{ 0x0136, 0xA6, 0 },
|
|
{ 0x0137, 0xB6, 0 },
|
|
{ 0x0138, 0xFF, 0 },
|
|
{ 0x013B, 0xA8, 0 },
|
|
{ 0x013C, 0xB8, 0 },
|
|
{ 0x0145, 0xD1, 0 },
|
|
{ 0x0146, 0xF1, 0 },
|
|
{ 0x014A, 0xAF, 0 },
|
|
{ 0x014B, 0xBF, 0 },
|
|
{ 0x014C, 0xD2, 0 },
|
|
{ 0x014D, 0xF2, 0 },
|
|
{ 0x0160, 0xAA, 0 },
|
|
{ 0x0161, 0xBA, 0 },
|
|
{ 0x0166, 0xAB, 0 },
|
|
{ 0x0167, 0xBB, 0 },
|
|
{ 0x0168, 0xD7, 0 },
|
|
{ 0x0169, 0xF7, 0 },
|
|
{ 0x016A, 0xAE, 0 },
|
|
{ 0x016B, 0xBE, 0 },
|
|
{ 0x0172, 0xD9, 0 },
|
|
{ 0x0173, 0xF9, 0 },
|
|
{ 0x017D, 0xAC, 0 },
|
|
{ 0x017E, 0xBC, 0 },
|
|
{ 0x2015, 0xBD, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO885910ByteCvtData =
|
|
{
|
|
aImplISO885910ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO885910UNI_START, ISO885910UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImplISO885910ToCharTab,
|
|
aImpl8090SameToCharTab,
|
|
aImplISO885910ToCharTabEx,
|
|
ISO885910CHAR_START, ISO885910CHAR_END,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
ISO885910TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO885910TextEncodingData
|
|
= { { &aImplISO885910ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-10",
|
|
"iso-8859-10",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* ISO-8859-13 */
|
|
/* East European */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme, 0x80-0x9F Control-Caracter wie in Unicode */
|
|
/* Convert-Tables: mappings/iso8859/8859-13.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
|
|
/* Last-Changes from us: */
|
|
|
|
#define ISO885913UNI_START 0xA0
|
|
#define ISO885913UNI_END 0xFF
|
|
static sal_uInt16 const aImplISO885913ToUniTab[ISO885913UNI_END - ISO885913UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7, /* 0xA0 */
|
|
0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, /* 0xA0 */
|
|
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, /* 0xB0 */
|
|
0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, /* 0xC0 */
|
|
0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, /* 0xC0 */
|
|
0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
|
|
0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, /* 0xD0 */
|
|
0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, /* 0xE0 */
|
|
0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, /* 0xE0 */
|
|
0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
|
|
0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define ISO885913TOCHARTABEX_COUNT 96
|
|
static ImplUniCharTabData const aImplISO885913ToCharTabEx[ISO885913TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xA0, 0 },
|
|
{ 0x00A2, 0xA2, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A4, 0xA4, 0 },
|
|
{ 0x00A6, 0xA6, 0 },
|
|
{ 0x00A7, 0xA7, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xAB, 0 },
|
|
{ 0x00AC, 0xAC, 0 },
|
|
{ 0x00AD, 0xAD, 0 },
|
|
{ 0x00AE, 0xAE, 0 },
|
|
{ 0x00B0, 0xB0, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B2, 0xB2, 0 },
|
|
{ 0x00B3, 0xB3, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xB6, 0 },
|
|
{ 0x00B7, 0xB7, 0 },
|
|
{ 0x00B9, 0xB9, 0 },
|
|
{ 0x00BB, 0xBB, 0 },
|
|
{ 0x00BC, 0xBC, 0 },
|
|
{ 0x00BD, 0xBD, 0 },
|
|
{ 0x00BE, 0xBE, 0 },
|
|
{ 0x00C4, 0xC4, 0 },
|
|
{ 0x00C5, 0xC5, 0 },
|
|
{ 0x00C6, 0xAF, 0 },
|
|
{ 0x00C9, 0xC9, 0 },
|
|
{ 0x00D3, 0xD3, 0 },
|
|
{ 0x00D5, 0xD5, 0 },
|
|
{ 0x00D6, 0xD6, 0 },
|
|
{ 0x00D7, 0xD7, 0 },
|
|
{ 0x00D8, 0xA8, 0 },
|
|
{ 0x00DC, 0xDC, 0 },
|
|
{ 0x00DF, 0xDF, 0 },
|
|
{ 0x00E4, 0xE4, 0 },
|
|
{ 0x00E5, 0xE5, 0 },
|
|
{ 0x00E6, 0xBF, 0 },
|
|
{ 0x00E9, 0xE9, 0 },
|
|
{ 0x00F3, 0xF3, 0 },
|
|
{ 0x00F5, 0xF5, 0 },
|
|
{ 0x00F6, 0xF6, 0 },
|
|
{ 0x00F7, 0xF7, 0 },
|
|
{ 0x00F8, 0xB8, 0 },
|
|
{ 0x00FC, 0xFC, 0 },
|
|
{ 0x0100, 0xC2, 0 },
|
|
{ 0x0101, 0xE2, 0 },
|
|
{ 0x0104, 0xC0, 0 },
|
|
{ 0x0105, 0xE0, 0 },
|
|
{ 0x0106, 0xC3, 0 },
|
|
{ 0x0107, 0xE3, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x0112, 0xC7, 0 },
|
|
{ 0x0113, 0xE7, 0 },
|
|
{ 0x0116, 0xCB, 0 },
|
|
{ 0x0117, 0xEB, 0 },
|
|
{ 0x0118, 0xC6, 0 },
|
|
{ 0x0119, 0xE6, 0 },
|
|
{ 0x0122, 0xCC, 0 },
|
|
{ 0x0123, 0xEC, 0 },
|
|
{ 0x012A, 0xCE, 0 },
|
|
{ 0x012B, 0xEE, 0 },
|
|
{ 0x012E, 0xC1, 0 },
|
|
{ 0x012F, 0xE1, 0 },
|
|
{ 0x0136, 0xCD, 0 },
|
|
{ 0x0137, 0xED, 0 },
|
|
{ 0x013B, 0xCF, 0 },
|
|
{ 0x013C, 0xEF, 0 },
|
|
{ 0x0141, 0xD9, 0 },
|
|
{ 0x0142, 0xF9, 0 },
|
|
{ 0x0143, 0xD1, 0 },
|
|
{ 0x0144, 0xF1, 0 },
|
|
{ 0x0145, 0xD2, 0 },
|
|
{ 0x0146, 0xF2, 0 },
|
|
{ 0x014C, 0xD4, 0 },
|
|
{ 0x014D, 0xF4, 0 },
|
|
{ 0x0156, 0xAA, 0 },
|
|
{ 0x0157, 0xBA, 0 },
|
|
{ 0x015A, 0xDA, 0 },
|
|
{ 0x015B, 0xFA, 0 },
|
|
{ 0x0160, 0xD0, 0 },
|
|
{ 0x0161, 0xF0, 0 },
|
|
{ 0x016A, 0xDB, 0 },
|
|
{ 0x016B, 0xFB, 0 },
|
|
{ 0x0172, 0xD8, 0 },
|
|
{ 0x0173, 0xF8, 0 },
|
|
{ 0x0179, 0xCA, 0 },
|
|
{ 0x017A, 0xEA, 0 },
|
|
{ 0x017B, 0xDD, 0 },
|
|
{ 0x017C, 0xFD, 0 },
|
|
{ 0x017D, 0xDE, 0 },
|
|
{ 0x017E, 0xFE, 0 },
|
|
{ 0x2019, 0xFF, 0 },
|
|
{ 0x201C, 0xB4, 0 },
|
|
{ 0x201D, 0xA1, 0 },
|
|
{ 0x201E, 0xA5, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplISO885913ByteCvtData =
|
|
{
|
|
aImplISO885913ToUniTab,
|
|
aImpl8090SameToUniTab,
|
|
ISO885913UNI_START, ISO885913UNI_END,
|
|
SAME8090UNI_START, SAME8090UNI_END,
|
|
aImpl8090SameToCharTab,
|
|
NULL,
|
|
aImplISO885913ToCharTabEx,
|
|
SAME8090CHAR_START, SAME8090CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
ISO885913TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplISO885913TextEncodingData
|
|
= { { &aImplISO885913ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-13",
|
|
"iso-8859-13",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-CentEuro */
|
|
/* Apple CharSet for Eastern Europa (Polish, Czech, Slovak, Hungarian, Estonian, Latvian, Lithuanian) */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/centeuro.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLECENTEUROUNI_START 0x80
|
|
#define APPLECENTEUROUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLECENTEUROToUniTab[APPLECENTEUROUNI_END - APPLECENTEUROUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C4, 0x0100, 0x0101, 0x00C9, 0x0104, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
|
|
0x0105, 0x010C, 0x00E4, 0x010D, 0x0106, 0x0107, 0x00E9, 0x0179, /* 0x80 */
|
|
0x017A, 0x010E, 0x00ED, 0x010F, 0x0112, 0x0113, 0x0116, 0x00F3, /* 0x90 */
|
|
0x0117, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x011A, 0x011B, 0x00FC, /* 0x90 */
|
|
0x2020, 0x00B0, 0x0118, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x2122, 0x0119, 0x00A8, 0x2260, 0x0123, 0x012E, /* 0xA0 */
|
|
0x012F, 0x012A, 0x2264, 0x2265, 0x012B, 0x0136, 0x2202, 0x2211, /* 0xB0 */
|
|
0x0142, 0x013B, 0x013C, 0x013D, 0x013E, 0x0139, 0x013A, 0x0145, /* 0xB0 */
|
|
0x0146, 0x0143, 0x00AC, 0x221A, 0x0144, 0x0147, 0x2206, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x0148, 0x0150, 0x00D5, 0x0151, 0x014C, /* 0xC0 */
|
|
0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
|
|
0x014D, 0x0154, 0x0155, 0x0158, 0x2039, 0x203A, 0x0159, 0x0156, /* 0xD0 */
|
|
0x0157, 0x0160, 0x201A, 0x201E, 0x0161, 0x015A, 0x015B, 0x00C1, /* 0xE0 */
|
|
0x0164, 0x0165, 0x00CD, 0x017D, 0x017E, 0x016A, 0x00D3, 0x00D4, /* 0xE0 */
|
|
0x016B, 0x016E, 0x00DA, 0x016F, 0x0170, 0x0171, 0x0172, 0x0173, /* 0xF0 */
|
|
0x00DD, 0x00FD, 0x0137, 0x017B, 0x0141, 0x017C, 0x0122, 0x02C7 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLECENTEUROTOCHARTABEX_COUNT 128
|
|
static ImplUniCharTabData const aImplAPPLECENTEUROToCharTabEx[APPLECENTEUROTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xCA, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A7, 0xA4, 0 },
|
|
{ 0x00A8, 0xAC, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xC7, 0 },
|
|
{ 0x00AC, 0xC2, 0 },
|
|
{ 0x00AE, 0xA8, 0 },
|
|
{ 0x00B0, 0xA1, 0 },
|
|
{ 0x00B6, 0xA6, 0 },
|
|
{ 0x00BB, 0xC8, 0 },
|
|
{ 0x00C1, 0xE7, 0 },
|
|
{ 0x00C4, 0x80, 0 },
|
|
{ 0x00C9, 0x83, 0 },
|
|
{ 0x00CD, 0xEA, 0 },
|
|
{ 0x00D3, 0xEE, 0 },
|
|
{ 0x00D4, 0xEF, 0 },
|
|
{ 0x00D5, 0xCD, 0 },
|
|
{ 0x00D6, 0x85, 0 },
|
|
{ 0x00DA, 0xF2, 0 },
|
|
{ 0x00DC, 0x86, 0 },
|
|
{ 0x00DD, 0xF8, 0 },
|
|
{ 0x00DF, 0xA7, 0 },
|
|
{ 0x00E1, 0x87, 0 },
|
|
{ 0x00E4, 0x8A, 0 },
|
|
{ 0x00E9, 0x8E, 0 },
|
|
{ 0x00ED, 0x92, 0 },
|
|
{ 0x00F3, 0x97, 0 },
|
|
{ 0x00F4, 0x99, 0 },
|
|
{ 0x00F5, 0x9B, 0 },
|
|
{ 0x00F6, 0x9A, 0 },
|
|
{ 0x00F7, 0xD6, 0 },
|
|
{ 0x00FA, 0x9C, 0 },
|
|
{ 0x00FC, 0x9F, 0 },
|
|
{ 0x00FD, 0xF9, 0 },
|
|
{ 0x0100, 0x81, 0 },
|
|
{ 0x0101, 0x82, 0 },
|
|
{ 0x0104, 0x84, 0 },
|
|
{ 0x0105, 0x88, 0 },
|
|
{ 0x0106, 0x8C, 0 },
|
|
{ 0x0107, 0x8D, 0 },
|
|
{ 0x010C, 0x89, 0 },
|
|
{ 0x010D, 0x8B, 0 },
|
|
{ 0x010E, 0x91, 0 },
|
|
{ 0x010F, 0x93, 0 },
|
|
{ 0x0112, 0x94, 0 },
|
|
{ 0x0113, 0x95, 0 },
|
|
{ 0x0116, 0x96, 0 },
|
|
{ 0x0117, 0x98, 0 },
|
|
{ 0x0118, 0xA2, 0 },
|
|
{ 0x0119, 0xAB, 0 },
|
|
{ 0x011A, 0x9D, 0 },
|
|
{ 0x011B, 0x9E, 0 },
|
|
{ 0x0122, 0xFE, 0 },
|
|
{ 0x0123, 0xAE, 0 },
|
|
{ 0x012A, 0xB1, 0 },
|
|
{ 0x012B, 0xB4, 0 },
|
|
{ 0x012E, 0xAF, 0 },
|
|
{ 0x012F, 0xB0, 0 },
|
|
{ 0x0136, 0xB5, 0 },
|
|
{ 0x0137, 0xFA, 0 },
|
|
{ 0x0139, 0xBD, 0 },
|
|
{ 0x013A, 0xBE, 0 },
|
|
{ 0x013B, 0xB9, 0 },
|
|
{ 0x013C, 0xBA, 0 },
|
|
{ 0x013D, 0xBB, 0 },
|
|
{ 0x013E, 0xBC, 0 },
|
|
{ 0x0141, 0xFC, 0 },
|
|
{ 0x0142, 0xB8, 0 },
|
|
{ 0x0143, 0xC1, 0 },
|
|
{ 0x0144, 0xC4, 0 },
|
|
{ 0x0145, 0xBF, 0 },
|
|
{ 0x0146, 0xC0, 0 },
|
|
{ 0x0147, 0xC5, 0 },
|
|
{ 0x0148, 0xCB, 0 },
|
|
{ 0x014C, 0xCF, 0 },
|
|
{ 0x014D, 0xD8, 0 },
|
|
{ 0x0150, 0xCC, 0 },
|
|
{ 0x0151, 0xCE, 0 },
|
|
{ 0x0154, 0xD9, 0 },
|
|
{ 0x0155, 0xDA, 0 },
|
|
{ 0x0156, 0xDF, 0 },
|
|
{ 0x0157, 0xE0, 0 },
|
|
{ 0x0158, 0xDB, 0 },
|
|
{ 0x0159, 0xDE, 0 },
|
|
{ 0x015A, 0xE5, 0 },
|
|
{ 0x015B, 0xE6, 0 },
|
|
{ 0x0160, 0xE1, 0 },
|
|
{ 0x0161, 0xE4, 0 },
|
|
{ 0x0164, 0xE8, 0 },
|
|
{ 0x0165, 0xE9, 0 },
|
|
{ 0x016A, 0xED, 0 },
|
|
{ 0x016B, 0xF0, 0 },
|
|
{ 0x016E, 0xF1, 0 },
|
|
{ 0x016F, 0xF3, 0 },
|
|
{ 0x0170, 0xF4, 0 },
|
|
{ 0x0171, 0xF5, 0 },
|
|
{ 0x0172, 0xF6, 0 },
|
|
{ 0x0173, 0xF7, 0 },
|
|
{ 0x0179, 0x8F, 0 },
|
|
{ 0x017A, 0x90, 0 },
|
|
{ 0x017B, 0xFB, 0 },
|
|
{ 0x017C, 0xFD, 0 },
|
|
{ 0x017D, 0xEB, 0 },
|
|
{ 0x017E, 0xEC, 0 },
|
|
{ 0x02C7, 0xFF, 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 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2039, 0xDC, 0 },
|
|
{ 0x203A, 0xDD, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2202, 0xB6, 0 },
|
|
{ 0x2206, 0xC6, 0 },
|
|
{ 0x2211, 0xB7, 0 },
|
|
{ 0x221A, 0xC3, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 },
|
|
{ 0x25CA, 0xD7, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLECENTEUROByteCvtData =
|
|
{
|
|
aImplAPPLECENTEUROToUniTab,
|
|
NULL,
|
|
APPLECENTEUROUNI_START, APPLECENTEUROUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
NULL,
|
|
NULL,
|
|
aImplAPPLECENTEUROToCharTabEx,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLECENTEUROTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLECENTEUROTextEncodingData
|
|
= { { &aImplAPPLECENTEUROByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"iso-8859-2",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 29 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Croatian */
|
|
/* Standard Apple CharSet for Croatian */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/croatien.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLECROATIANUNI_START 0x80
|
|
#define APPLECROATIANUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLECROATIANToUniTab[APPLECROATIANUNI_END - APPLECROATIANUNI_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, 0x0160, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x017D, 0x00D8, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x2206, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
|
|
0x220F, 0x0161, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x017E, 0x00F8, /* 0xB0 */
|
|
0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x0106, 0x00AB, /* 0xC0 */
|
|
0x010C, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
|
|
0x0110, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
|
|
0xF8FF, 0x00A9, 0x2044, 0x00A4, 0x2039, 0x203A, 0x00C6, 0x00BB, /* 0xD0 */
|
|
0x2013, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x0107, 0x00C1, /* 0xE0 */
|
|
0x010D, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
|
|
0x0111, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
|
|
0x00AF, 0x03C0, 0x00CB, 0x02DA, 0x00B8, 0x00CA, 0x00E6, 0x02C7 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLECROATIANCHAR_START 0x00A0
|
|
#define APPLECROATIANCHAR_END 0x00FC
|
|
static sal_uChar const aImplAPPLECROATIANToCharTab[APPLECROATIANCHAR_END - APPLECROATIANCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0, 0, 0xA4, /* 0x00A0 */
|
|
0xAC, 0xD9, 0xBB, 0xC7, 0xC2, 0, 0xA8, 0xF8, /* 0x00A0 */
|
|
0xA1, 0xB1, 0, 0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
|
|
0xFC, 0, 0xBC, 0xDF, 0, 0, 0, 0xC0, /* 0x00B0 */
|
|
0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xDE, 0x82, /* 0x00C0 */
|
|
0xE9, 0x83, 0xFD, 0xFA, 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, 0xFE, 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 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLECROATIANTOCHARTABEX_COUNT 49
|
|
static ImplUniCharTabData const aImplAPPLECROATIANToCharTabEx[APPLECROATIANTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0106, 0xC6, 0 },
|
|
{ 0x0107, 0xE6, 0 },
|
|
{ 0x010C, 0xC8, 0 },
|
|
{ 0x010D, 0xE8, 0 },
|
|
{ 0x0110, 0xD0, 0 },
|
|
{ 0x0111, 0xF0, 0 },
|
|
{ 0x0131, 0xF5, 0 },
|
|
{ 0x0152, 0xCE, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x0160, 0xA9, 0 },
|
|
{ 0x0161, 0xB9, 0 },
|
|
{ 0x017D, 0xAE, 0 },
|
|
{ 0x017E, 0xBE, 0 },
|
|
{ 0x0192, 0xC4, 0 },
|
|
{ 0x02C6, 0xF6, 0 },
|
|
{ 0x02C7, 0xFF, 0 },
|
|
{ 0x02DA, 0xFB, 0 },
|
|
{ 0x02DC, 0xF7, 0 },
|
|
{ 0x03A9, 0xBD, 0 },
|
|
{ 0x03C0, 0xF9, 0 },
|
|
{ 0x2013, 0xE0, 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 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2030, 0xE4, 0 },
|
|
{ 0x2039, 0xDC, 0 },
|
|
{ 0x203A, 0xDD, 0 },
|
|
{ 0x2044, 0xDA, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2202, 0xB6, 0 },
|
|
{ 0x2206, 0xB4, 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, 0xD8, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLECROATIANByteCvtData =
|
|
{
|
|
aImplAPPLECROATIANToUniTab,
|
|
NULL,
|
|
APPLECROATIANUNI_START, APPLECROATIANUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLECROATIANToCharTab,
|
|
NULL,
|
|
aImplAPPLECROATIANToCharTabEx,
|
|
APPLECROATIANCHAR_START, APPLECROATIANCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLECROATIANTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLECROATIANTextEncodingData
|
|
= { { &aImplAPPLECROATIANByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"iso-8859-2",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 36 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Cyrillic */
|
|
/* Apple CharSet for Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/cyrillic.txt from 02/15/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLECYRILLICUNI_START 0x80
|
|
#define APPLECYRILLICUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLECYRILLICToUniTab[APPLECYRILLICUNI_END - APPLECYRILLICUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
|
|
0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x2202, 0x0408, /* 0xB0 */
|
|
0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, /* 0xB0 */
|
|
0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, /* 0xC0 */
|
|
0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, /* 0xD0 */
|
|
0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, /* 0xD0 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x00A4 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLECYRILLICCHAR_START 0x0401
|
|
#define APPLECYRILLICCHAR_END 0x045F
|
|
static sal_uChar const aImplAPPLECYRILLICToCharTab[APPLECYRILLICCHAR_END - APPLECYRILLICCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xDD, 0xAB, 0xAE, 0xB8, 0xC1, 0xA7, 0xBA, /* 0x0400 */
|
|
0xB7, 0xBC, 0xBE, 0xCB, 0xCD, 0, 0xD8, 0xDA, /* 0x0400 */
|
|
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
|
|
0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
|
|
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
|
|
0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF, /* 0x0440 */
|
|
0, 0xDE, 0xAC, 0xAF, 0xB9, 0xCF, 0xB4, 0xBB, /* 0x0450 */
|
|
0xC0, 0xBD, 0xBF, 0xCC, 0xCE, 0, 0xD9, 0xDB, /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLECYRILLICTOCHARTABEX_COUNT 36
|
|
static ImplUniCharTabData const aImplAPPLECYRILLICToCharTabEx[APPLECYRILLICTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xCA, 0 },
|
|
{ 0x00A2, 0xA2, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A4, 0xFF, 0 },
|
|
{ 0x00A7, 0xA4, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xC7, 0 },
|
|
{ 0x00AC, 0xC2, 0 },
|
|
{ 0x00AE, 0xA8, 0 },
|
|
{ 0x00B0, 0xA1, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xA6, 0 },
|
|
{ 0x00BB, 0xC8, 0 },
|
|
{ 0x00F7, 0xD6, 0 },
|
|
{ 0x0192, 0xC4, 0 },
|
|
{ 0x2013, 0xD0, 0 },
|
|
{ 0x2014, 0xD1, 0 },
|
|
{ 0x2018, 0xD4, 0 },
|
|
{ 0x2019, 0xD5, 0 },
|
|
{ 0x201C, 0xD2, 0 },
|
|
{ 0x201D, 0xD3, 0 },
|
|
{ 0x201E, 0xD7, 0 },
|
|
{ 0x2020, 0xA0, 0 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2116, 0xDC, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2202, 0xB6, 0 },
|
|
{ 0x2206, 0xC6, 0 },
|
|
{ 0x221A, 0xC3, 0 },
|
|
{ 0x221E, 0xB0, 0 },
|
|
{ 0x2248, 0xC5, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLECYRILLICByteCvtData =
|
|
{
|
|
aImplAPPLECYRILLICToUniTab,
|
|
NULL,
|
|
APPLECYRILLICUNI_START, APPLECYRILLICUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLECYRILLICToCharTab,
|
|
NULL,
|
|
aImplAPPLECYRILLICToCharTabEx,
|
|
APPLECYRILLICCHAR_START, APPLECYRILLICCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLECYRILLICTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLECYRILLICTextEncodingData
|
|
= { { &aImplAPPLECYRILLICByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"iso-8859-5",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Greek */
|
|
/* Apple CharSet for Greek */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLEGREEKUNI_START 0x80
|
|
#define APPLEGREEKUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLEGREEKToUniTab[APPLEGREEKUNI_END - APPLEGREEKUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x00C4, 0x00B9, 0x00B2, 0x00C9, 0x00B3, 0x00D6, 0x00DC, 0x0385, /* 0x80 */
|
|
0x00E0, 0x00E2, 0x00E4, 0x0384, 0x00A8, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
|
|
0x00EA, 0x00EB, 0x00A3, 0x2122, 0x00EE, 0x00EF, 0x2022, 0x00BD, /* 0x90 */
|
|
0x2030, 0x00F4, 0x00F6, 0x00A6, 0x00AD, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
|
|
0x2020, 0x0393, 0x0394, 0x0398, 0x039B, 0x039E, 0x03A0, 0x00DF, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x03A3, 0x03AA, 0x00A7, 0x2260, 0x00B0, 0x00B7, /* 0xA0 */
|
|
0x0391, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x0392, 0x0395, 0x0396, /* 0xB0 */
|
|
0x0397, 0x0399, 0x039A, 0x039C, 0x03A6, 0x03AB, 0x03A8, 0x03A9, /* 0xB0 */
|
|
0x03AC, 0x039D, 0x00AC, 0x039F, 0x03A1, 0x2248, 0x03A4, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x03A5, 0x03A7, 0x0386, 0x0388, 0x0153, /* 0xC0 */
|
|
0x2013, 0x2015, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x0389, /* 0xD0 */
|
|
0x038A, 0x038C, 0x038E, 0x03AD, 0x03AE, 0x03AF, 0x03CC, 0x038F, /* 0xD0 */
|
|
0x03CD, 0x03B1, 0x03B2, 0x03C8, 0x03B4, 0x03B5, 0x03C6, 0x03B3, /* 0xE0 */
|
|
0x03B7, 0x03B9, 0x03BE, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BF, /* 0xE0 */
|
|
0x03C0, 0x03CE, 0x03C1, 0x03C3, 0x03C4, 0x03B8, 0x03C9, 0x03C2, /* 0xF0 */
|
|
0x03C7, 0x03C5, 0x03B6, 0x03CA, 0x03CB, 0x0390, 0x03B0, 0xF8A0 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEGREEKCHAR_START 0x0384
|
|
#define APPLEGREEKCHAR_END 0x03CE
|
|
static sal_uChar const aImplAPPLEGREEKToCharTab[APPLEGREEKCHAR_END - APPLEGREEKCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x8B, 0x87, 0xCD, 0, /* 0x0380 */
|
|
0xCE, 0xD7, 0xD8, 0, 0xD9, 0, 0xDA, 0xDF, /* 0x0380 */
|
|
0xFD, 0xB0, 0xB5, 0xA1, 0xA2, 0xB6, 0xB7, 0xB8, /* 0x0390 */
|
|
0xA3, 0xB9, 0xBA, 0xA4, 0xBB, 0xC1, 0xA5, 0xC3, /* 0x0390 */
|
|
0xA6, 0xC4, 0, 0xAA, 0xC6, 0xCB, 0xBC, 0xCC, /* 0x03A0 */
|
|
0xBE, 0xBF, 0xAB, 0xBD, 0xC0, 0xDB, 0xDC, 0xDD, /* 0x03A0 */
|
|
0xFE, 0xE1, 0xE2, 0xE7, 0xE4, 0xE5, 0xFA, 0xE8, /* 0x03B0 */
|
|
0xF5, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEA, 0xEF, /* 0x03B0 */
|
|
0xF0, 0xF2, 0xF7, 0xF3, 0xF4, 0xF9, 0xE6, 0xF8, /* 0x03C0 */
|
|
0xE3, 0xF6, 0xFB, 0xFC, 0xDE, 0xE0, 0xF1 /* 0x03C0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEGREEKTOCHARTABEX_COUNT 57
|
|
static ImplUniCharTabData const aImplAPPLEGREEKToCharTabEx[APPLEGREEKTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xCA, 0 },
|
|
{ 0x00A3, 0x92, 0 },
|
|
{ 0x00A5, 0xB4, 0 },
|
|
{ 0x00A6, 0x9B, 0 },
|
|
{ 0x00A7, 0xAC, 0 },
|
|
{ 0x00A8, 0x8C, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xC7, 0 },
|
|
{ 0x00AC, 0xC2, 0 },
|
|
{ 0x00AD, 0x9C, 0 },
|
|
{ 0x00AE, 0xA8, 0 },
|
|
{ 0x00B0, 0xAE, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B2, 0x82, 0 },
|
|
{ 0x00B3, 0x84, 0 },
|
|
{ 0x00B7, 0xAF, 0 },
|
|
{ 0x00B9, 0x81, 0 },
|
|
{ 0x00BB, 0xC8, 0 },
|
|
{ 0x00BD, 0x97, 0 },
|
|
{ 0x00C4, 0x80, 0 },
|
|
{ 0x00C9, 0x83, 0 },
|
|
{ 0x00D6, 0x85, 0 },
|
|
{ 0x00DC, 0x86, 0 },
|
|
{ 0x00DF, 0xA7, 0 },
|
|
{ 0x00E0, 0x88, 0 },
|
|
{ 0x00E2, 0x89, 0 },
|
|
{ 0x00E4, 0x8A, 0 },
|
|
{ 0x00E7, 0x8D, 0 },
|
|
{ 0x00E8, 0x8F, 0 },
|
|
{ 0x00E9, 0x8E, 0 },
|
|
{ 0x00EA, 0x90, 0 },
|
|
{ 0x00EB, 0x91, 0 },
|
|
{ 0x00EE, 0x94, 0 },
|
|
{ 0x00EF, 0x95, 0 },
|
|
{ 0x00F4, 0x99, 0 },
|
|
{ 0x00F6, 0x9A, 0 },
|
|
{ 0x00F7, 0xD6, 0 },
|
|
{ 0x00F9, 0x9D, 0 },
|
|
{ 0x00FB, 0x9E, 0 },
|
|
{ 0x00FC, 0x9F, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x2013, 0xD0, 0 },
|
|
{ 0x2015, 0xD1, 0 },
|
|
{ 0x2018, 0xD4, 0 },
|
|
{ 0x2019, 0xD5, 0 },
|
|
{ 0x201C, 0xD2, 0 },
|
|
{ 0x201D, 0xD3, 0 },
|
|
{ 0x2020, 0xA0, 0 },
|
|
{ 0x2022, 0x96, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2030, 0x98, 0 },
|
|
{ 0x2122, 0x93, 0 },
|
|
{ 0x2248, 0xC5, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 },
|
|
{ 0xF8A0, 0xFF, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLEGREEKByteCvtData =
|
|
{
|
|
aImplAPPLEGREEKToUniTab,
|
|
NULL,
|
|
APPLEGREEKUNI_START, APPLEGREEKUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLEGREEKToCharTab,
|
|
NULL,
|
|
aImplAPPLEGREEKToCharTabEx,
|
|
APPLEGREEKCHAR_START, APPLEGREEKCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLEGREEKTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLEGREEKTextEncodingData
|
|
= { { &aImplAPPLEGREEKByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
161,
|
|
"iso8859-7",
|
|
"iso-8859-7",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_GREEK, pc code page 869, mac encoding 6 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Romanian */
|
|
/* Standard Apple CharSet for Romanien */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/romanian.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
/* 0xAF --> 0x015E (like Java), Apple Definition: 0x0053+0x0326 # LATIN CAPITAL LETTER S + COMBINING COMMA BELOW */
|
|
/* 0xBF --> 0x015F (like Java), Apple Definition: 0x0073+0x0326 # LATIN SMALL LETTER S + COMBINING COMMA BELOW */
|
|
/* 0xDE --> 0x0162 (like Java), Apple Definition: 0x0054+0x0326 # LATIN CAPITAL LETTER T + COMBINING COMMA BELOW */
|
|
/* 0xDF --> 0x0163 (like Java), Apple Definition: 0x0074+0x0326 # LATIN SMALL LETTER T + COMBINING COMMA BELOW */
|
|
|
|
#define APPLEROMANIANUNI_START 0x80
|
|
#define APPLEROMANIANUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLEROMANIANToUniTab[APPLEROMANIANUNI_END - APPLEROMANIANUNI_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, 0x0102, 0x015E, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
|
|
0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x0103, 0x015F, /* 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, 0x2039, 0x203A, 0x0162, 0x0163, /* 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 APPLEROMANIANCHAR_START 0x00A0
|
|
#define APPLEROMANIANCHAR_END 0x00FF
|
|
static sal_uChar const aImplAPPLEROMANIANToCharTab[APPLEROMANIANCHAR_END - APPLEROMANIANCHAR_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, 0, 0x82, /* 0x00C0 */
|
|
0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
|
|
0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85, 0, /* 0x00D0 */
|
|
0, 0xF4, 0xF2, 0xF3, 0x86, 0, 0, 0xA7, /* 0x00D0 */
|
|
0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0, 0x8D, /* 0x00E0 */
|
|
0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
|
|
0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
|
|
0, 0x9D, 0x9C, 0x9E, 0x9F, 0, 0, 0xD8 /* 0x00F0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEROMANIANTOCHARTABEX_COUNT 51
|
|
static ImplUniCharTabData const aImplAPPLEROMANIANToCharTabEx[APPLEROMANIANTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x0102, 0xAE, 0 },
|
|
{ 0x0103, 0xBE, 0 },
|
|
{ 0x0131, 0xF5, 0 },
|
|
{ 0x0152, 0xCE, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x015E, 0xAF, 0 },
|
|
{ 0x015F, 0xBF, 0 },
|
|
{ 0x0162, 0xDE, 0 },
|
|
{ 0x0163, 0xDF, 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 },
|
|
{ 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 aImplAPPLEROMANIANByteCvtData =
|
|
{
|
|
aImplAPPLEROMANIANToUniTab,
|
|
NULL,
|
|
APPLEROMANIANUNI_START, APPLEROMANIANUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLEROMANIANToCharTab,
|
|
NULL,
|
|
aImplAPPLEROMANIANToCharTabEx,
|
|
APPLEROMANIANCHAR_START, APPLEROMANIANCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLEROMANIANTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLEROMANIANTextEncodingData
|
|
= { { &aImplAPPLEROMANIANByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
238,
|
|
"iso8859-2",
|
|
"iso-8859-2",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_EASTEUROPE, pc code page 852, mac encoding 38 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Turkish */
|
|
/* Apple CharSet for Turkish */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/turkish.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLETURKISHUNI_START 0x80
|
|
#define APPLETURKISHUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLETURKISHToUniTab[APPLETURKISHUNI_END - APPLETURKISHUNI_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, 0x011E, 0x011F, 0x0130, 0x0131, 0x015E, 0x015F, /* 0xD0 */
|
|
0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
|
|
0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
|
|
0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0xF8A0, 0x02C6, 0x02DC, /* 0xF0 */
|
|
0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLETURKISHCHAR_START 0x00A0
|
|
#define APPLETURKISHCHAR_END 0x00FF
|
|
static sal_uChar const aImplAPPLETURKISHToCharTab[APPLETURKISHCHAR_END - APPLETURKISHCHAR_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 APPLETURKISHTOCHARTABEX_COUNT 48
|
|
static ImplUniCharTabData const aImplAPPLETURKISHToCharTabEx[APPLETURKISHTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x011E, 0xDA, 0 },
|
|
{ 0x011F, 0xDB, 0 },
|
|
{ 0x0130, 0xDC, 0 },
|
|
{ 0x0131, 0xDD, 0 },
|
|
{ 0x0152, 0xCE, 0 },
|
|
{ 0x0153, 0xCF, 0 },
|
|
{ 0x015E, 0xDE, 0 },
|
|
{ 0x015F, 0xDF, 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 },
|
|
{ 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 },
|
|
{ 0xF8A0, 0xF5, 0 },
|
|
{ 0xF8FF, 0xF0, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLETURKISHByteCvtData =
|
|
{
|
|
aImplAPPLETURKISHToUniTab,
|
|
NULL,
|
|
APPLETURKISHUNI_START, APPLETURKISHUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLETURKISHToCharTab,
|
|
NULL,
|
|
aImplAPPLETURKISHToCharTabEx,
|
|
APPLETURKISHCHAR_START, APPLETURKISHCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLETURKISHTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLETURKISHTextEncodingData
|
|
= { { &aImplAPPLETURKISHByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
162,
|
|
"iso8859-9",
|
|
"iso-8859-9",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_TURKISH, pc code page 857, mac encoding 35 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* APPLE-Ukrainian */
|
|
/* Apple CharSet for Ukrainian */
|
|
/* 1-Byte, 0x00-0x7F ASCII, jedoch eigentich Sonderzeichen zwischen 0x00-0x1F */
|
|
/* die wir aber nicht beruecksichtigen */
|
|
/* Convert-Tables: mappings/vendors/apple/ukraine.txt from 02/05/98 */
|
|
/* Last-Changes from us: */
|
|
|
|
#define APPLEUKRAINIANUNI_START 0x80
|
|
#define APPLEUKRAINIANUNI_END 0xFF
|
|
static sal_uInt16 const aImplAPPLEUKRAINIANToUniTab[APPLEUKRAINIANUNI_END - APPLEUKRAINIANUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0x80 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0x80 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0x90 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0x90 */
|
|
0x2020, 0x00B0, 0x0490, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, /* 0xA0 */
|
|
0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, /* 0xA0 */
|
|
0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x0491, 0x0408, /* 0xB0 */
|
|
0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, /* 0xB0 */
|
|
0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
|
|
0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, /* 0xC0 */
|
|
0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, /* 0xD0 */
|
|
0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, /* 0xD0 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x00A4 /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEUKRAINIANCHAR_START 0x0401
|
|
#define APPLEUKRAINIANCHAR_END 0x045F
|
|
static sal_uChar const aImplAPPLEUKRAINIANToCharTab[APPLEUKRAINIANCHAR_END - APPLEUKRAINIANCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xDD, 0xAB, 0xAE, 0xB8, 0xC1, 0xA7, 0xBA, /* 0x0400 */
|
|
0xB7, 0xBC, 0xBE, 0xCB, 0xCD, 0, 0xD8, 0xDA, /* 0x0400 */
|
|
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 0x0410 */
|
|
0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, /* 0x0410 */
|
|
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 0x0420 */
|
|
0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, /* 0x0420 */
|
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x0430 */
|
|
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x0430 */
|
|
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x0440 */
|
|
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xDF, /* 0x0440 */
|
|
0, 0xDE, 0xAC, 0xAF, 0xB9, 0xCF, 0xB4, 0xBB, /* 0x0450 */
|
|
0xC0, 0xBD, 0xBF, 0xCC, 0xCE, 0, 0xD9, 0xDB, /* 0x0450 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define APPLEUKRAINIANTOCHARTABEX_COUNT 36
|
|
static ImplUniCharTabData const aImplAPPLEUKRAINIANToCharTabEx[APPLEUKRAINIANTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xCA, 0 },
|
|
{ 0x00A3, 0xA3, 0 },
|
|
{ 0x00A4, 0xFF, 0 },
|
|
{ 0x00A7, 0xA4, 0 },
|
|
{ 0x00A9, 0xA9, 0 },
|
|
{ 0x00AB, 0xC7, 0 },
|
|
{ 0x00AC, 0xC2, 0 },
|
|
{ 0x00AE, 0xA8, 0 },
|
|
{ 0x00B0, 0xA1, 0 },
|
|
{ 0x00B1, 0xB1, 0 },
|
|
{ 0x00B5, 0xB5, 0 },
|
|
{ 0x00B6, 0xA6, 0 },
|
|
{ 0x00BB, 0xC8, 0 },
|
|
{ 0x00F7, 0xD6, 0 },
|
|
{ 0x0192, 0xC4, 0 },
|
|
{ 0x0490, 0xA2, 0 },
|
|
{ 0x0491, 0xB6, 0 },
|
|
{ 0x2013, 0xD0, 0 },
|
|
{ 0x2014, 0xD1, 0 },
|
|
{ 0x2018, 0xD4, 0 },
|
|
{ 0x2019, 0xD5, 0 },
|
|
{ 0x201C, 0xD2, 0 },
|
|
{ 0x201D, 0xD3, 0 },
|
|
{ 0x201E, 0xD7, 0 },
|
|
{ 0x2020, 0xA0, 0 },
|
|
{ 0x2022, 0xA5, 0 },
|
|
{ 0x2026, 0xC9, 0 },
|
|
{ 0x2116, 0xDC, 0 },
|
|
{ 0x2122, 0xAA, 0 },
|
|
{ 0x2206, 0xC6, 0 },
|
|
{ 0x221A, 0xC3, 0 },
|
|
{ 0x221E, 0xB0, 0 },
|
|
{ 0x2248, 0xC5, 0 },
|
|
{ 0x2260, 0xAD, 0 },
|
|
{ 0x2264, 0xB2, 0 },
|
|
{ 0x2265, 0xB3, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplAPPLEUKRAINIANByteCvtData =
|
|
{
|
|
aImplAPPLEUKRAINIANToUniTab,
|
|
NULL,
|
|
APPLEUKRAINIANUNI_START, APPLEUKRAINIANUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplAPPLEUKRAINIANToCharTab,
|
|
NULL,
|
|
aImplAPPLEUKRAINIANToCharTabEx,
|
|
APPLEUKRAINIANCHAR_START, APPLEUKRAINIANCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
APPLEUKRAINIANTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplAPPLEUKRAINIANTextEncodingData
|
|
= { { &aImplAPPLEUKRAINIANByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"iso-8859-5",
|
|
RTL_TEXTENCODING_INFO_ASCII };
|
|
/* MAC, SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 0x98
|
|
(MAC 8.5 and above) */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* KOI8_R */
|
|
/* Standard Charset for Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: typed per hand */
|
|
/* Last-Changes from us: */
|
|
|
|
#define KOI8RUNI_START 0x80
|
|
#define KOI8RUNI_END 0xFF
|
|
static sal_uInt16 const aImplKOI8RToUniTab[KOI8RUNI_END - KOI8RUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, /* 0x80 */
|
|
0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, /* 0x80 */
|
|
0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, /* 0x90 */
|
|
0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, /* 0x90 */
|
|
0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, /* 0xA0 */
|
|
0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, /* 0xA0 */
|
|
0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, /* 0xB0 */
|
|
0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9, /* 0xB0 */
|
|
0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, /* 0xC0 */
|
|
0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, /* 0xC0 */
|
|
0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, /* 0xD0 */
|
|
0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, /* 0xD0 */
|
|
0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, /* 0xE0 */
|
|
0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, /* 0xE0 */
|
|
0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, /* 0xF0 */
|
|
0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define KOI8RCHAR_START 0x0410
|
|
#define KOI8RCHAR_END 0x044F
|
|
static sal_uChar const aImplKOI8RToCharTab[KOI8RCHAR_END - KOI8RCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xE1, 0xE2, 0xF7, 0xE7, 0xE4, 0xE5, 0xF6, 0xFA, /* 0x0410 */
|
|
0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, /* 0x0410 */
|
|
0xF2, 0xF3, 0xF4, 0xF5, 0xE6, 0xE8, 0xE3, 0xFE, /* 0x0420 */
|
|
0xFB, 0xFD, 0xFF, 0xF9, 0xF8, 0xFC, 0xE0, 0xF1, /* 0x0420 */
|
|
0xC1, 0xC2, 0xD7, 0xC7, 0xC4, 0xC5, 0xD6, 0xDA, /* 0x0430 */
|
|
0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, /* 0x0430 */
|
|
0xD2, 0xD3, 0xD4, 0xD5, 0xC6, 0xC8, 0xC3, 0xDE, /* 0x0440 */
|
|
0xDB, 0xDD, 0xDF, 0xD9, 0xD8, 0xDC, 0xC0, 0xD1 /* 0x0440 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define KOI8RTOCHARTABEX_COUNT 64
|
|
static ImplUniCharTabData const aImplKOI8RToCharTabEx[KOI8RTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0x9A, 0 },
|
|
{ 0x00A9, 0xBF, 0 },
|
|
{ 0x00B0, 0x9C, 0 },
|
|
{ 0x00B2, 0x9D, 0 },
|
|
{ 0x00B7, 0x9E, 0 },
|
|
{ 0x00F7, 0x9F, 0 },
|
|
{ 0x0401, 0xB3, 0 },
|
|
{ 0x0451, 0xA3, 0 },
|
|
{ 0x2219, 0x95, 0 },
|
|
{ 0x221A, 0x96, 0 },
|
|
{ 0x2248, 0x97, 0 },
|
|
{ 0x2264, 0x98, 0 },
|
|
{ 0x2265, 0x99, 0 },
|
|
{ 0x2320, 0x93, 0 },
|
|
{ 0x2321, 0x9B, 0 },
|
|
{ 0x2500, 0x80, 0 },
|
|
{ 0x2502, 0x81, 0 },
|
|
{ 0x250C, 0x82, 0 },
|
|
{ 0x2510, 0x83, 0 },
|
|
{ 0x2514, 0x84, 0 },
|
|
{ 0x2518, 0x85, 0 },
|
|
{ 0x251C, 0x86, 0 },
|
|
{ 0x2524, 0x87, 0 },
|
|
{ 0x252C, 0x88, 0 },
|
|
{ 0x2534, 0x89, 0 },
|
|
{ 0x253C, 0x8A, 0 },
|
|
{ 0x2550, 0xA0, 0 },
|
|
{ 0x2551, 0xA1, 0 },
|
|
{ 0x2552, 0xA2, 0 },
|
|
{ 0x2553, 0xA4, 0 },
|
|
{ 0x2554, 0xA5, 0 },
|
|
{ 0x2555, 0xA6, 0 },
|
|
{ 0x2556, 0xA7, 0 },
|
|
{ 0x2557, 0xA8, 0 },
|
|
{ 0x2558, 0xA9, 0 },
|
|
{ 0x2559, 0xAA, 0 },
|
|
{ 0x255A, 0xAB, 0 },
|
|
{ 0x255B, 0xAC, 0 },
|
|
{ 0x255C, 0xAD, 0 },
|
|
{ 0x255D, 0xAE, 0 },
|
|
{ 0x255E, 0xAF, 0 },
|
|
{ 0x255F, 0xB0, 0 },
|
|
{ 0x2560, 0xB1, 0 },
|
|
{ 0x2561, 0xB2, 0 },
|
|
{ 0x2562, 0xB4, 0 },
|
|
{ 0x2563, 0xB5, 0 },
|
|
{ 0x2564, 0xB6, 0 },
|
|
{ 0x2565, 0xB7, 0 },
|
|
{ 0x2566, 0xB8, 0 },
|
|
{ 0x2567, 0xB9, 0 },
|
|
{ 0x2568, 0xBA, 0 },
|
|
{ 0x2569, 0xBB, 0 },
|
|
{ 0x256A, 0xBC, 0 },
|
|
{ 0x256B, 0xBD, 0 },
|
|
{ 0x256C, 0xBE, 0 },
|
|
{ 0x2580, 0x8B, 0 },
|
|
{ 0x2584, 0x8C, 0 },
|
|
{ 0x2588, 0x8D, 0 },
|
|
{ 0x258C, 0x8E, 0 },
|
|
{ 0x2590, 0x8F, 0 },
|
|
{ 0x2591, 0x90, 0 },
|
|
{ 0x2592, 0x91, 0 },
|
|
{ 0x2593, 0x92, 0 },
|
|
{ 0x25A0, 0x94, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplKOI8RByteCvtData =
|
|
{
|
|
aImplKOI8RToUniTab,
|
|
NULL,
|
|
KOI8RUNI_START, KOI8RUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplKOI8RToCharTab,
|
|
NULL,
|
|
aImplKOI8RToCharTabEx,
|
|
KOI8RCHAR_START, KOI8RCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
KOI8RTOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplKOI8RTextEncodingData
|
|
= { { &aImplKOI8RByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"koi8-r",
|
|
"koi8-r",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_CYRILLIC, pc code page 866 (855?), mac encoding 7 */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* KOI8_U */
|
|
/* Standard Charset for Ukrainian Cyrillic */
|
|
/* Single Byte, 0x00-0x7F equals ASCII */
|
|
/* Conversion Tables: hand made */
|
|
|
|
#define KOI8UUNI_START 0x80
|
|
#define KOI8UUNI_END 0xFF
|
|
static sal_uInt16 const aImplKOI8UToUniTab[KOI8UUNI_END - KOI8UUNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, /* 0x80 */
|
|
0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, /* 0x80 */
|
|
0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, /* 0x90 */
|
|
0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, /* 0x90 */
|
|
0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, /* 0xA0 */
|
|
0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E, /* 0xA0 */
|
|
0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, /* 0xB0 */
|
|
0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9, /* 0xB0 */
|
|
0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, /* 0xC0 */
|
|
0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, /* 0xC0 */
|
|
0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, /* 0xD0 */
|
|
0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, /* 0xD0 */
|
|
0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, /* 0xE0 */
|
|
0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, /* 0xE0 */
|
|
0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, /* 0xF0 */
|
|
0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A /* 0xF0 */
|
|
};
|
|
|
|
#define KOI8UCHAR_START 0x0410
|
|
#define KOI8UCHAR_END 0x044F
|
|
static sal_uChar const
|
|
aImplKOI8UToCharTab[KOI8UCHAR_END - KOI8UCHAR_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0xE1, 0xE2, 0xF7, 0xE7, 0xE4, 0xE5, 0xF6, 0xFA, /* 0x0410 */
|
|
0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, /* 0x0410 */
|
|
0xF2, 0xF3, 0xF4, 0xF5, 0xE6, 0xE8, 0xE3, 0xFE, /* 0x0420 */
|
|
0xFB, 0xFD, 0xFF, 0xF9, 0xF8, 0xFC, 0xE0, 0xF1, /* 0x0420 */
|
|
0xC1, 0xC2, 0xD7, 0xC7, 0xC4, 0xC5, 0xD6, 0xDA, /* 0x0430 */
|
|
0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, /* 0x0430 */
|
|
0xD2, 0xD3, 0xD4, 0xD5, 0xC6, 0xC8, 0xC3, 0xDE, /* 0x0440 */
|
|
0xDB, 0xDD, 0xDF, 0xD9, 0xD8, 0xDC, 0xC0, 0xD1 /* 0x0440 */
|
|
};
|
|
|
|
#define KOI8UTOCHARTABEX_COUNT 72
|
|
static ImplUniCharTabData const aImplKOI8UToCharTabEx[KOI8UTOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0x9A, 0 },
|
|
{ 0x00A9, 0xBF, 0 },
|
|
{ 0x00B0, 0x9C, 0 },
|
|
{ 0x00B2, 0x9D, 0 },
|
|
{ 0x00B7, 0x9E, 0 },
|
|
{ 0x00F7, 0x9F, 0 },
|
|
{ 0x0401, 0xB3, 0 },
|
|
{ 0x0404, 0xB4, 0 },
|
|
{ 0x0406, 0xB6, 0 },
|
|
{ 0x0407, 0xB7, 0 },
|
|
{ 0x0451, 0xA3, 0 },
|
|
{ 0x0454, 0xA4, 0 },
|
|
{ 0x0456, 0xA6, 0 },
|
|
{ 0x0457, 0xA7, 0 },
|
|
{ 0x0490, 0xBD, 0 },
|
|
{ 0x0491, 0xAD, 0 },
|
|
{ 0x2219, 0x95, 0 },
|
|
{ 0x221A, 0x96, 0 },
|
|
{ 0x2248, 0x97, 0 },
|
|
{ 0x2264, 0x98, 0 },
|
|
{ 0x2265, 0x99, 0 },
|
|
{ 0x2320, 0x93, 0 },
|
|
{ 0x2321, 0x9B, 0 },
|
|
{ 0x2500, 0x80, 0 },
|
|
{ 0x2502, 0x81, 0 },
|
|
{ 0x250C, 0x82, 0 },
|
|
{ 0x2510, 0x83, 0 },
|
|
{ 0x2514, 0x84, 0 },
|
|
{ 0x2518, 0x85, 0 },
|
|
{ 0x251C, 0x86, 0 },
|
|
{ 0x2524, 0x87, 0 },
|
|
{ 0x252C, 0x88, 0 },
|
|
{ 0x2534, 0x89, 0 },
|
|
{ 0x253C, 0x8A, 0 },
|
|
{ 0x2550, 0xA0, 0 },
|
|
{ 0x2551, 0xA1, 0 },
|
|
{ 0x2552, 0xA2, 0 },
|
|
{ 0x2553, 0xA4, 0 },
|
|
{ 0x2554, 0xA5, 0 },
|
|
{ 0x2555, 0xA6, 0 },
|
|
{ 0x2556, 0xA7, 0 },
|
|
{ 0x2557, 0xA8, 0 },
|
|
{ 0x2558, 0xA9, 0 },
|
|
{ 0x2559, 0xAA, 0 },
|
|
{ 0x255A, 0xAB, 0 },
|
|
{ 0x255B, 0xAC, 0 },
|
|
{ 0x255C, 0xAD, 0 },
|
|
{ 0x255D, 0xAE, 0 },
|
|
{ 0x255E, 0xAF, 0 },
|
|
{ 0x255F, 0xB0, 0 },
|
|
{ 0x2560, 0xB1, 0 },
|
|
{ 0x2561, 0xB2, 0 },
|
|
{ 0x2562, 0xB4, 0 },
|
|
{ 0x2563, 0xB5, 0 },
|
|
{ 0x2564, 0xB6, 0 },
|
|
{ 0x2565, 0xB7, 0 },
|
|
{ 0x2566, 0xB8, 0 },
|
|
{ 0x2567, 0xB9, 0 },
|
|
{ 0x2568, 0xBA, 0 },
|
|
{ 0x2569, 0xBB, 0 },
|
|
{ 0x256A, 0xBC, 0 },
|
|
{ 0x256B, 0xBD, 0 },
|
|
{ 0x256C, 0xBE, 0 },
|
|
{ 0x2580, 0x8B, 0 },
|
|
{ 0x2584, 0x8C, 0 },
|
|
{ 0x2588, 0x8D, 0 },
|
|
{ 0x258C, 0x8E, 0 },
|
|
{ 0x2590, 0x8F, 0 },
|
|
{ 0x2591, 0x90, 0 },
|
|
{ 0x2592, 0x91, 0 },
|
|
{ 0x2593, 0x92, 0 },
|
|
{ 0x25A0, 0x94, 0 }
|
|
};
|
|
|
|
static ImplByteConvertData const aImplKOI8UByteCvtData =
|
|
{
|
|
aImplKOI8UToUniTab,
|
|
NULL,
|
|
KOI8UUNI_START, KOI8UUNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplKOI8UToCharTab,
|
|
NULL,
|
|
aImplKOI8UToCharTabEx,
|
|
KOI8UCHAR_START, KOI8UCHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
KOI8UTOCHARTABEX_COUNT
|
|
};
|
|
|
|
static ImplTextEncodingData const aImplKoi8UTextEncodingData
|
|
= { { &aImplKOI8UByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"koi8-u",
|
|
"KOI8-U",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_CYRILLIC */
|
|
|
|
/* ======================================================================= */
|
|
|
|
/* PT154 */
|
|
/* Asian Cyrillic */
|
|
/* 1-Byte, 0x00-0x7F ASCII ohne Ausnahme */
|
|
/* Convert-Tables: typed per hand */
|
|
/* Last-Changes from us: */
|
|
|
|
#define PT154UNI_START 0x80
|
|
#define PT154UNI_END 0xFF
|
|
static sal_uInt16 const aImplPT154ToUniTab[PT154UNI_END - PT154UNI_START + 1] =
|
|
{
|
|
/* 0 1 2 3 4 5 6 7 */
|
|
/* 8 9 A B C D E F */
|
|
0x0496, 0x0492, 0x04EE, 0x0493, 0x201E, 0x2026, 0x04B6, 0x04AE, /* 0x80 */
|
|
0x04B2, 0x04AF, 0x04A0, 0x04E2, 0x04A2, 0x049A, 0x04BA, 0x04B8, /* 0x80 */
|
|
0x0497, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, /* 0x90 */
|
|
0x04B3, 0x04B7, 0x04A1, 0x04E3, 0x04A3, 0x049B, 0x04BB, 0x04B9, /* 0x90 */
|
|
0x00A0, 0x040E, 0x045E, 0x0408, 0x04E8, 0x0498, 0x04B0, 0x00A7, /* 0xA0 */
|
|
0x0401, 0x00A9, 0x04D8, 0x00AB, 0x00AC, 0x04EF, 0x00AE, 0x049C, /* 0xA0 */
|
|
0x00B0, 0x04B1, 0x0406, 0x0456, 0x0499, 0x04E9, 0x00B6, 0x00B7, /* 0xB0 */
|
|
0x0451, 0x2116, 0x04D9, 0x00BB, 0x0458, 0x04AA, 0x04AB, 0x049D, /* 0xB0 */
|
|
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, /* 0xC0 */
|
|
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, /* 0xC0 */
|
|
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, /* 0xD0 */
|
|
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, /* 0xD0 */
|
|
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, /* 0xE0 */
|
|
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, /* 0xE0 */
|
|
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, /* 0xF0 */
|
|
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F /* 0xF0 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define PT154CHAR_START 0x0410
|
|
#define PT154CHAR_END 0x044F
|
|
static sal_uChar const aImplPT154ToCharTab[PT154CHAR_END - PT154CHAR_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, /* 0x0410 */
|
|
0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0x0410 */
|
|
0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, /* 0x0420 */
|
|
0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, /* 0x0420 */
|
|
0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0x0430 */
|
|
0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* 0x0430 */
|
|
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x0440 */
|
|
0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff /* 0x0440 */
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
#define PT154TOCHARTABEX_COUNT 64
|
|
static ImplUniCharTabData const aImplPT154ToCharTabEx[PT154TOCHARTABEX_COUNT] =
|
|
{
|
|
{ 0x00A0, 0xa0, 0 },
|
|
{ 0x00A7, 0xa7, 0 },
|
|
{ 0x00A9, 0xa9, 0 },
|
|
{ 0x00AB, 0xab, 0 },
|
|
{ 0x00AC, 0xac, 0 },
|
|
{ 0x00AE, 0xae, 0 },
|
|
{ 0x00B0, 0xb0, 0 },
|
|
{ 0x00B6, 0xb6, 0 },
|
|
{ 0x00B7, 0xb7, 0 },
|
|
{ 0x00BB, 0xbb, 0 },
|
|
{ 0x0401, 0xa8, 0 },
|
|
{ 0x0406, 0xb2, 0 },
|
|
{ 0x0408, 0xa3, 0 },
|
|
{ 0x040E, 0xa1, 0 },
|
|
{ 0x0451, 0xb8, 0 },
|
|
{ 0x0456, 0xb3, 0 },
|
|
{ 0x0458, 0xbc, 0 },
|
|
{ 0x045E, 0xa2, 0 },
|
|
{ 0x0492, 0x81, 0 },
|
|
{ 0x0493, 0x83, 0 },
|
|
{ 0x0496, 0x80, 0 },
|
|
{ 0x0497, 0x90, 0 },
|
|
{ 0x0498, 0xa5, 0 },
|
|
{ 0x0499, 0xb4, 0 },
|
|
{ 0x049A, 0x8d, 0 },
|
|
{ 0x049B, 0x9d, 0 },
|
|
{ 0x049C, 0xaf, 0 },
|
|
{ 0x049D, 0xbf, 0 },
|
|
{ 0x04A0, 0x8a, 0 },
|
|
{ 0x04A1, 0x9a, 0 },
|
|
{ 0x04A2, 0x8c, 0 },
|
|
{ 0x04A3, 0x9c, 0 },
|
|
{ 0x04AA, 0xbd, 0 },
|
|
{ 0x04AB, 0xbe, 0 },
|
|
{ 0x04AE, 0x87, 0 },
|
|
{ 0x04AF, 0x89, 0 },
|
|
{ 0x04B0, 0xa6, 0 },
|
|
{ 0x04B1, 0xb1, 0 },
|
|
{ 0x04B2, 0x88, 0 },
|
|
{ 0x04B3, 0x98, 0 },
|
|
{ 0x04B6, 0x86, 0 },
|
|
{ 0x04B7, 0x99, 0 },
|
|
{ 0x04B8, 0x8f, 0 },
|
|
{ 0x04B9, 0x9f, 0 },
|
|
{ 0x04BA, 0x8e, 0 },
|
|
{ 0x04BB, 0x9e, 0 },
|
|
{ 0x04D8, 0xaa, 0 },
|
|
{ 0x04D9, 0xba, 0 },
|
|
{ 0x04E2, 0x8b, 0 },
|
|
{ 0x04E3, 0x9b, 0 },
|
|
{ 0x04E8, 0xa4, 0 },
|
|
{ 0x04E9, 0xb5, 0 },
|
|
{ 0x04EE, 0x82, 0 },
|
|
{ 0x04EF, 0xad, 0 },
|
|
{ 0x2013, 0x96, 0 },
|
|
{ 0x2014, 0x97, 0 },
|
|
{ 0x2018, 0x91, 0 },
|
|
{ 0x2019, 0x92, 0 },
|
|
{ 0x201C, 0x93, 0 },
|
|
{ 0x201D, 0x94, 0 },
|
|
{ 0x201E, 0x84, 0 },
|
|
{ 0x2022, 0x95, 0 },
|
|
{ 0x2026, 0x85, 0 },
|
|
{ 0x2116, 0xb9, 0 }
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplByteConvertData const aImplPT154ByteCvtData =
|
|
{
|
|
aImplPT154ToUniTab,
|
|
NULL,
|
|
PT154UNI_START, PT154UNI_END,
|
|
NOTABUNI_START, NOTABUNI_END,
|
|
aImplPT154ToCharTab,
|
|
NULL,
|
|
aImplPT154ToCharTabEx,
|
|
PT154CHAR_START, PT154CHAR_END,
|
|
NOTABCHAR_START, NOTABCHAR_END,
|
|
PT154TOCHARTABEX_COUNT
|
|
};
|
|
|
|
/* ----------------------------------------------------------------------- */
|
|
|
|
static ImplTextEncodingData const aImplPT154TextEncodingData
|
|
= { { &aImplPT154ByteCvtData,
|
|
ImplCharToUnicode,
|
|
ImplUnicodeToChar,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL },
|
|
1,
|
|
1,
|
|
1,
|
|
204,
|
|
"iso8859-5",
|
|
"PTCP154",
|
|
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
|
|
/* SCRIPT_CYRILLIC */
|