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