1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: rtl_textcvt.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_sal.hxx"
34 #include "sal/config.h"
39 #include "cppunit/simpleheader.hxx"
40 #include "rtl/string.hxx"
41 #include "rtl/tencinfo.h"
42 #include "rtl/textcvt.h"
43 #include "rtl/textenc.h"
44 #include "sal/types.h"
48 struct SingleByteCharSet
{
49 rtl_TextEncoding m_nEncoding
;
50 sal_Unicode m_aMap
[256];
53 void testSingleByteCharSet(SingleByteCharSet
const & rSet
) {
55 sal_Unicode aUnicode
[256];
57 for (int i
= 0; i
< 256; ++i
) {
58 if (rSet
.m_aMap
[i
] != 0xFFFF) {
59 aText
[nNumber
++] = static_cast< sal_Char
>(i
);
63 rtl_TextToUnicodeConverter aConverter
64 = rtl_createTextToUnicodeConverter(rSet
.m_nEncoding
);
65 rtl_TextToUnicodeContext aContext
66 = rtl_createTextToUnicodeContext(aConverter
);
67 CPPUNIT_ASSERT_MESSAGE("failure #1", aConverter
&& aContext
);
71 nSize
= rtl_convertTextToUnicode(
72 aConverter
, aContext
, aText
, nNumber
, aUnicode
, nNumber
,
73 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
74 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
75 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
),
77 CPPUNIT_ASSERT_MESSAGE(
79 nSize
== nNumber
&& nInfo
== 0 && nConverted
== nNumber
);
80 rtl_destroyTextToUnicodeContext(aConverter
, aContext
);
81 rtl_destroyTextToUnicodeConverter(aConverter
);
86 for (int i
= 0; i
< 256; ++i
) {
87 if (rSet
.m_aMap
[i
] != 0xFFFF && aUnicode
[j
++] != rSet
.m_aMap
[i
]) {
92 CPPUNIT_ASSERT_MESSAGE("failure #3", bSuccess
);
94 if (rSet
.m_nEncoding
== RTL_TEXTENCODING_ASCII_US
) {
98 rtl_UnicodeToTextConverter aConverter
99 = rtl_createUnicodeToTextConverter(rSet
.m_nEncoding
);
100 rtl_UnicodeToTextContext aContext
101 = rtl_createUnicodeToTextContext(aConverter
);
102 CPPUNIT_ASSERT_MESSAGE("failure #4", aConverter
&& aContext
);
106 nSize
= rtl_convertUnicodeToText(
107 aConverter
, aContext
, aUnicode
, nNumber
, aText
, nNumber
,
108 (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
109 | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR
),
110 &nInfo
, &nConverted
);
111 CPPUNIT_ASSERT_MESSAGE(
113 nSize
== nNumber
&& nInfo
== 0 && nConverted
== nNumber
);
114 rtl_destroyUnicodeToTextContext(aConverter
, aContext
);
115 rtl_destroyUnicodeToTextConverter(aConverter
);
118 bool bSuccess
= true;
120 for (int i
= 0; i
< 256; ++i
) {
121 if (rSet
.m_aMap
[i
] != 0xFFFF
122 && aText
[j
++] != static_cast< sal_Char
>(i
))
128 CPPUNIT_ASSERT_MESSAGE("failure #6", bSuccess
);
130 for (int i
= 0; i
< 256; ++i
) {
131 if (rSet
.m_aMap
[i
] == 0xFFFF) {
132 aText
[0] = static_cast< sal_Char
>(i
);
133 rtl_TextToUnicodeConverter aConverter
134 = rtl_createTextToUnicodeConverter(rSet
.m_nEncoding
);
135 rtl_TextToUnicodeContext aContext
136 = rtl_createTextToUnicodeContext(aConverter
);
137 CPPUNIT_ASSERT_MESSAGE("failure #7", aConverter
&& aContext
);
141 nSize
= rtl_convertTextToUnicode(
142 aConverter
, aContext
, aText
, 1, aUnicode
, 1,
143 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
144 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
145 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
),
146 &nInfo
, &nConverted
);
147 CPPUNIT_ASSERT_MESSAGE(
151 == (RTL_TEXTTOUNICODE_INFO_ERROR
152 | RTL_TEXTTOUNICODE_INFO_UNDEFINED
))
153 && nConverted
== 0));
154 rtl_destroyTextToUnicodeContext(aConverter
, aContext
);
155 rtl_destroyTextToUnicodeConverter(aConverter
);
160 int const TEST_STRING_SIZE
= 1000;
162 struct ComplexCharSetTest
{
163 rtl_TextEncoding m_nEncoding
;
164 char const * m_pText
;
165 sal_Size m_nTextSize
;
166 sal_Unicode m_aUnicode
[TEST_STRING_SIZE
];
167 sal_Size m_nUnicodeSize
;
171 bool m_bGlobalSignature
;
172 sal_uInt32 m_nReverseUndefined
;
175 void doComplexCharSetTest(ComplexCharSetTest
const & rTest
) {
176 if (rTest
.m_bForward
) {
177 sal_Unicode aUnicode
[TEST_STRING_SIZE
];
178 rtl_TextToUnicodeConverter aConverter
179 = rtl_createTextToUnicodeConverter(rTest
.m_nEncoding
);
180 rtl_TextToUnicodeContext aContext
181 = rtl_createTextToUnicodeContext(aConverter
);
182 CPPUNIT_ASSERT_MESSAGE("failure #10", aConverter
&& aContext
);
186 nSize
= rtl_convertTextToUnicode(
187 aConverter
, aContext
,
188 reinterpret_cast< sal_Char
const * >(rTest
.m_pText
),
189 rTest
.m_nTextSize
, aUnicode
, TEST_STRING_SIZE
,
190 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
191 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
192 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
193 | RTL_TEXTTOUNICODE_FLAGS_FLUSH
194 | (rTest
.m_bGlobalSignature
?
195 RTL_TEXTTOUNICODE_FLAGS_GLOBAL_SIGNATURE
: 0)),
196 &nInfo
, &nConverted
);
197 CPPUNIT_ASSERT_MESSAGE(
199 (nSize
== rTest
.m_nUnicodeSize
&& nInfo
== 0
200 && nConverted
== rTest
.m_nTextSize
));
201 rtl_destroyTextToUnicodeContext(aConverter
, aContext
);
202 rtl_destroyTextToUnicodeConverter(aConverter
);
203 bool bSuccess
= true;
204 for (sal_Size i
= 0; i
< rTest
.m_nUnicodeSize
; ++i
) {
205 if (aUnicode
[i
] != rTest
.m_aUnicode
[i
]) {
210 CPPUNIT_ASSERT_MESSAGE("failure #12", bSuccess
);
212 if (rTest
.m_bForward
) {
213 sal_Unicode aUnicode
[TEST_STRING_SIZE
];
214 rtl_TextToUnicodeConverter aConverter
215 = rtl_createTextToUnicodeConverter(rTest
.m_nEncoding
);
216 rtl_TextToUnicodeContext aContext
217 = rtl_createTextToUnicodeContext(aConverter
);
218 CPPUNIT_ASSERT_MESSAGE("failure #13", aConverter
&& aContext
);
219 if (aContext
!= (rtl_TextToUnicodeContext
) 1) {
221 sal_Size nOutput
= 0;
222 for (bool bFlush
= true; nInput
< rTest
.m_nTextSize
|| bFlush
;) {
223 sal_Size nSrcBytes
= 1;
225 = (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
226 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
227 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
228 | (rTest
.m_bGlobalSignature
?
229 RTL_TEXTTOUNICODE_FLAGS_GLOBAL_SIGNATURE
: 0));
230 if (nInput
>= rTest
.m_nTextSize
) {
232 nFlags
|= RTL_TEXTTOUNICODE_FLAGS_FLUSH
;
237 sal_Size nSize
= rtl_convertTextToUnicode(
238 aConverter
, aContext
,
239 reinterpret_cast< sal_Char
const * >(rTest
.m_pText
+ nInput
),
240 nSrcBytes
, aUnicode
+ nOutput
, TEST_STRING_SIZE
- nOutput
,
241 nFlags
, &nInfo
, &nConverted
);
243 nInput
+= nConverted
;
244 CPPUNIT_ASSERT_MESSAGE(
246 (nInfo
& ~RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
) == 0);
248 CPPUNIT_ASSERT_MESSAGE(
250 nOutput
== rTest
.m_nUnicodeSize
&& nInput
== rTest
.m_nTextSize
);
251 bool bSuccess
= true;
252 for (sal_Size i
= 0; i
< rTest
.m_nUnicodeSize
; ++i
) {
253 if (aUnicode
[i
] != rTest
.m_aUnicode
[i
]) {
258 CPPUNIT_ASSERT_MESSAGE("failure #16", bSuccess
);
260 rtl_destroyTextToUnicodeContext(aConverter
, aContext
);
261 rtl_destroyTextToUnicodeConverter(aConverter
);
263 if (rTest
.m_bNoContext
&& rTest
.m_bForward
) {
264 sal_Unicode aUnicode
[TEST_STRING_SIZE
];
266 rtl_TextToUnicodeConverter aConverter
267 = rtl_createTextToUnicodeConverter(rTest
.m_nEncoding
);
268 CPPUNIT_ASSERT_MESSAGE("failure #17", aConverter
);
269 for (sal_Size i
= 0;;) {
270 if (i
== rTest
.m_nTextSize
) {
273 sal_Char c1
= rTest
.m_pText
[i
++];
275 sal_uInt32 nInfo
= 0;
277 sal_Size nChars
= rtl_convertTextToUnicode(
278 aConverter
, 0, &c1
, 1, aUC
, 2,
279 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
280 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
281 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
282 | (rTest
.m_bGlobalSignature
?
283 RTL_TEXTTOUNICODE_FLAGS_GLOBAL_SIGNATURE
: 0)),
285 if ((nInfo
& RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
) != 0) {
286 sal_Char sBuffer
[10];
289 while ((nInfo
& RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
) != 0
292 if (i
== rTest
.m_nTextSize
) {
295 c1
= rTest
.m_pText
[i
++];
296 sBuffer
[nLen
++] = c1
;
297 nChars
= rtl_convertTextToUnicode(
298 aConverter
, 0, sBuffer
, nLen
, aUC
, 2,
299 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
300 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
301 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
302 | (rTest
.m_bGlobalSignature
?
303 RTL_TEXTTOUNICODE_FLAGS_GLOBAL_SIGNATURE
: 0)),
306 if (nChars
== 1 && nInfo
== 0) {
307 OSL_ASSERT(nCvtBytes
== nLen
);
308 aUnicode
[nSize
++] = aUC
[0];
309 } else if (nChars
== 2 && nInfo
== 0) {
310 OSL_ASSERT(nCvtBytes
== nLen
);
311 aUnicode
[nSize
++] = aUC
[0];
312 aUnicode
[nSize
++] = aUC
[1];
315 (nInfo
& RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
) == 0
316 && nChars
== 0 && nInfo
!= 0);
317 aUnicode
[nSize
++] = sBuffer
[0];
320 } else if (nChars
== 1 && nInfo
== 0) {
321 OSL_ASSERT(nCvtBytes
== 1);
322 aUnicode
[nSize
++] = aUC
[0];
323 } else if (nChars
== 2 && nInfo
== 0) {
324 OSL_ASSERT(nCvtBytes
== 1);
325 aUnicode
[nSize
++] = aUC
[0];
326 aUnicode
[nSize
++] = aUC
[1];
328 OSL_ASSERT(nChars
== 0 && nInfo
!= 0);
329 aUnicode
[nSize
++] = c1
;
333 rtl_destroyTextToUnicodeConverter(aConverter
);
334 bool bSuccess
= true;
335 for (sal_Size i
= 0; i
< rTest
.m_nUnicodeSize
; ++i
) {
336 if (aUnicode
[i
] != rTest
.m_aUnicode
[i
]) {
341 CPPUNIT_ASSERT_MESSAGE("failure #18", bSuccess
);
343 if (rTest
.m_bReverse
) {
344 sal_Char aText
[TEST_STRING_SIZE
];
345 rtl_UnicodeToTextConverter aConverter
346 = rtl_createUnicodeToTextConverter(rTest
.m_nEncoding
);
347 rtl_UnicodeToTextContext aContext
348 = rtl_createUnicodeToTextContext(aConverter
);
349 CPPUNIT_ASSERT_MESSAGE("failure #19", aConverter
&& aContext
);
353 nSize
= rtl_convertUnicodeToText(
354 aConverter
, aContext
, rTest
.m_aUnicode
, rTest
.m_nUnicodeSize
, aText
,
356 (rTest
.m_nReverseUndefined
| RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR
357 | RTL_UNICODETOTEXT_FLAGS_FLUSH
358 | (rTest
.m_bGlobalSignature
?
359 RTL_UNICODETOTEXT_FLAGS_GLOBAL_SIGNATURE
: 0)),
360 &nInfo
, &nConverted
);
361 CPPUNIT_ASSERT_MESSAGE(
363 (nSize
== rTest
.m_nTextSize
365 || (nInfo
== RTL_UNICODETOTEXT_INFO_UNDEFINED
366 && (rTest
.m_nReverseUndefined
367 != RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
)))
368 && nConverted
== rTest
.m_nUnicodeSize
));
369 rtl_destroyUnicodeToTextContext(aConverter
, aContext
);
370 rtl_destroyUnicodeToTextConverter(aConverter
);
371 bool bSuccess
= true;
372 for (sal_Size i
= 0; i
< rTest
.m_nTextSize
; ++i
) {
373 if (aText
[i
] != rTest
.m_pText
[i
]) {
378 CPPUNIT_ASSERT_MESSAGE("failure #21", bSuccess
);
382 void doComplexCharSetCutTest(ComplexCharSetTest
const & rTest
) {
383 if (rTest
.m_bNoContext
) {
384 sal_Unicode aUnicode
[TEST_STRING_SIZE
];
385 rtl_TextToUnicodeConverter aConverter
386 = rtl_createTextToUnicodeConverter(rTest
.m_nEncoding
);
387 CPPUNIT_ASSERT_MESSAGE("failure #22", aConverter
);
391 nSize
= rtl_convertTextToUnicode(
392 aConverter
, 0, reinterpret_cast< sal_Char
const * >(rTest
.m_pText
),
393 rTest
.m_nTextSize
, aUnicode
, TEST_STRING_SIZE
,
394 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
395 | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
396 | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
),
397 &nInfo
, &nConverted
);
398 CPPUNIT_ASSERT_MESSAGE(
400 (nSize
<= rTest
.m_nUnicodeSize
401 && (nInfo
== RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
403 == (RTL_TEXTTOUNICODE_INFO_ERROR
404 | RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
)))
405 && nConverted
< rTest
.m_nTextSize
));
406 rtl_destroyTextToUnicodeConverter(aConverter
);
407 bool bSuccess
= true;
408 for (sal_Size i
= 0; i
< nSize
; ++i
) {
409 if (aUnicode
[i
] != rTest
.m_aUnicode
[i
]) {
414 CPPUNIT_ASSERT_MESSAGE("failure #24", bSuccess
);
418 class Test
: public CppUnit::TestFixture
{
420 void testSingleByte();
424 void testComplexCut();
426 void testSRCBUFFERTOSMALL();
434 CPPUNIT_TEST_SUITE(Test
);
435 CPPUNIT_TEST(testSingleByte
);
436 CPPUNIT_TEST(testComplex
);
437 CPPUNIT_TEST(testComplexCut
);
438 CPPUNIT_TEST(testSRCBUFFERTOSMALL
);
439 CPPUNIT_TEST(testMime
);
440 CPPUNIT_TEST(testWindows
);
441 CPPUNIT_TEST(testInfo
);
442 CPPUNIT_TEST_SUITE_END();
445 void Test::testSingleByte() {
446 static SingleByteCharSet
const data
[]
447 = { { RTL_TEXTENCODING_MS_1250
,
448 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
449 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
450 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
451 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
452 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
453 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
454 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
455 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
456 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
457 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
458 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
459 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
460 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
461 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
462 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
463 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
464 0x20AC,0xFFFF,0x201A,0xFFFF,0x201E,0x2026,0x2020,0x2021,
465 0xFFFF,0x2030,0x0160,0x2039,0x015A,0x0164,0x017D,0x0179,
466 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
467 0xFFFF,0x2122,0x0161,0x203A,0x015B,0x0165,0x017E,0x017A,
468 0x00A0,0x02C7,0x02D8,0x0141,0x00A4,0x0104,0x00A6,0x00A7,
469 0x00A8,0x00A9,0x015E,0x00AB,0x00AC,0x00AD,0x00AE,0x017B,
470 0x00B0,0x00B1,0x02DB,0x0142,0x00B4,0x00B5,0x00B6,0x00B7,
471 0x00B8,0x0105,0x015F,0x00BB,0x013D,0x02DD,0x013E,0x017C,
472 0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
473 0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
474 0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
475 0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
476 0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
477 0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
478 0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
479 0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9 } },
480 { RTL_TEXTENCODING_MS_1251
,
481 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
482 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
483 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
484 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
485 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
486 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
487 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
488 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
489 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
490 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
491 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
492 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
493 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
494 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
495 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
496 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
497 0x0402,0x0403,0x201A,0x0453,0x201E,0x2026,0x2020,0x2021,
498 0x20AC,0x2030,0x0409,0x2039,0x040A,0x040C,0x040B,0x040F,
499 0x0452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
500 0xFFFF,0x2122,0x0459,0x203A,0x045A,0x045C,0x045B,0x045F,
501 0x00A0,0x040E,0x045E,0x0408,0x00A4,0x0490,0x00A6,0x00A7,
502 0x0401,0x00A9,0x0404,0x00AB,0x00AC,0x00AD,0x00AE,0x0407,
503 0x00B0,0x00B1,0x0406,0x0456,0x0491,0x00B5,0x00B6,0x00B7,
504 0x0451,0x2116,0x0454,0x00BB,0x0458,0x0405,0x0455,0x0457,
505 0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
506 0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F,
507 0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
508 0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F,
509 0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
510 0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
511 0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
512 0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F } },
513 { RTL_TEXTENCODING_MS_1252
,
514 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
515 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
516 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
517 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
518 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
519 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
520 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
521 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
522 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
523 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
524 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
525 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
526 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
527 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
528 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
529 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
530 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
531 0x02C6,0x2030,0x0160,0x2039,0x0152,0xFFFF,0x017D,0xFFFF,
532 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
533 0x02DC,0x2122,0x0161,0x203A,0x0153,0xFFFF,0x017E,0x0178,
534 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
535 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
536 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
537 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
538 0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
539 0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
540 0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
541 0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
542 0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
543 0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
544 0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
545 0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF } },
546 { RTL_TEXTENCODING_MS_1253
,
547 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
548 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
549 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
550 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
551 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
552 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
553 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
554 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
555 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
556 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
557 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
558 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
559 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
560 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
561 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
562 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
563 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
564 0xFFFF,0x2030,0xFFFF,0x2039,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
565 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
566 0xFFFF,0x2122,0xFFFF,0x203A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
567 0x00A0,0x0385,0x0386,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
568 0x00A8,0x00A9,0xFFFF,0x00AB,0x00AC,0x00AD,0x00AE,0x2015,
569 0x00B0,0x00B1,0x00B2,0x00B3,0x0384,0x00B5,0x00B6,0x00B7,
570 0x0388,0x0389,0x038A,0x00BB,0x038C,0x00BD,0x038E,0x038F,
571 0x0390,0x0391,0x0392,0x0393,0x0394,0x0395,0x0396,0x0397,
572 0x0398,0x0399,0x039A,0x039B,0x039C,0x039D,0x039E,0x039F,
573 0x03A0,0x03A1,0xFFFF,0x03A3,0x03A4,0x03A5,0x03A6,0x03A7,
574 0x03A8,0x03A9,0x03AA,0x03AB,0x03AC,0x03AD,0x03AE,0x03AF,
575 0x03B0,0x03B1,0x03B2,0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,
576 0x03B8,0x03B9,0x03BA,0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,
577 0x03C0,0x03C1,0x03C2,0x03C3,0x03C4,0x03C5,0x03C6,0x03C7,
578 0x03C8,0x03C9,0x03CA,0x03CB,0x03CC,0x03CD,0x03CE,0xFFFF } },
579 { RTL_TEXTENCODING_MS_1254
,
580 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
581 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
582 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
583 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
584 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
585 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
586 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
587 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
588 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
589 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
590 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
591 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
592 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
593 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
594 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
595 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
596 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
597 0x02C6,0x2030,0x0160,0x2039,0x0152,0xFFFF,0xFFFF,0xFFFF,
598 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
599 0x02DC,0x2122,0x0161,0x203A,0x0153,0xFFFF,0xFFFF,0x0178,
600 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
601 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
602 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
603 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
604 0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
605 0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
606 0x011E,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
607 0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x0130,0x015E,0x00DF,
608 0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
609 0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
610 0x011F,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
611 0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x0131,0x015F,0x00FF } },
612 { RTL_TEXTENCODING_APPLE_ROMAN
,
613 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
614 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
615 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
616 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
617 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
618 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
619 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
620 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
621 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
622 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
623 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
624 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
625 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
626 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
627 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
628 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E, 0x7F,
629 0x00C4,0x00C5,0x00C7,0x00C9,0x00D1,0x00D6,0x00DC,0x00E1,
630 0x00E0,0x00E2,0x00E4,0x00E3,0x00E5,0x00E7,0x00E9,0x00E8,
631 0x00EA,0x00EB,0x00ED,0x00EC,0x00EE,0x00EF,0x00F1,0x00F3,
632 0x00F2,0x00F4,0x00F6,0x00F5,0x00FA,0x00F9,0x00FB,0x00FC,
633 0x2020,0x00B0,0x00A2,0x00A3,0x00A7,0x2022,0x00B6,0x00DF,
634 0x00AE,0x00A9,0x2122,0x00B4,0x00A8,0x2260,0x00C6,0x00D8,
635 0x221E,0x00B1,0x2264,0x2265,0x00A5,0x00B5,0x2202,0x2211,
636 0x220F,0x03C0,0x222B,0x00AA,0x00BA,0x03A9,0x00E6,0x00F8,
637 0x00BF,0x00A1,0x00AC,0x221A,0x0192,0x2248,0x2206,0x00AB,
638 0x00BB,0x2026,0x00A0,0x00C0,0x00C3,0x00D5,0x0152,0x0153,
639 0x2013,0x2014,0x201C,0x201D,0x2018,0x2019,0x00F7,0x25CA,
640 0x00FF,0x0178,0x2044,0x20AC,0x2039,0x203A,0xFB01,0xFB02,
641 0x2021,0x00B7,0x201A,0x201E,0x2030,0x00C2,0x00CA,0x00C1,
642 0x00CB,0x00C8,0x00CD,0x00CE,0x00CF,0x00CC,0x00D3,0x00D4,
643 0xF8FF,0x00D2,0x00DA,0x00DB,0x00D9,0x0131,0x02C6,0x02DC,
644 0x00AF,0x02D8,0x02D9,0x02DA,0x00B8,0x02DD,0x02DB,0x02C7 } },
645 { RTL_TEXTENCODING_IBM_437
,
646 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
647 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
648 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
649 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
650 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
651 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
652 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
653 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
654 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
655 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
656 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
657 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
658 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
659 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
660 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
661 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
662 0x00c7,0x00fc,0x00e9,0x00e2,0x00e4,0x00e0,0x00e5,0x00e7,
663 0x00ea,0x00eb,0x00e8,0x00ef,0x00ee,0x00ec,0x00c4,0x00c5,
664 0x00c9,0x00e6,0x00c6,0x00f4,0x00f6,0x00f2,0x00fb,0x00f9,
665 0x00ff,0x00d6,0x00dc,0x00a2,0x00a3,0x00a5,0x20a7,0x0192,
666 0x00e1,0x00ed,0x00f3,0x00fa,0x00f1,0x00d1,0x00aa,0x00ba,
667 0x00bf,0x2310,0x00ac,0x00bd,0x00bc,0x00a1,0x00ab,0x00bb,
668 0x2591,0x2592,0x2593,0x2502,0x2524,0x2561,0x2562,0x2556,
669 0x2555,0x2563,0x2551,0x2557,0x255d,0x255c,0x255b,0x2510,
670 0x2514,0x2534,0x252c,0x251c,0x2500,0x253c,0x255e,0x255f,
671 0x255a,0x2554,0x2569,0x2566,0x2560,0x2550,0x256c,0x2567,
672 0x2568,0x2564,0x2565,0x2559,0x2558,0x2552,0x2553,0x256b,
673 0x256a,0x2518,0x250c,0x2588,0x2584,0x258c,0x2590,0x2580,
674 0x03b1,0x00df,0x0393,0x03c0,0x03a3,0x03c3,0x00b5,0x03c4,
675 0x03a6,0x0398,0x03a9,0x03b4,0x221e,0x03c6,0x03b5,0x2229,
676 0x2261,0x00b1,0x2265,0x2264,0x2320,0x2321,0x00f7,0x2248,
677 0x00b0,0x2219,0x00b7,0x221a,0x207f,0x00b2,0x25a0,0x00a0 } },
679 { RTL_TEXTENCODING_ASCII_US
,
680 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
681 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
682 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
683 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
684 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
685 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
686 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
687 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
688 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
689 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
690 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
691 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
692 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
693 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
694 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
695 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
696 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021, // !
697 0x02C6,0x2030,0x0160,0x2039,0x0152,0xFFFF,0x017D,0xFFFF, // !
698 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014, // !
699 0x02DC,0x2122,0x0161,0x203A,0x0153,0xFFFF,0x017E,0x0178, // !
700 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
701 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
702 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
703 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
704 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
705 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
706 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
707 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
708 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
709 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
710 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
711 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF } },
712 { RTL_TEXTENCODING_ISO_8859_1
,
713 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
714 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
715 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
716 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
717 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
718 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
719 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
720 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
721 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
722 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
723 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
724 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
725 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
726 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
727 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
728 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
729 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
730 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
731 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
732 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
733 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
734 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
735 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
736 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
737 0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,
738 0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
739 0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,
740 0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,
741 0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,
742 0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
743 0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,
744 0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF } },
745 { RTL_TEXTENCODING_ISO_8859_2
,
746 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
747 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
748 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
749 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
750 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
751 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
752 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
753 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
754 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
755 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
756 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
757 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
758 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
759 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
760 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
761 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
762 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
763 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
764 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
765 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
766 0x00A0,0x0104,0x02D8,0x0141,0x00A4,0x013D,0x015A,0x00A7,
767 0x00A8,0x0160,0x015E,0x0164,0x0179,0x00AD,0x017D,0x017B,
768 0x00B0,0x0105,0x02DB,0x0142,0x00B4,0x013E,0x015B,0x02C7,
769 0x00B8,0x0161,0x015F,0x0165,0x017A,0x02DD,0x017E,0x017C,
770 0x0154,0x00C1,0x00C2,0x0102,0x00C4,0x0139,0x0106,0x00C7,
771 0x010C,0x00C9,0x0118,0x00CB,0x011A,0x00CD,0x00CE,0x010E,
772 0x0110,0x0143,0x0147,0x00D3,0x00D4,0x0150,0x00D6,0x00D7,
773 0x0158,0x016E,0x00DA,0x0170,0x00DC,0x00DD,0x0162,0x00DF,
774 0x0155,0x00E1,0x00E2,0x0103,0x00E4,0x013A,0x0107,0x00E7,
775 0x010D,0x00E9,0x0119,0x00EB,0x011B,0x00ED,0x00EE,0x010F,
776 0x0111,0x0144,0x0148,0x00F3,0x00F4,0x0151,0x00F6,0x00F7,
777 0x0159,0x016F,0x00FA,0x0171,0x00FC,0x00FD,0x0163,0x02D9 } },
778 { RTL_TEXTENCODING_ISO_8859_3
,
779 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
780 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
781 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
782 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
783 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
784 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
785 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
786 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
787 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
788 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
789 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
790 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
791 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
792 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
793 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
794 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
795 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
796 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
797 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
798 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
799 0x00A0,0x0126,0x02D8,0x00A3,0x00A4,0xFFFF,0x0124,0x00A7,
800 0x00A8,0x0130,0x015E,0x011E,0x0134,0x00AD,0xFFFF,0x017B,
801 0x00B0,0x0127,0x00B2,0x00B3,0x00B4,0x00B5,0x0125,0x00B7,
802 0x00B8,0x0131,0x015F,0x011F,0x0135,0x00BD,0xFFFF,0x017C,
803 0x00C0,0x00C1,0x00C2,0xFFFF,0x00C4,0x010A,0x0108,0x00C7,
804 0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,
805 0xFFFF,0x00D1,0x00D2,0x00D3,0x00D4,0x0120,0x00D6,0x00D7,
806 0x011C,0x00D9,0x00DA,0x00DB,0x00DC,0x016C,0x015C,0x00DF,
807 0x00E0,0x00E1,0x00E2,0xFFFF,0x00E4,0x010B,0x0109,0x00E7,
808 0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,
809 0xFFFF,0x00F1,0x00F2,0x00F3,0x00F4,0x0121,0x00F6,0x00F7,
810 0x011D,0x00F9,0x00FA,0x00FB,0x00FC,0x016D,0x015D,0x02D9 } },
812 { RTL_TEXTENCODING_ISO_8859_6
,
813 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
814 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
815 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
816 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
817 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
818 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
819 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
820 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
821 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
822 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
823 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
824 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
825 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
826 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
827 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
828 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
829 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
830 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
831 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
832 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
833 0x00A0,0xFFFF,0xFFFF,0xFFFF,0x00A4,0xFFFF,0xFFFF,0xFFFF,
834 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x060C,0x00AD,0xFFFF,0xFFFF,
835 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
836 0xFFFF,0xFFFF,0xFFFF,0x061B,0xFFFF,0xFFFF,0xFFFF,0x061F,
837 0xFFFF,0x0621,0x0622,0x0623,0x0624,0x0625,0x0626,0x0627,
838 0x0628,0x0629,0x062A,0x062B,0x062C,0x062D,0x062E,0x062F,
839 0x0630,0x0631,0x0632,0x0633,0x0634,0x0635,0x0636,0x0637,
840 0x0638,0x0639,0x063A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
841 0x0640,0x0641,0x0642,0x0643,0x0644,0x0645,0x0646,0x0647,
842 0x0648,0x0649,0x064A,0x064B,0x064C,0x064D,0x064E,0x064F,
843 0x0650,0x0651,0x0652,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
844 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF } },
846 { RTL_TEXTENCODING_ISO_8859_8
,
847 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
848 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
849 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
850 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
851 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
852 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
853 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
854 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
855 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
856 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
857 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
858 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
859 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
860 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
861 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
862 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
863 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
864 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
865 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
866 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
867 0x00A0,0xFFFF,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
868 0x00A8,0x00A9,0x00D7,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
869 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
870 0x00B8,0x00B9,0x00F7,0x00BB,0x00BC,0x00BD,0x00BE,0xFFFF,
871 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
872 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
873 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
874 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x2017,
875 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
876 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
877 0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7,
878 0x05E8,0x05E9,0x05EA,0xFFFF,0xFFFF,0x200E,0x200F,0xFFFF } },
880 { RTL_TEXTENCODING_TIS_620
,
881 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
882 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
883 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
884 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
885 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
886 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
887 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
888 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
889 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
890 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
891 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
892 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
893 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
894 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
895 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
896 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
897 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,
898 0x0088,0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,
899 0x0090,0x0091,0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,
900 0x0098,0x0099,0x009A,0x009B,0x009C,0x009D,0x009E,0x009F,
901 0x00A0,0x0E01,0x0E02,0x0E03,0x0E04,0x0E05,0x0E06,0x0E07, // !
902 0x0E08,0x0E09,0x0E0A,0x0E0B,0x0E0C,0x0E0D,0x0E0E,0x0E0F,
903 0x0E10,0x0E11,0x0E12,0x0E13,0x0E14,0x0E15,0x0E16,0x0E17,
904 0x0E18,0x0E19,0x0E1A,0x0E1B,0x0E1C,0x0E1D,0x0E1E,0x0E1F,
905 0x0E20,0x0E21,0x0E22,0x0E23,0x0E24,0x0E25,0x0E26,0x0E27,
906 0x0E28,0x0E29,0x0E2A,0x0E2B,0x0E2C,0x0E2D,0x0E2E,0x0E2F,
907 0x0E30,0x0E31,0x0E32,0x0E33,0x0E34,0x0E35,0x0E36,0x0E37,
908 0x0E38,0x0E39,0x0E3A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0E3F,
909 0x0E40,0x0E41,0x0E42,0x0E43,0x0E44,0x0E45,0x0E46,0x0E47,
910 0x0E48,0x0E49,0x0E4A,0x0E4B,0x0E4C,0x0E4D,0x0E4E,0x0E4F,
911 0x0E50,0x0E51,0x0E52,0x0E53,0x0E54,0x0E55,0x0E56,0x0E57,
912 0x0E58,0x0E59,0x0E5A,0x0E5B,0xFFFF,0xFFFF,0xFFFF,0xFFFF } },
913 { RTL_TEXTENCODING_MS_874
,
914 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
915 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
916 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
917 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
918 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
919 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
920 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
921 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
922 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
923 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
924 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
925 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
926 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
927 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
928 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
929 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
930 0x20AC,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x2026,0xFFFF,0xFFFF,
931 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
932 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
933 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
934 0x00A0,0x0E01,0x0E02,0x0E03,0x0E04,0x0E05,0x0E06,0x0E07,
935 0x0E08,0x0E09,0x0E0A,0x0E0B,0x0E0C,0x0E0D,0x0E0E,0x0E0F,
936 0x0E10,0x0E11,0x0E12,0x0E13,0x0E14,0x0E15,0x0E16,0x0E17,
937 0x0E18,0x0E19,0x0E1A,0x0E1B,0x0E1C,0x0E1D,0x0E1E,0x0E1F,
938 0x0E20,0x0E21,0x0E22,0x0E23,0x0E24,0x0E25,0x0E26,0x0E27,
939 0x0E28,0x0E29,0x0E2A,0x0E2B,0x0E2C,0x0E2D,0x0E2E,0x0E2F,
940 0x0E30,0x0E31,0x0E32,0x0E33,0x0E34,0x0E35,0x0E36,0x0E37,
941 0x0E38,0x0E39,0x0E3A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0E3F,
942 0x0E40,0x0E41,0x0E42,0x0E43,0x0E44,0x0E45,0x0E46,0x0E47,
943 0x0E48,0x0E49,0x0E4A,0x0E4B,0x0E4C,0x0E4D,0x0E4E,0x0E4F,
944 0x0E50,0x0E51,0x0E52,0x0E53,0x0E54,0x0E55,0x0E56,0x0E57,
945 0x0E58,0x0E59,0x0E5A,0x0E5B,0xFFFF,0xFFFF,0xFFFF,0xFFFF } },
946 { RTL_TEXTENCODING_MS_1255
,
947 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
948 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
949 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
950 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
951 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
952 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
953 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
954 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
955 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
956 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
957 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
958 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
959 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
960 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
961 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
962 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
963 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
964 0x02C6,0x2030,0xFFFF,0x2039,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
965 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
966 0x02DC,0x2122,0xFFFF,0x203A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
967 0x00A0,0x00A1,0x00A2,0x00A3,0x20AA,0x00A5,0x00A6,0x00A7,
968 0x00A8,0x00A9,0x00D7,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
969 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
970 0x00B8,0x00B9,0x00F7,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
971 0x05B0,0x05B1,0x05B2,0x05B3,0x05B4,0x05B5,0x05B6,0x05B7,
972 0x05B8,0x05B9,0xFFFF,0x05BB,0x05BC,0x05BD,0x05BE,0x05BF,
973 0x05C0,0x05C1,0x05C2,0x05C3,0x05F0,0x05F1,0x05F2,0x05F3,
974 0x05F4,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
975 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
976 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
977 0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7,
978 0x05E8,0x05E9,0x05EA,0xFFFF,0xFFFF,0x200E,0x200F,0xFFFF } },
979 { RTL_TEXTENCODING_MS_1256
,
980 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
981 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
982 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
983 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
984 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
985 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
986 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
987 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
988 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
989 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
990 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
991 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
992 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
993 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
994 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
995 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
996 0x20AC,0x067E,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
997 0x02C6,0x2030,0x0679,0x2039,0x0152,0x0686,0x0698,0x0688,
998 0x06AF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
999 0x06A9,0x2122,0x0691,0x203A,0x0153,0x200C,0x200D,0x06BA,
1000 0x00A0,0x060C,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
1001 0x00A8,0x00A9,0x06BE,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
1002 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
1003 0x00B8,0x00B9,0x061B,0x00BB,0x00BC,0x00BD,0x00BE,0x061F,
1004 0x06C1,0x0621,0x0622,0x0623,0x0624,0x0625,0x0626,0x0627,
1005 0x0628,0x0629,0x062A,0x062B,0x062C,0x062D,0x062E,0x062F,
1006 0x0630,0x0631,0x0632,0x0633,0x0634,0x0635,0x0636,0x00D7,
1007 0x0637,0x0638,0x0639,0x063A,0x0640,0x0641,0x0642,0x0643,
1008 0x00E0,0x0644,0x00E2,0x0645,0x0646,0x0647,0x0648,0x00E7,
1009 0x00E8,0x00E9,0x00EA,0x00EB,0x0649,0x064A,0x00EE,0x00EF,
1010 0x064B,0x064C,0x064D,0x064E,0x00F4,0x064F,0x0650,0x00F7,
1011 0x0651,0x00F9,0x0652,0x00FB,0x00FC,0x200E,0x200F,0x06D2 } },
1012 { RTL_TEXTENCODING_MS_1257
,
1013 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
1014 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
1015 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
1016 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
1017 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
1018 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1019 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1020 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1021 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1022 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1023 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1024 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1025 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1026 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1027 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1028 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
1029 0x20AC,0xFFFF,0x201A,0xFFFF,0x201E,0x2026,0x2020,0x2021,
1030 0xFFFF,0x2030,0xFFFF,0x2039,0xFFFF,0x00A8,0x02C7,0x00B8,
1031 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
1032 0xFFFF,0x2122,0xFFFF,0x203A,0xFFFF,0x00AF,0x02DB,0xFFFF,
1033 0x00A0,0xFFFF,0x00A2,0x00A3,0x00A4,0xFFFF,0x00A6,0x00A7,
1034 0x00D8,0x00A9,0x0156,0x00AB,0x00AC,0x00AD,0x00AE,0x00C6,
1035 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
1036 0x00F8,0x00B9,0x0157,0x00BB,0x00BC,0x00BD,0x00BE,0x00E6,
1037 0x0104,0x012E,0x0100,0x0106,0x00C4,0x00C5,0x0118,0x0112,
1038 0x010C,0x00C9,0x0179,0x0116,0x0122,0x0136,0x012A,0x013B,
1039 0x0160,0x0143,0x0145,0x00D3,0x014C,0x00D5,0x00D6,0x00D7,
1040 0x0172,0x0141,0x015A,0x016A,0x00DC,0x017B,0x017D,0x00DF,
1041 0x0105,0x012F,0x0101,0x0107,0x00E4,0x00E5,0x0119,0x0113,
1042 0x010D,0x00E9,0x017A,0x0117,0x0123,0x0137,0x012B,0x013C,
1043 0x0161,0x0144,0x0146,0x00F3,0x014D,0x00F5,0x00F6,0x00F7,
1044 0x0173,0x0142,0x015B,0x016B,0x00FC,0x017C,0x017E,0x02D9 } },
1045 { RTL_TEXTENCODING_MS_1258
,
1046 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
1047 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
1048 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
1049 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
1050 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
1051 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1052 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1053 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1054 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1055 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1056 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1057 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1058 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1059 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1060 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1061 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
1062 0x20AC,0xFFFF,0x201A,0x0192,0x201E,0x2026,0x2020,0x2021,
1063 0x02C6,0x2030,0xFFFF,0x2039,0x0152,0xFFFF,0xFFFF,0xFFFF,
1064 0xFFFF,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
1065 0x02DC,0x2122,0xFFFF,0x203A,0x0153,0xFFFF,0xFFFF,0x0178,
1066 0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,
1067 0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,
1068 0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,
1069 0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,
1070 0x00C0,0x00C1,0x00C2,0x0102,0x00C4,0x00C5,0x00C6,0x00C7,
1071 0x00C8,0x00C9,0x00CA,0x00CB,0x0300,0x00CD,0x00CE,0x00CF,
1072 0x0110,0x00D1,0x0309,0x00D3,0x00D4,0x01A0,0x00D6,0x00D7,
1073 0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x01AF,0x0303,0x00DF,
1074 0x00E0,0x00E1,0x00E2,0x0103,0x00E4,0x00E5,0x00E6,0x00E7,
1075 0x00E8,0x00E9,0x00EA,0x00EB,0x0301,0x00ED,0x00EE,0x00EF,
1076 0x0111,0x00F1,0x0323,0x00F3,0x00F4,0x01A1,0x00F6,0x00F7,
1077 0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x01B0,0x20AB,0x00FF } },
1078 { RTL_TEXTENCODING_KOI8_U
, // RFC 2319
1079 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
1080 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
1081 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
1082 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
1083 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
1084 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1085 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1086 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1087 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1088 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1089 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1090 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1091 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1092 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1093 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1094 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
1095 0x2500,0x2502,0x250C,0x2510,0x2514,0x2518,0x251C,0x2524,
1096 0x252C,0x2534,0x253C,0x2580,0x2584,0x2588,0x258C,0x2590,
1097 0x2591,0x2592,0x2593,0x2320,0x25A0,0x2219,0x221A,0x2248,
1098 0x2264,0x2265,0x00A0,0x2321,0x00B0,0x00B2,0x00B7,0x00F7,
1099 0x2550,0x2551,0x2552,0x0451,0x0454,0x2554,0x0456,0x0457,
1100 0x2557,0x2558,0x2559,0x255A,0x255B,0x0491,0x255D,0x255E,
1101 0x255F,0x2560,0x2561,0x0401,0x0404,0x2563,0x0406,0x0407,
1102 0x2566,0x2567,0x2568,0x2569,0x256A,0x0490,0x256C,0x00A9,
1103 0x044E,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
1104 0x0445,0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,
1105 0x043F,0x044F,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
1106 0x044C,0x044B,0x0437,0x0448,0x044D,0x0449,0x0447,0x044A,
1107 0x042E,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
1108 0x0425,0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,
1109 0x041F,0x042F,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
1110 0x042C,0x042B,0x0417,0x0428,0x042D,0x0429,0x0427,0x042A } },
1111 { RTL_TEXTENCODING_ISCII_DEVANAGARI
,
1112 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
1113 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
1114 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
1115 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
1116 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
1117 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1118 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1119 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1120 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1121 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1122 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1123 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1124 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1125 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1126 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1127 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
1128 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1129 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1130 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1131 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1132 0xFFFF,0x0901,0x0902,0x0903,0x0905,0x0906,0x0907,0x0908,
1133 0x0909,0x090A,0x090B,0x090E,0x090F,0x0910,0x090D,0x0912,
1134 0x0913,0x0914,0x0911,0x0915,0x0916,0x0917,0x0918,0x0919,
1135 0x091A,0x091B,0x091C,0x091D,0x091E,0x091F,0x0920,0x0921,
1136 0x0922,0x0923,0x0924,0x0925,0x0926,0x0927,0x0928,0x0929,
1137 0x092A,0x092B,0x092C,0x092D,0x092E,0x092F,0x095F,0x0930,
1138 0x0931,0x0932,0x0933,0x0934,0x0935,0x0936,0x0937,0x0938,
1139 0x0939,0xFFFF,0x093E,0x093F,0x0940,0x0941,0x0942,0x0943,
1140 0x0946,0x0947,0x0948,0x0945,0x094A,0x094B,0x094C,0x0949,
1141 0x094D,0x093C,0x0964,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1142 0xFFFF,0x0966,0x0967,0x0968,0x0969,0x096A,0x096B,0x096C,
1143 0x096D,0x096E,0x096F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF } },
1144 { RTL_TEXTENCODING_ADOBE_STANDARD
,
1145 { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1146 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1147 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1148 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1149 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x2019,
1150 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1151 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1152 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1153 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1154 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1155 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1156 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1157 0x2018,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1158 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1159 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1160 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0xFFFF,
1161 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1162 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1163 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1164 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1165 0xFFFF,0x00A1,0x00A2,0x00A3,0x2215,0x00A5,0x0192,0x00A7,
1166 0x00A4,0x0027,0x201C,0x00AB,0x2039,0x203A,0xFB01,0xFB02,
1167 0xFFFF,0x2013,0x2020,0x2021,0x00B7,0xFFFF,0x00B6,0x2022,
1168 0x201A,0x201E,0x201D,0x00BB,0x2026,0x2030,0xFFFF,0x00BF,
1169 0xFFFF,0x0060,0x00B4,0x02C6,0x02DC,0x00AF,0x02D8,0x02D9,
1170 0x00A8,0xFFFF,0x02DA,0x00B8,0xFFFF,0x02DD,0x02DB,0x02C7,
1171 0x2014,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1172 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1173 0xFFFF,0x00C6,0xFFFF,0x00AA,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1174 0x0141,0x00D8,0x0152,0x00BA,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1175 0xFFFF,0x00E6,0xFFFF,0xFFFF,0xFFFF,0x0131,0xFFFF,0xFFFF,
1176 0x0142,0x00F8,0x0153,0x00DF,0xFFFF,0xFFFF,0xFFFF,0xFFFF } },
1177 { RTL_TEXTENCODING_ADOBE_SYMBOL
,
1178 { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1179 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1180 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1181 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1182 0x0020,0x0021,0x2200,0x0023,0x2203,0x0025,0x0026,0x220B,
1183 0x0028,0x0029,0x2217,0x002B,0x002C,0x2212,0x002E,0x002F,
1184 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1185 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1186 0x2245,0x0391,0x0392,0x03A7,0x0394,0x0395,0x03A6,0x0393,
1187 0x0397,0x0399,0x03D1,0x039A,0x039B,0x039C,0x039D,0x039F,
1188 0x03A0,0x0398,0x03A1,0x03A3,0x03A4,0x03A5,0x03C2,0x03A9,
1189 0x039E,0x03A8,0x0396,0x005B,0x2234,0x005D,0x22A5,0x005F,
1190 0xF8E5,0x03B1,0x03B2,0x03C7,0x03B4,0x03B5,0x03C6,0x03B3,
1191 0x03B7,0x03B9,0x03D5,0x03BA,0x03BB,0x03BC,0x03BD,0x03BF,
1192 0x03C0,0x03B8,0x03C1,0x03C3,0x03C4,0x03C5,0x03D6,0x03C9,
1193 0x03BE,0x03C8,0x03B6,0x007B,0x007C,0x007D,0x223C,0xFFFF,
1194 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1195 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1196 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1197 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1198 0x20AC,0x03D2,0x2032,0x2264,0x2215,0x221E,0x0192,0x2663,
1199 0x2666,0x2665,0x2660,0x2194,0x2190,0x2191,0x2192,0x2193,
1200 0x00B0,0x00B1,0x2033,0x2265,0x00D7,0x221D,0x2202,0x2022,
1201 0x00F7,0x2260,0x2261,0x2248,0x2026,0x23AF,0x23D0,0x21B5,
1202 0x2135,0x2111,0x211C,0x2118,0x2297,0x2295,0x2205,0x2229,
1203 0x222A,0x2283,0x2287,0x2284,0x2282,0x2286,0x2208,0x2209,
1204 0x2220,0x2207,0xF6DA,0xF6D9,0xF6DB,0x220F,0x221A,0x22C5,
1205 0x00AC,0x2227,0x2228,0x21D4,0x21D0,0x21D1,0x21D2,0x21D3,
1206 0x25CA,0x2329,0xF8E8,0xF8E9,0xF8EA,0x2211,0x239B,0x239C,
1207 0x239D,0x23A1,0x23A2,0x23A3,0x23A7,0x23A8,0x23A9,0x23AA,
1208 0xFFFF,0x232A,0x222B,0x2320,0x23AE,0x2321,0x239E,0x239F,
1209 0x23A0,0x23A4,0x23A5,0x23A6,0x23AB,0x23AC,0x23AD,0xFFFF } },
1210 { RTL_TEXTENCODING_ADOBE_DINGBATS
,
1211 { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1212 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1213 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1214 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1216 0x0020,0x2701,0x2702,0x2703,0x2704,0x260E,0x2706,0x2707,
1217 0x2708,0x2709,0x261B,0x261E,0x270C,0x270D,0x270E,0x270F,
1218 0x2710,0x2711,0x2712,0x2713,0x2714,0x2715,0x2716,0x2717,
1219 0x2718,0x2719,0x271A,0x271B,0x271C,0x271D,0x271E,0x271F,
1221 0x2720,0x2721,0x2722,0x2723,0x2724,0x2725,0x2726,0x2727,
1222 0x2605,0x2729,0x272A,0x272B,0x272C,0x272D,0x272E,0x272F,
1223 0x2730,0x2731,0x2732,0x2733,0x2734,0x2735,0x2736,0x2737,
1224 0x2738,0x2739,0x273A,0x273B,0x273C,0x273D,0x273E,0x273F,
1226 0x2740,0x2741,0x2742,0x2743,0x2744,0x2745,0x2746,0x2747,
1227 0x2748,0x2749,0x274A,0x274B,0x27CF,0x274D,0x25A0,0x274F,
1228 0x2750,0x2751,0x2752,0x25B2,0x25BC,0x25C6,0x2756,0x25D7,
1229 0x2758,0x2759,0x275A,0x275B,0x275C,0x275D,0x275E,0xFFFF,
1231 0xF8D7,0xF8D8,0xF8D9,0xF8DA,0xF8DB,0xF8DC,0xF8DD,0xF8DE,
1232 0xF8DF,0xF8E0,0xF8E1,0xF8E2,0xF8E3,0xF8E4,0xFFFF,0xFFFF,
1233 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1234 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
1236 0xFFFF,0x2761,0x2762,0x2763,0x2764,0x2765,0x2766,0x2767,
1237 0x2663,0x2666,0x2665,0x2660,0x2460,0x2461,0x2462,0x2463,
1238 0x2464,0x2465,0x2466,0x2467,0x2468,0x2469,0x2776,0x2777,
1239 0x2778,0x2779,0x277A,0x277B,0x277C,0x277D,0x277E,0x277F,
1241 0x2780,0x2781,0x2782,0x2783,0x2784,0x2785,0x2786,0x2787,
1242 0x2788,0x2789,0x278A,0x278B,0x278C,0x278D,0x278E,0x278F,
1243 0x2790,0x2791,0x2792,0x2793,0x2794,0x2795,0x2796,0x2797,
1244 0x2798,0x2799,0x279A,0x279B,0x279C,0x279D,0x279E,0x279F,
1246 0x27A0,0x27A1,0x27A2,0x27A3,0x27A4,0x27A5,0x27A6,0x27A7,
1247 0x27A8,0x27A9,0x27AA,0x27AB,0x27AC,0x27AD,0x27AE,0x27AF,
1248 0xFFFF,0x27B1,0x27B2,0x27B3,0x27B4,0x27B5,0x27B6,0x27B7,
1249 0x27B8,0x27B9,0x27BA,0x27BB,0x27BC,0x27BD,0x27BE,0xFFFF } },
1250 { RTL_TEXTENCODING_PT154
,
1251 { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
1252 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
1253 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017,
1254 0x0018,0x0019,0x001A,0x001B,0x001C,0x001D,0x001E,0x001F,
1255 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,
1256 0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,
1257 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,
1258 0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,
1259 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,
1260 0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,
1261 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,
1262 0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,
1263 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,
1264 0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,
1265 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,
1266 0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x007F,
1267 0x0496,0x0492,0x04EE,0x0493,0x201E,0x2026,0x04B6,0x04AE,
1268 0x04B2,0x04AF,0x04A0,0x04E2,0x04A2,0x049A,0x04BA,0x04B8,
1269 0x0497,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,
1270 0x04B3,0x04B7,0x04A1,0x04E3,0x04A3,0x049B,0x04BB,0x04B9,
1271 0x00A0,0x040E,0x045E,0x0408,0x04E8,0x0498,0x04B0,0x00A7,
1272 0x0401,0x00A9,0x04D8,0x00AB,0x00AC,0x04EF,0x00AE,0x049C,
1273 0x00B0,0x04B1,0x0406,0x0456,0x0499,0x04E9,0x00B6,0x00B7,
1274 0x0451,0x2116,0x04D9,0x00BB,0x0458,0x04AA,0x04AB,0x049D,
1275 0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
1276 0x0418,0x0419,0x041A,0x041B,0x041C,0x041D,0x041E,0x041F,
1277 0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
1278 0x0428,0x0429,0x042A,0x042B,0x042C,0x042D,0x042E,0x042F,
1279 0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
1280 0x0438,0x0439,0x043A,0x043B,0x043C,0x043D,0x043E,0x043F,
1281 0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
1282 0x0448,0x0449,0x044A,0x044B,0x044C,0x044D,0x044E,0x044F } } };
1283 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
1284 testSingleByteCharSet(data
[i
]);
1288 void Test::testComplex() {
1289 static ComplexCharSetTest
const data
[]
1290 = { { RTL_TEXTENCODING_ASCII_US
,
1291 RTL_CONSTASCII_STRINGPARAM("\x01\"3De$~"),
1292 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E },
1298 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1299 { RTL_TEXTENCODING_EUC_CN
,
1300 RTL_CONSTASCII_STRINGPARAM("\x01\"3De$~\xA1\xB9\xF0\xC5"),
1301 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E,
1308 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1309 { RTL_TEXTENCODING_EUC_TW
,
1310 RTL_CONSTASCII_STRINGPARAM(
1311 "\x01\"3De$~\xC5\xF0\x8E\xA4\xDC\xD9"),
1312 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E,
1313 0x4ED9,0xD87E,0xDD68 },
1319 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1320 { RTL_TEXTENCODING_GB_18030
,
1321 RTL_CONSTASCII_STRINGPARAM("\x01\"3De$~"),
1322 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E },
1328 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1329 { RTL_TEXTENCODING_GB_18030
,
1330 RTL_CONSTASCII_STRINGPARAM("\x81\x40\xFE\xFE"),
1337 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1338 { RTL_TEXTENCODING_GB_18030
,
1339 RTL_CONSTASCII_STRINGPARAM(
1340 "\x81\x30\xB1\x33\x81\x30\xD3\x30\x81\x36\xA5\x31"),
1341 { 0x028A,0x0452,0x200F },
1347 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1348 { RTL_TEXTENCODING_GB_18030
,
1349 RTL_CONSTASCII_STRINGPARAM(
1350 "\xFE\x50\xFE\x51\xFE\x52\xFE\x53\xFE\x54\xFE\x55\xFE\x56"
1351 "\xFE\x57\xFE\x58\xFE\x59\xFE\x5A\xFE\x5B\xFE\x5C\xFE\x5D"
1352 "\xFE\x5E\xFE\x5F\xFE\x60\xFE\x61\xFE\x62\xFE\x63\xFE\x64"
1353 "\xFE\x65\xFE\x66\xFE\x67\xFE\x68\xFE\x69\xFE\x6A\xFE\x6B"
1354 "\xFE\x6C\xFE\x6D\xFE\x6E\xFE\x6F\xFE\x70\xFE\x71\xFE\x72"
1355 "\xFE\x73\xFE\x74\xFE\x75\xFE\x76\xFE\x77\xFE\x78\xFE\x79"
1356 "\xFE\x7A\xFE\x7B\xFE\x7C\xFE\x7D\xFE\x7E\xFE\x80\xFE\x81"
1357 "\xFE\x82\xFE\x83\xFE\x84\xFE\x85\xFE\x86\xFE\x87\xFE\x88"
1358 "\xFE\x89\xFE\x8A\xFE\x8B\xFE\x8C\xFE\x8D\xFE\x8E\xFE\x8F"
1359 "\xFE\x90\xFE\x91\xFE\x92\xFE\x93\xFE\x94\xFE\x95\xFE\x96"
1360 "\xFE\x97\xFE\x98\xFE\x99\xFE\x9A\xFE\x9B\xFE\x9C\xFE\x9D"
1361 "\xFE\x9E\xFE\x9F\xFE\xA0"),
1362 { 0x2E81,0xE816,0xE817,0xE818,0x2E84,0x3473,0x3447,0x2E88,
1363 0x2E8B,0xE81E,0x359E,0x361A,0x360E,0x2E8C,0x2E97,0x396E,
1364 0x3918,0xE826,0x39CF,0x39DF,0x3A73,0x39D0,0xE82B,0xE82C,
1365 0x3B4E,0x3C6E,0x3CE0,0x2EA7,0xE831,0xE832,0x2EAA,0x4056,
1366 0x415F,0x2EAE,0x4337,0x2EB3,0x2EB6,0x2EB7,0xE83B,0x43B1,
1367 0x43AC,0x2EBB,0x43DD,0x44D6,0x4661,0x464C,0xE843,0x4723,
1368 0x4729,0x477C,0x478D,0x2ECA,0x4947,0x497A,0x497D,0x4982,
1369 0x4983,0x4985,0x4986,0x499F,0x499B,0x49B7,0x49B6,0xE854,
1370 0xE855,0x4CA3,0x4C9F,0x4CA0,0x4CA1,0x4C77,0x4CA2,0x4D13,
1371 0x4D14,0x4D15,0x4D16,0x4D17,0x4D18,0x4D19,0x4DAE,0xE864 },
1377 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1378 { RTL_TEXTENCODING_ISO_2022_JP
,
1379 RTL_CONSTASCII_STRINGPARAM("\x01\"3De$\\~"),
1380 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E },
1386 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1387 { RTL_TEXTENCODING_ISO_2022_JP
,
1388 RTL_CONSTASCII_STRINGPARAM("\x1B(B\x01\"3De$\\~"),
1389 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E },
1395 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1396 { RTL_TEXTENCODING_ISO_2022_JP
,
1397 RTL_CONSTASCII_STRINGPARAM("\x1B(J\x01\"3De$\\~"),
1398 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x00A5,0x00AF },
1404 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1405 { RTL_TEXTENCODING_ISO_2022_JP
,
1406 RTL_CONSTASCII_STRINGPARAM("\x1B$B\x26\x21\x27\x71\x1B(B"),
1413 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1414 { RTL_TEXTENCODING_ISO_2022_KR
,
1415 RTL_CONSTASCII_STRINGPARAM("\x1B$)C\x01\"3De$\\~"),
1416 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E },
1422 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1423 { RTL_TEXTENCODING_ISO_2022_KR
,
1424 RTL_CONSTASCII_STRINGPARAM(
1425 "\x1B$)C\x0E\x25\x21\x0F\x0D\x0Ax\x0E\x48\x7E\x0F"),
1426 { 0x2170,0x000D,0x000A,0x0078,0xD79D },
1432 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1433 { RTL_TEXTENCODING_ISO_2022_CN
,
1434 RTL_CONSTASCII_STRINGPARAM(
1435 "\x01\"3De$\\~\x1B$)G\x0E\x45\x70\x1B$*H\x1BN\x22\x22"
1436 "\x45\x70\x0F\x1B$)A\x0E\x26\x21\x0F"),
1437 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E,
1438 0x4ED9,0x531F,0x4ED9,0x0391 },
1444 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1445 { RTL_TEXTENCODING_ISO_2022_CN
,
1446 RTL_CONSTASCII_STRINGPARAM(
1447 "\x01\"3De$\\~\x1B$)A\x0E\x26\x21\x1B$*H\x1BN\x22\x22"
1448 "\x26\x21\x0F\x0D\x0A\x1B$)A\x0E\x26\x21\x0F"),
1449 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x005C,0x007E,
1450 0x0391,0x531F,0x0391,0x000D,0x000A,0x0391 },
1456 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1457 // The following does not work as long as Big5-HKSCS maps to
1458 // Unicode PUA instead of Plane 2. Use the next two tests
1460 // { RTL_TEXTENCODING_BIG5_HKSCS,
1461 // RTL_CONSTASCII_STRINGPARAM(
1462 // "\x01\"3De$~\x88\x56\xF9\xFE\xFA\x5E\xA1\x40\xF9\xD5"),
1463 // { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E,0x0100,
1464 // 0xFFED,0xD849,0xDD13,0x3000,0x9F98 },
1470 // RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR },
1471 { RTL_TEXTENCODING_BIG5_HKSCS
,
1472 RTL_CONSTASCII_STRINGPARAM(
1473 "\x01\"3De$~\x88\x56\xF9\xFE\xFA\x5E\xA1\x40\xF9\xD5"),
1474 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E,0x0100,
1475 0xFFED,0xE01E,0x3000,0x9F98 },
1481 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1482 { RTL_TEXTENCODING_BIG5_HKSCS
,
1483 RTL_CONSTASCII_STRINGPARAM(
1484 "\x01\"3De$~\x88\x56\xF9\xFE\xFA\x5E\xA1\x40\xF9\xD5"),
1485 { 0x0001,0x0022,0x0033,0x0044,0x0065,0x0024,0x007E,0x0100,
1486 0xFFED,0xD849,0xDD13,0x3000,0x9F98 },
1492 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1493 { RTL_TEXTENCODING_BIG5_HKSCS
,
1494 RTL_CONSTASCII_STRINGPARAM(
1495 "\xC6\xA1\xC6\xCF\xC6\xD3\xC6\xD5\xC6\xD7\xC6\xDE\xC6\xDF"
1496 "\xC6\xFE\xC7\x40\xC7\x7E\xC7\xA1\xC7\xFE"),
1497 { 0x2460,0xF6E0,0xF6E4,0xF6E6,0xF6E8,0xF6EF,0xF6F0,0x3058,
1498 0x3059,0x30A4,0x30A5,0x041A },
1504 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1505 { RTL_TEXTENCODING_BIG5_HKSCS
,
1506 RTL_CONSTASCII_STRINGPARAM("\x81\x40\x84\xFE"),
1513 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1514 { RTL_TEXTENCODING_BIG5_HKSCS
,
1515 RTL_CONSTASCII_STRINGPARAM(
1516 "\x81\x40\x8D\xFE\x8E\x40\xA0\xFE\xC6\xA1\xC8\xFE\xFA\x40"
1518 { 0xEEB8,0xF6B0,0xE311,0xEEB7,0xF6B1,0xF848,0xE000,0xE310 },
1524 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1525 { RTL_TEXTENCODING_BIG5_HKSCS
,
1526 RTL_CONSTASCII_STRINGPARAM("\xAD\xC5\x94\x55"),
1533 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1534 { RTL_TEXTENCODING_BIG5_HKSCS
,
1535 RTL_CONSTASCII_STRINGPARAM("\xFA\x5F\xA0\xE4"),
1542 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1543 { RTL_TEXTENCODING_BIG5_HKSCS
,
1544 RTL_CONSTASCII_STRINGPARAM("\xA0\x40\xA0\x7E\xA0\xA1\xA0\xFE"),
1545 { 0xEE1B,0xEE59,0xEE5A,0xEEB7 },
1551 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1552 { RTL_TEXTENCODING_BIG5
,
1553 RTL_CONSTASCII_STRINGPARAM("\xA1\x45"),
1560 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1561 { RTL_TEXTENCODING_BIG5
,
1562 RTL_CONSTASCII_STRINGPARAM(
1563 "\xC6\xCF\xC6\xD3\xC6\xD5\xC6\xD7\xC6\xDE\xC6\xDF"),
1564 { 0x306B,0x306F,0x3071,0x3073,0x307A,0x307B },
1570 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1571 { RTL_TEXTENCODING_BIG5
,
1572 RTL_CONSTASCII_STRINGPARAM(
1573 "\xC7\xFD\xC7\xFE\xC8\x40\xC8\x7E\xC8\xA1\xC8\xFE"),
1574 { 0xF7AA,0xF7AB,0xF7AC,0xF7EA,0xF7EB,0xF848 },
1580 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1581 { RTL_TEXTENCODING_BIG5
,
1582 RTL_CONSTASCII_STRINGPARAM("\xA0\x40\xA0\x7E\xA0\xA1\xA0\xFE"),
1583 { 0xEE1B,0xEE59,0xEE5A,0xEEB7 },
1589 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1590 { RTL_TEXTENCODING_MS_950
,
1591 RTL_CONSTASCII_STRINGPARAM(
1592 "\xC6\xA1\xC6\xFE\xC7\x40\xC7\x7E\xC7\xA1\xC7\xFE\xC8\x40"
1593 "\xC8\x7E\xC8\xA1\xC8\xFE"),
1594 { 0xF6B1,0xF70E,0xF70F,0xF74D,0xF74E,0xF7AB,0xF7AC,0xF7EA,
1601 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1602 { RTL_TEXTENCODING_MS_950
,
1603 RTL_CONSTASCII_STRINGPARAM("\xA0\x40\xA0\x7E\xA0\xA1\xA0\xFE"),
1604 { 0xEE1B,0xEE59,0xEE5A,0xEEB7 },
1610 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1612 // Test Unicode beyond BMP:
1614 // FIXME The second m_bForward test (requiring a context) does not
1616 // { RTL_TEXTENCODING_UTF7,
1617 // RTL_CONSTASCII_STRINGPARAM("+2EndEw-"),
1618 // { 0xD849,0xDD13 },
1624 // RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR },
1625 { RTL_TEXTENCODING_UTF8
,
1626 RTL_CONSTASCII_STRINGPARAM("\xF0\xA2\x94\x93"),
1633 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1634 { RTL_TEXTENCODING_GB_18030
,
1635 RTL_CONSTASCII_STRINGPARAM("\x95\x39\xC5\x37"),
1642 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1643 { RTL_TEXTENCODING_BIG5_HKSCS
,
1644 RTL_CONSTASCII_STRINGPARAM("\xFA\x5E"),
1651 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1653 // Test GBK (aka CP936):
1655 { RTL_TEXTENCODING_GBK
,
1656 RTL_CONSTASCII_STRINGPARAM("\xFD\x7C\xC1\xFA\xFD\x9B"),
1657 { 0x9F76,0x9F99,0x9FA5 },
1663 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1664 { RTL_TEXTENCODING_MS_936
,
1665 RTL_CONSTASCII_STRINGPARAM("\xFD\x7C\xC1\xFA\xFD\x9B"),
1666 { 0x9F76,0x9F99,0x9FA5 },
1672 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1673 { RTL_TEXTENCODING_GBK
,
1674 RTL_CONSTASCII_STRINGPARAM(
1675 "\xFE\x50\xFE\x54\xFE\x55\xFE\x56"
1676 "\xFE\x57\xFE\x58\xFE\x5A\xFE\x5B\xFE\x5C\xFE\x5D"
1677 "\xFE\x5E\xFE\x5F\xFE\x60\xFE\x62\xFE\x63\xFE\x64"
1678 "\xFE\x65\xFE\x68\xFE\x69\xFE\x6A\xFE\x6B"
1679 "\xFE\x6E\xFE\x6F\xFE\x70\xFE\x71\xFE\x72"
1680 "\xFE\x73\xFE\x74\xFE\x75\xFE\x77\xFE\x78\xFE\x79"
1681 "\xFE\x7A\xFE\x7B\xFE\x7C\xFE\x7D\xFE\x80\xFE\x81"
1682 "\xFE\x82\xFE\x83\xFE\x84\xFE\x85\xFE\x86\xFE\x87\xFE\x88"
1683 "\xFE\x89\xFE\x8A\xFE\x8B\xFE\x8C\xFE\x8D\xFE\x8E\xFE\x8F"
1684 "\xFE\x92\xFE\x93\xFE\x94\xFE\x95\xFE\x96"
1685 "\xFE\x97\xFE\x98\xFE\x99\xFE\x9A\xFE\x9B\xFE\x9C\xFE\x9D"
1686 "\xFE\x9E\xFE\x9F"),
1687 { 0x2E81,0x2E84,0x3473,0x3447,0x2E88,0x2E8B,0x359E,0x361A,
1688 0x360E,0x2E8C,0x2E97,0x396E,0x3918,0x39CF,0x39DF,0x3A73,
1689 0x39D0,0x3B4E,0x3C6E,0x3CE0,0x2EA7,0x2EAA,0x4056,0x415F,
1690 0x2EAE,0x4337,0x2EB3,0x2EB6,0x2EB7,0x43B1,0x43AC,0x2EBB,
1691 0x43DD,0x44D6,0x4661,0x464C,0x4723,0x4729,0x477C,0x478D,
1692 0x2ECA,0x4947,0x497A,0x497D,0x4982,0x4983,0x4985,0x4986,
1693 0x499F,0x499B,0x49B7,0x49B6,0x4CA3,0x4C9F,0x4CA0,0x4CA1,
1694 0x4C77,0x4CA2,0x4D13,0x4D14,0x4D15,0x4D16,0x4D17,0x4D18,
1701 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1702 { RTL_TEXTENCODING_EUC_JP
,
1703 RTL_CONSTASCII_STRINGPARAM("?"),
1710 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_QUESTIONMARK
},
1712 // Test of "JIS X 0208 row 13" (taken from CP932; added to
1713 // ISO-2022-JP and EUC-JP; 74 of the 83 characters introduce
1714 // mappings to new Unicode characters):
1715 { RTL_TEXTENCODING_MS_932
,
1716 RTL_CONSTASCII_STRINGPARAM(
1717 "\x87\x40\x87\x41\x87\x42\x87\x43\x87\x44\x87\x45\x87\x46"
1718 "\x87\x47\x87\x48\x87\x49\x87\x4A\x87\x4B\x87\x4C\x87\x4D"
1719 "\x87\x4E\x87\x4F\x87\x50\x87\x51\x87\x52\x87\x53\x87\x54"
1720 "\x87\x55\x87\x56\x87\x57\x87\x58\x87\x59\x87\x5A\x87\x5B"
1721 "\x87\x5C\x87\x5D\x87\x5F\x87\x60\x87\x61\x87\x62\x87\x63"
1722 "\x87\x64\x87\x65\x87\x66\x87\x67\x87\x68\x87\x69\x87\x6A"
1723 "\x87\x6B\x87\x6C\x87\x6D\x87\x6E\x87\x6F\x87\x70\x87\x71"
1724 "\x87\x72\x87\x73\x87\x74\x87\x75\x87\x7E\x87\x80\x87\x81"
1725 "\x87\x82\x87\x83\x87\x84\x87\x85\x87\x86\x87\x87\x87\x88"
1726 "\x87\x89\x87\x8A\x87\x8B\x87\x8C\x87\x8D\x87\x8E\x87\x8F"
1727 "\x87\x90\x87\x91\x87\x92\x87\x93\x87\x94\x87\x95\x87\x96"
1728 "\x87\x97\x87\x98\x87\x99\x87\x9A\x87\x9B\x87\x9C"),
1729 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1730 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1731 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1732 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1733 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1734 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1735 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1736 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x2252,0x2261,
1737 0x222B,0x222E,0x2211,0x221A,0x22A5,0x2220,0x221F,0x22BF,0x2235,
1744 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1745 { RTL_TEXTENCODING_SHIFT_JIS
,
1746 RTL_CONSTASCII_STRINGPARAM(
1747 "\x87\x40\x87\x41\x87\x42\x87\x43\x87\x44\x87\x45\x87\x46"
1748 "\x87\x47\x87\x48\x87\x49\x87\x4A\x87\x4B\x87\x4C\x87\x4D"
1749 "\x87\x4E\x87\x4F\x87\x50\x87\x51\x87\x52\x87\x53\x87\x54"
1750 "\x87\x55\x87\x56\x87\x57\x87\x58\x87\x59\x87\x5A\x87\x5B"
1751 "\x87\x5C\x87\x5D\x87\x5F\x87\x60\x87\x61\x87\x62\x87\x63"
1752 "\x87\x64\x87\x65\x87\x66\x87\x67\x87\x68\x87\x69\x87\x6A"
1753 "\x87\x6B\x87\x6C\x87\x6D\x87\x6E\x87\x6F\x87\x70\x87\x71"
1754 "\x87\x72\x87\x73\x87\x74\x87\x75\x87\x7E\x87\x80\x87\x81"
1755 "\x87\x82\x87\x83\x87\x84\x87\x85\x87\x86\x87\x87\x87\x88"
1756 "\x87\x89\x87\x8A\x87\x8B\x87\x8C\x87\x8D\x87\x8E\x87\x8F"
1757 "\x87\x90\x87\x91\x87\x92\x87\x93\x87\x94\x87\x95\x87\x96"
1758 "\x87\x97\x87\x98\x87\x99\x87\x9A\x87\x9B\x87\x9C"),
1759 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1760 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1761 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1762 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1763 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1764 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1765 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1766 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x2252,0x2261,
1767 0x222B,0x222E,0x2211,0x221A,0x22A5,0x2220,0x221F,0x22BF,0x2235,
1774 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1775 { RTL_TEXTENCODING_ISO_2022_JP
,
1776 RTL_CONSTASCII_STRINGPARAM(
1777 "\x1B$B\x2D\x21\x2D\x22\x2D\x23\x2D\x24\x2D\x25\x2D\x26"
1778 "\x2D\x27\x2D\x28\x2D\x29\x2D\x2A\x2D\x2B\x2D\x2C\x2D\x2D"
1779 "\x2D\x2E\x2D\x2F\x2D\x30\x2D\x31\x2D\x32\x2D\x33\x2D\x34"
1780 "\x2D\x35\x2D\x36\x2D\x37\x2D\x38\x2D\x39\x2D\x3A\x2D\x3B"
1781 "\x2D\x3C\x2D\x3D\x2D\x3E\x2D\x40\x2D\x41\x2D\x42\x2D\x43"
1782 "\x2D\x44\x2D\x45\x2D\x46\x2D\x47\x2D\x48\x2D\x49\x2D\x4A"
1783 "\x2D\x4B\x2D\x4C\x2D\x4D\x2D\x4E\x2D\x4F\x2D\x50\x2D\x51"
1784 "\x2D\x52\x2D\x53\x2D\x54\x2D\x55\x2D\x56\x2D\x5F\x2D\x60"
1785 "\x2D\x61\x2D\x62\x2D\x63\x2D\x64\x2D\x65\x2D\x66\x2D\x67"
1786 "\x2D\x68\x2D\x69\x2D\x6A\x2D\x6B\x2D\x6C\x2D\x6D\x2D\x6E"
1787 "\x2D\x6F\x2D\x70\x2D\x71\x2D\x72\x2D\x73\x2D\x74\x2D\x75"
1788 "\x2D\x76\x2D\x77\x2D\x78\x2D\x79\x2D\x7A\x2D\x7B\x2D\x7C"
1790 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1791 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1792 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1793 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1794 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1795 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1796 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1797 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x2252,0x2261,
1798 0x222B,0x222E,0x2211,0x221A,0x22A5,0x2220,0x221F,0x22BF,0x2235,
1805 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1806 { RTL_TEXTENCODING_ISO_2022_JP
,
1807 RTL_CONSTASCII_STRINGPARAM(
1808 "\x1B$B\x2D\x21\x2D\x22\x2D\x23\x2D\x24\x2D\x25\x2D\x26"
1809 "\x2D\x27\x2D\x28\x2D\x29\x2D\x2A\x2D\x2B\x2D\x2C\x2D\x2D"
1810 "\x2D\x2E\x2D\x2F\x2D\x30\x2D\x31\x2D\x32\x2D\x33\x2D\x34"
1811 "\x2D\x35\x2D\x36\x2D\x37\x2D\x38\x2D\x39\x2D\x3A\x2D\x3B"
1812 "\x2D\x3C\x2D\x3D\x2D\x3E\x2D\x40\x2D\x41\x2D\x42\x2D\x43"
1813 "\x2D\x44\x2D\x45\x2D\x46\x2D\x47\x2D\x48\x2D\x49\x2D\x4A"
1814 "\x2D\x4B\x2D\x4C\x2D\x4D\x2D\x4E\x2D\x4F\x2D\x50\x2D\x51"
1815 "\x2D\x52\x2D\x53\x2D\x54\x2D\x55\x2D\x56\x2D\x5F\x2D\x60"
1816 "\x2D\x61\x2D\x62\x2D\x63\x2D\x64\x2D\x65\x2D\x66\x2D\x67"
1817 "\x2D\x68\x2D\x69\x2D\x6A\x2D\x6B\x2D\x6C\x2D\x6D\x2D\x6E"
1818 "\x2D\x6F\x2D\x73\x2D\x74\x2D\x78\x2D\x79\x1B(B"),
1819 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1820 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1821 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1822 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1823 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1824 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1825 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1826 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x222E,0x2211,
1833 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1834 { RTL_TEXTENCODING_EUC_JP
,
1835 RTL_CONSTASCII_STRINGPARAM(
1836 "\xAD\xA1\xAD\xA2\xAD\xA3\xAD\xA4\xAD\xA5\xAD\xA6\xAD\xA7"
1837 "\xAD\xA8\xAD\xA9\xAD\xAA\xAD\xAB\xAD\xAC\xAD\xAD\xAD\xAE"
1838 "\xAD\xAF\xAD\xB0\xAD\xB1\xAD\xB2\xAD\xB3\xAD\xB4\xAD\xB5"
1839 "\xAD\xB6\xAD\xB7\xAD\xB8\xAD\xB9\xAD\xBA\xAD\xBB\xAD\xBC"
1840 "\xAD\xBD\xAD\xBE\xAD\xC0\xAD\xC1\xAD\xC2\xAD\xC3\xAD\xC4"
1841 "\xAD\xC5\xAD\xC6\xAD\xC7\xAD\xC8\xAD\xC9\xAD\xCA\xAD\xCB"
1842 "\xAD\xCC\xAD\xCD\xAD\xCE\xAD\xCF\xAD\xD0\xAD\xD1\xAD\xD2"
1843 "\xAD\xD3\xAD\xD4\xAD\xD5\xAD\xD6\xAD\xDF\xAD\xE0\xAD\xE1"
1844 "\xAD\xE2\xAD\xE3\xAD\xE4\xAD\xE5\xAD\xE6\xAD\xE7\xAD\xE8"
1845 "\xAD\xE9\xAD\xEA\xAD\xEB\xAD\xEC\xAD\xED\xAD\xEE\xAD\xEF"
1846 "\xAD\xF0\xAD\xF1\xAD\xF2\xAD\xF3\xAD\xF4\xAD\xF5\xAD\xF6"
1847 "\xAD\xF7\xAD\xF8\xAD\xF9\xAD\xFA\xAD\xFB\xAD\xFC"),
1848 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1849 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1850 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1851 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1852 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1853 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1854 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1855 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x2252,0x2261,
1856 0x222B,0x222E,0x2211,0x221A,0x22A5,0x2220,0x221F,0x22BF,0x2235,
1863 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1864 { RTL_TEXTENCODING_EUC_JP
,
1865 RTL_CONSTASCII_STRINGPARAM(
1866 "\xAD\xA1\xAD\xA2\xAD\xA3\xAD\xA4\xAD\xA5\xAD\xA6\xAD\xA7"
1867 "\xAD\xA8\xAD\xA9\xAD\xAA\xAD\xAB\xAD\xAC\xAD\xAD\xAD\xAE"
1868 "\xAD\xAF\xAD\xB0\xAD\xB1\xAD\xB2\xAD\xB3\xAD\xB4\xAD\xB5"
1869 "\xAD\xB6\xAD\xB7\xAD\xB8\xAD\xB9\xAD\xBA\xAD\xBB\xAD\xBC"
1870 "\xAD\xBD\xAD\xBE\xAD\xC0\xAD\xC1\xAD\xC2\xAD\xC3\xAD\xC4"
1871 "\xAD\xC5\xAD\xC6\xAD\xC7\xAD\xC8\xAD\xC9\xAD\xCA\xAD\xCB"
1872 "\xAD\xCC\xAD\xCD\xAD\xCE\xAD\xCF\xAD\xD0\xAD\xD1\xAD\xD2"
1873 "\xAD\xD3\xAD\xD4\xAD\xD5\xAD\xD6\xAD\xDF\xAD\xE0\xAD\xE1"
1874 "\xAD\xE2\xAD\xE3\xAD\xE4\xAD\xE5\xAD\xE6\xAD\xE7\xAD\xE8"
1875 "\xAD\xE9\xAD\xEA\xAD\xEB\xAD\xEC\xAD\xED\xAD\xEE\xAD\xEF"
1876 "\xAD\xF3\xAD\xF4\xAD\xF8\xAD\xF9"),
1877 { 0x2460,0x2461,0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,
1878 0x2469,0x246A,0x246B,0x246C,0x246D,0x246E,0x246F,0x2470,0x2471,
1879 0x2472,0x2473,0x2160,0x2161,0x2162,0x2163,0x2164,0x2165,0x2166,
1880 0x2167,0x2168,0x2169,0x3349,0x3314,0x3322,0x334D,0x3318,0x3327,
1881 0x3303,0x3336,0x3351,0x3357,0x330D,0x3326,0x3323,0x332B,0x334A,
1882 0x333B,0x339C,0x339D,0x339E,0x338E,0x338F,0x33C4,0x33A1,0x337B,
1883 0x301D,0x301F,0x2116,0x33CD,0x2121,0x32A4,0x32A5,0x32A6,0x32A7,
1884 0x32A8,0x3231,0x3232,0x3239,0x337E,0x337D,0x337C,0x222E,0x2211,
1891 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1893 { RTL_TEXTENCODING_EUC_JP
,
1894 RTL_CONSTASCII_STRINGPARAM("\xB9\xF5"),
1901 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1903 // Test ISO-8859-x/MS-125x range 0x80--9F:
1905 { RTL_TEXTENCODING_ISO_8859_1
,
1906 RTL_CONSTASCII_STRINGPARAM(
1907 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1908 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1910 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1911 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1912 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1913 0x009B,0x009C,0x009D,0x009E,0x009F },
1919 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1920 { RTL_TEXTENCODING_ISO_8859_2
,
1921 RTL_CONSTASCII_STRINGPARAM(
1922 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1923 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1925 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1926 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1927 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1928 0x009B,0x009C,0x009D,0x009E,0x009F },
1934 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1935 { RTL_TEXTENCODING_ISO_8859_3
,
1936 RTL_CONSTASCII_STRINGPARAM(
1937 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1938 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1940 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1941 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1942 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1943 0x009B,0x009C,0x009D,0x009E,0x009F },
1949 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1950 { RTL_TEXTENCODING_ISO_8859_4
,
1951 RTL_CONSTASCII_STRINGPARAM(
1952 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1953 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1955 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1956 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1957 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1958 0x009B,0x009C,0x009D,0x009E,0x009F },
1964 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1965 { RTL_TEXTENCODING_ISO_8859_5
,
1966 RTL_CONSTASCII_STRINGPARAM(
1967 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1968 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1970 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1971 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1972 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1973 0x009B,0x009C,0x009D,0x009E,0x009F },
1979 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1980 { RTL_TEXTENCODING_ISO_8859_6
,
1981 RTL_CONSTASCII_STRINGPARAM(
1982 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1983 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
1985 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
1986 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
1987 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
1988 0x009B,0x009C,0x009D,0x009E,0x009F },
1994 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
1995 { RTL_TEXTENCODING_ISO_8859_7
,
1996 RTL_CONSTASCII_STRINGPARAM(
1997 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
1998 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
2000 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2001 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2002 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2003 0x009B,0x009C,0x009D,0x009E,0x009F },
2009 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2010 { RTL_TEXTENCODING_ISO_8859_8
,
2011 RTL_CONSTASCII_STRINGPARAM(
2012 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
2013 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
2015 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2016 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2017 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2018 0x009B,0x009C,0x009D,0x009E,0x009F },
2024 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2025 { RTL_TEXTENCODING_ISO_8859_9
,
2026 RTL_CONSTASCII_STRINGPARAM(
2027 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
2028 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
2030 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2031 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2032 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2033 0x009B,0x009C,0x009D,0x009E,0x009F },
2039 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2040 { RTL_TEXTENCODING_ISO_8859_14
,
2041 RTL_CONSTASCII_STRINGPARAM(
2042 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
2043 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
2045 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2046 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2047 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2048 0x009B,0x009C,0x009D,0x009E,0x009F },
2054 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2055 { RTL_TEXTENCODING_ISO_8859_15
,
2056 RTL_CONSTASCII_STRINGPARAM(
2057 "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E"
2058 "\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D"
2060 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2061 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2062 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2063 0x009B,0x009C,0x009D,0x009E,0x009F },
2069 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2070 { RTL_TEXTENCODING_MS_874
,
2071 RTL_CONSTASCII_STRINGPARAM(""),
2072 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2073 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2074 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2075 0x009B,0x009C,0x009D,0x009E,0x009F },
2081 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2082 { RTL_TEXTENCODING_MS_1250
,
2083 RTL_CONSTASCII_STRINGPARAM(""),
2084 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2085 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2086 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2087 0x009B,0x009C,0x009D,0x009E,0x009F },
2093 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2094 { RTL_TEXTENCODING_MS_1251
,
2095 RTL_CONSTASCII_STRINGPARAM(""),
2096 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2097 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2098 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2099 0x009B,0x009C,0x009D,0x009E,0x009F },
2105 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2106 { RTL_TEXTENCODING_MS_1252
,
2107 RTL_CONSTASCII_STRINGPARAM(""),
2108 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2109 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2110 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2111 0x009B,0x009C,0x009D,0x009E,0x009F },
2117 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2118 { RTL_TEXTENCODING_MS_1253
,
2119 RTL_CONSTASCII_STRINGPARAM(""),
2120 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2121 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2122 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2123 0x009B,0x009C,0x009D,0x009E,0x009F },
2129 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2130 { RTL_TEXTENCODING_MS_1254
,
2131 RTL_CONSTASCII_STRINGPARAM(""),
2132 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2133 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2134 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2135 0x009B,0x009C,0x009D,0x009E,0x009F },
2141 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2142 { RTL_TEXTENCODING_MS_1255
,
2143 RTL_CONSTASCII_STRINGPARAM(""),
2144 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2145 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2146 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2147 0x009B,0x009C,0x009D,0x009E,0x009F },
2153 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2154 { RTL_TEXTENCODING_MS_1256
,
2155 RTL_CONSTASCII_STRINGPARAM(""),
2156 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2157 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2158 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2159 0x009B,0x009C,0x009D,0x009E,0x009F },
2165 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2166 { RTL_TEXTENCODING_MS_1257
,
2167 RTL_CONSTASCII_STRINGPARAM(""),
2168 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2169 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2170 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2171 0x009B,0x009C,0x009D,0x009E,0x009F },
2177 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2178 { RTL_TEXTENCODING_MS_1258
,
2179 RTL_CONSTASCII_STRINGPARAM(""),
2180 { 0x0080,0x0081,0x0082,0x0083,0x0084,0x0085,0x0086,0x0087,0x0088,
2181 0x0089,0x008A,0x008B,0x008C,0x008D,0x008E,0x008F,0x0090,0x0091,
2182 0x0092,0x0093,0x0094,0x0095,0x0096,0x0097,0x0098,0x0099,0x009A,
2183 0x009B,0x009C,0x009D,0x009E,0x009F },
2189 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2190 { RTL_TEXTENCODING_MS_949
,
2191 RTL_CONSTASCII_STRINGPARAM(
2192 "\xB0\xA1\xB0\xA2\x81\x41\x81\x42\xB0\xA3\x81\x43\x81\x44"
2193 "\xB0\xA4\xB0\xA5\xB0\xA6\xB0\xA7\x81\x45\x81\x46\x81\x47"
2194 "\x81\x48\x81\x49\xB0\xA8\xB0\xA9\xB0\xAA\xB0\xAB\xB0\xAC"
2195 "\xB0\xAD\xB0\xAE\xB0\xAF\x81\x4A\xB0\xB0\xB0\xB1\xB0\xB2"),
2196 { 0xAC00,0xAC01,0xAC02,0xAC03,0xAC04,0xAC05,0xAC06,0xAC07,0xAC08,
2197 0xAC09,0xAC0A,0xAC0B,0xAC0C,0xAC0D,0xAC0E,0xAC0F,0xAC10,0xAC11,
2198 0xAC12,0xAC13,0xAC14,0xAC15,0xAC16,0xAC17,0xAC18,0xAC19,0xAC1A,
2205 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2206 { RTL_TEXTENCODING_MS_949
,
2207 RTL_CONSTASCII_STRINGPARAM(
2208 "\xC9\xA1\xC9\xA2\xC9\xA3\xC9\xFC\xC9\xFD\xC9\xFE"
2209 "\xFE\xA1\xFE\xA2\xFE\xA3\xFE\xFC\xFE\xFD\xFE\xFE"),
2210 { 0xE000,0xE001,0xE002,0xE05B,0xE05C,0xE05D,
2211 0xE05E,0xE05F,0xE060,0xE0B9,0xE0BA,0xE0BB },
2217 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2218 { RTL_TEXTENCODING_EUC_KR
,
2219 RTL_CONSTASCII_STRINGPARAM(
2220 "\xB0\xA1\xB0\xA2" "\xB0\xA3"
2221 "\xB0\xA4\xB0\xA5\xB0\xA6\xB0\xA7"
2222 "\xB0\xA8\xB0\xA9\xB0\xAA\xB0\xAB\xB0\xAC"
2223 "\xB0\xAD\xB0\xAE\xB0\xAF" "\xB0\xB0\xB0\xB1\xB0\xB2"),
2224 { 0xAC00,0xAC01, 0xAC04, 0xAC07,0xAC08,
2225 0xAC09,0xAC0A, 0xAC10,0xAC11,
2226 0xAC12,0xAC13,0xAC14,0xAC15,0xAC16,0xAC17, 0xAC19,0xAC1A,
2233 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2234 { RTL_TEXTENCODING_EUC_KR
,
2235 RTL_CONSTASCII_STRINGPARAM(
2236 "\xB0\xA1\xB0\xA2" "\xB0\xA3"
2237 "\xB0\xA4\xB0\xA5\xB0\xA6\xB0\xA7"
2238 "\xB0\xA8\xB0\xA9\xB0\xAA\xB0\xAB\xB0\xAC"
2239 "\xB0\xAD\xB0\xAE\xB0\xAF" "\xB0\xB0\xB0\xB1\xB0\xB2"),
2240 { 0xAC00,0xAC01,0xAC02,0xAC03,0xAC04,0xAC05,0xAC06,0xAC07,0xAC08,
2241 0xAC09,0xAC0A,0xAC0B,0xAC0C,0xAC0D,0xAC0E,0xAC0F,0xAC10,0xAC11,
2242 0xAC12,0xAC13,0xAC14,0xAC15,0xAC16,0xAC17,0xAC18,0xAC19,0xAC1A,
2249 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2250 { RTL_TEXTENCODING_EUC_KR
,
2251 RTL_CONSTASCII_STRINGPARAM(
2252 "\xC9\xA1\xC9\xA2\xC9\xA3\xC9\xFC\xC9\xFD\xC9\xFE"
2253 "\xFE\xA1\xFE\xA2\xFE\xA3\xFE\xFC\xFE\xFD\xFE\xFE"),
2254 { 0xE000,0xE001,0xE002,0xE05B,0xE05C,0xE05D,
2255 0xE05E,0xE05F,0xE060,0xE0B9,0xE0BA,0xE0BB },
2261 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2265 { RTL_TEXTENCODING_UTF8
,
2266 RTL_CONSTASCII_STRINGPARAM("\x00"),
2273 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2274 { RTL_TEXTENCODING_UTF8
,
2275 RTL_CONSTASCII_STRINGPARAM("\xEF\xBB\xBF"),
2282 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2283 { RTL_TEXTENCODING_UTF8
,
2284 RTL_CONSTASCII_STRINGPARAM("\xEF\xBB\xBF\xEF\xBB\xBF"),
2291 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2292 { RTL_TEXTENCODING_UTF8
,
2293 RTL_CONSTASCII_STRINGPARAM("\xEF\xBB\xBF"),
2300 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2301 { RTL_TEXTENCODING_UTF8
,
2302 RTL_CONSTASCII_STRINGPARAM("\xEF\xBB\xBF\xEF\xBB\xBF"),
2309 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2310 { RTL_TEXTENCODING_UTF8
,
2311 RTL_CONSTASCII_STRINGPARAM("\x01\x02\x7E\x7F"),
2312 { 0x0001,0x0002,0x007E,0x007F },
2318 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2319 { RTL_TEXTENCODING_UTF8
,
2320 RTL_CONSTASCII_STRINGPARAM(
2321 "\xC0\x80\xE0\x80\x81\xF0\x80\x80\x82\xF8\x80\x80\x80\x83"
2322 "\xFC\x80\x80\x80\x80\x84"),
2323 { 0x0000,0x0001,0x0002,0x0003,0x0004 },
2329 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2330 { RTL_TEXTENCODING_UTF8
,
2331 RTL_CONSTASCII_STRINGPARAM("\xED\xA1\x89\xED\xB4\x93"),
2338 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2339 { RTL_TEXTENCODING_UTF8
,
2340 RTL_CONSTASCII_STRINGPARAM("\xED\xA1\x89\x41"),
2347 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2351 { RTL_TEXTENCODING_JAVA_UTF8
,
2352 RTL_CONSTASCII_STRINGPARAM(
2353 "\xEF\xBB\xBF\xC0\x80\x01\x20\x41\x7F\xED\xA0\x80"
2355 { 0xFEFF,0x0000,0x0001,0x0020,0x0041,0x007F,0xD800,0xDC00 },
2361 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2365 { RTL_TEXTENCODING_SHIFT_JIS
,
2366 RTL_CONSTASCII_STRINGPARAM("\x81\x63"),
2373 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2374 { RTL_TEXTENCODING_SHIFT_JIS
,
2375 RTL_CONSTASCII_STRINGPARAM("\xA0\xFD\xFE\xFF"),
2376 { 0x00A0, 0x00A9, 0x2122, 0x2026 },
2382 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2383 { RTL_TEXTENCODING_SHIFT_JIS
,
2384 RTL_CONSTASCII_STRINGPARAM(""),
2385 { 0x00A0, 0x00A9, 0x2122 },
2391 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2392 { RTL_TEXTENCODING_MS_932
,
2393 RTL_CONSTASCII_STRINGPARAM("\x81\x63"),
2400 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2401 { RTL_TEXTENCODING_MS_932
,
2402 RTL_CONSTASCII_STRINGPARAM("\xA0\xFD\xFE\xFF"),
2403 { 0x00A0, 0x00A9, 0x2122, 0x2026 },
2409 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2410 { RTL_TEXTENCODING_MS_932
,
2411 RTL_CONSTASCII_STRINGPARAM(""),
2412 { 0x00A0, 0x00A9, 0x2122 },
2418 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_IGNORE
},
2419 { RTL_TEXTENCODING_APPLE_JAPANESE
,
2420 RTL_CONSTASCII_STRINGPARAM("\xA0\xFD\xFE\x81\x63"),
2421 { 0x00A0, 0x00A9, 0x2122, 0x2026 },
2427 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2428 { RTL_TEXTENCODING_APPLE_JAPANESE
,
2429 RTL_CONSTASCII_STRINGPARAM("\xFF"),
2436 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2438 { RTL_TEXTENCODING_ADOBE_STANDARD
,
2439 RTL_CONSTASCII_STRINGPARAM("\x20\x2D\xA4\xB4\xC5"),
2440 { 0x0020, 0x002D, 0x2215, 0x00B7, 0x00AF },
2446 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2447 { RTL_TEXTENCODING_ADOBE_STANDARD
,
2448 RTL_CONSTASCII_STRINGPARAM("\x20\x2D\xA4\xB4\xC5"),
2449 { 0x00A0, 0x00AD, 0x2044, 0x2219, 0x02C9 },
2455 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2457 { RTL_TEXTENCODING_ADOBE_SYMBOL
,
2458 RTL_CONSTASCII_STRINGPARAM("\x20\x44\x57\x6D\xA4"),
2459 { 0x0020, 0x0394, 0x03A9, 0x03BC, 0x2215 },
2465 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2466 { RTL_TEXTENCODING_ADOBE_SYMBOL
,
2467 RTL_CONSTASCII_STRINGPARAM("\x20\x44\x57\x6D\xA4"),
2468 { 0x00A0, 0x2206, 0x2126, 0x00B5, 0x2044 },
2474 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2477 { RTL_TEXTENCODING_SHIFT_JIS
,
2478 RTL_CONSTASCII_STRINGPARAM(
2479 "\xF0\x40\xF0\x7E\xF0\x80\xF0\xFC\xF1\x40\xF9\xFC"),
2480 { 0xE000, 0xE03E, 0xE03F, 0xE0BB, 0xE0BC, 0xE757 },
2486 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2489 { RTL_TEXTENCODING_MS_1258
,
2490 RTL_CONSTASCII_STRINGPARAM(
2491 "\xC0\x41\xDE\xE3\xD2\xD4\xEC\xFD\xF2"),
2492 { 0x00C0, 0x0041, 0x0303, 0x0103, 0x0309, 0x00D4, 0x0301, 0x01B0,
2499 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2500 { RTL_TEXTENCODING_MS_1258
,
2501 RTL_CONSTASCII_STRINGPARAM(
2502 "\xC0\x41\xDE\xE3\xD2\xD4\xEC\xFD\xF2"),
2503 { 0x00C0, 0x00C3, 0x1EB3, 0x1ED0, 0x1EF1 },
2509 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
}
2511 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
2512 doComplexCharSetTest(data
[i
]);
2516 void Test::testComplexCut() {
2517 static ComplexCharSetTest
const data
[]
2518 = { { RTL_TEXTENCODING_EUC_JP
,
2519 RTL_CONSTASCII_STRINGPARAM("\xA1"),
2526 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2527 { RTL_TEXTENCODING_EUC_JP
,
2528 RTL_CONSTASCII_STRINGPARAM("\x8E"),
2535 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2536 { RTL_TEXTENCODING_EUC_JP
,
2537 RTL_CONSTASCII_STRINGPARAM("\x8F"),
2544 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2545 { RTL_TEXTENCODING_EUC_JP
,
2546 RTL_CONSTASCII_STRINGPARAM("\x8F\xA1"),
2553 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
},
2554 { RTL_TEXTENCODING_EUC_CN
,
2555 RTL_CONSTASCII_STRINGPARAM("\xA1"),
2562 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
} /* ,
2563 { RTL_TEXTENCODING_EUC_TW,
2564 RTL_CONSTASCII_STRINGPARAM("\xA1"),
2571 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR },
2572 { RTL_TEXTENCODING_EUC_TW,
2573 RTL_CONSTASCII_STRINGPARAM("\x8E"),
2580 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR },
2581 { RTL_TEXTENCODING_EUC_TW,
2582 RTL_CONSTASCII_STRINGPARAM("\x8E\xA1"),
2589 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR },
2590 { RTL_TEXTENCODING_EUC_TW,
2591 RTL_CONSTASCII_STRINGPARAM("\x8E\xA1\xA1"),
2598 RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR } */ };
2599 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
2600 doComplexCharSetCutTest(data
[i
]);
2604 void Test::testSRCBUFFERTOSMALL() {
2605 rtl_TextToUnicodeConverter cv
= rtl_createTextToUnicodeConverter(
2606 RTL_TEXTENCODING_EUC_JP
);
2607 OSL_ASSERT(cv
!= NULL
);
2608 rtl_TextToUnicodeContext cx
= rtl_createTextToUnicodeContext(cv
);
2609 OSL_ASSERT(cx
!= NULL
);
2611 sal_Unicode dst
[10];
2614 CPPUNIT_ASSERT_EQUAL(
2616 rtl_convertTextToUnicode(
2617 cv
, cx
, &src
, 1, dst
, sizeof dst
/ sizeof (sal_Unicode
),
2618 (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR
|
2619 RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR
|
2620 RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR
),
2622 CPPUNIT_ASSERT_EQUAL(RTL_TEXTTOUNICODE_INFO_SRCBUFFERTOSMALL
, info
);
2623 CPPUNIT_ASSERT(cvt
<= 1);
2624 rtl_destroyTextToUnicodeContext(cv
, cx
);
2625 rtl_destroyTextToUnicodeConverter(cv
);
2628 void Test::testMime() {
2631 rtl_TextEncoding encoding
;
2634 static Data
const data
[] = {
2635 { "GBK", RTL_TEXTENCODING_GBK
, false },
2636 { "CP936", RTL_TEXTENCODING_GBK
, false },
2637 { "MS936", RTL_TEXTENCODING_GBK
, false },
2638 { "windows-936", RTL_TEXTENCODING_GBK
, false },
2640 { "GB18030", RTL_TEXTENCODING_GB_18030
, false },
2642 { "TIS-620", RTL_TEXTENCODING_TIS_620
, true },
2643 { "ISO-8859-11", RTL_TEXTENCODING_TIS_620
, false }, // not registered
2645 { "CP874", RTL_TEXTENCODING_MS_874
, false }, // not registered
2646 { "MS874", RTL_TEXTENCODING_MS_874
, false }, // not registered
2647 { "windows-874", RTL_TEXTENCODING_MS_874
, true }, // not registered
2649 { "ISO_8859-8:1988", RTL_TEXTENCODING_ISO_8859_8
, false },
2650 { "iso-ir-138", RTL_TEXTENCODING_ISO_8859_8
, false },
2651 { "ISO_8859-8", RTL_TEXTENCODING_ISO_8859_8
, false },
2652 { "ISO-8859-8", RTL_TEXTENCODING_ISO_8859_8
, true },
2653 { "hebrew", RTL_TEXTENCODING_ISO_8859_8
, false },
2654 { "csISOLatinHebrew", RTL_TEXTENCODING_ISO_8859_8
, false },
2656 { "windows-1255", RTL_TEXTENCODING_MS_1255
, true },
2658 { "IBM862", RTL_TEXTENCODING_IBM_862
, true },
2659 { "cp862", RTL_TEXTENCODING_IBM_862
, false },
2660 { "862", RTL_TEXTENCODING_IBM_862
, false },
2661 { "csPC862LatinHebrew", RTL_TEXTENCODING_IBM_862
, false },
2663 { "ISO_8859-6:1987", RTL_TEXTENCODING_ISO_8859_6
, false },
2664 { "iso-ir-127", RTL_TEXTENCODING_ISO_8859_6
, false },
2665 { "ISO_8859-6", RTL_TEXTENCODING_ISO_8859_6
, false },
2666 { "ISO-8859-6", RTL_TEXTENCODING_ISO_8859_6
, true },
2667 { "ECMA-114", RTL_TEXTENCODING_ISO_8859_6
, false },
2668 { "ASMO-708", RTL_TEXTENCODING_ISO_8859_6
, false },
2669 { "arabic", RTL_TEXTENCODING_ISO_8859_6
, false },
2670 { "csISOLatinArabic", RTL_TEXTENCODING_ISO_8859_6
, false },
2672 { "windows-1256", RTL_TEXTENCODING_MS_1256
, true },
2674 { "IBM864", RTL_TEXTENCODING_IBM_864
, true },
2675 { "cp864", RTL_TEXTENCODING_IBM_864
, false },
2676 { "csIBM864", RTL_TEXTENCODING_IBM_864
, false },
2678 { "KOI8-R", RTL_TEXTENCODING_KOI8_R
, false },
2679 { "csKOI8R", RTL_TEXTENCODING_KOI8_R
, false },
2680 { "koi8-r", RTL_TEXTENCODING_KOI8_R
, true },
2682 { "KOI8-U", RTL_TEXTENCODING_KOI8_U
, true },
2684 { "IBM860", RTL_TEXTENCODING_IBM_860
, true },
2685 { "cp860", RTL_TEXTENCODING_IBM_860
, false },
2686 { "860", RTL_TEXTENCODING_IBM_860
, false },
2687 { "csIBM860", RTL_TEXTENCODING_IBM_860
, false },
2689 { "IBM861", RTL_TEXTENCODING_IBM_861
, true },
2690 { "cp861", RTL_TEXTENCODING_IBM_861
, false },
2691 { "861", RTL_TEXTENCODING_IBM_861
, false },
2692 { "cp-is", RTL_TEXTENCODING_IBM_861
, false },
2693 { "csIBM861", RTL_TEXTENCODING_IBM_861
, false },
2695 { "IBM863", RTL_TEXTENCODING_IBM_863
, true },
2696 { "cp863", RTL_TEXTENCODING_IBM_863
, false },
2697 { "863", RTL_TEXTENCODING_IBM_863
, false },
2698 { "csIBM863", RTL_TEXTENCODING_IBM_863
, false },
2700 { "IBM865", RTL_TEXTENCODING_IBM_865
, true },
2701 { "cp865", RTL_TEXTENCODING_IBM_865
, false },
2702 { "865", RTL_TEXTENCODING_IBM_865
, false },
2703 { "csIBM865", RTL_TEXTENCODING_IBM_865
, false },
2705 { "Latin-9", RTL_TEXTENCODING_ISO_8859_15
, false },
2707 { "KS_C_5601-1987", RTL_TEXTENCODING_MS_949
, false },
2708 { "iso-ir-149", RTL_TEXTENCODING_MS_949
, false },
2709 { "KS_C_5601-1989", RTL_TEXTENCODING_MS_949
, false },
2710 { "KSC_5601", RTL_TEXTENCODING_MS_949
, false },
2711 { "korean", RTL_TEXTENCODING_MS_949
, false },
2712 { "csKSC56011987", RTL_TEXTENCODING_MS_949
, false },
2713 { 0, RTL_TEXTENCODING_MS_949
, true },
2715 { "Adobe-Standard-Encoding", RTL_TEXTENCODING_ADOBE_STANDARD
, false },
2716 { "csAdobeStandardEncoding", RTL_TEXTENCODING_ADOBE_STANDARD
, false },
2717 { "Adobe-Symbol-Encoding", RTL_TEXTENCODING_ADOBE_SYMBOL
, false },
2718 { "csHPPSMath", RTL_TEXTENCODING_ADOBE_SYMBOL
, false },
2720 { "PTCP154", RTL_TEXTENCODING_PT154
, true },
2721 { "csPTCP154", RTL_TEXTENCODING_PT154
, false },
2722 { "PT154", RTL_TEXTENCODING_PT154
, false },
2723 { "CP154", RTL_TEXTENCODING_PT154
, false },
2724 { "Cyrillic-Asian", RTL_TEXTENCODING_PT154
, false }
2726 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
2727 if (data
[i
].mime
== 0) {
2728 OSL_ASSERT(data
[i
].reverse
);
2729 CPPUNIT_ASSERT_EQUAL(
2730 static_cast< char const * >(0),
2731 rtl_getMimeCharsetFromTextEncoding(data
[i
].encoding
));
2733 CPPUNIT_ASSERT_EQUAL(
2735 rtl_getTextEncodingFromMimeCharset(data
[i
].mime
));
2736 if (data
[i
].reverse
) {
2737 CPPUNIT_ASSERT_EQUAL(
2738 rtl::OString(data
[i
].mime
),
2740 rtl_getMimeCharsetFromTextEncoding(data
[i
].encoding
)));
2746 void Test::testWindows() {
2748 sal_uInt32 codePage
;
2749 rtl_TextEncoding encoding
;
2752 static Data
const data
[] = {
2753 { 437, RTL_TEXTENCODING_IBM_437
, true },
2754 { 708, RTL_TEXTENCODING_ISO_8859_6
, false },
2755 { 737, RTL_TEXTENCODING_IBM_737
, true },
2756 { 775, RTL_TEXTENCODING_IBM_775
, true },
2757 { 850, RTL_TEXTENCODING_IBM_850
, true },
2758 { 852, RTL_TEXTENCODING_IBM_852
, true },
2759 { 855, RTL_TEXTENCODING_IBM_855
, true },
2760 { 857, RTL_TEXTENCODING_IBM_857
, true },
2761 { 860, RTL_TEXTENCODING_IBM_860
, true },
2762 { 861, RTL_TEXTENCODING_IBM_861
, true },
2763 { 862, RTL_TEXTENCODING_IBM_862
, true },
2764 { 863, RTL_TEXTENCODING_IBM_863
, true },
2765 { 864, RTL_TEXTENCODING_IBM_864
, true },
2766 { 865, RTL_TEXTENCODING_IBM_865
, true },
2767 { 866, RTL_TEXTENCODING_IBM_866
, true },
2768 { 869, RTL_TEXTENCODING_IBM_869
, true },
2769 { 874, RTL_TEXTENCODING_MS_874
, true },
2770 { 932, RTL_TEXTENCODING_MS_932
, true },
2771 { 936, RTL_TEXTENCODING_MS_936
, true },
2772 { 949, RTL_TEXTENCODING_MS_949
, true },
2773 { 950, RTL_TEXTENCODING_MS_950
, true },
2774 { 1250, RTL_TEXTENCODING_MS_1250
, true },
2775 { 1251, RTL_TEXTENCODING_MS_1251
, true },
2776 { 1252, RTL_TEXTENCODING_MS_1252
, true },
2777 { 1253, RTL_TEXTENCODING_MS_1253
, true },
2778 { 1254, RTL_TEXTENCODING_MS_1254
, true },
2779 { 1255, RTL_TEXTENCODING_MS_1255
, true },
2780 { 1256, RTL_TEXTENCODING_MS_1256
, true },
2781 { 1257, RTL_TEXTENCODING_MS_1257
, true },
2782 { 1258, RTL_TEXTENCODING_MS_1258
, true },
2783 { 1361, RTL_TEXTENCODING_MS_1361
, true },
2784 { 10000, RTL_TEXTENCODING_APPLE_ROMAN
, true },
2785 { 10001, RTL_TEXTENCODING_APPLE_JAPANESE
, true },
2786 { 10002, RTL_TEXTENCODING_APPLE_CHINTRAD
, true },
2787 { 10003, RTL_TEXTENCODING_APPLE_KOREAN
, true },
2788 { 10004, RTL_TEXTENCODING_APPLE_ARABIC
, true },
2789 { 10005, RTL_TEXTENCODING_APPLE_HEBREW
, true },
2790 { 10006, RTL_TEXTENCODING_APPLE_GREEK
, true },
2791 { 10007, RTL_TEXTENCODING_APPLE_CYRILLIC
, true },
2792 { 10008, RTL_TEXTENCODING_APPLE_CHINSIMP
, true },
2793 { 10010, RTL_TEXTENCODING_APPLE_ROMANIAN
, true },
2794 { 10017, RTL_TEXTENCODING_APPLE_UKRAINIAN
, true },
2795 { 10029, RTL_TEXTENCODING_APPLE_CENTEURO
, true },
2796 { 10079, RTL_TEXTENCODING_APPLE_ICELAND
, true },
2797 { 10081, RTL_TEXTENCODING_APPLE_TURKISH
, true },
2798 { 10082, RTL_TEXTENCODING_APPLE_CROATIAN
, true },
2799 { 20127, RTL_TEXTENCODING_ASCII_US
, true },
2800 { 20866, RTL_TEXTENCODING_KOI8_R
, true },
2801 { 21866, RTL_TEXTENCODING_KOI8_U
, true },
2802 { 28591, RTL_TEXTENCODING_ISO_8859_1
, true },
2803 { 28592, RTL_TEXTENCODING_ISO_8859_2
, true },
2804 { 28593, RTL_TEXTENCODING_ISO_8859_3
, true },
2805 { 28594, RTL_TEXTENCODING_ISO_8859_4
, true },
2806 { 28595, RTL_TEXTENCODING_ISO_8859_5
, true },
2807 { 28596, RTL_TEXTENCODING_ISO_8859_6
, true },
2808 { 28597, RTL_TEXTENCODING_ISO_8859_7
, true },
2809 { 28598, RTL_TEXTENCODING_ISO_8859_8
, true },
2810 { 28599, RTL_TEXTENCODING_ISO_8859_9
, true },
2811 { 28605, RTL_TEXTENCODING_ISO_8859_15
, true },
2812 { 50220, RTL_TEXTENCODING_ISO_2022_JP
, true },
2813 { 50225, RTL_TEXTENCODING_ISO_2022_KR
, true },
2814 { 51932, RTL_TEXTENCODING_EUC_JP
, true },
2815 { 51936, RTL_TEXTENCODING_EUC_CN
, true },
2816 { 51949, RTL_TEXTENCODING_EUC_KR
, true },
2817 { 65000, RTL_TEXTENCODING_UTF7
, true },
2818 { 65001, RTL_TEXTENCODING_UTF8
, true },
2819 { 1200, RTL_TEXTENCODING_DONTKNOW
, false }, // UTF_16LE
2820 { 1201, RTL_TEXTENCODING_DONTKNOW
, false }, // UTF_16LE
2821 { 0, RTL_TEXTENCODING_DONTKNOW
, true },
2822 { 0, RTL_TEXTENCODING_UCS4
, true },
2823 { 0, RTL_TEXTENCODING_UCS2
, true },
2824 { 0, RTL_TEXTENCODING_ISCII_DEVANAGARI
, true }
2826 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
2827 OSL_ASSERT(data
[i
].codePage
!= 0 || data
[i
].reverse
);
2828 if (data
[i
].codePage
!= 0) {
2829 CPPUNIT_ASSERT_EQUAL(
2831 rtl_getTextEncodingFromWindowsCodePage(data
[i
].codePage
));
2833 if (data
[i
].reverse
) {
2834 CPPUNIT_ASSERT_EQUAL(
2836 rtl_getWindowsCodePageFromTextEncoding(data
[i
].encoding
));
2841 void Test::testInfo() {
2843 rtl_TextEncoding encoding
;
2847 static Data
const data
[] = {
2848 { RTL_TEXTENCODING_APPLE_CHINTRAD
, RTL_TEXTENCODING_INFO_ASCII
, false },
2849 { RTL_TEXTENCODING_APPLE_JAPANESE
, RTL_TEXTENCODING_INFO_ASCII
, false },
2850 { RTL_TEXTENCODING_APPLE_KOREAN
, RTL_TEXTENCODING_INFO_ASCII
, false },
2851 { RTL_TEXTENCODING_BIG5
, RTL_TEXTENCODING_INFO_ASCII
, false },
2852 { RTL_TEXTENCODING_BIG5_HKSCS
, RTL_TEXTENCODING_INFO_ASCII
, false },
2853 { RTL_TEXTENCODING_EUC_CN
, RTL_TEXTENCODING_INFO_ASCII
, true },
2854 { RTL_TEXTENCODING_EUC_JP
, RTL_TEXTENCODING_INFO_ASCII
, true },
2855 { RTL_TEXTENCODING_EUC_KR
, RTL_TEXTENCODING_INFO_ASCII
, true },
2856 { RTL_TEXTENCODING_EUC_TW
, RTL_TEXTENCODING_INFO_ASCII
, true },
2857 { RTL_TEXTENCODING_GBK
, RTL_TEXTENCODING_INFO_ASCII
, false },
2858 { RTL_TEXTENCODING_GB_18030
, RTL_TEXTENCODING_INFO_ASCII
, false },
2859 { RTL_TEXTENCODING_GB_18030
, RTL_TEXTENCODING_INFO_UNICODE
, true },
2860 { RTL_TEXTENCODING_ISO_2022_CN
, RTL_TEXTENCODING_INFO_CONTEXT
, true },
2861 { RTL_TEXTENCODING_ISO_2022_CN
, RTL_TEXTENCODING_INFO_ASCII
, false },
2862 { RTL_TEXTENCODING_ISO_2022_JP
, RTL_TEXTENCODING_INFO_CONTEXT
, true },
2863 { RTL_TEXTENCODING_ISO_2022_JP
, RTL_TEXTENCODING_INFO_ASCII
, false },
2864 { RTL_TEXTENCODING_ISO_2022_KR
, RTL_TEXTENCODING_INFO_CONTEXT
, true },
2865 { RTL_TEXTENCODING_ISO_2022_KR
, RTL_TEXTENCODING_INFO_ASCII
, false },
2866 { RTL_TEXTENCODING_MS_1361
, RTL_TEXTENCODING_INFO_ASCII
, false },
2867 { RTL_TEXTENCODING_MS_874
, RTL_TEXTENCODING_INFO_ASCII
, true },
2868 { RTL_TEXTENCODING_MS_932
, RTL_TEXTENCODING_INFO_ASCII
, false },
2869 { RTL_TEXTENCODING_MS_936
, RTL_TEXTENCODING_INFO_ASCII
, false },
2870 { RTL_TEXTENCODING_MS_949
, RTL_TEXTENCODING_INFO_ASCII
, false },
2871 { RTL_TEXTENCODING_MS_950
, RTL_TEXTENCODING_INFO_ASCII
, false },
2872 { RTL_TEXTENCODING_SHIFT_JIS
, RTL_TEXTENCODING_INFO_ASCII
, false },
2873 { RTL_TEXTENCODING_KOI8_R
, RTL_TEXTENCODING_INFO_ASCII
, true },
2874 { RTL_TEXTENCODING_KOI8_R
, RTL_TEXTENCODING_INFO_MIME
, true },
2875 { RTL_TEXTENCODING_KOI8_U
, RTL_TEXTENCODING_INFO_ASCII
, true },
2876 { RTL_TEXTENCODING_KOI8_U
, RTL_TEXTENCODING_INFO_MIME
, true },
2877 { RTL_TEXTENCODING_IBM_860
, RTL_TEXTENCODING_INFO_MIME
, true },
2878 { RTL_TEXTENCODING_IBM_861
, RTL_TEXTENCODING_INFO_MIME
, true },
2879 { RTL_TEXTENCODING_IBM_863
, RTL_TEXTENCODING_INFO_MIME
, true },
2880 { RTL_TEXTENCODING_IBM_865
, RTL_TEXTENCODING_INFO_MIME
, true },
2881 { RTL_TEXTENCODING_ISCII_DEVANAGARI
, RTL_TEXTENCODING_INFO_ASCII
, true },
2882 { RTL_TEXTENCODING_ISCII_DEVANAGARI
, RTL_TEXTENCODING_INFO_MIME
, false },
2883 { RTL_TEXTENCODING_ADOBE_STANDARD
, RTL_TEXTENCODING_INFO_ASCII
, false },
2884 { RTL_TEXTENCODING_ADOBE_STANDARD
, RTL_TEXTENCODING_INFO_MIME
, true },
2885 { RTL_TEXTENCODING_ADOBE_STANDARD
, RTL_TEXTENCODING_INFO_SYMBOL
, false },
2886 { RTL_TEXTENCODING_ADOBE_SYMBOL
, RTL_TEXTENCODING_INFO_ASCII
, false },
2887 { RTL_TEXTENCODING_ADOBE_SYMBOL
, RTL_TEXTENCODING_INFO_MIME
, true },
2888 { RTL_TEXTENCODING_ADOBE_SYMBOL
, RTL_TEXTENCODING_INFO_SYMBOL
, true },
2889 { RTL_TEXTENCODING_PT154
, RTL_TEXTENCODING_INFO_ASCII
, true },
2890 { RTL_TEXTENCODING_PT154
, RTL_TEXTENCODING_INFO_MIME
, true }
2892 for (std::size_t i
= 0; i
< sizeof data
/ sizeof data
[0]; ++i
) {
2893 rtl_TextEncodingInfo info
;
2894 info
.StructSize
= sizeof info
;
2895 CPPUNIT_ASSERT(rtl_getTextEncodingInfo(data
[i
].encoding
, &info
));
2896 CPPUNIT_ASSERT_EQUAL(data
[i
].value
, ((info
.Flags
& data
[i
].flag
) != 0));
2900 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(Test
, "rtl_textcvt");