xref: /trunk/main/sal/textenc/tcvtkr6.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/* korean charsets: */
32*cdf0e10cSrcweir/* CP949, JOHAB */
33*cdf0e10cSrcweir
34*cdf0e10cSrcweir/* ======================================================================= */
35*cdf0e10cSrcweir
36*cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aKSC5601UniLeadTab[256] =
37*cdf0e10cSrcweir{
38*cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
39*cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
40*cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
41*cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
42*cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
43*cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
44*cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
45*cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
46*cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
47*cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
48*cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
49*cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
50*cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
51*cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
52*cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
53*cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
54*cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
55*cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
56*cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
57*cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
58*cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
59*cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
60*cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
61*cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
62*cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
63*cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
64*cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
65*cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
66*cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
67*cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
68*cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
69*cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
70*cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
71*cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
72*cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
73*cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
74*cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
75*cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
76*cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
77*cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
78*cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
79*cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
80*cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
81*cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
82*cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
83*cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
84*cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
85*cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
86*cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
87*cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
88*cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
89*cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
90*cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
91*cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
92*cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
93*cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
94*cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
95*cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
96*cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
97*cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
98*cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
99*cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
100*cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
101*cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
102*cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
103*cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
104*cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
105*cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
106*cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
107*cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
108*cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
109*cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
110*cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
111*cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
112*cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
113*cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
114*cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
115*cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
116*cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
117*cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
118*cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
119*cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
120*cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
121*cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
122*cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
123*cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
124*cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
125*cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
126*cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
127*cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
128*cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
129*cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
130*cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
131*cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
132*cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
133*cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
134*cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
135*cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
136*cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
137*cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
138*cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
139*cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
140*cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
141*cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
142*cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
143*cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
144*cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
145*cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
146*cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
147*cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
148*cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
149*cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
150*cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
151*cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
152*cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
153*cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
154*cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
155*cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
156*cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
157*cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
158*cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
159*cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
160*cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
161*cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
162*cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
163*cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
164*cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
165*cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
166*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0x80 */
167*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_81 },       /* 0x81 */
168*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_82 },       /* 0x82 */
169*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_83 },       /* 0x83 */
170*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_84 },       /* 0x84 */
171*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_85 },       /* 0x85 */
172*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_86 },       /* 0x86 */
173*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_87 },       /* 0x87 */
174*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_88 },       /* 0x88 */
175*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_89 },       /* 0x89 */
176*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8A },       /* 0x8A */
177*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8B },       /* 0x8B */
178*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8C },       /* 0x8C */
179*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8D },       /* 0x8D */
180*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8E },       /* 0x8E */
181*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_8F },       /* 0x8F */
182*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_90 },       /* 0x90 */
183*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_91 },       /* 0x91 */
184*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_92 },       /* 0x92 */
185*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_93 },       /* 0x93 */
186*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_94 },       /* 0x94 */
187*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_95 },       /* 0x95 */
188*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_96 },       /* 0x96 */
189*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_97 },       /* 0x97 */
190*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_98 },       /* 0x98 */
191*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_99 },       /* 0x99 */
192*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9A },       /* 0x9A */
193*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9B },       /* 0x9B */
194*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9C },       /* 0x9C */
195*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9D },       /* 0x9D */
196*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9E },       /* 0x9E */
197*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_9F },       /* 0x9F */
198*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A0 },       /* 0xA0 */
199*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A1 },       /* 0xA1 */
200*cdf0e10cSrcweir    {      0, 0x41, 0xE7, aImplDBCSToUniTab_KSC5601_A2 },       /* 0xA2 */
201*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A3 },       /* 0xA3 */
202*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A4 },       /* 0xA4 */
203*cdf0e10cSrcweir    {      0, 0x41, 0xF8, aImplDBCSToUniTab_KSC5601_A5 },       /* 0xA5 */
204*cdf0e10cSrcweir    {      0, 0x41, 0xE4, aImplDBCSToUniTab_KSC5601_A6 },       /* 0xA6 */
205*cdf0e10cSrcweir    {      0, 0x41, 0xEF, aImplDBCSToUniTab_KSC5601_A7 },       /* 0xA7 */
206*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A8 },       /* 0xA8 */
207*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_A9 },       /* 0xA9 */
208*cdf0e10cSrcweir    {      0, 0x41, 0xF3, aImplDBCSToUniTab_KSC5601_AA },       /* 0xAA */
209*cdf0e10cSrcweir    {      0, 0x41, 0xF6, aImplDBCSToUniTab_KSC5601_AB },       /* 0xAB */
210*cdf0e10cSrcweir    {      0, 0x41, 0xF1, aImplDBCSToUniTab_KSC5601_AC },       /* 0xAC */
211*cdf0e10cSrcweir    {      0, 0x41, 0xA0, aImplDBCSToUniTab_KSC5601_AD },       /* 0xAD */
212*cdf0e10cSrcweir    {      0, 0x41, 0xA0, aImplDBCSToUniTab_KSC5601_AE },       /* 0xAE */
213*cdf0e10cSrcweir    {      0, 0x41, 0xA0, aImplDBCSToUniTab_KSC5601_AF },       /* 0xAF */
214*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B0 },       /* 0xB0 */
215*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B1 },       /* 0xB1 */
216*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B2 },       /* 0xB2 */
217*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B3 },       /* 0xB3 */
218*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B4 },       /* 0xB4 */
219*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B5 },       /* 0xB5 */
220*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B6 },       /* 0xB6 */
221*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B7 },       /* 0xB7 */
222*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B8 },       /* 0xB8 */
223*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_B9 },       /* 0xB9 */
224*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BA },       /* 0xBA */
225*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BB },       /* 0xBB */
226*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BC },       /* 0xBC */
227*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BD },       /* 0xBD */
228*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BE },       /* 0xBE */
229*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_BF },       /* 0xBF */
230*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C0 },       /* 0xC0 */
231*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C1 },       /* 0xC1 */
232*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C2 },       /* 0xC2 */
233*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C3 },       /* 0xC3 */
234*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C4 },       /* 0xC4 */
235*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C5 },       /* 0xC5 */
236*cdf0e10cSrcweir    {      0, 0x41, 0xFE, aImplDBCSToUniTab_KSC5601_C6 },       /* 0xC6 */
237*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_C7 },       /* 0xC7 */
238*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_C8 },       /* 0xC8 */
239*cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xC9 */
240*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CA },       /* 0xCA */
241*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CB },       /* 0xCB */
242*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CC },       /* 0xCC */
243*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CD },       /* 0xCD */
244*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CE },       /* 0xCE */
245*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_CF },       /* 0xCF */
246*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D0 },       /* 0xD0 */
247*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D1 },       /* 0xD1 */
248*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D2 },       /* 0xD2 */
249*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D3 },       /* 0xD3 */
250*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D4 },       /* 0xD4 */
251*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D5 },       /* 0xD5 */
252*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D6 },       /* 0xD6 */
253*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D7 },       /* 0xD7 */
254*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D8 },       /* 0xD8 */
255*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_D9 },       /* 0xD9 */
256*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DA },       /* 0xDA */
257*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DB },       /* 0xDB */
258*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DC },       /* 0xDC */
259*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DD },       /* 0xDD */
260*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DE },       /* 0xDE */
261*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_DF },       /* 0xDF */
262*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E0 },       /* 0xE0 */
263*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E1 },       /* 0xE1 */
264*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E2 },       /* 0xE2 */
265*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E3 },       /* 0xE3 */
266*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E4 },       /* 0xE4 */
267*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E5 },       /* 0xE5 */
268*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E6 },       /* 0xE6 */
269*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E7 },       /* 0xE7 */
270*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E8 },       /* 0xE8 */
271*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_E9 },       /* 0xE9 */
272*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_EA },       /* 0xEA */
273*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_EB },       /* 0xEB */
274*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_EC },       /* 0xEC */
275*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_ED },       /* 0xED */
276*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_EE },       /* 0xEE */
277*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_EF },       /* 0xEF */
278*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F0 },       /* 0xF0 */
279*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F1 },       /* 0xF1 */
280*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F2 },       /* 0xF2 */
281*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F3 },       /* 0xF3 */
282*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F4 },       /* 0xF4 */
283*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F5 },       /* 0xF5 */
284*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F6 },       /* 0xF6 */
285*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F7 },       /* 0xF7 */
286*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F8 },       /* 0xF8 */
287*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_F9 },       /* 0xF9 */
288*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_FA },       /* 0xFA */
289*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_FB },       /* 0xFB */
290*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_FC },       /* 0xFC */
291*cdf0e10cSrcweir    {      0, 0xA1, 0xFE, aImplDBCSToUniTab_KSC5601_FD },       /* 0xFD */
292*cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xFE */
293*cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
294*cdf0e10cSrcweir};
295*cdf0e10cSrcweir
296*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
297*cdf0e10cSrcweir
298*cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aKSC5601DBCSHighTab[256] =
299*cdf0e10cSrcweir{
300*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_00 },               /* 0x00 */
301*cdf0e10cSrcweir    { 0x11, 0x67, aImplUniToDBCSTab_KSC5601_01 },               /* 0x01 */
302*cdf0e10cSrcweir    { 0xC7, 0xDD, aImplUniToDBCSTab_KSC5601_02 },               /* 0x02 */
303*cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_KSC5601_03 },               /* 0x03 */
304*cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_KSC5601_04 },               /* 0x04 */
305*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
306*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
307*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
308*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
309*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
310*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
311*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
312*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
313*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
314*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
315*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
316*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
317*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
318*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
319*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
320*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
321*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
322*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
323*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
324*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
325*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
326*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
327*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
328*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
329*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
330*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1E */
331*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
332*cdf0e10cSrcweir    { 0x15, 0xAC, aImplUniToDBCSTab_KSC5601_20 },               /* 0x20 */
333*cdf0e10cSrcweir    { 0x03, 0xD4, aImplUniToDBCSTab_KSC5601_21 },               /* 0x21 */
334*cdf0e10cSrcweir    { 0x00, 0xA5, aImplUniToDBCSTab_KSC5601_22 },               /* 0x22 */
335*cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_KSC5601_23 },               /* 0x23 */
336*cdf0e10cSrcweir    { 0x60, 0xE9, aImplUniToDBCSTab_KSC5601_24 },               /* 0x24 */
337*cdf0e10cSrcweir    { 0x00, 0xD1, aImplUniToDBCSTab_KSC5601_25 },               /* 0x25 */
338*cdf0e10cSrcweir    { 0x05, 0x6D, aImplUniToDBCSTab_KSC5601_26 },               /* 0x26 */
339*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
340*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
341*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
342*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
343*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
344*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
345*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
346*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
347*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
348*cdf0e10cSrcweir    { 0x00, 0xF7, aImplUniToDBCSTab_KSC5601_30 },               /* 0x30 */
349*cdf0e10cSrcweir    { 0x31, 0xFE, aImplUniToDBCSTab_KSC5601_31 },               /* 0x31 */
350*cdf0e10cSrcweir    { 0x00, 0x7F, aImplUniToDBCSTab_KSC5601_32 },               /* 0x32 */
351*cdf0e10cSrcweir    { 0x80, 0xDD, aImplUniToDBCSTab_KSC5601_33 },               /* 0x33 */
352*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
353*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
354*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
355*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
356*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
357*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
358*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
359*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
360*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
361*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
362*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
363*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
364*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
365*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
366*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
367*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
368*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
369*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
370*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
371*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
372*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
373*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
374*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
375*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
376*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
377*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
378*cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_KSC5601_4E },               /* 0x4E */
379*cdf0e10cSrcweir    { 0x01, 0xFA, aImplUniToDBCSTab_KSC5601_4F },               /* 0x4F */
380*cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_KSC5601_50 },               /* 0x50 */
381*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_KSC5601_51 },               /* 0x51 */
382*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_52 },               /* 0x52 */
383*cdf0e10cSrcweir    { 0x05, 0xF8, aImplUniToDBCSTab_KSC5601_53 },               /* 0x53 */
384*cdf0e10cSrcweir    { 0x03, 0xFA, aImplUniToDBCSTab_KSC5601_54 },               /* 0x54 */
385*cdf0e10cSrcweir    { 0x04, 0xFE, aImplUniToDBCSTab_KSC5601_55 },               /* 0x55 */
386*cdf0e10cSrcweir    { 0x06, 0xFA, aImplUniToDBCSTab_KSC5601_56 },               /* 0x56 */
387*cdf0e10cSrcweir    { 0x03, 0xFC, aImplUniToDBCSTab_KSC5601_57 },               /* 0x57 */
388*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_KSC5601_58 },               /* 0x58 */
389*cdf0e10cSrcweir    { 0x07, 0xFF, aImplUniToDBCSTab_KSC5601_59 },               /* 0x59 */
390*cdf0e10cSrcweir    { 0x01, 0xE9, aImplUniToDBCSTab_KSC5601_5A },               /* 0x5A */
391*cdf0e10cSrcweir    { 0x05, 0xFA, aImplUniToDBCSTab_KSC5601_5B },               /* 0x5B */
392*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_KSC5601_5C },               /* 0x5C */
393*cdf0e10cSrcweir    { 0x07, 0xFE, aImplUniToDBCSTab_KSC5601_5D },               /* 0x5D */
394*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_KSC5601_5E },               /* 0x5E */
395*cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_KSC5601_5F },               /* 0x5F */
396*cdf0e10cSrcweir    { 0x07, 0xFB, aImplUniToDBCSTab_KSC5601_60 },               /* 0x60 */
397*cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_KSC5601_61 },               /* 0x61 */
398*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_62 },               /* 0x62 */
399*cdf0e10cSrcweir    { 0x01, 0xF7, aImplUniToDBCSTab_KSC5601_63 },               /* 0x63 */
400*cdf0e10cSrcweir    { 0x0D, 0xFE, aImplUniToDBCSTab_KSC5601_64 },               /* 0x64 */
401*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_65 },               /* 0x65 */
402*cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_KSC5601_66 },               /* 0x66 */
403*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_67 },               /* 0x67 */
404*cdf0e10cSrcweir    { 0x12, 0xFA, aImplUniToDBCSTab_KSC5601_68 },               /* 0x68 */
405*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_69 },               /* 0x69 */
406*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_KSC5601_6A },               /* 0x6A */
407*cdf0e10cSrcweir    { 0x04, 0xEC, aImplUniToDBCSTab_KSC5601_6B },               /* 0x6B */
408*cdf0e10cSrcweir    { 0x08, 0xF3, aImplUniToDBCSTab_KSC5601_6C },               /* 0x6C */
409*cdf0e10cSrcweir    { 0x03, 0xFB, aImplUniToDBCSTab_KSC5601_6D },               /* 0x6D */
410*cdf0e10cSrcweir    { 0x17, 0xFF, aImplUniToDBCSTab_KSC5601_6E },               /* 0x6E */
411*cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_KSC5601_6F },               /* 0x6F */
412*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_KSC5601_70 },               /* 0x70 */
413*cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_KSC5601_71 },               /* 0x71 */
414*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_KSC5601_72 },               /* 0x72 */
415*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_KSC5601_73 },               /* 0x73 */
416*cdf0e10cSrcweir    { 0x01, 0xF7, aImplUniToDBCSTab_KSC5601_74 },               /* 0x74 */
417*cdf0e10cSrcweir    { 0x01, 0xFC, aImplUniToDBCSTab_KSC5601_75 },               /* 0x75 */
418*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_76 },               /* 0x76 */
419*cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_KSC5601_77 },               /* 0x77 */
420*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_KSC5601_78 },               /* 0x78 */
421*cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_KSC5601_79 },               /* 0x79 */
422*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_7A },               /* 0x7A */
423*cdf0e10cSrcweir    { 0x0F, 0xE9, aImplUniToDBCSTab_KSC5601_7B },               /* 0x7B */
424*cdf0e10cSrcweir    { 0x07, 0xFE, aImplUniToDBCSTab_KSC5601_7C },               /* 0x7C */
425*cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_KSC5601_7D },               /* 0x7D */
426*cdf0e10cSrcweir    { 0x09, 0x9C, aImplUniToDBCSTab_KSC5601_7E },               /* 0x7E */
427*cdf0e10cSrcweir    { 0x36, 0xFC, aImplUniToDBCSTab_KSC5601_7F },               /* 0x7F */
428*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_KSC5601_80 },               /* 0x80 */
429*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_KSC5601_81 },               /* 0x81 */
430*cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_KSC5601_82 },               /* 0x82 */
431*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_KSC5601_83 },               /* 0x83 */
432*cdf0e10cSrcweir    { 0x03, 0xFC, aImplUniToDBCSTab_KSC5601_84 },               /* 0x84 */
433*cdf0e10cSrcweir    { 0x11, 0xFF, aImplUniToDBCSTab_KSC5601_85 },               /* 0x85 */
434*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_KSC5601_86 },               /* 0x86 */
435*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_87 },               /* 0x87 */
436*cdf0e10cSrcweir    { 0x05, 0xFD, aImplUniToDBCSTab_KSC5601_88 },               /* 0x88 */
437*cdf0e10cSrcweir    { 0x07, 0xF8, aImplUniToDBCSTab_KSC5601_89 },               /* 0x89 */
438*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_8A },               /* 0x8A */
439*cdf0e10cSrcweir    { 0x00, 0x9A, aImplUniToDBCSTab_KSC5601_8B },               /* 0x8B */
440*cdf0e10cSrcweir    { 0x37, 0xFD, aImplUniToDBCSTab_KSC5601_8C },               /* 0x8C */
441*cdf0e10cSrcweir    { 0x04, 0xFB, aImplUniToDBCSTab_KSC5601_8D },               /* 0x8D */
442*cdf0e10cSrcweir    { 0x0A, 0xFE, aImplUniToDBCSTab_KSC5601_8E },               /* 0x8E */
443*cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_KSC5601_8F },               /* 0x8F */
444*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_KSC5601_90 },               /* 0x90 */
445*cdf0e10cSrcweir    { 0x02, 0xF5, aImplUniToDBCSTab_KSC5601_91 },               /* 0x91 */
446*cdf0e10cSrcweir    { 0x0D, 0xFC, aImplUniToDBCSTab_KSC5601_92 },               /* 0x92 */
447*cdf0e10cSrcweir    { 0x04, 0xF6, aImplUniToDBCSTab_KSC5601_93 },               /* 0x93 */
448*cdf0e10cSrcweir    { 0x04, 0x7F, aImplUniToDBCSTab_KSC5601_94 },               /* 0x94 */
449*cdf0e10cSrcweir    { 0x77, 0xE2, aImplUniToDBCSTab_KSC5601_95 },               /* 0x95 */
450*cdf0e10cSrcweir    { 0x1C, 0xFB, aImplUniToDBCSTab_KSC5601_96 },               /* 0x96 */
451*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_97 },               /* 0x97 */
452*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_KSC5601_98 },               /* 0x98 */
453*cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_KSC5601_99 },               /* 0x99 */
454*cdf0e10cSrcweir    { 0x01, 0xEE, aImplUniToDBCSTab_KSC5601_9A },               /* 0x9A */
455*cdf0e10cSrcweir    { 0x1A, 0xE8, aImplUniToDBCSTab_KSC5601_9B },               /* 0x9B */
456*cdf0e10cSrcweir    { 0x0D, 0xF6, aImplUniToDBCSTab_KSC5601_9C },               /* 0x9C */
457*cdf0e10cSrcweir    { 0x09, 0xFA, aImplUniToDBCSTab_KSC5601_9D },               /* 0x9D */
458*cdf0e10cSrcweir    { 0x1A, 0xF4, aImplUniToDBCSTab_KSC5601_9E },               /* 0x9E */
459*cdf0e10cSrcweir    { 0x07, 0x9C, aImplUniToDBCSTab_KSC5601_9F },               /* 0x9F */
460*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
461*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
462*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
463*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
464*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
465*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
466*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
467*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
468*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
469*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
470*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
471*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
472*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_AC },               /* 0xAC */
473*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_AD },               /* 0xAD */
474*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_AE },               /* 0xAE */
475*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_AF },               /* 0xAF */
476*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B0 },               /* 0xB0 */
477*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B1 },               /* 0xB1 */
478*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B2 },               /* 0xB2 */
479*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B3 },               /* 0xB3 */
480*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B4 },               /* 0xB4 */
481*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B5 },               /* 0xB5 */
482*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B6 },               /* 0xB6 */
483*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B7 },               /* 0xB7 */
484*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B8 },               /* 0xB8 */
485*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_B9 },               /* 0xB9 */
486*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BA },               /* 0xBA */
487*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BB },               /* 0xBB */
488*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BC },               /* 0xBC */
489*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BD },               /* 0xBD */
490*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BE },               /* 0xBE */
491*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_BF },               /* 0xBF */
492*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C0 },               /* 0xC0 */
493*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C1 },               /* 0xC1 */
494*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C2 },               /* 0xC2 */
495*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C3 },               /* 0xC3 */
496*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C4 },               /* 0xC4 */
497*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C5 },               /* 0xC5 */
498*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C6 },               /* 0xC6 */
499*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C7 },               /* 0xC7 */
500*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C8 },               /* 0xC8 */
501*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_C9 },               /* 0xC9 */
502*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CA },               /* 0xCA */
503*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CB },               /* 0xCB */
504*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CC },               /* 0xCC */
505*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CD },               /* 0xCD */
506*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CE },               /* 0xCE */
507*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_CF },               /* 0xCF */
508*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D0 },               /* 0xD0 */
509*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D1 },               /* 0xD1 */
510*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D2 },               /* 0xD2 */
511*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D3 },               /* 0xD3 */
512*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D4 },               /* 0xD4 */
513*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D5 },               /* 0xD5 */
514*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_D6 },               /* 0xD6 */
515*cdf0e10cSrcweir    { 0x00, 0xA3, aImplUniToDBCSTab_KSC5601_D7 },               /* 0xD7 */
516*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
517*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
518*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
519*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
520*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
521*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
522*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
523*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
524*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
525*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
526*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
527*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
528*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
529*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
530*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
531*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
532*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
533*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
534*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
535*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
536*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
537*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
538*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
539*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
540*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
541*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
542*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
543*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
544*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
545*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
546*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
547*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
548*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
549*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_KSC5601_F9 },               /* 0xF9 */
550*cdf0e10cSrcweir    { 0x00, 0x0B, aImplUniToDBCSTab_KSC5601_FA },               /* 0xFA */
551*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
552*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
553*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
554*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFE */
555*cdf0e10cSrcweir    { 0x01, 0xE6, aImplUniToDBCSTab_KSC5601_FF }                /* 0xFF */
556*cdf0e10cSrcweir};
557*cdf0e10cSrcweir
558*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
559*cdf0e10cSrcweir
560*cdf0e10cSrcweir/* C9A1-C9FE    -> E000-E05D */
561*cdf0e10cSrcweir/* FEA1-FEFE    -> E05E-E0BB */
562*cdf0e10cSrcweir
563*cdf0e10cSrcweir#define DBCS_EUDC_MS949_COUNT    2
564*cdf0e10cSrcweirstatic ImplDBCSEUDCData const aImplMS949DBCSEUDCTab[DBCS_EUDC_MS949_COUNT] =
565*cdf0e10cSrcweir{
566*cdf0e10cSrcweir    /* EUDC-Range */
567*cdf0e10cSrcweir    /* Lead:    C9-C9 */
568*cdf0e10cSrcweir    /* Trail:   A1-FE */
569*cdf0e10cSrcweir    { 0xC9, 0xC9, 0xA1, 0xFE, 0, 0, 0, 0, 1, 0x5E, 0xE000, 0xE05D },
570*cdf0e10cSrcweir    /* Lead:    FE-FE */
571*cdf0e10cSrcweir    /* Trail:   A1-FE */
572*cdf0e10cSrcweir    { 0xFE, 0xFE, 0xA1, 0xFE, 0, 0, 0, 0, 1, 0x5E, 0xE05E, 0xE0BB }
573*cdf0e10cSrcweir};
574*cdf0e10cSrcweir
575*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
576*cdf0e10cSrcweir
577*cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplKSC5601DBCSCvtData =
578*cdf0e10cSrcweir{
579*cdf0e10cSrcweir    aKSC5601UniLeadTab,
580*cdf0e10cSrcweir    aKSC5601DBCSHighTab,
581*cdf0e10cSrcweir    0xA1, 0xFE,
582*cdf0e10cSrcweir    0xA1, 0xFE,
583*cdf0e10cSrcweir    aImplMS949DBCSEUDCTab,
584*cdf0e10cSrcweir    DBCS_EUDC_MS949_COUNT
585*cdf0e10cSrcweir};
586*cdf0e10cSrcweir
587*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
588*cdf0e10cSrcweir
589*cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplMS949DBCSCvtData =
590*cdf0e10cSrcweir{
591*cdf0e10cSrcweir    aKSC5601UniLeadTab,
592*cdf0e10cSrcweir    aKSC5601DBCSHighTab,
593*cdf0e10cSrcweir    0x00, 0xFF,
594*cdf0e10cSrcweir    0x41, 0xFE,
595*cdf0e10cSrcweir    aImplMS949DBCSEUDCTab,
596*cdf0e10cSrcweir    DBCS_EUDC_MS949_COUNT
597*cdf0e10cSrcweir};
598*cdf0e10cSrcweir
599*cdf0e10cSrcweir/* ======================================================================= */
600*cdf0e10cSrcweir
601*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplEUCKRTextEncodingData
602*cdf0e10cSrcweir    = { { &aImplKSC5601DBCSCvtData,
603*cdf0e10cSrcweir          ImplDBCSToUnicode,
604*cdf0e10cSrcweir          ImplUnicodeToDBCS,
605*cdf0e10cSrcweir          NULL,
606*cdf0e10cSrcweir          NULL,
607*cdf0e10cSrcweir          NULL,
608*cdf0e10cSrcweir          NULL,
609*cdf0e10cSrcweir          NULL,
610*cdf0e10cSrcweir          NULL },
611*cdf0e10cSrcweir        1,
612*cdf0e10cSrcweir        2,
613*cdf0e10cSrcweir        2,
614*cdf0e10cSrcweir        129,
615*cdf0e10cSrcweir        "euc-kr",
616*cdf0e10cSrcweir        "euc-kr",
617*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_ASCII
618*cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MULTIBYTE
619*cdf0e10cSrcweir            | RTL_TEXTENCODING_INFO_MIME };
620*cdf0e10cSrcweir    /* SCRIPT_KOREAN, pc code page 934, mac encoding 3 */
621*cdf0e10cSrcweir
622*cdf0e10cSrcweir/* ======================================================================= */
623*cdf0e10cSrcweir
624*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS949TextEncodingData
625*cdf0e10cSrcweir    = { { &aImplMS949DBCSCvtData,
626*cdf0e10cSrcweir          ImplDBCSToUnicode,
627*cdf0e10cSrcweir          ImplUnicodeToDBCS,
628*cdf0e10cSrcweir          NULL,
629*cdf0e10cSrcweir          NULL,
630*cdf0e10cSrcweir          NULL,
631*cdf0e10cSrcweir          NULL,
632*cdf0e10cSrcweir          NULL,
633*cdf0e10cSrcweir          NULL },
634*cdf0e10cSrcweir        1,
635*cdf0e10cSrcweir        2,
636*cdf0e10cSrcweir        2,
637*cdf0e10cSrcweir        129,
638*cdf0e10cSrcweir        "euc-kr",
639*cdf0e10cSrcweir        "euc-kr",
640*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_MULTIBYTE };
641*cdf0e10cSrcweir    /* WIN/DOS/OS2, SCRIPT_KOREAN, pc code page 934, mac encoding 3 */
642*cdf0e10cSrcweir
643*cdf0e10cSrcweir/* ======================================================================= */
644*cdf0e10cSrcweir
645*cdf0e10cSrcweir/* Apple has some extension, which we don't support */
646*cdf0e10cSrcweir
647*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplAPPLEKOREANTextEncodingData
648*cdf0e10cSrcweir    = { { &aImplMS949DBCSCvtData,
649*cdf0e10cSrcweir          ImplDBCSToUnicode,
650*cdf0e10cSrcweir          ImplUnicodeToDBCS,
651*cdf0e10cSrcweir          NULL,
652*cdf0e10cSrcweir          NULL,
653*cdf0e10cSrcweir          NULL,
654*cdf0e10cSrcweir          NULL,
655*cdf0e10cSrcweir          NULL,
656*cdf0e10cSrcweir          NULL },
657*cdf0e10cSrcweir        1,
658*cdf0e10cSrcweir        2,
659*cdf0e10cSrcweir        2,
660*cdf0e10cSrcweir        129,
661*cdf0e10cSrcweir        "euc-kr",
662*cdf0e10cSrcweir        "euc-kr",
663*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_MULTIBYTE };
664*cdf0e10cSrcweir    /* MAC, SCRIPT_KOREAN, pc code page 934, mac encoding 3 */
665*cdf0e10cSrcweir
666*cdf0e10cSrcweir/* ======================================================================= */
667*cdf0e10cSrcweir
668*cdf0e10cSrcweirstatic ImplDBCSToUniLeadTab const aJOHABUniLeadTab[256] =
669*cdf0e10cSrcweir{
670*cdf0e10cSrcweir    { 0x0000,    0,    0, NULL },                               /* 0x00 */
671*cdf0e10cSrcweir    { 0x0001,    0,    0, NULL },                               /* 0x01 */
672*cdf0e10cSrcweir    { 0x0002,    0,    0, NULL },                               /* 0x02 */
673*cdf0e10cSrcweir    { 0x0003,    0,    0, NULL },                               /* 0x03 */
674*cdf0e10cSrcweir    { 0x0004,    0,    0, NULL },                               /* 0x04 */
675*cdf0e10cSrcweir    { 0x0005,    0,    0, NULL },                               /* 0x05 */
676*cdf0e10cSrcweir    { 0x0006,    0,    0, NULL },                               /* 0x06 */
677*cdf0e10cSrcweir    { 0x0007,    0,    0, NULL },                               /* 0x07 */
678*cdf0e10cSrcweir    { 0x0008,    0,    0, NULL },                               /* 0x08 */
679*cdf0e10cSrcweir    { 0x0009,    0,    0, NULL },                               /* 0x09 */
680*cdf0e10cSrcweir    { 0x000A,    0,    0, NULL },                               /* 0x0A */
681*cdf0e10cSrcweir    { 0x000B,    0,    0, NULL },                               /* 0x0B */
682*cdf0e10cSrcweir    { 0x000C,    0,    0, NULL },                               /* 0x0C */
683*cdf0e10cSrcweir    { 0x000D,    0,    0, NULL },                               /* 0x0D */
684*cdf0e10cSrcweir    { 0x000E,    0,    0, NULL },                               /* 0x0E */
685*cdf0e10cSrcweir    { 0x000F,    0,    0, NULL },                               /* 0x0F */
686*cdf0e10cSrcweir    { 0x0010,    0,    0, NULL },                               /* 0x10 */
687*cdf0e10cSrcweir    { 0x0011,    0,    0, NULL },                               /* 0x11 */
688*cdf0e10cSrcweir    { 0x0012,    0,    0, NULL },                               /* 0x12 */
689*cdf0e10cSrcweir    { 0x0013,    0,    0, NULL },                               /* 0x13 */
690*cdf0e10cSrcweir    { 0x0014,    0,    0, NULL },                               /* 0x14 */
691*cdf0e10cSrcweir    { 0x0015,    0,    0, NULL },                               /* 0x15 */
692*cdf0e10cSrcweir    { 0x0016,    0,    0, NULL },                               /* 0x16 */
693*cdf0e10cSrcweir    { 0x0017,    0,    0, NULL },                               /* 0x17 */
694*cdf0e10cSrcweir    { 0x0018,    0,    0, NULL },                               /* 0x18 */
695*cdf0e10cSrcweir    { 0x0019,    0,    0, NULL },                               /* 0x19 */
696*cdf0e10cSrcweir    { 0x001A,    0,    0, NULL },                               /* 0x1A */
697*cdf0e10cSrcweir    { 0x001B,    0,    0, NULL },                               /* 0x1B */
698*cdf0e10cSrcweir    { 0x001C,    0,    0, NULL },                               /* 0x1C */
699*cdf0e10cSrcweir    { 0x001D,    0,    0, NULL },                               /* 0x1D */
700*cdf0e10cSrcweir    { 0x001E,    0,    0, NULL },                               /* 0x1E */
701*cdf0e10cSrcweir    { 0x001F,    0,    0, NULL },                               /* 0x1F */
702*cdf0e10cSrcweir    { 0x0020,    0,    0, NULL },                               /* 0x20 */
703*cdf0e10cSrcweir    { 0x0021,    0,    0, NULL },                               /* 0x21 */
704*cdf0e10cSrcweir    { 0x0022,    0,    0, NULL },                               /* 0x22 */
705*cdf0e10cSrcweir    { 0x0023,    0,    0, NULL },                               /* 0x23 */
706*cdf0e10cSrcweir    { 0x0024,    0,    0, NULL },                               /* 0x24 */
707*cdf0e10cSrcweir    { 0x0025,    0,    0, NULL },                               /* 0x25 */
708*cdf0e10cSrcweir    { 0x0026,    0,    0, NULL },                               /* 0x26 */
709*cdf0e10cSrcweir    { 0x0027,    0,    0, NULL },                               /* 0x27 */
710*cdf0e10cSrcweir    { 0x0028,    0,    0, NULL },                               /* 0x28 */
711*cdf0e10cSrcweir    { 0x0029,    0,    0, NULL },                               /* 0x29 */
712*cdf0e10cSrcweir    { 0x002A,    0,    0, NULL },                               /* 0x2A */
713*cdf0e10cSrcweir    { 0x002B,    0,    0, NULL },                               /* 0x2B */
714*cdf0e10cSrcweir    { 0x002C,    0,    0, NULL },                               /* 0x2C */
715*cdf0e10cSrcweir    { 0x002D,    0,    0, NULL },                               /* 0x2D */
716*cdf0e10cSrcweir    { 0x002E,    0,    0, NULL },                               /* 0x2E */
717*cdf0e10cSrcweir    { 0x002F,    0,    0, NULL },                               /* 0x2F */
718*cdf0e10cSrcweir    { 0x0030,    0,    0, NULL },                               /* 0x30 */
719*cdf0e10cSrcweir    { 0x0031,    0,    0, NULL },                               /* 0x31 */
720*cdf0e10cSrcweir    { 0x0032,    0,    0, NULL },                               /* 0x32 */
721*cdf0e10cSrcweir    { 0x0033,    0,    0, NULL },                               /* 0x33 */
722*cdf0e10cSrcweir    { 0x0034,    0,    0, NULL },                               /* 0x34 */
723*cdf0e10cSrcweir    { 0x0035,    0,    0, NULL },                               /* 0x35 */
724*cdf0e10cSrcweir    { 0x0036,    0,    0, NULL },                               /* 0x36 */
725*cdf0e10cSrcweir    { 0x0037,    0,    0, NULL },                               /* 0x37 */
726*cdf0e10cSrcweir    { 0x0038,    0,    0, NULL },                               /* 0x38 */
727*cdf0e10cSrcweir    { 0x0039,    0,    0, NULL },                               /* 0x39 */
728*cdf0e10cSrcweir    { 0x003A,    0,    0, NULL },                               /* 0x3A */
729*cdf0e10cSrcweir    { 0x003B,    0,    0, NULL },                               /* 0x3B */
730*cdf0e10cSrcweir    { 0x003C,    0,    0, NULL },                               /* 0x3C */
731*cdf0e10cSrcweir    { 0x003D,    0,    0, NULL },                               /* 0x3D */
732*cdf0e10cSrcweir    { 0x003E,    0,    0, NULL },                               /* 0x3E */
733*cdf0e10cSrcweir    { 0x003F,    0,    0, NULL },                               /* 0x3F */
734*cdf0e10cSrcweir    { 0x0040,    0,    0, NULL },                               /* 0x40 */
735*cdf0e10cSrcweir    { 0x0041,    0,    0, NULL },                               /* 0x41 */
736*cdf0e10cSrcweir    { 0x0042,    0,    0, NULL },                               /* 0x42 */
737*cdf0e10cSrcweir    { 0x0043,    0,    0, NULL },                               /* 0x43 */
738*cdf0e10cSrcweir    { 0x0044,    0,    0, NULL },                               /* 0x44 */
739*cdf0e10cSrcweir    { 0x0045,    0,    0, NULL },                               /* 0x45 */
740*cdf0e10cSrcweir    { 0x0046,    0,    0, NULL },                               /* 0x46 */
741*cdf0e10cSrcweir    { 0x0047,    0,    0, NULL },                               /* 0x47 */
742*cdf0e10cSrcweir    { 0x0048,    0,    0, NULL },                               /* 0x48 */
743*cdf0e10cSrcweir    { 0x0049,    0,    0, NULL },                               /* 0x49 */
744*cdf0e10cSrcweir    { 0x004A,    0,    0, NULL },                               /* 0x4A */
745*cdf0e10cSrcweir    { 0x004B,    0,    0, NULL },                               /* 0x4B */
746*cdf0e10cSrcweir    { 0x004C,    0,    0, NULL },                               /* 0x4C */
747*cdf0e10cSrcweir    { 0x004D,    0,    0, NULL },                               /* 0x4D */
748*cdf0e10cSrcweir    { 0x004E,    0,    0, NULL },                               /* 0x4E */
749*cdf0e10cSrcweir    { 0x004F,    0,    0, NULL },                               /* 0x4F */
750*cdf0e10cSrcweir    { 0x0050,    0,    0, NULL },                               /* 0x50 */
751*cdf0e10cSrcweir    { 0x0051,    0,    0, NULL },                               /* 0x51 */
752*cdf0e10cSrcweir    { 0x0052,    0,    0, NULL },                               /* 0x52 */
753*cdf0e10cSrcweir    { 0x0053,    0,    0, NULL },                               /* 0x53 */
754*cdf0e10cSrcweir    { 0x0054,    0,    0, NULL },                               /* 0x54 */
755*cdf0e10cSrcweir    { 0x0055,    0,    0, NULL },                               /* 0x55 */
756*cdf0e10cSrcweir    { 0x0056,    0,    0, NULL },                               /* 0x56 */
757*cdf0e10cSrcweir    { 0x0057,    0,    0, NULL },                               /* 0x57 */
758*cdf0e10cSrcweir    { 0x0058,    0,    0, NULL },                               /* 0x58 */
759*cdf0e10cSrcweir    { 0x0059,    0,    0, NULL },                               /* 0x59 */
760*cdf0e10cSrcweir    { 0x005A,    0,    0, NULL },                               /* 0x5A */
761*cdf0e10cSrcweir    { 0x005B,    0,    0, NULL },                               /* 0x5B */
762*cdf0e10cSrcweir    { 0x005C,    0,    0, NULL },                               /* 0x5C */
763*cdf0e10cSrcweir    { 0x005D,    0,    0, NULL },                               /* 0x5D */
764*cdf0e10cSrcweir    { 0x005E,    0,    0, NULL },                               /* 0x5E */
765*cdf0e10cSrcweir    { 0x005F,    0,    0, NULL },                               /* 0x5F */
766*cdf0e10cSrcweir    { 0x0060,    0,    0, NULL },                               /* 0x60 */
767*cdf0e10cSrcweir    { 0x0061,    0,    0, NULL },                               /* 0x61 */
768*cdf0e10cSrcweir    { 0x0062,    0,    0, NULL },                               /* 0x62 */
769*cdf0e10cSrcweir    { 0x0063,    0,    0, NULL },                               /* 0x63 */
770*cdf0e10cSrcweir    { 0x0064,    0,    0, NULL },                               /* 0x64 */
771*cdf0e10cSrcweir    { 0x0065,    0,    0, NULL },                               /* 0x65 */
772*cdf0e10cSrcweir    { 0x0066,    0,    0, NULL },                               /* 0x66 */
773*cdf0e10cSrcweir    { 0x0067,    0,    0, NULL },                               /* 0x67 */
774*cdf0e10cSrcweir    { 0x0068,    0,    0, NULL },                               /* 0x68 */
775*cdf0e10cSrcweir    { 0x0069,    0,    0, NULL },                               /* 0x69 */
776*cdf0e10cSrcweir    { 0x006A,    0,    0, NULL },                               /* 0x6A */
777*cdf0e10cSrcweir    { 0x006B,    0,    0, NULL },                               /* 0x6B */
778*cdf0e10cSrcweir    { 0x006C,    0,    0, NULL },                               /* 0x6C */
779*cdf0e10cSrcweir    { 0x006D,    0,    0, NULL },                               /* 0x6D */
780*cdf0e10cSrcweir    { 0x006E,    0,    0, NULL },                               /* 0x6E */
781*cdf0e10cSrcweir    { 0x006F,    0,    0, NULL },                               /* 0x6F */
782*cdf0e10cSrcweir    { 0x0070,    0,    0, NULL },                               /* 0x70 */
783*cdf0e10cSrcweir    { 0x0071,    0,    0, NULL },                               /* 0x71 */
784*cdf0e10cSrcweir    { 0x0072,    0,    0, NULL },                               /* 0x72 */
785*cdf0e10cSrcweir    { 0x0073,    0,    0, NULL },                               /* 0x73 */
786*cdf0e10cSrcweir    { 0x0074,    0,    0, NULL },                               /* 0x74 */
787*cdf0e10cSrcweir    { 0x0075,    0,    0, NULL },                               /* 0x75 */
788*cdf0e10cSrcweir    { 0x0076,    0,    0, NULL },                               /* 0x76 */
789*cdf0e10cSrcweir    { 0x0077,    0,    0, NULL },                               /* 0x77 */
790*cdf0e10cSrcweir    { 0x0078,    0,    0, NULL },                               /* 0x78 */
791*cdf0e10cSrcweir    { 0x0079,    0,    0, NULL },                               /* 0x79 */
792*cdf0e10cSrcweir    { 0x007A,    0,    0, NULL },                               /* 0x7A */
793*cdf0e10cSrcweir    { 0x007B,    0,    0, NULL },                               /* 0x7B */
794*cdf0e10cSrcweir    { 0x007C,    0,    0, NULL },                               /* 0x7C */
795*cdf0e10cSrcweir    { 0x007D,    0,    0, NULL },                               /* 0x7D */
796*cdf0e10cSrcweir    { 0x007E,    0,    0, NULL },                               /* 0x7E */
797*cdf0e10cSrcweir    { 0x007F,    0,    0, NULL },                               /* 0x7F */
798*cdf0e10cSrcweir    { 0x0080,    0,    0, NULL },                               /* 0x80 */
799*cdf0e10cSrcweir    { 0x0081,    0,    0, NULL },                               /* 0x81 */
800*cdf0e10cSrcweir    { 0x0082,    0,    0, NULL },                               /* 0x82 */
801*cdf0e10cSrcweir    { 0x0083,    0,    0, NULL },                               /* 0x83 */
802*cdf0e10cSrcweir    {      0, 0x44, 0xE1, aImplDBCSToUniTab_JOHAB_84 },         /* 0x84 */
803*cdf0e10cSrcweir    {      0, 0x41, 0xE1, aImplDBCSToUniTab_JOHAB_85 },         /* 0x85 */
804*cdf0e10cSrcweir    {      0, 0x41, 0xE1, aImplDBCSToUniTab_JOHAB_86 },         /* 0x86 */
805*cdf0e10cSrcweir    {      0, 0x41, 0xA1, aImplDBCSToUniTab_JOHAB_87 },         /* 0x87 */
806*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_88 },         /* 0x88 */
807*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_89 },         /* 0x89 */
808*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_8A },         /* 0x8A */
809*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_8B },         /* 0x8B */
810*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_8C },         /* 0x8C */
811*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_8D },         /* 0x8D */
812*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_8E },         /* 0x8E */
813*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_8F },         /* 0x8F */
814*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_90 },         /* 0x90 */
815*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_91 },         /* 0x91 */
816*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_92 },         /* 0x92 */
817*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_93 },         /* 0x93 */
818*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_94 },         /* 0x94 */
819*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_95 },         /* 0x95 */
820*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_96 },         /* 0x96 */
821*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_97 },         /* 0x97 */
822*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_98 },         /* 0x98 */
823*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_99 },         /* 0x99 */
824*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_9A },         /* 0x9A */
825*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_9B },         /* 0x9B */
826*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_9C },         /* 0x9C */
827*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_9D },         /* 0x9D */
828*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_9E },         /* 0x9E */
829*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_9F },         /* 0x9F */
830*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A0 },         /* 0xA0 */
831*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A1 },         /* 0xA1 */
832*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A2 },         /* 0xA2 */
833*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_A3 },         /* 0xA3 */
834*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A4 },         /* 0xA4 */
835*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A5 },         /* 0xA5 */
836*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A6 },         /* 0xA6 */
837*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_A7 },         /* 0xA7 */
838*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A8 },         /* 0xA8 */
839*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_A9 },         /* 0xA9 */
840*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_AA },         /* 0xAA */
841*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_AB },         /* 0xAB */
842*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_AC },         /* 0xAC */
843*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_AD },         /* 0xAD */
844*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_AE },         /* 0xAE */
845*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_AF },         /* 0xAF */
846*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B0 },         /* 0xB0 */
847*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B1 },         /* 0xB1 */
848*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B2 },         /* 0xB2 */
849*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_B3 },         /* 0xB3 */
850*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B4 },         /* 0xB4 */
851*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B5 },         /* 0xB5 */
852*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B6 },         /* 0xB6 */
853*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_B7 },         /* 0xB7 */
854*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B8 },         /* 0xB8 */
855*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_B9 },         /* 0xB9 */
856*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_BA },         /* 0xBA */
857*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_BB },         /* 0xBB */
858*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_BC },         /* 0xBC */
859*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_BD },         /* 0xBD */
860*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_BE },         /* 0xBE */
861*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_BF },         /* 0xBF */
862*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C0 },         /* 0xC0 */
863*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C1 },         /* 0xC1 */
864*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C2 },         /* 0xC2 */
865*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_C3 },         /* 0xC3 */
866*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C4 },         /* 0xC4 */
867*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C5 },         /* 0xC5 */
868*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C6 },         /* 0xC6 */
869*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_C7 },         /* 0xC7 */
870*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C8 },         /* 0xC8 */
871*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_C9 },         /* 0xC9 */
872*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_CA },         /* 0xCA */
873*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_CB },         /* 0xCB */
874*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_CC },         /* 0xCC */
875*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_CD },         /* 0xCD */
876*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_CE },         /* 0xCE */
877*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_CF },         /* 0xCF */
878*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_D0 },         /* 0xD0 */
879*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_D1 },         /* 0xD1 */
880*cdf0e10cSrcweir    {      0, 0x41, 0xFD, aImplDBCSToUniTab_JOHAB_D2 },         /* 0xD2 */
881*cdf0e10cSrcweir    {      0, 0x41, 0xBD, aImplDBCSToUniTab_JOHAB_D3 },         /* 0xD3 */
882*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xD4 */
883*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xD5 */
884*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xD6 */
885*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xD7 */
886*cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xD8 */ /* We convert this as double byte */
887*cdf0e10cSrcweir    {      0, 0x31, 0xE5, aImplDBCSToUniTab_JOHAB_D9 },         /* 0xD9 */
888*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_DA },         /* 0xDA */
889*cdf0e10cSrcweir    {      0, 0x31, 0xE4, aImplDBCSToUniTab_JOHAB_DB },         /* 0xDB */
890*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_DC },         /* 0xDC */
891*cdf0e10cSrcweir    {      0, 0x31, 0xF3, aImplDBCSToUniTab_JOHAB_DD },         /* 0xDD */
892*cdf0e10cSrcweir    {      0, 0x31, 0xF1, aImplDBCSToUniTab_JOHAB_DE },         /* 0xDE */
893*cdf0e10cSrcweir    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xDF */ /* We convert this as double byte */
894*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E0 },         /* 0xE0 */
895*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E1 },         /* 0xE1 */
896*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E2 },         /* 0xE2 */
897*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E3 },         /* 0xE3 */
898*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E4 },         /* 0xE4 */
899*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E5 },         /* 0xE5 */
900*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E6 },         /* 0xE6 */
901*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E7 },         /* 0xE7 */
902*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E8 },         /* 0xE8 */
903*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_E9 },         /* 0xE9 */
904*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_EA },         /* 0xEA */
905*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_EB },         /* 0xEB */
906*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_EC },         /* 0xEC */
907*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_ED },         /* 0xED */
908*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_EE },         /* 0xEE */
909*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_EF },         /* 0xEF */
910*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F0 },         /* 0xF0 */
911*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F1 },         /* 0xF1 */
912*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F2 },         /* 0xF2 */
913*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F3 },         /* 0xF3 */
914*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F4 },         /* 0xF4 */
915*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F5 },         /* 0xF5 */
916*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F6 },         /* 0xF6 */
917*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F7 },         /* 0xF7 */
918*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F8 },         /* 0xF8 */
919*cdf0e10cSrcweir    {      0, 0x31, 0xFE, aImplDBCSToUniTab_JOHAB_F9 },         /* 0xF9 */
920*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xFA */
921*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xFB */
922*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xFC */
923*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xFD */
924*cdf0e10cSrcweir    {      0,    1,    0, NULL },                               /* 0xFE */
925*cdf0e10cSrcweir    {      0,    1,    0, NULL }                                /* 0xFF */
926*cdf0e10cSrcweir};
927*cdf0e10cSrcweir
928*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
929*cdf0e10cSrcweir
930*cdf0e10cSrcweirstatic ImplUniToDBCSHighTab const aJOHABDBCSHighTab[256] =
931*cdf0e10cSrcweir{
932*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_00 },                 /* 0x00 */
933*cdf0e10cSrcweir    { 0x11, 0x67, aImplUniToDBCSTab_JOHAB_01 },                 /* 0x01 */
934*cdf0e10cSrcweir    { 0xC7, 0xDD, aImplUniToDBCSTab_JOHAB_02 },                 /* 0x02 */
935*cdf0e10cSrcweir    { 0x91, 0xC9, aImplUniToDBCSTab_JOHAB_03 },                 /* 0x03 */
936*cdf0e10cSrcweir    { 0x01, 0x51, aImplUniToDBCSTab_JOHAB_04 },                 /* 0x04 */
937*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x05 */
938*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x06 */
939*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x07 */
940*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x08 */
941*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x09 */
942*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0A */
943*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0B */
944*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0C */
945*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0D */
946*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0E */
947*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x0F */
948*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x10 */
949*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x11 */
950*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x12 */
951*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x13 */
952*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x14 */
953*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x15 */
954*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x16 */
955*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x17 */
956*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x18 */
957*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x19 */
958*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1A */
959*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1B */
960*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1C */
961*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1D */
962*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1E */
963*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x1F */
964*cdf0e10cSrcweir    { 0x15, 0xA9, aImplUniToDBCSTab_JOHAB_20 },                 /* 0x20 */
965*cdf0e10cSrcweir    { 0x03, 0xD4, aImplUniToDBCSTab_JOHAB_21 },                 /* 0x21 */
966*cdf0e10cSrcweir    { 0x00, 0xA5, aImplUniToDBCSTab_JOHAB_22 },                 /* 0x22 */
967*cdf0e10cSrcweir    { 0x12, 0x12, aImplUniToDBCSTab_JOHAB_23 },                 /* 0x23 */
968*cdf0e10cSrcweir    { 0x60, 0xE9, aImplUniToDBCSTab_JOHAB_24 },                 /* 0x24 */
969*cdf0e10cSrcweir    { 0x00, 0xD1, aImplUniToDBCSTab_JOHAB_25 },                 /* 0x25 */
970*cdf0e10cSrcweir    { 0x05, 0x6D, aImplUniToDBCSTab_JOHAB_26 },                 /* 0x26 */
971*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x27 */
972*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x28 */
973*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x29 */
974*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2A */
975*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2B */
976*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2C */
977*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2D */
978*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2E */
979*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x2F */
980*cdf0e10cSrcweir    { 0x00, 0xF7, aImplUniToDBCSTab_JOHAB_30 },                 /* 0x30 */
981*cdf0e10cSrcweir    { 0x31, 0x8E, aImplUniToDBCSTab_JOHAB_31 },                 /* 0x31 */
982*cdf0e10cSrcweir    { 0x00, 0x7F, aImplUniToDBCSTab_JOHAB_32 },                 /* 0x32 */
983*cdf0e10cSrcweir    { 0x80, 0xDD, aImplUniToDBCSTab_JOHAB_33 },                 /* 0x33 */
984*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x34 */
985*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x35 */
986*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x36 */
987*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x37 */
988*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x38 */
989*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x39 */
990*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3A */
991*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3B */
992*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3C */
993*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3D */
994*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3E */
995*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x3F */
996*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x40 */
997*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x41 */
998*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x42 */
999*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x43 */
1000*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x44 */
1001*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x45 */
1002*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x46 */
1003*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x47 */
1004*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x48 */
1005*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x49 */
1006*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4A */
1007*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4B */
1008*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4C */
1009*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0x4D */
1010*cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_JOHAB_4E },                 /* 0x4E */
1011*cdf0e10cSrcweir    { 0x01, 0xFA, aImplUniToDBCSTab_JOHAB_4F },                 /* 0x4F */
1012*cdf0e10cSrcweir    { 0x02, 0xFF, aImplUniToDBCSTab_JOHAB_50 },                 /* 0x50 */
1013*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_JOHAB_51 },                 /* 0x51 */
1014*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_52 },                 /* 0x52 */
1015*cdf0e10cSrcweir    { 0x05, 0xF8, aImplUniToDBCSTab_JOHAB_53 },                 /* 0x53 */
1016*cdf0e10cSrcweir    { 0x03, 0xFA, aImplUniToDBCSTab_JOHAB_54 },                 /* 0x54 */
1017*cdf0e10cSrcweir    { 0x04, 0xFE, aImplUniToDBCSTab_JOHAB_55 },                 /* 0x55 */
1018*cdf0e10cSrcweir    { 0x06, 0xFA, aImplUniToDBCSTab_JOHAB_56 },                 /* 0x56 */
1019*cdf0e10cSrcweir    { 0x03, 0xFC, aImplUniToDBCSTab_JOHAB_57 },                 /* 0x57 */
1020*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_JOHAB_58 },                 /* 0x58 */
1021*cdf0e10cSrcweir    { 0x07, 0xFF, aImplUniToDBCSTab_JOHAB_59 },                 /* 0x59 */
1022*cdf0e10cSrcweir    { 0x01, 0xE9, aImplUniToDBCSTab_JOHAB_5A },                 /* 0x5A */
1023*cdf0e10cSrcweir    { 0x05, 0xFA, aImplUniToDBCSTab_JOHAB_5B },                 /* 0x5B */
1024*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_JOHAB_5C },                 /* 0x5C */
1025*cdf0e10cSrcweir    { 0x07, 0xFE, aImplUniToDBCSTab_JOHAB_5D },                 /* 0x5D */
1026*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_JOHAB_5E },                 /* 0x5E */
1027*cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_JOHAB_5F },                 /* 0x5F */
1028*cdf0e10cSrcweir    { 0x07, 0xFB, aImplUniToDBCSTab_JOHAB_60 },                 /* 0x60 */
1029*cdf0e10cSrcweir    { 0x01, 0xFF, aImplUniToDBCSTab_JOHAB_61 },                 /* 0x61 */
1030*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_62 },                 /* 0x62 */
1031*cdf0e10cSrcweir    { 0x01, 0xF7, aImplUniToDBCSTab_JOHAB_63 },                 /* 0x63 */
1032*cdf0e10cSrcweir    { 0x0D, 0xFE, aImplUniToDBCSTab_JOHAB_64 },                 /* 0x64 */
1033*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_65 },                 /* 0x65 */
1034*cdf0e10cSrcweir    { 0x06, 0xFF, aImplUniToDBCSTab_JOHAB_66 },                 /* 0x66 */
1035*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_67 },                 /* 0x67 */
1036*cdf0e10cSrcweir    { 0x12, 0xFA, aImplUniToDBCSTab_JOHAB_68 },                 /* 0x68 */
1037*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_69 },                 /* 0x69 */
1038*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_JOHAB_6A },                 /* 0x6A */
1039*cdf0e10cSrcweir    { 0x04, 0xEC, aImplUniToDBCSTab_JOHAB_6B },                 /* 0x6B */
1040*cdf0e10cSrcweir    { 0x08, 0xF3, aImplUniToDBCSTab_JOHAB_6C },                 /* 0x6C */
1041*cdf0e10cSrcweir    { 0x03, 0xFB, aImplUniToDBCSTab_JOHAB_6D },                 /* 0x6D */
1042*cdf0e10cSrcweir    { 0x17, 0xFF, aImplUniToDBCSTab_JOHAB_6E },                 /* 0x6E */
1043*cdf0e10cSrcweir    { 0x01, 0xFE, aImplUniToDBCSTab_JOHAB_6F },                 /* 0x6F */
1044*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_JOHAB_70 },                 /* 0x70 */
1045*cdf0e10cSrcweir    { 0x04, 0xFF, aImplUniToDBCSTab_JOHAB_71 },                 /* 0x71 */
1046*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_JOHAB_72 },                 /* 0x72 */
1047*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_JOHAB_73 },                 /* 0x73 */
1048*cdf0e10cSrcweir    { 0x01, 0xF7, aImplUniToDBCSTab_JOHAB_74 },                 /* 0x74 */
1049*cdf0e10cSrcweir    { 0x01, 0xFC, aImplUniToDBCSTab_JOHAB_75 },                 /* 0x75 */
1050*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_76 },                 /* 0x76 */
1051*cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_JOHAB_77 },                 /* 0x77 */
1052*cdf0e10cSrcweir    { 0x02, 0xFB, aImplUniToDBCSTab_JOHAB_78 },                 /* 0x78 */
1053*cdf0e10cSrcweir    { 0x01, 0xFB, aImplUniToDBCSTab_JOHAB_79 },                 /* 0x79 */
1054*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_7A },                 /* 0x7A */
1055*cdf0e10cSrcweir    { 0x0F, 0xE9, aImplUniToDBCSTab_JOHAB_7B },                 /* 0x7B */
1056*cdf0e10cSrcweir    { 0x07, 0xFE, aImplUniToDBCSTab_JOHAB_7C },                 /* 0x7C */
1057*cdf0e10cSrcweir    { 0x00, 0xFB, aImplUniToDBCSTab_JOHAB_7D },                 /* 0x7D */
1058*cdf0e10cSrcweir    { 0x09, 0x9C, aImplUniToDBCSTab_JOHAB_7E },                 /* 0x7E */
1059*cdf0e10cSrcweir    { 0x36, 0xFC, aImplUniToDBCSTab_JOHAB_7F },                 /* 0x7F */
1060*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_JOHAB_80 },                 /* 0x80 */
1061*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_JOHAB_81 },                 /* 0x81 */
1062*cdf0e10cSrcweir    { 0x05, 0xFE, aImplUniToDBCSTab_JOHAB_82 },                 /* 0x82 */
1063*cdf0e10cSrcweir    { 0x01, 0xFD, aImplUniToDBCSTab_JOHAB_83 },                 /* 0x83 */
1064*cdf0e10cSrcweir    { 0x03, 0xFC, aImplUniToDBCSTab_JOHAB_84 },                 /* 0x84 */
1065*cdf0e10cSrcweir    { 0x11, 0xFF, aImplUniToDBCSTab_JOHAB_85 },                 /* 0x85 */
1066*cdf0e10cSrcweir    { 0x02, 0xFE, aImplUniToDBCSTab_JOHAB_86 },                 /* 0x86 */
1067*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_87 },                 /* 0x87 */
1068*cdf0e10cSrcweir    { 0x05, 0xFD, aImplUniToDBCSTab_JOHAB_88 },                 /* 0x88 */
1069*cdf0e10cSrcweir    { 0x07, 0xF8, aImplUniToDBCSTab_JOHAB_89 },                 /* 0x89 */
1070*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_8A },                 /* 0x8A */
1071*cdf0e10cSrcweir    { 0x00, 0x9A, aImplUniToDBCSTab_JOHAB_8B },                 /* 0x8B */
1072*cdf0e10cSrcweir    { 0x37, 0xFD, aImplUniToDBCSTab_JOHAB_8C },                 /* 0x8C */
1073*cdf0e10cSrcweir    { 0x04, 0xFB, aImplUniToDBCSTab_JOHAB_8D },                 /* 0x8D */
1074*cdf0e10cSrcweir    { 0x0A, 0xFE, aImplUniToDBCSTab_JOHAB_8E },                 /* 0x8E */
1075*cdf0e10cSrcweir    { 0x03, 0xFD, aImplUniToDBCSTab_JOHAB_8F },                 /* 0x8F */
1076*cdf0e10cSrcweir    { 0x00, 0xFD, aImplUniToDBCSTab_JOHAB_90 },                 /* 0x90 */
1077*cdf0e10cSrcweir    { 0x02, 0xF5, aImplUniToDBCSTab_JOHAB_91 },                 /* 0x91 */
1078*cdf0e10cSrcweir    { 0x0D, 0xFC, aImplUniToDBCSTab_JOHAB_92 },                 /* 0x92 */
1079*cdf0e10cSrcweir    { 0x04, 0xF6, aImplUniToDBCSTab_JOHAB_93 },                 /* 0x93 */
1080*cdf0e10cSrcweir    { 0x04, 0x7F, aImplUniToDBCSTab_JOHAB_94 },                 /* 0x94 */
1081*cdf0e10cSrcweir    { 0x77, 0xE2, aImplUniToDBCSTab_JOHAB_95 },                 /* 0x95 */
1082*cdf0e10cSrcweir    { 0x1C, 0xFB, aImplUniToDBCSTab_JOHAB_96 },                 /* 0x96 */
1083*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_97 },                 /* 0x97 */
1084*cdf0e10cSrcweir    { 0x00, 0xFE, aImplUniToDBCSTab_JOHAB_98 },                 /* 0x98 */
1085*cdf0e10cSrcweir    { 0x03, 0xFF, aImplUniToDBCSTab_JOHAB_99 },                 /* 0x99 */
1086*cdf0e10cSrcweir    { 0x01, 0xEE, aImplUniToDBCSTab_JOHAB_9A },                 /* 0x9A */
1087*cdf0e10cSrcweir    { 0x1A, 0xE8, aImplUniToDBCSTab_JOHAB_9B },                 /* 0x9B */
1088*cdf0e10cSrcweir    { 0x0D, 0xF6, aImplUniToDBCSTab_JOHAB_9C },                 /* 0x9C */
1089*cdf0e10cSrcweir    { 0x09, 0xFA, aImplUniToDBCSTab_JOHAB_9D },                 /* 0x9D */
1090*cdf0e10cSrcweir    { 0x1A, 0xF4, aImplUniToDBCSTab_JOHAB_9E },                 /* 0x9E */
1091*cdf0e10cSrcweir    { 0x07, 0x9C, aImplUniToDBCSTab_JOHAB_9F },                 /* 0x9F */
1092*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA0 */
1093*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA1 */
1094*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA2 */
1095*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA3 */
1096*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA4 */
1097*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA5 */
1098*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA6 */
1099*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA7 */
1100*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA8 */
1101*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xA9 */
1102*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAA */
1103*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xAB */
1104*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_AC },                 /* 0xAC */
1105*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_AD },                 /* 0xAD */
1106*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_AE },                 /* 0xAE */
1107*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_AF },                 /* 0xAF */
1108*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B0 },                 /* 0xB0 */
1109*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B1 },                 /* 0xB1 */
1110*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B2 },                 /* 0xB2 */
1111*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B3 },                 /* 0xB3 */
1112*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B4 },                 /* 0xB4 */
1113*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B5 },                 /* 0xB5 */
1114*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B6 },                 /* 0xB6 */
1115*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B7 },                 /* 0xB7 */
1116*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B8 },                 /* 0xB8 */
1117*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_B9 },                 /* 0xB9 */
1118*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BA },                 /* 0xBA */
1119*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BB },                 /* 0xBB */
1120*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BC },                 /* 0xBC */
1121*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BD },                 /* 0xBD */
1122*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BE },                 /* 0xBE */
1123*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_BF },                 /* 0xBF */
1124*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C0 },                 /* 0xC0 */
1125*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C1 },                 /* 0xC1 */
1126*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C2 },                 /* 0xC2 */
1127*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C3 },                 /* 0xC3 */
1128*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C4 },                 /* 0xC4 */
1129*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C5 },                 /* 0xC5 */
1130*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C6 },                 /* 0xC6 */
1131*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C7 },                 /* 0xC7 */
1132*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C8 },                 /* 0xC8 */
1133*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_C9 },                 /* 0xC9 */
1134*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CA },                 /* 0xCA */
1135*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CB },                 /* 0xCB */
1136*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CC },                 /* 0xCC */
1137*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CD },                 /* 0xCD */
1138*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CE },                 /* 0xCE */
1139*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_CF },                 /* 0xCF */
1140*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D0 },                 /* 0xD0 */
1141*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D1 },                 /* 0xD1 */
1142*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D2 },                 /* 0xD2 */
1143*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D3 },                 /* 0xD3 */
1144*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D4 },                 /* 0xD4 */
1145*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D5 },                 /* 0xD5 */
1146*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_D6 },                 /* 0xD6 */
1147*cdf0e10cSrcweir    { 0x00, 0xA3, aImplUniToDBCSTab_JOHAB_D7 },                 /* 0xD7 */
1148*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD8 */
1149*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xD9 */
1150*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDA */
1151*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDB */
1152*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDC */
1153*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDD */
1154*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDE */
1155*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xDF */
1156*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE0 */
1157*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE1 */
1158*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE2 */
1159*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE3 */
1160*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE4 */
1161*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE5 */
1162*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE6 */
1163*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE7 */
1164*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE8 */
1165*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xE9 */
1166*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEA */
1167*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEB */
1168*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEC */
1169*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xED */
1170*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEE */
1171*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xEF */
1172*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF0 */
1173*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF1 */
1174*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF2 */
1175*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF3 */
1176*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF4 */
1177*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF5 */
1178*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF6 */
1179*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF7 */
1180*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xF8 */
1181*cdf0e10cSrcweir    { 0x00, 0xFF, aImplUniToDBCSTab_JOHAB_F9 },                 /* 0xF9 */
1182*cdf0e10cSrcweir    { 0x00, 0x0B, aImplUniToDBCSTab_JOHAB_FA },                 /* 0xFA */
1183*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFB */
1184*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFC */
1185*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFD */
1186*cdf0e10cSrcweir    {    1,    0, NULL },                                       /* 0xFE */
1187*cdf0e10cSrcweir    { 0x01, 0xE6, aImplUniToDBCSTab_JOHAB_FF }                  /* 0xFF */
1188*cdf0e10cSrcweir};
1189*cdf0e10cSrcweir
1190*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1191*cdf0e10cSrcweir
1192*cdf0e10cSrcweir/* D831-D87E    -> E000-E05D */
1193*cdf0e10cSrcweir/* D891-D8FE    -> E05E-E0BB */
1194*cdf0e10cSrcweir
1195*cdf0e10cSrcweir#define DBCS_EUDC_MS1361_COUNT    2
1196*cdf0e10cSrcweirstatic ImplDBCSEUDCData const aImplMS1361DBCSEUDCTab[DBCS_EUDC_MS1361_COUNT] =
1197*cdf0e10cSrcweir{
1198*cdf0e10cSrcweir    /* EUDC-Range */
1199*cdf0e10cSrcweir    /* Lead:    D8-D8 */
1200*cdf0e10cSrcweir    /* Trail:   31-7E */
1201*cdf0e10cSrcweir    { 0xD8, 0xD8, 0x31, 0x7E, 0, 0, 0, 0, 1, 0x5D, 0xE000, 0xE05D },
1202*cdf0e10cSrcweir    /* Lead:    D8-D8 */
1203*cdf0e10cSrcweir    /* Trail:   91-FE */
1204*cdf0e10cSrcweir    { 0xD8, 0xD8, 0x91, 0xFE, 0, 0, 0, 0, 1, 0x5D, 0xE05E, 0xE0BB }
1205*cdf0e10cSrcweir};
1206*cdf0e10cSrcweir
1207*cdf0e10cSrcweir/* ----------------------------------------------------------------------- */
1208*cdf0e10cSrcweir
1209*cdf0e10cSrcweirstatic ImplDBCSConvertData const aImplJOHABDBCSCvtData =
1210*cdf0e10cSrcweir{
1211*cdf0e10cSrcweir    aJOHABUniLeadTab,
1212*cdf0e10cSrcweir    aJOHABDBCSHighTab,
1213*cdf0e10cSrcweir    0x00, 0xFF,
1214*cdf0e10cSrcweir    0x31, 0xFE,
1215*cdf0e10cSrcweir    aImplMS1361DBCSEUDCTab,
1216*cdf0e10cSrcweir    DBCS_EUDC_MS1361_COUNT
1217*cdf0e10cSrcweir};
1218*cdf0e10cSrcweir
1219*cdf0e10cSrcweir/* ======================================================================= */
1220*cdf0e10cSrcweir
1221*cdf0e10cSrcweirstatic ImplTextEncodingData const aImplMS1361TextEncodingData
1222*cdf0e10cSrcweir    = { { &aImplJOHABDBCSCvtData,
1223*cdf0e10cSrcweir          ImplDBCSToUnicode,
1224*cdf0e10cSrcweir          ImplUnicodeToDBCS,
1225*cdf0e10cSrcweir          NULL,
1226*cdf0e10cSrcweir          NULL,
1227*cdf0e10cSrcweir          NULL,
1228*cdf0e10cSrcweir          NULL,
1229*cdf0e10cSrcweir          NULL,
1230*cdf0e10cSrcweir          NULL },
1231*cdf0e10cSrcweir        1,
1232*cdf0e10cSrcweir        2,
1233*cdf0e10cSrcweir        2,
1234*cdf0e10cSrcweir        130,
1235*cdf0e10cSrcweir        "euc-kr",
1236*cdf0e10cSrcweir        "euc-kr",
1237*cdf0e10cSrcweir        RTL_TEXTENCODING_INFO_MULTIBYTE | RTL_TEXTENCODING_INFO_MIME };
1238*cdf0e10cSrcweir    /* SCRIPT_KOREAN, pc code page 1361, mac encoding 3 */
1239