summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--connectivity/source/commontools/dbtools.cxx4
-rw-r--r--include/rtl/textenc.h5
-rw-r--r--sal/qa/rtl/textenc/rtl_textcvt.cxx68
-rw-r--r--sal/textenc/tables.cxx7
-rw-r--r--sal/textenc/tcvtest1.tab344
-rw-r--r--sal/textenc/tencinfo.cxx2
6 files changed, 423 insertions, 7 deletions
diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx
index 93c00069b821..efe44974d892 100644
--- a/connectivity/source/commontools/dbtools.cxx
+++ b/connectivity/source/commontools/dbtools.cxx
@@ -2016,8 +2016,8 @@ namespace dbase
case 0x65: eEncoding = RTL_TEXTENCODING_IBM_866; break; // Russian MS-DOS code page 866
case 0x66: eEncoding = RTL_TEXTENCODING_IBM_865; break; // Nordic MS-DOS code page 865
case 0x67: eEncoding = RTL_TEXTENCODING_IBM_861; break; // Icelandic MS-DOS
- //case 0x68: eEncoding = ; break; // Kamenicky (Czech) MS-DOS
- //case 0x69: eEncoding = ; break; // Mazovia (Polish) MS-DOS
+ case 0x68: eEncoding = RTL_TEXTENCODING_KAMENICKY; break; // Kamenicky (Czech) MS-DOS
+ case 0x69: eEncoding = RTL_TEXTENCODING_MAZOVIA; break; // Mazovia (Polish) MS-DOS
case 0x6A: eEncoding = RTL_TEXTENCODING_IBM_737; break; // Greek MS-DOS (437G)
case 0x6B: eEncoding = RTL_TEXTENCODING_IBM_857; break; // Turkish MS-DOS
case 0x6C: eEncoding = RTL_TEXTENCODING_IBM_863; break; // MS-DOS, Canada
diff --git a/include/rtl/textenc.h b/include/rtl/textenc.h
index 1a675e1be665..af4a16e5c422 100644
--- a/include/rtl/textenc.h
+++ b/include/rtl/textenc.h
@@ -133,8 +133,11 @@ typedef sal_uInt16 rtl_TextEncoding;
#define RTL_TEXTENCODING_ADOBE_SYMBOL (RTL_TEXTENC_CAST( 92 ))
#define RTL_TEXTENCODING_PT154 (RTL_TEXTENC_CAST( 93 ))
#define RTL_TEXTENCODING_ADOBE_DINGBATS (RTL_TEXTENC_CAST( 94 ))
+#define RTL_TEXTENCODING_KAMENICKY (RTL_TEXTENC_CAST( 95 ))
+#define RTL_TEXTENCODING_MAZOVIA (RTL_TEXTENC_CAST( 96 ))
/* ATTENTION! Whenever some encoding is added here, make sure to update
- * rtl_isOctetTextEncoding in tencinfo.c.
+ * rtl_isOctetTextEncoding in sal/textenc/tencinfo.cxx and sal_getFullTextEncodingData in
+ * sal/textenc/tables.cxx.
*/
#define RTL_TEXTENCODING_USER_START (RTL_TEXTENC_CAST( 0x8000 ))
diff --git a/sal/qa/rtl/textenc/rtl_textcvt.cxx b/sal/qa/rtl/textenc/rtl_textcvt.cxx
index 55804bd32838..a31603d90ae9 100644
--- a/sal/qa/rtl/textenc/rtl_textcvt.cxx
+++ b/sal/qa/rtl/textenc/rtl_textcvt.cxx
@@ -1286,7 +1286,73 @@ void Test::testSingleByte() {
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
- 0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F } } };
+ 0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F } },
+ { RTL_TEXTENCODING_KAMENICKY,
+ { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+ 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+ 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+ 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+ 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+ 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+ 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+ 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+ 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+ 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+ 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+ 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+ 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+ 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+ 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+ 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+ 0x010C,0x00FC,0x00E9,0x010F,0x00E4,0x010E,0x0164,0x010D,
+ 0x011B,0x011A,0x0139,0x00CD,0x013E,0x013A,0x00C4,0x00C1,
+ 0x00C9,0x017E,0x017D,0x00F4,0x00F6,0x00D3,0x016F,0x00DA,
+ 0x00FD,0x00D6,0x00DC,0x0160,0x013D,0x00DD,0x0158,0x0165,
+ 0x00E1,0x00ED,0x00F3,0x00FA,0x0148,0x0147,0x016E,0x00D4,
+ 0x0161,0x0159,0x0155,0x0154,0x00BC,0x00A7,0x00AB,0x00BB,
+ 0x2591,0x2592,0x2593,0x2502,0x2524,0x2561,0x2562,0x2556,
+ 0x2555,0x2563,0x2551,0x2557,0x255D,0x255C,0x255B,0x2510,
+ 0x2514,0x2534,0x252C,0x251C,0x2500,0x253C,0x255E,0x255F,
+ 0x255A,0x2554,0x2569,0x2566,0x2560,0x2550,0x256C,0x2567,
+ 0x2568,0x2564,0x2565,0x2559,0x2558,0x2552,0x2553,0x256B,
+ 0x256A,0x2518,0x250C,0x2588,0x2584,0x258C,0x2590,0x2580,
+ 0x03B1,0x00DF,0x0393,0x03C0,0x03A3,0x03C3,0x00B5,0x03C4,
+ 0x03A6,0x0398,0x03A9,0x03B4,0x221E,0x03C6,0x03B5,0x2229,
+ 0x2261,0x00B1,0x2265,0x2264,0x2320,0x2321,0x00F7,0x2248,
+ 0x00B0,0x2219,0x00B7,0x221A,0x207F,0x00B2,0x25A0,0x00A0 } },
+ { RTL_TEXTENCODING_MAZOVIA,
+ { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
+ 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
+ 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
+ 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
+ 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
+ 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
+ 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
+ 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
+ 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
+ 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
+ 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
+ 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
+ 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
+ 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
+ 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
+ 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
+ 0x00C7,0x00FC,0x00E9,0x00E2,0x00E4,0x00E0,0x0105,0x00E7,
+ 0x00EA,0x00EB,0x00E8,0x00EF,0x00EE,0x0107,0x00C4,0x0104,
+ 0x0118,0x0119,0x0142,0x00F4,0x00F6,0x0106,0x00FB,0x00F9,
+ 0x015A,0x00D6,0x00DC,0x00A2,0x0141,0x00A5,0x015B,0x0192,
+ 0x0179,0x017B,0x00F3,0x00D3,0x0144,0x0143,0x017A,0x017C,
+ 0x00BF,0x2310,0x00AC,0x00BD,0x00BC,0x00A1,0x00AB,0x00BB,
+ 0x2591,0x2592,0x2593,0x2502,0x2524,0x2561,0x2562,0x2556,
+ 0x2555,0x2563,0x2551,0x2557,0x255D,0x255C,0x255B,0x2510,
+ 0x2514,0x2534,0x252C,0x251C,0x2500,0x253C,0x255E,0x255F,
+ 0x255A,0x2554,0x2569,0x2566,0x2560,0x2550,0x256C,0x2567,
+ 0x2568,0x2564,0x2565,0x2559,0x2558,0x2552,0x2553,0x256B,
+ 0x256A,0x2518,0x250C,0x2588,0x2584,0x258C,0x2590,0x2580,
+ 0x03B1,0x00DF,0x0393,0x03C0,0x03A3,0x03C3,0x00B5,0x03C4,
+ 0x03A6,0x0398,0x03A9,0x03B4,0x221E,0x03C6,0x03B5,0x2229,
+ 0x2261,0x00B1,0x2265,0x2264,0x2320,0x2321,0x00F7,0x2248,
+ 0x00B0,0x2219,0x00B7,0x221A,0x207F,0x00B2,0x25A0,0x00A0 } } };
for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) {
testSingleByteCharSet(data[i]);
}
diff --git a/sal/textenc/tables.cxx b/sal/textenc/tables.cxx
index 075f1d56f902..163ffe131de4 100644
--- a/sal/textenc/tables.cxx
+++ b/sal/textenc/tables.cxx
@@ -23,6 +23,7 @@
#include <cassert>
#include <cstddef>
+#include <iterator>
#include <rtl/textenc.h>
#include <sal/types.h>
@@ -257,10 +258,12 @@ extern "C" SAL_DLLPUBLIC_EXPORT ImplTextEncodingData const *
&adobeStandardEncodingData, /* ADOBE_STANDARD */
&adobeSymbolEncodingData, /* ADOBE_SYMBOL */
&aImplPT154TextEncodingData, /* PT154 */
- &adobeDingbatsEncodingData }; /* ADOBE_DINGBATS */
+ &adobeDingbatsEncodingData, /* ADOBE_DINGBATS */
+ &kamenickyEncodingData, /* KAMENICKY */
+ &mazoviaEncodingData }; /* MAZOVIA */
static_assert(
- SAL_N_ELEMENTS(aData) == RTL_TEXTENCODING_ADOBE_DINGBATS + 1,
+ SAL_N_ELEMENTS(aData) == RTL_TEXTENCODING_MAZOVIA + 1,
"update table above if a new encoding is added");
return
diff --git a/sal/textenc/tcvtest1.tab b/sal/textenc/tcvtest1.tab
index b8661ab9c5e9..7c54f2393934 100644
--- a/sal/textenc/tcvtest1.tab
+++ b/sal/textenc/tcvtest1.tab
@@ -4578,3 +4578,347 @@ ImplTextEncodingData const aImplPT154TextEncodingData
204,
RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MIME };
/* SCRIPT_CYRILLIC */
+
+/* ======================================================================= */
+
+/* Kamenický */
+/* Czech, see <https://en.wikipedia.org/wiki/Kamenick%C3%BD_encoding> */
+/* 1-byte, 0x00-0x7F ASCII without exception */
+/* Convert-Tables: <https://en.wikipedia.org/wiki/Kamenick%C3%BD_encoding> obtained 2022-09-15 */
+
+sal_uInt16 const kamenickyToUniTab[128] = {
+/* 0 1 2 3 4 5 6 7 */
+/* 8 9 A B C D E F */
+ 0x010C, 0x00FC, 0x00E9, 0x010F, 0x00E4, 0x010E, 0x0164, 0x010D, /* 0x80 */
+ 0x011B, 0x011A, 0x0139, 0x00CD, 0x013E, 0x013A, 0x00C4, 0x00C1, /* 0x80 */
+ 0x00C9, 0x017E, 0x017D, 0x00F4, 0x00F6, 0x00D3, 0x016F, 0x00DA, /* 0x90 */
+ 0x00FD, 0x00D6, 0x00DC, 0x0160, 0x013D, 0x00DD, 0x0158, 0x0165, /* 0x90 */
+ 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0148, 0x0147, 0x016E, 0x00D4, /* 0xA0 */
+ 0x0161, 0x0159, 0x0155, 0x0154, 0x00BC, 0x00A7, 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 */
+};
+
+ImplUniCharTabData const kamenickyToCharTabEx[128] = {
+ { 0x00A0, 0xFF, 0 },
+ { 0x00A7, 0xAD, 0 },
+ { 0x00AB, 0xAE, 0 },
+ { 0x00B0, 0xF8, 0 },
+ { 0x00B1, 0xF1, 0 },
+ { 0x00B2, 0xFD, 0 },
+ { 0x00B5, 0xE6, 0 },
+ { 0x00B7, 0xFA, 0 },
+ { 0x00BB, 0xAF, 0 },
+ { 0x00BC, 0xAC, 0 },
+ { 0x00C1, 0x8F, 0 },
+ { 0x00C4, 0x8E, 0 },
+ { 0x00C9, 0x90, 0 },
+ { 0x00CD, 0x8B, 0 },
+ { 0x00D3, 0x95, 0 },
+ { 0x00D4, 0xA7, 0 },
+ { 0x00D6, 0x99, 0 },
+ { 0x00DA, 0x97, 0 },
+ { 0x00DC, 0x9A, 0 },
+ { 0x00DD, 0x9D, 0 },
+ { 0x00DF, 0xE1, 0 },
+ { 0x00E1, 0xA0, 0 },
+ { 0x00E4, 0x84, 0 },
+ { 0x00E9, 0x82, 0 },
+ { 0x00ED, 0xA1, 0 },
+ { 0x00F3, 0xA2, 0 },
+ { 0x00F4, 0x93, 0 },
+ { 0x00F6, 0x94, 0 },
+ { 0x00F7, 0xF6, 0 },
+ { 0x00FA, 0xA3, 0 },
+ { 0x00FC, 0x81, 0 },
+ { 0x00FD, 0x98, 0 },
+ { 0x010C, 0x80, 0 },
+ { 0x010D, 0x87, 0 },
+ { 0x010E, 0x85, 0 },
+ { 0x010F, 0x83, 0 },
+ { 0x011A, 0x89, 0 },
+ { 0x011B, 0x88, 0 },
+ { 0x0139, 0x8A, 0 },
+ { 0x013A, 0x8D, 0 },
+ { 0x013D, 0x9C, 0 },
+ { 0x013E, 0x8C, 0 },
+ { 0x0147, 0xA5, 0 },
+ { 0x0148, 0xA4, 0 },
+ { 0x0154, 0xAB, 0 },
+ { 0x0155, 0xAA, 0 },
+ { 0x0158, 0x9E, 0 },
+ { 0x0159, 0xA9, 0 },
+ { 0x0160, 0x9B, 0 },
+ { 0x0161, 0xA8, 0 },
+ { 0x0164, 0x86, 0 },
+ { 0x0165, 0x9F, 0 },
+ { 0x016E, 0xA6, 0 },
+ { 0x016F, 0x96, 0 },
+ { 0x017D, 0x92, 0 },
+ { 0x017E, 0x91, 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 },
+ { 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 kamenickyByteCvtData = {
+ kamenickyToUniTab, nullptr, nullptr, nullptr, kamenickyToCharTabEx, 0x80, 0xFF, NOTABUNI_START,
+ NOTABUNI_END, NOTABCHAR_START, NOTABCHAR_END, NOTABCHAR_START, NOTABCHAR_END,
+ std::size(kamenickyToCharTabEx)
+};
+
+ImplTextEncodingData const kamenickyEncodingData = {
+ { &kamenickyByteCvtData, sal::detail::textenc::convertCharToUnicode,
+ sal::detail::textenc::convertUnicodeToChar, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr },
+ nullptr, nullptr, 1, 1, 1, 0, RTL_TEXTENCODING_INFO_ASCII
+};
+
+/* ======================================================================= */
+
+/* Mazovia */
+/* Polish, see <https://en.wikipedia.org/wiki/Mazovia_encoding> */
+/* 1-byte, 0x00-0x7F ASCII without exception */
+/* Convert-Tables: <https://en.wikipedia.org/wiki/Mazovia_encoding> obtained 2022-09-15 */
+
+sal_uInt16 const mazoviaToUniTab[128] = {
+/* 0 1 2 3 4 5 6 7 */
+/* 8 9 A B C D E F */
+ 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x0105, 0x00E7, /* 0x80 */
+ 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0107, 0x00C4, 0x0104, /* 0x80 */
+ 0x0118, 0x0119, 0x0142, 0x00F4, 0x00F6, 0x0106, 0x00FB, 0x00F9, /* 0x90 */
+ 0x015A, 0x00D6, 0x00DC, 0x00A2, 0x0141, 0x00A5, 0x015B, 0x0192, /* 0x90 */
+ 0x0179, 0x017B, 0x00F3, 0x00D3, 0x0144, 0x0143, 0x017A, 0x017C, /* 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 */
+};
+
+ImplUniCharTabData const mazoviaToCharTabEx[128] = {
+ { 0x00A0, 0xFF, 0 },
+ { 0x00A1, 0xAD, 0 },
+ { 0x00A2, 0x9B, 0 },
+ { 0x00A5, 0x9D, 0 },
+ { 0x00AB, 0xAE, 0 },
+ { 0x00AC, 0xAA, 0 },
+ { 0x00B0, 0xF8, 0 },
+ { 0x00B1, 0xF1, 0 },
+ { 0x00B2, 0xFD, 0 },
+ { 0x00B5, 0xE6, 0 },
+ { 0x00B7, 0xFA, 0 },
+ { 0x00BB, 0xAF, 0 },
+ { 0x00BC, 0xAC, 0 },
+ { 0x00BD, 0xAB, 0 },
+ { 0x00BF, 0xA8, 0 },
+ { 0x00C4, 0x8E, 0 },
+ { 0x00C7, 0x80, 0 },
+ { 0x00D3, 0xA3, 0 },
+ { 0x00D6, 0x99, 0 },
+ { 0x00DC, 0x9A, 0 },
+ { 0x00DF, 0xE1, 0 },
+ { 0x00E0, 0x85, 0 },
+ { 0x00E2, 0x83, 0 },
+ { 0x00E4, 0x84, 0 },
+ { 0x00E7, 0x87, 0 },
+ { 0x00E8, 0x8A, 0 },
+ { 0x00E9, 0x82, 0 },
+ { 0x00EA, 0x88, 0 },
+ { 0x00EB, 0x89, 0 },
+ { 0x00EE, 0x8C, 0 },
+ { 0x00EF, 0x8B, 0 },
+ { 0x00F3, 0xA2, 0 },
+ { 0x00F4, 0x93, 0 },
+ { 0x00F6, 0x94, 0 },
+ { 0x00F7, 0xF6, 0 },
+ { 0x00F9, 0x97, 0 },
+ { 0x00FB, 0x96, 0 },
+ { 0x00FC, 0x81, 0 },
+ { 0x0104, 0x8F, 0 },
+ { 0x0105, 0x86, 0 },
+ { 0x0106, 0x95, 0 },
+ { 0x0107, 0x8D, 0 },
+ { 0x0118, 0x90, 0 },
+ { 0x0119, 0x91, 0 },
+ { 0x0141, 0x9C, 0 },
+ { 0x0142, 0x92, 0 },
+ { 0x0143, 0xA5, 0 },
+ { 0x0144, 0xA4, 0 },
+ { 0x015A, 0x98, 0 },
+ { 0x015B, 0x9E, 0 },
+ { 0x0179, 0xA0, 0 },
+ { 0x017A, 0xA6, 0 },
+ { 0x017B, 0xA1, 0 },
+ { 0x017C, 0xA7, 0 },
+ { 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 },
+ { 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 mazoviaByteCvtData = {
+ mazoviaToUniTab, nullptr, nullptr, nullptr, mazoviaToCharTabEx, 0x80, 0xFF, NOTABUNI_START,
+ NOTABUNI_END, NOTABCHAR_START, NOTABCHAR_END, NOTABCHAR_START, NOTABCHAR_END,
+ std::size(mazoviaToCharTabEx)
+};
+
+ImplTextEncodingData const mazoviaEncodingData = {
+ { &mazoviaByteCvtData, sal::detail::textenc::convertCharToUnicode,
+ sal::detail::textenc::convertUnicodeToChar, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr },
+ nullptr, nullptr, 1, 1, 1, 0, RTL_TEXTENCODING_INFO_ASCII
+};
diff --git a/sal/textenc/tencinfo.cxx b/sal/textenc/tencinfo.cxx
index 61439b489a7c..7db2753938f3 100644
--- a/sal/textenc/tencinfo.cxx
+++ b/sal/textenc/tencinfo.cxx
@@ -33,7 +33,7 @@ sal_Bool SAL_CALL rtl_isOctetTextEncoding(rtl_TextEncoding nEncoding)
return
nEncoding > RTL_TEXTENCODING_DONTKNOW
&& nEncoding != 9 // RTL_TEXTENCODING_SYSTEM
- && nEncoding <= RTL_TEXTENCODING_ADOBE_DINGBATS; // always update this!
+ && nEncoding <= RTL_TEXTENCODING_MAZOVIA; // always update this!
}
/* ======================================================================= */