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


Quelle  tcvtlat1.tab   Sprache: unbekannt

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

#include <sal/config.h>

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

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

/* This file contain the tables for all 1 byte charsets, for the */
/* following scripts: latin, iceland, nordic */

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

/* IBM-437 */
/* Dos Latin US - Standard CharSet for Western Script */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp437.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */

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

#define IBM437UNI_START                 0x80
#define IBM437UNI_END                   0xFF
sal_uInt16 const aImplIBM437ToUniTab[IBM437UNI_END - IBM437UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
    0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, /* 0x90 */
    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM437CHAR_START                0x00A0
#define IBM437CHAR_END                  0x00FF
unsigned char const aImplIBM437ToCharTab[IBM437CHAR_END - IBM437CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF, 0xAD, 0x9B, 0x9C,    0, 0x9D,    0,    0, /* 0x00A0 */
       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
       0,    0, 0xA7, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
       0,    0,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
       0, 0x90,    0,    0,    0,    0,    0,    0, /* 0x00C0 */
       0, 0xA5,    0,    0,    0,    0, 0x99,    0, /* 0x00D0 */
       0,    0,    0,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
       0, 0xA4, 0x95, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
       0, 0x97, 0xA3, 0x96, 0x81,    0,    0, 0x98  /* 0x00F0 */
};

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

#define IBM437TOCHARTABEX_COUNT         75
ImplUniCharTabData const aImplIBM437ToCharTabEx[IBM437TOCHARTABEX_COUNT] =
{
  { 0x0192, 0x9F, 0 },
  { 0x0393, 0xE2, 0 },
  { 0x0398, 0xE9, 0 },
  { 0x03A3, 0xE4, 0 },
  { 0x03A6, 0xE8, 0 },
  { 0x03A9, 0xEA, 0 },
  { 0x03B1, 0xE0, 0 },
  { 0x03B4, 0xEB, 0 },
  { 0x03B5, 0xEE, 0 },
  { 0x03C0, 0xE3, 0 },
  { 0x03C3, 0xE5, 0 },
  { 0x03C4, 0xE7, 0 },
  { 0x03C6, 0xED, 0 },
  { 0x207F, 0xFC, 0 },
  { 0x20A7, 0x9E, 0 },
  { 0x2219, 0xF9, 0 },
  { 0x221A, 0xFB, 0 },
  { 0x221E, 0xEC, 0 },
  { 0x2229, 0xEF, 0 },
  { 0x2248, 0xF7, 0 },
  { 0x2261, 0xF0, 0 },
  { 0x2264, 0xF3, 0 },
  { 0x2265, 0xF2, 0 },
  { 0x2310, 0xA9, 0 },
  { 0x2320, 0xF4, 0 },
  { 0x2321, 0xF5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2552, 0xD5, 0 },
  { 0x2553, 0xD6, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2555, 0xB8, 0 },
  { 0x2556, 0xB7, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x2558, 0xD4, 0 },
  { 0x2559, 0xD3, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255B, 0xBE, 0 },
  { 0x255C, 0xBD, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x255E, 0xC6, 0 },
  { 0x255F, 0xC7, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2561, 0xB5, 0 },
  { 0x2562, 0xB6, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2564, 0xD1, 0 },
  { 0x2565, 0xD2, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2567, 0xCF, 0 },
  { 0x2568, 0xD0, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256A, 0xD8, 0 },
  { 0x256B, 0xD7, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x258C, 0xDD, 0 },
  { 0x2590, 0xDE, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM437ByteCvtData =
{
    aImplIBM437ToUniTab,
    nullptr,
    aImplIBM437ToCharTab,
    nullptr,
    aImplIBM437ToCharTabEx,
    IBM437UNI_START, IBM437UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM437CHAR_START, IBM437CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM437TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM437TextEncodingData
    = { { &aImplIBM437ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "ibm437",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 437 */

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

/* IBM-850 */
/* Dos Standard CharSet for Western/Europe */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp850.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */
/* D5 - changed to EURO SIGN and 0x20AC added to D5 */

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

#define IBM850UNI_START                 0x80
#define IBM850UNI_END                   0xFF
sal_uInt16 const aImplIBM850ToUniTab[IBM850UNI_END - IBM850UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
    0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, /* 0x90 */
    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
    0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, /* 0xB0 */
    0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, /* 0xC0 */
    0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE, /* 0xD0 */
    0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, /* 0xD0 */
    0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, /* 0xE0 */
    0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, /* 0xE0 */
    0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, /* 0xF0 */
    0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM850CHAR_START                0x00A0
#define IBM850CHAR_END                  0x00FF
unsigned char const aImplIBM850ToCharTab[IBM850CHAR_END - IBM850CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF, 0xAD, 0xBD, 0x9C, 0xCF, 0xBE, 0xDD, 0xF5, /* 0x00A0 */
    0xF9, 0xB8, 0xA6, 0xAE, 0xAA, 0xF0, 0xA9, 0xEE, /* 0x00A0 */
    0xF8, 0xF1, 0xFD, 0xFC, 0xEF, 0xE6, 0xF4, 0xFA, /* 0x00B0 */
    0xF7, 0xFB, 0xA7, 0xAF, 0xAC, 0xAB, 0xF3, 0xA8, /* 0x00B0 */
    0xB7, 0xB5, 0xB6, 0xC7, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
    0xD4, 0x90, 0xD2, 0xD3, 0xDE, 0xD6, 0xD7, 0xD8, /* 0x00C0 */
    0xD1, 0xA5, 0xE3, 0xE0, 0xE2, 0xE5, 0x99, 0x9E, /* 0x00D0 */
    0x9D, 0xEB, 0xE9, 0xEA, 0x9A, 0xED, 0xE8, 0xE1, /* 0x00D0 */
    0x85, 0xA0, 0x83, 0xC6, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
    0xD0, 0xA4, 0x95, 0xA2, 0x93, 0xE4, 0x94, 0xF6, /* 0x00F0 */
    0x9B, 0x97, 0xA3, 0x96, 0x81, 0xEC, 0xE7, 0x98  /* 0x00F0 */
};

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

#define IBM850TOCHARTABEX_COUNT         33
ImplUniCharTabData const aImplIBM850ToCharTabEx[IBM850TOCHARTABEX_COUNT] =
{
  { 0x0131, 0xD5, 0 },
  { 0x0192, 0x9F, 0 },
  { 0x2017, 0xF2, 0 },
  { 0x20AC, 0xD5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM850ByteCvtData =
{
    aImplIBM850ToUniTab,
    nullptr,
    aImplIBM850ToCharTab,
    nullptr,
    aImplIBM850ToCharTabEx,
    IBM850UNI_START, IBM850UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM850CHAR_START, IBM850CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM850TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM850TextEncodingData
    = { { &aImplIBM850ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "ibm850",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 850 */

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

/* IBM-860 */
/* Dos Standard CharSet for Portuguese */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp860.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */

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

#define IBM860UNI_START                 0x80
#define IBM860UNI_END                   0xFF
sal_uInt16 const aImplIBM860ToUniTab[IBM860UNI_END - IBM860UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, /* 0x80 */
    0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, /* 0x80 */
    0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, /* 0x90 */
    0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, /* 0x90 */
    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
    0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM860CHAR_START                0x00A0
#define IBM860CHAR_END                  0x00FC
unsigned char const aImplIBM860ToCharTab[IBM860CHAR_END - IBM860CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF, 0xAD, 0x9B, 0x9C,    0 ,   0,    0,    0, /* 0x00A0 */
       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
       0,    0, 0xA7, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
    0x91, 0x86, 0x8F, 0x8E,    0,    0,    0, 0x80, /* 0x00C0 */
    0x92, 0x90, 0x89,    0, 0x98, 0x8B,    0,    0, /* 0x00C0 */
       0, 0xA5, 0xA9, 0x9F, 0x8C, 0x99,    0,    0, /* 0x00D0 */
       0, 0x9D, 0x96,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
    0x85, 0xA0, 0x83, 0x84,    0,    0,    0, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88,    0, 0x8D, 0xA1,    0,    0, /* 0x00E0 */
       0, 0xA4, 0x95, 0xA2, 0x93, 0x94,    0, 0xF6, /* 0x00F0 */
       0, 0x97, 0xA3,    0, 0x81                    /* 0x00F0 */
};

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

#define IBM860TOCHARTABEX_COUNT         73
ImplUniCharTabData const aImplIBM860ToCharTabEx[IBM860TOCHARTABEX_COUNT] =
{
  { 0x0393, 0xE2, 0 },
  { 0x0398, 0xE9, 0 },
  { 0x03A3, 0xE4, 0 },
  { 0x03A6, 0xE8, 0 },
  { 0x03A9, 0xEA, 0 },
  { 0x03B1, 0xE0, 0 },
  { 0x03B4, 0xEB, 0 },
  { 0x03B5, 0xEE, 0 },
  { 0x03C0, 0xE3, 0 },
  { 0x03C3, 0xE5, 0 },
  { 0x03C4, 0xE7, 0 },
  { 0x03C6, 0xED, 0 },
  { 0x207F, 0xFC, 0 },
  { 0x20A7, 0x9E, 0 },
  { 0x2219, 0xF9, 0 },
  { 0x221A, 0xFB, 0 },
  { 0x221E, 0xEC, 0 },
  { 0x2229, 0xEF, 0 },
  { 0x2248, 0xF7, 0 },
  { 0x2261, 0xF0, 0 },
  { 0x2264, 0xF3, 0 },
  { 0x2265, 0xF2, 0 },
  { 0x2320, 0xF4, 0 },
  { 0x2321, 0xF5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2552, 0xD5, 0 },
  { 0x2553, 0xD6, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2555, 0xB8, 0 },
  { 0x2556, 0xB7, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x2558, 0xD4, 0 },
  { 0x2559, 0xD3, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255B, 0xBE, 0 },
  { 0x255C, 0xBD, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x255E, 0xC6, 0 },
  { 0x255F, 0xC7, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2561, 0xB5, 0 },
  { 0x2562, 0xB6, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2564, 0xD1, 0 },
  { 0x2565, 0xD2, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2567, 0xCF, 0 },
  { 0x2568, 0xD0, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256A, 0xD8, 0 },
  { 0x256B, 0xD7, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x258C, 0xDD, 0 },
  { 0x2590, 0xDE, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM860ByteCvtData =
{
    aImplIBM860ToUniTab,
    nullptr,
    aImplIBM860ToCharTab,
    nullptr,
    aImplIBM860ToCharTabEx,
    IBM860UNI_START, IBM860UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM860CHAR_START, IBM860CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM860TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM860TextEncodingData
    = { { &aImplIBM860ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "IBM860",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 860 */

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

/* IBM-861 */
/* Dos Standard CharSet for Icelandic */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp861.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */

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

#define IBM861UNI_START                 0x80
#define IBM861UNI_END                   0xFF
sal_uInt16 const aImplIBM861ToUniTab[IBM861UNI_END - IBM861UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
    0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, /* 0x80 */
    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, /* 0x90 */
    0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, /* 0xA0 */
    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM861CHAR_START                0x00A0
#define IBM861CHAR_END                  0x00FE
unsigned char const aImplIBM861ToCharTab[IBM861CHAR_END - IBM861CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF, 0xAD,    0, 0x9C,    0,    0,    0,    0, /* 0x00A0 */
       0,    0,    0, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
       0,    0,    0, 0xAF, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
       0, 0xA4,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
       0, 0x90,    0,    0,    0, 0xA5,    0,    0, /* 0x00C0 */
    0x8B,    0,    0, 0xA6,    0,    0, 0x99,    0, /* 0x00D0 */
    0x9D,    0, 0xA7,    0, 0x9A, 0x97, 0x8D, 0xE1, /* 0x00D0 */
    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88, 0x89,    0, 0xA1,    0,    0, /* 0x00E0 */
    0x8C,    0,    0, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
    0x9B,    0, 0xA3, 0x96, 0x81, 0x98, 0x95        /* 0x00F0 */
};

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

#define IBM861TOCHARTABEX_COUNT         75
ImplUniCharTabData const aImplIBM861ToCharTabEx[IBM861TOCHARTABEX_COUNT] =
{
  { 0x0192, 0x9F, 0 },
  { 0x0393, 0xE2, 0 },
  { 0x0398, 0xE9, 0 },
  { 0x03A3, 0xE4, 0 },
  { 0x03A6, 0xE8, 0 },
  { 0x03A9, 0xEA, 0 },
  { 0x03B1, 0xE0, 0 },
  { 0x03B4, 0xEB, 0 },
  { 0x03B5, 0xEE, 0 },
  { 0x03C0, 0xE3, 0 },
  { 0x03C3, 0xE5, 0 },
  { 0x03C4, 0xE7, 0 },
  { 0x03C6, 0xED, 0 },
  { 0x207F, 0xFC, 0 },
  { 0x20A7, 0x9E, 0 },
  { 0x2219, 0xF9, 0 },
  { 0x221A, 0xFB, 0 },
  { 0x221E, 0xEC, 0 },
  { 0x2229, 0xEF, 0 },
  { 0x2248, 0xF7, 0 },
  { 0x2261, 0xF0, 0 },
  { 0x2264, 0xF3, 0 },
  { 0x2265, 0xF2, 0 },
  { 0x2310, 0xA9, 0 },
  { 0x2320, 0xF4, 0 },
  { 0x2321, 0xF5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2552, 0xD5, 0 },
  { 0x2553, 0xD6, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2555, 0xB8, 0 },
  { 0x2556, 0xB7, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x2558, 0xD4, 0 },
  { 0x2559, 0xD3, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255B, 0xBE, 0 },
  { 0x255C, 0xBD, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x255E, 0xC6, 0 },
  { 0x255F, 0xC7, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2561, 0xB5, 0 },
  { 0x2562, 0xB6, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2564, 0xD1, 0 },
  { 0x2565, 0xD2, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2567, 0xCF, 0 },
  { 0x2568, 0xD0, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256A, 0xD8, 0 },
  { 0x256B, 0xD7, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x258C, 0xDD, 0 },
  { 0x2590, 0xDE, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM861ByteCvtData =
{
    aImplIBM861ToUniTab,
    nullptr,
    aImplIBM861ToCharTab,
    nullptr,
    aImplIBM861ToCharTabEx,
    IBM861UNI_START, IBM861UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM861CHAR_START, IBM861CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM861TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM861TextEncodingData
    = { { &aImplIBM861ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "IBM861",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 861, mac encoding 37 */

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

/* IBM-863 */
/* Dos Standard CharSet for Canada-France */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp863.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */

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

#define IBM863UNI_START                 0x80
#define IBM863UNI_END                   0xFF
sal_uInt16 const aImplIBM863ToUniTab[IBM863UNI_END - IBM863UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, /* 0x80 */
    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2017, 0x00C0, 0x00A7, /* 0x80 */
    0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, /* 0x90 */
    0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, /* 0x90 */
    0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF, /* 0xA0 */
    0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM863CHAR_START                0x00A0
#define IBM863CHAR_END                  0x00FC
unsigned char const aImplIBM863ToCharTab[IBM863CHAR_END - IBM863CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF,    0, 0x9B, 0x9C, 0x98,    0, 0xA0, 0x8F, /* 0x00A0 */
    0xA4,    0,    0, 0xAE, 0xAA,    0,    0, 0xA7, /* 0x00A0 */
    0xF8, 0xF1, 0xFD, 0xA6, 0xA1, 0xE6, 0x86, 0xFA, /* 0x00B0 */
    0xA5,    0,    0, 0xAF, 0xAC, 0xAB, 0xAD,    0, /* 0x00B0 */
    0x8E,    0, 0x84,    0,    0,    0,    0, 0x80, /* 0x00C0 */
    0x91, 0x90, 0x92, 0x94,    0,    0, 0xA8, 0x95, /* 0x00C0 */
       0,    0,    0,    0, 0x99,    0,    0,    0, /* 0x00D0 */
       0, 0x9D,    0, 0x9E, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
    0x85,    0, 0x83,    0,    0,    0,    0, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88, 0x89,    0,    0, 0x8C, 0x8B, /* 0x00E0 */
       0,    0,    0, 0xA2, 0x93,    0,    0, 0xF6, /* 0x00F0 */
       0, 0x97, 0xA3, 0x96, 0x81                    /* 0x00F0 */
};

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

#define IBM863TOCHARTABEX_COUNT         75
ImplUniCharTabData const aImplIBM863ToCharTabEx[IBM863TOCHARTABEX_COUNT] =
{
  { 0x0192, 0x9F, 0 },
  { 0x0393, 0xE2, 0 },
  { 0x0398, 0xE9, 0 },
  { 0x03A3, 0xE4, 0 },
  { 0x03A6, 0xE8, 0 },
  { 0x03A9, 0xEA, 0 },
  { 0x03B1, 0xE0, 0 },
  { 0x03B4, 0xEB, 0 },
  { 0x03B5, 0xEE, 0 },
  { 0x03C0, 0xE3, 0 },
  { 0x03C3, 0xE5, 0 },
  { 0x03C4, 0xE7, 0 },
  { 0x03C6, 0xED, 0 },
  { 0x2017, 0x8D, 0 },
  { 0x207F, 0xFC, 0 },
  { 0x2219, 0xF9, 0 },
  { 0x221A, 0xFB, 0 },
  { 0x221E, 0xEC, 0 },
  { 0x2229, 0xEF, 0 },
  { 0x2248, 0xF7, 0 },
  { 0x2261, 0xF0, 0 },
  { 0x2264, 0xF3, 0 },
  { 0x2265, 0xF2, 0 },
  { 0x2310, 0xA9, 0 },
  { 0x2320, 0xF4, 0 },
  { 0x2321, 0xF5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2552, 0xD5, 0 },
  { 0x2553, 0xD6, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2555, 0xB8, 0 },
  { 0x2556, 0xB7, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x2558, 0xD4, 0 },
  { 0x2559, 0xD3, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255B, 0xBE, 0 },
  { 0x255C, 0xBD, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x255E, 0xC6, 0 },
  { 0x255F, 0xC7, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2561, 0xB5, 0 },
  { 0x2562, 0xB6, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2564, 0xD1, 0 },
  { 0x2565, 0xD2, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2567, 0xCF, 0 },
  { 0x2568, 0xD0, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256A, 0xD8, 0 },
  { 0x256B, 0xD7, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x258C, 0xDD, 0 },
  { 0x2590, 0xDE, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM863ByteCvtData =
{
    aImplIBM863ToUniTab,
    nullptr,
    aImplIBM863ToCharTab,
    nullptr,
    aImplIBM863ToCharTabEx,
    IBM863UNI_START, IBM863UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM863CHAR_START, IBM863CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM863TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM863TextEncodingData
    = { { &aImplIBM863ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "IBM863",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 863 */

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

/* IBM-865 */
/* Dos Standard CharSet for Nordic */
/* 1-byte, 0x00-0x7F ASCII without exception */
/* Convert-Tables: mappings/vendors/micsft/pc/cp865.txt from 04/24/96 Version 2.00 */
/* Last-Changes from us: */

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

#define IBM865UNI_START                 0x80
#define IBM865UNI_END                   0xFF
sal_uInt16 const aImplIBM865ToUniTab[IBM865UNI_END - IBM865UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, /* 0x80 */
    0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, /* 0x80 */
    0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, /* 0x90 */
    0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, /* 0x90 */
    0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, /* 0xA0 */
    0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, /* 0xA0 */
    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, /* 0xB0 */
    0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, /* 0xB0 */
    0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, /* 0xC0 */
    0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, /* 0xC0 */
    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, /* 0xD0 */
    0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, /* 0xD0 */
    0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, /* 0xE0 */
    0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, /* 0xE0 */
    0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, /* 0xF0 */
    0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0  /* 0xF0 */
};

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

#define IBM865CHAR_START                0x00A0
#define IBM865CHAR_END                  0x00FF
unsigned char const aImplIBM865ToCharTab[IBM865CHAR_END - IBM865CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xFF, 0xAD,    0, 0x9C, 0xAF,    0,    0,    0, /* 0x00A0 */
       0,    0, 0xA6, 0xAE, 0xAA,    0,    0,    0, /* 0x00A0 */
    0xF8, 0xF1, 0xFD,    0,    0, 0xE6,    0, 0xFA, /* 0x00B0 */
       0,    0, 0xA7,    0, 0xAC, 0xAB,    0, 0xA8, /* 0x00B0 */
       0,    0,    0,    0, 0x8E, 0x8F, 0x92, 0x80, /* 0x00C0 */
       0, 0x90,    0,    0,    0,    0,    0,    0, /* 0x00C0 */
       0, 0xA5,    0,    0,    0,    0, 0x99,    0, /* 0x00D0 */
    0x9D,    0,    0,    0, 0x9A,    0,    0, 0xE1, /* 0x00D0 */
    0x85, 0xA0, 0x83,    0, 0x84, 0x86, 0x91, 0x87, /* 0x00E0 */
    0x8A, 0x82, 0x88, 0x89, 0x8D, 0xA1, 0x8C, 0x8B, /* 0x00E0 */
       0, 0xA4, 0x95, 0xA2, 0x93,    0, 0x94, 0xF6, /* 0x00F0 */
    0x9B, 0x97, 0xA3, 0x96, 0x81,    0,    0, 0x98  /* 0x00F0 */
};

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

#define IBM865TOCHARTABEX_COUNT         75
ImplUniCharTabData const aImplIBM865ToCharTabEx[IBM865TOCHARTABEX_COUNT] =
{
  { 0x0192, 0x9F, 0 },
  { 0x0393, 0xE2, 0 },
  { 0x0398, 0xE9, 0 },
  { 0x03A3, 0xE4, 0 },
  { 0x03A6, 0xE8, 0 },
  { 0x03A9, 0xEA, 0 },
  { 0x03B1, 0xE0, 0 },
  { 0x03B4, 0xEB, 0 },
  { 0x03B5, 0xEE, 0 },
  { 0x03C0, 0xE3, 0 },
  { 0x03C3, 0xE5, 0 },
  { 0x03C4, 0xE7, 0 },
  { 0x03C6, 0xED, 0 },
  { 0x207F, 0xFC, 0 },
  { 0x20A7, 0x9E, 0 },
  { 0x2219, 0xF9, 0 },
  { 0x221A, 0xFB, 0 },
  { 0x221E, 0xEC, 0 },
  { 0x2229, 0xEF, 0 },
  { 0x2248, 0xF7, 0 },
  { 0x2261, 0xF0, 0 },
  { 0x2264, 0xF3, 0 },
  { 0x2265, 0xF2, 0 },
  { 0x2310, 0xA9, 0 },
  { 0x2320, 0xF4, 0 },
  { 0x2321, 0xF5, 0 },
  { 0x2500, 0xC4, 0 },
  { 0x2502, 0xB3, 0 },
  { 0x250C, 0xDA, 0 },
  { 0x2510, 0xBF, 0 },
  { 0x2514, 0xC0, 0 },
  { 0x2518, 0xD9, 0 },
  { 0x251C, 0xC3, 0 },
  { 0x2524, 0xB4, 0 },
  { 0x252C, 0xC2, 0 },
  { 0x2534, 0xC1, 0 },
  { 0x253C, 0xC5, 0 },
  { 0x2550, 0xCD, 0 },
  { 0x2551, 0xBA, 0 },
  { 0x2552, 0xD5, 0 },
  { 0x2553, 0xD6, 0 },
  { 0x2554, 0xC9, 0 },
  { 0x2555, 0xB8, 0 },
  { 0x2556, 0xB7, 0 },
  { 0x2557, 0xBB, 0 },
  { 0x2558, 0xD4, 0 },
  { 0x2559, 0xD3, 0 },
  { 0x255A, 0xC8, 0 },
  { 0x255B, 0xBE, 0 },
  { 0x255C, 0xBD, 0 },
  { 0x255D, 0xBC, 0 },
  { 0x255E, 0xC6, 0 },
  { 0x255F, 0xC7, 0 },
  { 0x2560, 0xCC, 0 },
  { 0x2561, 0xB5, 0 },
  { 0x2562, 0xB6, 0 },
  { 0x2563, 0xB9, 0 },
  { 0x2564, 0xD1, 0 },
  { 0x2565, 0xD2, 0 },
  { 0x2566, 0xCB, 0 },
  { 0x2567, 0xCF, 0 },
  { 0x2568, 0xD0, 0 },
  { 0x2569, 0xCA, 0 },
  { 0x256A, 0xD8, 0 },
  { 0x256B, 0xD7, 0 },
  { 0x256C, 0xCE, 0 },
  { 0x2580, 0xDF, 0 },
  { 0x2584, 0xDC, 0 },
  { 0x2588, 0xDB, 0 },
  { 0x258C, 0xDD, 0 },
  { 0x2590, 0xDE, 0 },
  { 0x2591, 0xB0, 0 },
  { 0x2592, 0xB1, 0 },
  { 0x2593, 0xB2, 0 },
  { 0x25A0, 0xFE, 0 }
};

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

ImplByteConvertData const aImplIBM865ByteCvtData =
{
    aImplIBM865ToUniTab,
    nullptr,
    aImplIBM865ToCharTab,
    nullptr,
    aImplIBM865ToCharTabEx,
    IBM865UNI_START, IBM865UNI_END,
    NOTABUNI_START, NOTABUNI_END,
    IBM865CHAR_START, IBM865CHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    IBM865TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplIBM865TextEncodingData
    = { { &aImplIBM865ByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "IBM865",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* DOS/OS2, SCRIPT_LATIN, pc code page 865 */

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

/* ISO-8859-14 */
/* approximately like Latin1 */
/* 1-byte, 0x00-0x7F ASCII without exception, 0x80-0x9F control character like in Unicode */
/* Convert-Tables: mappings/iso8859/8859-14.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
/* Last-Changes from us: */

#define ISO885914UNI_START              0xA0
#define ISO885914UNI_END                0xFF
sal_uInt16 const aImplISO885914ToUniTab[ISO885914UNI_END - ISO885914UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, /* 0xA0 */
    0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, /* 0xA0 */
    0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, /* 0xB0 */
    0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, /* 0xB0 */
    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
    0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, /* 0xD0 */
    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, /* 0xD0 */
    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
    0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, /* 0xF0 */
    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF  /* 0xF0 */
};

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

#define ISO885914CHAR_START             0x00C0
#define ISO885914CHAR_END               0x00FF
unsigned char const aImplISO885914ToCharTab[ISO885914CHAR_END - ISO885914CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
       0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,    0, /* 0x00D0 */
    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD,    0, 0xDF, /* 0x00D0 */
    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
       0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,    0, /* 0x00F0 */
    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD,    0, 0xFF  /* 0x00F0 */
};

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

#define ISO885914TOCHARTABEX_COUNT      38
ImplUniCharTabData const aImplISO885914ToCharTabEx[ISO885914TOCHARTABEX_COUNT] =
{
  { 0x00A0, 0xA0, 0 },
  { 0x00A3, 0xA3, 0 },
  { 0x00A7, 0xA7, 0 },
  { 0x00A9, 0xA9, 0 },
  { 0x00AD, 0xAD, 0 },
  { 0x00AE, 0xAE, 0 },
  { 0x00B6, 0xB6, 0 },
  { 0x010A, 0xA4, 0 },
  { 0x010B, 0xA5, 0 },
  { 0x0120, 0xB2, 0 },
  { 0x0121, 0xB3, 0 },
  { 0x0174, 0xD0, 0 },
  { 0x0175, 0xF0, 0 },
  { 0x0176, 0xDE, 0 },
  { 0x0177, 0xFE, 0 },
  { 0x0178, 0xAF, 0 },
  { 0x1E02, 0xA1, 0 },
  { 0x1E03, 0xA2, 0 },
  { 0x1E0A, 0xA6, 0 },
  { 0x1E0B, 0xAB, 0 },
  { 0x1E1E, 0xB0, 0 },
  { 0x1E1F, 0xB1, 0 },
  { 0x1E40, 0xB4, 0 },
  { 0x1E41, 0xB5, 0 },
  { 0x1E56, 0xB7, 0 },
  { 0x1E57, 0xB9, 0 },
  { 0x1E60, 0xBB, 0 },
  { 0x1E61, 0xBF, 0 },
  { 0x1E6A, 0xD7, 0 },
  { 0x1E6B, 0xF7, 0 },
  { 0x1E80, 0xA8, 0 },
  { 0x1E81, 0xB8, 0 },
  { 0x1E82, 0xAA, 0 },
  { 0x1E83, 0xBA, 0 },
  { 0x1E84, 0xBD, 0 },
  { 0x1E85, 0xBE, 0 },
  { 0x1EF2, 0xAC, 0 },
  { 0x1EF3, 0xBC, 0 }
};

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

ImplByteConvertData const aImplISO885914ByteCvtData =
{
    aImplISO885914ToUniTab,
    aImpl8090SameToUniTab,
    aImplISO885914ToCharTab,
    aImpl8090SameToCharTab,
    aImplISO885914ToCharTabEx,
    ISO885914UNI_START, ISO885914UNI_END,
    SAME8090UNI_START, SAME8090UNI_END,
    ISO885914CHAR_START, ISO885914CHAR_END,
    SAME8090CHAR_START, SAME8090CHAR_END,
    ISO885914TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplISO885914TextEncodingData
    = { { &aImplISO885914ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-14",
        "iso-8859-14",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* SCRIPT_LATIN, pc code page 850 */

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

/* ISO-8859-15 */
/* approximately like Latin1, but with Euro (former CURRENCY symbol to A4) */
/* 1-byte, 0x00-0x7F ASCII without exception, 0x80-0x9F control character like in Unicode */
/* Convert-Tables: mappings/iso8859/8859-15.txt from 07/27/99 Version 1.0 (based on Unicode 3.0) */
/* Last-Changes from us: */

#define ISO885915UNI_START              0xA0
#define ISO885915UNI_END                0xFF
sal_uInt16 const aImplISO885915ToUniTab[ISO885915UNI_END - ISO885915UNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, /* 0xA0 */
    0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0xA0 */
    0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, /* 0xB0 */
    0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, /* 0xB0 */
    0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0xC0 */
    0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0xC0 */
    0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0xD0 */
    0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0xD0 */
    0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, /* 0xE0 */
    0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, /* 0xE0 */
    0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, /* 0xF0 */
    0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF  /* 0xF0 */
};

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

#define ISO885915CHAR_START             0x00A0
#define ISO885915CHAR_END               0x00FF
unsigned char const aImplISO885915ToCharTab[ISO885915CHAR_END - ISO885915CHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xA0, 0xA1, 0xA2, 0xA3,    0, 0xA5,    0, 0xA7, /* 0x00A0 */
       0, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, /* 0x00A0 */
    0xB0, 0xB1, 0xB2, 0xB3,    0, 0xB5, 0xB6, 0xB7, /* 0x00B0 */
       0, 0xB9, 0xBA, 0xBB,    0,    0,    0, 0xBF, /* 0x00B0 */
    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, /* 0x00C0 */
    0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, /* 0x00C0 */
    0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, /* 0x00D0 */
    0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, /* 0x00D0 */
    0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, /* 0x00E0 */
    0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, /* 0x00E0 */
    0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, /* 0x00F0 */
    0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF  /* 0x00F0 */
};

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

#define ISO885915TOCHARTABEX_COUNT      8
ImplUniCharTabData const aImplISO885915ToCharTabEx[ISO885915TOCHARTABEX_COUNT] =
{
  { 0x0152, 0xBC, 0 },
  { 0x0153, 0xBD, 0 },
  { 0x0160, 0xA6, 0 },
  { 0x0161, 0xA8, 0 },
  { 0x0178, 0xBE, 0 },
  { 0x017D, 0xB4, 0 },
  { 0x017E, 0xB8, 0 },
  { 0x20AC, 0xA4, 0 }
};

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

ImplByteConvertData const aImplISO885915ByteCvtData =
{
    aImplISO885915ToUniTab,
    aImpl8090SameToUniTab,
    aImplISO885915ToCharTab,
    aImpl8090SameToCharTab,
    aImplISO885915ToCharTabEx,
    ISO885915UNI_START, ISO885915UNI_END,
    SAME8090UNI_START, SAME8090UNI_END,
    ISO885915CHAR_START, ISO885915CHAR_END,
    SAME8090CHAR_START, SAME8090CHAR_END,
    ISO885915TOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplISO885915TextEncodingData
    = { { &aImplISO885915ByteCvtData,
          sal::detail::textenc::convertCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-15",
        "iso-8859-15",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* SCRIPT_LATIN, pc code page 850 */

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

/* APPLE-Iceland */
/* Apple CharSet for Iceland */
/* 1-byte, 0x00-0x7F ASCII, but actually special characters between 0x00-0x1F */
/* which we don't consider, though */
/* Convert-Tables: mappings/vendors/apple/iceland.txt from 02/05/98 */
/* Last-Changes from us: */

#define APPLEICELANDUNI_START           0x80
#define APPLEICELANDUNI_END             0xFF
sal_uInt16 const aImplAPPLEICELANDToUniTab[APPLEICELANDUNI_END - APPLEICELANDUNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
    0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
    0x00FF, 0x0178, 0x2044, 0x00A4, 0x00D0, 0x00F0, 0x00DE, 0x00FE, /* 0xD0 */
    0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
};

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

#define APPLEICELANDCHAR_START          0x00A0
#define APPLEICELANDCHAR_END            0x00FF
unsigned char const aImplAPPLEICELANDToCharTab[APPLEICELANDCHAR_END - APPLEICELANDCHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xCA, 0xC1, 0xA2, 0xA3, 0xDB, 0xB4,    0, 0xA4, /* 0x00A0 */
    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
    0xDC, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
    0xAF, 0xF4, 0xF2, 0xF3, 0x86, 0xA0, 0xDE, 0xA7, /* 0x00D0 */
    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
    0xDD, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
    0xBF, 0x9D, 0x9C, 0x9E, 0x9F, 0xE0, 0xDF, 0xD8  /* 0x00F0 */
};

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

#define APPLEICELANDTOCHARTABEX_COUNT   41
ImplUniCharTabData const aImplAPPLEICELANDToCharTabEx[APPLEICELANDTOCHARTABEX_COUNT] =
{
  { 0x0131, 0xF5, 0 },
  { 0x0152, 0xCE, 0 },
  { 0x0153, 0xCF, 0 },
  { 0x0178, 0xD9, 0 },
  { 0x0192, 0xC4, 0 },
  { 0x02C6, 0xF6, 0 },
  { 0x02C7, 0xFF, 0 },
  { 0x02D8, 0xF9, 0 },
  { 0x02D9, 0xFA, 0 },
  { 0x02DA, 0xFB, 0 },
  { 0x02DB, 0xFE, 0 },
  { 0x02DC, 0xF7, 0 },
  { 0x02DD, 0xFD, 0 },
  { 0x03A9, 0xBD, 0 },
  { 0x03C0, 0xB9, 0 },
  { 0x2013, 0xD0, 0 },
  { 0x2014, 0xD1, 0 },
  { 0x2018, 0xD4, 0 },
  { 0x2019, 0xD5, 0 },
  { 0x201A, 0xE2, 0 },
  { 0x201C, 0xD2, 0 },
  { 0x201D, 0xD3, 0 },
  { 0x201E, 0xE3, 0 },
  { 0x2022, 0xA5, 0 },
  { 0x2026, 0xC9, 0 },
  { 0x2030, 0xE4, 0 },
  { 0x2044, 0xDA, 0 },
  { 0x2122, 0xAA, 0 },
  { 0x2202, 0xB6, 0 },
  { 0x2206, 0xC6, 0 },
  { 0x220F, 0xB8, 0 },
  { 0x2211, 0xB7, 0 },
  { 0x221A, 0xC3, 0 },
  { 0x221E, 0xB0, 0 },
  { 0x222B, 0xBA, 0 },
  { 0x2248, 0xC5, 0 },
  { 0x2260, 0xAD, 0 },
  { 0x2264, 0xB2, 0 },
  { 0x2265, 0xB3, 0 },
  { 0x25CA, 0xD7, 0 },
  { 0xF8FF, 0xF0, 0 }
};

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

ImplByteConvertData const aImplAPPLEICELANDByteCvtData =
{
    aImplAPPLEICELANDToUniTab,
    nullptr,
    aImplAPPLEICELANDToCharTab,
    nullptr,
    aImplAPPLEICELANDToCharTabEx,
    APPLEICELANDUNI_START, APPLEICELANDUNI_END,
    NOTABUNI_START, NOTABUNI_END,
    APPLEICELANDCHAR_START, APPLEICELANDCHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    APPLEICELANDTOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplAPPLEICELANDTextEncodingData
    = { { &aImplAPPLEICELANDByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "iso-8859-1",
        1,
        1,
        1,
        0,
        RTL_TEXTENCODING_INFO_ASCII };
    /* MAC, SCRIPT_LATIN, pc code page 861, mac encoding 37 */

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

/* APPLE-Roman */
/* Standard Apple CharSet for Western */
/* 1-byte, 0x00-0x7F ASCII, but actually special characters between 0x00-0x1F */
/* which we don't consider, though */
/* Convert-Tables: mappings/vendors/apple/roman.txt from 08/18/98 */
/* Last-Changes from us: */

#define APPLEROMANUNI_START             0x80
#define APPLEROMANUNI_END               0xFF
sal_uInt16 const aImplAPPLEROMANToUniTab[APPLEROMANUNI_END - APPLEROMANUNI_START + 1] =
{
/*       0       1       2       3       4       5       6       7 */
/*       8       9       A       B       C       D       E       F */
    0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, /* 0x80 */
    0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, /* 0x80 */
    0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, /* 0x90 */
    0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, /* 0x90 */
    0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, /* 0xA0 */
    0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, /* 0xA0 */
    0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, /* 0xB0 */
    0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, /* 0xB0 */
    0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, /* 0xC0 */
    0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, /* 0xC0 */
    0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, /* 0xD0 */
    0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0xFB01, 0xFB02, /* 0xD0 */
    0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, /* 0xE0 */
    0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, /* 0xE0 */
    0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, /* 0xF0 */
    0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7  /* 0xF0 */
};

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

#define APPLEROMANCHAR_START            0x00A0
#define APPLEROMANCHAR_END              0x00FF
unsigned char const aImplAPPLEROMANToCharTab[APPLEROMANCHAR_END - APPLEROMANCHAR_START + 1] =
{
/*     0     1     2     3     4     5     6     7 */
/*     8     9     A     B     C     D     E     F */
    0xCA, 0xC1, 0xA2, 0xA3,    0, 0xB4,    0, 0xA4, /* 0x00A0 */
    0xAC, 0xA9, 0xBB, 0xC7, 0xC2,    0, 0xA8, 0xF8, /* 0x00A0 */
    0xA1, 0xB1,    0,    0, 0xAB, 0xB5, 0xA6, 0xE1, /* 0x00B0 */
    0xFC,    0, 0xBC, 0xC8,    0,    0,    0, 0xC0, /* 0x00B0 */
    0xCB, 0xE7, 0xE5, 0xCC, 0x80, 0x81, 0xAE, 0x82, /* 0x00C0 */
    0xE9, 0x83, 0xE6, 0xE8, 0xED, 0xEA, 0xEB, 0xEC, /* 0x00C0 */
       0, 0x84, 0xF1, 0xEE, 0xEF, 0xCD, 0x85,    0, /* 0x00D0 */
    0xAF, 0xF4, 0xF2, 0xF3, 0x86,    0,    0, 0xA7, /* 0x00D0 */
    0x88, 0x87, 0x89, 0x8B, 0x8A, 0x8C, 0xBE, 0x8D, /* 0x00E0 */
    0x8F, 0x8E, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0x00E0 */
       0, 0x96, 0x98, 0x97, 0x99, 0x9B, 0x9A, 0xD6, /* 0x00F0 */
    0xBF, 0x9D, 0x9C, 0x9E, 0x9F,    0,    0, 0xD8  /* 0x00F0 */
};

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

#define APPLEROMANTOCHARTABEX_COUNT     48
ImplUniCharTabData const aImplAPPLEROMANToCharTabEx[APPLEROMANTOCHARTABEX_COUNT] =
{
  { 0x0131, 0xF5, 0 },
  { 0x0152, 0xCE, 0 },
  { 0x0153, 0xCF, 0 },
  { 0x0178, 0xD9, 0 },
  { 0x0192, 0xC4, 0 },
  { 0x02C6, 0xF6, 0 },
  { 0x02C7, 0xFF, 0 },
  { 0x02D8, 0xF9, 0 },
  { 0x02D9, 0xFA, 0 },
  { 0x02DA, 0xFB, 0 },
  { 0x02DB, 0xFE, 0 },
  { 0x02DC, 0xF7, 0 },
  { 0x02DD, 0xFD, 0 },
  { 0x03A9, 0xBD, 0 },
  { 0x03C0, 0xB9, 0 },
  { 0x2013, 0xD0, 0 },
  { 0x2014, 0xD1, 0 },
  { 0x2018, 0xD4, 0 },
  { 0x2019, 0xD5, 0 },
  { 0x201A, 0xE2, 0 },
  { 0x201C, 0xD2, 0 },
  { 0x201D, 0xD3, 0 },
  { 0x201E, 0xE3, 0 },
  { 0x2020, 0xA0, 0 },
  { 0x2021, 0xE0, 0 },
  { 0x2022, 0xA5, 0 },
  { 0x2026, 0xC9, 0 },
  { 0x2030, 0xE4, 0 },
  { 0x2039, 0xDC, 0 },
  { 0x203A, 0xDD, 0 },
  { 0x2044, 0xDA, 0 },
  { 0x20AC, 0xDB, 0 },
  { 0x2122, 0xAA, 0 },
  { 0x2202, 0xB6, 0 },
  { 0x2206, 0xC6, 0 },
  { 0x220F, 0xB8, 0 },
  { 0x2211, 0xB7, 0 },
  { 0x221A, 0xC3, 0 },
  { 0x221E, 0xB0, 0 },
  { 0x222B, 0xBA, 0 },
  { 0x2248, 0xC5, 0 },
  { 0x2260, 0xAD, 0 },
  { 0x2264, 0xB2, 0 },
  { 0x2265, 0xB3, 0 },
  { 0x25CA, 0xD7, 0 },
  { 0xF8FF, 0xF0, 0 },
  { 0xFB01, 0xDE, 0 },
  { 0xFB02, 0xDF, 0 }
};

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

ImplByteConvertData const aImplAPPLEROMANByteCvtData =
{
    aImplAPPLEROMANToUniTab,
    nullptr,
    aImplAPPLEROMANToCharTab,
    nullptr,
    aImplAPPLEROMANToCharTabEx,
    APPLEROMANUNI_START, APPLEROMANUNI_END,
    NOTABUNI_START, NOTABUNI_END,
    APPLEROMANCHAR_START, APPLEROMANCHAR_END,
    NOTABCHAR_START, NOTABCHAR_END,
    APPLEROMANTOCHARTABEX_COUNT
};

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

ImplTextEncodingData const aImplAPPLEROMANTextEncodingData
    = { { &aImplAPPLEROMANByteCvtData,
          ImplUpperCharToUnicode,
          sal::detail::textenc::convertUnicodeToChar,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr,
          nullptr },
        "iso8859-1",
        "macintosh",
        1,
        1,
        1,
        77,
        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
    /* MAC, SCRIPT_LATIN, pc code page 850 */

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


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