Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  tcvtest1.tab   Sprache: unbekannt

 
Spracherkennung für: .tab vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#include <sal/config.h>

#include "convertsimple.hxx"
#include "tenchelp.hxx"

/* ======================================================================= */

/* 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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM737ByteCvtData =
{
    aImplIBM737ToUniTab,
    nullptr,
    aImplIBM737ToCharTab,
    nullptr,
    aImplIBM737ToCharTabEx,
    IBM737UNI_START, IBM737UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM737CHAR_START, IBM737CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM737TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM737TextEncodingData
    = { { &aImplIBM737ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-7",
        "iso-8859-7",
        1,
        1,
        1,
        161,
        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 without exception */
/* 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
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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM775ByteCvtData =
{
    aImplIBM775ToUniTab,
    nullptr,
    nullptr,
    nullptr,
    aImplIBM775ToCharTabEx,
    IBM775UNI_START, IBM775UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    NOTABCHAR_START, NOTABCHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM775TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM775TextEncodingData
    = { { &aImplIBM775ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-4",
        "iso-8859-4",
        1,
        1,
        1,
        186,
        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 without exception */
/* 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
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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM852ByteCvtData =
{
    aImplIBM852ToUniTab,
    nullptr,
    nullptr,
    nullptr,
    aImplIBM852ToCharTabEx,
    IBM852UNI_START, IBM852UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    NOTABCHAR_START, NOTABCHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM852TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM852TextEncodingData
    = { { &aImplIBM852ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-2",
        "ibm852",
        1,
        1,
        1,
        238,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM855ByteCvtData =
{
    aImplIBM855ToUniTab,
    nullptr,
    aImplIBM855ToCharTab,
    nullptr,
    aImplIBM855ToCharTabEx,
    IBM855UNI_START, IBM855UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM855CHAR_START, IBM855CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM855TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM855TextEncodingData
    = { { &aImplIBM855ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-5",
        "iso-8859-5",
        1,
        1,
        1,
        204,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM857ByteCvtData =
{
    aImplIBM857ToUniTab,
    nullptr,
    aImplIBM857ToCharTab,
    nullptr,
    aImplIBM857ToCharTabEx,
    IBM857UNI_START, IBM857UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM857CHAR_START, IBM857CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM857TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM857TextEncodingData
    = { { &aImplIBM857ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-9",
        "iso-8859-9",
        1,
        1,
        1,
        162,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM866ByteCvtData =
{
    aImplIBM866ToUniTab,
    nullptr,
    aImplIBM866ToCharTab,
    nullptr,
    aImplIBM866ToCharTabEx,
    IBM866UNI_START, IBM866UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM866CHAR_START, IBM866CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM866TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM866TextEncodingData
    = { { &aImplIBM866ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-5",
        "cp866",
        1,
        1,
        1,
        204,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplIBM869ByteCvtData =
{
    aImplIBM869ToUniTab,
    nullptr,
    aImplIBM869ToCharTab,
    nullptr,
    aImplIBM869ToCharTabEx,
    IBM869UNI_START, IBM869UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM869CHAR_START, IBM869CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM869TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplIBM869TextEncodingData
    = { { &aImplIBM869ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-7",
        "iso-8859-7",
        1,
        1,
        1,
        161,
        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 without exception */
/* 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
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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplMS1250ByteCvtData =
{
    aImplMS1250ToUniTab,
    nullptr,
    nullptr,
    nullptr,
    aImplMS1250ToCharTabEx,
    MS1250UNI_START, MS1250UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    NOTABCHAR_START, NOTABCHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    MS1250TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplMS1250TextEncodingData
    = { { &aImplMS1250ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-2",
        "windows-1250",
        1,
        1,
        1,
        238,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplMS1251ByteCvtData =
{
    aImplMS1251ToUniTab,
    nullptr,
    aImplMS1251ToCharTab,
    nullptr,
    aImplMS1251ToCharTabEx,
    MS1251UNI_START, MS1251UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    MS1251CHAR_START, MS1251CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    MS1251TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplMS1251TextEncodingData
    = { { &aImplMS1251ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-5",
        "windows-1251",
        1,
        1,
        1,
        204,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplMS1253ByteCvtData =
{
    aImplMS1253ToUniTab,
    nullptr,
    aImplMS1253ToCharTab,
    nullptr,
    aImplMS1253ToCharTabEx,
    MS1253UNI_START, MS1253UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    MS1253CHAR_START, MS1253CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    MS1253TOCHARTABEX_COUNT
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplMS1253TextEncodingData
    = { { &aImplMS1253ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-7",
        "windows-1253",
        1,
        1,
        1,
        161,
        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 without exception */
/* 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
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
unsigned char 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
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 }
};

/* ----------------------------------------------------------------------- */

ImplByteConvertData const aImplMS1254ByteCvtData =
{
    aImplMS1254ToUniTab,
    nullptr,
    aImplMS1254ToCharTab,
    nullptr,
    aImplMS1254ToCharTabEx,
    MS1254UNI_START, MS1254UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    MS1254CHAR_START, MS1254CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    MS1254TOCHARTABEX_COUNT,
};

/* ----------------------------------------------------------------------- */

ImplTextEncodingData const aImplMS1254TextEncodingData
    = { { &aImplMS1254ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-9",
        "windows-1254",
        1,
        1,
        1,
        162,
        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 without exception */
/* 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
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
unsigned char 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 */
--> --------------------

--> maximum size reached

--> --------------------

[ Dauer der Verarbeitung: 0.65 Sekunden  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge