xref: /trunk/main/sal/textenc/tcvtscn6.tab (revision 11594ab6)
1*11594ab6SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*11594ab6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*11594ab6SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*11594ab6SAndrew Rist * distributed with this work for additional information
6*11594ab6SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*11594ab6SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*11594ab6SAndrew Rist * "License"); you may not use this file except in compliance
9*11594ab6SAndrew Rist * with the License.  You may obtain a copy of the License at
10*11594ab6SAndrew Rist *
11*11594ab6SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*11594ab6SAndrew Rist *
13*11594ab6SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*11594ab6SAndrew Rist * software distributed under the License is distributed on an
15*11594ab6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*11594ab6SAndrew Rist * KIND, either express or implied.  See the License for the
17*11594ab6SAndrew Rist * specific language governing permissions and limitations
18*11594ab6SAndrew Rist * under the License.
19*11594ab6SAndrew Rist *
20*11594ab6SAndrew Rist *************************************************************/
21*11594ab6SAndrew Rist
22*11594ab6SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir/* ======================================================================= */
25cdf0e10cSrcweir
26cdf0e10cSrcweir/* This file contain the information tables for all */
27cdf0e10cSrcweir/* chinese simplified (China) charsets: */
28cdf0e10cSrcweir/* GB2312, GBK, MS936, APPLE_CHINSIMP */
29cdf0e10cSrcweir
30cdf0e10cSrcweir/* GBK is MS-CP 936 and a superset of GB-2312-80. In GB-2312-80 the range */
31cdf0e10cSrcweir/* is 0xA1-0xFE for the leading byte and 0xA1-0xFE for the trailing byte. */
32cdf0e10cSrcweir/* In GBK the range is from 0x81-0xFE for the leading byte and 0x40-0xFE */
33cdf0e10cSrcweir/* for the trailing byte. */
34cdf0e10cSrcweir
35cdf0e10cSrcweir/* ======================================================================= */
36cdf0e10cSrcweir
37cdf0e10cSrcweir#define GBKOFF      0x61
38cdf0e10cSrcweir
39cdf0e10cSrcweir/* ======================================================================= */
40cdf0e10cSrcweir
41cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aGB2312UniLeadTab[256] =
42cdf0e10cSrcweir{
43cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
44cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
45cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
46cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
47cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
48cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
49cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
50cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
51cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
52cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
53cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
54cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
55cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
56cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
57cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
58cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
59cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
60cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
61cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
62cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
63cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
64cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
65cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
66cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
67cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
68cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
69cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
70cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
71cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
72cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
73cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
74cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
75cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
76cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
77cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
78cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
79cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
80cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
81cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
82cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
83cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
84cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
85cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
86cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
87cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
88cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
89cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
90cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
91cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
92cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
93cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
94cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
95cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
96cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
97cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
98cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
99cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
100cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
101cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
102cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
103cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
104cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
105cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
106cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
107cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
108cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
109cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
110cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
111cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
112cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
113cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
114cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
115cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
116cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
117cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
118cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
119cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
120cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
121cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
122cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
123cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
124cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
125cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
126cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
127cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
128cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
129cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
130cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
131cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
132cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
133cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
134cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
135cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
136cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
137cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
138cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
139cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
140cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
141cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
142cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
143cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
144cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
145cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
146cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
147cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
148cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
149cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
150cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
151cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
152cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
153cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
154cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
155cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
156cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
157cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
158cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
159cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
160cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
161cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
162cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
163cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
164cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
165cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
166cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
167cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
168cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
169cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
170cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
171cdf0e10cSrcweir    { 0x20AC,    0,    0, NULL },                               /* 0x80 */
172cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x81 */ /* We convert this as double byte */
173cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x82 */ /* We convert this as double byte */
174cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x83 */ /* We convert this as double byte */
175cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x84 */ /* We convert this as double byte */
176cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x85 */ /* We convert this as double byte */
177cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x86 */ /* We convert this as double byte */
178cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x87 */ /* We convert this as double byte */
179cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x88 */ /* We convert this as double byte */
180cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x89 */ /* We convert this as double byte */
181cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8A */ /* We convert this as double byte */
182cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8B */ /* We convert this as double byte */
183cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8C */ /* We convert this as double byte */
184cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8D */ /* We convert this as double byte */
185cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8E */ /* We convert this as double byte */
186cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8F */ /* We convert this as double byte */
187cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x90 */ /* We convert this as double byte */
188cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x91 */ /* We convert this as double byte */
189cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x92 */ /* We convert this as double byte */
190cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x93 */ /* We convert this as double byte */
191cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x94 */ /* We convert this as double byte */
192cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x95 */ /* We convert this as double byte */
193cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x96 */ /* We convert this as double byte */
194cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x97 */ /* We convert this as double byte */
195cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x98 */ /* We convert this as double byte */
196cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x99 */ /* We convert this as double byte */
197cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9A */ /* We convert this as double byte */
198cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9B */ /* We convert this as double byte */
199cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9C */ /* We convert this as double byte */
200cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9D */ /* We convert this as double byte */
201cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9E */ /* We convert this as double byte */
202cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9F */ /* We convert this as double byte */
203cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xA0 */
204cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A1 },            /* 0xA1 */
205cdf0e10cSrcweir    {      0, 0xA1, 0xFC, aImplDBCSToUniTab_GB_A2 },            /* 0xA2 */
206cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A3 },            /* 0xA3 */
207cdf0e10cSrcweir    {      0, 0xA1, 0xF3, aImplDBCSToUniTab_GB_A4 },            /* 0xA4 */
208cdf0e10cSrcweir    {      0, 0xA1, 0xF6, aImplDBCSToUniTab_GB_A5 },            /* 0xA5 */
209cdf0e10cSrcweir    {      0, 0xA1, 0xF5, aImplDBCSToUniTab_GB_A6 },            /* 0xA6 */
210cdf0e10cSrcweir    {      0, 0xA1, 0xF1, aImplDBCSToUniTab_GB_A7 },            /* 0xA7 */
211cdf0e10cSrcweir    {      0, 0xA1, 0xE9, aImplDBCSToUniTab_GBK_A8+GBKOFF },    /* 0xA8 */
212cdf0e10cSrcweir    {      0, 0xA1, 0xEF, aImplDBCSToUniTab_GBK_A9+GBKOFF },    /* 0xA9 */
213cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAA */ /* We convert this as double byte */
214cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAB */ /* We convert this as double byte */
215cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAC */ /* We convert this as double byte */
216cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAD */ /* We convert this as double byte */
217cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAE */ /* We convert this as double byte */
218cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAF */ /* We convert this as double byte */
219cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B0+GBKOFF },    /* 0xB0 */
220cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B1+GBKOFF },    /* 0xB1 */
221cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B2+GBKOFF },    /* 0xB2 */
222cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B3+GBKOFF },    /* 0xB3 */
223cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B4+GBKOFF },    /* 0xB4 */
224cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B5+GBKOFF },    /* 0xB5 */
225cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B6+GBKOFF },    /* 0xB6 */
226cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B7+GBKOFF },    /* 0xB7 */
227cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B8+GBKOFF },    /* 0xB8 */
228cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B9+GBKOFF },    /* 0xB9 */
229cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BA+GBKOFF },    /* 0xBA */
230cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BB+GBKOFF },    /* 0xBB */
231cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BC+GBKOFF },    /* 0xBC */
232cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BD+GBKOFF },    /* 0xBD */
233cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BE+GBKOFF },    /* 0xBE */
234cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BF+GBKOFF },    /* 0xBF */
235cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C0+GBKOFF },    /* 0xC0 */
236cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C1+GBKOFF },    /* 0xC1 */
237cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C2+GBKOFF },    /* 0xC2 */
238cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C3+GBKOFF },    /* 0xC3 */
239cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C4+GBKOFF },    /* 0xC4 */
240cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C5+GBKOFF },    /* 0xC5 */
241cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C6+GBKOFF },    /* 0xC6 */
242cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C7+GBKOFF },    /* 0xC7 */
243cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C8+GBKOFF },    /* 0xC8 */
244cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C9+GBKOFF },    /* 0xC9 */
245cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CA+GBKOFF },    /* 0xCA */
246cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CB+GBKOFF },    /* 0xCB */
247cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CC+GBKOFF },    /* 0xCC */
248cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CD+GBKOFF },    /* 0xCD */
249cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CE+GBKOFF },    /* 0xCE */
250cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CF+GBKOFF },    /* 0xCF */
251cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D0+GBKOFF },    /* 0xD0 */
252cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D1+GBKOFF },    /* 0xD1 */
253cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D2+GBKOFF },    /* 0xD2 */
254cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D3+GBKOFF },    /* 0xD3 */
255cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D4+GBKOFF },    /* 0xD4 */
256cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D5+GBKOFF },    /* 0xD5 */
257cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D6+GBKOFF },    /* 0xD6 */
258cdf0e10cSrcweir    {      0, 0xA1, 0xF9, aImplDBCSToUniTab_GBK_D7+GBKOFF },    /* 0xD7 */
259cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D8+GBKOFF },    /* 0xD8 */
260cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D9+GBKOFF },    /* 0xD9 */
261cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DA+GBKOFF },    /* 0xDA */
262cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DB+GBKOFF },    /* 0xDB */
263cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DC+GBKOFF },    /* 0xDC */
264cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DD+GBKOFF },    /* 0xDD */
265cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DE+GBKOFF },    /* 0xDE */
266cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DF+GBKOFF },    /* 0xDF */
267cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E0+GBKOFF },    /* 0xE0 */
268cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E1+GBKOFF },    /* 0xE1 */
269cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E2+GBKOFF },    /* 0xE2 */
270cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E3+GBKOFF },    /* 0xE3 */
271cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E4+GBKOFF },    /* 0xE4 */
272cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E5+GBKOFF },    /* 0xE5 */
273cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E6+GBKOFF },    /* 0xE6 */
274cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E7+GBKOFF },    /* 0xE7 */
275cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E8+GBKOFF },    /* 0xE8 */
276cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E9+GBKOFF },    /* 0xE9 */
277cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EA+GBKOFF },    /* 0xEA */
278cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EB+GBKOFF },    /* 0xEB */
279cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EC+GBKOFF },    /* 0xEC */
280cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_ED+GBKOFF },    /* 0xED */
281cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EE+GBKOFF },    /* 0xEE */
282cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EF+GBKOFF },    /* 0xEF */
283cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F0+GBKOFF },    /* 0xF0 */
284cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F1+GBKOFF },    /* 0xF1 */
285cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F2+GBKOFF },    /* 0xF2 */
286cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F3+GBKOFF },    /* 0xF3 */
287cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F4+GBKOFF },    /* 0xF4 */
288cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F5+GBKOFF },    /* 0xF5 */
289cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F6+GBKOFF },    /* 0xF6 */
290cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F7+GBKOFF },    /* 0xF7 */
291cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF8 */ /* We convert this as double byte */
292cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF9 */ /* We convert this as double byte */
293cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFA */ /* We convert this as double byte */
294cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFB */ /* We convert this as double byte */
295cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFC */ /* We convert this as double byte */
296cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFD */ /* We convert this as double byte */
297cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFE */ /* We convert this as double byte */
298cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
299cdf0e10cSrcweir};
300cdf0e10cSrcweir
301cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
302cdf0e10cSrcweir
303cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aGB2312DBCSHighTab[256] =
304cdf0e10cSrcweir{
305cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_00 },                    /* 0x00 */
306cdf0e10cSrcweir    { 0x01, 0xDC, aImplUniToDBCSTab_GB_01 },                    /* 0x01 */
307cdf0e10cSrcweir    { 0x51, 0xC9, aImplUniToDBCSTab_GB_02 },                    /* 0x02 */
308cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_GB_03 },                    /* 0x03 */
309cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_GB_04 },                    /* 0x04 */
310cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
311cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
312cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
313cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
314cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
315cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
316cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
317cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
318cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
319cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
320cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
321cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
322cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
323cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
324cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
325cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
326cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
327cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
328cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
329cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
330cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
331cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
332cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
333cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
334cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
335cdf0e10cSrcweir    { 0x3F, 0x3F, aImplUniToDBCSTab_APPLECHINSIMP_1E },         /* 0x1E */ /* we convert this char also to unicode */
336cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
337cdf0e10cSrcweir    { 0x14, 0xAC, aImplUniToDBCSTab_GB_20 },                    /* 0x20 */
338cdf0e10cSrcweir    { 0x03, 0x93, aImplUniToDBCSTab_GB_21 },                    /* 0x21 */
339cdf0e10cSrcweir    { 0x08, 0xEF, aImplUniToDBCSTab_GB_22 },                    /* 0x22 */
340cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_GB_23 },                    /* 0x23 */
341cdf0e10cSrcweir    { 0x60, 0x9B, aImplUniToDBCSTab_GB_24 },                    /* 0x24 */
342cdf0e10cSrcweir    { 0x00, 0xCF, aImplUniToDBCSTab_GB_25 },                    /* 0x25 */
343cdf0e10cSrcweir    { 0x05, 0x42, aImplUniToDBCSTab_GB_26 },                    /* 0x26 */
344cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
345cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
346cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
347cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
348cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
349cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
350cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
351cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
352cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
353cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GB_30 },                    /* 0x30 */
354cdf0e10cSrcweir    { 0x05, 0x29, aImplUniToDBCSTab_GB_31 },                    /* 0x31 */
355cdf0e10cSrcweir    { 0x20, 0x29, aImplUniToDBCSTab_GBK_32 },                   /* 0x32 */
356cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x33 */
357cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
358cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
359cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
360cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
361cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
362cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
363cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
364cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
365cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
366cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
367cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
368cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
369cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
370cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
371cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
372cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
373cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
374cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
375cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
376cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
377cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
378cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
379cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
380cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
381cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
382cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
383cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_4E },                    /* 0x4E */
384cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GB_4F },                    /* 0x4F */
385cdf0e10cSrcweir    { 0x0C, 0xFB, aImplUniToDBCSTab_GB_50 },                    /* 0x50 */
386cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_GB_51 },                    /* 0x51 */
387cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_52 },                    /* 0x52 */
388cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GB_53 },                    /* 0x53 */
389cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_54 },                    /* 0x54 */
390cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GB_55 },                    /* 0x55 */
391cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_56 },                    /* 0x56 */
392cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_GB_57 },                    /* 0x57 */
393cdf0e10cSrcweir    { 0x00, 0xF9, aImplUniToDBCSTab_GB_58 },                    /* 0x58 */
394cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_GB_59 },                    /* 0x59 */
395cdf0e10cSrcweir    { 0x01, 0xF1, aImplUniToDBCSTab_GB_5A },                    /* 0x5A */
396cdf0e10cSrcweir    { 0x09, 0xFF, aImplUniToDBCSTab_GB_5B },                    /* 0x5B */
397cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GB_5C },                    /* 0x5C */
398cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_GB_5D },                    /* 0x5D */
399cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_5E },                    /* 0x5E */
400cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_5F },                    /* 0x5F */
401cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_60 },                    /* 0x60 */
402cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_61 },                    /* 0x61 */
403cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_GB_62 },                    /* 0x62 */
404cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_63 },                    /* 0x63 */
405cdf0e10cSrcweir    { 0x00, 0xE6, aImplUniToDBCSTab_GB_64 },                    /* 0x64 */
406cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_65 },                    /* 0x65 */
407cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_66 },                    /* 0x66 */
408cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_67 },                    /* 0x67 */
409cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_68 },                    /* 0x68 */
410cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_69 },                    /* 0x69 */
411cdf0e10cSrcweir    { 0x0A, 0xAC, aImplUniToDBCSTab_GB_6A },                    /* 0x6A */
412cdf0e10cSrcweir    { 0x20, 0xFD, aImplUniToDBCSTab_GB_6B },                    /* 0x6B */
413cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_GB_6C },                    /* 0x6C */
414cdf0e10cSrcweir    { 0x01, 0xFC, aImplUniToDBCSTab_GB_6D },                    /* 0x6D */
415cdf0e10cSrcweir    { 0x05, 0xF9, aImplUniToDBCSTab_GB_6E },                    /* 0x6E */
416cdf0e10cSrcweir    { 0x02, 0xEF, aImplUniToDBCSTab_GB_6F },                    /* 0x6F */
417cdf0e10cSrcweir    { 0x11, 0xFD, aImplUniToDBCSTab_GB_70 },                    /* 0x70 */
418cdf0e10cSrcweir    { 0x09, 0xF9, aImplUniToDBCSTab_GB_71 },                    /* 0x71 */
419cdf0e10cSrcweir    { 0x06, 0xFC, aImplUniToDBCSTab_GB_72 },                    /* 0x72 */
420cdf0e10cSrcweir    { 0x01, 0xF2, aImplUniToDBCSTab_GB_73 },                    /* 0x73 */
421cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_GB_74 },                    /* 0x74 */
422cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_GB_75 },                    /* 0x75 */
423cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_76 },                    /* 0x76 */
424cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_77 },                    /* 0x77 */
425cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_78 },                    /* 0x78 */
426cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GB_79 },                    /* 0x79 */
427cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_7A },                    /* 0x7A */
428cdf0e10cSrcweir    { 0x03, 0xFE, aImplUniToDBCSTab_GB_7B },                    /* 0x7B */
429cdf0e10cSrcweir    { 0x07, 0xFB, aImplUniToDBCSTab_GB_7C },                    /* 0x7C */
430cdf0e10cSrcweir    { 0x0A, 0xAE, aImplUniToDBCSTab_GB_7D },                    /* 0x7D */
431cdf0e10cSrcweir    { 0x3B, 0xFF, aImplUniToDBCSTab_GB_7E },                    /* 0x7E */
432cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_7F },                    /* 0x7F */
433cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GB_80 },                    /* 0x80 */
434cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_GB_81 },                    /* 0x81 */
435cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GB_82 },                    /* 0x82 */
436cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GB_83 },                    /* 0x83 */
437cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_84 },                    /* 0x84 */
438cdf0e10cSrcweir    { 0x0C, 0xFF, aImplUniToDBCSTab_GB_85 },                    /* 0x85 */
439cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_GB_86 },                    /* 0x86 */
440cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_87 },                    /* 0x87 */
441cdf0e10cSrcweir    { 0x03, 0xFE, aImplUniToDBCSTab_GB_88 },                    /* 0x88 */
442cdf0e10cSrcweir    { 0x02, 0xF3, aImplUniToDBCSTab_GB_89 },                    /* 0x89 */
443cdf0e10cSrcweir    { 0x00, 0x93, aImplUniToDBCSTab_GB_8A },                    /* 0x8A */
444cdf0e10cSrcweir    { 0x07, 0xFF, aImplUniToDBCSTab_GB_8B },                    /* 0x8B */
445cdf0e10cSrcweir    { 0x00, 0x98, aImplUniToDBCSTab_GB_8C },                    /* 0x8C */
446cdf0e10cSrcweir    { 0x1D, 0xFD, aImplUniToDBCSTab_GB_8D },                    /* 0x8D */
447cdf0e10cSrcweir    { 0x05, 0xCE, aImplUniToDBCSTab_GB_8E },                    /* 0x8E */
448cdf0e10cSrcweir    { 0x66, 0xFD, aImplUniToDBCSTab_GB_8F },                    /* 0x8F */
449cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_90 },                    /* 0x90 */
450cdf0e10cSrcweir    { 0x02, 0xDC, aImplUniToDBCSTab_GB_91 },                    /* 0x91 */
451cdf0e10cSrcweir    { 0x74, 0xC8, aImplUniToDBCSTab_GB_92 },                    /* 0x92 */
452cdf0e10cSrcweir    { 0x3E, 0xD6, aImplUniToDBCSTab_GB_93 },                    /* 0x93 */
453cdf0e10cSrcweir    { 0x3E, 0xFF, aImplUniToDBCSTab_GB_94 },                    /* 0x94 */
454cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_95 },                    /* 0x95 */
455cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_96 },                    /* 0x96 */
456cdf0e10cSrcweir    { 0x00, 0xF6, aImplUniToDBCSTab_GB_97 },                    /* 0x97 */
457cdf0e10cSrcweir    { 0x75, 0xE9, aImplUniToDBCSTab_GB_98 },                    /* 0x98 */
458cdf0e10cSrcweir    { 0x0D, 0xA8, aImplUniToDBCSTab_GB_99 },                    /* 0x99 */
459cdf0e10cSrcweir    { 0x6C, 0xFB, aImplUniToDBCSTab_GB_9A },                    /* 0x9A */
460cdf0e10cSrcweir    { 0x03, 0x54, aImplUniToDBCSTab_GB_9B },                    /* 0x9B */
461cdf0e10cSrcweir    { 0x7C, 0xE2, aImplUniToDBCSTab_GB_9C },                    /* 0x9C */
462cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x9D */
463cdf0e10cSrcweir    { 0x1F, 0xFE, aImplUniToDBCSTab_GB_9E },                    /* 0x9E */
464cdf0e10cSrcweir    { 0x0B, 0xA0, aImplUniToDBCSTab_GB_9F },                    /* 0x9F */
465cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
466cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
467cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
468cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
469cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
470cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
471cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
472cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
473cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
474cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
475cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
476cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
477cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAC */
478cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAD */
479cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAE */
480cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAF */
481cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB0 */
482cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB1 */
483cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB2 */
484cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB3 */
485cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB4 */
486cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB5 */
487cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB6 */
488cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB7 */
489cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB8 */
490cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB9 */
491cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBA */
492cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBB */
493cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBC */
494cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBD */
495cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBE */
496cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBF */
497cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC0 */
498cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC1 */
499cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC2 */
500cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC3 */
501cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC4 */
502cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC5 */
503cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC6 */
504cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC7 */
505cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC8 */
506cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC9 */
507cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCA */
508cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCB */
509cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCC */
510cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCD */
511cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCE */
512cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCF */
513cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD0 */
514cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD1 */
515cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD2 */
516cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD3 */
517cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD4 */
518cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD5 */
519cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD6 */
520cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD7 */
521cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
522cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
523cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
524cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
525cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
526cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
527cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
528cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
529cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
530cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
531cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
532cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
533cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
534cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
535cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
536cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
537cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
538cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
539cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
540cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
541cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
542cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
543cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
544cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
545cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
546cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
547cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
548cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
549cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
550cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
551cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
552cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
553cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
554cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF9 */
555cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFA */
556cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
557cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
558cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
559cdf0e10cSrcweir    { 0x31, 0x44, aImplUniToDBCSTab_GB_FE },                    /* 0xFE */
560cdf0e10cSrcweir    { 0x01, 0xE5, aImplUniToDBCSTab_GB_FF }                     /* 0xFF */
561cdf0e10cSrcweir};
562cdf0e10cSrcweir
563cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
564cdf0e10cSrcweir
565cdf0e10cSrcweir/* F8A1-FEFE    --> E000-E29F */
566cdf0e10cSrcweir/* AAA1-AFFE    --> E2A0-E4DF */
567cdf0e10cSrcweir
568cdf0e10cSrcweir#define DBCS_EUDC_MS936_COUNT       2
569cdf0e10cSrcweirstatic ImplDBCSEUDCData const aImplMS936DBCSEUDCTab[DBCS_EUDC_MS936_COUNT] =
570cdf0e10cSrcweir{
571cdf0e10cSrcweir    /* EUDC-Range (the mapping defined by MS is A0-FF, because the */
572cdf0e10cSrcweir    /* unicode range is E000-E29F and E2A0-E4DF) */
573cdf0e10cSrcweir    /* Lead:    F8-FE */
574cdf0e10cSrcweir    /* Trail:   A1-FE */
575cdf0e10cSrcweir    { 0xF8, 0xFE, 0xA0, 0xFF, 0, 0, 0, 0, 1, 0x60, 0xE000, 0xE29F },
576cdf0e10cSrcweir    /* Lead:    AA-AF */
577cdf0e10cSrcweir    /* Trail:   A1-FE */
578cdf0e10cSrcweir    { 0xAA, 0xAF, 0xA0, 0xFF, 0, 0, 0, 0, 1, 0x60, 0xE2A0, 0xE4DF }
579cdf0e10cSrcweir};
580cdf0e10cSrcweir
581cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
582cdf0e10cSrcweir
583cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplGB2312DBCSCvtData =
584cdf0e10cSrcweir{
585cdf0e10cSrcweir    aGB2312UniLeadTab,
586cdf0e10cSrcweir    aGB2312DBCSHighTab,
587cdf0e10cSrcweir    0x00, 0xFF,
588cdf0e10cSrcweir    0xA1, 0xFE,
589cdf0e10cSrcweir    aImplMS936DBCSEUDCTab,
590cdf0e10cSrcweir    DBCS_EUDC_MS936_COUNT
591cdf0e10cSrcweir};
592cdf0e10cSrcweir
593cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
594cdf0e10cSrcweir
595cdf0e10cSrcweirstatic ImplTextEncodingData const aImplGB2312TextEncodingData
596cdf0e10cSrcweir    = { { &aImplGB2312DBCSCvtData,
597cdf0e10cSrcweir          ImplDBCSToUnicode,
598cdf0e10cSrcweir          ImplUnicodeToDBCS,
599cdf0e10cSrcweir          NULL,
600cdf0e10cSrcweir          NULL,
601cdf0e10cSrcweir          NULL,
602cdf0e10cSrcweir          NULL,
603cdf0e10cSrcweir          NULL,
604cdf0e10cSrcweir          NULL },
605cdf0e10cSrcweir        1,
606cdf0e10cSrcweir        2,
607cdf0e10cSrcweir        2,
608cdf0e10cSrcweir        134,
609cdf0e10cSrcweir        "euc-cn",
610cdf0e10cSrcweir        "gb2312",
611cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII
612cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MULTIBYTE
613cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MIME };
614cdf0e10cSrcweir    /* SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding 25 */
615cdf0e10cSrcweir
616cdf0e10cSrcweir/* ======================================================================= */
617cdf0e10cSrcweir
618cdf0e10cSrcweirstatic ImplTextEncodingData const aImplEUCCNTextEncodingData
619cdf0e10cSrcweir    = { { &aImplGB2312DBCSCvtData,
620cdf0e10cSrcweir          ImplDBCSToUnicode,
621cdf0e10cSrcweir          ImplUnicodeToDBCS,
622cdf0e10cSrcweir          NULL,
623cdf0e10cSrcweir          NULL,
624cdf0e10cSrcweir          NULL,
625cdf0e10cSrcweir          NULL,
626cdf0e10cSrcweir          NULL,
627cdf0e10cSrcweir          NULL },
628cdf0e10cSrcweir        1,
629cdf0e10cSrcweir        2,
630cdf0e10cSrcweir        2,
631cdf0e10cSrcweir        134,
632cdf0e10cSrcweir        "euc-cn",
633cdf0e10cSrcweir        "gb2312",
634cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MULTIBYTE };
635cdf0e10cSrcweir    /* SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding 25 */
636cdf0e10cSrcweir
637cdf0e10cSrcweir/* ======================================================================= */
638cdf0e10cSrcweir
639cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aGBT12345UniLeadTab[256] =
640cdf0e10cSrcweir{
641cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
642cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
643cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
644cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
645cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
646cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
647cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
648cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
649cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
650cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
651cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
652cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
653cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
654cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
655cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
656cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
657cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
658cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
659cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
660cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
661cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
662cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
663cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
664cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
665cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
666cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
667cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
668cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
669cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
670cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
671cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
672cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
673cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
674cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
675cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
676cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
677cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
678cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
679cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
680cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
681cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
682cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
683cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
684cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
685cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
686cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
687cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
688cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
689cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
690cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
691cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
692cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
693cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
694cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
695cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
696cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
697cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
698cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
699cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
700cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
701cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
702cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
703cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
704cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
705cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
706cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
707cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
708cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
709cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
710cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
711cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
712cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
713cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
714cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
715cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
716cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
717cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
718cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
719cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
720cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
721cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
722cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
723cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
724cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
725cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
726cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
727cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
728cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
729cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
730cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
731cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
732cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
733cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
734cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
735cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
736cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
737cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
738cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
739cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
740cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
741cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
742cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
743cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
744cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
745cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
746cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
747cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
748cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
749cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
750cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
751cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
752cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
753cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
754cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
755cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
756cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
757cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
758cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
759cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
760cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
761cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
762cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
763cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
764cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
765cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
766cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
767cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
768cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
769cdf0e10cSrcweir    { 0x20AC,    0,    0, NULL },                               /* 0x80 */
770cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x81 */ /* We convert this as double byte */
771cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x82 */ /* We convert this as double byte */
772cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x83 */ /* We convert this as double byte */
773cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x84 */ /* We convert this as double byte */
774cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x85 */ /* We convert this as double byte */
775cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x86 */ /* We convert this as double byte */
776cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x87 */ /* We convert this as double byte */
777cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x88 */ /* We convert this as double byte */
778cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x89 */ /* We convert this as double byte */
779cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8A */ /* We convert this as double byte */
780cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8B */ /* We convert this as double byte */
781cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8C */ /* We convert this as double byte */
782cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8D */ /* We convert this as double byte */
783cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8E */ /* We convert this as double byte */
784cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8F */ /* We convert this as double byte */
785cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x90 */ /* We convert this as double byte */
786cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x91 */ /* We convert this as double byte */
787cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x92 */ /* We convert this as double byte */
788cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x93 */ /* We convert this as double byte */
789cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x94 */ /* We convert this as double byte */
790cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x95 */ /* We convert this as double byte */
791cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x96 */ /* We convert this as double byte */
792cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x97 */ /* We convert this as double byte */
793cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x98 */ /* We convert this as double byte */
794cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x99 */ /* We convert this as double byte */
795cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9A */ /* We convert this as double byte */
796cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9B */ /* We convert this as double byte */
797cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9C */ /* We convert this as double byte */
798cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9D */ /* We convert this as double byte */
799cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9E */ /* We convert this as double byte */
800cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9F */ /* We convert this as double byte */
801cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xA0 */
802cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A1 },            /* 0xA1 */
803cdf0e10cSrcweir    {      0, 0xA1, 0xFC, aImplDBCSToUniTab_GB_A2 },            /* 0xA2 */
804cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A3 },            /* 0xA3 */
805cdf0e10cSrcweir    {      0, 0xA1, 0xF3, aImplDBCSToUniTab_GB_A4 },            /* 0xA4 */
806cdf0e10cSrcweir    {      0, 0xA1, 0xF6, aImplDBCSToUniTab_GB_A5 },            /* 0xA5 */
807cdf0e10cSrcweir    {      0, 0xA1, 0xF5, aImplDBCSToUniTab_GB_A6 },            /* 0xA6 */
808cdf0e10cSrcweir    {      0, 0xA1, 0xF1, aImplDBCSToUniTab_GB_A7 },            /* 0xA7 */
809cdf0e10cSrcweir    {      0, 0xA1, 0xE9, aImplDBCSToUniTab_GBK_A8+GBKOFF },    /* 0xA8 */
810cdf0e10cSrcweir    {      0, 0xA1, 0xEF, aImplDBCSToUniTab_GBK_A9+GBKOFF },    /* 0xA9 */
811cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAA */ /* We convert this as double byte */
812cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAB */ /* We convert this as double byte */
813cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAC */ /* We convert this as double byte */
814cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAD */ /* We convert this as double byte */
815cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAE */ /* We convert this as double byte */
816cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAF */ /* We convert this as double byte */
817cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B0 },           /* 0xB0 */
818cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B1 },           /* 0xB1 */
819cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B2 },           /* 0xB2 */
820cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B3 },           /* 0xB3 */
821cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B4 },           /* 0xB4 */
822cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B5 },           /* 0xB5 */
823cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B6 },           /* 0xB6 */
824cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B7 },           /* 0xB7 */
825cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B8 },           /* 0xB8 */
826cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_B9 },           /* 0xB9 */
827cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BA },           /* 0xBA */
828cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BB },           /* 0xBB */
829cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BC },           /* 0xBC */
830cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BD },           /* 0xBD */
831cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BE },           /* 0xBE */
832cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_BF },           /* 0xBF */
833cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C0 },           /* 0xC0 */
834cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C1 },           /* 0xC1 */
835cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C2 },           /* 0xC2 */
836cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C3 },           /* 0xC3 */
837cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C4 },           /* 0xC4 */
838cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C5 },           /* 0xC5 */
839cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C6 },           /* 0xC6 */
840cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C7 },           /* 0xC7 */
841cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C8 },           /* 0xC8 */
842cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_C9 },           /* 0xC9 */
843cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CA },           /* 0xCA */
844cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CB },           /* 0xCB */
845cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CC },           /* 0xCC */
846cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CD },           /* 0xCD */
847cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CE },           /* 0xCE */
848cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_CF },           /* 0xCF */
849cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D0 },           /* 0xD0 */
850cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D1 },           /* 0xD1 */
851cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D2 },           /* 0xD2 */
852cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D3 },           /* 0xD3 */
853cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D4 },           /* 0xD4 */
854cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D5 },           /* 0xD5 */
855cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D6 },           /* 0xD6 */
856cdf0e10cSrcweir    {      0, 0xA1, 0xF9, aImplDBCSToUniTab_GBT_D7 },           /* 0xD7 */
857cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D8 },           /* 0xD8 */
858cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_D9 },           /* 0xD9 */
859cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DA },           /* 0xDA */
860cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DB },           /* 0xDB */
861cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DC },           /* 0xDC */
862cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DD },           /* 0xDD */
863cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DE },           /* 0xDE */
864cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_DF },           /* 0xDF */
865cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E0 },           /* 0xE0 */
866cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E1 },           /* 0xE1 */
867cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E2 },           /* 0xE2 */
868cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E3 },           /* 0xE3 */
869cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E4 },           /* 0xE4 */
870cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E5 },           /* 0xE5 */
871cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E6 },           /* 0xE6 */
872cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E7 },           /* 0xE7 */
873cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E8 },           /* 0xE8 */
874cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_E9 },           /* 0xE9 */
875cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_EA },           /* 0xEA */
876cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_EB },           /* 0xEB */
877cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_EC },           /* 0xEC */
878cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_ED },           /* 0xED */
879cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_EE },           /* 0xEE */
880cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_EF },           /* 0xEF */
881cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F0 },           /* 0xF0 */
882cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F1 },           /* 0xF1 */
883cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F2 },           /* 0xF2 */
884cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F3 },           /* 0xF3 */
885cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F4 },           /* 0xF4 */
886cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F5 },           /* 0xF5 */
887cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F6 },           /* 0xF6 */
888cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F7 },           /* 0xF7 */
889cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBT_F8 },           /* 0xF8 */
890cdf0e10cSrcweir    {      0, 0xA1, 0xA9, aImplDBCSToUniTab_GBT_F9 },           /* 0xF9 */
891cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFA */ /* We convert this as double byte */
892cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFB */ /* We convert this as double byte */
893cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFC */ /* We convert this as double byte */
894cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFD */ /* We convert this as double byte */
895cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFE */ /* We convert this as double byte */
896cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
897cdf0e10cSrcweir};
898cdf0e10cSrcweir
899cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
900cdf0e10cSrcweir
901cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aGBT12345DBCSHighTab[256] =
902cdf0e10cSrcweir{
903cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_00 },                    /* 0x00 */
904cdf0e10cSrcweir    { 0x01, 0xDC, aImplUniToDBCSTab_GB_01 },                    /* 0x01 */
905cdf0e10cSrcweir    { 0x51, 0xC9, aImplUniToDBCSTab_GB_02 },                    /* 0x02 */
906cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_GB_03 },                    /* 0x03 */
907cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_GB_04 },                    /* 0x04 */
908cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
909cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
910cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
911cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
912cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
913cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
914cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
915cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
916cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
917cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
918cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
919cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
920cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
921cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
922cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
923cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
924cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
925cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
926cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
927cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
928cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
929cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
930cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
931cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
932cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
933cdf0e10cSrcweir    { 0x3F, 0x3F, aImplUniToDBCSTab_APPLECHINSIMP_1E },         /* 0x1E */ /* we convert this char also to unicode */
934cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
935cdf0e10cSrcweir    { 0x14, 0xAC, aImplUniToDBCSTab_GB_20 },                    /* 0x20 */
936cdf0e10cSrcweir    { 0x03, 0x93, aImplUniToDBCSTab_GB_21 },                    /* 0x21 */
937cdf0e10cSrcweir    { 0x08, 0xEF, aImplUniToDBCSTab_GB_22 },                    /* 0x22 */
938cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_GB_23 },                    /* 0x23 */
939cdf0e10cSrcweir    { 0x60, 0x9B, aImplUniToDBCSTab_GB_24 },                    /* 0x24 */
940cdf0e10cSrcweir    { 0x00, 0xCF, aImplUniToDBCSTab_GB_25 },                    /* 0x25 */
941cdf0e10cSrcweir    { 0x05, 0x42, aImplUniToDBCSTab_GB_26 },                    /* 0x26 */
942cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
943cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
944cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
945cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
946cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
947cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
948cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
949cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
950cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
951cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GB_30 },                    /* 0x30 */
952cdf0e10cSrcweir    { 0x05, 0x29, aImplUniToDBCSTab_GB_31 },                    /* 0x31 */
953cdf0e10cSrcweir    { 0x20, 0x29, aImplUniToDBCSTab_GBK_32 },                   /* 0x32 */
954cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x33 */
955cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
956cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
957cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
958cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
959cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
960cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
961cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
962cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
963cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
964cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
965cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
966cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
967cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
968cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
969cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
970cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
971cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
972cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
973cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
974cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
975cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
976cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
977cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
978cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
979cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
980cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
981cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_4E },                   /* 0x4E */
982cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GBT_4F },                   /* 0x4F */
983cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GBT_50 },                   /* 0x50 */
984cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GBT_51 },                   /* 0x51 */
985cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_52 },                   /* 0x52 */
986cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GBT_53 },                   /* 0x53 */
987cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GBT_54 },                   /* 0x54 */
988cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GBT_55 },                   /* 0x55 */
989cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_56 },                   /* 0x56 */
990cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_GBT_57 },                   /* 0x57 */
991cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GBT_58 },                   /* 0x58 */
992cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_GBT_59 },                   /* 0x59 */
993cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GBT_5A },                   /* 0x5A */
994cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GBT_5B },                   /* 0x5B */
995cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GBT_5C },                   /* 0x5C */
996cdf0e10cSrcweir    { 0x06, 0xFE, aImplUniToDBCSTab_GBT_5D },                   /* 0x5D */
997cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_GBT_5E },                   /* 0x5E */
998cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GBT_5F },                   /* 0x5F */
999cdf0e10cSrcweir    { 0x0A, 0xFB, aImplUniToDBCSTab_GBT_60 },                   /* 0x60 */
1000cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_61 },                   /* 0x61 */
1001cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_62 },                   /* 0x62 */
1002cdf0e10cSrcweir    { 0x01, 0xF8, aImplUniToDBCSTab_GBT_63 },                   /* 0x63 */
1003cdf0e10cSrcweir    { 0x0B, 0xFE, aImplUniToDBCSTab_GBT_64 },                   /* 0x64 */
1004cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GBT_65 },                   /* 0x65 */
1005cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_66 },                   /* 0x66 */
1006cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_67 },                   /* 0x67 */
1007cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GBT_68 },                   /* 0x68 */
1008cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GBT_69 },                   /* 0x69 */
1009cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GBT_6A },                   /* 0x6A */
1010cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_GBT_6B },                   /* 0x6B */
1011cdf0e10cSrcweir    { 0x05, 0xF5, aImplUniToDBCSTab_GBT_6C },                   /* 0x6C */
1012cdf0e10cSrcweir    { 0x04, 0xFC, aImplUniToDBCSTab_GBT_6D },                   /* 0x6D */
1013cdf0e10cSrcweir    { 0x05, 0xFF, aImplUniToDBCSTab_GBT_6E },                   /* 0x6E */
1014cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GBT_6F },                   /* 0x6F */
1015cdf0e10cSrcweir    { 0x05, 0xFD, aImplUniToDBCSTab_GBT_70 },                   /* 0x70 */
1016cdf0e10cSrcweir    { 0x09, 0xFE, aImplUniToDBCSTab_GBT_71 },                   /* 0x71 */
1017cdf0e10cSrcweir    { 0x06, 0xFD, aImplUniToDBCSTab_GBT_72 },                   /* 0x72 */
1018cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GBT_73 },                   /* 0x73 */
1019cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_GBT_74 },                   /* 0x74 */
1020cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_GBT_75 },                   /* 0x75 */
1021cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_76 },                   /* 0x76 */
1022cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GBT_77 },                   /* 0x77 */
1023cdf0e10cSrcweir    { 0x02, 0xFD, aImplUniToDBCSTab_GBT_78 },                   /* 0x78 */
1024cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GBT_79 },                   /* 0x79 */
1025cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_7A },                   /* 0x7A */
1026cdf0e10cSrcweir    { 0x04, 0xFE, aImplUniToDBCSTab_GBT_7B },                   /* 0x7B */
1027cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_7C },                   /* 0x7C */
1028cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GBT_7D },                   /* 0x7D */
1029cdf0e10cSrcweir    { 0x08, 0x9C, aImplUniToDBCSTab_GBT_7E },                   /* 0x7E */
1030cdf0e10cSrcweir    { 0x36, 0xFC, aImplUniToDBCSTab_GBT_7F },                   /* 0x7F */
1031cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GBT_80 },                   /* 0x80 */
1032cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_GBT_81 },                   /* 0x81 */
1033cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GBT_82 },                   /* 0x82 */
1034cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GBT_83 },                   /* 0x83 */
1035cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GBT_84 },                   /* 0x84 */
1036cdf0e10cSrcweir    { 0x0C, 0xFF, aImplUniToDBCSTab_GBT_85 },                   /* 0x85 */
1037cdf0e10cSrcweir    { 0x04, 0xFE, aImplUniToDBCSTab_GBT_86 },                   /* 0x86 */
1038cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_87 },                   /* 0x87 */
1039cdf0e10cSrcweir    { 0x03, 0xFE, aImplUniToDBCSTab_GBT_88 },                   /* 0x88 */
1040cdf0e10cSrcweir    { 0x02, 0xF8, aImplUniToDBCSTab_GBT_89 },                   /* 0x89 */
1041cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_8A },                   /* 0x8A */
1042cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_8B },                   /* 0x8B */
1043cdf0e10cSrcweir    { 0x07, 0xFE, aImplUniToDBCSTab_GBT_8C },                   /* 0x8C */
1044cdf0e10cSrcweir    { 0x04, 0xFD, aImplUniToDBCSTab_GBT_8D },                   /* 0x8D */
1045cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_GBT_8E },                   /* 0x8E */
1046cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_GBT_8F },                   /* 0x8F */
1047cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBT_90 },                   /* 0x90 */
1048cdf0e10cSrcweir    { 0x02, 0xFA, aImplUniToDBCSTab_GBT_91 },                   /* 0x91 */
1049cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GBT_92 },                   /* 0x92 */
1050cdf0e10cSrcweir    { 0x01, 0xF9, aImplUniToDBCSTab_GBT_93 },                   /* 0x93 */
1051cdf0e10cSrcweir    { 0x03, 0x7F, aImplUniToDBCSTab_GBT_94 },                   /* 0x94 */
1052cdf0e10cSrcweir    { 0x77, 0xE5, aImplUniToDBCSTab_GBT_95 },                   /* 0x95 */
1053cdf0e10cSrcweir    { 0x1C, 0xFB, aImplUniToDBCSTab_GBT_96 },                   /* 0x96 */
1054cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBT_97 },                   /* 0x97 */
1055cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GBT_98 },                   /* 0x98 */
1056cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_GBT_99 },                   /* 0x99 */
1057cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GBT_9A },                   /* 0x9A */
1058cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_GBT_9B },                   /* 0x9B */
1059cdf0e10cSrcweir    { 0x08, 0xF6, aImplUniToDBCSTab_GBT_9C },                   /* 0x9C */
1060cdf0e10cSrcweir    { 0x06, 0xFA, aImplUniToDBCSTab_GBT_9D },                   /* 0x9D */
1061cdf0e10cSrcweir    { 0x0C, 0xFF, aImplUniToDBCSTab_GBT_9E },                   /* 0x9E */
1062cdf0e10cSrcweir    { 0x09, 0xA0, aImplUniToDBCSTab_GBT_9F },                   /* 0x9F */
1063cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
1064cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
1065cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
1066cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
1067cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
1068cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
1069cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
1070cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
1071cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
1072cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
1073cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
1074cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
1075cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAC */
1076cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAD */
1077cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAE */
1078cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAF */
1079cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB0 */
1080cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB1 */
1081cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB2 */
1082cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB3 */
1083cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB4 */
1084cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB5 */
1085cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB6 */
1086cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB7 */
1087cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB8 */
1088cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB9 */
1089cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBA */
1090cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBB */
1091cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBC */
1092cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBD */
1093cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBE */
1094cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBF */
1095cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC0 */
1096cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC1 */
1097cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC2 */
1098cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC3 */
1099cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC4 */
1100cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC5 */
1101cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC6 */
1102cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC7 */
1103cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC8 */
1104cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC9 */
1105cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCA */
1106cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCB */
1107cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCC */
1108cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCD */
1109cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCE */
1110cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCF */
1111cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD0 */
1112cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD1 */
1113cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD2 */
1114cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD3 */
1115cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD4 */
1116cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD5 */
1117cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD6 */
1118cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD7 */
1119cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
1120cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
1121cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
1122cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
1123cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
1124cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
1125cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
1126cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
1127cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
1128cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
1129cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
1130cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
1131cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
1132cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
1133cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
1134cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
1135cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
1136cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
1137cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
1138cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
1139cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
1140cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
1141cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
1142cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
1143cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
1144cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
1145cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
1146cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
1147cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
1148cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
1149cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
1150cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
1151cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
1152cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF9 */
1153cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFA */
1154cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
1155cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
1156cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
1157cdf0e10cSrcweir    { 0x31, 0x44, aImplUniToDBCSTab_GB_FE },                    /* 0xFE */
1158cdf0e10cSrcweir    { 0x01, 0xE5, aImplUniToDBCSTab_GB_FF }                     /* 0xFF */
1159cdf0e10cSrcweir};
1160cdf0e10cSrcweir
1161cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1162cdf0e10cSrcweir
1163cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplGBT12345DBCSCvtData =
1164cdf0e10cSrcweir{
1165cdf0e10cSrcweir    aGBT12345UniLeadTab,
1166cdf0e10cSrcweir    aGBT12345DBCSHighTab,
1167cdf0e10cSrcweir    0x00, 0xFF,
1168cdf0e10cSrcweir    0xA1, 0xFE,
1169cdf0e10cSrcweir    aImplMS936DBCSEUDCTab,
1170cdf0e10cSrcweir    DBCS_EUDC_MS936_COUNT
1171cdf0e10cSrcweir};
1172cdf0e10cSrcweir
1173cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1174cdf0e10cSrcweir
1175cdf0e10cSrcweirstatic ImplTextEncodingData const aImplGBT12345TextEncodingData
1176cdf0e10cSrcweir    = { { &aImplGBT12345DBCSCvtData,
1177cdf0e10cSrcweir          ImplDBCSToUnicode,
1178cdf0e10cSrcweir          ImplUnicodeToDBCS,
1179cdf0e10cSrcweir          NULL,
1180cdf0e10cSrcweir          NULL,
1181cdf0e10cSrcweir          NULL,
1182cdf0e10cSrcweir          NULL,
1183cdf0e10cSrcweir          NULL,
1184cdf0e10cSrcweir          NULL },
1185cdf0e10cSrcweir        1,
1186cdf0e10cSrcweir        2,
1187cdf0e10cSrcweir        2,
1188cdf0e10cSrcweir        134,
1189cdf0e10cSrcweir        "euc-cn",
1190cdf0e10cSrcweir        "cn-gb-12345",
1191cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII
1192cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MULTIBYTE
1193cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MIME };
1194cdf0e10cSrcweir    /* SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding 25 */
1195cdf0e10cSrcweir
1196cdf0e10cSrcweir/* ======================================================================= */
1197cdf0e10cSrcweir
1198cdf0e10cSrcweir/* #100054# In the GBK range FE50--FEA0, added those mappings (in both
1199cdf0e10cSrcweir   directions) taken from GB-18030 that do not map to Unicode PUA (i.e., those
1200cdf0e10cSrcweir   mappings marked with an * below):
1201cdf0e10cSrcweir
1202cdf0e10cSrcweir   FE50 -> U+2E81 *
1203cdf0e10cSrcweir   FE51 -> U+E816
1204cdf0e10cSrcweir   FE52 -> U+E817
1205cdf0e10cSrcweir   FE53 -> U+E818
1206cdf0e10cSrcweir   FE54 -> U+2E84 *
1207cdf0e10cSrcweir   FE55 -> U+3473 *
1208cdf0e10cSrcweir   FE56 -> U+3447 *
1209cdf0e10cSrcweir   FE57 -> U+2E88 *
1210cdf0e10cSrcweir   FE58 -> U+2E8B *
1211cdf0e10cSrcweir   FE59 -> U+E81E
1212cdf0e10cSrcweir   FE5A -> U+359E *
1213cdf0e10cSrcweir   FE5B -> U+361A *
1214cdf0e10cSrcweir   FE5C -> U+360E *
1215cdf0e10cSrcweir   FE5D -> U+2E8C *
1216cdf0e10cSrcweir   FE5E -> U+2E97 *
1217cdf0e10cSrcweir   FE5F -> U+396E *
1218cdf0e10cSrcweir   FE60 -> U+3918 *
1219cdf0e10cSrcweir   FE61 -> U+E826
1220cdf0e10cSrcweir   FE62 -> U+39CF *
1221cdf0e10cSrcweir   FE63 -> U+39DF *
1222cdf0e10cSrcweir   FE64 -> U+3A73 *
1223cdf0e10cSrcweir   FE65 -> U+39D0 *
1224cdf0e10cSrcweir   FE66 -> U+E82B
1225cdf0e10cSrcweir   FE67 -> U+E82C
1226cdf0e10cSrcweir   FE68 -> U+3B4E *
1227cdf0e10cSrcweir   FE69 -> U+3C6E *
1228cdf0e10cSrcweir   FE6A -> U+3CE0 *
1229cdf0e10cSrcweir   FE6B -> U+2EA7 *
1230cdf0e10cSrcweir   FE6C -> U+E831
1231cdf0e10cSrcweir   FE6D -> U+E832
1232cdf0e10cSrcweir   FE6E -> U+2EAA *
1233cdf0e10cSrcweir   FE6F -> U+4056 *
1234cdf0e10cSrcweir   FE70 -> U+415F *
1235cdf0e10cSrcweir   FE71 -> U+2EAE *
1236cdf0e10cSrcweir   FE72 -> U+4337 *
1237cdf0e10cSrcweir   FE73 -> U+2EB3 *
1238cdf0e10cSrcweir   FE74 -> U+2EB6 *
1239cdf0e10cSrcweir   FE75 -> U+2EB7 *
1240cdf0e10cSrcweir   FE76 -> U+E83B
1241cdf0e10cSrcweir   FE77 -> U+43B1 *
1242cdf0e10cSrcweir   FE78 -> U+43AC *
1243cdf0e10cSrcweir   FE79 -> U+2EBB *
1244cdf0e10cSrcweir   FE7A -> U+43DD *
1245cdf0e10cSrcweir   FE7B -> U+44D6 *
1246cdf0e10cSrcweir   FE7C -> U+4661 *
1247cdf0e10cSrcweir   FE7D -> U+464C *
1248cdf0e10cSrcweir   FE7E -> U+E843
1249cdf0e10cSrcweir   FE80 -> U+4723 *
1250cdf0e10cSrcweir   FE81 -> U+4729 *
1251cdf0e10cSrcweir   FE82 -> U+477C *
1252cdf0e10cSrcweir   FE83 -> U+478D *
1253cdf0e10cSrcweir   FE84 -> U+2ECA *
1254cdf0e10cSrcweir   FE85 -> U+4947 *
1255cdf0e10cSrcweir   FE86 -> U+497A *
1256cdf0e10cSrcweir   FE87 -> U+497D *
1257cdf0e10cSrcweir   FE88 -> U+4982 *
1258cdf0e10cSrcweir   FE89 -> U+4983 *
1259cdf0e10cSrcweir   FE8A -> U+4985 *
1260cdf0e10cSrcweir   FE8B -> U+4986 *
1261cdf0e10cSrcweir   FE8C -> U+499F *
1262cdf0e10cSrcweir   FE8D -> U+499B *
1263cdf0e10cSrcweir   FE8E -> U+49B7 *
1264cdf0e10cSrcweir   FE8F -> U+49B6 *
1265cdf0e10cSrcweir   FE90 -> U+E854
1266cdf0e10cSrcweir   FE91 -> U+E855
1267cdf0e10cSrcweir   FE92 -> U+4CA3 *
1268cdf0e10cSrcweir   FE93 -> U+4C9F *
1269cdf0e10cSrcweir   FE94 -> U+4CA0 *
1270cdf0e10cSrcweir   FE95 -> U+4CA1 *
1271cdf0e10cSrcweir   FE96 -> U+4C77 *
1272cdf0e10cSrcweir   FE97 -> U+4CA2 *
1273cdf0e10cSrcweir   FE98 -> U+4D13 *
1274cdf0e10cSrcweir   FE99 -> U+4D14 *
1275cdf0e10cSrcweir   FE9A -> U+4D15 *
1276cdf0e10cSrcweir   FE9B -> U+4D16 *
1277cdf0e10cSrcweir   FE9C -> U+4D17 *
1278cdf0e10cSrcweir   FE9D -> U+4D18 *
1279cdf0e10cSrcweir   FE9E -> U+4D19 *
1280cdf0e10cSrcweir   FE9F -> U+4DAE *
1281cdf0e10cSrcweir   FEA0 -> U+E864
1282cdf0e10cSrcweir*/
1283cdf0e10cSrcweir
1284cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aGBKUniLeadTab[256] =
1285cdf0e10cSrcweir{
1286cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
1287cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
1288cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
1289cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
1290cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
1291cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
1292cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
1293cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
1294cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
1295cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
1296cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
1297cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
1298cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
1299cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
1300cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
1301cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
1302cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
1303cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
1304cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
1305cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
1306cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
1307cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
1308cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
1309cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
1310cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
1311cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
1312cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
1313cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
1314cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
1315cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
1316cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
1317cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
1318cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
1319cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
1320cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
1321cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
1322cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
1323cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
1324cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
1325cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
1326cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
1327cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
1328cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
1329cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
1330cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
1331cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
1332cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
1333cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
1334cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
1335cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
1336cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
1337cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
1338cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
1339cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
1340cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
1341cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
1342cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
1343cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
1344cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
1345cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
1346cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
1347cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
1348cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
1349cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
1350cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
1351cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
1352cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
1353cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
1354cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
1355cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
1356cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
1357cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
1358cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
1359cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
1360cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
1361cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
1362cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
1363cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
1364cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
1365cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
1366cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
1367cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
1368cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
1369cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
1370cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
1371cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
1372cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
1373cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
1374cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
1375cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
1376cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
1377cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
1378cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
1379cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
1380cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
1381cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
1382cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
1383cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
1384cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
1385cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
1386cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
1387cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
1388cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
1389cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
1390cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
1391cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
1392cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
1393cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
1394cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
1395cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
1396cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
1397cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
1398cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
1399cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
1400cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
1401cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
1402cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
1403cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
1404cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
1405cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
1406cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
1407cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
1408cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
1409cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
1410cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
1411cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
1412cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
1413cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
1414cdf0e10cSrcweir    { 0x20AC,    0,    0, NULL },                               /* 0x80 */
1415cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_81 },           /* 0x81 */
1416cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_82 },           /* 0x82 */
1417cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_83 },           /* 0x83 */
1418cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_84 },           /* 0x84 */
1419cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_85 },           /* 0x85 */
1420cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_86 },           /* 0x86 */
1421cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_87 },           /* 0x87 */
1422cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_88 },           /* 0x88 */
1423cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_89 },           /* 0x89 */
1424cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8A },           /* 0x8A */
1425cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8B },           /* 0x8B */
1426cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8C },           /* 0x8C */
1427cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8D },           /* 0x8D */
1428cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8E },           /* 0x8E */
1429cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8F },           /* 0x8F */
1430cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_90 },           /* 0x90 */
1431cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_91 },           /* 0x91 */
1432cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_92 },           /* 0x92 */
1433cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_93 },           /* 0x93 */
1434cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_94 },           /* 0x94 */
1435cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_95 },           /* 0x95 */
1436cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_96 },           /* 0x96 */
1437cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_97 },           /* 0x97 */
1438cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_98 },           /* 0x98 */
1439cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_99 },           /* 0x99 */
1440cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9A },           /* 0x9A */
1441cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9B },           /* 0x9B */
1442cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9C },           /* 0x9C */
1443cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9D },           /* 0x9D */
1444cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9E },           /* 0x9E */
1445cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9F },           /* 0x9F */
1446cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_A0 },           /* 0xA0 */
1447cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A1 },            /* 0xA1 */
1448cdf0e10cSrcweir    {      0, 0xA1, 0xFC, aImplDBCSToUniTab_GB_A2 },            /* 0xA2 */
1449cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A3 },            /* 0xA3 */
1450cdf0e10cSrcweir    {      0, 0xA1, 0xF3, aImplDBCSToUniTab_GB_A4 },            /* 0xA4 */
1451cdf0e10cSrcweir    {      0, 0xA1, 0xF6, aImplDBCSToUniTab_GB_A5 },            /* 0xA5 */
1452cdf0e10cSrcweir    {      0, 0xA1, 0xF5, aImplDBCSToUniTab_GB_A6 },            /* 0xA6 */
1453cdf0e10cSrcweir    {      0, 0xA1, 0xF1, aImplDBCSToUniTab_GB_A7 },            /* 0xA7 */
1454cdf0e10cSrcweir    {      0, 0x40, 0xE9, aImplDBCSToUniTab_GBK_A8 },           /* 0xA8 */
1455cdf0e10cSrcweir    {      0, 0x40, 0xEF, aImplDBCSToUniTab_GBK_A9 },           /* 0xA9 */
1456cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AA },           /* 0xAA */
1457cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AB },           /* 0xAB */
1458cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AC },           /* 0xAC */
1459cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AD },           /* 0xAD */
1460cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AE },           /* 0xAE */
1461cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AF },           /* 0xAF */
1462cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B0 },           /* 0xB0 */
1463cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B1 },           /* 0xB1 */
1464cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B2 },           /* 0xB2 */
1465cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B3 },           /* 0xB3 */
1466cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B4 },           /* 0xB4 */
1467cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B5 },           /* 0xB5 */
1468cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B6 },           /* 0xB6 */
1469cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B7 },           /* 0xB7 */
1470cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B8 },           /* 0xB8 */
1471cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B9 },           /* 0xB9 */
1472cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BA },           /* 0xBA */
1473cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BB },           /* 0xBB */
1474cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BC },           /* 0xBC */
1475cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BD },           /* 0xBD */
1476cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BE },           /* 0xBE */
1477cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BF },           /* 0xBF */
1478cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C0 },           /* 0xC0 */
1479cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C1 },           /* 0xC1 */
1480cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C2 },           /* 0xC2 */
1481cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C3 },           /* 0xC3 */
1482cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C4 },           /* 0xC4 */
1483cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C5 },           /* 0xC5 */
1484cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C6 },           /* 0xC6 */
1485cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C7 },           /* 0xC7 */
1486cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C8 },           /* 0xC8 */
1487cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C9 },           /* 0xC9 */
1488cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CA },           /* 0xCA */
1489cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CB },           /* 0xCB */
1490cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CC },           /* 0xCC */
1491cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CD },           /* 0xCD */
1492cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CE },           /* 0xCE */
1493cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CF },           /* 0xCF */
1494cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D0 },           /* 0xD0 */
1495cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D1 },           /* 0xD1 */
1496cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D2 },           /* 0xD2 */
1497cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D3 },           /* 0xD3 */
1498cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D4 },           /* 0xD4 */
1499cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D5 },           /* 0xD5 */
1500cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D6 },           /* 0xD6 */
1501cdf0e10cSrcweir    {      0, 0x40, 0xF9, aImplDBCSToUniTab_GBK_D7 },           /* 0xD7 */
1502cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D8 },           /* 0xD8 */
1503cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D9 },           /* 0xD9 */
1504cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DA },           /* 0xDA */
1505cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DB },           /* 0xDB */
1506cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DC },           /* 0xDC */
1507cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DD },           /* 0xDD */
1508cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DE },           /* 0xDE */
1509cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DF },           /* 0xDF */
1510cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E0 },           /* 0xE0 */
1511cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E1 },           /* 0xE1 */
1512cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E2 },           /* 0xE2 */
1513cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E3 },           /* 0xE3 */
1514cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E4 },           /* 0xE4 */
1515cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E5 },           /* 0xE5 */
1516cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E6 },           /* 0xE6 */
1517cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E7 },           /* 0xE7 */
1518cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E8 },           /* 0xE8 */
1519cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E9 },           /* 0xE9 */
1520cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EA },           /* 0xEA */
1521cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EB },           /* 0xEB */
1522cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EC },           /* 0xEC */
1523cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_ED },           /* 0xED */
1524cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EE },           /* 0xEE */
1525cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EF },           /* 0xEF */
1526cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F0 },           /* 0xF0 */
1527cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F1 },           /* 0xF1 */
1528cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F2 },           /* 0xF2 */
1529cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F3 },           /* 0xF3 */
1530cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F4 },           /* 0xF4 */
1531cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F5 },           /* 0xF5 */
1532cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F6 },           /* 0xF6 */
1533cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F7 },           /* 0xF7 */
1534cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_F8 },           /* 0xF8 */
1535cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_F9 },           /* 0xF9 */
1536cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FA },           /* 0xFA */
1537cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FB },           /* 0xFB */
1538cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FC },           /* 0xFC */
1539cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FD },           /* 0xFD */
1540cdf0e10cSrcweir    {      0, 0x40, 0x9F, aImplDBCSToUniTab_GBK_FE },           /* 0xFE */
1541cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
1542cdf0e10cSrcweir};
1543cdf0e10cSrcweir
1544cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1545cdf0e10cSrcweir
1546cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aGBKDBCSHighTab[256] =
1547cdf0e10cSrcweir{
1548cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_00 },                    /* 0x00 */
1549cdf0e10cSrcweir    { 0x01, 0xDC, aImplUniToDBCSTab_GB_01 },                    /* 0x01 */
1550cdf0e10cSrcweir    { 0x51, 0xD9, aImplUniToDBCSTab_GBK_02 },                   /* 0x02 */
1551cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_GB_03 },                    /* 0x03 */
1552cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_GB_04 },                    /* 0x04 */
1553cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
1554cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
1555cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
1556cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
1557cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
1558cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
1559cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
1560cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
1561cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
1562cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
1563cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
1564cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
1565cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
1566cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
1567cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
1568cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
1569cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
1570cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
1571cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
1572cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
1573cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
1574cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
1575cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
1576cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
1577cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
1578cdf0e10cSrcweir    { 0x3F, 0x3F, aImplUniToDBCSTab_APPLECHINSIMP_1E },         /* 0x1E */ /* we convert this char also to unicode */
1579cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
1580cdf0e10cSrcweir    { 0x10, 0xAC, aImplUniToDBCSTab_GBK_20 },                   /* 0x20 */
1581cdf0e10cSrcweir    { 0x03, 0x99, aImplUniToDBCSTab_GBK_21 },                   /* 0x21 */
1582cdf0e10cSrcweir    { 0x08, 0xEF, aImplUniToDBCSTab_GBK_22 },                   /* 0x22 */
1583cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_GB_23 },                    /* 0x23 */
1584cdf0e10cSrcweir    { 0x60, 0x9B, aImplUniToDBCSTab_GB_24 },                    /* 0x24 */
1585cdf0e10cSrcweir    { 0x00, 0xE5, aImplUniToDBCSTab_GBK_25 },                   /* 0x25 */
1586cdf0e10cSrcweir    { 0x05, 0x42, aImplUniToDBCSTab_GBK_26 },                   /* 0x26 */
1587cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
1588cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
1589cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
1590cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
1591cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
1592cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
1593cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
1594cdf0e10cSrcweir    { 0x81, 0xCA, aImplUniToDBCSTab_GBK_2E },                   /* 0x2E */
1595cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
1596cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBK_30 },                   /* 0x30 */
1597cdf0e10cSrcweir    { 0x05, 0x29, aImplUniToDBCSTab_GB_31 },                    /* 0x31 */
1598cdf0e10cSrcweir    { 0x20, 0xA3, aImplUniToDBCSTab_GBK_32 },                   /* 0x32 */
1599cdf0e10cSrcweir    { 0x8E, 0xD5, aImplUniToDBCSTab_GBK_33 },                   /* 0x33 */
1600cdf0e10cSrcweir    { 0x47, 0x73, aImplUniToDBCSTab_GBK_34 },                   /* 0x34 */
1601cdf0e10cSrcweir    { 0x9E, 0x9E, aImplUniToDBCSTab_GBK_35 },                   /* 0x35 */
1602cdf0e10cSrcweir    { 0x0E, 0x1A, aImplUniToDBCSTab_GBK_36 },                   /* 0x36 */
1603cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
1604cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
1605cdf0e10cSrcweir    { 0x18, 0xDF, aImplUniToDBCSTab_GBK_39 },                   /* 0x39 */
1606cdf0e10cSrcweir    { 0x73, 0x73, aImplUniToDBCSTab_GBK_3A },                   /* 0x3A */
1607cdf0e10cSrcweir    { 0x4E, 0x4E, aImplUniToDBCSTab_GBK_3B },                   /* 0x3B */
1608cdf0e10cSrcweir    { 0x6E, 0xE0, aImplUniToDBCSTab_GBK_3C },                   /* 0x3C */
1609cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
1610cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
1611cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
1612cdf0e10cSrcweir    { 0x56, 0x56, aImplUniToDBCSTab_GBK_40 },                   /* 0x40 */
1613cdf0e10cSrcweir    { 0x5F, 0x5F, aImplUniToDBCSTab_GBK_41 },                   /* 0x41 */
1614cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
1615cdf0e10cSrcweir    { 0x37, 0xDD, aImplUniToDBCSTab_GBK_43 },                   /* 0x43 */
1616cdf0e10cSrcweir    { 0xD6, 0xD6, aImplUniToDBCSTab_GBK_44 },                   /* 0x44 */
1617cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
1618cdf0e10cSrcweir    { 0x4C, 0x61, aImplUniToDBCSTab_GBK_46 },                   /* 0x46 */
1619cdf0e10cSrcweir    { 0x23, 0x8D, aImplUniToDBCSTab_GBK_47 },                   /* 0x47 */
1620cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
1621cdf0e10cSrcweir    { 0x47, 0xB7, aImplUniToDBCSTab_GBK_49 },                   /* 0x49 */
1622cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
1623cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
1624cdf0e10cSrcweir    { 0x77, 0xA3, aImplUniToDBCSTab_GBK_4C },                   /* 0x4C */
1625cdf0e10cSrcweir    { 0x13, 0xAE, aImplUniToDBCSTab_GBK_4D },                   /* 0x4D */
1626cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_4E },                   /* 0x4E */
1627cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_4F },                   /* 0x4F */
1628cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_50 },                   /* 0x50 */
1629cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_51 },                   /* 0x51 */
1630cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_52 },                   /* 0x52 */
1631cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_53 },                   /* 0x53 */
1632cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_54 },                   /* 0x54 */
1633cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_55 },                   /* 0x55 */
1634cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_56 },                   /* 0x56 */
1635cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_57 },                   /* 0x57 */
1636cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_58 },                   /* 0x58 */
1637cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_59 },                   /* 0x59 */
1638cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5A },                   /* 0x5A */
1639cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5B },                   /* 0x5B */
1640cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5C },                   /* 0x5C */
1641cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5D },                   /* 0x5D */
1642cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5E },                   /* 0x5E */
1643cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5F },                   /* 0x5F */
1644cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_60 },                   /* 0x60 */
1645cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_61 },                   /* 0x61 */
1646cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_62 },                   /* 0x62 */
1647cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_63 },                   /* 0x63 */
1648cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_64 },                   /* 0x64 */
1649cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_65 },                   /* 0x65 */
1650cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_66 },                   /* 0x66 */
1651cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_67 },                   /* 0x67 */
1652cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_68 },                   /* 0x68 */
1653cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_69 },                   /* 0x69 */
1654cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6A },                   /* 0x6A */
1655cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6B },                   /* 0x6B */
1656cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6C },                   /* 0x6C */
1657cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6D },                   /* 0x6D */
1658cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6E },                   /* 0x6E */
1659cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6F },                   /* 0x6F */
1660cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_70 },                   /* 0x70 */
1661cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_71 },                   /* 0x71 */
1662cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_72 },                   /* 0x72 */
1663cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_73 },                   /* 0x73 */
1664cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_74 },                   /* 0x74 */
1665cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_75 },                   /* 0x75 */
1666cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_76 },                   /* 0x76 */
1667cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_77 },                   /* 0x77 */
1668cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_78 },                   /* 0x78 */
1669cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_79 },                   /* 0x79 */
1670cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7A },                   /* 0x7A */
1671cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7B },                   /* 0x7B */
1672cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7C },                   /* 0x7C */
1673cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7D },                   /* 0x7D */
1674cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7E },                   /* 0x7E */
1675cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7F },                   /* 0x7F */
1676cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_80 },                   /* 0x80 */
1677cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_81 },                   /* 0x81 */
1678cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_82 },                   /* 0x82 */
1679cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_83 },                   /* 0x83 */
1680cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_84 },                   /* 0x84 */
1681cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_85 },                   /* 0x85 */
1682cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_86 },                   /* 0x86 */
1683cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_87 },                   /* 0x87 */
1684cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_88 },                   /* 0x88 */
1685cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_89 },                   /* 0x89 */
1686cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8A },                   /* 0x8A */
1687cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8B },                   /* 0x8B */
1688cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8C },                   /* 0x8C */
1689cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8D },                   /* 0x8D */
1690cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8E },                   /* 0x8E */
1691cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8F },                   /* 0x8F */
1692cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_90 },                   /* 0x90 */
1693cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_91 },                   /* 0x91 */
1694cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_92 },                   /* 0x92 */
1695cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_93 },                   /* 0x93 */
1696cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_94 },                   /* 0x94 */
1697cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_95 },                   /* 0x95 */
1698cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_96 },                   /* 0x96 */
1699cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_97 },                   /* 0x97 */
1700cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_98 },                   /* 0x98 */
1701cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_99 },                   /* 0x99 */
1702cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9A },                   /* 0x9A */
1703cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9B },                   /* 0x9B */
1704cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9C },                   /* 0x9C */
1705cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9D },                   /* 0x9D */
1706cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9E },                   /* 0x9E */
1707cdf0e10cSrcweir    { 0x00, 0xA5, aImplUniToDBCSTab_GBK_9F },                   /* 0x9F */
1708cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
1709cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
1710cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
1711cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
1712cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
1713cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
1714cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
1715cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
1716cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
1717cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
1718cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
1719cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
1720cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAC */
1721cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAD */
1722cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAE */
1723cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAF */
1724cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB0 */
1725cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB1 */
1726cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB2 */
1727cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB3 */
1728cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB4 */
1729cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB5 */
1730cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB6 */
1731cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB7 */
1732cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB8 */
1733cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB9 */
1734cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBA */
1735cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBB */
1736cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBC */
1737cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBD */
1738cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBE */
1739cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBF */
1740cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC0 */
1741cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC1 */
1742cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC2 */
1743cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC3 */
1744cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC4 */
1745cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC5 */
1746cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC6 */
1747cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC7 */
1748cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC8 */
1749cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC9 */
1750cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCA */
1751cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCB */
1752cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCC */
1753cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCD */
1754cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCE */
1755cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCF */
1756cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD0 */
1757cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD1 */
1758cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD2 */
1759cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD3 */
1760cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD4 */
1761cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD5 */
1762cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD6 */
1763cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD7 */
1764cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
1765cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
1766cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
1767cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
1768cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
1769cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
1770cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
1771cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
1772cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
1773cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
1774cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
1775cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
1776cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
1777cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
1778cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
1779cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
1780cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
1781cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
1782cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
1783cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
1784cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
1785cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
1786cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
1787cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
1788cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
1789cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
1790cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
1791cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
1792cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
1793cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
1794cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
1795cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
1796cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
1797cdf0e10cSrcweir    { 0x2C, 0xF1, aImplUniToDBCSTab_GBK_F9 },                   /* 0xF9 */
1798cdf0e10cSrcweir    { 0x0C, 0x29, aImplUniToDBCSTab_GBK_FA },                   /* 0xFA */
1799cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
1800cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
1801cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
1802cdf0e10cSrcweir    { 0x30, 0x6B, aImplUniToDBCSTab_GBK_FE },                   /* 0xFE */
1803cdf0e10cSrcweir    { 0x01, 0xE5, aImplUniToDBCSTab_GBK_FF }                    /* 0xFF */
1804cdf0e10cSrcweir};
1805cdf0e10cSrcweir
1806cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1807cdf0e10cSrcweir
1808cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplGBKDBCSCvtData =
1809cdf0e10cSrcweir{
1810cdf0e10cSrcweir    aGBKUniLeadTab,
1811cdf0e10cSrcweir    aGBKDBCSHighTab,
1812cdf0e10cSrcweir    0x00, 0xFF,
1813cdf0e10cSrcweir    0x40, 0xFE,
1814cdf0e10cSrcweir    aImplMS936DBCSEUDCTab,
1815cdf0e10cSrcweir    DBCS_EUDC_MS936_COUNT
1816cdf0e10cSrcweir};
1817cdf0e10cSrcweir
1818cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1819cdf0e10cSrcweir
1820cdf0e10cSrcweirstatic ImplTextEncodingData const aImplGBKTextEncodingData
1821cdf0e10cSrcweir    = { { &aImplGBKDBCSCvtData,
1822cdf0e10cSrcweir          ImplDBCSToUnicode,
1823cdf0e10cSrcweir          ImplUnicodeToDBCS,
1824cdf0e10cSrcweir          NULL,
1825cdf0e10cSrcweir          NULL,
1826cdf0e10cSrcweir          NULL,
1827cdf0e10cSrcweir          NULL,
1828cdf0e10cSrcweir          NULL,
1829cdf0e10cSrcweir          NULL },
1830cdf0e10cSrcweir        1,
1831cdf0e10cSrcweir        2,
1832cdf0e10cSrcweir        2,
1833cdf0e10cSrcweir        134,
1834cdf0e10cSrcweir        "euc-cn",
1835cdf0e10cSrcweir        "GBK",
1836cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_MULTIBYTE | RTL_TEXTENCODING_INFO_MIME };
1837cdf0e10cSrcweir    /* SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding 25 */
1838cdf0e10cSrcweir
1839cdf0e10cSrcweir/* ======================================================================= */
1840cdf0e10cSrcweir
1841cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aMS936UniLeadTab[256] =
1842cdf0e10cSrcweir{
1843cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
1844cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
1845cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
1846cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
1847cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
1848cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
1849cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
1850cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
1851cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
1852cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
1853cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
1854cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
1855cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
1856cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
1857cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
1858cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
1859cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
1860cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
1861cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
1862cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
1863cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
1864cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
1865cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
1866cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
1867cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
1868cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
1869cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
1870cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
1871cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
1872cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
1873cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
1874cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
1875cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
1876cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
1877cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
1878cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
1879cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
1880cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
1881cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
1882cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
1883cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
1884cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
1885cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
1886cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
1887cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
1888cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
1889cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
1890cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
1891cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
1892cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
1893cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
1894cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
1895cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
1896cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
1897cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
1898cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
1899cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
1900cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
1901cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
1902cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
1903cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
1904cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
1905cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
1906cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
1907cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
1908cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
1909cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
1910cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
1911cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
1912cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
1913cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
1914cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
1915cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
1916cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
1917cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
1918cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
1919cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
1920cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
1921cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
1922cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
1923cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
1924cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
1925cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
1926cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
1927cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
1928cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
1929cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
1930cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
1931cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
1932cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
1933cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
1934cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
1935cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
1936cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
1937cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
1938cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
1939cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
1940cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
1941cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
1942cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
1943cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
1944cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
1945cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
1946cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
1947cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
1948cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
1949cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
1950cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
1951cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
1952cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
1953cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
1954cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
1955cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
1956cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
1957cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
1958cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
1959cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
1960cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
1961cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
1962cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
1963cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
1964cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
1965cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
1966cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
1967cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
1968cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
1969cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
1970cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
1971cdf0e10cSrcweir    { 0x20AC,    0,    0, NULL },                               /* 0x80 */
1972cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_81 },           /* 0x81 */
1973cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_82 },           /* 0x82 */
1974cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_83 },           /* 0x83 */
1975cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_84 },           /* 0x84 */
1976cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_85 },           /* 0x85 */
1977cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_86 },           /* 0x86 */
1978cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_87 },           /* 0x87 */
1979cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_88 },           /* 0x88 */
1980cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_89 },           /* 0x89 */
1981cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8A },           /* 0x8A */
1982cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8B },           /* 0x8B */
1983cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8C },           /* 0x8C */
1984cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8D },           /* 0x8D */
1985cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8E },           /* 0x8E */
1986cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_8F },           /* 0x8F */
1987cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_90 },           /* 0x90 */
1988cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_91 },           /* 0x91 */
1989cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_92 },           /* 0x92 */
1990cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_93 },           /* 0x93 */
1991cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_94 },           /* 0x94 */
1992cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_95 },           /* 0x95 */
1993cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_96 },           /* 0x96 */
1994cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_97 },           /* 0x97 */
1995cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_98 },           /* 0x98 */
1996cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_99 },           /* 0x99 */
1997cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9A },           /* 0x9A */
1998cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9B },           /* 0x9B */
1999cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9C },           /* 0x9C */
2000cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9D },           /* 0x9D */
2001cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9E },           /* 0x9E */
2002cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_9F },           /* 0x9F */
2003cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_A0 },           /* 0xA0 */
2004cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A1 },            /* 0xA1 */
2005cdf0e10cSrcweir    {      0, 0xA1, 0xFC, aImplDBCSToUniTab_GB_A2 },            /* 0xA2 */
2006cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A3 },            /* 0xA3 */
2007cdf0e10cSrcweir    {      0, 0xA1, 0xF3, aImplDBCSToUniTab_GB_A4 },            /* 0xA4 */
2008cdf0e10cSrcweir    {      0, 0xA1, 0xF6, aImplDBCSToUniTab_GB_A5 },            /* 0xA5 */
2009cdf0e10cSrcweir    {      0, 0xA1, 0xF5, aImplDBCSToUniTab_GB_A6 },            /* 0xA6 */
2010cdf0e10cSrcweir    {      0, 0xA1, 0xF1, aImplDBCSToUniTab_GB_A7 },            /* 0xA7 */
2011cdf0e10cSrcweir    {      0, 0x40, 0xE9, aImplDBCSToUniTab_GBK_A8 },           /* 0xA8 */
2012cdf0e10cSrcweir    {      0, 0x40, 0xEF, aImplDBCSToUniTab_GBK_A9 },           /* 0xA9 */
2013cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AA },           /* 0xAA */
2014cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AB },           /* 0xAB */
2015cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AC },           /* 0xAC */
2016cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AD },           /* 0xAD */
2017cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AE },           /* 0xAE */
2018cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_AF },           /* 0xAF */
2019cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B0 },           /* 0xB0 */
2020cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B1 },           /* 0xB1 */
2021cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B2 },           /* 0xB2 */
2022cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B3 },           /* 0xB3 */
2023cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B4 },           /* 0xB4 */
2024cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B5 },           /* 0xB5 */
2025cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B6 },           /* 0xB6 */
2026cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B7 },           /* 0xB7 */
2027cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B8 },           /* 0xB8 */
2028cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_B9 },           /* 0xB9 */
2029cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BA },           /* 0xBA */
2030cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BB },           /* 0xBB */
2031cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BC },           /* 0xBC */
2032cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BD },           /* 0xBD */
2033cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BE },           /* 0xBE */
2034cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_BF },           /* 0xBF */
2035cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C0 },           /* 0xC0 */
2036cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C1 },           /* 0xC1 */
2037cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C2 },           /* 0xC2 */
2038cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C3 },           /* 0xC3 */
2039cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C4 },           /* 0xC4 */
2040cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C5 },           /* 0xC5 */
2041cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C6 },           /* 0xC6 */
2042cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C7 },           /* 0xC7 */
2043cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C8 },           /* 0xC8 */
2044cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_C9 },           /* 0xC9 */
2045cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CA },           /* 0xCA */
2046cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CB },           /* 0xCB */
2047cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CC },           /* 0xCC */
2048cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CD },           /* 0xCD */
2049cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CE },           /* 0xCE */
2050cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_CF },           /* 0xCF */
2051cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D0 },           /* 0xD0 */
2052cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D1 },           /* 0xD1 */
2053cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D2 },           /* 0xD2 */
2054cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D3 },           /* 0xD3 */
2055cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D4 },           /* 0xD4 */
2056cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D5 },           /* 0xD5 */
2057cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D6 },           /* 0xD6 */
2058cdf0e10cSrcweir    {      0, 0x40, 0xF9, aImplDBCSToUniTab_GBK_D7 },           /* 0xD7 */
2059cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D8 },           /* 0xD8 */
2060cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_D9 },           /* 0xD9 */
2061cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DA },           /* 0xDA */
2062cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DB },           /* 0xDB */
2063cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DC },           /* 0xDC */
2064cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DD },           /* 0xDD */
2065cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DE },           /* 0xDE */
2066cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_DF },           /* 0xDF */
2067cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E0 },           /* 0xE0 */
2068cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E1 },           /* 0xE1 */
2069cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E2 },           /* 0xE2 */
2070cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E3 },           /* 0xE3 */
2071cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E4 },           /* 0xE4 */
2072cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E5 },           /* 0xE5 */
2073cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E6 },           /* 0xE6 */
2074cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E7 },           /* 0xE7 */
2075cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E8 },           /* 0xE8 */
2076cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_E9 },           /* 0xE9 */
2077cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EA },           /* 0xEA */
2078cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EB },           /* 0xEB */
2079cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EC },           /* 0xEC */
2080cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_ED },           /* 0xED */
2081cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EE },           /* 0xEE */
2082cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_EF },           /* 0xEF */
2083cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F0 },           /* 0xF0 */
2084cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F1 },           /* 0xF1 */
2085cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F2 },           /* 0xF2 */
2086cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F3 },           /* 0xF3 */
2087cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F4 },           /* 0xF4 */
2088cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F5 },           /* 0xF5 */
2089cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F6 },           /* 0xF6 */
2090cdf0e10cSrcweir    {      0, 0x40, 0xFE, aImplDBCSToUniTab_GBK_F7 },           /* 0xF7 */
2091cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_F8 },           /* 0xF8 */
2092cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_F9 },           /* 0xF9 */
2093cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FA },           /* 0xFA */
2094cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FB },           /* 0xFB */
2095cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FC },           /* 0xFC */
2096cdf0e10cSrcweir    {      0, 0x40, 0xA0, aImplDBCSToUniTab_GBK_FD },           /* 0xFD */
2097cdf0e10cSrcweir    {      0, 0x40, 0x4F, aImplDBCSToUniTab_GBK_FE },           /* 0xFE */
2098cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
2099cdf0e10cSrcweir};
2100cdf0e10cSrcweir
2101cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2102cdf0e10cSrcweir
2103cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aMS936DBCSHighTab[256] =
2104cdf0e10cSrcweir{
2105cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_00 },                    /* 0x00 */
2106cdf0e10cSrcweir    { 0x01, 0xDC, aImplUniToDBCSTab_GB_01 },                    /* 0x01 */
2107cdf0e10cSrcweir    { 0x51, 0xD9, aImplUniToDBCSTab_GBK_02 },                   /* 0x02 */
2108cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_GB_03 },                    /* 0x03 */
2109cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_GB_04 },                    /* 0x04 */
2110cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
2111cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
2112cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
2113cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
2114cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
2115cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
2116cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
2117cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
2118cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
2119cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
2120cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
2121cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
2122cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
2123cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
2124cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
2125cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
2126cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
2127cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
2128cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
2129cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
2130cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
2131cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
2132cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
2133cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
2134cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
2135cdf0e10cSrcweir    { 0x3F, 0x3F, aImplUniToDBCSTab_APPLECHINSIMP_1E },         /* 0x1E */ /* we convert this char also to unicode */
2136cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
2137cdf0e10cSrcweir    { 0x10, 0xAC, aImplUniToDBCSTab_GBK_20 },                   /* 0x20 */
2138cdf0e10cSrcweir    { 0x03, 0x99, aImplUniToDBCSTab_GBK_21 },                   /* 0x21 */
2139cdf0e10cSrcweir    { 0x08, 0xEF, aImplUniToDBCSTab_GBK_22 },                   /* 0x22 */
2140cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_GB_23 },                    /* 0x23 */
2141cdf0e10cSrcweir    { 0x60, 0x9B, aImplUniToDBCSTab_GB_24 },                    /* 0x24 */
2142cdf0e10cSrcweir    { 0x00, 0xE5, aImplUniToDBCSTab_GBK_25 },                   /* 0x25 */
2143cdf0e10cSrcweir    { 0x05, 0x42, aImplUniToDBCSTab_GBK_26 },                   /* 0x26 */
2144cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
2145cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
2146cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
2147cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
2148cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
2149cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
2150cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
2151cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
2152cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
2153cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GBK_30 },                   /* 0x30 */
2154cdf0e10cSrcweir    { 0x05, 0x29, aImplUniToDBCSTab_GB_31 },                    /* 0x31 */
2155cdf0e10cSrcweir    { 0x20, 0xA3, aImplUniToDBCSTab_GBK_32 },                   /* 0x32 */
2156cdf0e10cSrcweir    { 0x8E, 0xD5, aImplUniToDBCSTab_GBK_33 },                   /* 0x33 */
2157cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
2158cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
2159cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
2160cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
2161cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
2162cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
2163cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
2164cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
2165cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
2166cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
2167cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
2168cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
2169cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
2170cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
2171cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
2172cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
2173cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
2174cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
2175cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
2176cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
2177cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
2178cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
2179cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
2180cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
2181cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
2182cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
2183cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_4E },                   /* 0x4E */
2184cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_4F },                   /* 0x4F */
2185cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_50 },                   /* 0x50 */
2186cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_51 },                   /* 0x51 */
2187cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_52 },                   /* 0x52 */
2188cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_53 },                   /* 0x53 */
2189cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_54 },                   /* 0x54 */
2190cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_55 },                   /* 0x55 */
2191cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_56 },                   /* 0x56 */
2192cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_57 },                   /* 0x57 */
2193cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_58 },                   /* 0x58 */
2194cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_59 },                   /* 0x59 */
2195cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5A },                   /* 0x5A */
2196cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5B },                   /* 0x5B */
2197cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5C },                   /* 0x5C */
2198cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5D },                   /* 0x5D */
2199cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5E },                   /* 0x5E */
2200cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_5F },                   /* 0x5F */
2201cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_60 },                   /* 0x60 */
2202cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_61 },                   /* 0x61 */
2203cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_62 },                   /* 0x62 */
2204cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_63 },                   /* 0x63 */
2205cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_64 },                   /* 0x64 */
2206cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_65 },                   /* 0x65 */
2207cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_66 },                   /* 0x66 */
2208cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_67 },                   /* 0x67 */
2209cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_68 },                   /* 0x68 */
2210cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_69 },                   /* 0x69 */
2211cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6A },                   /* 0x6A */
2212cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6B },                   /* 0x6B */
2213cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6C },                   /* 0x6C */
2214cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6D },                   /* 0x6D */
2215cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6E },                   /* 0x6E */
2216cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_6F },                   /* 0x6F */
2217cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_70 },                   /* 0x70 */
2218cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_71 },                   /* 0x71 */
2219cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_72 },                   /* 0x72 */
2220cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_73 },                   /* 0x73 */
2221cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_74 },                   /* 0x74 */
2222cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_75 },                   /* 0x75 */
2223cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_76 },                   /* 0x76 */
2224cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_77 },                   /* 0x77 */
2225cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_78 },                   /* 0x78 */
2226cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_79 },                   /* 0x79 */
2227cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7A },                   /* 0x7A */
2228cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7B },                   /* 0x7B */
2229cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7C },                   /* 0x7C */
2230cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7D },                   /* 0x7D */
2231cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7E },                   /* 0x7E */
2232cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_7F },                   /* 0x7F */
2233cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_80 },                   /* 0x80 */
2234cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_81 },                   /* 0x81 */
2235cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_82 },                   /* 0x82 */
2236cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_83 },                   /* 0x83 */
2237cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_84 },                   /* 0x84 */
2238cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_85 },                   /* 0x85 */
2239cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_86 },                   /* 0x86 */
2240cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_87 },                   /* 0x87 */
2241cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_88 },                   /* 0x88 */
2242cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_89 },                   /* 0x89 */
2243cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8A },                   /* 0x8A */
2244cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8B },                   /* 0x8B */
2245cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8C },                   /* 0x8C */
2246cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8D },                   /* 0x8D */
2247cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8E },                   /* 0x8E */
2248cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_8F },                   /* 0x8F */
2249cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_90 },                   /* 0x90 */
2250cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_91 },                   /* 0x91 */
2251cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_92 },                   /* 0x92 */
2252cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_93 },                   /* 0x93 */
2253cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_94 },                   /* 0x94 */
2254cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_95 },                   /* 0x95 */
2255cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_96 },                   /* 0x96 */
2256cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_97 },                   /* 0x97 */
2257cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_98 },                   /* 0x98 */
2258cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_99 },                   /* 0x99 */
2259cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9A },                   /* 0x9A */
2260cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9B },                   /* 0x9B */
2261cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9C },                   /* 0x9C */
2262cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9D },                   /* 0x9D */
2263cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GBK_9E },                   /* 0x9E */
2264cdf0e10cSrcweir    { 0x00, 0xA5, aImplUniToDBCSTab_GBK_9F },                   /* 0x9F */
2265cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
2266cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
2267cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
2268cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
2269cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
2270cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
2271cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
2272cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
2273cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
2274cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
2275cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
2276cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
2277cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAC */
2278cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAD */
2279cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAE */
2280cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAF */
2281cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB0 */
2282cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB1 */
2283cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB2 */
2284cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB3 */
2285cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB4 */
2286cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB5 */
2287cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB6 */
2288cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB7 */
2289cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB8 */
2290cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB9 */
2291cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBA */
2292cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBB */
2293cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBC */
2294cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBD */
2295cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBE */
2296cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBF */
2297cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC0 */
2298cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC1 */
2299cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC2 */
2300cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC3 */
2301cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC4 */
2302cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC5 */
2303cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC6 */
2304cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC7 */
2305cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC8 */
2306cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC9 */
2307cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCA */
2308cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCB */
2309cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCC */
2310cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCD */
2311cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCE */
2312cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCF */
2313cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD0 */
2314cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD1 */
2315cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD2 */
2316cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD3 */
2317cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD4 */
2318cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD5 */
2319cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD6 */
2320cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD7 */
2321cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
2322cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
2323cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
2324cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
2325cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
2326cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
2327cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
2328cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
2329cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
2330cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
2331cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
2332cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
2333cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
2334cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
2335cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
2336cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
2337cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
2338cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
2339cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
2340cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
2341cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
2342cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
2343cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
2344cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
2345cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
2346cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
2347cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
2348cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
2349cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
2350cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
2351cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
2352cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
2353cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
2354cdf0e10cSrcweir    { 0x2C, 0xF1, aImplUniToDBCSTab_GBK_F9 },                   /* 0xF9 */
2355cdf0e10cSrcweir    { 0x0C, 0x29, aImplUniToDBCSTab_GBK_FA },                   /* 0xFA */
2356cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
2357cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
2358cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
2359cdf0e10cSrcweir    { 0x30, 0x6B, aImplUniToDBCSTab_GBK_FE },                   /* 0xFE */
2360cdf0e10cSrcweir    { 0x01, 0xE5, aImplUniToDBCSTab_GBK_FF }                    /* 0xFF */
2361cdf0e10cSrcweir};
2362cdf0e10cSrcweir
2363cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2364cdf0e10cSrcweir
2365cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplMS936DBCSCvtData =
2366cdf0e10cSrcweir{
2367cdf0e10cSrcweir    aMS936UniLeadTab,
2368cdf0e10cSrcweir    aMS936DBCSHighTab,
2369cdf0e10cSrcweir    0x00, 0xFF,
2370cdf0e10cSrcweir    0x40, 0xFE,
2371cdf0e10cSrcweir    aImplMS936DBCSEUDCTab,
2372cdf0e10cSrcweir    DBCS_EUDC_MS936_COUNT
2373cdf0e10cSrcweir};
2374cdf0e10cSrcweir
2375cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2376cdf0e10cSrcweir
2377cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS936TextEncodingData
2378cdf0e10cSrcweir    = { { &aImplMS936DBCSCvtData,
2379cdf0e10cSrcweir          ImplDBCSToUnicode,
2380cdf0e10cSrcweir          ImplUnicodeToDBCS,
2381cdf0e10cSrcweir          NULL,
2382cdf0e10cSrcweir          NULL,
2383cdf0e10cSrcweir          NULL,
2384cdf0e10cSrcweir          NULL,
2385cdf0e10cSrcweir          NULL,
2386cdf0e10cSrcweir          NULL },
2387cdf0e10cSrcweir        1,
2388cdf0e10cSrcweir        2,
2389cdf0e10cSrcweir        2,
2390cdf0e10cSrcweir        134,
2391cdf0e10cSrcweir        "euc-cn",
2392cdf0e10cSrcweir        "gb2312",
2393cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_MULTIBYTE };
2394cdf0e10cSrcweir    /* WIN/DOS/OS2, SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding
2395cdf0e10cSrcweir       25 */
2396cdf0e10cSrcweir
2397cdf0e10cSrcweir/* ======================================================================= */
2398cdf0e10cSrcweir
2399cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aAPPLECHINSIMPUniLeadTab[256] =
2400cdf0e10cSrcweir{
2401cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
2402cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
2403cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
2404cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
2405cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
2406cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
2407cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
2408cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
2409cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
2410cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
2411cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
2412cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
2413cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
2414cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
2415cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
2416cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
2417cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
2418cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
2419cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
2420cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
2421cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
2422cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
2423cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
2424cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
2425cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
2426cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
2427cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
2428cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
2429cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
2430cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
2431cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
2432cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
2433cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
2434cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
2435cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
2436cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
2437cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
2438cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
2439cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
2440cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
2441cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
2442cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
2443cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
2444cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
2445cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
2446cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
2447cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
2448cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
2449cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
2450cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
2451cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
2452cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
2453cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
2454cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
2455cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
2456cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
2457cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
2458cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
2459cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
2460cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
2461cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
2462cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
2463cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
2464cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
2465cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
2466cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
2467cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
2468cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
2469cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
2470cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
2471cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
2472cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
2473cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
2474cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
2475cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
2476cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
2477cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
2478cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
2479cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
2480cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
2481cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
2482cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
2483cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
2484cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
2485cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
2486cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
2487cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
2488cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
2489cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
2490cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
2491cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
2492cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
2493cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
2494cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
2495cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
2496cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
2497cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
2498cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
2499cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
2500cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
2501cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
2502cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
2503cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
2504cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
2505cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
2506cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
2507cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
2508cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
2509cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
2510cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
2511cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
2512cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
2513cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
2514cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
2515cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
2516cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
2517cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
2518cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
2519cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
2520cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
2521cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
2522cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
2523cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
2524cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
2525cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
2526cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
2527cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
2528cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
2529cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0x80 */
2530cdf0e10cSrcweir    { 0xF880,    0,    0, NULL },                               /* 0x81 */
2531cdf0e10cSrcweir    { 0xF881,    0,    0, NULL },                               /* 0x82 */
2532cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x83 */ /* We convert this as double byte */
2533cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x84 */ /* We convert this as double byte */
2534cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x85 */ /* We convert this as double byte */
2535cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x86 */ /* We convert this as double byte */
2536cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x87 */ /* We convert this as double byte */
2537cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x88 */ /* We convert this as double byte */
2538cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x89 */ /* We convert this as double byte */
2539cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8A */ /* We convert this as double byte */
2540cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8B */ /* We convert this as double byte */
2541cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8C */ /* We convert this as double byte */
2542cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8D */ /* We convert this as double byte */
2543cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8E */ /* We convert this as double byte */
2544cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x8F */ /* We convert this as double byte */
2545cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x90 */ /* We convert this as double byte */
2546cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x91 */ /* We convert this as double byte */
2547cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x92 */ /* We convert this as double byte */
2548cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x93 */ /* We convert this as double byte */
2549cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x94 */ /* We convert this as double byte */
2550cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x95 */ /* We convert this as double byte */
2551cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x96 */ /* We convert this as double byte */
2552cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x97 */ /* We convert this as double byte */
2553cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x98 */ /* We convert this as double byte */
2554cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x99 */ /* We convert this as double byte */
2555cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9A */ /* We convert this as double byte */
2556cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9B */ /* We convert this as double byte */
2557cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9C */ /* We convert this as double byte */
2558cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9D */ /* We convert this as double byte */
2559cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9E */ /* We convert this as double byte */
2560cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x9F */ /* We convert this as double byte */
2561cdf0e10cSrcweir    { 0x00A0,    0,    0, NULL },                               /* 0xA0 */
2562cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A1 },            /* 0xA1 */
2563cdf0e10cSrcweir    {      0, 0xA1, 0xFC, aImplDBCSToUniTab_GB_A2 },            /* 0xA2 */
2564cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GB_A3 },            /* 0xA3 */
2565cdf0e10cSrcweir    {      0, 0xA1, 0xF3, aImplDBCSToUniTab_GB_A4 },            /* 0xA4 */
2566cdf0e10cSrcweir    {      0, 0xA1, 0xF6, aImplDBCSToUniTab_GB_A5 },            /* 0xA5 */
2567cdf0e10cSrcweir    {      0, 0xA1, 0xF5, aImplDBCSToUniTab_GB_A6 },            /* 0xA6 */
2568cdf0e10cSrcweir    {      0, 0xA1, 0xF1, aImplDBCSToUniTab_GB_A7 },            /* 0xA7 */
2569cdf0e10cSrcweir    {      0, 0xA1, 0xE9, aImplDBCSToUniTab_GBK_A8+GBKOFF },    /* 0xA8 */
2570cdf0e10cSrcweir    {      0, 0xA1, 0xEF, aImplDBCSToUniTab_GBK_A9+GBKOFF },    /* 0xA9 */
2571cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAA */ /* We convert this as double byte */
2572cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAB */ /* We convert this as double byte */
2573cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAC */ /* We convert this as double byte */
2574cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAD */ /* We convert this as double byte */
2575cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAE */ /* We convert this as double byte */
2576cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xAF */ /* We convert this as double byte */
2577cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B0+GBKOFF },    /* 0xB0 */
2578cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B1+GBKOFF },    /* 0xB1 */
2579cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B2+GBKOFF },    /* 0xB2 */
2580cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B3+GBKOFF },    /* 0xB3 */
2581cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B4+GBKOFF },    /* 0xB4 */
2582cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B5+GBKOFF },    /* 0xB5 */
2583cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B6+GBKOFF },    /* 0xB6 */
2584cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B7+GBKOFF },    /* 0xB7 */
2585cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B8+GBKOFF },    /* 0xB8 */
2586cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_B9+GBKOFF },    /* 0xB9 */
2587cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BA+GBKOFF },    /* 0xBA */
2588cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BB+GBKOFF },    /* 0xBB */
2589cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BC+GBKOFF },    /* 0xBC */
2590cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BD+GBKOFF },    /* 0xBD */
2591cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BE+GBKOFF },    /* 0xBE */
2592cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_BF+GBKOFF },    /* 0xBF */
2593cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C0+GBKOFF },    /* 0xC0 */
2594cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C1+GBKOFF },    /* 0xC1 */
2595cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C2+GBKOFF },    /* 0xC2 */
2596cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C3+GBKOFF },    /* 0xC3 */
2597cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C4+GBKOFF },    /* 0xC4 */
2598cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C5+GBKOFF },    /* 0xC5 */
2599cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C6+GBKOFF },    /* 0xC6 */
2600cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C7+GBKOFF },    /* 0xC7 */
2601cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C8+GBKOFF },    /* 0xC8 */
2602cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_C9+GBKOFF },    /* 0xC9 */
2603cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CA+GBKOFF },    /* 0xCA */
2604cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CB+GBKOFF },    /* 0xCB */
2605cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CC+GBKOFF },    /* 0xCC */
2606cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CD+GBKOFF },    /* 0xCD */
2607cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CE+GBKOFF },    /* 0xCE */
2608cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_CF+GBKOFF },    /* 0xCF */
2609cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D0+GBKOFF },    /* 0xD0 */
2610cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D1+GBKOFF },    /* 0xD1 */
2611cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D2+GBKOFF },    /* 0xD2 */
2612cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D3+GBKOFF },    /* 0xD3 */
2613cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D4+GBKOFF },    /* 0xD4 */
2614cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D5+GBKOFF },    /* 0xD5 */
2615cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D6+GBKOFF },    /* 0xD6 */
2616cdf0e10cSrcweir    {      0, 0xA1, 0xF9, aImplDBCSToUniTab_GBK_D7+GBKOFF },    /* 0xD7 */
2617cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D8+GBKOFF },    /* 0xD8 */
2618cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_D9+GBKOFF },    /* 0xD9 */
2619cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DA+GBKOFF },    /* 0xDA */
2620cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DB+GBKOFF },    /* 0xDB */
2621cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DC+GBKOFF },    /* 0xDC */
2622cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DD+GBKOFF },    /* 0xDD */
2623cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DE+GBKOFF },    /* 0xDE */
2624cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_DF+GBKOFF },    /* 0xDF */
2625cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E0+GBKOFF },    /* 0xE0 */
2626cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E1+GBKOFF },    /* 0xE1 */
2627cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E2+GBKOFF },    /* 0xE2 */
2628cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E3+GBKOFF },    /* 0xE3 */
2629cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E4+GBKOFF },    /* 0xE4 */
2630cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E5+GBKOFF },    /* 0xE5 */
2631cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E6+GBKOFF },    /* 0xE6 */
2632cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E7+GBKOFF },    /* 0xE7 */
2633cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E8+GBKOFF },    /* 0xE8 */
2634cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_E9+GBKOFF },    /* 0xE9 */
2635cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EA+GBKOFF },    /* 0xEA */
2636cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EB+GBKOFF },    /* 0xEB */
2637cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EC+GBKOFF },    /* 0xEC */
2638cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_ED+GBKOFF },    /* 0xED */
2639cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EE+GBKOFF },    /* 0xEE */
2640cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_EF+GBKOFF },    /* 0xEF */
2641cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F0+GBKOFF },    /* 0xF0 */
2642cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F1+GBKOFF },    /* 0xF1 */
2643cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F2+GBKOFF },    /* 0xF2 */
2644cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F3+GBKOFF },    /* 0xF3 */
2645cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F4+GBKOFF },    /* 0xF4 */
2646cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F5+GBKOFF },    /* 0xF5 */
2647cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F6+GBKOFF },    /* 0xF6 */
2648cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_GBK_F7+GBKOFF },    /* 0xF7 */
2649cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF8 */ /* We convert this as double byte */
2650cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF9 */ /* We convert this as double byte */
2651cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFA */ /* We convert this as double byte */
2652cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFB */ /* We convert this as double byte */
2653cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFC */ /* We convert this as double byte */
2654cdf0e10cSrcweir    { 0x00A9,    0,    0, NULL },                               /* 0xFD */
2655cdf0e10cSrcweir    { 0x2122,    0,    0, NULL },                               /* 0xFE */
2656cdf0e10cSrcweir    { 0x2026,    0,    0, NULL }                                /* 0xFF */
2657cdf0e10cSrcweir};
2658cdf0e10cSrcweir
2659cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2660cdf0e10cSrcweir
2661cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aAPPLECHINSIMPDBCSHighTab[256] =
2662cdf0e10cSrcweir{
2663cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_APPLECHINSIMP_00 },         /* 0x00 */
2664cdf0e10cSrcweir    { 0x01, 0xDC, aImplUniToDBCSTab_GB_01 },                    /* 0x01 */
2665cdf0e10cSrcweir    { 0x51, 0xC9, aImplUniToDBCSTab_GB_02 },                    /* 0x02 */
2666cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_GB_03 },                    /* 0x03 */
2667cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_GB_04 },                    /* 0x04 */
2668cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
2669cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
2670cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
2671cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
2672cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
2673cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
2674cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
2675cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
2676cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
2677cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
2678cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
2679cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
2680cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
2681cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
2682cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
2683cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
2684cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
2685cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
2686cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
2687cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
2688cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
2689cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
2690cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
2691cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
2692cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
2693cdf0e10cSrcweir    { 0x3F, 0x3F, aImplUniToDBCSTab_APPLECHINSIMP_1E },         /* 0x1E */
2694cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
2695cdf0e10cSrcweir    { 0x14, 0x3E, aImplUniToDBCSTab_GB_20 },                    /* 0x20 */
2696cdf0e10cSrcweir    { 0x03, 0x93, aImplUniToDBCSTab_APPLECHINSIMP_21 },         /* 0x21 */
2697cdf0e10cSrcweir    { 0x08, 0xEF, aImplUniToDBCSTab_GB_22 },                    /* 0x22 */
2698cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_GB_23 },                    /* 0x23 */
2699cdf0e10cSrcweir    { 0x60, 0x9B, aImplUniToDBCSTab_GB_24 },                    /* 0x24 */
2700cdf0e10cSrcweir    { 0x00, 0xCF, aImplUniToDBCSTab_GB_25 },                    /* 0x25 */
2701cdf0e10cSrcweir    { 0x05, 0x42, aImplUniToDBCSTab_GB_26 },                    /* 0x26 */
2702cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
2703cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
2704cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
2705cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
2706cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
2707cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
2708cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
2709cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
2710cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
2711cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GB_30 },                    /* 0x30 */
2712cdf0e10cSrcweir    { 0x05, 0x29, aImplUniToDBCSTab_GB_31 },                    /* 0x31 */
2713cdf0e10cSrcweir    { 0x20, 0x29, aImplUniToDBCSTab_GBK_32 },                   /* 0x32 */
2714cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x33 */
2715cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
2716cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
2717cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
2718cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
2719cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
2720cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
2721cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
2722cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
2723cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
2724cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
2725cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
2726cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
2727cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
2728cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
2729cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
2730cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
2731cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
2732cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
2733cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
2734cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
2735cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
2736cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
2737cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
2738cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
2739cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
2740cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
2741cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_4E },                    /* 0x4E */
2742cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GB_4F },                    /* 0x4F */
2743cdf0e10cSrcweir    { 0x0C, 0xFB, aImplUniToDBCSTab_GB_50 },                    /* 0x50 */
2744cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_GB_51 },                    /* 0x51 */
2745cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_52 },                    /* 0x52 */
2746cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GB_53 },                    /* 0x53 */
2747cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_54 },                    /* 0x54 */
2748cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_GB_55 },                    /* 0x55 */
2749cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_56 },                    /* 0x56 */
2750cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_GB_57 },                    /* 0x57 */
2751cdf0e10cSrcweir    { 0x00, 0xF9, aImplUniToDBCSTab_GB_58 },                    /* 0x58 */
2752cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_GB_59 },                    /* 0x59 */
2753cdf0e10cSrcweir    { 0x01, 0xF1, aImplUniToDBCSTab_GB_5A },                    /* 0x5A */
2754cdf0e10cSrcweir    { 0x09, 0xFF, aImplUniToDBCSTab_GB_5B },                    /* 0x5B */
2755cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_GB_5C },                    /* 0x5C */
2756cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_GB_5D },                    /* 0x5D */
2757cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_5E },                    /* 0x5E */
2758cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_5F },                    /* 0x5F */
2759cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_60 },                    /* 0x60 */
2760cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_61 },                    /* 0x61 */
2761cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_GB_62 },                    /* 0x62 */
2762cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_63 },                    /* 0x63 */
2763cdf0e10cSrcweir    { 0x00, 0xE6, aImplUniToDBCSTab_GB_64 },                    /* 0x64 */
2764cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_65 },                    /* 0x65 */
2765cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_66 },                    /* 0x66 */
2766cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_67 },                    /* 0x67 */
2767cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_68 },                    /* 0x68 */
2768cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_69 },                    /* 0x69 */
2769cdf0e10cSrcweir    { 0x0A, 0xAC, aImplUniToDBCSTab_GB_6A },                    /* 0x6A */
2770cdf0e10cSrcweir    { 0x20, 0xFD, aImplUniToDBCSTab_GB_6B },                    /* 0x6B */
2771cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_GB_6C },                    /* 0x6C */
2772cdf0e10cSrcweir    { 0x01, 0xFC, aImplUniToDBCSTab_GB_6D },                    /* 0x6D */
2773cdf0e10cSrcweir    { 0x05, 0xF9, aImplUniToDBCSTab_GB_6E },                    /* 0x6E */
2774cdf0e10cSrcweir    { 0x02, 0xEF, aImplUniToDBCSTab_GB_6F },                    /* 0x6F */
2775cdf0e10cSrcweir    { 0x11, 0xFD, aImplUniToDBCSTab_GB_70 },                    /* 0x70 */
2776cdf0e10cSrcweir    { 0x09, 0xF9, aImplUniToDBCSTab_GB_71 },                    /* 0x71 */
2777cdf0e10cSrcweir    { 0x06, 0xFC, aImplUniToDBCSTab_GB_72 },                    /* 0x72 */
2778cdf0e10cSrcweir    { 0x01, 0xF2, aImplUniToDBCSTab_GB_73 },                    /* 0x73 */
2779cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_GB_74 },                    /* 0x74 */
2780cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_GB_75 },                    /* 0x75 */
2781cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_76 },                    /* 0x76 */
2782cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_77 },                    /* 0x77 */
2783cdf0e10cSrcweir    { 0x00, 0xFA, aImplUniToDBCSTab_GB_78 },                    /* 0x78 */
2784cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GB_79 },                    /* 0x79 */
2785cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_GB_7A },                    /* 0x7A */
2786cdf0e10cSrcweir    { 0x03, 0xFE, aImplUniToDBCSTab_GB_7B },                    /* 0x7B */
2787cdf0e10cSrcweir    { 0x07, 0xFB, aImplUniToDBCSTab_GB_7C },                    /* 0x7C */
2788cdf0e10cSrcweir    { 0x0A, 0xAE, aImplUniToDBCSTab_GB_7D },                    /* 0x7D */
2789cdf0e10cSrcweir    { 0x3B, 0xFF, aImplUniToDBCSTab_GB_7E },                    /* 0x7E */
2790cdf0e10cSrcweir    { 0x00, 0xFC, aImplUniToDBCSTab_GB_7F },                    /* 0x7F */
2791cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_GB_80 },                    /* 0x80 */
2792cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_GB_81 },                    /* 0x81 */
2793cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_GB_82 },                    /* 0x82 */
2794cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_GB_83 },                    /* 0x83 */
2795cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_GB_84 },                    /* 0x84 */
2796cdf0e10cSrcweir    { 0x0C, 0xFF, aImplUniToDBCSTab_GB_85 },                    /* 0x85 */
2797cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_GB_86 },                    /* 0x86 */
2798cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_87 },                    /* 0x87 */
2799cdf0e10cSrcweir    { 0x03, 0xFE, aImplUniToDBCSTab_GB_88 },                    /* 0x88 */
2800cdf0e10cSrcweir    { 0x02, 0xF3, aImplUniToDBCSTab_GB_89 },                    /* 0x89 */
2801cdf0e10cSrcweir    { 0x00, 0x93, aImplUniToDBCSTab_GB_8A },                    /* 0x8A */
2802cdf0e10cSrcweir    { 0x07, 0xFF, aImplUniToDBCSTab_GB_8B },                    /* 0x8B */
2803cdf0e10cSrcweir    { 0x00, 0x98, aImplUniToDBCSTab_GB_8C },                    /* 0x8C */
2804cdf0e10cSrcweir    { 0x1D, 0xFD, aImplUniToDBCSTab_GB_8D },                    /* 0x8D */
2805cdf0e10cSrcweir    { 0x05, 0xCE, aImplUniToDBCSTab_GB_8E },                    /* 0x8E */
2806cdf0e10cSrcweir    { 0x66, 0xFD, aImplUniToDBCSTab_GB_8F },                    /* 0x8F */
2807cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_90 },                    /* 0x90 */
2808cdf0e10cSrcweir    { 0x02, 0xDC, aImplUniToDBCSTab_GB_91 },                    /* 0x91 */
2809cdf0e10cSrcweir    { 0x74, 0xC8, aImplUniToDBCSTab_GB_92 },                    /* 0x92 */
2810cdf0e10cSrcweir    { 0x3E, 0xD6, aImplUniToDBCSTab_GB_93 },                    /* 0x93 */
2811cdf0e10cSrcweir    { 0x3E, 0xFF, aImplUniToDBCSTab_GB_94 },                    /* 0x94 */
2812cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_95 },                    /* 0x95 */
2813cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_GB_96 },                    /* 0x96 */
2814cdf0e10cSrcweir    { 0x00, 0xF6, aImplUniToDBCSTab_GB_97 },                    /* 0x97 */
2815cdf0e10cSrcweir    { 0x75, 0xE9, aImplUniToDBCSTab_GB_98 },                    /* 0x98 */
2816cdf0e10cSrcweir    { 0x0D, 0xA8, aImplUniToDBCSTab_GB_99 },                    /* 0x99 */
2817cdf0e10cSrcweir    { 0x6C, 0xFB, aImplUniToDBCSTab_GB_9A },                    /* 0x9A */
2818cdf0e10cSrcweir    { 0x03, 0x54, aImplUniToDBCSTab_GB_9B },                    /* 0x9B */
2819cdf0e10cSrcweir    { 0x7C, 0xE2, aImplUniToDBCSTab_GB_9C },                    /* 0x9C */
2820cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x9D */
2821cdf0e10cSrcweir    { 0x1F, 0xFE, aImplUniToDBCSTab_GB_9E },                    /* 0x9E */
2822cdf0e10cSrcweir    { 0x0B, 0xA0, aImplUniToDBCSTab_GB_9F },                    /* 0x9F */
2823cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
2824cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
2825cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
2826cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
2827cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
2828cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
2829cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
2830cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
2831cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
2832cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
2833cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
2834cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
2835cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAC */
2836cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAD */
2837cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAE */
2838cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAF */
2839cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB0 */
2840cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB1 */
2841cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB2 */
2842cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB3 */
2843cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB4 */
2844cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB5 */
2845cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB6 */
2846cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB7 */
2847cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB8 */
2848cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xB9 */
2849cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBA */
2850cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBB */
2851cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBC */
2852cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBD */
2853cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBE */
2854cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xBF */
2855cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC0 */
2856cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC1 */
2857cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC2 */
2858cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC3 */
2859cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC4 */
2860cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC5 */
2861cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC6 */
2862cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC7 */
2863cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC8 */
2864cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xC9 */
2865cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCA */
2866cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCB */
2867cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCC */
2868cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCD */
2869cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCE */
2870cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xCF */
2871cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD0 */
2872cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD1 */
2873cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD2 */
2874cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD3 */
2875cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD4 */
2876cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD5 */
2877cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD6 */
2878cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD7 */
2879cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
2880cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
2881cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
2882cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
2883cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
2884cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
2885cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
2886cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
2887cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
2888cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
2889cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
2890cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
2891cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
2892cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
2893cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
2894cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
2895cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
2896cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
2897cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
2898cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
2899cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
2900cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
2901cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
2902cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
2903cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
2904cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
2905cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
2906cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
2907cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
2908cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
2909cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
2910cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
2911cdf0e10cSrcweir    { 0x80, 0x81, aImplUniToDBCSTab_APPLECHINSIMP_F8 },         /* 0xF8 */
2912cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF9 */
2913cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFA */
2914cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
2915cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
2916cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
2917cdf0e10cSrcweir    { 0x31, 0x44, aImplUniToDBCSTab_GB_FE },                    /* 0xFE */
2918cdf0e10cSrcweir    { 0x01, 0xE5, aImplUniToDBCSTab_GB_FF }                     /* 0xFF */
2919cdf0e10cSrcweir};
2920cdf0e10cSrcweir
2921cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2922cdf0e10cSrcweir
2923cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplAPPLECHINSIMPDBCSCvtData =
2924cdf0e10cSrcweir{
2925cdf0e10cSrcweir    aAPPLECHINSIMPUniLeadTab,
2926cdf0e10cSrcweir    aAPPLECHINSIMPDBCSHighTab,
2927cdf0e10cSrcweir    0x00, 0xFF,
2928cdf0e10cSrcweir    0xA1, 0xFE,
2929cdf0e10cSrcweir    NULL,
2930cdf0e10cSrcweir    0
2931cdf0e10cSrcweir};
2932cdf0e10cSrcweir
2933cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
2934cdf0e10cSrcweir
2935cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLECHINSIMPTextEncodingData
2936cdf0e10cSrcweir    = { { &aImplAPPLECHINSIMPDBCSCvtData,
2937cdf0e10cSrcweir          ImplDBCSToUnicode,
2938cdf0e10cSrcweir          ImplUnicodeToDBCS,
2939cdf0e10cSrcweir          NULL,
2940cdf0e10cSrcweir          NULL,
2941cdf0e10cSrcweir          NULL,
2942cdf0e10cSrcweir          NULL,
2943cdf0e10cSrcweir          NULL,
2944cdf0e10cSrcweir          NULL },
2945cdf0e10cSrcweir        1,
2946cdf0e10cSrcweir        2,
2947cdf0e10cSrcweir        2,
2948cdf0e10cSrcweir        134,
2949cdf0e10cSrcweir        "euc-cn",
2950cdf0e10cSrcweir        "gb2312",
2951cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII | RTL_TEXTENCODING_INFO_MULTIBYTE };
2952cdf0e10cSrcweir    /* MAC, SCRIPT_CHINESE_SIMPLIFIED, pc code page 936, mac encoding 25 */
2953