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