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