xref: /aoo4110/main/sal/textenc/tcvtjp6.tab (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski/* ======================================================================= */
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski/* This file contain the information tables for all japanese charsets: */
27*b1cdbd2cSJim Jagielski/* SJIS, MS932, APPLE_JAPANESE, EUC_JP, JIS-X-201, JIS-X-208, JIS-X-212 */
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski/* ======================================================================= */
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielskistatic ImplDBCSToUniLeadTab const aSJISUniLeadTab[256] =
32*b1cdbd2cSJim Jagielski{
33*b1cdbd2cSJim Jagielski    { 0x0000,    0,    0, NULL },                               /* 0x00 */
34*b1cdbd2cSJim Jagielski    { 0x0001,    0,    0, NULL },                               /* 0x01 */
35*b1cdbd2cSJim Jagielski    { 0x0002,    0,    0, NULL },                               /* 0x02 */
36*b1cdbd2cSJim Jagielski    { 0x0003,    0,    0, NULL },                               /* 0x03 */
37*b1cdbd2cSJim Jagielski    { 0x0004,    0,    0, NULL },                               /* 0x04 */
38*b1cdbd2cSJim Jagielski    { 0x0005,    0,    0, NULL },                               /* 0x05 */
39*b1cdbd2cSJim Jagielski    { 0x0006,    0,    0, NULL },                               /* 0x06 */
40*b1cdbd2cSJim Jagielski    { 0x0007,    0,    0, NULL },                               /* 0x07 */
41*b1cdbd2cSJim Jagielski    { 0x0008,    0,    0, NULL },                               /* 0x08 */
42*b1cdbd2cSJim Jagielski    { 0x0009,    0,    0, NULL },                               /* 0x09 */
43*b1cdbd2cSJim Jagielski    { 0x000A,    0,    0, NULL },                               /* 0x0A */
44*b1cdbd2cSJim Jagielski    { 0x000B,    0,    0, NULL },                               /* 0x0B */
45*b1cdbd2cSJim Jagielski    { 0x000C,    0,    0, NULL },                               /* 0x0C */
46*b1cdbd2cSJim Jagielski    { 0x000D,    0,    0, NULL },                               /* 0x0D */
47*b1cdbd2cSJim Jagielski    { 0x000E,    0,    0, NULL },                               /* 0x0E */
48*b1cdbd2cSJim Jagielski    { 0x000F,    0,    0, NULL },                               /* 0x0F */
49*b1cdbd2cSJim Jagielski    { 0x0010,    0,    0, NULL },                               /* 0x10 */
50*b1cdbd2cSJim Jagielski    { 0x0011,    0,    0, NULL },                               /* 0x11 */
51*b1cdbd2cSJim Jagielski    { 0x0012,    0,    0, NULL },                               /* 0x12 */
52*b1cdbd2cSJim Jagielski    { 0x0013,    0,    0, NULL },                               /* 0x13 */
53*b1cdbd2cSJim Jagielski    { 0x0014,    0,    0, NULL },                               /* 0x14 */
54*b1cdbd2cSJim Jagielski    { 0x0015,    0,    0, NULL },                               /* 0x15 */
55*b1cdbd2cSJim Jagielski    { 0x0016,    0,    0, NULL },                               /* 0x16 */
56*b1cdbd2cSJim Jagielski    { 0x0017,    0,    0, NULL },                               /* 0x17 */
57*b1cdbd2cSJim Jagielski    { 0x0018,    0,    0, NULL },                               /* 0x18 */
58*b1cdbd2cSJim Jagielski    { 0x0019,    0,    0, NULL },                               /* 0x19 */
59*b1cdbd2cSJim Jagielski    { 0x001A,    0,    0, NULL },                               /* 0x1A */
60*b1cdbd2cSJim Jagielski    { 0x001B,    0,    0, NULL },                               /* 0x1B */
61*b1cdbd2cSJim Jagielski    { 0x001C,    0,    0, NULL },                               /* 0x1C */
62*b1cdbd2cSJim Jagielski    { 0x001D,    0,    0, NULL },                               /* 0x1D */
63*b1cdbd2cSJim Jagielski    { 0x001E,    0,    0, NULL },                               /* 0x1E */
64*b1cdbd2cSJim Jagielski    { 0x001F,    0,    0, NULL },                               /* 0x1F */
65*b1cdbd2cSJim Jagielski    { 0x0020,    0,    0, NULL },                               /* 0x20 */
66*b1cdbd2cSJim Jagielski    { 0x0021,    0,    0, NULL },                               /* 0x21 */
67*b1cdbd2cSJim Jagielski    { 0x0022,    0,    0, NULL },                               /* 0x22 */
68*b1cdbd2cSJim Jagielski    { 0x0023,    0,    0, NULL },                               /* 0x23 */
69*b1cdbd2cSJim Jagielski    { 0x0024,    0,    0, NULL },                               /* 0x24 */
70*b1cdbd2cSJim Jagielski    { 0x0025,    0,    0, NULL },                               /* 0x25 */
71*b1cdbd2cSJim Jagielski    { 0x0026,    0,    0, NULL },                               /* 0x26 */
72*b1cdbd2cSJim Jagielski    { 0x0027,    0,    0, NULL },                               /* 0x27 */
73*b1cdbd2cSJim Jagielski    { 0x0028,    0,    0, NULL },                               /* 0x28 */
74*b1cdbd2cSJim Jagielski    { 0x0029,    0,    0, NULL },                               /* 0x29 */
75*b1cdbd2cSJim Jagielski    { 0x002A,    0,    0, NULL },                               /* 0x2A */
76*b1cdbd2cSJim Jagielski    { 0x002B,    0,    0, NULL },                               /* 0x2B */
77*b1cdbd2cSJim Jagielski    { 0x002C,    0,    0, NULL },                               /* 0x2C */
78*b1cdbd2cSJim Jagielski    { 0x002D,    0,    0, NULL },                               /* 0x2D */
79*b1cdbd2cSJim Jagielski    { 0x002E,    0,    0, NULL },                               /* 0x2E */
80*b1cdbd2cSJim Jagielski    { 0x002F,    0,    0, NULL },                               /* 0x2F */
81*b1cdbd2cSJim Jagielski    { 0x0030,    0,    0, NULL },                               /* 0x30 */
82*b1cdbd2cSJim Jagielski    { 0x0031,    0,    0, NULL },                               /* 0x31 */
83*b1cdbd2cSJim Jagielski    { 0x0032,    0,    0, NULL },                               /* 0x32 */
84*b1cdbd2cSJim Jagielski    { 0x0033,    0,    0, NULL },                               /* 0x33 */
85*b1cdbd2cSJim Jagielski    { 0x0034,    0,    0, NULL },                               /* 0x34 */
86*b1cdbd2cSJim Jagielski    { 0x0035,    0,    0, NULL },                               /* 0x35 */
87*b1cdbd2cSJim Jagielski    { 0x0036,    0,    0, NULL },                               /* 0x36 */
88*b1cdbd2cSJim Jagielski    { 0x0037,    0,    0, NULL },                               /* 0x37 */
89*b1cdbd2cSJim Jagielski    { 0x0038,    0,    0, NULL },                               /* 0x38 */
90*b1cdbd2cSJim Jagielski    { 0x0039,    0,    0, NULL },                               /* 0x39 */
91*b1cdbd2cSJim Jagielski    { 0x003A,    0,    0, NULL },                               /* 0x3A */
92*b1cdbd2cSJim Jagielski    { 0x003B,    0,    0, NULL },                               /* 0x3B */
93*b1cdbd2cSJim Jagielski    { 0x003C,    0,    0, NULL },                               /* 0x3C */
94*b1cdbd2cSJim Jagielski    { 0x003D,    0,    0, NULL },                               /* 0x3D */
95*b1cdbd2cSJim Jagielski    { 0x003E,    0,    0, NULL },                               /* 0x3E */
96*b1cdbd2cSJim Jagielski    { 0x003F,    0,    0, NULL },                               /* 0x3F */
97*b1cdbd2cSJim Jagielski    { 0x0040,    0,    0, NULL },                               /* 0x40 */
98*b1cdbd2cSJim Jagielski    { 0x0041,    0,    0, NULL },                               /* 0x41 */
99*b1cdbd2cSJim Jagielski    { 0x0042,    0,    0, NULL },                               /* 0x42 */
100*b1cdbd2cSJim Jagielski    { 0x0043,    0,    0, NULL },                               /* 0x43 */
101*b1cdbd2cSJim Jagielski    { 0x0044,    0,    0, NULL },                               /* 0x44 */
102*b1cdbd2cSJim Jagielski    { 0x0045,    0,    0, NULL },                               /* 0x45 */
103*b1cdbd2cSJim Jagielski    { 0x0046,    0,    0, NULL },                               /* 0x46 */
104*b1cdbd2cSJim Jagielski    { 0x0047,    0,    0, NULL },                               /* 0x47 */
105*b1cdbd2cSJim Jagielski    { 0x0048,    0,    0, NULL },                               /* 0x48 */
106*b1cdbd2cSJim Jagielski    { 0x0049,    0,    0, NULL },                               /* 0x49 */
107*b1cdbd2cSJim Jagielski    { 0x004A,    0,    0, NULL },                               /* 0x4A */
108*b1cdbd2cSJim Jagielski    { 0x004B,    0,    0, NULL },                               /* 0x4B */
109*b1cdbd2cSJim Jagielski    { 0x004C,    0,    0, NULL },                               /* 0x4C */
110*b1cdbd2cSJim Jagielski    { 0x004D,    0,    0, NULL },                               /* 0x4D */
111*b1cdbd2cSJim Jagielski    { 0x004E,    0,    0, NULL },                               /* 0x4E */
112*b1cdbd2cSJim Jagielski    { 0x004F,    0,    0, NULL },                               /* 0x4F */
113*b1cdbd2cSJim Jagielski    { 0x0050,    0,    0, NULL },                               /* 0x50 */
114*b1cdbd2cSJim Jagielski    { 0x0051,    0,    0, NULL },                               /* 0x51 */
115*b1cdbd2cSJim Jagielski    { 0x0052,    0,    0, NULL },                               /* 0x52 */
116*b1cdbd2cSJim Jagielski    { 0x0053,    0,    0, NULL },                               /* 0x53 */
117*b1cdbd2cSJim Jagielski    { 0x0054,    0,    0, NULL },                               /* 0x54 */
118*b1cdbd2cSJim Jagielski    { 0x0055,    0,    0, NULL },                               /* 0x55 */
119*b1cdbd2cSJim Jagielski    { 0x0056,    0,    0, NULL },                               /* 0x56 */
120*b1cdbd2cSJim Jagielski    { 0x0057,    0,    0, NULL },                               /* 0x57 */
121*b1cdbd2cSJim Jagielski    { 0x0058,    0,    0, NULL },                               /* 0x58 */
122*b1cdbd2cSJim Jagielski    { 0x0059,    0,    0, NULL },                               /* 0x59 */
123*b1cdbd2cSJim Jagielski    { 0x005A,    0,    0, NULL },                               /* 0x5A */
124*b1cdbd2cSJim Jagielski    { 0x005B,    0,    0, NULL },                               /* 0x5B */
125*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x5C */ /* is A5 (YEN SIGN), but for compatibiliy with ascii, we use 0x5C (SLASH) like MS CP392 */
126*b1cdbd2cSJim Jagielski    { 0x005D,    0,    0, NULL },                               /* 0x5D */
127*b1cdbd2cSJim Jagielski    { 0x005E,    0,    0, NULL },                               /* 0x5E */
128*b1cdbd2cSJim Jagielski    { 0x005F,    0,    0, NULL },                               /* 0x5F */
129*b1cdbd2cSJim Jagielski    { 0x0060,    0,    0, NULL },                               /* 0x60 */
130*b1cdbd2cSJim Jagielski    { 0x0061,    0,    0, NULL },                               /* 0x61 */
131*b1cdbd2cSJim Jagielski    { 0x0062,    0,    0, NULL },                               /* 0x62 */
132*b1cdbd2cSJim Jagielski    { 0x0063,    0,    0, NULL },                               /* 0x63 */
133*b1cdbd2cSJim Jagielski    { 0x0064,    0,    0, NULL },                               /* 0x64 */
134*b1cdbd2cSJim Jagielski    { 0x0065,    0,    0, NULL },                               /* 0x65 */
135*b1cdbd2cSJim Jagielski    { 0x0066,    0,    0, NULL },                               /* 0x66 */
136*b1cdbd2cSJim Jagielski    { 0x0067,    0,    0, NULL },                               /* 0x67 */
137*b1cdbd2cSJim Jagielski    { 0x0068,    0,    0, NULL },                               /* 0x68 */
138*b1cdbd2cSJim Jagielski    { 0x0069,    0,    0, NULL },                               /* 0x69 */
139*b1cdbd2cSJim Jagielski    { 0x006A,    0,    0, NULL },                               /* 0x6A */
140*b1cdbd2cSJim Jagielski    { 0x006B,    0,    0, NULL },                               /* 0x6B */
141*b1cdbd2cSJim Jagielski    { 0x006C,    0,    0, NULL },                               /* 0x6C */
142*b1cdbd2cSJim Jagielski    { 0x006D,    0,    0, NULL },                               /* 0x6D */
143*b1cdbd2cSJim Jagielski    { 0x006E,    0,    0, NULL },                               /* 0x6E */
144*b1cdbd2cSJim Jagielski    { 0x006F,    0,    0, NULL },                               /* 0x6F */
145*b1cdbd2cSJim Jagielski    { 0x0070,    0,    0, NULL },                               /* 0x70 */
146*b1cdbd2cSJim Jagielski    { 0x0071,    0,    0, NULL },                               /* 0x71 */
147*b1cdbd2cSJim Jagielski    { 0x0072,    0,    0, NULL },                               /* 0x72 */
148*b1cdbd2cSJim Jagielski    { 0x0073,    0,    0, NULL },                               /* 0x73 */
149*b1cdbd2cSJim Jagielski    { 0x0074,    0,    0, NULL },                               /* 0x74 */
150*b1cdbd2cSJim Jagielski    { 0x0075,    0,    0, NULL },                               /* 0x75 */
151*b1cdbd2cSJim Jagielski    { 0x0076,    0,    0, NULL },                               /* 0x76 */
152*b1cdbd2cSJim Jagielski    { 0x0077,    0,    0, NULL },                               /* 0x77 */
153*b1cdbd2cSJim Jagielski    { 0x0078,    0,    0, NULL },                               /* 0x78 */
154*b1cdbd2cSJim Jagielski    { 0x0079,    0,    0, NULL },                               /* 0x79 */
155*b1cdbd2cSJim Jagielski    { 0x007A,    0,    0, NULL },                               /* 0x7A */
156*b1cdbd2cSJim Jagielski    { 0x007B,    0,    0, NULL },                               /* 0x7B */
157*b1cdbd2cSJim Jagielski    { 0x007C,    0,    0, NULL },                               /* 0x7C */
158*b1cdbd2cSJim Jagielski    { 0x007D,    0,    0, NULL },                               /* 0x7D */
159*b1cdbd2cSJim Jagielski    { 0x007E,    0,    0, NULL },                               /* 0x7E */ /* is 0x0203E (SPACING OVERSCORE), but for compatibiliy with ascii, we use 0x7E (TILDE) like MS CP392 */
160*b1cdbd2cSJim Jagielski    { 0x007F,    0,    0, NULL },                               /* 0x7F */
161*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x80 */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
162*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_81 },         /* 0x81 */
163*b1cdbd2cSJim Jagielski    {      0, 0x4F, 0xF1, aImplDBCSToUniTab_SJIS_82 },          /* 0x82 */
164*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xD6, aImplDBCSToUniTab_SJIS_83 },          /* 0x83 */
165*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xBF, aImplDBCSToUniTab_SJIS_84 },          /* 0x84 */
166*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x85 */ /* We convert this as double byte */
167*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x86 */ /* We convert this as double byte */
168*b1cdbd2cSJim Jagielski    {      0, 0x40, 0x9C, aImplDBCSToUniTab_MS932_87 },         /* 0x87 */ /* We use the MS table for better MS compatibility */
169*b1cdbd2cSJim Jagielski    {      0, 0x9F, 0xFC, aImplDBCSToUniTab_SJIS_88 },          /* 0x88 */
170*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_89 },          /* 0x89 */
171*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8A },          /* 0x8A */
172*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8B },          /* 0x8B */
173*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8C },          /* 0x8C */
174*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8D },          /* 0x8D */
175*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8E },          /* 0x8E */
176*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8F },          /* 0x8F */
177*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_90 },          /* 0x90 */
178*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_91 },          /* 0x91 */
179*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_92 },          /* 0x92 */
180*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_93 },          /* 0x93 */
181*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_94 },          /* 0x94 */
182*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_95 },          /* 0x95 */
183*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_96 },          /* 0x96 */
184*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_97 },          /* 0x97 */
185*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_98 },          /* 0x98 */
186*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_99 },          /* 0x99 */
187*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9A },          /* 0x9A */
188*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9B },          /* 0x9B */
189*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9C },          /* 0x9C */
190*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9D },          /* 0x9D */
191*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9E },          /* 0x9E */
192*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9F },          /* 0x9F */
193*b1cdbd2cSJim Jagielski    { 0x00A0,    0,    0, NULL },                               /* 0xA0 */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
194*b1cdbd2cSJim Jagielski    { 0xFF61,    0,    0, NULL },                               /* 0xA1 */
195*b1cdbd2cSJim Jagielski    { 0xFF62,    0,    0, NULL },                               /* 0xA2 */
196*b1cdbd2cSJim Jagielski    { 0xFF63,    0,    0, NULL },                               /* 0xA3 */
197*b1cdbd2cSJim Jagielski    { 0xFF64,    0,    0, NULL },                               /* 0xA4 */
198*b1cdbd2cSJim Jagielski    { 0xFF65,    0,    0, NULL },                               /* 0xA5 */
199*b1cdbd2cSJim Jagielski    { 0xFF66,    0,    0, NULL },                               /* 0xA6 */
200*b1cdbd2cSJim Jagielski    { 0xFF67,    0,    0, NULL },                               /* 0xA7 */
201*b1cdbd2cSJim Jagielski    { 0xFF68,    0,    0, NULL },                               /* 0xA8 */
202*b1cdbd2cSJim Jagielski    { 0xFF69,    0,    0, NULL },                               /* 0xA9 */
203*b1cdbd2cSJim Jagielski    { 0xFF6A,    0,    0, NULL },                               /* 0xAA */
204*b1cdbd2cSJim Jagielski    { 0xFF6B,    0,    0, NULL },                               /* 0xAB */
205*b1cdbd2cSJim Jagielski    { 0xFF6C,    0,    0, NULL },                               /* 0xAC */
206*b1cdbd2cSJim Jagielski    { 0xFF6D,    0,    0, NULL },                               /* 0xAD */
207*b1cdbd2cSJim Jagielski    { 0xFF6E,    0,    0, NULL },                               /* 0xAE */
208*b1cdbd2cSJim Jagielski    { 0xFF6F,    0,    0, NULL },                               /* 0xAF */
209*b1cdbd2cSJim Jagielski    { 0xFF70,    0,    0, NULL },                               /* 0xB0 */
210*b1cdbd2cSJim Jagielski    { 0xFF71,    0,    0, NULL },                               /* 0xB1 */
211*b1cdbd2cSJim Jagielski    { 0xFF72,    0,    0, NULL },                               /* 0xB2 */
212*b1cdbd2cSJim Jagielski    { 0xFF73,    0,    0, NULL },                               /* 0xB3 */
213*b1cdbd2cSJim Jagielski    { 0xFF74,    0,    0, NULL },                               /* 0xB4 */
214*b1cdbd2cSJim Jagielski    { 0xFF75,    0,    0, NULL },                               /* 0xB5 */
215*b1cdbd2cSJim Jagielski    { 0xFF76,    0,    0, NULL },                               /* 0xB6 */
216*b1cdbd2cSJim Jagielski    { 0xFF77,    0,    0, NULL },                               /* 0xB7 */
217*b1cdbd2cSJim Jagielski    { 0xFF78,    0,    0, NULL },                               /* 0xB8 */
218*b1cdbd2cSJim Jagielski    { 0xFF79,    0,    0, NULL },                               /* 0xB9 */
219*b1cdbd2cSJim Jagielski    { 0xFF7A,    0,    0, NULL },                               /* 0xBA */
220*b1cdbd2cSJim Jagielski    { 0xFF7B,    0,    0, NULL },                               /* 0xBB */
221*b1cdbd2cSJim Jagielski    { 0xFF7C,    0,    0, NULL },                               /* 0xBC */
222*b1cdbd2cSJim Jagielski    { 0xFF7D,    0,    0, NULL },                               /* 0xBD */
223*b1cdbd2cSJim Jagielski    { 0xFF7E,    0,    0, NULL },                               /* 0xBE */
224*b1cdbd2cSJim Jagielski    { 0xFF7F,    0,    0, NULL },                               /* 0xBF */
225*b1cdbd2cSJim Jagielski    { 0xFF80,    0,    0, NULL },                               /* 0xC0 */
226*b1cdbd2cSJim Jagielski    { 0xFF81,    0,    0, NULL },                               /* 0xC1 */
227*b1cdbd2cSJim Jagielski    { 0xFF82,    0,    0, NULL },                               /* 0xC2 */
228*b1cdbd2cSJim Jagielski    { 0xFF83,    0,    0, NULL },                               /* 0xC3 */
229*b1cdbd2cSJim Jagielski    { 0xFF84,    0,    0, NULL },                               /* 0xC4 */
230*b1cdbd2cSJim Jagielski    { 0xFF85,    0,    0, NULL },                               /* 0xC5 */
231*b1cdbd2cSJim Jagielski    { 0xFF86,    0,    0, NULL },                               /* 0xC6 */
232*b1cdbd2cSJim Jagielski    { 0xFF87,    0,    0, NULL },                               /* 0xC7 */
233*b1cdbd2cSJim Jagielski    { 0xFF88,    0,    0, NULL },                               /* 0xC8 */
234*b1cdbd2cSJim Jagielski    { 0xFF89,    0,    0, NULL },                               /* 0xC9 */
235*b1cdbd2cSJim Jagielski    { 0xFF8A,    0,    0, NULL },                               /* 0xCA */
236*b1cdbd2cSJim Jagielski    { 0xFF8B,    0,    0, NULL },                               /* 0xCB */
237*b1cdbd2cSJim Jagielski    { 0xFF8C,    0,    0, NULL },                               /* 0xCC */
238*b1cdbd2cSJim Jagielski    { 0xFF8D,    0,    0, NULL },                               /* 0xCD */
239*b1cdbd2cSJim Jagielski    { 0xFF8E,    0,    0, NULL },                               /* 0xCE */
240*b1cdbd2cSJim Jagielski    { 0xFF8F,    0,    0, NULL },                               /* 0xCF */
241*b1cdbd2cSJim Jagielski    { 0xFF90,    0,    0, NULL },                               /* 0xD0 */
242*b1cdbd2cSJim Jagielski    { 0xFF91,    0,    0, NULL },                               /* 0xD1 */
243*b1cdbd2cSJim Jagielski    { 0xFF92,    0,    0, NULL },                               /* 0xD2 */
244*b1cdbd2cSJim Jagielski    { 0xFF93,    0,    0, NULL },                               /* 0xD3 */
245*b1cdbd2cSJim Jagielski    { 0xFF94,    0,    0, NULL },                               /* 0xD4 */
246*b1cdbd2cSJim Jagielski    { 0xFF95,    0,    0, NULL },                               /* 0xD5 */
247*b1cdbd2cSJim Jagielski    { 0xFF96,    0,    0, NULL },                               /* 0xD6 */
248*b1cdbd2cSJim Jagielski    { 0xFF97,    0,    0, NULL },                               /* 0xD7 */
249*b1cdbd2cSJim Jagielski    { 0xFF98,    0,    0, NULL },                               /* 0xD8 */
250*b1cdbd2cSJim Jagielski    { 0xFF99,    0,    0, NULL },                               /* 0xD9 */
251*b1cdbd2cSJim Jagielski    { 0xFF9A,    0,    0, NULL },                               /* 0xDA */
252*b1cdbd2cSJim Jagielski    { 0xFF9B,    0,    0, NULL },                               /* 0xDB */
253*b1cdbd2cSJim Jagielski    { 0xFF9C,    0,    0, NULL },                               /* 0xDC */
254*b1cdbd2cSJim Jagielski    { 0xFF9D,    0,    0, NULL },                               /* 0xDD */
255*b1cdbd2cSJim Jagielski    { 0xFF9E,    0,    0, NULL },                               /* 0xDE */
256*b1cdbd2cSJim Jagielski    { 0xFF9F,    0,    0, NULL },                               /* 0xDF */
257*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E0 },          /* 0xE0 */
258*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E1 },          /* 0xE1 */
259*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E2 },          /* 0xE2 */
260*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E3 },          /* 0xE3 */
261*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E4 },          /* 0xE4 */
262*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E5 },          /* 0xE5 */
263*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E6 },          /* 0xE6 */
264*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E7 },          /* 0xE7 */
265*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E8 },          /* 0xE8 */
266*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E9 },          /* 0xE9 */
267*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xA4, aImplDBCSToUniTab_SJIS_EA },          /* 0xEA */
268*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEB */ /* We convert this as double byte */
269*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEC */ /* We convert this as double byte */
270*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_ED },         /* 0xED */ /* We use the MS table for better MS compatibility */
271*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_EE },         /* 0xEE */ /* We use the MS table for better MS compatibility */
272*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEF */ /* We convert this as double byte */
273*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF0 */ /* EUDC Range */
274*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF1 */ /* EUDC Range */
275*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF2 */ /* EUDC Range */
276*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF3 */ /* EUDC Range */
277*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF4 */ /* EUDC Range */
278*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF5 */ /* EUDC Range */
279*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF6 */ /* EUDC Range */
280*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF7 */ /* EUDC Range */
281*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF8 */ /* EUDC Range */
282*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF9 */ /* EUDC Range */
283*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FA },         /* 0xFA */ /* We use the MS table for better MS compatibility */
284*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FB },         /* 0xFB */ /* We use the MS table for better MS compatibility */
285*b1cdbd2cSJim Jagielski    {      0, 0x40, 0x4B, aImplDBCSToUniTab_MS932_FC },         /* 0xFC */ /* We use the MS table for better MS compatibility */
286*b1cdbd2cSJim Jagielski    { 0x00A9,    0,    0, NULL },                               /* 0xFD */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
287*b1cdbd2cSJim Jagielski    { 0x2122,    0,    0, NULL },                               /* 0xFE */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
288*b1cdbd2cSJim Jagielski    { 0x2026,    0,    0, NULL }                                /* 0xFF */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
289*b1cdbd2cSJim Jagielski};
290*b1cdbd2cSJim Jagielski
291*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
292*b1cdbd2cSJim Jagielski
293*b1cdbd2cSJim Jagielski/* MS932-Tables are used for better microsoft compatibility */
294*b1cdbd2cSJim Jagielski
295*b1cdbd2cSJim Jagielskistatic ImplUniToDBCSHighTab const aSJISDBCSHighTab[256] =
296*b1cdbd2cSJim Jagielski{
297*b1cdbd2cSJim Jagielski    { 0x00, 0xF7, aImplUniToDBCSTab_SJIS_00 },                  /* 0x00 */
298*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x01 */
299*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x02 */
300*b1cdbd2cSJim Jagielski    { 0x91, 0xC9, aImplUniToDBCSTab_SJIS_03 },                  /* 0x03 */
301*b1cdbd2cSJim Jagielski    { 0x01, 0x51, aImplUniToDBCSTab_SJIS_04 },                  /* 0x04 */
302*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x05 */
303*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x06 */
304*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x07 */
305*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x08 */
306*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x09 */
307*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0A */
308*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0B */
309*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0C */
310*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0D */
311*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0E */
312*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0F */
313*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x10 */
314*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x11 */
315*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x12 */
316*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x13 */
317*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x14 */
318*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x15 */
319*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x16 */
320*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x17 */
321*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x18 */
322*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x19 */
323*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1A */
324*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1B */
325*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1C */
326*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1D */
327*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1E */
328*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1F */
329*b1cdbd2cSJim Jagielski    { 0x10, 0x3E, aImplUniToDBCSTab_SJIS_20 },                  /* 0x20 */
330*b1cdbd2cSJim Jagielski    { 0x03, 0xD4, aImplUniToDBCSTab_MS932_21 },                 /* 0x21 */
331*b1cdbd2cSJim Jagielski    { 0x00, 0xBF, aImplUniToDBCSTab_MS932_22 },                 /* 0x22 */
332*b1cdbd2cSJim Jagielski    { 0x12, 0x12, aImplUniToDBCSTab_SJIS_23 },                  /* 0x23 */
333*b1cdbd2cSJim Jagielski    { 0x60, 0x73, aImplUniToDBCSTab_MS932_24 },                 /* 0x24 */
334*b1cdbd2cSJim Jagielski    { 0x00, 0xEF, aImplUniToDBCSTab_SJIS_25 },                  /* 0x25 */
335*b1cdbd2cSJim Jagielski    { 0x05, 0x6F, aImplUniToDBCSTab_SJIS_26 },                  /* 0x26 */
336*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x27 */
337*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x28 */
338*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x29 */
339*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2A */
340*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2B */
341*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2C */
342*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2D */
343*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2E */
344*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2F */
345*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_30 },                  /* 0x30 */
346*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x31 */
347*b1cdbd2cSJim Jagielski    { 0x31, 0xA8, aImplUniToDBCSTab_MS932_32 },                 /* 0x32 */
348*b1cdbd2cSJim Jagielski    { 0x03, 0xCD, aImplUniToDBCSTab_MS932_33 },                 /* 0x33 */
349*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x34 */
350*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x35 */
351*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x36 */
352*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x37 */
353*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x38 */
354*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x39 */
355*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3A */
356*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3B */
357*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3C */
358*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3D */
359*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3E */
360*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3F */
361*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x40 */
362*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x41 */
363*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x42 */
364*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x43 */
365*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x44 */
366*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x45 */
367*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x46 */
368*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x47 */
369*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x48 */
370*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x49 */
371*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4A */
372*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4B */
373*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4C */
374*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4D */
375*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_4E },                  /* 0x4E */
376*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_4F },                  /* 0x4F */
377*b1cdbd2cSJim Jagielski    { 0x05, 0xFB, aImplUniToDBCSTab_SJIS_50 },                  /* 0x50 */
378*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_51 },                  /* 0x51 */
379*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_52 },                  /* 0x52 */
380*b1cdbd2cSJim Jagielski    { 0x00, 0xFA, aImplUniToDBCSTab_SJIS_53 },                  /* 0x53 */
381*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_54 },                  /* 0x54 */
382*b1cdbd2cSJim Jagielski    { 0x04, 0xFE, aImplUniToDBCSTab_SJIS_55 },                  /* 0x55 */
383*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_56 },                  /* 0x56 */
384*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_57 },                  /* 0x57 */
385*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_58 },                  /* 0x58 */
386*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_59 },                  /* 0x59 */
387*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_5A },                  /* 0x5A */
388*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_SJIS_5B },                  /* 0x5B */
389*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_5C },                  /* 0x5C */
390*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_SJIS_5D },                  /* 0x5D */
391*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_5E },                  /* 0x5E */
392*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_5F },                  /* 0x5F */
393*b1cdbd2cSJim Jagielski    { 0x0E, 0xFB, aImplUniToDBCSTab_SJIS_60 },                  /* 0x60 */
394*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_61 },                  /* 0x61 */
395*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_62 },                  /* 0x62 */
396*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_63 },                  /* 0x63 */
397*b1cdbd2cSJim Jagielski    { 0x06, 0xFE, aImplUniToDBCSTab_SJIS_64 },                  /* 0x64 */
398*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_65 },                  /* 0x65 */
399*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_66 },                  /* 0x66 */
400*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_67 },                  /* 0x67 */
401*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_68 },                  /* 0x68 */
402*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_69 },                  /* 0x69 */
403*b1cdbd2cSJim Jagielski    { 0x02, 0xFB, aImplUniToDBCSTab_SJIS_6A },                  /* 0x6A */
404*b1cdbd2cSJim Jagielski    { 0x04, 0xF3, aImplUniToDBCSTab_SJIS_6B },                  /* 0x6B */
405*b1cdbd2cSJim Jagielski    { 0x08, 0xF3, aImplUniToDBCSTab_SJIS_6C },                  /* 0x6C */
406*b1cdbd2cSJim Jagielski    { 0x04, 0xFC, aImplUniToDBCSTab_SJIS_6D },                  /* 0x6D */
407*b1cdbd2cSJim Jagielski    { 0x05, 0xFF, aImplUniToDBCSTab_SJIS_6E },                  /* 0x6E */
408*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_6F },                  /* 0x6F */
409*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_70 },                  /* 0x70 */
410*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_71 },                  /* 0x71 */
411*b1cdbd2cSJim Jagielski    { 0x06, 0xFD, aImplUniToDBCSTab_SJIS_72 },                  /* 0x72 */
412*b1cdbd2cSJim Jagielski    { 0x0A, 0xFE, aImplUniToDBCSTab_SJIS_73 },                  /* 0x73 */
413*b1cdbd2cSJim Jagielski    { 0x03, 0xF8, aImplUniToDBCSTab_SJIS_74 },                  /* 0x74 */
414*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_75 },                  /* 0x75 */
415*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_76 },                  /* 0x76 */
416*b1cdbd2cSJim Jagielski    { 0x01, 0xFC, aImplUniToDBCSTab_SJIS_77 },                  /* 0x77 */
417*b1cdbd2cSJim Jagielski    { 0x02, 0xFD, aImplUniToDBCSTab_SJIS_78 },                  /* 0x78 */
418*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_79 },                  /* 0x79 */
419*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_7A },                  /* 0x7A */
420*b1cdbd2cSJim Jagielski    { 0x02, 0xF7, aImplUniToDBCSTab_SJIS_7B },                  /* 0x7B */
421*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_7C },                  /* 0x7C */
422*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_7D },                  /* 0x7D */
423*b1cdbd2cSJim Jagielski    { 0x01, 0x9C, aImplUniToDBCSTab_SJIS_7E },                  /* 0x7E */
424*b1cdbd2cSJim Jagielski    { 0x36, 0xFC, aImplUniToDBCSTab_SJIS_7F },                  /* 0x7F */
425*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_80 },                  /* 0x80 */
426*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_81 },                  /* 0x81 */
427*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_82 },                  /* 0x82 */
428*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_83 },                  /* 0x83 */
429*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_84 },                  /* 0x84 */
430*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_85 },                  /* 0x85 */
431*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_86 },                  /* 0x86 */
432*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_87 },                  /* 0x87 */
433*b1cdbd2cSJim Jagielski    { 0x05, 0xFE, aImplUniToDBCSTab_SJIS_88 },                  /* 0x88 */
434*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_89 },                  /* 0x89 */
435*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_8A },                  /* 0x8A */
436*b1cdbd2cSJim Jagielski    { 0x00, 0x9A, aImplUniToDBCSTab_SJIS_8B },                  /* 0x8B */
437*b1cdbd2cSJim Jagielski    { 0x37, 0xFD, aImplUniToDBCSTab_SJIS_8C },                  /* 0x8C */
438*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_8D },                  /* 0x8D */
439*b1cdbd2cSJim Jagielski    { 0x08, 0xFE, aImplUniToDBCSTab_SJIS_8E },                  /* 0x8E */
440*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_8F },                  /* 0x8F */
441*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_90 },                  /* 0x90 */
442*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_91 },                  /* 0x91 */
443*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_92 },                  /* 0x92 */
444*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_93 },                  /* 0x93 */
445*b1cdbd2cSJim Jagielski    { 0x03, 0x81, aImplUniToDBCSTab_SJIS_94 },                  /* 0x94 */
446*b1cdbd2cSJim Jagielski    { 0x77, 0xE5, aImplUniToDBCSTab_SJIS_95 },                  /* 0x95 */
447*b1cdbd2cSJim Jagielski    { 0x1C, 0xFB, aImplUniToDBCSTab_SJIS_96 },                  /* 0x96 */
448*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_97 },                  /* 0x97 */
449*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_98 },                  /* 0x98 */
450*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_99 },                  /* 0x99 */
451*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_9A },                  /* 0x9A */
452*b1cdbd2cSJim Jagielski    { 0x06, 0xF5, aImplUniToDBCSTab_SJIS_9B },                  /* 0x9B */
453*b1cdbd2cSJim Jagielski    { 0x00, 0xF6, aImplUniToDBCSTab_SJIS_9C },                  /* 0x9C */
454*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_9D },                  /* 0x9D */
455*b1cdbd2cSJim Jagielski    { 0x19, 0xFD, aImplUniToDBCSTab_SJIS_9E },                  /* 0x9E */
456*b1cdbd2cSJim Jagielski    { 0x07, 0xA0, aImplUniToDBCSTab_SJIS_9F },                  /* 0x9F */
457*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA0 */
458*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA1 */
459*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA2 */
460*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA3 */
461*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA4 */
462*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA5 */
463*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA6 */
464*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA7 */
465*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA8 */
466*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA9 */
467*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAA */
468*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAB */
469*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAC */
470*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAD */
471*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAE */
472*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAF */
473*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB0 */
474*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB1 */
475*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB2 */
476*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB3 */
477*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB4 */
478*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB5 */
479*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB6 */
480*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB7 */
481*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB8 */
482*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB9 */
483*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBA */
484*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBB */
485*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBC */
486*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBD */
487*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBE */
488*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBF */
489*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC0 */
490*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC1 */
491*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC2 */
492*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC3 */
493*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC4 */
494*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC5 */
495*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC6 */
496*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC7 */
497*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC8 */
498*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC9 */
499*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCA */
500*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCB */
501*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCC */
502*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCD */
503*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCE */
504*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCF */
505*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD0 */
506*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD1 */
507*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD2 */
508*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD3 */
509*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD4 */
510*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD5 */
511*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD6 */
512*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD7 */
513*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD8 */
514*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD9 */
515*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDA */
516*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDB */
517*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDC */
518*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDD */
519*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDE */
520*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDF */
521*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE0 */
522*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE1 */
523*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE2 */
524*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE3 */
525*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE4 */
526*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE5 */
527*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE6 */
528*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE7 */
529*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE8 */
530*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE9 */
531*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEA */
532*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEB */
533*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEC */
534*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xED */
535*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEE */
536*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEF */
537*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF0 */
538*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF1 */
539*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF2 */
540*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF3 */
541*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF4 */
542*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF5 */
543*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF6 */
544*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF7 */
545*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF8 */
546*b1cdbd2cSJim Jagielski    { 0x29, 0xDC, aImplUniToDBCSTab_MS932_F9 },                 /* 0xF9 */
547*b1cdbd2cSJim Jagielski    { 0x0E, 0x2D, aImplUniToDBCSTab_MS932_FA },                 /* 0xFA */
548*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFB */
549*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFC */
550*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFD */
551*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFE */
552*b1cdbd2cSJim Jagielski    { 0x01, 0xE5, aImplUniToDBCSTab_SJIS_FF }                   /* 0xFF */
553*b1cdbd2cSJim Jagielski};
554*b1cdbd2cSJim Jagielski
555*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
556*b1cdbd2cSJim Jagielski
557*b1cdbd2cSJim Jagielski/* F040-F9FC    --> E000-E757 */
558*b1cdbd2cSJim Jagielski
559*b1cdbd2cSJim Jagielski#define DBCS_EUDC_SJIS_COUNT        1
560*b1cdbd2cSJim Jagielskistatic ImplDBCSEUDCData const aImplSJISDBCSEUDCTab[DBCS_EUDC_SJIS_COUNT] =
561*b1cdbd2cSJim Jagielski{
562*b1cdbd2cSJim Jagielski    /* EUDC-Range */
563*b1cdbd2cSJim Jagielski    /* Lead:    F0-F9 */
564*b1cdbd2cSJim Jagielski    /* Trail:   40-7E, 80-FC */
565*b1cdbd2cSJim Jagielski    { 0xF0, 0xF9, 0x40, 0x7E, 0x80, 0xFC, 0, 0, 2, 0xBC, 0xE000, 0xE757 }
566*b1cdbd2cSJim Jagielski};
567*b1cdbd2cSJim Jagielski
568*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
569*b1cdbd2cSJim Jagielski
570*b1cdbd2cSJim Jagielskistatic ImplDBCSConvertData const aImplSJISDBCSCvtData =
571*b1cdbd2cSJim Jagielski{
572*b1cdbd2cSJim Jagielski    aSJISUniLeadTab,
573*b1cdbd2cSJim Jagielski    aSJISDBCSHighTab,
574*b1cdbd2cSJim Jagielski    0x00, 0xFF,
575*b1cdbd2cSJim Jagielski    0x40, 0xFC,
576*b1cdbd2cSJim Jagielski    aImplSJISDBCSEUDCTab,
577*b1cdbd2cSJim Jagielski    DBCS_EUDC_SJIS_COUNT
578*b1cdbd2cSJim Jagielski};
579*b1cdbd2cSJim Jagielski
580*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
581*b1cdbd2cSJim Jagielski
582*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplSJISTextEncodingData
583*b1cdbd2cSJim Jagielski    = { { &aImplSJISDBCSCvtData,
584*b1cdbd2cSJim Jagielski          ImplDBCSToUnicode,
585*b1cdbd2cSJim Jagielski          ImplUnicodeToDBCS,
586*b1cdbd2cSJim Jagielski          NULL,
587*b1cdbd2cSJim Jagielski          NULL,
588*b1cdbd2cSJim Jagielski          NULL,
589*b1cdbd2cSJim Jagielski          NULL,
590*b1cdbd2cSJim Jagielski          NULL,
591*b1cdbd2cSJim Jagielski          NULL },
592*b1cdbd2cSJim Jagielski        1,
593*b1cdbd2cSJim Jagielski        2,
594*b1cdbd2cSJim Jagielski        2,
595*b1cdbd2cSJim Jagielski        128,
596*b1cdbd2cSJim Jagielski        "euc-jp",
597*b1cdbd2cSJim Jagielski        "shift_jis",
598*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE | RTL_TEXTENCODING_INFO_MIME };
599*b1cdbd2cSJim Jagielski    /* SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
600*b1cdbd2cSJim Jagielski
601*b1cdbd2cSJim Jagielski/* ======================================================================= */
602*b1cdbd2cSJim Jagielski
603*b1cdbd2cSJim Jagielskistatic ImplDBCSToUniLeadTab const aMS932UniLeadTab[256] =
604*b1cdbd2cSJim Jagielski{
605*b1cdbd2cSJim Jagielski    { 0x0000,    0,    0, NULL },                               /* 0x00 */
606*b1cdbd2cSJim Jagielski    { 0x0001,    0,    0, NULL },                               /* 0x01 */
607*b1cdbd2cSJim Jagielski    { 0x0002,    0,    0, NULL },                               /* 0x02 */
608*b1cdbd2cSJim Jagielski    { 0x0003,    0,    0, NULL },                               /* 0x03 */
609*b1cdbd2cSJim Jagielski    { 0x0004,    0,    0, NULL },                               /* 0x04 */
610*b1cdbd2cSJim Jagielski    { 0x0005,    0,    0, NULL },                               /* 0x05 */
611*b1cdbd2cSJim Jagielski    { 0x0006,    0,    0, NULL },                               /* 0x06 */
612*b1cdbd2cSJim Jagielski    { 0x0007,    0,    0, NULL },                               /* 0x07 */
613*b1cdbd2cSJim Jagielski    { 0x0008,    0,    0, NULL },                               /* 0x08 */
614*b1cdbd2cSJim Jagielski    { 0x0009,    0,    0, NULL },                               /* 0x09 */
615*b1cdbd2cSJim Jagielski    { 0x000A,    0,    0, NULL },                               /* 0x0A */
616*b1cdbd2cSJim Jagielski    { 0x000B,    0,    0, NULL },                               /* 0x0B */
617*b1cdbd2cSJim Jagielski    { 0x000C,    0,    0, NULL },                               /* 0x0C */
618*b1cdbd2cSJim Jagielski    { 0x000D,    0,    0, NULL },                               /* 0x0D */
619*b1cdbd2cSJim Jagielski    { 0x000E,    0,    0, NULL },                               /* 0x0E */
620*b1cdbd2cSJim Jagielski    { 0x000F,    0,    0, NULL },                               /* 0x0F */
621*b1cdbd2cSJim Jagielski    { 0x0010,    0,    0, NULL },                               /* 0x10 */
622*b1cdbd2cSJim Jagielski    { 0x0011,    0,    0, NULL },                               /* 0x11 */
623*b1cdbd2cSJim Jagielski    { 0x0012,    0,    0, NULL },                               /* 0x12 */
624*b1cdbd2cSJim Jagielski    { 0x0013,    0,    0, NULL },                               /* 0x13 */
625*b1cdbd2cSJim Jagielski    { 0x0014,    0,    0, NULL },                               /* 0x14 */
626*b1cdbd2cSJim Jagielski    { 0x0015,    0,    0, NULL },                               /* 0x15 */
627*b1cdbd2cSJim Jagielski    { 0x0016,    0,    0, NULL },                               /* 0x16 */
628*b1cdbd2cSJim Jagielski    { 0x0017,    0,    0, NULL },                               /* 0x17 */
629*b1cdbd2cSJim Jagielski    { 0x0018,    0,    0, NULL },                               /* 0x18 */
630*b1cdbd2cSJim Jagielski    { 0x0019,    0,    0, NULL },                               /* 0x19 */
631*b1cdbd2cSJim Jagielski    { 0x001A,    0,    0, NULL },                               /* 0x1A */
632*b1cdbd2cSJim Jagielski    { 0x001B,    0,    0, NULL },                               /* 0x1B */
633*b1cdbd2cSJim Jagielski    { 0x001C,    0,    0, NULL },                               /* 0x1C */
634*b1cdbd2cSJim Jagielski    { 0x001D,    0,    0, NULL },                               /* 0x1D */
635*b1cdbd2cSJim Jagielski    { 0x001E,    0,    0, NULL },                               /* 0x1E */
636*b1cdbd2cSJim Jagielski    { 0x001F,    0,    0, NULL },                               /* 0x1F */
637*b1cdbd2cSJim Jagielski    { 0x0020,    0,    0, NULL },                               /* 0x20 */
638*b1cdbd2cSJim Jagielski    { 0x0021,    0,    0, NULL },                               /* 0x21 */
639*b1cdbd2cSJim Jagielski    { 0x0022,    0,    0, NULL },                               /* 0x22 */
640*b1cdbd2cSJim Jagielski    { 0x0023,    0,    0, NULL },                               /* 0x23 */
641*b1cdbd2cSJim Jagielski    { 0x0024,    0,    0, NULL },                               /* 0x24 */
642*b1cdbd2cSJim Jagielski    { 0x0025,    0,    0, NULL },                               /* 0x25 */
643*b1cdbd2cSJim Jagielski    { 0x0026,    0,    0, NULL },                               /* 0x26 */
644*b1cdbd2cSJim Jagielski    { 0x0027,    0,    0, NULL },                               /* 0x27 */
645*b1cdbd2cSJim Jagielski    { 0x0028,    0,    0, NULL },                               /* 0x28 */
646*b1cdbd2cSJim Jagielski    { 0x0029,    0,    0, NULL },                               /* 0x29 */
647*b1cdbd2cSJim Jagielski    { 0x002A,    0,    0, NULL },                               /* 0x2A */
648*b1cdbd2cSJim Jagielski    { 0x002B,    0,    0, NULL },                               /* 0x2B */
649*b1cdbd2cSJim Jagielski    { 0x002C,    0,    0, NULL },                               /* 0x2C */
650*b1cdbd2cSJim Jagielski    { 0x002D,    0,    0, NULL },                               /* 0x2D */
651*b1cdbd2cSJim Jagielski    { 0x002E,    0,    0, NULL },                               /* 0x2E */
652*b1cdbd2cSJim Jagielski    { 0x002F,    0,    0, NULL },                               /* 0x2F */
653*b1cdbd2cSJim Jagielski    { 0x0030,    0,    0, NULL },                               /* 0x30 */
654*b1cdbd2cSJim Jagielski    { 0x0031,    0,    0, NULL },                               /* 0x31 */
655*b1cdbd2cSJim Jagielski    { 0x0032,    0,    0, NULL },                               /* 0x32 */
656*b1cdbd2cSJim Jagielski    { 0x0033,    0,    0, NULL },                               /* 0x33 */
657*b1cdbd2cSJim Jagielski    { 0x0034,    0,    0, NULL },                               /* 0x34 */
658*b1cdbd2cSJim Jagielski    { 0x0035,    0,    0, NULL },                               /* 0x35 */
659*b1cdbd2cSJim Jagielski    { 0x0036,    0,    0, NULL },                               /* 0x36 */
660*b1cdbd2cSJim Jagielski    { 0x0037,    0,    0, NULL },                               /* 0x37 */
661*b1cdbd2cSJim Jagielski    { 0x0038,    0,    0, NULL },                               /* 0x38 */
662*b1cdbd2cSJim Jagielski    { 0x0039,    0,    0, NULL },                               /* 0x39 */
663*b1cdbd2cSJim Jagielski    { 0x003A,    0,    0, NULL },                               /* 0x3A */
664*b1cdbd2cSJim Jagielski    { 0x003B,    0,    0, NULL },                               /* 0x3B */
665*b1cdbd2cSJim Jagielski    { 0x003C,    0,    0, NULL },                               /* 0x3C */
666*b1cdbd2cSJim Jagielski    { 0x003D,    0,    0, NULL },                               /* 0x3D */
667*b1cdbd2cSJim Jagielski    { 0x003E,    0,    0, NULL },                               /* 0x3E */
668*b1cdbd2cSJim Jagielski    { 0x003F,    0,    0, NULL },                               /* 0x3F */
669*b1cdbd2cSJim Jagielski    { 0x0040,    0,    0, NULL },                               /* 0x40 */
670*b1cdbd2cSJim Jagielski    { 0x0041,    0,    0, NULL },                               /* 0x41 */
671*b1cdbd2cSJim Jagielski    { 0x0042,    0,    0, NULL },                               /* 0x42 */
672*b1cdbd2cSJim Jagielski    { 0x0043,    0,    0, NULL },                               /* 0x43 */
673*b1cdbd2cSJim Jagielski    { 0x0044,    0,    0, NULL },                               /* 0x44 */
674*b1cdbd2cSJim Jagielski    { 0x0045,    0,    0, NULL },                               /* 0x45 */
675*b1cdbd2cSJim Jagielski    { 0x0046,    0,    0, NULL },                               /* 0x46 */
676*b1cdbd2cSJim Jagielski    { 0x0047,    0,    0, NULL },                               /* 0x47 */
677*b1cdbd2cSJim Jagielski    { 0x0048,    0,    0, NULL },                               /* 0x48 */
678*b1cdbd2cSJim Jagielski    { 0x0049,    0,    0, NULL },                               /* 0x49 */
679*b1cdbd2cSJim Jagielski    { 0x004A,    0,    0, NULL },                               /* 0x4A */
680*b1cdbd2cSJim Jagielski    { 0x004B,    0,    0, NULL },                               /* 0x4B */
681*b1cdbd2cSJim Jagielski    { 0x004C,    0,    0, NULL },                               /* 0x4C */
682*b1cdbd2cSJim Jagielski    { 0x004D,    0,    0, NULL },                               /* 0x4D */
683*b1cdbd2cSJim Jagielski    { 0x004E,    0,    0, NULL },                               /* 0x4E */
684*b1cdbd2cSJim Jagielski    { 0x004F,    0,    0, NULL },                               /* 0x4F */
685*b1cdbd2cSJim Jagielski    { 0x0050,    0,    0, NULL },                               /* 0x50 */
686*b1cdbd2cSJim Jagielski    { 0x0051,    0,    0, NULL },                               /* 0x51 */
687*b1cdbd2cSJim Jagielski    { 0x0052,    0,    0, NULL },                               /* 0x52 */
688*b1cdbd2cSJim Jagielski    { 0x0053,    0,    0, NULL },                               /* 0x53 */
689*b1cdbd2cSJim Jagielski    { 0x0054,    0,    0, NULL },                               /* 0x54 */
690*b1cdbd2cSJim Jagielski    { 0x0055,    0,    0, NULL },                               /* 0x55 */
691*b1cdbd2cSJim Jagielski    { 0x0056,    0,    0, NULL },                               /* 0x56 */
692*b1cdbd2cSJim Jagielski    { 0x0057,    0,    0, NULL },                               /* 0x57 */
693*b1cdbd2cSJim Jagielski    { 0x0058,    0,    0, NULL },                               /* 0x58 */
694*b1cdbd2cSJim Jagielski    { 0x0059,    0,    0, NULL },                               /* 0x59 */
695*b1cdbd2cSJim Jagielski    { 0x005A,    0,    0, NULL },                               /* 0x5A */
696*b1cdbd2cSJim Jagielski    { 0x005B,    0,    0, NULL },                               /* 0x5B */
697*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x5C */ /* in SJIS this is A5 (YEN SIGN), but for compatibiliy with ascii, we use 0x5C like MS CP392 */
698*b1cdbd2cSJim Jagielski    { 0x005D,    0,    0, NULL },                               /* 0x5D */
699*b1cdbd2cSJim Jagielski    { 0x005E,    0,    0, NULL },                               /* 0x5E */
700*b1cdbd2cSJim Jagielski    { 0x005F,    0,    0, NULL },                               /* 0x5F */
701*b1cdbd2cSJim Jagielski    { 0x0060,    0,    0, NULL },                               /* 0x60 */
702*b1cdbd2cSJim Jagielski    { 0x0061,    0,    0, NULL },                               /* 0x61 */
703*b1cdbd2cSJim Jagielski    { 0x0062,    0,    0, NULL },                               /* 0x62 */
704*b1cdbd2cSJim Jagielski    { 0x0063,    0,    0, NULL },                               /* 0x63 */
705*b1cdbd2cSJim Jagielski    { 0x0064,    0,    0, NULL },                               /* 0x64 */
706*b1cdbd2cSJim Jagielski    { 0x0065,    0,    0, NULL },                               /* 0x65 */
707*b1cdbd2cSJim Jagielski    { 0x0066,    0,    0, NULL },                               /* 0x66 */
708*b1cdbd2cSJim Jagielski    { 0x0067,    0,    0, NULL },                               /* 0x67 */
709*b1cdbd2cSJim Jagielski    { 0x0068,    0,    0, NULL },                               /* 0x68 */
710*b1cdbd2cSJim Jagielski    { 0x0069,    0,    0, NULL },                               /* 0x69 */
711*b1cdbd2cSJim Jagielski    { 0x006A,    0,    0, NULL },                               /* 0x6A */
712*b1cdbd2cSJim Jagielski    { 0x006B,    0,    0, NULL },                               /* 0x6B */
713*b1cdbd2cSJim Jagielski    { 0x006C,    0,    0, NULL },                               /* 0x6C */
714*b1cdbd2cSJim Jagielski    { 0x006D,    0,    0, NULL },                               /* 0x6D */
715*b1cdbd2cSJim Jagielski    { 0x006E,    0,    0, NULL },                               /* 0x6E */
716*b1cdbd2cSJim Jagielski    { 0x006F,    0,    0, NULL },                               /* 0x6F */
717*b1cdbd2cSJim Jagielski    { 0x0070,    0,    0, NULL },                               /* 0x70 */
718*b1cdbd2cSJim Jagielski    { 0x0071,    0,    0, NULL },                               /* 0x71 */
719*b1cdbd2cSJim Jagielski    { 0x0072,    0,    0, NULL },                               /* 0x72 */
720*b1cdbd2cSJim Jagielski    { 0x0073,    0,    0, NULL },                               /* 0x73 */
721*b1cdbd2cSJim Jagielski    { 0x0074,    0,    0, NULL },                               /* 0x74 */
722*b1cdbd2cSJim Jagielski    { 0x0075,    0,    0, NULL },                               /* 0x75 */
723*b1cdbd2cSJim Jagielski    { 0x0076,    0,    0, NULL },                               /* 0x76 */
724*b1cdbd2cSJim Jagielski    { 0x0077,    0,    0, NULL },                               /* 0x77 */
725*b1cdbd2cSJim Jagielski    { 0x0078,    0,    0, NULL },                               /* 0x78 */
726*b1cdbd2cSJim Jagielski    { 0x0079,    0,    0, NULL },                               /* 0x79 */
727*b1cdbd2cSJim Jagielski    { 0x007A,    0,    0, NULL },                               /* 0x7A */
728*b1cdbd2cSJim Jagielski    { 0x007B,    0,    0, NULL },                               /* 0x7B */
729*b1cdbd2cSJim Jagielski    { 0x007C,    0,    0, NULL },                               /* 0x7C */
730*b1cdbd2cSJim Jagielski    { 0x007D,    0,    0, NULL },                               /* 0x7D */
731*b1cdbd2cSJim Jagielski    { 0x007E,    0,    0, NULL },                               /* 0x7E */ /* in SJIS this is 0x0203E (SPACING OVERSCORE), but for compatibiliy with ascii, we use 0x7E (TILDE) like MS CP392 */
732*b1cdbd2cSJim Jagielski    { 0x007F,    0,    0, NULL },                               /* 0x7F */
733*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x80 */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
734*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_81 },         /* 0x81 */
735*b1cdbd2cSJim Jagielski    {      0, 0x4F, 0xF1, aImplDBCSToUniTab_SJIS_82 },          /* 0x82 */
736*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xD6, aImplDBCSToUniTab_SJIS_83 },          /* 0x83 */
737*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xBF, aImplDBCSToUniTab_SJIS_84 },          /* 0x84 */
738*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x85 */ /* We convert this as double byte */
739*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x86 */ /* We convert this as double byte */
740*b1cdbd2cSJim Jagielski    {      0, 0x40, 0x9C, aImplDBCSToUniTab_MS932_87 },         /* 0x87 */
741*b1cdbd2cSJim Jagielski    {      0, 0x9F, 0xFC, aImplDBCSToUniTab_SJIS_88 },          /* 0x88 */
742*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_89 },          /* 0x89 */
743*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8A },          /* 0x8A */
744*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8B },          /* 0x8B */
745*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8C },          /* 0x8C */
746*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8D },          /* 0x8D */
747*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8E },          /* 0x8E */
748*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8F },          /* 0x8F */
749*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_90 },          /* 0x90 */
750*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_91 },          /* 0x91 */
751*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_92 },          /* 0x92 */
752*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_93 },          /* 0x93 */
753*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_94 },          /* 0x94 */
754*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_95 },          /* 0x95 */
755*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_96 },          /* 0x96 */
756*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_97 },          /* 0x97 */
757*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_98 },          /* 0x98 */
758*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_99 },          /* 0x99 */
759*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9A },          /* 0x9A */
760*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9B },          /* 0x9B */
761*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9C },          /* 0x9C */
762*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9D },          /* 0x9D */
763*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9E },          /* 0x9E */
764*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9F },          /* 0x9F */
765*b1cdbd2cSJim Jagielski    { 0x00A0,    0,    0, NULL },                               /* 0xA0 */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
766*b1cdbd2cSJim Jagielski    { 0xFF61,    0,    0, NULL },                               /* 0xA1 */
767*b1cdbd2cSJim Jagielski    { 0xFF62,    0,    0, NULL },                               /* 0xA2 */
768*b1cdbd2cSJim Jagielski    { 0xFF63,    0,    0, NULL },                               /* 0xA3 */
769*b1cdbd2cSJim Jagielski    { 0xFF64,    0,    0, NULL },                               /* 0xA4 */
770*b1cdbd2cSJim Jagielski    { 0xFF65,    0,    0, NULL },                               /* 0xA5 */
771*b1cdbd2cSJim Jagielski    { 0xFF66,    0,    0, NULL },                               /* 0xA6 */
772*b1cdbd2cSJim Jagielski    { 0xFF67,    0,    0, NULL },                               /* 0xA7 */
773*b1cdbd2cSJim Jagielski    { 0xFF68,    0,    0, NULL },                               /* 0xA8 */
774*b1cdbd2cSJim Jagielski    { 0xFF69,    0,    0, NULL },                               /* 0xA9 */
775*b1cdbd2cSJim Jagielski    { 0xFF6A,    0,    0, NULL },                               /* 0xAA */
776*b1cdbd2cSJim Jagielski    { 0xFF6B,    0,    0, NULL },                               /* 0xAB */
777*b1cdbd2cSJim Jagielski    { 0xFF6C,    0,    0, NULL },                               /* 0xAC */
778*b1cdbd2cSJim Jagielski    { 0xFF6D,    0,    0, NULL },                               /* 0xAD */
779*b1cdbd2cSJim Jagielski    { 0xFF6E,    0,    0, NULL },                               /* 0xAE */
780*b1cdbd2cSJim Jagielski    { 0xFF6F,    0,    0, NULL },                               /* 0xAF */
781*b1cdbd2cSJim Jagielski    { 0xFF70,    0,    0, NULL },                               /* 0xB0 */
782*b1cdbd2cSJim Jagielski    { 0xFF71,    0,    0, NULL },                               /* 0xB1 */
783*b1cdbd2cSJim Jagielski    { 0xFF72,    0,    0, NULL },                               /* 0xB2 */
784*b1cdbd2cSJim Jagielski    { 0xFF73,    0,    0, NULL },                               /* 0xB3 */
785*b1cdbd2cSJim Jagielski    { 0xFF74,    0,    0, NULL },                               /* 0xB4 */
786*b1cdbd2cSJim Jagielski    { 0xFF75,    0,    0, NULL },                               /* 0xB5 */
787*b1cdbd2cSJim Jagielski    { 0xFF76,    0,    0, NULL },                               /* 0xB6 */
788*b1cdbd2cSJim Jagielski    { 0xFF77,    0,    0, NULL },                               /* 0xB7 */
789*b1cdbd2cSJim Jagielski    { 0xFF78,    0,    0, NULL },                               /* 0xB8 */
790*b1cdbd2cSJim Jagielski    { 0xFF79,    0,    0, NULL },                               /* 0xB9 */
791*b1cdbd2cSJim Jagielski    { 0xFF7A,    0,    0, NULL },                               /* 0xBA */
792*b1cdbd2cSJim Jagielski    { 0xFF7B,    0,    0, NULL },                               /* 0xBB */
793*b1cdbd2cSJim Jagielski    { 0xFF7C,    0,    0, NULL },                               /* 0xBC */
794*b1cdbd2cSJim Jagielski    { 0xFF7D,    0,    0, NULL },                               /* 0xBD */
795*b1cdbd2cSJim Jagielski    { 0xFF7E,    0,    0, NULL },                               /* 0xBE */
796*b1cdbd2cSJim Jagielski    { 0xFF7F,    0,    0, NULL },                               /* 0xBF */
797*b1cdbd2cSJim Jagielski    { 0xFF80,    0,    0, NULL },                               /* 0xC0 */
798*b1cdbd2cSJim Jagielski    { 0xFF81,    0,    0, NULL },                               /* 0xC1 */
799*b1cdbd2cSJim Jagielski    { 0xFF82,    0,    0, NULL },                               /* 0xC2 */
800*b1cdbd2cSJim Jagielski    { 0xFF83,    0,    0, NULL },                               /* 0xC3 */
801*b1cdbd2cSJim Jagielski    { 0xFF84,    0,    0, NULL },                               /* 0xC4 */
802*b1cdbd2cSJim Jagielski    { 0xFF85,    0,    0, NULL },                               /* 0xC5 */
803*b1cdbd2cSJim Jagielski    { 0xFF86,    0,    0, NULL },                               /* 0xC6 */
804*b1cdbd2cSJim Jagielski    { 0xFF87,    0,    0, NULL },                               /* 0xC7 */
805*b1cdbd2cSJim Jagielski    { 0xFF88,    0,    0, NULL },                               /* 0xC8 */
806*b1cdbd2cSJim Jagielski    { 0xFF89,    0,    0, NULL },                               /* 0xC9 */
807*b1cdbd2cSJim Jagielski    { 0xFF8A,    0,    0, NULL },                               /* 0xCA */
808*b1cdbd2cSJim Jagielski    { 0xFF8B,    0,    0, NULL },                               /* 0xCB */
809*b1cdbd2cSJim Jagielski    { 0xFF8C,    0,    0, NULL },                               /* 0xCC */
810*b1cdbd2cSJim Jagielski    { 0xFF8D,    0,    0, NULL },                               /* 0xCD */
811*b1cdbd2cSJim Jagielski    { 0xFF8E,    0,    0, NULL },                               /* 0xCE */
812*b1cdbd2cSJim Jagielski    { 0xFF8F,    0,    0, NULL },                               /* 0xCF */
813*b1cdbd2cSJim Jagielski    { 0xFF90,    0,    0, NULL },                               /* 0xD0 */
814*b1cdbd2cSJim Jagielski    { 0xFF91,    0,    0, NULL },                               /* 0xD1 */
815*b1cdbd2cSJim Jagielski    { 0xFF92,    0,    0, NULL },                               /* 0xD2 */
816*b1cdbd2cSJim Jagielski    { 0xFF93,    0,    0, NULL },                               /* 0xD3 */
817*b1cdbd2cSJim Jagielski    { 0xFF94,    0,    0, NULL },                               /* 0xD4 */
818*b1cdbd2cSJim Jagielski    { 0xFF95,    0,    0, NULL },                               /* 0xD5 */
819*b1cdbd2cSJim Jagielski    { 0xFF96,    0,    0, NULL },                               /* 0xD6 */
820*b1cdbd2cSJim Jagielski    { 0xFF97,    0,    0, NULL },                               /* 0xD7 */
821*b1cdbd2cSJim Jagielski    { 0xFF98,    0,    0, NULL },                               /* 0xD8 */
822*b1cdbd2cSJim Jagielski    { 0xFF99,    0,    0, NULL },                               /* 0xD9 */
823*b1cdbd2cSJim Jagielski    { 0xFF9A,    0,    0, NULL },                               /* 0xDA */
824*b1cdbd2cSJim Jagielski    { 0xFF9B,    0,    0, NULL },                               /* 0xDB */
825*b1cdbd2cSJim Jagielski    { 0xFF9C,    0,    0, NULL },                               /* 0xDC */
826*b1cdbd2cSJim Jagielski    { 0xFF9D,    0,    0, NULL },                               /* 0xDD */
827*b1cdbd2cSJim Jagielski    { 0xFF9E,    0,    0, NULL },                               /* 0xDE */
828*b1cdbd2cSJim Jagielski    { 0xFF9F,    0,    0, NULL },                               /* 0xDF */
829*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E0 },          /* 0xE0 */
830*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E1 },          /* 0xE1 */
831*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E2 },          /* 0xE2 */
832*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E3 },          /* 0xE3 */
833*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E4 },          /* 0xE4 */
834*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E5 },          /* 0xE5 */
835*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E6 },          /* 0xE6 */
836*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E7 },          /* 0xE7 */
837*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E8 },          /* 0xE8 */
838*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E9 },          /* 0xE9 */
839*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xA4, aImplDBCSToUniTab_SJIS_EA },          /* 0xEA */
840*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEB */ /* We convert this as double byte */
841*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEC */ /* We convert this as double byte */
842*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_ED },         /* 0xED */
843*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_EE },         /* 0xEE */
844*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEF */ /* We convert this as double byte */
845*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF0 */ /* EUDC Range */
846*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF1 */ /* EUDC Range */
847*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF2 */ /* EUDC Range */
848*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF3 */ /* EUDC Range */
849*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF4 */ /* EUDC Range */
850*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF5 */ /* EUDC Range */
851*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF6 */ /* EUDC Range */
852*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF7 */ /* EUDC Range */
853*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF8 */ /* EUDC Range */
854*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF9 */ /* EUDC Range */
855*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FA },         /* 0xFA */
856*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FB },         /* 0xFB */
857*b1cdbd2cSJim Jagielski    {      0, 0x40, 0x4B, aImplDBCSToUniTab_MS932_FC },         /* 0xFC */
858*b1cdbd2cSJim Jagielski    { 0x00A9,    0,    0, NULL },                               /* 0xFD */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
859*b1cdbd2cSJim Jagielski    { 0x2122,    0,    0, NULL },                               /* 0xFE */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
860*b1cdbd2cSJim Jagielski    { 0x2026,    0,    0, NULL }                                /* 0xFF */ /* APPLE additons over SJIS, we convert this like apple, because I think, this gives better result, than we take a replacement char */
861*b1cdbd2cSJim Jagielski};
862*b1cdbd2cSJim Jagielski
863*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
864*b1cdbd2cSJim Jagielski
865*b1cdbd2cSJim Jagielskistatic ImplUniToDBCSHighTab const aMS932DBCSHighTab[256] =
866*b1cdbd2cSJim Jagielski{
867*b1cdbd2cSJim Jagielski    { 0x00, 0xF7, aImplUniToDBCSTab_SJIS_00 },                  /* 0x00 */
868*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x01 */
869*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x02 */
870*b1cdbd2cSJim Jagielski    { 0x91, 0xC9, aImplUniToDBCSTab_SJIS_03 },                  /* 0x03 */
871*b1cdbd2cSJim Jagielski    { 0x01, 0x51, aImplUniToDBCSTab_SJIS_04 },                  /* 0x04 */
872*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x05 */
873*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x06 */
874*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x07 */
875*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x08 */
876*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x09 */
877*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0A */
878*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0B */
879*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0C */
880*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0D */
881*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0E */
882*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0F */
883*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x10 */
884*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x11 */
885*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x12 */
886*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x13 */
887*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x14 */
888*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x15 */
889*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x16 */
890*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x17 */
891*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x18 */
892*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x19 */
893*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1A */
894*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1B */
895*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1C */
896*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1D */
897*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1E */
898*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1F */
899*b1cdbd2cSJim Jagielski    { 0x10, 0x3E, aImplUniToDBCSTab_SJIS_20 },                  /* 0x20 */
900*b1cdbd2cSJim Jagielski    { 0x03, 0xD4, aImplUniToDBCSTab_MS932_21 },                 /* 0x21 */
901*b1cdbd2cSJim Jagielski    { 0x00, 0xBF, aImplUniToDBCSTab_MS932_22 },                 /* 0x22 */
902*b1cdbd2cSJim Jagielski    { 0x12, 0x12, aImplUniToDBCSTab_SJIS_23 },                  /* 0x23 */
903*b1cdbd2cSJim Jagielski    { 0x60, 0x73, aImplUniToDBCSTab_MS932_24 },                 /* 0x24 */
904*b1cdbd2cSJim Jagielski    { 0x00, 0xEF, aImplUniToDBCSTab_SJIS_25 },                  /* 0x25 */
905*b1cdbd2cSJim Jagielski    { 0x05, 0x6F, aImplUniToDBCSTab_SJIS_26 },                  /* 0x26 */
906*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x27 */
907*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x28 */
908*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x29 */
909*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2A */
910*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2B */
911*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2C */
912*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2D */
913*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2E */
914*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2F */
915*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_30 },                  /* 0x30 */
916*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x31 */
917*b1cdbd2cSJim Jagielski    { 0x31, 0xA8, aImplUniToDBCSTab_MS932_32 },                 /* 0x32 */
918*b1cdbd2cSJim Jagielski    { 0x03, 0xCD, aImplUniToDBCSTab_MS932_33 },                 /* 0x33 */
919*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x34 */
920*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x35 */
921*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x36 */
922*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x37 */
923*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x38 */
924*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x39 */
925*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3A */
926*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3B */
927*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3C */
928*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3D */
929*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3E */
930*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3F */
931*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x40 */
932*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x41 */
933*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x42 */
934*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x43 */
935*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x44 */
936*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x45 */
937*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x46 */
938*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x47 */
939*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x48 */
940*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x49 */
941*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4A */
942*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4B */
943*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4C */
944*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4D */
945*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_4E },                  /* 0x4E */
946*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_4F },                  /* 0x4F */
947*b1cdbd2cSJim Jagielski    { 0x05, 0xFB, aImplUniToDBCSTab_SJIS_50 },                  /* 0x50 */
948*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_51 },                  /* 0x51 */
949*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_52 },                  /* 0x52 */
950*b1cdbd2cSJim Jagielski    { 0x00, 0xFA, aImplUniToDBCSTab_SJIS_53 },                  /* 0x53 */
951*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_54 },                  /* 0x54 */
952*b1cdbd2cSJim Jagielski    { 0x04, 0xFE, aImplUniToDBCSTab_SJIS_55 },                  /* 0x55 */
953*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_56 },                  /* 0x56 */
954*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_57 },                  /* 0x57 */
955*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_58 },                  /* 0x58 */
956*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_59 },                  /* 0x59 */
957*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_5A },                  /* 0x5A */
958*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_SJIS_5B },                  /* 0x5B */
959*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_5C },                  /* 0x5C */
960*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_SJIS_5D },                  /* 0x5D */
961*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_5E },                  /* 0x5E */
962*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_5F },                  /* 0x5F */
963*b1cdbd2cSJim Jagielski    { 0x0E, 0xFB, aImplUniToDBCSTab_SJIS_60 },                  /* 0x60 */
964*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_61 },                  /* 0x61 */
965*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_62 },                  /* 0x62 */
966*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_63 },                  /* 0x63 */
967*b1cdbd2cSJim Jagielski    { 0x06, 0xFE, aImplUniToDBCSTab_SJIS_64 },                  /* 0x64 */
968*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_65 },                  /* 0x65 */
969*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_66 },                  /* 0x66 */
970*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_67 },                  /* 0x67 */
971*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_68 },                  /* 0x68 */
972*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_69 },                  /* 0x69 */
973*b1cdbd2cSJim Jagielski    { 0x02, 0xFB, aImplUniToDBCSTab_SJIS_6A },                  /* 0x6A */
974*b1cdbd2cSJim Jagielski    { 0x04, 0xF3, aImplUniToDBCSTab_SJIS_6B },                  /* 0x6B */
975*b1cdbd2cSJim Jagielski    { 0x08, 0xF3, aImplUniToDBCSTab_SJIS_6C },                  /* 0x6C */
976*b1cdbd2cSJim Jagielski    { 0x04, 0xFC, aImplUniToDBCSTab_SJIS_6D },                  /* 0x6D */
977*b1cdbd2cSJim Jagielski    { 0x05, 0xFF, aImplUniToDBCSTab_SJIS_6E },                  /* 0x6E */
978*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_6F },                  /* 0x6F */
979*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_70 },                  /* 0x70 */
980*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_71 },                  /* 0x71 */
981*b1cdbd2cSJim Jagielski    { 0x06, 0xFD, aImplUniToDBCSTab_SJIS_72 },                  /* 0x72 */
982*b1cdbd2cSJim Jagielski    { 0x0A, 0xFE, aImplUniToDBCSTab_SJIS_73 },                  /* 0x73 */
983*b1cdbd2cSJim Jagielski    { 0x03, 0xF8, aImplUniToDBCSTab_SJIS_74 },                  /* 0x74 */
984*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_75 },                  /* 0x75 */
985*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_76 },                  /* 0x76 */
986*b1cdbd2cSJim Jagielski    { 0x01, 0xFC, aImplUniToDBCSTab_SJIS_77 },                  /* 0x77 */
987*b1cdbd2cSJim Jagielski    { 0x02, 0xFD, aImplUniToDBCSTab_SJIS_78 },                  /* 0x78 */
988*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_79 },                  /* 0x79 */
989*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_7A },                  /* 0x7A */
990*b1cdbd2cSJim Jagielski    { 0x02, 0xF7, aImplUniToDBCSTab_SJIS_7B },                  /* 0x7B */
991*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_7C },                  /* 0x7C */
992*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_7D },                  /* 0x7D */
993*b1cdbd2cSJim Jagielski    { 0x01, 0x9C, aImplUniToDBCSTab_SJIS_7E },                  /* 0x7E */
994*b1cdbd2cSJim Jagielski    { 0x36, 0xFC, aImplUniToDBCSTab_SJIS_7F },                  /* 0x7F */
995*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_80 },                  /* 0x80 */
996*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_81 },                  /* 0x81 */
997*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_82 },                  /* 0x82 */
998*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_83 },                  /* 0x83 */
999*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_84 },                  /* 0x84 */
1000*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_85 },                  /* 0x85 */
1001*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_86 },                  /* 0x86 */
1002*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_87 },                  /* 0x87 */
1003*b1cdbd2cSJim Jagielski    { 0x05, 0xFE, aImplUniToDBCSTab_SJIS_88 },                  /* 0x88 */
1004*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_89 },                  /* 0x89 */
1005*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_8A },                  /* 0x8A */
1006*b1cdbd2cSJim Jagielski    { 0x00, 0x9A, aImplUniToDBCSTab_SJIS_8B },                  /* 0x8B */
1007*b1cdbd2cSJim Jagielski    { 0x37, 0xFD, aImplUniToDBCSTab_SJIS_8C },                  /* 0x8C */
1008*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_8D },                  /* 0x8D */
1009*b1cdbd2cSJim Jagielski    { 0x08, 0xFE, aImplUniToDBCSTab_SJIS_8E },                  /* 0x8E */
1010*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_8F },                  /* 0x8F */
1011*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_90 },                  /* 0x90 */
1012*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_91 },                  /* 0x91 */
1013*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_92 },                  /* 0x92 */
1014*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_93 },                  /* 0x93 */
1015*b1cdbd2cSJim Jagielski    { 0x03, 0x81, aImplUniToDBCSTab_SJIS_94 },                  /* 0x94 */
1016*b1cdbd2cSJim Jagielski    { 0x77, 0xE5, aImplUniToDBCSTab_SJIS_95 },                  /* 0x95 */
1017*b1cdbd2cSJim Jagielski    { 0x1C, 0xFB, aImplUniToDBCSTab_SJIS_96 },                  /* 0x96 */
1018*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_97 },                  /* 0x97 */
1019*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_98 },                  /* 0x98 */
1020*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_99 },                  /* 0x99 */
1021*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_9A },                  /* 0x9A */
1022*b1cdbd2cSJim Jagielski    { 0x06, 0xF5, aImplUniToDBCSTab_SJIS_9B },                  /* 0x9B */
1023*b1cdbd2cSJim Jagielski    { 0x00, 0xF6, aImplUniToDBCSTab_SJIS_9C },                  /* 0x9C */
1024*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_9D },                  /* 0x9D */
1025*b1cdbd2cSJim Jagielski    { 0x19, 0xFD, aImplUniToDBCSTab_SJIS_9E },                  /* 0x9E */
1026*b1cdbd2cSJim Jagielski    { 0x07, 0xA0, aImplUniToDBCSTab_SJIS_9F },                  /* 0x9F */
1027*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA0 */
1028*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA1 */
1029*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA2 */
1030*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA3 */
1031*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA4 */
1032*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA5 */
1033*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA6 */
1034*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA7 */
1035*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA8 */
1036*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA9 */
1037*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAA */
1038*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAB */
1039*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAC */
1040*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAD */
1041*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAE */
1042*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAF */
1043*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB0 */
1044*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB1 */
1045*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB2 */
1046*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB3 */
1047*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB4 */
1048*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB5 */
1049*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB6 */
1050*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB7 */
1051*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB8 */
1052*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB9 */
1053*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBA */
1054*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBB */
1055*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBC */
1056*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBD */
1057*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBE */
1058*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBF */
1059*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC0 */
1060*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC1 */
1061*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC2 */
1062*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC3 */
1063*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC4 */
1064*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC5 */
1065*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC6 */
1066*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC7 */
1067*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC8 */
1068*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC9 */
1069*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCA */
1070*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCB */
1071*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCC */
1072*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCD */
1073*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCE */
1074*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCF */
1075*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD0 */
1076*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD1 */
1077*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD2 */
1078*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD3 */
1079*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD4 */
1080*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD5 */
1081*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD6 */
1082*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD7 */
1083*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD8 */
1084*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD9 */
1085*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDA */
1086*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDB */
1087*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDC */
1088*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDD */
1089*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDE */
1090*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDF */
1091*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE0 */
1092*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE1 */
1093*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE2 */
1094*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE3 */
1095*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE4 */
1096*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE5 */
1097*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE6 */
1098*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE7 */
1099*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE8 */
1100*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE9 */
1101*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEA */
1102*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEB */
1103*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEC */
1104*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xED */
1105*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEE */
1106*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEF */
1107*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF0 */
1108*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF1 */
1109*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF2 */
1110*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF3 */
1111*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF4 */
1112*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF5 */
1113*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF6 */
1114*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF7 */
1115*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF8 */
1116*b1cdbd2cSJim Jagielski    { 0x29, 0xDC, aImplUniToDBCSTab_MS932_F9 },                 /* 0xF9 */
1117*b1cdbd2cSJim Jagielski    { 0x0E, 0x2D, aImplUniToDBCSTab_MS932_FA },                 /* 0xFA */
1118*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFB */
1119*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFC */
1120*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFD */
1121*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFE */
1122*b1cdbd2cSJim Jagielski    { 0x01, 0xE5, aImplUniToDBCSTab_SJIS_FF }                   /* 0xFF */
1123*b1cdbd2cSJim Jagielski};
1124*b1cdbd2cSJim Jagielski
1125*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1126*b1cdbd2cSJim Jagielski
1127*b1cdbd2cSJim Jagielskistatic ImplDBCSConvertData const aImplMS932DBCSCvtData =
1128*b1cdbd2cSJim Jagielski{
1129*b1cdbd2cSJim Jagielski    aMS932UniLeadTab,
1130*b1cdbd2cSJim Jagielski    aMS932DBCSHighTab,
1131*b1cdbd2cSJim Jagielski    0x00, 0xFF,
1132*b1cdbd2cSJim Jagielski    0x40, 0xFC,
1133*b1cdbd2cSJim Jagielski    aImplSJISDBCSEUDCTab,
1134*b1cdbd2cSJim Jagielski    DBCS_EUDC_SJIS_COUNT
1135*b1cdbd2cSJim Jagielski};
1136*b1cdbd2cSJim Jagielski
1137*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1138*b1cdbd2cSJim Jagielski
1139*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplMS932TextEncodingData
1140*b1cdbd2cSJim Jagielski    = { { &aImplMS932DBCSCvtData,
1141*b1cdbd2cSJim Jagielski          ImplDBCSToUnicode,
1142*b1cdbd2cSJim Jagielski          ImplUnicodeToDBCS,
1143*b1cdbd2cSJim Jagielski          NULL,
1144*b1cdbd2cSJim Jagielski          NULL,
1145*b1cdbd2cSJim Jagielski          NULL,
1146*b1cdbd2cSJim Jagielski          NULL,
1147*b1cdbd2cSJim Jagielski          NULL,
1148*b1cdbd2cSJim Jagielski          NULL },
1149*b1cdbd2cSJim Jagielski        1,
1150*b1cdbd2cSJim Jagielski        2,
1151*b1cdbd2cSJim Jagielski        2,
1152*b1cdbd2cSJim Jagielski        128,
1153*b1cdbd2cSJim Jagielski        "euc-jp",
1154*b1cdbd2cSJim Jagielski        "shift_jis",
1155*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE };
1156*b1cdbd2cSJim Jagielski    /* WIN/DOS/OS2, SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
1157*b1cdbd2cSJim Jagielski
1158*b1cdbd2cSJim Jagielski/* ======================================================================= */
1159*b1cdbd2cSJim Jagielski
1160*b1cdbd2cSJim Jagielskistatic ImplDBCSToUniLeadTab const aAPPLEJAPANESEUniLeadTab[256] =
1161*b1cdbd2cSJim Jagielski{
1162*b1cdbd2cSJim Jagielski    { 0x0000,    0,    0, NULL },                               /* 0x00 */
1163*b1cdbd2cSJim Jagielski    { 0x0001,    0,    0, NULL },                               /* 0x01 */
1164*b1cdbd2cSJim Jagielski    { 0x0002,    0,    0, NULL },                               /* 0x02 */
1165*b1cdbd2cSJim Jagielski    { 0x0003,    0,    0, NULL },                               /* 0x03 */
1166*b1cdbd2cSJim Jagielski    { 0x0004,    0,    0, NULL },                               /* 0x04 */
1167*b1cdbd2cSJim Jagielski    { 0x0005,    0,    0, NULL },                               /* 0x05 */
1168*b1cdbd2cSJim Jagielski    { 0x0006,    0,    0, NULL },                               /* 0x06 */
1169*b1cdbd2cSJim Jagielski    { 0x0007,    0,    0, NULL },                               /* 0x07 */
1170*b1cdbd2cSJim Jagielski    { 0x0008,    0,    0, NULL },                               /* 0x08 */
1171*b1cdbd2cSJim Jagielski    { 0x0009,    0,    0, NULL },                               /* 0x09 */
1172*b1cdbd2cSJim Jagielski    { 0x000A,    0,    0, NULL },                               /* 0x0A */
1173*b1cdbd2cSJim Jagielski    { 0x000B,    0,    0, NULL },                               /* 0x0B */
1174*b1cdbd2cSJim Jagielski    { 0x000C,    0,    0, NULL },                               /* 0x0C */
1175*b1cdbd2cSJim Jagielski    { 0x000D,    0,    0, NULL },                               /* 0x0D */
1176*b1cdbd2cSJim Jagielski    { 0x000E,    0,    0, NULL },                               /* 0x0E */
1177*b1cdbd2cSJim Jagielski    { 0x000F,    0,    0, NULL },                               /* 0x0F */
1178*b1cdbd2cSJim Jagielski    { 0x0010,    0,    0, NULL },                               /* 0x10 */
1179*b1cdbd2cSJim Jagielski    { 0x0011,    0,    0, NULL },                               /* 0x11 */
1180*b1cdbd2cSJim Jagielski    { 0x0012,    0,    0, NULL },                               /* 0x12 */
1181*b1cdbd2cSJim Jagielski    { 0x0013,    0,    0, NULL },                               /* 0x13 */
1182*b1cdbd2cSJim Jagielski    { 0x0014,    0,    0, NULL },                               /* 0x14 */
1183*b1cdbd2cSJim Jagielski    { 0x0015,    0,    0, NULL },                               /* 0x15 */
1184*b1cdbd2cSJim Jagielski    { 0x0016,    0,    0, NULL },                               /* 0x16 */
1185*b1cdbd2cSJim Jagielski    { 0x0017,    0,    0, NULL },                               /* 0x17 */
1186*b1cdbd2cSJim Jagielski    { 0x0018,    0,    0, NULL },                               /* 0x18 */
1187*b1cdbd2cSJim Jagielski    { 0x0019,    0,    0, NULL },                               /* 0x19 */
1188*b1cdbd2cSJim Jagielski    { 0x001A,    0,    0, NULL },                               /* 0x1A */
1189*b1cdbd2cSJim Jagielski    { 0x001B,    0,    0, NULL },                               /* 0x1B */
1190*b1cdbd2cSJim Jagielski    { 0x001C,    0,    0, NULL },                               /* 0x1C */
1191*b1cdbd2cSJim Jagielski    { 0x001D,    0,    0, NULL },                               /* 0x1D */
1192*b1cdbd2cSJim Jagielski    { 0x001E,    0,    0, NULL },                               /* 0x1E */
1193*b1cdbd2cSJim Jagielski    { 0x001F,    0,    0, NULL },                               /* 0x1F */
1194*b1cdbd2cSJim Jagielski    { 0x0020,    0,    0, NULL },                               /* 0x20 */
1195*b1cdbd2cSJim Jagielski    { 0x0021,    0,    0, NULL },                               /* 0x21 */
1196*b1cdbd2cSJim Jagielski    { 0x0022,    0,    0, NULL },                               /* 0x22 */
1197*b1cdbd2cSJim Jagielski    { 0x0023,    0,    0, NULL },                               /* 0x23 */
1198*b1cdbd2cSJim Jagielski    { 0x0024,    0,    0, NULL },                               /* 0x24 */
1199*b1cdbd2cSJim Jagielski    { 0x0025,    0,    0, NULL },                               /* 0x25 */
1200*b1cdbd2cSJim Jagielski    { 0x0026,    0,    0, NULL },                               /* 0x26 */
1201*b1cdbd2cSJim Jagielski    { 0x0027,    0,    0, NULL },                               /* 0x27 */
1202*b1cdbd2cSJim Jagielski    { 0x0028,    0,    0, NULL },                               /* 0x28 */
1203*b1cdbd2cSJim Jagielski    { 0x0029,    0,    0, NULL },                               /* 0x29 */
1204*b1cdbd2cSJim Jagielski    { 0x002A,    0,    0, NULL },                               /* 0x2A */
1205*b1cdbd2cSJim Jagielski    { 0x002B,    0,    0, NULL },                               /* 0x2B */
1206*b1cdbd2cSJim Jagielski    { 0x002C,    0,    0, NULL },                               /* 0x2C */
1207*b1cdbd2cSJim Jagielski    { 0x002D,    0,    0, NULL },                               /* 0x2D */
1208*b1cdbd2cSJim Jagielski    { 0x002E,    0,    0, NULL },                               /* 0x2E */
1209*b1cdbd2cSJim Jagielski    { 0x002F,    0,    0, NULL },                               /* 0x2F */
1210*b1cdbd2cSJim Jagielski    { 0x0030,    0,    0, NULL },                               /* 0x30 */
1211*b1cdbd2cSJim Jagielski    { 0x0031,    0,    0, NULL },                               /* 0x31 */
1212*b1cdbd2cSJim Jagielski    { 0x0032,    0,    0, NULL },                               /* 0x32 */
1213*b1cdbd2cSJim Jagielski    { 0x0033,    0,    0, NULL },                               /* 0x33 */
1214*b1cdbd2cSJim Jagielski    { 0x0034,    0,    0, NULL },                               /* 0x34 */
1215*b1cdbd2cSJim Jagielski    { 0x0035,    0,    0, NULL },                               /* 0x35 */
1216*b1cdbd2cSJim Jagielski    { 0x0036,    0,    0, NULL },                               /* 0x36 */
1217*b1cdbd2cSJim Jagielski    { 0x0037,    0,    0, NULL },                               /* 0x37 */
1218*b1cdbd2cSJim Jagielski    { 0x0038,    0,    0, NULL },                               /* 0x38 */
1219*b1cdbd2cSJim Jagielski    { 0x0039,    0,    0, NULL },                               /* 0x39 */
1220*b1cdbd2cSJim Jagielski    { 0x003A,    0,    0, NULL },                               /* 0x3A */
1221*b1cdbd2cSJim Jagielski    { 0x003B,    0,    0, NULL },                               /* 0x3B */
1222*b1cdbd2cSJim Jagielski    { 0x003C,    0,    0, NULL },                               /* 0x3C */
1223*b1cdbd2cSJim Jagielski    { 0x003D,    0,    0, NULL },                               /* 0x3D */
1224*b1cdbd2cSJim Jagielski    { 0x003E,    0,    0, NULL },                               /* 0x3E */
1225*b1cdbd2cSJim Jagielski    { 0x003F,    0,    0, NULL },                               /* 0x3F */
1226*b1cdbd2cSJim Jagielski    { 0x0040,    0,    0, NULL },                               /* 0x40 */
1227*b1cdbd2cSJim Jagielski    { 0x0041,    0,    0, NULL },                               /* 0x41 */
1228*b1cdbd2cSJim Jagielski    { 0x0042,    0,    0, NULL },                               /* 0x42 */
1229*b1cdbd2cSJim Jagielski    { 0x0043,    0,    0, NULL },                               /* 0x43 */
1230*b1cdbd2cSJim Jagielski    { 0x0044,    0,    0, NULL },                               /* 0x44 */
1231*b1cdbd2cSJim Jagielski    { 0x0045,    0,    0, NULL },                               /* 0x45 */
1232*b1cdbd2cSJim Jagielski    { 0x0046,    0,    0, NULL },                               /* 0x46 */
1233*b1cdbd2cSJim Jagielski    { 0x0047,    0,    0, NULL },                               /* 0x47 */
1234*b1cdbd2cSJim Jagielski    { 0x0048,    0,    0, NULL },                               /* 0x48 */
1235*b1cdbd2cSJim Jagielski    { 0x0049,    0,    0, NULL },                               /* 0x49 */
1236*b1cdbd2cSJim Jagielski    { 0x004A,    0,    0, NULL },                               /* 0x4A */
1237*b1cdbd2cSJim Jagielski    { 0x004B,    0,    0, NULL },                               /* 0x4B */
1238*b1cdbd2cSJim Jagielski    { 0x004C,    0,    0, NULL },                               /* 0x4C */
1239*b1cdbd2cSJim Jagielski    { 0x004D,    0,    0, NULL },                               /* 0x4D */
1240*b1cdbd2cSJim Jagielski    { 0x004E,    0,    0, NULL },                               /* 0x4E */
1241*b1cdbd2cSJim Jagielski    { 0x004F,    0,    0, NULL },                               /* 0x4F */
1242*b1cdbd2cSJim Jagielski    { 0x0050,    0,    0, NULL },                               /* 0x50 */
1243*b1cdbd2cSJim Jagielski    { 0x0051,    0,    0, NULL },                               /* 0x51 */
1244*b1cdbd2cSJim Jagielski    { 0x0052,    0,    0, NULL },                               /* 0x52 */
1245*b1cdbd2cSJim Jagielski    { 0x0053,    0,    0, NULL },                               /* 0x53 */
1246*b1cdbd2cSJim Jagielski    { 0x0054,    0,    0, NULL },                               /* 0x54 */
1247*b1cdbd2cSJim Jagielski    { 0x0055,    0,    0, NULL },                               /* 0x55 */
1248*b1cdbd2cSJim Jagielski    { 0x0056,    0,    0, NULL },                               /* 0x56 */
1249*b1cdbd2cSJim Jagielski    { 0x0057,    0,    0, NULL },                               /* 0x57 */
1250*b1cdbd2cSJim Jagielski    { 0x0058,    0,    0, NULL },                               /* 0x58 */
1251*b1cdbd2cSJim Jagielski    { 0x0059,    0,    0, NULL },                               /* 0x59 */
1252*b1cdbd2cSJim Jagielski    { 0x005A,    0,    0, NULL },                               /* 0x5A */
1253*b1cdbd2cSJim Jagielski    { 0x005B,    0,    0, NULL },                               /* 0x5B */
1254*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x5C */ /* is A5 (YEN SIGN), but for compatibiliy with ascii, we use 0x5C like MS CP392 */
1255*b1cdbd2cSJim Jagielski    { 0x005D,    0,    0, NULL },                               /* 0x5D */
1256*b1cdbd2cSJim Jagielski    { 0x005E,    0,    0, NULL },                               /* 0x5E */
1257*b1cdbd2cSJim Jagielski    { 0x005F,    0,    0, NULL },                               /* 0x5F */
1258*b1cdbd2cSJim Jagielski    { 0x0060,    0,    0, NULL },                               /* 0x60 */
1259*b1cdbd2cSJim Jagielski    { 0x0061,    0,    0, NULL },                               /* 0x61 */
1260*b1cdbd2cSJim Jagielski    { 0x0062,    0,    0, NULL },                               /* 0x62 */
1261*b1cdbd2cSJim Jagielski    { 0x0063,    0,    0, NULL },                               /* 0x63 */
1262*b1cdbd2cSJim Jagielski    { 0x0064,    0,    0, NULL },                               /* 0x64 */
1263*b1cdbd2cSJim Jagielski    { 0x0065,    0,    0, NULL },                               /* 0x65 */
1264*b1cdbd2cSJim Jagielski    { 0x0066,    0,    0, NULL },                               /* 0x66 */
1265*b1cdbd2cSJim Jagielski    { 0x0067,    0,    0, NULL },                               /* 0x67 */
1266*b1cdbd2cSJim Jagielski    { 0x0068,    0,    0, NULL },                               /* 0x68 */
1267*b1cdbd2cSJim Jagielski    { 0x0069,    0,    0, NULL },                               /* 0x69 */
1268*b1cdbd2cSJim Jagielski    { 0x006A,    0,    0, NULL },                               /* 0x6A */
1269*b1cdbd2cSJim Jagielski    { 0x006B,    0,    0, NULL },                               /* 0x6B */
1270*b1cdbd2cSJim Jagielski    { 0x006C,    0,    0, NULL },                               /* 0x6C */
1271*b1cdbd2cSJim Jagielski    { 0x006D,    0,    0, NULL },                               /* 0x6D */
1272*b1cdbd2cSJim Jagielski    { 0x006E,    0,    0, NULL },                               /* 0x6E */
1273*b1cdbd2cSJim Jagielski    { 0x006F,    0,    0, NULL },                               /* 0x6F */
1274*b1cdbd2cSJim Jagielski    { 0x0070,    0,    0, NULL },                               /* 0x70 */
1275*b1cdbd2cSJim Jagielski    { 0x0071,    0,    0, NULL },                               /* 0x71 */
1276*b1cdbd2cSJim Jagielski    { 0x0072,    0,    0, NULL },                               /* 0x72 */
1277*b1cdbd2cSJim Jagielski    { 0x0073,    0,    0, NULL },                               /* 0x73 */
1278*b1cdbd2cSJim Jagielski    { 0x0074,    0,    0, NULL },                               /* 0x74 */
1279*b1cdbd2cSJim Jagielski    { 0x0075,    0,    0, NULL },                               /* 0x75 */
1280*b1cdbd2cSJim Jagielski    { 0x0076,    0,    0, NULL },                               /* 0x76 */
1281*b1cdbd2cSJim Jagielski    { 0x0077,    0,    0, NULL },                               /* 0x77 */
1282*b1cdbd2cSJim Jagielski    { 0x0078,    0,    0, NULL },                               /* 0x78 */
1283*b1cdbd2cSJim Jagielski    { 0x0079,    0,    0, NULL },                               /* 0x79 */
1284*b1cdbd2cSJim Jagielski    { 0x007A,    0,    0, NULL },                               /* 0x7A */
1285*b1cdbd2cSJim Jagielski    { 0x007B,    0,    0, NULL },                               /* 0x7B */
1286*b1cdbd2cSJim Jagielski    { 0x007C,    0,    0, NULL },                               /* 0x7C */
1287*b1cdbd2cSJim Jagielski    { 0x007D,    0,    0, NULL },                               /* 0x7D */
1288*b1cdbd2cSJim Jagielski    { 0x007E,    0,    0, NULL },                               /* 0x7E */ /* in SJIS this is 0x0203E (SPACING OVERSCORE), but for compatibiliy with ascii, we use 0x7E (TILDE) like MS CP392 */
1289*b1cdbd2cSJim Jagielski    { 0x007F,    0,    0, NULL },                               /* 0x7F */
1290*b1cdbd2cSJim Jagielski    { 0x005C,    0,    0, NULL },                               /* 0x80 */ /* APPLE additons over SJIS */
1291*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_81 },         /* 0x81 */
1292*b1cdbd2cSJim Jagielski    {      0, 0x4F, 0xF1, aImplDBCSToUniTab_SJIS_82 },          /* 0x82 */
1293*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xD6, aImplDBCSToUniTab_SJIS_83 },          /* 0x83 */
1294*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xBF, aImplDBCSToUniTab_SJIS_84 },          /* 0x84 */
1295*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xF4, aImplDBCSToUniTab_APPLEJAPANESE_85 }, /* 0x85 */
1296*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xD2, aImplDBCSToUniTab_APPLEJAPANESE_86 }, /* 0x86 */
1297*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFA, aImplDBCSToUniTab_APPLEJAPANESE_87 }, /* 0x87 */
1298*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_APPLEJAPANESE_88 }, /* 0x88 */
1299*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_89 },          /* 0x89 */
1300*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8A },          /* 0x8A */
1301*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8B },          /* 0x8B */
1302*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8C },          /* 0x8C */
1303*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8D },          /* 0x8D */
1304*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8E },          /* 0x8E */
1305*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_8F },          /* 0x8F */
1306*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_90 },          /* 0x90 */
1307*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_91 },          /* 0x91 */
1308*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_92 },          /* 0x92 */
1309*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_93 },          /* 0x93 */
1310*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_94 },          /* 0x94 */
1311*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_95 },          /* 0x95 */
1312*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_96 },          /* 0x96 */
1313*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_97 },          /* 0x97 */
1314*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_98 },          /* 0x98 */
1315*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_99 },          /* 0x99 */
1316*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9A },          /* 0x9A */
1317*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9B },          /* 0x9B */
1318*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9C },          /* 0x9C */
1319*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9D },          /* 0x9D */
1320*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9E },          /* 0x9E */
1321*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_9F },          /* 0x9F */
1322*b1cdbd2cSJim Jagielski    { 0x00A0,    0,    0, NULL },                               /* 0xA0 */ /* APPLE additons over SJIS */
1323*b1cdbd2cSJim Jagielski    { 0xFF61,    0,    0, NULL },                               /* 0xA1 */
1324*b1cdbd2cSJim Jagielski    { 0xFF62,    0,    0, NULL },                               /* 0xA2 */
1325*b1cdbd2cSJim Jagielski    { 0xFF63,    0,    0, NULL },                               /* 0xA3 */
1326*b1cdbd2cSJim Jagielski    { 0xFF64,    0,    0, NULL },                               /* 0xA4 */
1327*b1cdbd2cSJim Jagielski    { 0xFF65,    0,    0, NULL },                               /* 0xA5 */
1328*b1cdbd2cSJim Jagielski    { 0xFF66,    0,    0, NULL },                               /* 0xA6 */
1329*b1cdbd2cSJim Jagielski    { 0xFF67,    0,    0, NULL },                               /* 0xA7 */
1330*b1cdbd2cSJim Jagielski    { 0xFF68,    0,    0, NULL },                               /* 0xA8 */
1331*b1cdbd2cSJim Jagielski    { 0xFF69,    0,    0, NULL },                               /* 0xA9 */
1332*b1cdbd2cSJim Jagielski    { 0xFF6A,    0,    0, NULL },                               /* 0xAA */
1333*b1cdbd2cSJim Jagielski    { 0xFF6B,    0,    0, NULL },                               /* 0xAB */
1334*b1cdbd2cSJim Jagielski    { 0xFF6C,    0,    0, NULL },                               /* 0xAC */
1335*b1cdbd2cSJim Jagielski    { 0xFF6D,    0,    0, NULL },                               /* 0xAD */
1336*b1cdbd2cSJim Jagielski    { 0xFF6E,    0,    0, NULL },                               /* 0xAE */
1337*b1cdbd2cSJim Jagielski    { 0xFF6F,    0,    0, NULL },                               /* 0xAF */
1338*b1cdbd2cSJim Jagielski    { 0xFF70,    0,    0, NULL },                               /* 0xB0 */
1339*b1cdbd2cSJim Jagielski    { 0xFF71,    0,    0, NULL },                               /* 0xB1 */
1340*b1cdbd2cSJim Jagielski    { 0xFF72,    0,    0, NULL },                               /* 0xB2 */
1341*b1cdbd2cSJim Jagielski    { 0xFF73,    0,    0, NULL },                               /* 0xB3 */
1342*b1cdbd2cSJim Jagielski    { 0xFF74,    0,    0, NULL },                               /* 0xB4 */
1343*b1cdbd2cSJim Jagielski    { 0xFF75,    0,    0, NULL },                               /* 0xB5 */
1344*b1cdbd2cSJim Jagielski    { 0xFF76,    0,    0, NULL },                               /* 0xB6 */
1345*b1cdbd2cSJim Jagielski    { 0xFF77,    0,    0, NULL },                               /* 0xB7 */
1346*b1cdbd2cSJim Jagielski    { 0xFF78,    0,    0, NULL },                               /* 0xB8 */
1347*b1cdbd2cSJim Jagielski    { 0xFF79,    0,    0, NULL },                               /* 0xB9 */
1348*b1cdbd2cSJim Jagielski    { 0xFF7A,    0,    0, NULL },                               /* 0xBA */
1349*b1cdbd2cSJim Jagielski    { 0xFF7B,    0,    0, NULL },                               /* 0xBB */
1350*b1cdbd2cSJim Jagielski    { 0xFF7C,    0,    0, NULL },                               /* 0xBC */
1351*b1cdbd2cSJim Jagielski    { 0xFF7D,    0,    0, NULL },                               /* 0xBD */
1352*b1cdbd2cSJim Jagielski    { 0xFF7E,    0,    0, NULL },                               /* 0xBE */
1353*b1cdbd2cSJim Jagielski    { 0xFF7F,    0,    0, NULL },                               /* 0xBF */
1354*b1cdbd2cSJim Jagielski    { 0xFF80,    0,    0, NULL },                               /* 0xC0 */
1355*b1cdbd2cSJim Jagielski    { 0xFF81,    0,    0, NULL },                               /* 0xC1 */
1356*b1cdbd2cSJim Jagielski    { 0xFF82,    0,    0, NULL },                               /* 0xC2 */
1357*b1cdbd2cSJim Jagielski    { 0xFF83,    0,    0, NULL },                               /* 0xC3 */
1358*b1cdbd2cSJim Jagielski    { 0xFF84,    0,    0, NULL },                               /* 0xC4 */
1359*b1cdbd2cSJim Jagielski    { 0xFF85,    0,    0, NULL },                               /* 0xC5 */
1360*b1cdbd2cSJim Jagielski    { 0xFF86,    0,    0, NULL },                               /* 0xC6 */
1361*b1cdbd2cSJim Jagielski    { 0xFF87,    0,    0, NULL },                               /* 0xC7 */
1362*b1cdbd2cSJim Jagielski    { 0xFF88,    0,    0, NULL },                               /* 0xC8 */
1363*b1cdbd2cSJim Jagielski    { 0xFF89,    0,    0, NULL },                               /* 0xC9 */
1364*b1cdbd2cSJim Jagielski    { 0xFF8A,    0,    0, NULL },                               /* 0xCA */
1365*b1cdbd2cSJim Jagielski    { 0xFF8B,    0,    0, NULL },                               /* 0xCB */
1366*b1cdbd2cSJim Jagielski    { 0xFF8C,    0,    0, NULL },                               /* 0xCC */
1367*b1cdbd2cSJim Jagielski    { 0xFF8D,    0,    0, NULL },                               /* 0xCD */
1368*b1cdbd2cSJim Jagielski    { 0xFF8E,    0,    0, NULL },                               /* 0xCE */
1369*b1cdbd2cSJim Jagielski    { 0xFF8F,    0,    0, NULL },                               /* 0xCF */
1370*b1cdbd2cSJim Jagielski    { 0xFF90,    0,    0, NULL },                               /* 0xD0 */
1371*b1cdbd2cSJim Jagielski    { 0xFF91,    0,    0, NULL },                               /* 0xD1 */
1372*b1cdbd2cSJim Jagielski    { 0xFF92,    0,    0, NULL },                               /* 0xD2 */
1373*b1cdbd2cSJim Jagielski    { 0xFF93,    0,    0, NULL },                               /* 0xD3 */
1374*b1cdbd2cSJim Jagielski    { 0xFF94,    0,    0, NULL },                               /* 0xD4 */
1375*b1cdbd2cSJim Jagielski    { 0xFF95,    0,    0, NULL },                               /* 0xD5 */
1376*b1cdbd2cSJim Jagielski    { 0xFF96,    0,    0, NULL },                               /* 0xD6 */
1377*b1cdbd2cSJim Jagielski    { 0xFF97,    0,    0, NULL },                               /* 0xD7 */
1378*b1cdbd2cSJim Jagielski    { 0xFF98,    0,    0, NULL },                               /* 0xD8 */
1379*b1cdbd2cSJim Jagielski    { 0xFF99,    0,    0, NULL },                               /* 0xD9 */
1380*b1cdbd2cSJim Jagielski    { 0xFF9A,    0,    0, NULL },                               /* 0xDA */
1381*b1cdbd2cSJim Jagielski    { 0xFF9B,    0,    0, NULL },                               /* 0xDB */
1382*b1cdbd2cSJim Jagielski    { 0xFF9C,    0,    0, NULL },                               /* 0xDC */
1383*b1cdbd2cSJim Jagielski    { 0xFF9D,    0,    0, NULL },                               /* 0xDD */
1384*b1cdbd2cSJim Jagielski    { 0xFF9E,    0,    0, NULL },                               /* 0xDE */
1385*b1cdbd2cSJim Jagielski    { 0xFF9F,    0,    0, NULL },                               /* 0xDF */
1386*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E0 },          /* 0xE0 */
1387*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E1 },          /* 0xE1 */
1388*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E2 },          /* 0xE2 */
1389*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E3 },          /* 0xE3 */
1390*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E4 },          /* 0xE4 */
1391*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E5 },          /* 0xE5 */
1392*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E6 },          /* 0xE6 */
1393*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E7 },          /* 0xE7 */
1394*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E8 },          /* 0xE8 */
1395*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_SJIS_E9 },          /* 0xE9 */
1396*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xA4, aImplDBCSToUniTab_SJIS_EA },          /* 0xEA */
1397*b1cdbd2cSJim Jagielski    {      0, 0x51, 0x7A, aImplDBCSToUniTab_APPLEJAPANESE_EB }, /* 0xEB */
1398*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEC */ /* We convert this as double byte */
1399*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xED */ /* We convert this as double byte */
1400*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEE */ /* We convert this as double byte */
1401*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xEF */ /* We convert this as double byte */
1402*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF0 */ /* EUDC Range */
1403*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF1 */ /* EUDC Range */
1404*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF2 */ /* EUDC Range */
1405*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF3 */ /* EUDC Range */
1406*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF4 */ /* EUDC Range */
1407*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF5 */ /* EUDC Range */
1408*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF6 */ /* EUDC Range */
1409*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF7 */ /* EUDC Range */
1410*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF8 */ /* EUDC Range */
1411*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0xF9 */ /* EUDC Range */
1412*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FA },         /* 0xFA */ /* We use the MS table for better MS compatibility */
1413*b1cdbd2cSJim Jagielski    {      0, 0x40, 0xFC, aImplDBCSToUniTab_MS932_FB },         /* 0xFB */ /* We use the MS table for better MS compatibility */
1414*b1cdbd2cSJim Jagielski    {      0, 0x40, 0x4B, aImplDBCSToUniTab_MS932_FC },         /* 0xFC */ /* We use the MS table for better MS compatibility */
1415*b1cdbd2cSJim Jagielski    { 0x00A9,    0,    0, NULL },                               /* 0xFD */ /* APPLE additons over SJIS */
1416*b1cdbd2cSJim Jagielski    { 0x2122,    0,    0, NULL },                               /* 0xFE */ /* APPLE additons over SJIS */
1417*b1cdbd2cSJim Jagielski    { 0x2026,    0,    0, NULL }                                /* 0xFF */ /* APPLE additons over SJIS */
1418*b1cdbd2cSJim Jagielski};
1419*b1cdbd2cSJim Jagielski
1420*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1421*b1cdbd2cSJim Jagielski
1422*b1cdbd2cSJim Jagielskistatic ImplUniToDBCSHighTab const aAPPLEJAPANESEDBCSHighTab[256] =
1423*b1cdbd2cSJim Jagielski{
1424*b1cdbd2cSJim Jagielski    { 0x00, 0xF7, aImplUniToDBCSTab_APPLEJAPANESE_00 },         /* 0x00 */
1425*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x01 */
1426*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x02 */
1427*b1cdbd2cSJim Jagielski    { 0x91, 0xC9, aImplUniToDBCSTab_SJIS_03 },                  /* 0x03 */
1428*b1cdbd2cSJim Jagielski    { 0x01, 0x51, aImplUniToDBCSTab_SJIS_04 },                  /* 0x04 */
1429*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x05 */
1430*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x06 */
1431*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x07 */
1432*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x08 */
1433*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x09 */
1434*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0A */
1435*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0B */
1436*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0C */
1437*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0D */
1438*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0E */
1439*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0F */
1440*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x10 */
1441*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x11 */
1442*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x12 */
1443*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x13 */
1444*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x14 */
1445*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x15 */
1446*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x16 */
1447*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x17 */
1448*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x18 */
1449*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x19 */
1450*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1A */
1451*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1B */
1452*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1C */
1453*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1D */
1454*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1E */
1455*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1F */
1456*b1cdbd2cSJim Jagielski    { 0x10, 0x3E, aImplUniToDBCSTab_SJIS_20 },                  /* 0x20 */
1457*b1cdbd2cSJim Jagielski    { 0x03, 0xE9, aImplUniToDBCSTab_APPLEJAPANESE_21 },         /* 0x21 */
1458*b1cdbd2cSJim Jagielski    { 0x00, 0xEF, aImplUniToDBCSTab_APPLEJAPANESE_22 },         /* 0x22 */
1459*b1cdbd2cSJim Jagielski    { 0x12, 0x12, aImplUniToDBCSTab_SJIS_23 },                  /* 0x23 */
1460*b1cdbd2cSJim Jagielski    { 0x60, 0xB5, aImplUniToDBCSTab_APPLEJAPANESE_24 },         /* 0x24 */
1461*b1cdbd2cSJim Jagielski    { 0x00, 0xEF, aImplUniToDBCSTab_SJIS_25 },                  /* 0x25 */
1462*b1cdbd2cSJim Jagielski    { 0x05, 0x6F, aImplUniToDBCSTab_APPLEJAPANESE_26 },         /* 0x26 */
1463*b1cdbd2cSJim Jagielski    { 0x76, 0x7E, aImplUniToDBCSTab_APPLEJAPANESE_27 },         /* 0x27 */
1464*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x28 */
1465*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x29 */
1466*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2A */
1467*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2B */
1468*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2C */
1469*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2D */
1470*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2E */
1471*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2F */
1472*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_APPLEJAPANESE_30 },         /* 0x30 */
1473*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x31 */
1474*b1cdbd2cSJim Jagielski    { 0x2A, 0xA9, aImplUniToDBCSTab_APPLEJAPANESE_32 },         /* 0x32 */
1475*b1cdbd2cSJim Jagielski    { 0x00, 0xD4, aImplUniToDBCSTab_APPLEJAPANESE_33 },         /* 0x33 */
1476*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x34 */
1477*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x35 */
1478*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x36 */
1479*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x37 */
1480*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x38 */
1481*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x39 */
1482*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3A */
1483*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3B */
1484*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3C */
1485*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3D */
1486*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3E */
1487*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3F */
1488*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x40 */
1489*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x41 */
1490*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x42 */
1491*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x43 */
1492*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x44 */
1493*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x45 */
1494*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x46 */
1495*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x47 */
1496*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x48 */
1497*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x49 */
1498*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4A */
1499*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4B */
1500*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4C */
1501*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4D */
1502*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_4E },                  /* 0x4E */
1503*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_4F },                  /* 0x4F */
1504*b1cdbd2cSJim Jagielski    { 0x05, 0xFB, aImplUniToDBCSTab_SJIS_50 },                  /* 0x50 */
1505*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_51 },                  /* 0x51 */
1506*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_52 },                  /* 0x52 */
1507*b1cdbd2cSJim Jagielski    { 0x00, 0xFA, aImplUniToDBCSTab_SJIS_53 },                  /* 0x53 */
1508*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_54 },                  /* 0x54 */
1509*b1cdbd2cSJim Jagielski    { 0x04, 0xFE, aImplUniToDBCSTab_SJIS_55 },                  /* 0x55 */
1510*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_56 },                  /* 0x56 */
1511*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_SJIS_57 },                  /* 0x57 */
1512*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_58 },                  /* 0x58 */
1513*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_59 },                  /* 0x59 */
1514*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_5A },                  /* 0x5A */
1515*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_SJIS_5B },                  /* 0x5B */
1516*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_5C },                  /* 0x5C */
1517*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_SJIS_5D },                  /* 0x5D */
1518*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_5E },                  /* 0x5E */
1519*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_5F },                  /* 0x5F */
1520*b1cdbd2cSJim Jagielski    { 0x0E, 0xFB, aImplUniToDBCSTab_SJIS_60 },                  /* 0x60 */
1521*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_61 },                  /* 0x61 */
1522*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_62 },                  /* 0x62 */
1523*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_63 },                  /* 0x63 */
1524*b1cdbd2cSJim Jagielski    { 0x06, 0xFE, aImplUniToDBCSTab_SJIS_64 },                  /* 0x64 */
1525*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_65 },                  /* 0x65 */
1526*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_66 },                  /* 0x66 */
1527*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_67 },                  /* 0x67 */
1528*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_SJIS_68 },                  /* 0x68 */
1529*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_69 },                  /* 0x69 */
1530*b1cdbd2cSJim Jagielski    { 0x02, 0xFB, aImplUniToDBCSTab_SJIS_6A },                  /* 0x6A */
1531*b1cdbd2cSJim Jagielski    { 0x04, 0xF3, aImplUniToDBCSTab_SJIS_6B },                  /* 0x6B */
1532*b1cdbd2cSJim Jagielski    { 0x08, 0xF3, aImplUniToDBCSTab_SJIS_6C },                  /* 0x6C */
1533*b1cdbd2cSJim Jagielski    { 0x04, 0xFC, aImplUniToDBCSTab_SJIS_6D },                  /* 0x6D */
1534*b1cdbd2cSJim Jagielski    { 0x05, 0xFF, aImplUniToDBCSTab_SJIS_6E },                  /* 0x6E */
1535*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_6F },                  /* 0x6F */
1536*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_70 },                  /* 0x70 */
1537*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_71 },                  /* 0x71 */
1538*b1cdbd2cSJim Jagielski    { 0x06, 0xFD, aImplUniToDBCSTab_SJIS_72 },                  /* 0x72 */
1539*b1cdbd2cSJim Jagielski    { 0x0A, 0xFE, aImplUniToDBCSTab_SJIS_73 },                  /* 0x73 */
1540*b1cdbd2cSJim Jagielski    { 0x03, 0xF8, aImplUniToDBCSTab_SJIS_74 },                  /* 0x74 */
1541*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_SJIS_75 },                  /* 0x75 */
1542*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_76 },                  /* 0x76 */
1543*b1cdbd2cSJim Jagielski    { 0x01, 0xFC, aImplUniToDBCSTab_SJIS_77 },                  /* 0x77 */
1544*b1cdbd2cSJim Jagielski    { 0x02, 0xFD, aImplUniToDBCSTab_SJIS_78 },                  /* 0x78 */
1545*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_79 },                  /* 0x79 */
1546*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_7A },                  /* 0x7A */
1547*b1cdbd2cSJim Jagielski    { 0x02, 0xF7, aImplUniToDBCSTab_SJIS_7B },                  /* 0x7B */
1548*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_7C },                  /* 0x7C */
1549*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_SJIS_7D },                  /* 0x7D */
1550*b1cdbd2cSJim Jagielski    { 0x01, 0x9C, aImplUniToDBCSTab_SJIS_7E },                  /* 0x7E */
1551*b1cdbd2cSJim Jagielski    { 0x36, 0xFC, aImplUniToDBCSTab_SJIS_7F },                  /* 0x7F */
1552*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_80 },                  /* 0x80 */
1553*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_81 },                  /* 0x81 */
1554*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_82 },                  /* 0x82 */
1555*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_SJIS_83 },                  /* 0x83 */
1556*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_84 },                  /* 0x84 */
1557*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_85 },                  /* 0x85 */
1558*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_SJIS_86 },                  /* 0x86 */
1559*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_87 },                  /* 0x87 */
1560*b1cdbd2cSJim Jagielski    { 0x05, 0xFE, aImplUniToDBCSTab_SJIS_88 },                  /* 0x88 */
1561*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_89 },                  /* 0x89 */
1562*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_SJIS_8A },                  /* 0x8A */
1563*b1cdbd2cSJim Jagielski    { 0x00, 0x9A, aImplUniToDBCSTab_SJIS_8B },                  /* 0x8B */
1564*b1cdbd2cSJim Jagielski    { 0x37, 0xFD, aImplUniToDBCSTab_SJIS_8C },                  /* 0x8C */
1565*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_SJIS_8D },                  /* 0x8D */
1566*b1cdbd2cSJim Jagielski    { 0x08, 0xFE, aImplUniToDBCSTab_SJIS_8E },                  /* 0x8E */
1567*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_8F },                  /* 0x8F */
1568*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_SJIS_90 },                  /* 0x90 */
1569*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_SJIS_91 },                  /* 0x91 */
1570*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_SJIS_92 },                  /* 0x92 */
1571*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_SJIS_93 },                  /* 0x93 */
1572*b1cdbd2cSJim Jagielski    { 0x03, 0x81, aImplUniToDBCSTab_SJIS_94 },                  /* 0x94 */
1573*b1cdbd2cSJim Jagielski    { 0x77, 0xE5, aImplUniToDBCSTab_SJIS_95 },                  /* 0x95 */
1574*b1cdbd2cSJim Jagielski    { 0x1C, 0xFB, aImplUniToDBCSTab_SJIS_96 },                  /* 0x96 */
1575*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_SJIS_97 },                  /* 0x97 */
1576*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_SJIS_98 },                  /* 0x98 */
1577*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_SJIS_99 },                  /* 0x99 */
1578*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_SJIS_9A },                  /* 0x9A */
1579*b1cdbd2cSJim Jagielski    { 0x06, 0xF5, aImplUniToDBCSTab_SJIS_9B },                  /* 0x9B */
1580*b1cdbd2cSJim Jagielski    { 0x00, 0xF6, aImplUniToDBCSTab_SJIS_9C },                  /* 0x9C */
1581*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_SJIS_9D },                  /* 0x9D */
1582*b1cdbd2cSJim Jagielski    { 0x19, 0xFD, aImplUniToDBCSTab_SJIS_9E },                  /* 0x9E */
1583*b1cdbd2cSJim Jagielski    { 0x07, 0xA0, aImplUniToDBCSTab_SJIS_9F },                  /* 0x9F */
1584*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA0 */
1585*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA1 */
1586*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA2 */
1587*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA3 */
1588*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA4 */
1589*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA5 */
1590*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA6 */
1591*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA7 */
1592*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA8 */
1593*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA9 */
1594*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAA */
1595*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAB */
1596*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAC */
1597*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAD */
1598*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAE */
1599*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAF */
1600*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB0 */
1601*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB1 */
1602*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB2 */
1603*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB3 */
1604*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB4 */
1605*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB5 */
1606*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB6 */
1607*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB7 */
1608*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB8 */
1609*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB9 */
1610*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBA */
1611*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBB */
1612*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBC */
1613*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBD */
1614*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBE */
1615*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBF */
1616*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC0 */
1617*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC1 */
1618*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC2 */
1619*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC3 */
1620*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC4 */
1621*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC5 */
1622*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC6 */
1623*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC7 */
1624*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC8 */
1625*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC9 */
1626*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCA */
1627*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCB */
1628*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCC */
1629*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCD */
1630*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCE */
1631*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCF */
1632*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD0 */
1633*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD1 */
1634*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD2 */
1635*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD3 */
1636*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD4 */
1637*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD5 */
1638*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD6 */
1639*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD7 */
1640*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD8 */
1641*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD9 */
1642*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDA */
1643*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDB */
1644*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDC */
1645*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDD */
1646*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDE */
1647*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDF */
1648*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE0 */
1649*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE1 */
1650*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE2 */
1651*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE3 */
1652*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE4 */
1653*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE5 */
1654*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE6 */
1655*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE7 */
1656*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE8 */
1657*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE9 */
1658*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEA */
1659*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEB */
1660*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEC */
1661*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xED */
1662*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEE */
1663*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEF */
1664*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF0 */
1665*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF1 */
1666*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF2 */
1667*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF3 */
1668*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF4 */
1669*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF5 */
1670*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF6 */
1671*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF7 */
1672*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF8 */
1673*b1cdbd2cSJim Jagielski    { 0x29, 0xDC, aImplUniToDBCSTab_MS932_F9 },                 /* 0xF9 */
1674*b1cdbd2cSJim Jagielski    { 0x0E, 0x2D, aImplUniToDBCSTab_MS932_FA },                 /* 0xFA */
1675*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFB */
1676*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFC */
1677*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFD */
1678*b1cdbd2cSJim Jagielski    { 0x30, 0x44, aImplUniToDBCSTab_APPLEJAPANESE_FE },         /* 0xFE */
1679*b1cdbd2cSJim Jagielski    { 0x01, 0xE5, aImplUniToDBCSTab_SJIS_FF }                   /* 0xFF */
1680*b1cdbd2cSJim Jagielski};
1681*b1cdbd2cSJim Jagielski
1682*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1683*b1cdbd2cSJim Jagielski
1684*b1cdbd2cSJim Jagielskistatic ImplDBCSConvertData const aImplAPPLEJAPANESEDBCSCvtData =
1685*b1cdbd2cSJim Jagielski{
1686*b1cdbd2cSJim Jagielski    aAPPLEJAPANESEUniLeadTab,
1687*b1cdbd2cSJim Jagielski    aAPPLEJAPANESEDBCSHighTab,
1688*b1cdbd2cSJim Jagielski    0x00, 0xFF,
1689*b1cdbd2cSJim Jagielski    0x40, 0xFC,
1690*b1cdbd2cSJim Jagielski    aImplSJISDBCSEUDCTab,
1691*b1cdbd2cSJim Jagielski    DBCS_EUDC_SJIS_COUNT
1692*b1cdbd2cSJim Jagielski};
1693*b1cdbd2cSJim Jagielski
1694*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1695*b1cdbd2cSJim Jagielski
1696*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplAPPLEJAPANESETextEncodingData
1697*b1cdbd2cSJim Jagielski    = { { &aImplAPPLEJAPANESEDBCSCvtData,
1698*b1cdbd2cSJim Jagielski          ImplDBCSToUnicode,
1699*b1cdbd2cSJim Jagielski          ImplUnicodeToDBCS,
1700*b1cdbd2cSJim Jagielski          NULL,
1701*b1cdbd2cSJim Jagielski          NULL,
1702*b1cdbd2cSJim Jagielski          NULL,
1703*b1cdbd2cSJim Jagielski          NULL,
1704*b1cdbd2cSJim Jagielski          NULL,
1705*b1cdbd2cSJim Jagielski          NULL },
1706*b1cdbd2cSJim Jagielski        1,
1707*b1cdbd2cSJim Jagielski        2,
1708*b1cdbd2cSJim Jagielski        2,
1709*b1cdbd2cSJim Jagielski        128,
1710*b1cdbd2cSJim Jagielski        "euc-jp",
1711*b1cdbd2cSJim Jagielski        "shift_jis",
1712*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE };
1713*b1cdbd2cSJim Jagielski    /* MAC, SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
1714*b1cdbd2cSJim Jagielski
1715*b1cdbd2cSJim Jagielski/* ======================================================================= */
1716*b1cdbd2cSJim Jagielski
1717*b1cdbd2cSJim Jagielskistatic ImplDBCSToUniLeadTab const aJIS0208UniLeadTab[128] =
1718*b1cdbd2cSJim Jagielski{
1719*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x00 */
1720*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x01 */
1721*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x02 */
1722*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x03 */
1723*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x04 */
1724*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x05 */
1725*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x06 */
1726*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x07 */
1727*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x08 */
1728*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x09 */
1729*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0A */
1730*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0B */
1731*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0C */
1732*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0D */
1733*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0E */
1734*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0F */
1735*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x10 */ /* We convert this as double byte */
1736*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x11 */ /* We convert this as double byte */
1737*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x12 */ /* We convert this as double byte */
1738*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x13 */ /* We convert this as double byte */
1739*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x14 */ /* We convert this as double byte */
1740*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x15 */ /* We convert this as double byte */
1741*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x16 */ /* We convert this as double byte */
1742*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x17 */ /* We convert this as double byte */
1743*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x18 */ /* We convert this as double byte */
1744*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x19 */ /* We convert this as double byte */
1745*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1A */ /* We convert this as double byte */
1746*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1B */ /* We convert this as double byte */
1747*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1C */ /* We convert this as double byte */
1748*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1D */ /* We convert this as double byte */
1749*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1E */ /* We convert this as double byte */
1750*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1F */ /* We convert this as double byte */
1751*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x20 */ /* We convert this as double byte */
1752*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_21 },       /* 0x21 */
1753*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_22 },       /* 0x22 */
1754*b1cdbd2cSJim Jagielski    {      0, 0x30, 0x7A, aImplDBCSToUniTab_JIS0208_23 },       /* 0x23 */
1755*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x73, aImplDBCSToUniTab_JIS0208_24 },       /* 0x24 */
1756*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x76, aImplDBCSToUniTab_JIS0208_25 },       /* 0x25 */
1757*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x58, aImplDBCSToUniTab_JIS0208_26 },       /* 0x26 */
1758*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x71, aImplDBCSToUniTab_JIS0208_27 },       /* 0x27 */
1759*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x40, aImplDBCSToUniTab_JIS0208_28 },       /* 0x28 */
1760*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x29 */ /* We convert this as double byte */
1761*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2A */ /* We convert this as double byte */
1762*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2B */ /* We convert this as double byte */
1763*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2C */ /* We convert this as double byte */
1764*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7C, aImplDBCSToUniTab_JIS0208_2D },       /* 0x2D */
1765*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2E */ /* We convert this as double byte */
1766*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2F */ /* We convert this as double byte */
1767*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_30 },       /* 0x30 */
1768*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_31 },       /* 0x31 */
1769*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_32 },       /* 0x32 */
1770*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_33 },       /* 0x33 */
1771*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_34 },       /* 0x34 */
1772*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_35 },       /* 0x35 */
1773*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_36 },       /* 0x36 */
1774*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_37 },       /* 0x37 */
1775*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_38 },       /* 0x38 */
1776*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_39 },       /* 0x39 */
1777*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3A },       /* 0x3A */
1778*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3B },       /* 0x3B */
1779*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3C },       /* 0x3C */
1780*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3D },       /* 0x3D */
1781*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3E },       /* 0x3E */
1782*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_3F },       /* 0x3F */
1783*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_40 },       /* 0x40 */
1784*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_41 },       /* 0x41 */
1785*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_42 },       /* 0x42 */
1786*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_43 },       /* 0x43 */
1787*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_44 },       /* 0x44 */
1788*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_45 },       /* 0x45 */
1789*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_46 },       /* 0x46 */
1790*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_47 },       /* 0x47 */
1791*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_48 },       /* 0x48 */
1792*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_49 },       /* 0x49 */
1793*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_4A },       /* 0x4A */
1794*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_4B },       /* 0x4B */
1795*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_4C },       /* 0x4C */
1796*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_4D },       /* 0x4D */
1797*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_4E },       /* 0x4E */
1798*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x53, aImplDBCSToUniTab_JIS0208_4F },       /* 0x4F */
1799*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_50 },       /* 0x50 */
1800*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_51 },       /* 0x51 */
1801*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_52 },       /* 0x52 */
1802*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_53 },       /* 0x53 */
1803*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_54 },       /* 0x54 */
1804*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_55 },       /* 0x55 */
1805*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_56 },       /* 0x56 */
1806*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_57 },       /* 0x57 */
1807*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_58 },       /* 0x58 */
1808*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_59 },       /* 0x59 */
1809*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5A },       /* 0x5A */
1810*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5B },       /* 0x5B */
1811*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5C },       /* 0x5C */
1812*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5D },       /* 0x5D */
1813*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5E },       /* 0x5E */
1814*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_5F },       /* 0x5F */
1815*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_60 },       /* 0x60 */
1816*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_61 },       /* 0x61 */
1817*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_62 },       /* 0x62 */
1818*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_63 },       /* 0x63 */
1819*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_64 },       /* 0x64 */
1820*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_65 },       /* 0x65 */
1821*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_66 },       /* 0x66 */
1822*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_67 },       /* 0x67 */
1823*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_68 },       /* 0x68 */
1824*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_69 },       /* 0x69 */
1825*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6A },       /* 0x6A */
1826*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6B },       /* 0x6B */
1827*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6C },       /* 0x6C */
1828*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6D },       /* 0x6D */
1829*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6E },       /* 0x6E */
1830*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_6F },       /* 0x6F */
1831*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_70 },       /* 0x70 */
1832*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_71 },       /* 0x71 */
1833*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_72 },       /* 0x72 */
1834*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0208_73 },       /* 0x73 */
1835*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x26, aImplDBCSToUniTab_JIS0208_74 },       /* 0x74 */
1836*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x75 */ /* We convert this as double byte */
1837*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x76 */ /* We convert this as double byte */
1838*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x77 */ /* We convert this as double byte */
1839*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x78 */ /* We convert this as double byte */
1840*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x79 */ /* We convert this as double byte */
1841*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7A */ /* We convert this as double byte */
1842*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7B */ /* We convert this as double byte */
1843*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7C */ /* We convert this as double byte */
1844*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7D */ /* We convert this as double byte */
1845*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7E */ /* We convert this as double byte */
1846*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL }                                /* 0x7F */
1847*b1cdbd2cSJim Jagielski};
1848*b1cdbd2cSJim Jagielski
1849*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
1850*b1cdbd2cSJim Jagielski
1851*b1cdbd2cSJim Jagielskistatic ImplUniToDBCSHighTab const aJIS0208DBCSHighTab[256] =
1852*b1cdbd2cSJim Jagielski{
1853*b1cdbd2cSJim Jagielski    { 0xA2, 0xF7, aImplUniToDBCSTab_JIS0208_00 },               /* 0x00 */
1854*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x01 */
1855*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x02 */
1856*b1cdbd2cSJim Jagielski    { 0x91, 0xC9, aImplUniToDBCSTab_JIS0208_03 },               /* 0x03 */
1857*b1cdbd2cSJim Jagielski    { 0x01, 0x51, aImplUniToDBCSTab_JIS0208_04 },               /* 0x04 */
1858*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x05 */
1859*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x06 */
1860*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x07 */
1861*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x08 */
1862*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x09 */
1863*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0A */
1864*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0B */
1865*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0C */
1866*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0D */
1867*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0E */
1868*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0F */
1869*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x10 */
1870*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x11 */
1871*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x12 */
1872*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x13 */
1873*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x14 */
1874*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x15 */
1875*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x16 */
1876*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x17 */
1877*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x18 */
1878*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x19 */
1879*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1A */
1880*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1B */
1881*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1C */
1882*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1D */
1883*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1E */
1884*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1F */
1885*b1cdbd2cSJim Jagielski    { 0x10, 0x3B, aImplUniToDBCSTab_JIS0208_20 },               /* 0x20 */
1886*b1cdbd2cSJim Jagielski    { 0x03, 0xD4, aImplUniToDBCSTab_JIS0208_21 },               /* 0x21 */
1887*b1cdbd2cSJim Jagielski    { 0x00, 0xBF, aImplUniToDBCSTab_JIS0208_22 },               /* 0x22 */
1888*b1cdbd2cSJim Jagielski    { 0x12, 0x12, aImplUniToDBCSTab_JIS0208_23 },               /* 0x23 */
1889*b1cdbd2cSJim Jagielski    { 0x60, 0x73, aImplUniToDBCSTab_JIS0208_24 },               /* 0x24 */
1890*b1cdbd2cSJim Jagielski    { 0x00, 0xEF, aImplUniToDBCSTab_JIS0208_25 },               /* 0x25 */
1891*b1cdbd2cSJim Jagielski    { 0x05, 0x6F, aImplUniToDBCSTab_JIS0208_26 },               /* 0x26 */
1892*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x27 */
1893*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x28 */
1894*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x29 */
1895*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2A */
1896*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2B */
1897*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2C */
1898*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2D */
1899*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2E */
1900*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2F */
1901*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_30 },               /* 0x30 */
1902*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x31 */
1903*b1cdbd2cSJim Jagielski    { 0x31, 0xA8, aImplUniToDBCSTab_JIS0208_32 },               /* 0x32 */
1904*b1cdbd2cSJim Jagielski    { 0x03, 0xCD, aImplUniToDBCSTab_JIS0208_33 },               /* 0x33 */
1905*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x34 */
1906*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x35 */
1907*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x36 */
1908*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x37 */
1909*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x38 */
1910*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x39 */
1911*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3A */
1912*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3B */
1913*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3C */
1914*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3D */
1915*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3E */
1916*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3F */
1917*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x40 */
1918*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x41 */
1919*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x42 */
1920*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x43 */
1921*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x44 */
1922*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x45 */
1923*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x46 */
1924*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x47 */
1925*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x48 */
1926*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x49 */
1927*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4A */
1928*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4B */
1929*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4C */
1930*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4D */
1931*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_JIS0208_4E },               /* 0x4E */
1932*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_JIS0208_4F },               /* 0x4F */
1933*b1cdbd2cSJim Jagielski    { 0x05, 0xFB, aImplUniToDBCSTab_JIS0208_50 },               /* 0x50 */
1934*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_51 },               /* 0x51 */
1935*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_52 },               /* 0x52 */
1936*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_JIS0208_53 },               /* 0x53 */
1937*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0208_54 },               /* 0x54 */
1938*b1cdbd2cSJim Jagielski    { 0x04, 0xFE, aImplUniToDBCSTab_JIS0208_55 },               /* 0x55 */
1939*b1cdbd2cSJim Jagielski    { 0x06, 0xFF, aImplUniToDBCSTab_JIS0208_56 },               /* 0x56 */
1940*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_JIS0208_57 },               /* 0x57 */
1941*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0208_58 },               /* 0x58 */
1942*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0208_59 },               /* 0x59 */
1943*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_JIS0208_5A },               /* 0x5A */
1944*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_JIS0208_5B },               /* 0x5B */
1945*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0208_5C },               /* 0x5C */
1946*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_JIS0208_5D },               /* 0x5D */
1947*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0208_5E },               /* 0x5E */
1948*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_JIS0208_5F },               /* 0x5F */
1949*b1cdbd2cSJim Jagielski    { 0x0E, 0xFB, aImplUniToDBCSTab_JIS0208_60 },               /* 0x60 */
1950*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_61 },               /* 0x61 */
1951*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_62 },               /* 0x62 */
1952*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_JIS0208_63 },               /* 0x63 */
1953*b1cdbd2cSJim Jagielski    { 0x06, 0xFE, aImplUniToDBCSTab_JIS0208_64 },               /* 0x64 */
1954*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_JIS0208_65 },               /* 0x65 */
1955*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0208_66 },               /* 0x66 */
1956*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_67 },               /* 0x67 */
1957*b1cdbd2cSJim Jagielski    { 0x02, 0xFA, aImplUniToDBCSTab_JIS0208_68 },               /* 0x68 */
1958*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_69 },               /* 0x69 */
1959*b1cdbd2cSJim Jagielski    { 0x02, 0xFB, aImplUniToDBCSTab_JIS0208_6A },               /* 0x6A */
1960*b1cdbd2cSJim Jagielski    { 0x04, 0xF3, aImplUniToDBCSTab_JIS0208_6B },               /* 0x6B */
1961*b1cdbd2cSJim Jagielski    { 0x08, 0xF3, aImplUniToDBCSTab_JIS0208_6C },               /* 0x6C */
1962*b1cdbd2cSJim Jagielski    { 0x0B, 0xFB, aImplUniToDBCSTab_JIS0208_6D },               /* 0x6D */
1963*b1cdbd2cSJim Jagielski    { 0x05, 0xFF, aImplUniToDBCSTab_JIS0208_6E },               /* 0x6E */
1964*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_JIS0208_6F },               /* 0x6F */
1965*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0208_70 },               /* 0x70 */
1966*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_JIS0208_71 },               /* 0x71 */
1967*b1cdbd2cSJim Jagielski    { 0x06, 0xFD, aImplUniToDBCSTab_JIS0208_72 },               /* 0x72 */
1968*b1cdbd2cSJim Jagielski    { 0x0A, 0xFE, aImplUniToDBCSTab_JIS0208_73 },               /* 0x73 */
1969*b1cdbd2cSJim Jagielski    { 0x03, 0xF8, aImplUniToDBCSTab_JIS0208_74 },               /* 0x74 */
1970*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_JIS0208_75 },               /* 0x75 */
1971*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_JIS0208_76 },               /* 0x76 */
1972*b1cdbd2cSJim Jagielski    { 0x01, 0xFC, aImplUniToDBCSTab_JIS0208_77 },               /* 0x77 */
1973*b1cdbd2cSJim Jagielski    { 0x02, 0xFD, aImplUniToDBCSTab_JIS0208_78 },               /* 0x78 */
1974*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_JIS0208_79 },               /* 0x79 */
1975*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_7A },               /* 0x7A */
1976*b1cdbd2cSJim Jagielski    { 0x02, 0xF7, aImplUniToDBCSTab_JIS0208_7B },               /* 0x7B */
1977*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_7C },               /* 0x7C */
1978*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_JIS0208_7D },               /* 0x7D */
1979*b1cdbd2cSJim Jagielski    { 0x01, 0x9C, aImplUniToDBCSTab_JIS0208_7E },               /* 0x7E */
1980*b1cdbd2cSJim Jagielski    { 0x36, 0xFC, aImplUniToDBCSTab_JIS0208_7F },               /* 0x7F */
1981*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0208_80 },               /* 0x80 */
1982*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_JIS0208_81 },               /* 0x81 */
1983*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_JIS0208_82 },               /* 0x82 */
1984*b1cdbd2cSJim Jagielski    { 0x02, 0xFD, aImplUniToDBCSTab_JIS0208_83 },               /* 0x83 */
1985*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_JIS0208_84 },               /* 0x84 */
1986*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_85 },               /* 0x85 */
1987*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_JIS0208_86 },               /* 0x86 */
1988*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_87 },               /* 0x87 */
1989*b1cdbd2cSJim Jagielski    { 0x05, 0xFE, aImplUniToDBCSTab_JIS0208_88 },               /* 0x88 */
1990*b1cdbd2cSJim Jagielski    { 0x02, 0xF8, aImplUniToDBCSTab_JIS0208_89 },               /* 0x89 */
1991*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0208_8A },               /* 0x8A */
1992*b1cdbd2cSJim Jagielski    { 0x00, 0x9A, aImplUniToDBCSTab_JIS0208_8B },               /* 0x8B */
1993*b1cdbd2cSJim Jagielski    { 0x37, 0xFD, aImplUniToDBCSTab_JIS0208_8C },               /* 0x8C */
1994*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_JIS0208_8D },               /* 0x8D */
1995*b1cdbd2cSJim Jagielski    { 0x08, 0xFE, aImplUniToDBCSTab_JIS0208_8E },               /* 0x8E */
1996*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_JIS0208_8F },               /* 0x8F */
1997*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0208_90 },               /* 0x90 */
1998*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0208_91 },               /* 0x91 */
1999*b1cdbd2cSJim Jagielski    { 0x0D, 0xFC, aImplUniToDBCSTab_JIS0208_92 },               /* 0x92 */
2000*b1cdbd2cSJim Jagielski    { 0x06, 0xE8, aImplUniToDBCSTab_JIS0208_93 },               /* 0x93 */
2001*b1cdbd2cSJim Jagielski    { 0x03, 0x81, aImplUniToDBCSTab_JIS0208_94 },               /* 0x94 */
2002*b1cdbd2cSJim Jagielski    { 0x77, 0xE5, aImplUniToDBCSTab_JIS0208_95 },               /* 0x95 */
2003*b1cdbd2cSJim Jagielski    { 0x1C, 0xFB, aImplUniToDBCSTab_JIS0208_96 },               /* 0x96 */
2004*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0208_97 },               /* 0x97 */
2005*b1cdbd2cSJim Jagielski    { 0x01, 0xFE, aImplUniToDBCSTab_JIS0208_98 },               /* 0x98 */
2006*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_JIS0208_99 },               /* 0x99 */
2007*b1cdbd2cSJim Jagielski    { 0x01, 0xFB, aImplUniToDBCSTab_JIS0208_9A },               /* 0x9A */
2008*b1cdbd2cSJim Jagielski    { 0x06, 0xF5, aImplUniToDBCSTab_JIS0208_9B },               /* 0x9B */
2009*b1cdbd2cSJim Jagielski    { 0x04, 0xF6, aImplUniToDBCSTab_JIS0208_9C },               /* 0x9C */
2010*b1cdbd2cSJim Jagielski    { 0x03, 0xFD, aImplUniToDBCSTab_JIS0208_9D },               /* 0x9D */
2011*b1cdbd2cSJim Jagielski    { 0x1A, 0xFD, aImplUniToDBCSTab_JIS0208_9E },               /* 0x9E */
2012*b1cdbd2cSJim Jagielski    { 0x07, 0xA0, aImplUniToDBCSTab_JIS0208_9F },               /* 0x9F */
2013*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA0 */
2014*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA1 */
2015*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA2 */
2016*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA3 */
2017*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA4 */
2018*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA5 */
2019*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA6 */
2020*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA7 */
2021*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA8 */
2022*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA9 */
2023*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAA */
2024*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAB */
2025*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAC */
2026*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAD */
2027*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAE */
2028*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAF */
2029*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB0 */
2030*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB1 */
2031*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB2 */
2032*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB3 */
2033*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB4 */
2034*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB5 */
2035*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB6 */
2036*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB7 */
2037*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB8 */
2038*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB9 */
2039*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBA */
2040*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBB */
2041*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBC */
2042*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBD */
2043*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBE */
2044*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBF */
2045*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC0 */
2046*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC1 */
2047*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC2 */
2048*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC3 */
2049*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC4 */
2050*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC5 */
2051*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC6 */
2052*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC7 */
2053*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC8 */
2054*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC9 */
2055*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCA */
2056*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCB */
2057*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCC */
2058*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCD */
2059*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCE */
2060*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCF */
2061*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD0 */
2062*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD1 */
2063*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD2 */
2064*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD3 */
2065*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD4 */
2066*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD5 */
2067*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD6 */
2068*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD7 */
2069*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD8 */
2070*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD9 */
2071*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDA */
2072*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDB */
2073*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDC */
2074*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDD */
2075*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDE */
2076*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDF */
2077*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE0 */
2078*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE1 */
2079*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE2 */
2080*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE3 */
2081*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE4 */
2082*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE5 */
2083*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE6 */
2084*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE7 */
2085*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE8 */
2086*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE9 */
2087*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEA */
2088*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEB */
2089*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEC */
2090*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xED */
2091*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEE */
2092*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEF */
2093*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF0 */
2094*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF1 */
2095*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF2 */
2096*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF3 */
2097*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF4 */
2098*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF5 */
2099*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF6 */
2100*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF7 */
2101*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF8 */
2102*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF9 */
2103*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFA */
2104*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFB */
2105*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFC */
2106*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFD */
2107*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFE */
2108*b1cdbd2cSJim Jagielski    { 0x01, 0xE5, aImplUniToDBCSTab_JIS0208_FF }                /* 0xFF */
2109*b1cdbd2cSJim Jagielski};
2110*b1cdbd2cSJim Jagielski
2111*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2112*b1cdbd2cSJim Jagielski
2113*b1cdbd2cSJim Jagielskistatic ImplDBCSToUniLeadTab const aJIS0212UniLeadTab[128] =
2114*b1cdbd2cSJim Jagielski{
2115*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x00 */
2116*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x01 */
2117*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x02 */
2118*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x03 */
2119*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x04 */
2120*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x05 */
2121*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x06 */
2122*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x07 */
2123*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x08 */
2124*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x09 */
2125*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0A */
2126*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0B */
2127*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0C */
2128*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0D */
2129*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0E */
2130*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL },                               /* 0x0F */
2131*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x10 */ /* We convert this as double byte */
2132*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x11 */ /* We convert this as double byte */
2133*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x12 */ /* We convert this as double byte */
2134*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x13 */ /* We convert this as double byte */
2135*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x14 */ /* We convert this as double byte */
2136*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x15 */ /* We convert this as double byte */
2137*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x16 */ /* We convert this as double byte */
2138*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x17 */ /* We convert this as double byte */
2139*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x18 */ /* We convert this as double byte */
2140*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x19 */ /* We convert this as double byte */
2141*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1A */ /* We convert this as double byte */
2142*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1B */ /* We convert this as double byte */
2143*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1C */ /* We convert this as double byte */
2144*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1D */ /* We convert this as double byte */
2145*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1E */ /* We convert this as double byte */
2146*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x1F */ /* We convert this as double byte */
2147*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x20 */ /* We convert this as double byte */
2148*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x21 */ /* We convert this as double byte */
2149*b1cdbd2cSJim Jagielski    {      0, 0x2F, 0x71, aImplDBCSToUniTab_JIS0212_22 },       /* 0x22 */
2150*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x23 */ /* We convert this as double byte */
2151*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x24 */ /* We convert this as double byte */
2152*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x25 */ /* We convert this as double byte */
2153*b1cdbd2cSJim Jagielski    {      0, 0x61, 0x7C, aImplDBCSToUniTab_JIS0212_26 },       /* 0x26 */
2154*b1cdbd2cSJim Jagielski    {      0, 0x42, 0x7E, aImplDBCSToUniTab_JIS0212_27 },       /* 0x27 */
2155*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x28 */ /* We convert this as double byte */
2156*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x50, aImplDBCSToUniTab_JIS0212_29 },       /* 0x29 */
2157*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x77, aImplDBCSToUniTab_JIS0212_2A },       /* 0x2A */
2158*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x77, aImplDBCSToUniTab_JIS0212_2B },       /* 0x2B */
2159*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2C */ /* We convert this as double byte */
2160*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2D */ /* We convert this as double byte */
2161*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2E */ /* We convert this as double byte */
2162*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x2F */ /* We convert this as double byte */
2163*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_30 },       /* 0x30 */
2164*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_31 },       /* 0x31 */
2165*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_32 },       /* 0x32 */
2166*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_33 },       /* 0x33 */
2167*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_34 },       /* 0x34 */
2168*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_35 },       /* 0x35 */
2169*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_36 },       /* 0x36 */
2170*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_37 },       /* 0x37 */
2171*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_38 },       /* 0x38 */
2172*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_39 },       /* 0x39 */
2173*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3A },       /* 0x3A */
2174*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3B },       /* 0x3B */
2175*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3C },       /* 0x3C */
2176*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3D },       /* 0x3D */
2177*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3E },       /* 0x3E */
2178*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_3F },       /* 0x3F */
2179*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_40 },       /* 0x40 */
2180*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_41 },       /* 0x41 */
2181*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_42 },       /* 0x42 */
2182*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_43 },       /* 0x43 */
2183*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_44 },       /* 0x44 */
2184*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_45 },       /* 0x45 */
2185*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_46 },       /* 0x46 */
2186*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_47 },       /* 0x47 */
2187*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_48 },       /* 0x48 */
2188*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_49 },       /* 0x49 */
2189*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4A },       /* 0x4A */
2190*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4B },       /* 0x4B */
2191*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4C },       /* 0x4C */
2192*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4D },       /* 0x4D */
2193*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4E },       /* 0x4E */
2194*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_4F },       /* 0x4F */
2195*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_50 },       /* 0x50 */
2196*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_51 },       /* 0x51 */
2197*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_52 },       /* 0x52 */
2198*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_53 },       /* 0x53 */
2199*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_54 },       /* 0x54 */
2200*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_55 },       /* 0x55 */
2201*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_56 },       /* 0x56 */
2202*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_57 },       /* 0x57 */
2203*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_58 },       /* 0x58 */
2204*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_59 },       /* 0x59 */
2205*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5A },       /* 0x5A */
2206*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5B },       /* 0x5B */
2207*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5C },       /* 0x5C */
2208*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5D },       /* 0x5D */
2209*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5E },       /* 0x5E */
2210*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_5F },       /* 0x5F */
2211*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_60 },       /* 0x60 */
2212*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_61 },       /* 0x61 */
2213*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_62 },       /* 0x62 */
2214*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_63 },       /* 0x63 */
2215*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_64 },       /* 0x64 */
2216*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_65 },       /* 0x65 */
2217*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_66 },       /* 0x66 */
2218*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_67 },       /* 0x67 */
2219*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_68 },       /* 0x68 */
2220*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_69 },       /* 0x69 */
2221*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_6A },       /* 0x6A */
2222*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_6B },       /* 0x6B */
2223*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x7E, aImplDBCSToUniTab_JIS0212_6C },       /* 0x6C */
2224*b1cdbd2cSJim Jagielski    {      0, 0x21, 0x63, aImplDBCSToUniTab_JIS0212_6D },       /* 0x6D */
2225*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x6E */ /* We convert this as double byte */
2226*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x6F */ /* We convert this as double byte */
2227*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x70 */ /* We convert this as double byte */
2228*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x71 */ /* We convert this as double byte */
2229*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x72 */ /* We convert this as double byte */
2230*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x73 */ /* We convert this as double byte */
2231*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x74 */ /* We convert this as double byte */
2232*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x75 */ /* We convert this as double byte */
2233*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x76 */ /* We convert this as double byte */
2234*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x77 */ /* We convert this as double byte */
2235*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x78 */ /* We convert this as double byte */
2236*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x79 */ /* We convert this as double byte */
2237*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7A */ /* We convert this as double byte */
2238*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7B */ /* We convert this as double byte */
2239*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7C */ /* We convert this as double byte */
2240*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7D */ /* We convert this as double byte */
2241*b1cdbd2cSJim Jagielski    {      0,    1,    0, aImplDoubleByteIdentifierTab },       /* 0x7E */ /* We convert this as double byte */
2242*b1cdbd2cSJim Jagielski    {      0,    1,    0, NULL }                                /* 0x7F */
2243*b1cdbd2cSJim Jagielski};
2244*b1cdbd2cSJim Jagielski
2245*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2246*b1cdbd2cSJim Jagielski
2247*b1cdbd2cSJim Jagielskistatic ImplUniToDBCSHighTab const aJIS0212DBCSHighTab[256] =
2248*b1cdbd2cSJim Jagielski{
2249*b1cdbd2cSJim Jagielski    { 0xA1, 0xFF, aImplUniToDBCSTab_JIS0212_00 },               /* 0x00 */
2250*b1cdbd2cSJim Jagielski    { 0x00, 0xF5, aImplUniToDBCSTab_JIS0212_01 },               /* 0x01 */
2251*b1cdbd2cSJim Jagielski    { 0xC7, 0xDD, aImplUniToDBCSTab_JIS0212_02 },               /* 0x02 */
2252*b1cdbd2cSJim Jagielski    { 0x84, 0xCE, aImplUniToDBCSTab_JIS0212_03 },               /* 0x03 */
2253*b1cdbd2cSJim Jagielski    { 0x02, 0x5F, aImplUniToDBCSTab_JIS0212_04 },               /* 0x04 */
2254*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x05 */
2255*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x06 */
2256*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x07 */
2257*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x08 */
2258*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x09 */
2259*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0A */
2260*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0B */
2261*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0C */
2262*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0D */
2263*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0E */
2264*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x0F */
2265*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x10 */
2266*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x11 */
2267*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x12 */
2268*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x13 */
2269*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x14 */
2270*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x15 */
2271*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x16 */
2272*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x17 */
2273*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x18 */
2274*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x19 */
2275*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1A */
2276*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1B */
2277*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1C */
2278*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1D */
2279*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1E */
2280*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x1F */
2281*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x20 */
2282*b1cdbd2cSJim Jagielski    { 0x16, 0x22, aImplUniToDBCSTab_JIS0212_21 },               /* 0x21 */
2283*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x22 */
2284*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x23 */
2285*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x24 */
2286*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x25 */
2287*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x26 */
2288*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x27 */
2289*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x28 */
2290*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x29 */
2291*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2A */
2292*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2B */
2293*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2C */
2294*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2D */
2295*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2E */
2296*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x2F */
2297*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x30 */
2298*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x31 */
2299*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x32 */
2300*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x33 */
2301*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x34 */
2302*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x35 */
2303*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x36 */
2304*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x37 */
2305*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x38 */
2306*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x39 */
2307*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3A */
2308*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3B */
2309*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3C */
2310*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3D */
2311*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3E */
2312*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x3F */
2313*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x40 */
2314*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x41 */
2315*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x42 */
2316*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x43 */
2317*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x44 */
2318*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x45 */
2319*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x46 */
2320*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x47 */
2321*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x48 */
2322*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x49 */
2323*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4A */
2324*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4B */
2325*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4C */
2326*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0x4D */
2327*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_4E },               /* 0x4E */
2328*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0212_4F },               /* 0x4F */
2329*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0212_50 },               /* 0x50 */
2330*b1cdbd2cSJim Jagielski    { 0x03, 0xF7, aImplUniToDBCSTab_JIS0212_51 },               /* 0x51 */
2331*b1cdbd2cSJim Jagielski    { 0x01, 0xF7, aImplUniToDBCSTab_JIS0212_52 },               /* 0x52 */
2332*b1cdbd2cSJim Jagielski    { 0x00, 0xF5, aImplUniToDBCSTab_JIS0212_53 },               /* 0x53 */
2333*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_54 },               /* 0x54 */
2334*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0212_55 },               /* 0x55 */
2335*b1cdbd2cSJim Jagielski    { 0x05, 0xF7, aImplUniToDBCSTab_JIS0212_56 },               /* 0x56 */
2336*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_JIS0212_57 },               /* 0x57 */
2337*b1cdbd2cSJim Jagielski    { 0x03, 0xF3, aImplUniToDBCSTab_JIS0212_58 },               /* 0x58 */
2338*b1cdbd2cSJim Jagielski    { 0x05, 0xF7, aImplUniToDBCSTab_JIS0212_59 },               /* 0x59 */
2339*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_5A },               /* 0x5A */
2340*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_5B },               /* 0x5B */
2341*b1cdbd2cSJim Jagielski    { 0x0C, 0xF4, aImplUniToDBCSTab_JIS0212_5C },               /* 0x5C */
2342*b1cdbd2cSJim Jagielski    { 0x01, 0xF9, aImplUniToDBCSTab_JIS0212_5D },               /* 0x5D */
2343*b1cdbd2cSJim Jagielski    { 0x00, 0xEB, aImplUniToDBCSTab_JIS0212_5E },               /* 0x5E */
2344*b1cdbd2cSJim Jagielski    { 0x02, 0xFC, aImplUniToDBCSTab_JIS0212_5F },               /* 0x5F */
2345*b1cdbd2cSJim Jagielski    { 0x07, 0xFD, aImplUniToDBCSTab_JIS0212_60 },               /* 0x60 */
2346*b1cdbd2cSJim Jagielski    { 0x02, 0xEF, aImplUniToDBCSTab_JIS0212_61 },               /* 0x61 */
2347*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0212_62 },               /* 0x62 */
2348*b1cdbd2cSJim Jagielski    { 0x03, 0xF9, aImplUniToDBCSTab_JIS0212_63 },               /* 0x63 */
2349*b1cdbd2cSJim Jagielski    { 0x09, 0xFF, aImplUniToDBCSTab_JIS0212_64 },               /* 0x64 */
2350*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_JIS0212_65 },               /* 0x65 */
2351*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_JIS0212_66 },               /* 0x66 */
2352*b1cdbd2cSJim Jagielski    { 0x05, 0xF9, aImplUniToDBCSTab_JIS0212_67 },               /* 0x67 */
2353*b1cdbd2cSJim Jagielski    { 0x04, 0xFD, aImplUniToDBCSTab_JIS0212_68 },               /* 0x68 */
2354*b1cdbd2cSJim Jagielski    { 0x06, 0xFE, aImplUniToDBCSTab_JIS0212_69 },               /* 0x69 */
2355*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_6A },               /* 0x6A */
2356*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_6B },               /* 0x6B */
2357*b1cdbd2cSJim Jagielski    { 0x02, 0xF4, aImplUniToDBCSTab_JIS0212_6C },               /* 0x6C */
2358*b1cdbd2cSJim Jagielski    { 0x04, 0xFC, aImplUniToDBCSTab_JIS0212_6D },               /* 0x6D */
2359*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_6E },               /* 0x6E */
2360*b1cdbd2cSJim Jagielski    { 0x04, 0xFD, aImplUniToDBCSTab_JIS0212_6F },               /* 0x6F */
2361*b1cdbd2cSJim Jagielski    { 0x00, 0xFA, aImplUniToDBCSTab_JIS0212_70 },               /* 0x70 */
2362*b1cdbd2cSJim Jagielski    { 0x03, 0xFE, aImplUniToDBCSTab_JIS0212_71 },               /* 0x71 */
2363*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0212_72 },               /* 0x72 */
2364*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_73 },               /* 0x73 */
2365*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0212_74 },               /* 0x74 */
2366*b1cdbd2cSJim Jagielski    { 0x06, 0xF9, aImplUniToDBCSTab_JIS0212_75 },               /* 0x75 */
2367*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_JIS0212_76 },               /* 0x76 */
2368*b1cdbd2cSJim Jagielski    { 0x00, 0xFB, aImplUniToDBCSTab_JIS0212_77 },               /* 0x77 */
2369*b1cdbd2cSJim Jagielski    { 0x05, 0xFF, aImplUniToDBCSTab_JIS0212_78 },               /* 0x78 */
2370*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_JIS0212_79 },               /* 0x79 */
2371*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_JIS0212_7A },               /* 0x7A */
2372*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_JIS0212_7B },               /* 0x7B */
2373*b1cdbd2cSJim Jagielski    { 0x01, 0xF5, aImplUniToDBCSTab_JIS0212_7C },               /* 0x7C */
2374*b1cdbd2cSJim Jagielski    { 0x03, 0xFA, aImplUniToDBCSTab_JIS0212_7D },               /* 0x7D */
2375*b1cdbd2cSJim Jagielski    { 0x00, 0x9E, aImplUniToDBCSTab_JIS0212_7E },               /* 0x7E */
2376*b1cdbd2cSJim Jagielski    { 0x3B, 0xFF, aImplUniToDBCSTab_JIS0212_7F },               /* 0x7F */
2377*b1cdbd2cSJim Jagielski    { 0x07, 0xFE, aImplUniToDBCSTab_JIS0212_80 },               /* 0x80 */
2378*b1cdbd2cSJim Jagielski    { 0x03, 0xFF, aImplUniToDBCSTab_JIS0212_81 },               /* 0x81 */
2379*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0212_82 },               /* 0x82 */
2380*b1cdbd2cSJim Jagielski    { 0x00, 0xFC, aImplUniToDBCSTab_JIS0212_83 },               /* 0x83 */
2381*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0212_84 },               /* 0x84 */
2382*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_85 },               /* 0x85 */
2383*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_86 },               /* 0x86 */
2384*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_JIS0212_87 },               /* 0x87 */
2385*b1cdbd2cSJim Jagielski    { 0x01, 0xF7, aImplUniToDBCSTab_JIS0212_88 },               /* 0x88 */
2386*b1cdbd2cSJim Jagielski    { 0x01, 0xFF, aImplUniToDBCSTab_JIS0212_89 },               /* 0x89 */
2387*b1cdbd2cSJim Jagielski    { 0x04, 0xFF, aImplUniToDBCSTab_JIS0212_8A },               /* 0x8A */
2388*b1cdbd2cSJim Jagielski    { 0x05, 0x9F, aImplUniToDBCSTab_JIS0212_8B },               /* 0x8B */
2389*b1cdbd2cSJim Jagielski    { 0x38, 0xFF, aImplUniToDBCSTab_JIS0212_8C },               /* 0x8C */
2390*b1cdbd2cSJim Jagielski    { 0x01, 0xFD, aImplUniToDBCSTab_JIS0212_8D },               /* 0x8D */
2391*b1cdbd2cSJim Jagielski    { 0x01, 0xFA, aImplUniToDBCSTab_JIS0212_8E },               /* 0x8E */
2392*b1cdbd2cSJim Jagielski    { 0x00, 0xFE, aImplUniToDBCSTab_JIS0212_8F },               /* 0x8F */
2393*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_90 },               /* 0x90 */
2394*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_91 },               /* 0x91 */
2395*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0212_92 },               /* 0x92 */
2396*b1cdbd2cSJim Jagielski    { 0x00, 0xFD, aImplUniToDBCSTab_JIS0212_93 },               /* 0x93 */
2397*b1cdbd2cSJim Jagielski    { 0x01, 0x84, aImplUniToDBCSTab_JIS0212_94 },               /* 0x94 */
2398*b1cdbd2cSJim Jagielski    { 0x78, 0xE6, aImplUniToDBCSTab_JIS0212_95 },               /* 0x95 */
2399*b1cdbd2cSJim Jagielski    { 0x1D, 0xFA, aImplUniToDBCSTab_JIS0212_96 },               /* 0x96 */
2400*b1cdbd2cSJim Jagielski    { 0x02, 0xFA, aImplUniToDBCSTab_JIS0212_97 },               /* 0x97 */
2401*b1cdbd2cSJim Jagielski    { 0x07, 0xF6, aImplUniToDBCSTab_JIS0212_98 },               /* 0x98 */
2402*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_JIS0212_99 },               /* 0x99 */
2403*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_9A },               /* 0x9A */
2404*b1cdbd2cSJim Jagielski    { 0x00, 0xFF, aImplUniToDBCSTab_JIS0212_9B },               /* 0x9B */
2405*b1cdbd2cSJim Jagielski    { 0x00, 0xF9, aImplUniToDBCSTab_JIS0212_9C },               /* 0x9C */
2406*b1cdbd2cSJim Jagielski    { 0x02, 0xFE, aImplUniToDBCSTab_JIS0212_9D },               /* 0x9D */
2407*b1cdbd2cSJim Jagielski    { 0x02, 0xFF, aImplUniToDBCSTab_JIS0212_9E },               /* 0x9E */
2408*b1cdbd2cSJim Jagielski    { 0x02, 0xA5, aImplUniToDBCSTab_JIS0212_9F },               /* 0x9F */
2409*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA0 */
2410*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA1 */
2411*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA2 */
2412*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA3 */
2413*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA4 */
2414*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA5 */
2415*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA6 */
2416*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA7 */
2417*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA8 */
2418*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xA9 */
2419*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAA */
2420*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAB */
2421*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAC */
2422*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAD */
2423*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAE */
2424*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xAF */
2425*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB0 */
2426*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB1 */
2427*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB2 */
2428*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB3 */
2429*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB4 */
2430*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB5 */
2431*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB6 */
2432*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB7 */
2433*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB8 */
2434*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xB9 */
2435*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBA */
2436*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBB */
2437*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBC */
2438*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBD */
2439*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBE */
2440*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xBF */
2441*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC0 */
2442*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC1 */
2443*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC2 */
2444*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC3 */
2445*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC4 */
2446*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC5 */
2447*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC6 */
2448*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC7 */
2449*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC8 */
2450*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xC9 */
2451*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCA */
2452*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCB */
2453*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCC */
2454*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCD */
2455*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCE */
2456*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xCF */
2457*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD0 */
2458*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD1 */
2459*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD2 */
2460*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD3 */
2461*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD4 */
2462*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD5 */
2463*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD6 */
2464*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD7 */
2465*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD8 */
2466*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xD9 */
2467*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDA */
2468*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDB */
2469*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDC */
2470*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDD */
2471*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDE */
2472*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xDF */
2473*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE0 */
2474*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE1 */
2475*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE2 */
2476*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE3 */
2477*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE4 */
2478*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE5 */
2479*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE6 */
2480*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE7 */
2481*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE8 */
2482*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xE9 */
2483*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEA */
2484*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEB */
2485*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEC */
2486*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xED */
2487*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEE */
2488*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xEF */
2489*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF0 */
2490*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF1 */
2491*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF2 */
2492*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF3 */
2493*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF4 */
2494*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF5 */
2495*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF6 */
2496*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF7 */
2497*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF8 */
2498*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xF9 */
2499*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFA */
2500*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFB */
2501*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFC */
2502*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFD */
2503*b1cdbd2cSJim Jagielski    {    1,    0, NULL },                                       /* 0xFE */
2504*b1cdbd2cSJim Jagielski    {    1,    0, NULL }                                        /* 0xFF */
2505*b1cdbd2cSJim Jagielski};
2506*b1cdbd2cSJim Jagielski
2507*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2508*b1cdbd2cSJim Jagielski
2509*b1cdbd2cSJim Jagielskistatic ImplEUCJPConvertData const aImplEUCJPCvtData =
2510*b1cdbd2cSJim Jagielski{
2511*b1cdbd2cSJim Jagielski    aJIS0208UniLeadTab,
2512*b1cdbd2cSJim Jagielski    aJIS0212UniLeadTab,
2513*b1cdbd2cSJim Jagielski    aJIS0208DBCSHighTab,
2514*b1cdbd2cSJim Jagielski    aJIS0212DBCSHighTab
2515*b1cdbd2cSJim Jagielski};
2516*b1cdbd2cSJim Jagielski
2517*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2518*b1cdbd2cSJim Jagielski
2519*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplEUCJPTextEncodingData
2520*b1cdbd2cSJim Jagielski    = { { &aImplEUCJPCvtData,
2521*b1cdbd2cSJim Jagielski          ImplEUCJPToUnicode,
2522*b1cdbd2cSJim Jagielski          ImplUnicodeToEUCJP,
2523*b1cdbd2cSJim Jagielski          NULL,
2524*b1cdbd2cSJim Jagielski          NULL,
2525*b1cdbd2cSJim Jagielski          NULL,
2526*b1cdbd2cSJim Jagielski          NULL,
2527*b1cdbd2cSJim Jagielski          NULL,
2528*b1cdbd2cSJim Jagielski          NULL },
2529*b1cdbd2cSJim Jagielski        1,
2530*b1cdbd2cSJim Jagielski        3,
2531*b1cdbd2cSJim Jagielski        2,
2532*b1cdbd2cSJim Jagielski        128,
2533*b1cdbd2cSJim Jagielski        "euc-jp",
2534*b1cdbd2cSJim Jagielski        "euc-jp",
2535*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_ASCII
2536*b1cdbd2cSJim Jagielski            | RTL_TEXTENCODING_INFO_MULTIBYTE
2537*b1cdbd2cSJim Jagielski            | RTL_TEXTENCODING_INFO_MIME };
2538*b1cdbd2cSJim Jagielski    /* SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
2539*b1cdbd2cSJim Jagielski
2540*b1cdbd2cSJim Jagielski/* ======================================================================= */
2541*b1cdbd2cSJim Jagielski
2542*b1cdbd2cSJim Jagielski/* !!! JIS - X Encodings not complete !!! */
2543*b1cdbd2cSJim Jagielski
2544*b1cdbd2cSJim Jagielski#define HALFWIDTHKANA_START 0xFF61
2545*b1cdbd2cSJim Jagielski#define HALFWIDTHKANA_END   0xFF9F
2546*b1cdbd2cSJim Jagielski
2547*b1cdbd2cSJim Jagielskistatic sal_uChar const aImplJISX0201Tab[HALFWIDTHKANA_END - HALFWIDTHKANA_START + 1] =
2548*b1cdbd2cSJim Jagielski{
2549*b1cdbd2cSJim Jagielski          0xA1, 0xA2, 0xA3, 0xA4, 0x5A, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
2550*b1cdbd2cSJim Jagielski    0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
2551*b1cdbd2cSJim Jagielski    0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
2552*b1cdbd2cSJim Jagielski    0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
2553*b1cdbd2cSJim Jagielski};
2554*b1cdbd2cSJim Jagielski
2555*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2556*b1cdbd2cSJim Jagielski
2557*b1cdbd2cSJim Jagielskistatic ImplByteConvertData const aImplJISX0201ByteCvtData =
2558*b1cdbd2cSJim Jagielski{
2559*b1cdbd2cSJim Jagielski    NULL,
2560*b1cdbd2cSJim Jagielski    NULL,
2561*b1cdbd2cSJim Jagielski    0, 0,
2562*b1cdbd2cSJim Jagielski    0, 0,
2563*b1cdbd2cSJim Jagielski    aImplJISX0201Tab,
2564*b1cdbd2cSJim Jagielski    NULL,
2565*b1cdbd2cSJim Jagielski    NULL,
2566*b1cdbd2cSJim Jagielski    HALFWIDTHKANA_START, HALFWIDTHKANA_END,
2567*b1cdbd2cSJim Jagielski    0, 0,
2568*b1cdbd2cSJim Jagielski    0
2569*b1cdbd2cSJim Jagielski};
2570*b1cdbd2cSJim Jagielski
2571*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2572*b1cdbd2cSJim Jagielski
2573*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplJISX0201TextEncodingData
2574*b1cdbd2cSJim Jagielski    = { { &aImplJISX0201ByteCvtData,
2575*b1cdbd2cSJim Jagielski          NULL,
2576*b1cdbd2cSJim Jagielski          ImplUnicodeToChar,
2577*b1cdbd2cSJim Jagielski          NULL,
2578*b1cdbd2cSJim Jagielski          NULL,
2579*b1cdbd2cSJim Jagielski          NULL,
2580*b1cdbd2cSJim Jagielski          NULL,
2581*b1cdbd2cSJim Jagielski          NULL,
2582*b1cdbd2cSJim Jagielski          NULL },
2583*b1cdbd2cSJim Jagielski        1,
2584*b1cdbd2cSJim Jagielski        1,
2585*b1cdbd2cSJim Jagielski        1,
2586*b1cdbd2cSJim Jagielski        128,
2587*b1cdbd2cSJim Jagielski        "euc-jp",
2588*b1cdbd2cSJim Jagielski        "euc-jp",
2589*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE };
2590*b1cdbd2cSJim Jagielski    /* SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
2591*b1cdbd2cSJim Jagielski
2592*b1cdbd2cSJim Jagielski/* ======================================================================= */
2593*b1cdbd2cSJim Jagielski
2594*b1cdbd2cSJim Jagielskistatic ImplDBCSConvertData const aImplJISX0208DBCSCvtData =
2595*b1cdbd2cSJim Jagielski{
2596*b1cdbd2cSJim Jagielski    NULL,
2597*b1cdbd2cSJim Jagielski    aJIS0208DBCSHighTab,
2598*b1cdbd2cSJim Jagielski    0x00, 0xFF,
2599*b1cdbd2cSJim Jagielski    0x21, 0x7E,
2600*b1cdbd2cSJim Jagielski    NULL,
2601*b1cdbd2cSJim Jagielski    0
2602*b1cdbd2cSJim Jagielski};
2603*b1cdbd2cSJim Jagielski
2604*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2605*b1cdbd2cSJim Jagielski
2606*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplJISX0208TextEncodingData
2607*b1cdbd2cSJim Jagielski    = { { &aImplJISX0208DBCSCvtData,
2608*b1cdbd2cSJim Jagielski          NULL,
2609*b1cdbd2cSJim Jagielski          ImplUnicodeToDBCS,
2610*b1cdbd2cSJim Jagielski          NULL,
2611*b1cdbd2cSJim Jagielski          NULL,
2612*b1cdbd2cSJim Jagielski          NULL,
2613*b1cdbd2cSJim Jagielski          NULL,
2614*b1cdbd2cSJim Jagielski          NULL,
2615*b1cdbd2cSJim Jagielski          NULL },
2616*b1cdbd2cSJim Jagielski        2,
2617*b1cdbd2cSJim Jagielski        2,
2618*b1cdbd2cSJim Jagielski        2,
2619*b1cdbd2cSJim Jagielski        128,
2620*b1cdbd2cSJim Jagielski        "euc-jp",
2621*b1cdbd2cSJim Jagielski        "euc-jp",
2622*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE };
2623*b1cdbd2cSJim Jagielski    /* SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
2624*b1cdbd2cSJim Jagielski
2625*b1cdbd2cSJim Jagielski/* ======================================================================= */
2626*b1cdbd2cSJim Jagielski
2627*b1cdbd2cSJim Jagielskistatic ImplDBCSConvertData const aImplJISX0212DBCSCvtData =
2628*b1cdbd2cSJim Jagielski{
2629*b1cdbd2cSJim Jagielski    NULL,
2630*b1cdbd2cSJim Jagielski    aJIS0212DBCSHighTab,
2631*b1cdbd2cSJim Jagielski    0x00, 0xFF,
2632*b1cdbd2cSJim Jagielski    0x21, 0x7E,
2633*b1cdbd2cSJim Jagielski    NULL,
2634*b1cdbd2cSJim Jagielski    0
2635*b1cdbd2cSJim Jagielski};
2636*b1cdbd2cSJim Jagielski
2637*b1cdbd2cSJim Jagielski/* ----------------------------------------------------------------------- */
2638*b1cdbd2cSJim Jagielski
2639*b1cdbd2cSJim Jagielskistatic ImplTextEncodingData const aImplJISX0212TextEncodingData
2640*b1cdbd2cSJim Jagielski    = { { &aImplJISX0212DBCSCvtData,
2641*b1cdbd2cSJim Jagielski          NULL,
2642*b1cdbd2cSJim Jagielski          ImplUnicodeToDBCS,
2643*b1cdbd2cSJim Jagielski          NULL,
2644*b1cdbd2cSJim Jagielski          NULL,
2645*b1cdbd2cSJim Jagielski          NULL,
2646*b1cdbd2cSJim Jagielski          NULL,
2647*b1cdbd2cSJim Jagielski          NULL,
2648*b1cdbd2cSJim Jagielski          NULL },
2649*b1cdbd2cSJim Jagielski        2,
2650*b1cdbd2cSJim Jagielski        2,
2651*b1cdbd2cSJim Jagielski        2,
2652*b1cdbd2cSJim Jagielski        128,
2653*b1cdbd2cSJim Jagielski        "euc-jp",
2654*b1cdbd2cSJim Jagielski        "euc-jp",
2655*b1cdbd2cSJim Jagielski        RTL_TEXTENCODING_INFO_MULTIBYTE };
2656*b1cdbd2cSJim Jagielski    /* SCRIPT_JAPANESE, pc code page 932, mac encoding 1 */
2657