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