• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdlib.h>
2 #include <string.h>
3 #include <stdio.h>
4 #include "csutil.h"
5 
6 
7 /* strip strings into token based on single char delimiter */
8 /* acts like strsep() but only uses a delim char and not  */
9 /* a delim string */
10 
mystrsep(char ** stringp,const char delim)11 char * mystrsep(char ** stringp, const char delim)
12 {
13   char * rv = NULL;
14   char * mp = *stringp;
15   int n = strlen(mp);
16   if (n > 0) {
17      char * dp = (char *)memchr(mp,(int)((unsigned char)delim),n);
18      if (dp) {
19        int nc;
20         *stringp = dp+1;
21         nc = (int)((unsigned long)dp - (unsigned long)mp);
22         rv = (char *) malloc(nc+1);
23         memcpy(rv,mp,nc);
24         *(rv+nc) = '\0';
25         return rv;
26      } else {
27        rv = (char *) malloc(n+1);
28        memcpy(rv, mp, n);
29        *(rv+n) = '\0';
30        *stringp = mp + n;
31        return rv;
32      }
33   }
34   return NULL;
35 }
36 
37 
38 /* replaces strdup with ansi version */
mystrdup(const char * s)39 char * mystrdup(const char * s)
40 {
41   char * d = NULL;
42   if (s) {
43      int sl = strlen(s);
44      d = (char *) malloc(((sl+1) * sizeof(char)));
45      if (d) memcpy(d,s,((sl+1)*sizeof(char)));
46   }
47   return d;
48 }
49 
50 
51 /* remove cross-platform text line end characters */
mychomp(char * s)52 void mychomp(char * s)
53 {
54   int k = strlen(s);
55   if ((k > 0) && ((*(s+k-1)=='\r') || (*(s+k-1)=='\n'))) *(s+k-1) = '\0';
56   if ((k > 1) && (*(s+k-2) == '\r')) *(s+k-2) = '\0';
57 }
58 
59 
60 /* convert null terminated string to all caps using encoding  */
enmkallcap(char * d,const char * p,const char * encoding)61 void enmkallcap(char * d, const char * p, const char * encoding)
62 {
63   struct cs_info * csconv = get_current_cs(encoding);
64   while (*p != '\0') {
65     *d++ = csconv[((unsigned char) *p)].cupper;
66     p++;
67   }
68   *d = '\0';
69 }
70 
71 
72 /* convert null terminated string to all little using encoding */
enmkallsmall(char * d,const char * p,const char * encoding)73 void enmkallsmall(char * d, const char * p, const char * encoding)
74 {
75   struct cs_info * csconv = get_current_cs(encoding);
76   while (*p != '\0') {
77     *d++ = csconv[((unsigned char) *p)].clower;
78     p++;
79   }
80   *d = '\0';
81 }
82 
83 
84 /* convert null terminated string to have intial capital using encoding */
enmkinitcap(char * d,const char * p,const char * encoding)85 void enmkinitcap(char * d, const char * p, const char * encoding)
86 {
87   struct cs_info * csconv = get_current_cs(encoding);
88   memcpy(d,p,(strlen(p)+1));
89   if (*p != '\0') *d= csconv[((unsigned char)*p)].cupper;
90 }
91 
92 
93 /* convert null terminated string to all caps */
mkallcap(char * p,const struct cs_info * csconv)94 void mkallcap(char * p, const struct cs_info * csconv)
95 {
96   while (*p != '\0') {
97     *p = csconv[((unsigned char) *p)].cupper;
98     p++;
99   }
100 }
101 
102 
103 /* convert null terminated string to all little */
mkallsmall(char * p,const struct cs_info * csconv)104 void mkallsmall(char * p, const struct cs_info * csconv)
105 {
106   while (*p != '\0') {
107     *p = csconv[((unsigned char) *p)].clower;
108     p++;
109   }
110 }
111 
112 
113 /* convert null terminated string to have intial capital */
mkinitcap(char * p,const struct cs_info * csconv)114 void mkinitcap(char * p, const struct cs_info * csconv)
115 {
116   if (*p != '\0') *p = csconv[((unsigned char)*p)].cupper;
117 }
118 
119 
120 
121 
122 /* these are simple character mappings for the  */
123 /* encodings supported */
124 /* supplying isupper, tolower, and toupper */
125 
126 struct cs_info iso1_tbl[] = {
127 { 0x00, 0x00, 0x00 },
128 { 0x00, 0x01, 0x01 },
129 { 0x00, 0x02, 0x02 },
130 { 0x00, 0x03, 0x03 },
131 { 0x00, 0x04, 0x04 },
132 { 0x00, 0x05, 0x05 },
133 { 0x00, 0x06, 0x06 },
134 { 0x00, 0x07, 0x07 },
135 { 0x00, 0x08, 0x08 },
136 { 0x00, 0x09, 0x09 },
137 { 0x00, 0x0a, 0x0a },
138 { 0x00, 0x0b, 0x0b },
139 { 0x00, 0x0c, 0x0c },
140 { 0x00, 0x0d, 0x0d },
141 { 0x00, 0x0e, 0x0e },
142 { 0x00, 0x0f, 0x0f },
143 { 0x00, 0x10, 0x10 },
144 { 0x00, 0x11, 0x11 },
145 { 0x00, 0x12, 0x12 },
146 { 0x00, 0x13, 0x13 },
147 { 0x00, 0x14, 0x14 },
148 { 0x00, 0x15, 0x15 },
149 { 0x00, 0x16, 0x16 },
150 { 0x00, 0x17, 0x17 },
151 { 0x00, 0x18, 0x18 },
152 { 0x00, 0x19, 0x19 },
153 { 0x00, 0x1a, 0x1a },
154 { 0x00, 0x1b, 0x1b },
155 { 0x00, 0x1c, 0x1c },
156 { 0x00, 0x1d, 0x1d },
157 { 0x00, 0x1e, 0x1e },
158 { 0x00, 0x1f, 0x1f },
159 { 0x00, 0x20, 0x20 },
160 { 0x00, 0x21, 0x21 },
161 { 0x00, 0x22, 0x22 },
162 { 0x00, 0x23, 0x23 },
163 { 0x00, 0x24, 0x24 },
164 { 0x00, 0x25, 0x25 },
165 { 0x00, 0x26, 0x26 },
166 { 0x00, 0x27, 0x27 },
167 { 0x00, 0x28, 0x28 },
168 { 0x00, 0x29, 0x29 },
169 { 0x00, 0x2a, 0x2a },
170 { 0x00, 0x2b, 0x2b },
171 { 0x00, 0x2c, 0x2c },
172 { 0x00, 0x2d, 0x2d },
173 { 0x00, 0x2e, 0x2e },
174 { 0x00, 0x2f, 0x2f },
175 { 0x00, 0x30, 0x30 },
176 { 0x00, 0x31, 0x31 },
177 { 0x00, 0x32, 0x32 },
178 { 0x00, 0x33, 0x33 },
179 { 0x00, 0x34, 0x34 },
180 { 0x00, 0x35, 0x35 },
181 { 0x00, 0x36, 0x36 },
182 { 0x00, 0x37, 0x37 },
183 { 0x00, 0x38, 0x38 },
184 { 0x00, 0x39, 0x39 },
185 { 0x00, 0x3a, 0x3a },
186 { 0x00, 0x3b, 0x3b },
187 { 0x00, 0x3c, 0x3c },
188 { 0x00, 0x3d, 0x3d },
189 { 0x00, 0x3e, 0x3e },
190 { 0x00, 0x3f, 0x3f },
191 { 0x00, 0x40, 0x40 },
192 { 0x01, 0x61, 0x41 },
193 { 0x01, 0x62, 0x42 },
194 { 0x01, 0x63, 0x43 },
195 { 0x01, 0x64, 0x44 },
196 { 0x01, 0x65, 0x45 },
197 { 0x01, 0x66, 0x46 },
198 { 0x01, 0x67, 0x47 },
199 { 0x01, 0x68, 0x48 },
200 { 0x01, 0x69, 0x49 },
201 { 0x01, 0x6a, 0x4a },
202 { 0x01, 0x6b, 0x4b },
203 { 0x01, 0x6c, 0x4c },
204 { 0x01, 0x6d, 0x4d },
205 { 0x01, 0x6e, 0x4e },
206 { 0x01, 0x6f, 0x4f },
207 { 0x01, 0x70, 0x50 },
208 { 0x01, 0x71, 0x51 },
209 { 0x01, 0x72, 0x52 },
210 { 0x01, 0x73, 0x53 },
211 { 0x01, 0x74, 0x54 },
212 { 0x01, 0x75, 0x55 },
213 { 0x01, 0x76, 0x56 },
214 { 0x01, 0x77, 0x57 },
215 { 0x01, 0x78, 0x58 },
216 { 0x01, 0x79, 0x59 },
217 { 0x01, 0x7a, 0x5a },
218 { 0x00, 0x5b, 0x5b },
219 { 0x00, 0x5c, 0x5c },
220 { 0x00, 0x5d, 0x5d },
221 { 0x00, 0x5e, 0x5e },
222 { 0x00, 0x5f, 0x5f },
223 { 0x00, 0x60, 0x60 },
224 { 0x00, 0x61, 0x41 },
225 { 0x00, 0x62, 0x42 },
226 { 0x00, 0x63, 0x43 },
227 { 0x00, 0x64, 0x44 },
228 { 0x00, 0x65, 0x45 },
229 { 0x00, 0x66, 0x46 },
230 { 0x00, 0x67, 0x47 },
231 { 0x00, 0x68, 0x48 },
232 { 0x00, 0x69, 0x49 },
233 { 0x00, 0x6a, 0x4a },
234 { 0x00, 0x6b, 0x4b },
235 { 0x00, 0x6c, 0x4c },
236 { 0x00, 0x6d, 0x4d },
237 { 0x00, 0x6e, 0x4e },
238 { 0x00, 0x6f, 0x4f },
239 { 0x00, 0x70, 0x50 },
240 { 0x00, 0x71, 0x51 },
241 { 0x00, 0x72, 0x52 },
242 { 0x00, 0x73, 0x53 },
243 { 0x00, 0x74, 0x54 },
244 { 0x00, 0x75, 0x55 },
245 { 0x00, 0x76, 0x56 },
246 { 0x00, 0x77, 0x57 },
247 { 0x00, 0x78, 0x58 },
248 { 0x00, 0x79, 0x59 },
249 { 0x00, 0x7a, 0x5a },
250 { 0x00, 0x7b, 0x7b },
251 { 0x00, 0x7c, 0x7c },
252 { 0x00, 0x7d, 0x7d },
253 { 0x00, 0x7e, 0x7e },
254 { 0x00, 0x7f, 0x7f },
255 { 0x00, 0x80, 0x80 },
256 { 0x00, 0x81, 0x81 },
257 { 0x00, 0x82, 0x82 },
258 { 0x00, 0x83, 0x83 },
259 { 0x00, 0x84, 0x84 },
260 { 0x00, 0x85, 0x85 },
261 { 0x00, 0x86, 0x86 },
262 { 0x00, 0x87, 0x87 },
263 { 0x00, 0x88, 0x88 },
264 { 0x00, 0x89, 0x89 },
265 { 0x00, 0x8a, 0x8a },
266 { 0x00, 0x8b, 0x8b },
267 { 0x00, 0x8c, 0x8c },
268 { 0x00, 0x8d, 0x8d },
269 { 0x00, 0x8e, 0x8e },
270 { 0x00, 0x8f, 0x8f },
271 { 0x00, 0x90, 0x90 },
272 { 0x00, 0x91, 0x91 },
273 { 0x00, 0x92, 0x92 },
274 { 0x00, 0x93, 0x93 },
275 { 0x00, 0x94, 0x94 },
276 { 0x00, 0x95, 0x95 },
277 { 0x00, 0x96, 0x96 },
278 { 0x00, 0x97, 0x97 },
279 { 0x00, 0x98, 0x98 },
280 { 0x00, 0x99, 0x99 },
281 { 0x00, 0x9a, 0x9a },
282 { 0x00, 0x9b, 0x9b },
283 { 0x00, 0x9c, 0x9c },
284 { 0x00, 0x9d, 0x9d },
285 { 0x00, 0x9e, 0x9e },
286 { 0x00, 0x9f, 0x9f },
287 { 0x00, 0xa0, 0xa0 },
288 { 0x00, 0xa1, 0xa1 },
289 { 0x00, 0xa2, 0xa2 },
290 { 0x00, 0xa3, 0xa3 },
291 { 0x00, 0xa4, 0xa4 },
292 { 0x00, 0xa5, 0xa5 },
293 { 0x00, 0xa6, 0xa6 },
294 { 0x00, 0xa7, 0xa7 },
295 { 0x00, 0xa8, 0xa8 },
296 { 0x00, 0xa9, 0xa9 },
297 { 0x00, 0xaa, 0xaa },
298 { 0x00, 0xab, 0xab },
299 { 0x00, 0xac, 0xac },
300 { 0x00, 0xad, 0xad },
301 { 0x00, 0xae, 0xae },
302 { 0x00, 0xaf, 0xaf },
303 { 0x00, 0xb0, 0xb0 },
304 { 0x00, 0xb1, 0xb1 },
305 { 0x00, 0xb2, 0xb2 },
306 { 0x00, 0xb3, 0xb3 },
307 { 0x00, 0xb4, 0xb4 },
308 { 0x00, 0xb5, 0xb5 },
309 { 0x00, 0xb6, 0xb6 },
310 { 0x00, 0xb7, 0xb7 },
311 { 0x00, 0xb8, 0xb8 },
312 { 0x00, 0xb9, 0xb9 },
313 { 0x00, 0xba, 0xba },
314 { 0x00, 0xbb, 0xbb },
315 { 0x00, 0xbc, 0xbc },
316 { 0x00, 0xbd, 0xbd },
317 { 0x00, 0xbe, 0xbe },
318 { 0x00, 0xbf, 0xbf },
319 { 0x01, 0xe0, 0xc0 },
320 { 0x01, 0xe1, 0xc1 },
321 { 0x01, 0xe2, 0xc2 },
322 { 0x01, 0xe3, 0xc3 },
323 { 0x01, 0xe4, 0xc4 },
324 { 0x01, 0xe5, 0xc5 },
325 { 0x01, 0xe6, 0xc6 },
326 { 0x01, 0xe7, 0xc7 },
327 { 0x01, 0xe8, 0xc8 },
328 { 0x01, 0xe9, 0xc9 },
329 { 0x01, 0xea, 0xca },
330 { 0x01, 0xeb, 0xcb },
331 { 0x01, 0xec, 0xcc },
332 { 0x01, 0xed, 0xcd },
333 { 0x01, 0xee, 0xce },
334 { 0x01, 0xef, 0xcf },
335 { 0x01, 0xf0, 0xd0 },
336 { 0x01, 0xf1, 0xd1 },
337 { 0x01, 0xf2, 0xd2 },
338 { 0x01, 0xf3, 0xd3 },
339 { 0x01, 0xf4, 0xd4 },
340 { 0x01, 0xf5, 0xd5 },
341 { 0x01, 0xf6, 0xd6 },
342 { 0x00, 0xd7, 0xd7 },
343 { 0x01, 0xf8, 0xd8 },
344 { 0x01, 0xf9, 0xd9 },
345 { 0x01, 0xfa, 0xda },
346 { 0x01, 0xfb, 0xdb },
347 { 0x01, 0xfc, 0xdc },
348 { 0x01, 0xfd, 0xdd },
349 { 0x01, 0xfe, 0xde },
350 { 0x00, 0xdf, 0xdf },
351 { 0x00, 0xe0, 0xc0 },
352 { 0x00, 0xe1, 0xc1 },
353 { 0x00, 0xe2, 0xc2 },
354 { 0x00, 0xe3, 0xc3 },
355 { 0x00, 0xe4, 0xc4 },
356 { 0x00, 0xe5, 0xc5 },
357 { 0x00, 0xe6, 0xc6 },
358 { 0x00, 0xe7, 0xc7 },
359 { 0x00, 0xe8, 0xc8 },
360 { 0x00, 0xe9, 0xc9 },
361 { 0x00, 0xea, 0xca },
362 { 0x00, 0xeb, 0xcb },
363 { 0x00, 0xec, 0xcc },
364 { 0x00, 0xed, 0xcd },
365 { 0x00, 0xee, 0xce },
366 { 0x00, 0xef, 0xcf },
367 { 0x00, 0xf0, 0xd0 },
368 { 0x00, 0xf1, 0xd1 },
369 { 0x00, 0xf2, 0xd2 },
370 { 0x00, 0xf3, 0xd3 },
371 { 0x00, 0xf4, 0xd4 },
372 { 0x00, 0xf5, 0xd5 },
373 { 0x00, 0xf6, 0xd6 },
374 { 0x00, 0xf7, 0xf7 },
375 { 0x00, 0xf8, 0xd8 },
376 { 0x00, 0xf9, 0xd9 },
377 { 0x00, 0xfa, 0xda },
378 { 0x00, 0xfb, 0xdb },
379 { 0x00, 0xfc, 0xdc },
380 { 0x00, 0xfd, 0xdd },
381 { 0x00, 0xfe, 0xde },
382 { 0x00, 0xff, 0xff },
383 };
384 
385 
386 struct cs_info iso2_tbl[] = {
387 { 0x00, 0x00, 0x00 },
388 { 0x00, 0x01, 0x01 },
389 { 0x00, 0x02, 0x02 },
390 { 0x00, 0x03, 0x03 },
391 { 0x00, 0x04, 0x04 },
392 { 0x00, 0x05, 0x05 },
393 { 0x00, 0x06, 0x06 },
394 { 0x00, 0x07, 0x07 },
395 { 0x00, 0x08, 0x08 },
396 { 0x00, 0x09, 0x09 },
397 { 0x00, 0x0a, 0x0a },
398 { 0x00, 0x0b, 0x0b },
399 { 0x00, 0x0c, 0x0c },
400 { 0x00, 0x0d, 0x0d },
401 { 0x00, 0x0e, 0x0e },
402 { 0x00, 0x0f, 0x0f },
403 { 0x00, 0x10, 0x10 },
404 { 0x00, 0x11, 0x11 },
405 { 0x00, 0x12, 0x12 },
406 { 0x00, 0x13, 0x13 },
407 { 0x00, 0x14, 0x14 },
408 { 0x00, 0x15, 0x15 },
409 { 0x00, 0x16, 0x16 },
410 { 0x00, 0x17, 0x17 },
411 { 0x00, 0x18, 0x18 },
412 { 0x00, 0x19, 0x19 },
413 { 0x00, 0x1a, 0x1a },
414 { 0x00, 0x1b, 0x1b },
415 { 0x00, 0x1c, 0x1c },
416 { 0x00, 0x1d, 0x1d },
417 { 0x00, 0x1e, 0x1e },
418 { 0x00, 0x1f, 0x1f },
419 { 0x00, 0x20, 0x20 },
420 { 0x00, 0x21, 0x21 },
421 { 0x00, 0x22, 0x22 },
422 { 0x00, 0x23, 0x23 },
423 { 0x00, 0x24, 0x24 },
424 { 0x00, 0x25, 0x25 },
425 { 0x00, 0x26, 0x26 },
426 { 0x00, 0x27, 0x27 },
427 { 0x00, 0x28, 0x28 },
428 { 0x00, 0x29, 0x29 },
429 { 0x00, 0x2a, 0x2a },
430 { 0x00, 0x2b, 0x2b },
431 { 0x00, 0x2c, 0x2c },
432 { 0x00, 0x2d, 0x2d },
433 { 0x00, 0x2e, 0x2e },
434 { 0x00, 0x2f, 0x2f },
435 { 0x00, 0x30, 0x30 },
436 { 0x00, 0x31, 0x31 },
437 { 0x00, 0x32, 0x32 },
438 { 0x00, 0x33, 0x33 },
439 { 0x00, 0x34, 0x34 },
440 { 0x00, 0x35, 0x35 },
441 { 0x00, 0x36, 0x36 },
442 { 0x00, 0x37, 0x37 },
443 { 0x00, 0x38, 0x38 },
444 { 0x00, 0x39, 0x39 },
445 { 0x00, 0x3a, 0x3a },
446 { 0x00, 0x3b, 0x3b },
447 { 0x00, 0x3c, 0x3c },
448 { 0x00, 0x3d, 0x3d },
449 { 0x00, 0x3e, 0x3e },
450 { 0x00, 0x3f, 0x3f },
451 { 0x00, 0x40, 0x40 },
452 { 0x01, 0x61, 0x41 },
453 { 0x01, 0x62, 0x42 },
454 { 0x01, 0x63, 0x43 },
455 { 0x01, 0x64, 0x44 },
456 { 0x01, 0x65, 0x45 },
457 { 0x01, 0x66, 0x46 },
458 { 0x01, 0x67, 0x47 },
459 { 0x01, 0x68, 0x48 },
460 { 0x01, 0x69, 0x49 },
461 { 0x01, 0x6a, 0x4a },
462 { 0x01, 0x6b, 0x4b },
463 { 0x01, 0x6c, 0x4c },
464 { 0x01, 0x6d, 0x4d },
465 { 0x01, 0x6e, 0x4e },
466 { 0x01, 0x6f, 0x4f },
467 { 0x01, 0x70, 0x50 },
468 { 0x01, 0x71, 0x51 },
469 { 0x01, 0x72, 0x52 },
470 { 0x01, 0x73, 0x53 },
471 { 0x01, 0x74, 0x54 },
472 { 0x01, 0x75, 0x55 },
473 { 0x01, 0x76, 0x56 },
474 { 0x01, 0x77, 0x57 },
475 { 0x01, 0x78, 0x58 },
476 { 0x01, 0x79, 0x59 },
477 { 0x01, 0x7a, 0x5a },
478 { 0x00, 0x5b, 0x5b },
479 { 0x00, 0x5c, 0x5c },
480 { 0x00, 0x5d, 0x5d },
481 { 0x00, 0x5e, 0x5e },
482 { 0x00, 0x5f, 0x5f },
483 { 0x00, 0x60, 0x60 },
484 { 0x00, 0x61, 0x41 },
485 { 0x00, 0x62, 0x42 },
486 { 0x00, 0x63, 0x43 },
487 { 0x00, 0x64, 0x44 },
488 { 0x00, 0x65, 0x45 },
489 { 0x00, 0x66, 0x46 },
490 { 0x00, 0x67, 0x47 },
491 { 0x00, 0x68, 0x48 },
492 { 0x00, 0x69, 0x49 },
493 { 0x00, 0x6a, 0x4a },
494 { 0x00, 0x6b, 0x4b },
495 { 0x00, 0x6c, 0x4c },
496 { 0x00, 0x6d, 0x4d },
497 { 0x00, 0x6e, 0x4e },
498 { 0x00, 0x6f, 0x4f },
499 { 0x00, 0x70, 0x50 },
500 { 0x00, 0x71, 0x51 },
501 { 0x00, 0x72, 0x52 },
502 { 0x00, 0x73, 0x53 },
503 { 0x00, 0x74, 0x54 },
504 { 0x00, 0x75, 0x55 },
505 { 0x00, 0x76, 0x56 },
506 { 0x00, 0x77, 0x57 },
507 { 0x00, 0x78, 0x58 },
508 { 0x00, 0x79, 0x59 },
509 { 0x00, 0x7a, 0x5a },
510 { 0x00, 0x7b, 0x7b },
511 { 0x00, 0x7c, 0x7c },
512 { 0x00, 0x7d, 0x7d },
513 { 0x00, 0x7e, 0x7e },
514 { 0x00, 0x7f, 0x7f },
515 { 0x00, 0x80, 0x80 },
516 { 0x00, 0x81, 0x81 },
517 { 0x00, 0x82, 0x82 },
518 { 0x00, 0x83, 0x83 },
519 { 0x00, 0x84, 0x84 },
520 { 0x00, 0x85, 0x85 },
521 { 0x00, 0x86, 0x86 },
522 { 0x00, 0x87, 0x87 },
523 { 0x00, 0x88, 0x88 },
524 { 0x00, 0x89, 0x89 },
525 { 0x00, 0x8a, 0x8a },
526 { 0x00, 0x8b, 0x8b },
527 { 0x00, 0x8c, 0x8c },
528 { 0x00, 0x8d, 0x8d },
529 { 0x00, 0x8e, 0x8e },
530 { 0x00, 0x8f, 0x8f },
531 { 0x00, 0x90, 0x90 },
532 { 0x00, 0x91, 0x91 },
533 { 0x00, 0x92, 0x92 },
534 { 0x00, 0x93, 0x93 },
535 { 0x00, 0x94, 0x94 },
536 { 0x00, 0x95, 0x95 },
537 { 0x00, 0x96, 0x96 },
538 { 0x00, 0x97, 0x97 },
539 { 0x00, 0x98, 0x98 },
540 { 0x00, 0x99, 0x99 },
541 { 0x00, 0x9a, 0x9a },
542 { 0x00, 0x9b, 0x9b },
543 { 0x00, 0x9c, 0x9c },
544 { 0x00, 0x9d, 0x9d },
545 { 0x00, 0x9e, 0x9e },
546 { 0x00, 0x9f, 0x9f },
547 { 0x00, 0xa0, 0xa0 },
548 { 0x01, 0xb1, 0xa1 },
549 { 0x00, 0xa2, 0xa2 },
550 { 0x01, 0xb3, 0xa3 },
551 { 0x00, 0xa4, 0xa4 },
552 { 0x01, 0xb5, 0xa5 },
553 { 0x01, 0xb6, 0xa6 },
554 { 0x00, 0xa7, 0xa7 },
555 { 0x00, 0xa8, 0xa8 },
556 { 0x01, 0xb9, 0xa9 },
557 { 0x01, 0xba, 0xaa },
558 { 0x01, 0xbb, 0xab },
559 { 0x01, 0xbc, 0xac },
560 { 0x00, 0xad, 0xad },
561 { 0x01, 0xbe, 0xae },
562 { 0x01, 0xbf, 0xaf },
563 { 0x00, 0xb0, 0xb0 },
564 { 0x00, 0xb1, 0xa1 },
565 { 0x00, 0xb2, 0xb2 },
566 { 0x00, 0xb3, 0xa3 },
567 { 0x00, 0xb4, 0xb4 },
568 { 0x00, 0xb5, 0xa5 },
569 { 0x00, 0xb6, 0xa6 },
570 { 0x00, 0xb7, 0xb7 },
571 { 0x00, 0xb8, 0xb8 },
572 { 0x00, 0xb9, 0xa9 },
573 { 0x00, 0xba, 0xaa },
574 { 0x00, 0xbb, 0xab },
575 { 0x00, 0xbc, 0xac },
576 { 0x00, 0xbd, 0xbd },
577 { 0x00, 0xbe, 0xae },
578 { 0x00, 0xbf, 0xaf },
579 { 0x01, 0xe0, 0xc0 },
580 { 0x01, 0xe1, 0xc1 },
581 { 0x01, 0xe2, 0xc2 },
582 { 0x01, 0xe3, 0xc3 },
583 { 0x01, 0xe4, 0xc4 },
584 { 0x01, 0xe5, 0xc5 },
585 { 0x01, 0xe6, 0xc6 },
586 { 0x01, 0xe7, 0xc7 },
587 { 0x01, 0xe8, 0xc8 },
588 { 0x01, 0xe9, 0xc9 },
589 { 0x01, 0xea, 0xca },
590 { 0x01, 0xeb, 0xcb },
591 { 0x01, 0xec, 0xcc },
592 { 0x01, 0xed, 0xcd },
593 { 0x01, 0xee, 0xce },
594 { 0x01, 0xef, 0xcf },
595 { 0x01, 0xf0, 0xd0 },
596 { 0x01, 0xf1, 0xd1 },
597 { 0x01, 0xf2, 0xd2 },
598 { 0x01, 0xf3, 0xd3 },
599 { 0x01, 0xf4, 0xd4 },
600 { 0x01, 0xf5, 0xd5 },
601 { 0x01, 0xf6, 0xd6 },
602 { 0x00, 0xd7, 0xd7 },
603 { 0x01, 0xf8, 0xd8 },
604 { 0x01, 0xf9, 0xd9 },
605 { 0x01, 0xfa, 0xda },
606 { 0x01, 0xfb, 0xdb },
607 { 0x01, 0xfc, 0xdc },
608 { 0x01, 0xfd, 0xdd },
609 { 0x01, 0xfe, 0xde },
610 { 0x00, 0xdf, 0xdf },
611 { 0x00, 0xe0, 0xc0 },
612 { 0x00, 0xe1, 0xc1 },
613 { 0x00, 0xe2, 0xc2 },
614 { 0x00, 0xe3, 0xc3 },
615 { 0x00, 0xe4, 0xc4 },
616 { 0x00, 0xe5, 0xc5 },
617 { 0x00, 0xe6, 0xc6 },
618 { 0x00, 0xe7, 0xc7 },
619 { 0x00, 0xe8, 0xc8 },
620 { 0x00, 0xe9, 0xc9 },
621 { 0x00, 0xea, 0xca },
622 { 0x00, 0xeb, 0xcb },
623 { 0x00, 0xec, 0xcc },
624 { 0x00, 0xed, 0xcd },
625 { 0x00, 0xee, 0xce },
626 { 0x00, 0xef, 0xcf },
627 { 0x00, 0xf0, 0xd0 },
628 { 0x00, 0xf1, 0xd1 },
629 { 0x00, 0xf2, 0xd2 },
630 { 0x00, 0xf3, 0xd3 },
631 { 0x00, 0xf4, 0xd4 },
632 { 0x00, 0xf5, 0xd5 },
633 { 0x00, 0xf6, 0xd6 },
634 { 0x00, 0xf7, 0xf7 },
635 { 0x00, 0xf8, 0xd8 },
636 { 0x00, 0xf9, 0xd9 },
637 { 0x00, 0xfa, 0xda },
638 { 0x00, 0xfb, 0xdb },
639 { 0x00, 0xfc, 0xdc },
640 { 0x00, 0xfd, 0xdd },
641 { 0x00, 0xfe, 0xde },
642 { 0x00, 0xff, 0xff },
643 };
644 
645 
646 struct cs_info iso3_tbl[] = {
647 { 0x00, 0x00, 0x00 },
648 { 0x00, 0x01, 0x01 },
649 { 0x00, 0x02, 0x02 },
650 { 0x00, 0x03, 0x03 },
651 { 0x00, 0x04, 0x04 },
652 { 0x00, 0x05, 0x05 },
653 { 0x00, 0x06, 0x06 },
654 { 0x00, 0x07, 0x07 },
655 { 0x00, 0x08, 0x08 },
656 { 0x00, 0x09, 0x09 },
657 { 0x00, 0x0a, 0x0a },
658 { 0x00, 0x0b, 0x0b },
659 { 0x00, 0x0c, 0x0c },
660 { 0x00, 0x0d, 0x0d },
661 { 0x00, 0x0e, 0x0e },
662 { 0x00, 0x0f, 0x0f },
663 { 0x00, 0x10, 0x10 },
664 { 0x00, 0x11, 0x11 },
665 { 0x00, 0x12, 0x12 },
666 { 0x00, 0x13, 0x13 },
667 { 0x00, 0x14, 0x14 },
668 { 0x00, 0x15, 0x15 },
669 { 0x00, 0x16, 0x16 },
670 { 0x00, 0x17, 0x17 },
671 { 0x00, 0x18, 0x18 },
672 { 0x00, 0x19, 0x19 },
673 { 0x00, 0x1a, 0x1a },
674 { 0x00, 0x1b, 0x1b },
675 { 0x00, 0x1c, 0x1c },
676 { 0x00, 0x1d, 0x1d },
677 { 0x00, 0x1e, 0x1e },
678 { 0x00, 0x1f, 0x1f },
679 { 0x00, 0x20, 0x20 },
680 { 0x00, 0x21, 0x21 },
681 { 0x00, 0x22, 0x22 },
682 { 0x00, 0x23, 0x23 },
683 { 0x00, 0x24, 0x24 },
684 { 0x00, 0x25, 0x25 },
685 { 0x00, 0x26, 0x26 },
686 { 0x00, 0x27, 0x27 },
687 { 0x00, 0x28, 0x28 },
688 { 0x00, 0x29, 0x29 },
689 { 0x00, 0x2a, 0x2a },
690 { 0x00, 0x2b, 0x2b },
691 { 0x00, 0x2c, 0x2c },
692 { 0x00, 0x2d, 0x2d },
693 { 0x00, 0x2e, 0x2e },
694 { 0x00, 0x2f, 0x2f },
695 { 0x00, 0x30, 0x30 },
696 { 0x00, 0x31, 0x31 },
697 { 0x00, 0x32, 0x32 },
698 { 0x00, 0x33, 0x33 },
699 { 0x00, 0x34, 0x34 },
700 { 0x00, 0x35, 0x35 },
701 { 0x00, 0x36, 0x36 },
702 { 0x00, 0x37, 0x37 },
703 { 0x00, 0x38, 0x38 },
704 { 0x00, 0x39, 0x39 },
705 { 0x00, 0x3a, 0x3a },
706 { 0x00, 0x3b, 0x3b },
707 { 0x00, 0x3c, 0x3c },
708 { 0x00, 0x3d, 0x3d },
709 { 0x00, 0x3e, 0x3e },
710 { 0x00, 0x3f, 0x3f },
711 { 0x00, 0x40, 0x40 },
712 { 0x01, 0x61, 0x41 },
713 { 0x01, 0x62, 0x42 },
714 { 0x01, 0x63, 0x43 },
715 { 0x01, 0x64, 0x44 },
716 { 0x01, 0x65, 0x45 },
717 { 0x01, 0x66, 0x46 },
718 { 0x01, 0x67, 0x47 },
719 { 0x01, 0x68, 0x48 },
720 { 0x01, 0x69, 0x49 },
721 { 0x01, 0x6a, 0x4a },
722 { 0x01, 0x6b, 0x4b },
723 { 0x01, 0x6c, 0x4c },
724 { 0x01, 0x6d, 0x4d },
725 { 0x01, 0x6e, 0x4e },
726 { 0x01, 0x6f, 0x4f },
727 { 0x01, 0x70, 0x50 },
728 { 0x01, 0x71, 0x51 },
729 { 0x01, 0x72, 0x52 },
730 { 0x01, 0x73, 0x53 },
731 { 0x01, 0x74, 0x54 },
732 { 0x01, 0x75, 0x55 },
733 { 0x01, 0x76, 0x56 },
734 { 0x01, 0x77, 0x57 },
735 { 0x01, 0x78, 0x58 },
736 { 0x01, 0x79, 0x59 },
737 { 0x01, 0x7a, 0x5a },
738 { 0x00, 0x5b, 0x5b },
739 { 0x00, 0x5c, 0x5c },
740 { 0x00, 0x5d, 0x5d },
741 { 0x00, 0x5e, 0x5e },
742 { 0x00, 0x5f, 0x5f },
743 { 0x00, 0x60, 0x60 },
744 { 0x00, 0x61, 0x41 },
745 { 0x00, 0x62, 0x42 },
746 { 0x00, 0x63, 0x43 },
747 { 0x00, 0x64, 0x44 },
748 { 0x00, 0x65, 0x45 },
749 { 0x00, 0x66, 0x46 },
750 { 0x00, 0x67, 0x47 },
751 { 0x00, 0x68, 0x48 },
752 { 0x00, 0x69, 0x49 },
753 { 0x00, 0x6a, 0x4a },
754 { 0x00, 0x6b, 0x4b },
755 { 0x00, 0x6c, 0x4c },
756 { 0x00, 0x6d, 0x4d },
757 { 0x00, 0x6e, 0x4e },
758 { 0x00, 0x6f, 0x4f },
759 { 0x00, 0x70, 0x50 },
760 { 0x00, 0x71, 0x51 },
761 { 0x00, 0x72, 0x52 },
762 { 0x00, 0x73, 0x53 },
763 { 0x00, 0x74, 0x54 },
764 { 0x00, 0x75, 0x55 },
765 { 0x00, 0x76, 0x56 },
766 { 0x00, 0x77, 0x57 },
767 { 0x00, 0x78, 0x58 },
768 { 0x00, 0x79, 0x59 },
769 { 0x00, 0x7a, 0x5a },
770 { 0x00, 0x7b, 0x7b },
771 { 0x00, 0x7c, 0x7c },
772 { 0x00, 0x7d, 0x7d },
773 { 0x00, 0x7e, 0x7e },
774 { 0x00, 0x7f, 0x7f },
775 { 0x00, 0x80, 0x80 },
776 { 0x00, 0x81, 0x81 },
777 { 0x00, 0x82, 0x82 },
778 { 0x00, 0x83, 0x83 },
779 { 0x00, 0x84, 0x84 },
780 { 0x00, 0x85, 0x85 },
781 { 0x00, 0x86, 0x86 },
782 { 0x00, 0x87, 0x87 },
783 { 0x00, 0x88, 0x88 },
784 { 0x00, 0x89, 0x89 },
785 { 0x00, 0x8a, 0x8a },
786 { 0x00, 0x8b, 0x8b },
787 { 0x00, 0x8c, 0x8c },
788 { 0x00, 0x8d, 0x8d },
789 { 0x00, 0x8e, 0x8e },
790 { 0x00, 0x8f, 0x8f },
791 { 0x00, 0x90, 0x90 },
792 { 0x00, 0x91, 0x91 },
793 { 0x00, 0x92, 0x92 },
794 { 0x00, 0x93, 0x93 },
795 { 0x00, 0x94, 0x94 },
796 { 0x00, 0x95, 0x95 },
797 { 0x00, 0x96, 0x96 },
798 { 0x00, 0x97, 0x97 },
799 { 0x00, 0x98, 0x98 },
800 { 0x00, 0x99, 0x99 },
801 { 0x00, 0x9a, 0x9a },
802 { 0x00, 0x9b, 0x9b },
803 { 0x00, 0x9c, 0x9c },
804 { 0x00, 0x9d, 0x9d },
805 { 0x00, 0x9e, 0x9e },
806 { 0x00, 0x9f, 0x9f },
807 { 0x00, 0xa0, 0xa0 },
808 { 0x01, 0xb1, 0xa1 },
809 { 0x00, 0xa2, 0xa2 },
810 { 0x00, 0xa3, 0xa3 },
811 { 0x00, 0xa4, 0xa4 },
812 { 0x00, 0xa5, 0xa5 },
813 { 0x01, 0xb6, 0xa6 },
814 { 0x00, 0xa7, 0xa7 },
815 { 0x00, 0xa8, 0xa8 },
816 { 0x01, 0x69, 0xa9 },
817 { 0x01, 0xba, 0xaa },
818 { 0x01, 0xbb, 0xab },
819 { 0x01, 0xbc, 0xac },
820 { 0x00, 0xad, 0xad },
821 { 0x00, 0xae, 0xae },
822 { 0x01, 0xbf, 0xaf },
823 { 0x00, 0xb0, 0xb0 },
824 { 0x00, 0xb1, 0xa1 },
825 { 0x00, 0xb2, 0xb2 },
826 { 0x00, 0xb3, 0xb3 },
827 { 0x00, 0xb4, 0xb4 },
828 { 0x00, 0xb5, 0xb5 },
829 { 0x00, 0xb6, 0xa6 },
830 { 0x00, 0xb7, 0xb7 },
831 { 0x00, 0xb8, 0xb8 },
832 { 0x00, 0xb9, 0x49 },
833 { 0x00, 0xba, 0xaa },
834 { 0x00, 0xbb, 0xab },
835 { 0x00, 0xbc, 0xac },
836 { 0x00, 0xbd, 0xbd },
837 { 0x00, 0xbe, 0xbe },
838 { 0x00, 0xbf, 0xaf },
839 { 0x01, 0xe0, 0xc0 },
840 { 0x01, 0xe1, 0xc1 },
841 { 0x01, 0xe2, 0xc2 },
842 { 0x00, 0xc3, 0xc3 },
843 { 0x01, 0xe4, 0xc4 },
844 { 0x01, 0xe5, 0xc5 },
845 { 0x01, 0xe6, 0xc6 },
846 { 0x01, 0xe7, 0xc7 },
847 { 0x01, 0xe8, 0xc8 },
848 { 0x01, 0xe9, 0xc9 },
849 { 0x01, 0xea, 0xca },
850 { 0x01, 0xeb, 0xcb },
851 { 0x01, 0xec, 0xcc },
852 { 0x01, 0xed, 0xcd },
853 { 0x01, 0xee, 0xce },
854 { 0x01, 0xef, 0xcf },
855 { 0x00, 0xd0, 0xd0 },
856 { 0x01, 0xf1, 0xd1 },
857 { 0x01, 0xf2, 0xd2 },
858 { 0x01, 0xf3, 0xd3 },
859 { 0x01, 0xf4, 0xd4 },
860 { 0x01, 0xf5, 0xd5 },
861 { 0x01, 0xf6, 0xd6 },
862 { 0x00, 0xd7, 0xd7 },
863 { 0x01, 0xf8, 0xd8 },
864 { 0x01, 0xf9, 0xd9 },
865 { 0x01, 0xfa, 0xda },
866 { 0x01, 0xfb, 0xdb },
867 { 0x01, 0xfc, 0xdc },
868 { 0x01, 0xfd, 0xdd },
869 { 0x01, 0xfe, 0xde },
870 { 0x00, 0xdf, 0xdf },
871 { 0x00, 0xe0, 0xc0 },
872 { 0x00, 0xe1, 0xc1 },
873 { 0x00, 0xe2, 0xc2 },
874 { 0x00, 0xe3, 0xe3 },
875 { 0x00, 0xe4, 0xc4 },
876 { 0x00, 0xe5, 0xc5 },
877 { 0x00, 0xe6, 0xc6 },
878 { 0x00, 0xe7, 0xc7 },
879 { 0x00, 0xe8, 0xc8 },
880 { 0x00, 0xe9, 0xc9 },
881 { 0x00, 0xea, 0xca },
882 { 0x00, 0xeb, 0xcb },
883 { 0x00, 0xec, 0xcc },
884 { 0x00, 0xed, 0xcd },
885 { 0x00, 0xee, 0xce },
886 { 0x00, 0xef, 0xcf },
887 { 0x00, 0xf0, 0xf0 },
888 { 0x00, 0xf1, 0xd1 },
889 { 0x00, 0xf2, 0xd2 },
890 { 0x00, 0xf3, 0xd3 },
891 { 0x00, 0xf4, 0xd4 },
892 { 0x00, 0xf5, 0xd5 },
893 { 0x00, 0xf6, 0xd6 },
894 { 0x00, 0xf7, 0xf7 },
895 { 0x00, 0xf8, 0xd8 },
896 { 0x00, 0xf9, 0xd9 },
897 { 0x00, 0xfa, 0xda },
898 { 0x00, 0xfb, 0xdb },
899 { 0x00, 0xfc, 0xdc },
900 { 0x00, 0xfd, 0xdd },
901 { 0x00, 0xfe, 0xde },
902 { 0x00, 0xff, 0xff },
903 };
904 
905 struct cs_info iso4_tbl[] = {
906 { 0x00, 0x00, 0x00 },
907 { 0x00, 0x01, 0x01 },
908 { 0x00, 0x02, 0x02 },
909 { 0x00, 0x03, 0x03 },
910 { 0x00, 0x04, 0x04 },
911 { 0x00, 0x05, 0x05 },
912 { 0x00, 0x06, 0x06 },
913 { 0x00, 0x07, 0x07 },
914 { 0x00, 0x08, 0x08 },
915 { 0x00, 0x09, 0x09 },
916 { 0x00, 0x0a, 0x0a },
917 { 0x00, 0x0b, 0x0b },
918 { 0x00, 0x0c, 0x0c },
919 { 0x00, 0x0d, 0x0d },
920 { 0x00, 0x0e, 0x0e },
921 { 0x00, 0x0f, 0x0f },
922 { 0x00, 0x10, 0x10 },
923 { 0x00, 0x11, 0x11 },
924 { 0x00, 0x12, 0x12 },
925 { 0x00, 0x13, 0x13 },
926 { 0x00, 0x14, 0x14 },
927 { 0x00, 0x15, 0x15 },
928 { 0x00, 0x16, 0x16 },
929 { 0x00, 0x17, 0x17 },
930 { 0x00, 0x18, 0x18 },
931 { 0x00, 0x19, 0x19 },
932 { 0x00, 0x1a, 0x1a },
933 { 0x00, 0x1b, 0x1b },
934 { 0x00, 0x1c, 0x1c },
935 { 0x00, 0x1d, 0x1d },
936 { 0x00, 0x1e, 0x1e },
937 { 0x00, 0x1f, 0x1f },
938 { 0x00, 0x20, 0x20 },
939 { 0x00, 0x21, 0x21 },
940 { 0x00, 0x22, 0x22 },
941 { 0x00, 0x23, 0x23 },
942 { 0x00, 0x24, 0x24 },
943 { 0x00, 0x25, 0x25 },
944 { 0x00, 0x26, 0x26 },
945 { 0x00, 0x27, 0x27 },
946 { 0x00, 0x28, 0x28 },
947 { 0x00, 0x29, 0x29 },
948 { 0x00, 0x2a, 0x2a },
949 { 0x00, 0x2b, 0x2b },
950 { 0x00, 0x2c, 0x2c },
951 { 0x00, 0x2d, 0x2d },
952 { 0x00, 0x2e, 0x2e },
953 { 0x00, 0x2f, 0x2f },
954 { 0x00, 0x30, 0x30 },
955 { 0x00, 0x31, 0x31 },
956 { 0x00, 0x32, 0x32 },
957 { 0x00, 0x33, 0x33 },
958 { 0x00, 0x34, 0x34 },
959 { 0x00, 0x35, 0x35 },
960 { 0x00, 0x36, 0x36 },
961 { 0x00, 0x37, 0x37 },
962 { 0x00, 0x38, 0x38 },
963 { 0x00, 0x39, 0x39 },
964 { 0x00, 0x3a, 0x3a },
965 { 0x00, 0x3b, 0x3b },
966 { 0x00, 0x3c, 0x3c },
967 { 0x00, 0x3d, 0x3d },
968 { 0x00, 0x3e, 0x3e },
969 { 0x00, 0x3f, 0x3f },
970 { 0x00, 0x40, 0x40 },
971 { 0x01, 0x61, 0x41 },
972 { 0x01, 0x62, 0x42 },
973 { 0x01, 0x63, 0x43 },
974 { 0x01, 0x64, 0x44 },
975 { 0x01, 0x65, 0x45 },
976 { 0x01, 0x66, 0x46 },
977 { 0x01, 0x67, 0x47 },
978 { 0x01, 0x68, 0x48 },
979 { 0x01, 0x69, 0x49 },
980 { 0x01, 0x6a, 0x4a },
981 { 0x01, 0x6b, 0x4b },
982 { 0x01, 0x6c, 0x4c },
983 { 0x01, 0x6d, 0x4d },
984 { 0x01, 0x6e, 0x4e },
985 { 0x01, 0x6f, 0x4f },
986 { 0x01, 0x70, 0x50 },
987 { 0x01, 0x71, 0x51 },
988 { 0x01, 0x72, 0x52 },
989 { 0x01, 0x73, 0x53 },
990 { 0x01, 0x74, 0x54 },
991 { 0x01, 0x75, 0x55 },
992 { 0x01, 0x76, 0x56 },
993 { 0x01, 0x77, 0x57 },
994 { 0x01, 0x78, 0x58 },
995 { 0x01, 0x79, 0x59 },
996 { 0x01, 0x7a, 0x5a },
997 { 0x00, 0x5b, 0x5b },
998 { 0x00, 0x5c, 0x5c },
999 { 0x00, 0x5d, 0x5d },
1000 { 0x00, 0x5e, 0x5e },
1001 { 0x00, 0x5f, 0x5f },
1002 { 0x00, 0x60, 0x60 },
1003 { 0x00, 0x61, 0x41 },
1004 { 0x00, 0x62, 0x42 },
1005 { 0x00, 0x63, 0x43 },
1006 { 0x00, 0x64, 0x44 },
1007 { 0x00, 0x65, 0x45 },
1008 { 0x00, 0x66, 0x46 },
1009 { 0x00, 0x67, 0x47 },
1010 { 0x00, 0x68, 0x48 },
1011 { 0x00, 0x69, 0x49 },
1012 { 0x00, 0x6a, 0x4a },
1013 { 0x00, 0x6b, 0x4b },
1014 { 0x00, 0x6c, 0x4c },
1015 { 0x00, 0x6d, 0x4d },
1016 { 0x00, 0x6e, 0x4e },
1017 { 0x00, 0x6f, 0x4f },
1018 { 0x00, 0x70, 0x50 },
1019 { 0x00, 0x71, 0x51 },
1020 { 0x00, 0x72, 0x52 },
1021 { 0x00, 0x73, 0x53 },
1022 { 0x00, 0x74, 0x54 },
1023 { 0x00, 0x75, 0x55 },
1024 { 0x00, 0x76, 0x56 },
1025 { 0x00, 0x77, 0x57 },
1026 { 0x00, 0x78, 0x58 },
1027 { 0x00, 0x79, 0x59 },
1028 { 0x00, 0x7a, 0x5a },
1029 { 0x00, 0x7b, 0x7b },
1030 { 0x00, 0x7c, 0x7c },
1031 { 0x00, 0x7d, 0x7d },
1032 { 0x00, 0x7e, 0x7e },
1033 { 0x00, 0x7f, 0x7f },
1034 { 0x00, 0x80, 0x80 },
1035 { 0x00, 0x81, 0x81 },
1036 { 0x00, 0x82, 0x82 },
1037 { 0x00, 0x83, 0x83 },
1038 { 0x00, 0x84, 0x84 },
1039 { 0x00, 0x85, 0x85 },
1040 { 0x00, 0x86, 0x86 },
1041 { 0x00, 0x87, 0x87 },
1042 { 0x00, 0x88, 0x88 },
1043 { 0x00, 0x89, 0x89 },
1044 { 0x00, 0x8a, 0x8a },
1045 { 0x00, 0x8b, 0x8b },
1046 { 0x00, 0x8c, 0x8c },
1047 { 0x00, 0x8d, 0x8d },
1048 { 0x00, 0x8e, 0x8e },
1049 { 0x00, 0x8f, 0x8f },
1050 { 0x00, 0x90, 0x90 },
1051 { 0x00, 0x91, 0x91 },
1052 { 0x00, 0x92, 0x92 },
1053 { 0x00, 0x93, 0x93 },
1054 { 0x00, 0x94, 0x94 },
1055 { 0x00, 0x95, 0x95 },
1056 { 0x00, 0x96, 0x96 },
1057 { 0x00, 0x97, 0x97 },
1058 { 0x00, 0x98, 0x98 },
1059 { 0x00, 0x99, 0x99 },
1060 { 0x00, 0x9a, 0x9a },
1061 { 0x00, 0x9b, 0x9b },
1062 { 0x00, 0x9c, 0x9c },
1063 { 0x00, 0x9d, 0x9d },
1064 { 0x00, 0x9e, 0x9e },
1065 { 0x00, 0x9f, 0x9f },
1066 { 0x00, 0xa0, 0xa0 },
1067 { 0x01, 0xb1, 0xa1 },
1068 { 0x00, 0xa2, 0xa2 },
1069 { 0x01, 0xb3, 0xa3 },
1070 { 0x00, 0xa4, 0xa4 },
1071 { 0x01, 0xb5, 0xa5 },
1072 { 0x01, 0xb6, 0xa6 },
1073 { 0x00, 0xa7, 0xa7 },
1074 { 0x00, 0xa8, 0xa8 },
1075 { 0x01, 0xb9, 0xa9 },
1076 { 0x01, 0xba, 0xaa },
1077 { 0x01, 0xbb, 0xab },
1078 { 0x01, 0xbc, 0xac },
1079 { 0x00, 0xad, 0xad },
1080 { 0x01, 0xbe, 0xae },
1081 { 0x00, 0xaf, 0xaf },
1082 { 0x00, 0xb0, 0xb0 },
1083 { 0x00, 0xb1, 0xa1 },
1084 { 0x00, 0xb2, 0xb2 },
1085 { 0x00, 0xb3, 0xa3 },
1086 { 0x00, 0xb4, 0xb4 },
1087 { 0x00, 0xb5, 0xa5 },
1088 { 0x00, 0xb6, 0xa6 },
1089 { 0x00, 0xb7, 0xb7 },
1090 { 0x00, 0xb8, 0xb8 },
1091 { 0x00, 0xb9, 0xa9 },
1092 { 0x00, 0xba, 0xaa },
1093 { 0x00, 0xbb, 0xab },
1094 { 0x00, 0xbc, 0xac },
1095 { 0x00, 0xbd, 0xbd },
1096 { 0x00, 0xbe, 0xae },
1097 { 0x00, 0xbf, 0xbf },
1098 { 0x01, 0xe0, 0xc0 },
1099 { 0x01, 0xe1, 0xc1 },
1100 { 0x01, 0xe2, 0xc2 },
1101 { 0x01, 0xe3, 0xc3 },
1102 { 0x01, 0xe4, 0xc4 },
1103 { 0x01, 0xe5, 0xc5 },
1104 { 0x01, 0xe6, 0xc6 },
1105 { 0x01, 0xe7, 0xc7 },
1106 { 0x01, 0xe8, 0xc8 },
1107 { 0x01, 0xe9, 0xc9 },
1108 { 0x01, 0xea, 0xca },
1109 { 0x01, 0xeb, 0xcb },
1110 { 0x01, 0xec, 0xcc },
1111 { 0x01, 0xed, 0xcd },
1112 { 0x01, 0xee, 0xce },
1113 { 0x01, 0xef, 0xcf },
1114 { 0x01, 0xf0, 0xd0 },
1115 { 0x01, 0xf1, 0xd1 },
1116 { 0x01, 0xf2, 0xd2 },
1117 { 0x01, 0xf3, 0xd3 },
1118 { 0x01, 0xf4, 0xd4 },
1119 { 0x01, 0xf5, 0xd5 },
1120 { 0x01, 0xf6, 0xd6 },
1121 { 0x00, 0xd7, 0xd7 },
1122 { 0x01, 0xf8, 0xd8 },
1123 { 0x01, 0xf9, 0xd9 },
1124 { 0x01, 0xfa, 0xda },
1125 { 0x01, 0xfb, 0xdb },
1126 { 0x01, 0xfc, 0xdc },
1127 { 0x01, 0xfd, 0xdd },
1128 { 0x01, 0xfe, 0xde },
1129 { 0x00, 0xdf, 0xdf },
1130 { 0x00, 0xe0, 0xc0 },
1131 { 0x00, 0xe1, 0xc1 },
1132 { 0x00, 0xe2, 0xc2 },
1133 { 0x00, 0xe3, 0xc3 },
1134 { 0x00, 0xe4, 0xc4 },
1135 { 0x00, 0xe5, 0xc5 },
1136 { 0x00, 0xe6, 0xc6 },
1137 { 0x00, 0xe7, 0xc7 },
1138 { 0x00, 0xe8, 0xc8 },
1139 { 0x00, 0xe9, 0xc9 },
1140 { 0x00, 0xea, 0xca },
1141 { 0x00, 0xeb, 0xcb },
1142 { 0x00, 0xec, 0xcc },
1143 { 0x00, 0xed, 0xcd },
1144 { 0x00, 0xee, 0xce },
1145 { 0x00, 0xef, 0xcf },
1146 { 0x00, 0xf0, 0xd0 },
1147 { 0x00, 0xf1, 0xd1 },
1148 { 0x00, 0xf2, 0xd2 },
1149 { 0x00, 0xf3, 0xd3 },
1150 { 0x00, 0xf4, 0xd4 },
1151 { 0x00, 0xf5, 0xd5 },
1152 { 0x00, 0xf6, 0xd6 },
1153 { 0x00, 0xf7, 0xf7 },
1154 { 0x00, 0xf8, 0xd8 },
1155 { 0x00, 0xf9, 0xd9 },
1156 { 0x00, 0xfa, 0xda },
1157 { 0x00, 0xfb, 0xdb },
1158 { 0x00, 0xfc, 0xdc },
1159 { 0x00, 0xfd, 0xdd },
1160 { 0x00, 0xfe, 0xde },
1161 { 0x00, 0xff, 0xff },
1162 };
1163 
1164 struct cs_info iso5_tbl[] = {
1165 { 0x00, 0x00, 0x00 },
1166 { 0x00, 0x01, 0x01 },
1167 { 0x00, 0x02, 0x02 },
1168 { 0x00, 0x03, 0x03 },
1169 { 0x00, 0x04, 0x04 },
1170 { 0x00, 0x05, 0x05 },
1171 { 0x00, 0x06, 0x06 },
1172 { 0x00, 0x07, 0x07 },
1173 { 0x00, 0x08, 0x08 },
1174 { 0x00, 0x09, 0x09 },
1175 { 0x00, 0x0a, 0x0a },
1176 { 0x00, 0x0b, 0x0b },
1177 { 0x00, 0x0c, 0x0c },
1178 { 0x00, 0x0d, 0x0d },
1179 { 0x00, 0x0e, 0x0e },
1180 { 0x00, 0x0f, 0x0f },
1181 { 0x00, 0x10, 0x10 },
1182 { 0x00, 0x11, 0x11 },
1183 { 0x00, 0x12, 0x12 },
1184 { 0x00, 0x13, 0x13 },
1185 { 0x00, 0x14, 0x14 },
1186 { 0x00, 0x15, 0x15 },
1187 { 0x00, 0x16, 0x16 },
1188 { 0x00, 0x17, 0x17 },
1189 { 0x00, 0x18, 0x18 },
1190 { 0x00, 0x19, 0x19 },
1191 { 0x00, 0x1a, 0x1a },
1192 { 0x00, 0x1b, 0x1b },
1193 { 0x00, 0x1c, 0x1c },
1194 { 0x00, 0x1d, 0x1d },
1195 { 0x00, 0x1e, 0x1e },
1196 { 0x00, 0x1f, 0x1f },
1197 { 0x00, 0x20, 0x20 },
1198 { 0x00, 0x21, 0x21 },
1199 { 0x00, 0x22, 0x22 },
1200 { 0x00, 0x23, 0x23 },
1201 { 0x00, 0x24, 0x24 },
1202 { 0x00, 0x25, 0x25 },
1203 { 0x00, 0x26, 0x26 },
1204 { 0x00, 0x27, 0x27 },
1205 { 0x00, 0x28, 0x28 },
1206 { 0x00, 0x29, 0x29 },
1207 { 0x00, 0x2a, 0x2a },
1208 { 0x00, 0x2b, 0x2b },
1209 { 0x00, 0x2c, 0x2c },
1210 { 0x00, 0x2d, 0x2d },
1211 { 0x00, 0x2e, 0x2e },
1212 { 0x00, 0x2f, 0x2f },
1213 { 0x00, 0x30, 0x30 },
1214 { 0x00, 0x31, 0x31 },
1215 { 0x00, 0x32, 0x32 },
1216 { 0x00, 0x33, 0x33 },
1217 { 0x00, 0x34, 0x34 },
1218 { 0x00, 0x35, 0x35 },
1219 { 0x00, 0x36, 0x36 },
1220 { 0x00, 0x37, 0x37 },
1221 { 0x00, 0x38, 0x38 },
1222 { 0x00, 0x39, 0x39 },
1223 { 0x00, 0x3a, 0x3a },
1224 { 0x00, 0x3b, 0x3b },
1225 { 0x00, 0x3c, 0x3c },
1226 { 0x00, 0x3d, 0x3d },
1227 { 0x00, 0x3e, 0x3e },
1228 { 0x00, 0x3f, 0x3f },
1229 { 0x00, 0x40, 0x40 },
1230 { 0x01, 0x61, 0x41 },
1231 { 0x01, 0x62, 0x42 },
1232 { 0x01, 0x63, 0x43 },
1233 { 0x01, 0x64, 0x44 },
1234 { 0x01, 0x65, 0x45 },
1235 { 0x01, 0x66, 0x46 },
1236 { 0x01, 0x67, 0x47 },
1237 { 0x01, 0x68, 0x48 },
1238 { 0x01, 0x69, 0x49 },
1239 { 0x01, 0x6a, 0x4a },
1240 { 0x01, 0x6b, 0x4b },
1241 { 0x01, 0x6c, 0x4c },
1242 { 0x01, 0x6d, 0x4d },
1243 { 0x01, 0x6e, 0x4e },
1244 { 0x01, 0x6f, 0x4f },
1245 { 0x01, 0x70, 0x50 },
1246 { 0x01, 0x71, 0x51 },
1247 { 0x01, 0x72, 0x52 },
1248 { 0x01, 0x73, 0x53 },
1249 { 0x01, 0x74, 0x54 },
1250 { 0x01, 0x75, 0x55 },
1251 { 0x01, 0x76, 0x56 },
1252 { 0x01, 0x77, 0x57 },
1253 { 0x01, 0x78, 0x58 },
1254 { 0x01, 0x79, 0x59 },
1255 { 0x01, 0x7a, 0x5a },
1256 { 0x00, 0x5b, 0x5b },
1257 { 0x00, 0x5c, 0x5c },
1258 { 0x00, 0x5d, 0x5d },
1259 { 0x00, 0x5e, 0x5e },
1260 { 0x00, 0x5f, 0x5f },
1261 { 0x00, 0x60, 0x60 },
1262 { 0x00, 0x61, 0x41 },
1263 { 0x00, 0x62, 0x42 },
1264 { 0x00, 0x63, 0x43 },
1265 { 0x00, 0x64, 0x44 },
1266 { 0x00, 0x65, 0x45 },
1267 { 0x00, 0x66, 0x46 },
1268 { 0x00, 0x67, 0x47 },
1269 { 0x00, 0x68, 0x48 },
1270 { 0x00, 0x69, 0x49 },
1271 { 0x00, 0x6a, 0x4a },
1272 { 0x00, 0x6b, 0x4b },
1273 { 0x00, 0x6c, 0x4c },
1274 { 0x00, 0x6d, 0x4d },
1275 { 0x00, 0x6e, 0x4e },
1276 { 0x00, 0x6f, 0x4f },
1277 { 0x00, 0x70, 0x50 },
1278 { 0x00, 0x71, 0x51 },
1279 { 0x00, 0x72, 0x52 },
1280 { 0x00, 0x73, 0x53 },
1281 { 0x00, 0x74, 0x54 },
1282 { 0x00, 0x75, 0x55 },
1283 { 0x00, 0x76, 0x56 },
1284 { 0x00, 0x77, 0x57 },
1285 { 0x00, 0x78, 0x58 },
1286 { 0x00, 0x79, 0x59 },
1287 { 0x00, 0x7a, 0x5a },
1288 { 0x00, 0x7b, 0x7b },
1289 { 0x00, 0x7c, 0x7c },
1290 { 0x00, 0x7d, 0x7d },
1291 { 0x00, 0x7e, 0x7e },
1292 { 0x00, 0x7f, 0x7f },
1293 { 0x00, 0x80, 0x80 },
1294 { 0x00, 0x81, 0x81 },
1295 { 0x00, 0x82, 0x82 },
1296 { 0x00, 0x83, 0x83 },
1297 { 0x00, 0x84, 0x84 },
1298 { 0x00, 0x85, 0x85 },
1299 { 0x00, 0x86, 0x86 },
1300 { 0x00, 0x87, 0x87 },
1301 { 0x00, 0x88, 0x88 },
1302 { 0x00, 0x89, 0x89 },
1303 { 0x00, 0x8a, 0x8a },
1304 { 0x00, 0x8b, 0x8b },
1305 { 0x00, 0x8c, 0x8c },
1306 { 0x00, 0x8d, 0x8d },
1307 { 0x00, 0x8e, 0x8e },
1308 { 0x00, 0x8f, 0x8f },
1309 { 0x00, 0x90, 0x90 },
1310 { 0x00, 0x91, 0x91 },
1311 { 0x00, 0x92, 0x92 },
1312 { 0x00, 0x93, 0x93 },
1313 { 0x00, 0x94, 0x94 },
1314 { 0x00, 0x95, 0x95 },
1315 { 0x00, 0x96, 0x96 },
1316 { 0x00, 0x97, 0x97 },
1317 { 0x00, 0x98, 0x98 },
1318 { 0x00, 0x99, 0x99 },
1319 { 0x00, 0x9a, 0x9a },
1320 { 0x00, 0x9b, 0x9b },
1321 { 0x00, 0x9c, 0x9c },
1322 { 0x00, 0x9d, 0x9d },
1323 { 0x00, 0x9e, 0x9e },
1324 { 0x00, 0x9f, 0x9f },
1325 { 0x00, 0xa0, 0xa0 },
1326 { 0x01, 0xf1, 0xa1 },
1327 { 0x01, 0xf2, 0xa2 },
1328 { 0x01, 0xf3, 0xa3 },
1329 { 0x01, 0xf4, 0xa4 },
1330 { 0x01, 0xf5, 0xa5 },
1331 { 0x01, 0xf6, 0xa6 },
1332 { 0x01, 0xf7, 0xa7 },
1333 { 0x01, 0xf8, 0xa8 },
1334 { 0x01, 0xf9, 0xa9 },
1335 { 0x01, 0xfa, 0xaa },
1336 { 0x01, 0xfb, 0xab },
1337 { 0x01, 0xfc, 0xac },
1338 { 0x00, 0xad, 0xad },
1339 { 0x01, 0xfe, 0xae },
1340 { 0x01, 0xff, 0xaf },
1341 { 0x01, 0xd0, 0xb0 },
1342 { 0x01, 0xd1, 0xb1 },
1343 { 0x01, 0xd2, 0xb2 },
1344 { 0x01, 0xd3, 0xb3 },
1345 { 0x01, 0xd4, 0xb4 },
1346 { 0x01, 0xd5, 0xb5 },
1347 { 0x01, 0xd6, 0xb6 },
1348 { 0x01, 0xd7, 0xb7 },
1349 { 0x01, 0xd8, 0xb8 },
1350 { 0x01, 0xd9, 0xb9 },
1351 { 0x01, 0xda, 0xba },
1352 { 0x01, 0xdb, 0xbb },
1353 { 0x01, 0xdc, 0xbc },
1354 { 0x01, 0xdd, 0xbd },
1355 { 0x01, 0xde, 0xbe },
1356 { 0x01, 0xdf, 0xbf },
1357 { 0x01, 0xe0, 0xc0 },
1358 { 0x01, 0xe1, 0xc1 },
1359 { 0x01, 0xe2, 0xc2 },
1360 { 0x01, 0xe3, 0xc3 },
1361 { 0x01, 0xe4, 0xc4 },
1362 { 0x01, 0xe5, 0xc5 },
1363 { 0x01, 0xe6, 0xc6 },
1364 { 0x01, 0xe7, 0xc7 },
1365 { 0x01, 0xe8, 0xc8 },
1366 { 0x01, 0xe9, 0xc9 },
1367 { 0x01, 0xea, 0xca },
1368 { 0x01, 0xeb, 0xcb },
1369 { 0x01, 0xec, 0xcc },
1370 { 0x01, 0xed, 0xcd },
1371 { 0x01, 0xee, 0xce },
1372 { 0x01, 0xef, 0xcf },
1373 { 0x00, 0xd0, 0xb0 },
1374 { 0x00, 0xd1, 0xb1 },
1375 { 0x00, 0xd2, 0xb2 },
1376 { 0x00, 0xd3, 0xb3 },
1377 { 0x00, 0xd4, 0xb4 },
1378 { 0x00, 0xd5, 0xb5 },
1379 { 0x00, 0xd6, 0xb6 },
1380 { 0x00, 0xd7, 0xb7 },
1381 { 0x00, 0xd8, 0xb8 },
1382 { 0x00, 0xd9, 0xb9 },
1383 { 0x00, 0xda, 0xba },
1384 { 0x00, 0xdb, 0xbb },
1385 { 0x00, 0xdc, 0xbc },
1386 { 0x00, 0xdd, 0xbd },
1387 { 0x00, 0xde, 0xbe },
1388 { 0x00, 0xdf, 0xbf },
1389 { 0x00, 0xe0, 0xc0 },
1390 { 0x00, 0xe1, 0xc1 },
1391 { 0x00, 0xe2, 0xc2 },
1392 { 0x00, 0xe3, 0xc3 },
1393 { 0x00, 0xe4, 0xc4 },
1394 { 0x00, 0xe5, 0xc5 },
1395 { 0x00, 0xe6, 0xc6 },
1396 { 0x00, 0xe7, 0xc7 },
1397 { 0x00, 0xe8, 0xc8 },
1398 { 0x00, 0xe9, 0xc9 },
1399 { 0x00, 0xea, 0xca },
1400 { 0x00, 0xeb, 0xcb },
1401 { 0x00, 0xec, 0xcc },
1402 { 0x00, 0xed, 0xcd },
1403 { 0x00, 0xee, 0xce },
1404 { 0x00, 0xef, 0xcf },
1405 { 0x00, 0xf0, 0xf0 },
1406 { 0x00, 0xf1, 0xa1 },
1407 { 0x00, 0xf2, 0xa2 },
1408 { 0x00, 0xf3, 0xa3 },
1409 { 0x00, 0xf4, 0xa4 },
1410 { 0x00, 0xf5, 0xa5 },
1411 { 0x00, 0xf6, 0xa6 },
1412 { 0x00, 0xf7, 0xa7 },
1413 { 0x00, 0xf8, 0xa8 },
1414 { 0x00, 0xf9, 0xa9 },
1415 { 0x00, 0xfa, 0xaa },
1416 { 0x00, 0xfb, 0xab },
1417 { 0x00, 0xfc, 0xac },
1418 { 0x00, 0xfd, 0xfd },
1419 { 0x00, 0xfe, 0xae },
1420 { 0x00, 0xff, 0xaf },
1421 };
1422 
1423 struct cs_info iso6_tbl[] = {
1424 { 0x00, 0x00, 0x00 },
1425 { 0x00, 0x01, 0x01 },
1426 { 0x00, 0x02, 0x02 },
1427 { 0x00, 0x03, 0x03 },
1428 { 0x00, 0x04, 0x04 },
1429 { 0x00, 0x05, 0x05 },
1430 { 0x00, 0x06, 0x06 },
1431 { 0x00, 0x07, 0x07 },
1432 { 0x00, 0x08, 0x08 },
1433 { 0x00, 0x09, 0x09 },
1434 { 0x00, 0x0a, 0x0a },
1435 { 0x00, 0x0b, 0x0b },
1436 { 0x00, 0x0c, 0x0c },
1437 { 0x00, 0x0d, 0x0d },
1438 { 0x00, 0x0e, 0x0e },
1439 { 0x00, 0x0f, 0x0f },
1440 { 0x00, 0x10, 0x10 },
1441 { 0x00, 0x11, 0x11 },
1442 { 0x00, 0x12, 0x12 },
1443 { 0x00, 0x13, 0x13 },
1444 { 0x00, 0x14, 0x14 },
1445 { 0x00, 0x15, 0x15 },
1446 { 0x00, 0x16, 0x16 },
1447 { 0x00, 0x17, 0x17 },
1448 { 0x00, 0x18, 0x18 },
1449 { 0x00, 0x19, 0x19 },
1450 { 0x00, 0x1a, 0x1a },
1451 { 0x00, 0x1b, 0x1b },
1452 { 0x00, 0x1c, 0x1c },
1453 { 0x00, 0x1d, 0x1d },
1454 { 0x00, 0x1e, 0x1e },
1455 { 0x00, 0x1f, 0x1f },
1456 { 0x00, 0x20, 0x20 },
1457 { 0x00, 0x21, 0x21 },
1458 { 0x00, 0x22, 0x22 },
1459 { 0x00, 0x23, 0x23 },
1460 { 0x00, 0x24, 0x24 },
1461 { 0x00, 0x25, 0x25 },
1462 { 0x00, 0x26, 0x26 },
1463 { 0x00, 0x27, 0x27 },
1464 { 0x00, 0x28, 0x28 },
1465 { 0x00, 0x29, 0x29 },
1466 { 0x00, 0x2a, 0x2a },
1467 { 0x00, 0x2b, 0x2b },
1468 { 0x00, 0x2c, 0x2c },
1469 { 0x00, 0x2d, 0x2d },
1470 { 0x00, 0x2e, 0x2e },
1471 { 0x00, 0x2f, 0x2f },
1472 { 0x00, 0x30, 0x30 },
1473 { 0x00, 0x31, 0x31 },
1474 { 0x00, 0x32, 0x32 },
1475 { 0x00, 0x33, 0x33 },
1476 { 0x00, 0x34, 0x34 },
1477 { 0x00, 0x35, 0x35 },
1478 { 0x00, 0x36, 0x36 },
1479 { 0x00, 0x37, 0x37 },
1480 { 0x00, 0x38, 0x38 },
1481 { 0x00, 0x39, 0x39 },
1482 { 0x00, 0x3a, 0x3a },
1483 { 0x00, 0x3b, 0x3b },
1484 { 0x00, 0x3c, 0x3c },
1485 { 0x00, 0x3d, 0x3d },
1486 { 0x00, 0x3e, 0x3e },
1487 { 0x00, 0x3f, 0x3f },
1488 { 0x00, 0x40, 0x40 },
1489 { 0x01, 0x61, 0x41 },
1490 { 0x01, 0x62, 0x42 },
1491 { 0x01, 0x63, 0x43 },
1492 { 0x01, 0x64, 0x44 },
1493 { 0x01, 0x65, 0x45 },
1494 { 0x01, 0x66, 0x46 },
1495 { 0x01, 0x67, 0x47 },
1496 { 0x01, 0x68, 0x48 },
1497 { 0x01, 0x69, 0x49 },
1498 { 0x01, 0x6a, 0x4a },
1499 { 0x01, 0x6b, 0x4b },
1500 { 0x01, 0x6c, 0x4c },
1501 { 0x01, 0x6d, 0x4d },
1502 { 0x01, 0x6e, 0x4e },
1503 { 0x01, 0x6f, 0x4f },
1504 { 0x01, 0x70, 0x50 },
1505 { 0x01, 0x71, 0x51 },
1506 { 0x01, 0x72, 0x52 },
1507 { 0x01, 0x73, 0x53 },
1508 { 0x01, 0x74, 0x54 },
1509 { 0x01, 0x75, 0x55 },
1510 { 0x01, 0x76, 0x56 },
1511 { 0x01, 0x77, 0x57 },
1512 { 0x01, 0x78, 0x58 },
1513 { 0x01, 0x79, 0x59 },
1514 { 0x01, 0x7a, 0x5a },
1515 { 0x00, 0x5b, 0x5b },
1516 { 0x00, 0x5c, 0x5c },
1517 { 0x00, 0x5d, 0x5d },
1518 { 0x00, 0x5e, 0x5e },
1519 { 0x00, 0x5f, 0x5f },
1520 { 0x00, 0x60, 0x60 },
1521 { 0x00, 0x61, 0x41 },
1522 { 0x00, 0x62, 0x42 },
1523 { 0x00, 0x63, 0x43 },
1524 { 0x00, 0x64, 0x44 },
1525 { 0x00, 0x65, 0x45 },
1526 { 0x00, 0x66, 0x46 },
1527 { 0x00, 0x67, 0x47 },
1528 { 0x00, 0x68, 0x48 },
1529 { 0x00, 0x69, 0x49 },
1530 { 0x00, 0x6a, 0x4a },
1531 { 0x00, 0x6b, 0x4b },
1532 { 0x00, 0x6c, 0x4c },
1533 { 0x00, 0x6d, 0x4d },
1534 { 0x00, 0x6e, 0x4e },
1535 { 0x00, 0x6f, 0x4f },
1536 { 0x00, 0x70, 0x50 },
1537 { 0x00, 0x71, 0x51 },
1538 { 0x00, 0x72, 0x52 },
1539 { 0x00, 0x73, 0x53 },
1540 { 0x00, 0x74, 0x54 },
1541 { 0x00, 0x75, 0x55 },
1542 { 0x00, 0x76, 0x56 },
1543 { 0x00, 0x77, 0x57 },
1544 { 0x00, 0x78, 0x58 },
1545 { 0x00, 0x79, 0x59 },
1546 { 0x00, 0x7a, 0x5a },
1547 { 0x00, 0x7b, 0x7b },
1548 { 0x00, 0x7c, 0x7c },
1549 { 0x00, 0x7d, 0x7d },
1550 { 0x00, 0x7e, 0x7e },
1551 { 0x00, 0x7f, 0x7f },
1552 { 0x00, 0x80, 0x80 },
1553 { 0x00, 0x81, 0x81 },
1554 { 0x00, 0x82, 0x82 },
1555 { 0x00, 0x83, 0x83 },
1556 { 0x00, 0x84, 0x84 },
1557 { 0x00, 0x85, 0x85 },
1558 { 0x00, 0x86, 0x86 },
1559 { 0x00, 0x87, 0x87 },
1560 { 0x00, 0x88, 0x88 },
1561 { 0x00, 0x89, 0x89 },
1562 { 0x00, 0x8a, 0x8a },
1563 { 0x00, 0x8b, 0x8b },
1564 { 0x00, 0x8c, 0x8c },
1565 { 0x00, 0x8d, 0x8d },
1566 { 0x00, 0x8e, 0x8e },
1567 { 0x00, 0x8f, 0x8f },
1568 { 0x00, 0x90, 0x90 },
1569 { 0x00, 0x91, 0x91 },
1570 { 0x00, 0x92, 0x92 },
1571 { 0x00, 0x93, 0x93 },
1572 { 0x00, 0x94, 0x94 },
1573 { 0x00, 0x95, 0x95 },
1574 { 0x00, 0x96, 0x96 },
1575 { 0x00, 0x97, 0x97 },
1576 { 0x00, 0x98, 0x98 },
1577 { 0x00, 0x99, 0x99 },
1578 { 0x00, 0x9a, 0x9a },
1579 { 0x00, 0x9b, 0x9b },
1580 { 0x00, 0x9c, 0x9c },
1581 { 0x00, 0x9d, 0x9d },
1582 { 0x00, 0x9e, 0x9e },
1583 { 0x00, 0x9f, 0x9f },
1584 { 0x00, 0xa0, 0xa0 },
1585 { 0x00, 0xa1, 0xa1 },
1586 { 0x00, 0xa2, 0xa2 },
1587 { 0x00, 0xa3, 0xa3 },
1588 { 0x00, 0xa4, 0xa4 },
1589 { 0x00, 0xa5, 0xa5 },
1590 { 0x00, 0xa6, 0xa6 },
1591 { 0x00, 0xa7, 0xa7 },
1592 { 0x00, 0xa8, 0xa8 },
1593 { 0x00, 0xa9, 0xa9 },
1594 { 0x00, 0xaa, 0xaa },
1595 { 0x00, 0xab, 0xab },
1596 { 0x00, 0xac, 0xac },
1597 { 0x00, 0xad, 0xad },
1598 { 0x00, 0xae, 0xae },
1599 { 0x00, 0xaf, 0xaf },
1600 { 0x00, 0xb0, 0xb0 },
1601 { 0x00, 0xb1, 0xb1 },
1602 { 0x00, 0xb2, 0xb2 },
1603 { 0x00, 0xb3, 0xb3 },
1604 { 0x00, 0xb4, 0xb4 },
1605 { 0x00, 0xb5, 0xb5 },
1606 { 0x00, 0xb6, 0xb6 },
1607 { 0x00, 0xb7, 0xb7 },
1608 { 0x00, 0xb8, 0xb8 },
1609 { 0x00, 0xb9, 0xb9 },
1610 { 0x00, 0xba, 0xba },
1611 { 0x00, 0xbb, 0xbb },
1612 { 0x00, 0xbc, 0xbc },
1613 { 0x00, 0xbd, 0xbd },
1614 { 0x00, 0xbe, 0xbe },
1615 { 0x00, 0xbf, 0xbf },
1616 { 0x00, 0xc0, 0xc0 },
1617 { 0x00, 0xc1, 0xc1 },
1618 { 0x00, 0xc2, 0xc2 },
1619 { 0x00, 0xc3, 0xc3 },
1620 { 0x00, 0xc4, 0xc4 },
1621 { 0x00, 0xc5, 0xc5 },
1622 { 0x00, 0xc6, 0xc6 },
1623 { 0x00, 0xc7, 0xc7 },
1624 { 0x00, 0xc8, 0xc8 },
1625 { 0x00, 0xc9, 0xc9 },
1626 { 0x00, 0xca, 0xca },
1627 { 0x00, 0xcb, 0xcb },
1628 { 0x00, 0xcc, 0xcc },
1629 { 0x00, 0xcd, 0xcd },
1630 { 0x00, 0xce, 0xce },
1631 { 0x00, 0xcf, 0xcf },
1632 { 0x00, 0xd0, 0xd0 },
1633 { 0x00, 0xd1, 0xd1 },
1634 { 0x00, 0xd2, 0xd2 },
1635 { 0x00, 0xd3, 0xd3 },
1636 { 0x00, 0xd4, 0xd4 },
1637 { 0x00, 0xd5, 0xd5 },
1638 { 0x00, 0xd6, 0xd6 },
1639 { 0x00, 0xd7, 0xd7 },
1640 { 0x00, 0xd8, 0xd8 },
1641 { 0x00, 0xd9, 0xd9 },
1642 { 0x00, 0xda, 0xda },
1643 { 0x00, 0xdb, 0xdb },
1644 { 0x00, 0xdc, 0xdc },
1645 { 0x00, 0xdd, 0xdd },
1646 { 0x00, 0xde, 0xde },
1647 { 0x00, 0xdf, 0xdf },
1648 { 0x00, 0xe0, 0xe0 },
1649 { 0x00, 0xe1, 0xe1 },
1650 { 0x00, 0xe2, 0xe2 },
1651 { 0x00, 0xe3, 0xe3 },
1652 { 0x00, 0xe4, 0xe4 },
1653 { 0x00, 0xe5, 0xe5 },
1654 { 0x00, 0xe6, 0xe6 },
1655 { 0x00, 0xe7, 0xe7 },
1656 { 0x00, 0xe8, 0xe8 },
1657 { 0x00, 0xe9, 0xe9 },
1658 { 0x00, 0xea, 0xea },
1659 { 0x00, 0xeb, 0xeb },
1660 { 0x00, 0xec, 0xec },
1661 { 0x00, 0xed, 0xed },
1662 { 0x00, 0xee, 0xee },
1663 { 0x00, 0xef, 0xef },
1664 { 0x00, 0xf0, 0xf0 },
1665 { 0x00, 0xf1, 0xf1 },
1666 { 0x00, 0xf2, 0xf2 },
1667 { 0x00, 0xf3, 0xf3 },
1668 { 0x00, 0xf4, 0xf4 },
1669 { 0x00, 0xf5, 0xf5 },
1670 { 0x00, 0xf6, 0xf6 },
1671 { 0x00, 0xf7, 0xf7 },
1672 { 0x00, 0xf8, 0xf8 },
1673 { 0x00, 0xf9, 0xf9 },
1674 { 0x00, 0xfa, 0xfa },
1675 { 0x00, 0xfb, 0xfb },
1676 { 0x00, 0xfc, 0xfc },
1677 { 0x00, 0xfd, 0xfd },
1678 { 0x00, 0xfe, 0xfe },
1679 { 0x00, 0xff, 0xff },
1680 };
1681 
1682 struct cs_info iso7_tbl[] = {
1683 { 0x00, 0x00, 0x00 },
1684 { 0x00, 0x01, 0x01 },
1685 { 0x00, 0x02, 0x02 },
1686 { 0x00, 0x03, 0x03 },
1687 { 0x00, 0x04, 0x04 },
1688 { 0x00, 0x05, 0x05 },
1689 { 0x00, 0x06, 0x06 },
1690 { 0x00, 0x07, 0x07 },
1691 { 0x00, 0x08, 0x08 },
1692 { 0x00, 0x09, 0x09 },
1693 { 0x00, 0x0a, 0x0a },
1694 { 0x00, 0x0b, 0x0b },
1695 { 0x00, 0x0c, 0x0c },
1696 { 0x00, 0x0d, 0x0d },
1697 { 0x00, 0x0e, 0x0e },
1698 { 0x00, 0x0f, 0x0f },
1699 { 0x00, 0x10, 0x10 },
1700 { 0x00, 0x11, 0x11 },
1701 { 0x00, 0x12, 0x12 },
1702 { 0x00, 0x13, 0x13 },
1703 { 0x00, 0x14, 0x14 },
1704 { 0x00, 0x15, 0x15 },
1705 { 0x00, 0x16, 0x16 },
1706 { 0x00, 0x17, 0x17 },
1707 { 0x00, 0x18, 0x18 },
1708 { 0x00, 0x19, 0x19 },
1709 { 0x00, 0x1a, 0x1a },
1710 { 0x00, 0x1b, 0x1b },
1711 { 0x00, 0x1c, 0x1c },
1712 { 0x00, 0x1d, 0x1d },
1713 { 0x00, 0x1e, 0x1e },
1714 { 0x00, 0x1f, 0x1f },
1715 { 0x00, 0x20, 0x20 },
1716 { 0x00, 0x21, 0x21 },
1717 { 0x00, 0x22, 0x22 },
1718 { 0x00, 0x23, 0x23 },
1719 { 0x00, 0x24, 0x24 },
1720 { 0x00, 0x25, 0x25 },
1721 { 0x00, 0x26, 0x26 },
1722 { 0x00, 0x27, 0x27 },
1723 { 0x00, 0x28, 0x28 },
1724 { 0x00, 0x29, 0x29 },
1725 { 0x00, 0x2a, 0x2a },
1726 { 0x00, 0x2b, 0x2b },
1727 { 0x00, 0x2c, 0x2c },
1728 { 0x00, 0x2d, 0x2d },
1729 { 0x00, 0x2e, 0x2e },
1730 { 0x00, 0x2f, 0x2f },
1731 { 0x00, 0x30, 0x30 },
1732 { 0x00, 0x31, 0x31 },
1733 { 0x00, 0x32, 0x32 },
1734 { 0x00, 0x33, 0x33 },
1735 { 0x00, 0x34, 0x34 },
1736 { 0x00, 0x35, 0x35 },
1737 { 0x00, 0x36, 0x36 },
1738 { 0x00, 0x37, 0x37 },
1739 { 0x00, 0x38, 0x38 },
1740 { 0x00, 0x39, 0x39 },
1741 { 0x00, 0x3a, 0x3a },
1742 { 0x00, 0x3b, 0x3b },
1743 { 0x00, 0x3c, 0x3c },
1744 { 0x00, 0x3d, 0x3d },
1745 { 0x00, 0x3e, 0x3e },
1746 { 0x00, 0x3f, 0x3f },
1747 { 0x00, 0x40, 0x40 },
1748 { 0x01, 0x61, 0x41 },
1749 { 0x01, 0x62, 0x42 },
1750 { 0x01, 0x63, 0x43 },
1751 { 0x01, 0x64, 0x44 },
1752 { 0x01, 0x65, 0x45 },
1753 { 0x01, 0x66, 0x46 },
1754 { 0x01, 0x67, 0x47 },
1755 { 0x01, 0x68, 0x48 },
1756 { 0x01, 0x69, 0x49 },
1757 { 0x01, 0x6a, 0x4a },
1758 { 0x01, 0x6b, 0x4b },
1759 { 0x01, 0x6c, 0x4c },
1760 { 0x01, 0x6d, 0x4d },
1761 { 0x01, 0x6e, 0x4e },
1762 { 0x01, 0x6f, 0x4f },
1763 { 0x01, 0x70, 0x50 },
1764 { 0x01, 0x71, 0x51 },
1765 { 0x01, 0x72, 0x52 },
1766 { 0x01, 0x73, 0x53 },
1767 { 0x01, 0x74, 0x54 },
1768 { 0x01, 0x75, 0x55 },
1769 { 0x01, 0x76, 0x56 },
1770 { 0x01, 0x77, 0x57 },
1771 { 0x01, 0x78, 0x58 },
1772 { 0x01, 0x79, 0x59 },
1773 { 0x01, 0x7a, 0x5a },
1774 { 0x00, 0x5b, 0x5b },
1775 { 0x00, 0x5c, 0x5c },
1776 { 0x00, 0x5d, 0x5d },
1777 { 0x00, 0x5e, 0x5e },
1778 { 0x00, 0x5f, 0x5f },
1779 { 0x00, 0x60, 0x60 },
1780 { 0x00, 0x61, 0x41 },
1781 { 0x00, 0x62, 0x42 },
1782 { 0x00, 0x63, 0x43 },
1783 { 0x00, 0x64, 0x44 },
1784 { 0x00, 0x65, 0x45 },
1785 { 0x00, 0x66, 0x46 },
1786 { 0x00, 0x67, 0x47 },
1787 { 0x00, 0x68, 0x48 },
1788 { 0x00, 0x69, 0x49 },
1789 { 0x00, 0x6a, 0x4a },
1790 { 0x00, 0x6b, 0x4b },
1791 { 0x00, 0x6c, 0x4c },
1792 { 0x00, 0x6d, 0x4d },
1793 { 0x00, 0x6e, 0x4e },
1794 { 0x00, 0x6f, 0x4f },
1795 { 0x00, 0x70, 0x50 },
1796 { 0x00, 0x71, 0x51 },
1797 { 0x00, 0x72, 0x52 },
1798 { 0x00, 0x73, 0x53 },
1799 { 0x00, 0x74, 0x54 },
1800 { 0x00, 0x75, 0x55 },
1801 { 0x00, 0x76, 0x56 },
1802 { 0x00, 0x77, 0x57 },
1803 { 0x00, 0x78, 0x58 },
1804 { 0x00, 0x79, 0x59 },
1805 { 0x00, 0x7a, 0x5a },
1806 { 0x00, 0x7b, 0x7b },
1807 { 0x00, 0x7c, 0x7c },
1808 { 0x00, 0x7d, 0x7d },
1809 { 0x00, 0x7e, 0x7e },
1810 { 0x00, 0x7f, 0x7f },
1811 { 0x00, 0x80, 0x80 },
1812 { 0x00, 0x81, 0x81 },
1813 { 0x00, 0x82, 0x82 },
1814 { 0x00, 0x83, 0x83 },
1815 { 0x00, 0x84, 0x84 },
1816 { 0x00, 0x85, 0x85 },
1817 { 0x00, 0x86, 0x86 },
1818 { 0x00, 0x87, 0x87 },
1819 { 0x00, 0x88, 0x88 },
1820 { 0x00, 0x89, 0x89 },
1821 { 0x00, 0x8a, 0x8a },
1822 { 0x00, 0x8b, 0x8b },
1823 { 0x00, 0x8c, 0x8c },
1824 { 0x00, 0x8d, 0x8d },
1825 { 0x00, 0x8e, 0x8e },
1826 { 0x00, 0x8f, 0x8f },
1827 { 0x00, 0x90, 0x90 },
1828 { 0x00, 0x91, 0x91 },
1829 { 0x00, 0x92, 0x92 },
1830 { 0x00, 0x93, 0x93 },
1831 { 0x00, 0x94, 0x94 },
1832 { 0x00, 0x95, 0x95 },
1833 { 0x00, 0x96, 0x96 },
1834 { 0x00, 0x97, 0x97 },
1835 { 0x00, 0x98, 0x98 },
1836 { 0x00, 0x99, 0x99 },
1837 { 0x00, 0x9a, 0x9a },
1838 { 0x00, 0x9b, 0x9b },
1839 { 0x00, 0x9c, 0x9c },
1840 { 0x00, 0x9d, 0x9d },
1841 { 0x00, 0x9e, 0x9e },
1842 { 0x00, 0x9f, 0x9f },
1843 { 0x00, 0xa0, 0xa0 },
1844 { 0x00, 0xa1, 0xa1 },
1845 { 0x00, 0xa2, 0xa2 },
1846 { 0x00, 0xa3, 0xa3 },
1847 { 0x00, 0xa4, 0xa4 },
1848 { 0x00, 0xa5, 0xa5 },
1849 { 0x00, 0xa6, 0xa6 },
1850 { 0x00, 0xa7, 0xa7 },
1851 { 0x00, 0xa8, 0xa8 },
1852 { 0x00, 0xa9, 0xa9 },
1853 { 0x00, 0xaa, 0xaa },
1854 { 0x00, 0xab, 0xab },
1855 { 0x00, 0xac, 0xac },
1856 { 0x00, 0xad, 0xad },
1857 { 0x00, 0xae, 0xae },
1858 { 0x00, 0xaf, 0xaf },
1859 { 0x00, 0xb0, 0xb0 },
1860 { 0x00, 0xb1, 0xb1 },
1861 { 0x00, 0xb2, 0xb2 },
1862 { 0x00, 0xb3, 0xb3 },
1863 { 0x00, 0xb4, 0xb4 },
1864 { 0x00, 0xb5, 0xb5 },
1865 { 0x01, 0xdc, 0xb6 },
1866 { 0x00, 0xb7, 0xb7 },
1867 { 0x01, 0xdd, 0xb8 },
1868 { 0x01, 0xde, 0xb9 },
1869 { 0x01, 0xdf, 0xba },
1870 { 0x00, 0xbb, 0xbb },
1871 { 0x01, 0xfc, 0xbc },
1872 { 0x00, 0xbd, 0xbd },
1873 { 0x01, 0xfd, 0xbe },
1874 { 0x01, 0xfe, 0xbf },
1875 { 0x00, 0xc0, 0xc0 },
1876 { 0x01, 0xe1, 0xc1 },
1877 { 0x01, 0xe2, 0xc2 },
1878 { 0x01, 0xe3, 0xc3 },
1879 { 0x01, 0xe4, 0xc4 },
1880 { 0x01, 0xe5, 0xc5 },
1881 { 0x01, 0xe6, 0xc6 },
1882 { 0x01, 0xe7, 0xc7 },
1883 { 0x01, 0xe8, 0xc8 },
1884 { 0x01, 0xe9, 0xc9 },
1885 { 0x01, 0xea, 0xca },
1886 { 0x01, 0xeb, 0xcb },
1887 { 0x01, 0xec, 0xcc },
1888 { 0x01, 0xed, 0xcd },
1889 { 0x01, 0xee, 0xce },
1890 { 0x01, 0xef, 0xcf },
1891 { 0x01, 0xf0, 0xd0 },
1892 { 0x01, 0xf1, 0xd1 },
1893 { 0x00, 0xd2, 0xd2 },
1894 { 0x01, 0xf3, 0xd3 },
1895 { 0x01, 0xf4, 0xd4 },
1896 { 0x01, 0xf5, 0xd5 },
1897 { 0x01, 0xf6, 0xd6 },
1898 { 0x01, 0xf7, 0xd7 },
1899 { 0x01, 0xf8, 0xd8 },
1900 { 0x01, 0xf9, 0xd9 },
1901 { 0x01, 0xfa, 0xda },
1902 { 0x01, 0xfb, 0xdb },
1903 { 0x00, 0xdc, 0xb6 },
1904 { 0x00, 0xdd, 0xb8 },
1905 { 0x00, 0xde, 0xb9 },
1906 { 0x00, 0xdf, 0xba },
1907 { 0x00, 0xe0, 0xe0 },
1908 { 0x00, 0xe1, 0xc1 },
1909 { 0x00, 0xe2, 0xc2 },
1910 { 0x00, 0xe3, 0xc3 },
1911 { 0x00, 0xe4, 0xc4 },
1912 { 0x00, 0xe5, 0xc5 },
1913 { 0x00, 0xe6, 0xc6 },
1914 { 0x00, 0xe7, 0xc7 },
1915 { 0x00, 0xe8, 0xc8 },
1916 { 0x00, 0xe9, 0xc9 },
1917 { 0x00, 0xea, 0xca },
1918 { 0x00, 0xeb, 0xcb },
1919 { 0x00, 0xec, 0xcc },
1920 { 0x00, 0xed, 0xcd },
1921 { 0x00, 0xee, 0xce },
1922 { 0x00, 0xef, 0xcf },
1923 { 0x00, 0xf0, 0xd0 },
1924 { 0x00, 0xf1, 0xd1 },
1925 { 0x00, 0xf2, 0xd3 },
1926 { 0x00, 0xf3, 0xd3 },
1927 { 0x00, 0xf4, 0xd4 },
1928 { 0x00, 0xf5, 0xd5 },
1929 { 0x00, 0xf6, 0xd6 },
1930 { 0x00, 0xf7, 0xd7 },
1931 { 0x00, 0xf8, 0xd8 },
1932 { 0x00, 0xf9, 0xd9 },
1933 { 0x00, 0xfa, 0xda },
1934 { 0x00, 0xfb, 0xdb },
1935 { 0x00, 0xfc, 0xbc },
1936 { 0x00, 0xfd, 0xbe },
1937 { 0x00, 0xfe, 0xbf },
1938 { 0x00, 0xff, 0xff },
1939 };
1940 
1941 struct cs_info iso8_tbl[] = {
1942 { 0x00, 0x00, 0x00 },
1943 { 0x00, 0x01, 0x01 },
1944 { 0x00, 0x02, 0x02 },
1945 { 0x00, 0x03, 0x03 },
1946 { 0x00, 0x04, 0x04 },
1947 { 0x00, 0x05, 0x05 },
1948 { 0x00, 0x06, 0x06 },
1949 { 0x00, 0x07, 0x07 },
1950 { 0x00, 0x08, 0x08 },
1951 { 0x00, 0x09, 0x09 },
1952 { 0x00, 0x0a, 0x0a },
1953 { 0x00, 0x0b, 0x0b },
1954 { 0x00, 0x0c, 0x0c },
1955 { 0x00, 0x0d, 0x0d },
1956 { 0x00, 0x0e, 0x0e },
1957 { 0x00, 0x0f, 0x0f },
1958 { 0x00, 0x10, 0x10 },
1959 { 0x00, 0x11, 0x11 },
1960 { 0x00, 0x12, 0x12 },
1961 { 0x00, 0x13, 0x13 },
1962 { 0x00, 0x14, 0x14 },
1963 { 0x00, 0x15, 0x15 },
1964 { 0x00, 0x16, 0x16 },
1965 { 0x00, 0x17, 0x17 },
1966 { 0x00, 0x18, 0x18 },
1967 { 0x00, 0x19, 0x19 },
1968 { 0x00, 0x1a, 0x1a },
1969 { 0x00, 0x1b, 0x1b },
1970 { 0x00, 0x1c, 0x1c },
1971 { 0x00, 0x1d, 0x1d },
1972 { 0x00, 0x1e, 0x1e },
1973 { 0x00, 0x1f, 0x1f },
1974 { 0x00, 0x20, 0x20 },
1975 { 0x00, 0x21, 0x21 },
1976 { 0x00, 0x22, 0x22 },
1977 { 0x00, 0x23, 0x23 },
1978 { 0x00, 0x24, 0x24 },
1979 { 0x00, 0x25, 0x25 },
1980 { 0x00, 0x26, 0x26 },
1981 { 0x00, 0x27, 0x27 },
1982 { 0x00, 0x28, 0x28 },
1983 { 0x00, 0x29, 0x29 },
1984 { 0x00, 0x2a, 0x2a },
1985 { 0x00, 0x2b, 0x2b },
1986 { 0x00, 0x2c, 0x2c },
1987 { 0x00, 0x2d, 0x2d },
1988 { 0x00, 0x2e, 0x2e },
1989 { 0x00, 0x2f, 0x2f },
1990 { 0x00, 0x30, 0x30 },
1991 { 0x00, 0x31, 0x31 },
1992 { 0x00, 0x32, 0x32 },
1993 { 0x00, 0x33, 0x33 },
1994 { 0x00, 0x34, 0x34 },
1995 { 0x00, 0x35, 0x35 },
1996 { 0x00, 0x36, 0x36 },
1997 { 0x00, 0x37, 0x37 },
1998 { 0x00, 0x38, 0x38 },
1999 { 0x00, 0x39, 0x39 },
2000 { 0x00, 0x3a, 0x3a },
2001 { 0x00, 0x3b, 0x3b },
2002 { 0x00, 0x3c, 0x3c },
2003 { 0x00, 0x3d, 0x3d },
2004 { 0x00, 0x3e, 0x3e },
2005 { 0x00, 0x3f, 0x3f },
2006 { 0x00, 0x40, 0x40 },
2007 { 0x01, 0x61, 0x41 },
2008 { 0x01, 0x62, 0x42 },
2009 { 0x01, 0x63, 0x43 },
2010 { 0x01, 0x64, 0x44 },
2011 { 0x01, 0x65, 0x45 },
2012 { 0x01, 0x66, 0x46 },
2013 { 0x01, 0x67, 0x47 },
2014 { 0x01, 0x68, 0x48 },
2015 { 0x01, 0x69, 0x49 },
2016 { 0x01, 0x6a, 0x4a },
2017 { 0x01, 0x6b, 0x4b },
2018 { 0x01, 0x6c, 0x4c },
2019 { 0x01, 0x6d, 0x4d },
2020 { 0x01, 0x6e, 0x4e },
2021 { 0x01, 0x6f, 0x4f },
2022 { 0x01, 0x70, 0x50 },
2023 { 0x01, 0x71, 0x51 },
2024 { 0x01, 0x72, 0x52 },
2025 { 0x01, 0x73, 0x53 },
2026 { 0x01, 0x74, 0x54 },
2027 { 0x01, 0x75, 0x55 },
2028 { 0x01, 0x76, 0x56 },
2029 { 0x01, 0x77, 0x57 },
2030 { 0x01, 0x78, 0x58 },
2031 { 0x01, 0x79, 0x59 },
2032 { 0x01, 0x7a, 0x5a },
2033 { 0x00, 0x5b, 0x5b },
2034 { 0x00, 0x5c, 0x5c },
2035 { 0x00, 0x5d, 0x5d },
2036 { 0x00, 0x5e, 0x5e },
2037 { 0x00, 0x5f, 0x5f },
2038 { 0x00, 0x60, 0x60 },
2039 { 0x00, 0x61, 0x41 },
2040 { 0x00, 0x62, 0x42 },
2041 { 0x00, 0x63, 0x43 },
2042 { 0x00, 0x64, 0x44 },
2043 { 0x00, 0x65, 0x45 },
2044 { 0x00, 0x66, 0x46 },
2045 { 0x00, 0x67, 0x47 },
2046 { 0x00, 0x68, 0x48 },
2047 { 0x00, 0x69, 0x49 },
2048 { 0x00, 0x6a, 0x4a },
2049 { 0x00, 0x6b, 0x4b },
2050 { 0x00, 0x6c, 0x4c },
2051 { 0x00, 0x6d, 0x4d },
2052 { 0x00, 0x6e, 0x4e },
2053 { 0x00, 0x6f, 0x4f },
2054 { 0x00, 0x70, 0x50 },
2055 { 0x00, 0x71, 0x51 },
2056 { 0x00, 0x72, 0x52 },
2057 { 0x00, 0x73, 0x53 },
2058 { 0x00, 0x74, 0x54 },
2059 { 0x00, 0x75, 0x55 },
2060 { 0x00, 0x76, 0x56 },
2061 { 0x00, 0x77, 0x57 },
2062 { 0x00, 0x78, 0x58 },
2063 { 0x00, 0x79, 0x59 },
2064 { 0x00, 0x7a, 0x5a },
2065 { 0x00, 0x7b, 0x7b },
2066 { 0x00, 0x7c, 0x7c },
2067 { 0x00, 0x7d, 0x7d },
2068 { 0x00, 0x7e, 0x7e },
2069 { 0x00, 0x7f, 0x7f },
2070 { 0x00, 0x80, 0x80 },
2071 { 0x00, 0x81, 0x81 },
2072 { 0x00, 0x82, 0x82 },
2073 { 0x00, 0x83, 0x83 },
2074 { 0x00, 0x84, 0x84 },
2075 { 0x00, 0x85, 0x85 },
2076 { 0x00, 0x86, 0x86 },
2077 { 0x00, 0x87, 0x87 },
2078 { 0x00, 0x88, 0x88 },
2079 { 0x00, 0x89, 0x89 },
2080 { 0x00, 0x8a, 0x8a },
2081 { 0x00, 0x8b, 0x8b },
2082 { 0x00, 0x8c, 0x8c },
2083 { 0x00, 0x8d, 0x8d },
2084 { 0x00, 0x8e, 0x8e },
2085 { 0x00, 0x8f, 0x8f },
2086 { 0x00, 0x90, 0x90 },
2087 { 0x00, 0x91, 0x91 },
2088 { 0x00, 0x92, 0x92 },
2089 { 0x00, 0x93, 0x93 },
2090 { 0x00, 0x94, 0x94 },
2091 { 0x00, 0x95, 0x95 },
2092 { 0x00, 0x96, 0x96 },
2093 { 0x00, 0x97, 0x97 },
2094 { 0x00, 0x98, 0x98 },
2095 { 0x00, 0x99, 0x99 },
2096 { 0x00, 0x9a, 0x9a },
2097 { 0x00, 0x9b, 0x9b },
2098 { 0x00, 0x9c, 0x9c },
2099 { 0x00, 0x9d, 0x9d },
2100 { 0x00, 0x9e, 0x9e },
2101 { 0x00, 0x9f, 0x9f },
2102 { 0x00, 0xa0, 0xa0 },
2103 { 0x00, 0xa1, 0xa1 },
2104 { 0x00, 0xa2, 0xa2 },
2105 { 0x00, 0xa3, 0xa3 },
2106 { 0x00, 0xa4, 0xa4 },
2107 { 0x00, 0xa5, 0xa5 },
2108 { 0x00, 0xa6, 0xa6 },
2109 { 0x00, 0xa7, 0xa7 },
2110 { 0x00, 0xa8, 0xa8 },
2111 { 0x00, 0xa9, 0xa9 },
2112 { 0x00, 0xaa, 0xaa },
2113 { 0x00, 0xab, 0xab },
2114 { 0x00, 0xac, 0xac },
2115 { 0x00, 0xad, 0xad },
2116 { 0x00, 0xae, 0xae },
2117 { 0x00, 0xaf, 0xaf },
2118 { 0x00, 0xb0, 0xb0 },
2119 { 0x00, 0xb1, 0xb1 },
2120 { 0x00, 0xb2, 0xb2 },
2121 { 0x00, 0xb3, 0xb3 },
2122 { 0x00, 0xb4, 0xb4 },
2123 { 0x00, 0xb5, 0xb5 },
2124 { 0x00, 0xb6, 0xb6 },
2125 { 0x00, 0xb7, 0xb7 },
2126 { 0x00, 0xb8, 0xb8 },
2127 { 0x00, 0xb9, 0xb9 },
2128 { 0x00, 0xba, 0xba },
2129 { 0x00, 0xbb, 0xbb },
2130 { 0x00, 0xbc, 0xbc },
2131 { 0x00, 0xbd, 0xbd },
2132 { 0x00, 0xbe, 0xbe },
2133 { 0x00, 0xbf, 0xbf },
2134 { 0x00, 0xc0, 0xc0 },
2135 { 0x00, 0xc1, 0xc1 },
2136 { 0x00, 0xc2, 0xc2 },
2137 { 0x00, 0xc3, 0xc3 },
2138 { 0x00, 0xc4, 0xc4 },
2139 { 0x00, 0xc5, 0xc5 },
2140 { 0x00, 0xc6, 0xc6 },
2141 { 0x00, 0xc7, 0xc7 },
2142 { 0x00, 0xc8, 0xc8 },
2143 { 0x00, 0xc9, 0xc9 },
2144 { 0x00, 0xca, 0xca },
2145 { 0x00, 0xcb, 0xcb },
2146 { 0x00, 0xcc, 0xcc },
2147 { 0x00, 0xcd, 0xcd },
2148 { 0x00, 0xce, 0xce },
2149 { 0x00, 0xcf, 0xcf },
2150 { 0x00, 0xd0, 0xd0 },
2151 { 0x00, 0xd1, 0xd1 },
2152 { 0x00, 0xd2, 0xd2 },
2153 { 0x00, 0xd3, 0xd3 },
2154 { 0x00, 0xd4, 0xd4 },
2155 { 0x00, 0xd5, 0xd5 },
2156 { 0x00, 0xd6, 0xd6 },
2157 { 0x00, 0xd7, 0xd7 },
2158 { 0x00, 0xd8, 0xd8 },
2159 { 0x00, 0xd9, 0xd9 },
2160 { 0x00, 0xda, 0xda },
2161 { 0x00, 0xdb, 0xdb },
2162 { 0x00, 0xdc, 0xdc },
2163 { 0x00, 0xdd, 0xdd },
2164 { 0x00, 0xde, 0xde },
2165 { 0x00, 0xdf, 0xdf },
2166 { 0x00, 0xe0, 0xe0 },
2167 { 0x00, 0xe1, 0xe1 },
2168 { 0x00, 0xe2, 0xe2 },
2169 { 0x00, 0xe3, 0xe3 },
2170 { 0x00, 0xe4, 0xe4 },
2171 { 0x00, 0xe5, 0xe5 },
2172 { 0x00, 0xe6, 0xe6 },
2173 { 0x00, 0xe7, 0xe7 },
2174 { 0x00, 0xe8, 0xe8 },
2175 { 0x00, 0xe9, 0xe9 },
2176 { 0x00, 0xea, 0xea },
2177 { 0x00, 0xeb, 0xeb },
2178 { 0x00, 0xec, 0xec },
2179 { 0x00, 0xed, 0xed },
2180 { 0x00, 0xee, 0xee },
2181 { 0x00, 0xef, 0xef },
2182 { 0x00, 0xf0, 0xf0 },
2183 { 0x00, 0xf1, 0xf1 },
2184 { 0x00, 0xf2, 0xf2 },
2185 { 0x00, 0xf3, 0xf3 },
2186 { 0x00, 0xf4, 0xf4 },
2187 { 0x00, 0xf5, 0xf5 },
2188 { 0x00, 0xf6, 0xf6 },
2189 { 0x00, 0xf7, 0xf7 },
2190 { 0x00, 0xf8, 0xf8 },
2191 { 0x00, 0xf9, 0xf9 },
2192 { 0x00, 0xfa, 0xfa },
2193 { 0x00, 0xfb, 0xfb },
2194 { 0x00, 0xfc, 0xfc },
2195 { 0x00, 0xfd, 0xfd },
2196 { 0x00, 0xfe, 0xfe },
2197 { 0x00, 0xff, 0xff },
2198 };
2199 
2200 struct cs_info iso9_tbl[] = {
2201 { 0x00, 0x00, 0x00 },
2202 { 0x00, 0x01, 0x01 },
2203 { 0x00, 0x02, 0x02 },
2204 { 0x00, 0x03, 0x03 },
2205 { 0x00, 0x04, 0x04 },
2206 { 0x00, 0x05, 0x05 },
2207 { 0x00, 0x06, 0x06 },
2208 { 0x00, 0x07, 0x07 },
2209 { 0x00, 0x08, 0x08 },
2210 { 0x00, 0x09, 0x09 },
2211 { 0x00, 0x0a, 0x0a },
2212 { 0x00, 0x0b, 0x0b },
2213 { 0x00, 0x0c, 0x0c },
2214 { 0x00, 0x0d, 0x0d },
2215 { 0x00, 0x0e, 0x0e },
2216 { 0x00, 0x0f, 0x0f },
2217 { 0x00, 0x10, 0x10 },
2218 { 0x00, 0x11, 0x11 },
2219 { 0x00, 0x12, 0x12 },
2220 { 0x00, 0x13, 0x13 },
2221 { 0x00, 0x14, 0x14 },
2222 { 0x00, 0x15, 0x15 },
2223 { 0x00, 0x16, 0x16 },
2224 { 0x00, 0x17, 0x17 },
2225 { 0x00, 0x18, 0x18 },
2226 { 0x00, 0x19, 0x19 },
2227 { 0x00, 0x1a, 0x1a },
2228 { 0x00, 0x1b, 0x1b },
2229 { 0x00, 0x1c, 0x1c },
2230 { 0x00, 0x1d, 0x1d },
2231 { 0x00, 0x1e, 0x1e },
2232 { 0x00, 0x1f, 0x1f },
2233 { 0x00, 0x20, 0x20 },
2234 { 0x00, 0x21, 0x21 },
2235 { 0x00, 0x22, 0x22 },
2236 { 0x00, 0x23, 0x23 },
2237 { 0x00, 0x24, 0x24 },
2238 { 0x00, 0x25, 0x25 },
2239 { 0x00, 0x26, 0x26 },
2240 { 0x00, 0x27, 0x27 },
2241 { 0x00, 0x28, 0x28 },
2242 { 0x00, 0x29, 0x29 },
2243 { 0x00, 0x2a, 0x2a },
2244 { 0x00, 0x2b, 0x2b },
2245 { 0x00, 0x2c, 0x2c },
2246 { 0x00, 0x2d, 0x2d },
2247 { 0x00, 0x2e, 0x2e },
2248 { 0x00, 0x2f, 0x2f },
2249 { 0x00, 0x30, 0x30 },
2250 { 0x00, 0x31, 0x31 },
2251 { 0x00, 0x32, 0x32 },
2252 { 0x00, 0x33, 0x33 },
2253 { 0x00, 0x34, 0x34 },
2254 { 0x00, 0x35, 0x35 },
2255 { 0x00, 0x36, 0x36 },
2256 { 0x00, 0x37, 0x37 },
2257 { 0x00, 0x38, 0x38 },
2258 { 0x00, 0x39, 0x39 },
2259 { 0x00, 0x3a, 0x3a },
2260 { 0x00, 0x3b, 0x3b },
2261 { 0x00, 0x3c, 0x3c },
2262 { 0x00, 0x3d, 0x3d },
2263 { 0x00, 0x3e, 0x3e },
2264 { 0x00, 0x3f, 0x3f },
2265 { 0x00, 0x40, 0x40 },
2266 { 0x01, 0x61, 0x41 },
2267 { 0x01, 0x62, 0x42 },
2268 { 0x01, 0x63, 0x43 },
2269 { 0x01, 0x64, 0x44 },
2270 { 0x01, 0x65, 0x45 },
2271 { 0x01, 0x66, 0x46 },
2272 { 0x01, 0x67, 0x47 },
2273 { 0x01, 0x68, 0x48 },
2274 { 0x01, 0xfd, 0x49 },
2275 { 0x01, 0x6a, 0x4a },
2276 { 0x01, 0x6b, 0x4b },
2277 { 0x01, 0x6c, 0x4c },
2278 { 0x01, 0x6d, 0x4d },
2279 { 0x01, 0x6e, 0x4e },
2280 { 0x01, 0x6f, 0x4f },
2281 { 0x01, 0x70, 0x50 },
2282 { 0x01, 0x71, 0x51 },
2283 { 0x01, 0x72, 0x52 },
2284 { 0x01, 0x73, 0x53 },
2285 { 0x01, 0x74, 0x54 },
2286 { 0x01, 0x75, 0x55 },
2287 { 0x01, 0x76, 0x56 },
2288 { 0x01, 0x77, 0x57 },
2289 { 0x01, 0x78, 0x58 },
2290 { 0x01, 0x79, 0x59 },
2291 { 0x01, 0x7a, 0x5a },
2292 { 0x00, 0x5b, 0x5b },
2293 { 0x00, 0x5c, 0x5c },
2294 { 0x00, 0x5d, 0x5d },
2295 { 0x00, 0x5e, 0x5e },
2296 { 0x00, 0x5f, 0x5f },
2297 { 0x00, 0x60, 0x60 },
2298 { 0x00, 0x61, 0x41 },
2299 { 0x00, 0x62, 0x42 },
2300 { 0x00, 0x63, 0x43 },
2301 { 0x00, 0x64, 0x44 },
2302 { 0x00, 0x65, 0x45 },
2303 { 0x00, 0x66, 0x46 },
2304 { 0x00, 0x67, 0x47 },
2305 { 0x00, 0x68, 0x48 },
2306 { 0x00, 0x69, 0xdd },
2307 { 0x00, 0x6a, 0x4a },
2308 { 0x00, 0x6b, 0x4b },
2309 { 0x00, 0x6c, 0x4c },
2310 { 0x00, 0x6d, 0x4d },
2311 { 0x00, 0x6e, 0x4e },
2312 { 0x00, 0x6f, 0x4f },
2313 { 0x00, 0x70, 0x50 },
2314 { 0x00, 0x71, 0x51 },
2315 { 0x00, 0x72, 0x52 },
2316 { 0x00, 0x73, 0x53 },
2317 { 0x00, 0x74, 0x54 },
2318 { 0x00, 0x75, 0x55 },
2319 { 0x00, 0x76, 0x56 },
2320 { 0x00, 0x77, 0x57 },
2321 { 0x00, 0x78, 0x58 },
2322 { 0x00, 0x79, 0x59 },
2323 { 0x00, 0x7a, 0x5a },
2324 { 0x00, 0x7b, 0x7b },
2325 { 0x00, 0x7c, 0x7c },
2326 { 0x00, 0x7d, 0x7d },
2327 { 0x00, 0x7e, 0x7e },
2328 { 0x00, 0x7f, 0x7f },
2329 { 0x00, 0x80, 0x80 },
2330 { 0x00, 0x81, 0x81 },
2331 { 0x00, 0x82, 0x82 },
2332 { 0x00, 0x83, 0x83 },
2333 { 0x00, 0x84, 0x84 },
2334 { 0x00, 0x85, 0x85 },
2335 { 0x00, 0x86, 0x86 },
2336 { 0x00, 0x87, 0x87 },
2337 { 0x00, 0x88, 0x88 },
2338 { 0x00, 0x89, 0x89 },
2339 { 0x00, 0x8a, 0x8a },
2340 { 0x00, 0x8b, 0x8b },
2341 { 0x00, 0x8c, 0x8c },
2342 { 0x00, 0x8d, 0x8d },
2343 { 0x00, 0x8e, 0x8e },
2344 { 0x00, 0x8f, 0x8f },
2345 { 0x00, 0x90, 0x90 },
2346 { 0x00, 0x91, 0x91 },
2347 { 0x00, 0x92, 0x92 },
2348 { 0x00, 0x93, 0x93 },
2349 { 0x00, 0x94, 0x94 },
2350 { 0x00, 0x95, 0x95 },
2351 { 0x00, 0x96, 0x96 },
2352 { 0x00, 0x97, 0x97 },
2353 { 0x00, 0x98, 0x98 },
2354 { 0x00, 0x99, 0x99 },
2355 { 0x00, 0x9a, 0x9a },
2356 { 0x00, 0x9b, 0x9b },
2357 { 0x00, 0x9c, 0x9c },
2358 { 0x00, 0x9d, 0x9d },
2359 { 0x00, 0x9e, 0x9e },
2360 { 0x00, 0x9f, 0x9f },
2361 { 0x00, 0xa0, 0xa0 },
2362 { 0x00, 0xa1, 0xa1 },
2363 { 0x00, 0xa2, 0xa2 },
2364 { 0x00, 0xa3, 0xa3 },
2365 { 0x00, 0xa4, 0xa4 },
2366 { 0x00, 0xa5, 0xa5 },
2367 { 0x00, 0xa6, 0xa6 },
2368 { 0x00, 0xa7, 0xa7 },
2369 { 0x00, 0xa8, 0xa8 },
2370 { 0x00, 0xa9, 0xa9 },
2371 { 0x00, 0xaa, 0xaa },
2372 { 0x00, 0xab, 0xab },
2373 { 0x00, 0xac, 0xac },
2374 { 0x00, 0xad, 0xad },
2375 { 0x00, 0xae, 0xae },
2376 { 0x00, 0xaf, 0xaf },
2377 { 0x00, 0xb0, 0xb0 },
2378 { 0x00, 0xb1, 0xb1 },
2379 { 0x00, 0xb2, 0xb2 },
2380 { 0x00, 0xb3, 0xb3 },
2381 { 0x00, 0xb4, 0xb4 },
2382 { 0x00, 0xb5, 0xb5 },
2383 { 0x00, 0xb6, 0xb6 },
2384 { 0x00, 0xb7, 0xb7 },
2385 { 0x00, 0xb8, 0xb8 },
2386 { 0x00, 0xb9, 0xb9 },
2387 { 0x00, 0xba, 0xba },
2388 { 0x00, 0xbb, 0xbb },
2389 { 0x00, 0xbc, 0xbc },
2390 { 0x00, 0xbd, 0xbd },
2391 { 0x00, 0xbe, 0xbe },
2392 { 0x00, 0xbf, 0xbf },
2393 { 0x01, 0xe0, 0xc0 },
2394 { 0x01, 0xe1, 0xc1 },
2395 { 0x01, 0xe2, 0xc2 },
2396 { 0x01, 0xe3, 0xc3 },
2397 { 0x01, 0xe4, 0xc4 },
2398 { 0x01, 0xe5, 0xc5 },
2399 { 0x01, 0xe6, 0xc6 },
2400 { 0x01, 0xe7, 0xc7 },
2401 { 0x01, 0xe8, 0xc8 },
2402 { 0x01, 0xe9, 0xc9 },
2403 { 0x01, 0xea, 0xca },
2404 { 0x01, 0xeb, 0xcb },
2405 { 0x01, 0xec, 0xcc },
2406 { 0x01, 0xed, 0xcd },
2407 { 0x01, 0xee, 0xce },
2408 { 0x01, 0xef, 0xcf },
2409 { 0x01, 0xf0, 0xd0 },
2410 { 0x01, 0xf1, 0xd1 },
2411 { 0x01, 0xf2, 0xd2 },
2412 { 0x01, 0xf3, 0xd3 },
2413 { 0x01, 0xf4, 0xd4 },
2414 { 0x01, 0xf5, 0xd5 },
2415 { 0x01, 0xf6, 0xd6 },
2416 { 0x00, 0xd7, 0xd7 },
2417 { 0x01, 0xf8, 0xd8 },
2418 { 0x01, 0xf9, 0xd9 },
2419 { 0x01, 0xfa, 0xda },
2420 { 0x01, 0xfb, 0xdb },
2421 { 0x01, 0xfc, 0xdc },
2422 { 0x01, 0x69, 0xdd },
2423 { 0x01, 0xfe, 0xde },
2424 { 0x00, 0xdf, 0xdf },
2425 { 0x00, 0xe0, 0xc0 },
2426 { 0x00, 0xe1, 0xc1 },
2427 { 0x00, 0xe2, 0xc2 },
2428 { 0x00, 0xe3, 0xc3 },
2429 { 0x00, 0xe4, 0xc4 },
2430 { 0x00, 0xe5, 0xc5 },
2431 { 0x00, 0xe6, 0xc6 },
2432 { 0x00, 0xe7, 0xc7 },
2433 { 0x00, 0xe8, 0xc8 },
2434 { 0x00, 0xe9, 0xc9 },
2435 { 0x00, 0xea, 0xca },
2436 { 0x00, 0xeb, 0xcb },
2437 { 0x00, 0xec, 0xcc },
2438 { 0x00, 0xed, 0xcd },
2439 { 0x00, 0xee, 0xce },
2440 { 0x00, 0xef, 0xcf },
2441 { 0x00, 0xf0, 0xd0 },
2442 { 0x00, 0xf1, 0xd1 },
2443 { 0x00, 0xf2, 0xd2 },
2444 { 0x00, 0xf3, 0xd3 },
2445 { 0x00, 0xf4, 0xd4 },
2446 { 0x00, 0xf5, 0xd5 },
2447 { 0x00, 0xf6, 0xd6 },
2448 { 0x00, 0xf7, 0xf7 },
2449 { 0x00, 0xf8, 0xd8 },
2450 { 0x00, 0xf9, 0xd9 },
2451 { 0x00, 0xfa, 0xda },
2452 { 0x00, 0xfb, 0xdb },
2453 { 0x00, 0xfc, 0xdc },
2454 { 0x00, 0xfd, 0x49 },
2455 { 0x00, 0xfe, 0xde },
2456 { 0x00, 0xff, 0xff },
2457 };
2458 
2459 struct cs_info iso10_tbl[] = {
2460 { 0x00, 0x00, 0x00 },
2461 { 0x00, 0x01, 0x01 },
2462 { 0x00, 0x02, 0x02 },
2463 { 0x00, 0x03, 0x03 },
2464 { 0x00, 0x04, 0x04 },
2465 { 0x00, 0x05, 0x05 },
2466 { 0x00, 0x06, 0x06 },
2467 { 0x00, 0x07, 0x07 },
2468 { 0x00, 0x08, 0x08 },
2469 { 0x00, 0x09, 0x09 },
2470 { 0x00, 0x0a, 0x0a },
2471 { 0x00, 0x0b, 0x0b },
2472 { 0x00, 0x0c, 0x0c },
2473 { 0x00, 0x0d, 0x0d },
2474 { 0x00, 0x0e, 0x0e },
2475 { 0x00, 0x0f, 0x0f },
2476 { 0x00, 0x10, 0x10 },
2477 { 0x00, 0x11, 0x11 },
2478 { 0x00, 0x12, 0x12 },
2479 { 0x00, 0x13, 0x13 },
2480 { 0x00, 0x14, 0x14 },
2481 { 0x00, 0x15, 0x15 },
2482 { 0x00, 0x16, 0x16 },
2483 { 0x00, 0x17, 0x17 },
2484 { 0x00, 0x18, 0x18 },
2485 { 0x00, 0x19, 0x19 },
2486 { 0x00, 0x1a, 0x1a },
2487 { 0x00, 0x1b, 0x1b },
2488 { 0x00, 0x1c, 0x1c },
2489 { 0x00, 0x1d, 0x1d },
2490 { 0x00, 0x1e, 0x1e },
2491 { 0x00, 0x1f, 0x1f },
2492 { 0x00, 0x20, 0x20 },
2493 { 0x00, 0x21, 0x21 },
2494 { 0x00, 0x22, 0x22 },
2495 { 0x00, 0x23, 0x23 },
2496 { 0x00, 0x24, 0x24 },
2497 { 0x00, 0x25, 0x25 },
2498 { 0x00, 0x26, 0x26 },
2499 { 0x00, 0x27, 0x27 },
2500 { 0x00, 0x28, 0x28 },
2501 { 0x00, 0x29, 0x29 },
2502 { 0x00, 0x2a, 0x2a },
2503 { 0x00, 0x2b, 0x2b },
2504 { 0x00, 0x2c, 0x2c },
2505 { 0x00, 0x2d, 0x2d },
2506 { 0x00, 0x2e, 0x2e },
2507 { 0x00, 0x2f, 0x2f },
2508 { 0x00, 0x30, 0x30 },
2509 { 0x00, 0x31, 0x31 },
2510 { 0x00, 0x32, 0x32 },
2511 { 0x00, 0x33, 0x33 },
2512 { 0x00, 0x34, 0x34 },
2513 { 0x00, 0x35, 0x35 },
2514 { 0x00, 0x36, 0x36 },
2515 { 0x00, 0x37, 0x37 },
2516 { 0x00, 0x38, 0x38 },
2517 { 0x00, 0x39, 0x39 },
2518 { 0x00, 0x3a, 0x3a },
2519 { 0x00, 0x3b, 0x3b },
2520 { 0x00, 0x3c, 0x3c },
2521 { 0x00, 0x3d, 0x3d },
2522 { 0x00, 0x3e, 0x3e },
2523 { 0x00, 0x3f, 0x3f },
2524 { 0x00, 0x40, 0x40 },
2525 { 0x01, 0x61, 0x41 },
2526 { 0x01, 0x62, 0x42 },
2527 { 0x01, 0x63, 0x43 },
2528 { 0x01, 0x64, 0x44 },
2529 { 0x01, 0x65, 0x45 },
2530 { 0x01, 0x66, 0x46 },
2531 { 0x01, 0x67, 0x47 },
2532 { 0x01, 0x68, 0x48 },
2533 { 0x01, 0x69, 0x49 },
2534 { 0x01, 0x6a, 0x4a },
2535 { 0x01, 0x6b, 0x4b },
2536 { 0x01, 0x6c, 0x4c },
2537 { 0x01, 0x6d, 0x4d },
2538 { 0x01, 0x6e, 0x4e },
2539 { 0x01, 0x6f, 0x4f },
2540 { 0x01, 0x70, 0x50 },
2541 { 0x01, 0x71, 0x51 },
2542 { 0x01, 0x72, 0x52 },
2543 { 0x01, 0x73, 0x53 },
2544 { 0x01, 0x74, 0x54 },
2545 { 0x01, 0x75, 0x55 },
2546 { 0x01, 0x76, 0x56 },
2547 { 0x01, 0x77, 0x57 },
2548 { 0x01, 0x78, 0x58 },
2549 { 0x01, 0x79, 0x59 },
2550 { 0x01, 0x7a, 0x5a },
2551 { 0x00, 0x5b, 0x5b },
2552 { 0x00, 0x5c, 0x5c },
2553 { 0x00, 0x5d, 0x5d },
2554 { 0x00, 0x5e, 0x5e },
2555 { 0x00, 0x5f, 0x5f },
2556 { 0x00, 0x60, 0x60 },
2557 { 0x00, 0x61, 0x41 },
2558 { 0x00, 0x62, 0x42 },
2559 { 0x00, 0x63, 0x43 },
2560 { 0x00, 0x64, 0x44 },
2561 { 0x00, 0x65, 0x45 },
2562 { 0x00, 0x66, 0x46 },
2563 { 0x00, 0x67, 0x47 },
2564 { 0x00, 0x68, 0x48 },
2565 { 0x00, 0x69, 0x49 },
2566 { 0x00, 0x6a, 0x4a },
2567 { 0x00, 0x6b, 0x4b },
2568 { 0x00, 0x6c, 0x4c },
2569 { 0x00, 0x6d, 0x4d },
2570 { 0x00, 0x6e, 0x4e },
2571 { 0x00, 0x6f, 0x4f },
2572 { 0x00, 0x70, 0x50 },
2573 { 0x00, 0x71, 0x51 },
2574 { 0x00, 0x72, 0x52 },
2575 { 0x00, 0x73, 0x53 },
2576 { 0x00, 0x74, 0x54 },
2577 { 0x00, 0x75, 0x55 },
2578 { 0x00, 0x76, 0x56 },
2579 { 0x00, 0x77, 0x57 },
2580 { 0x00, 0x78, 0x58 },
2581 { 0x00, 0x79, 0x59 },
2582 { 0x00, 0x7a, 0x5a },
2583 { 0x00, 0x7b, 0x7b },
2584 { 0x00, 0x7c, 0x7c },
2585 { 0x00, 0x7d, 0x7d },
2586 { 0x00, 0x7e, 0x7e },
2587 { 0x00, 0x7f, 0x7f },
2588 { 0x00, 0x80, 0x80 },
2589 { 0x00, 0x81, 0x81 },
2590 { 0x00, 0x82, 0x82 },
2591 { 0x00, 0x83, 0x83 },
2592 { 0x00, 0x84, 0x84 },
2593 { 0x00, 0x85, 0x85 },
2594 { 0x00, 0x86, 0x86 },
2595 { 0x00, 0x87, 0x87 },
2596 { 0x00, 0x88, 0x88 },
2597 { 0x00, 0x89, 0x89 },
2598 { 0x00, 0x8a, 0x8a },
2599 { 0x00, 0x8b, 0x8b },
2600 { 0x00, 0x8c, 0x8c },
2601 { 0x00, 0x8d, 0x8d },
2602 { 0x00, 0x8e, 0x8e },
2603 { 0x00, 0x8f, 0x8f },
2604 { 0x00, 0x90, 0x90 },
2605 { 0x00, 0x91, 0x91 },
2606 { 0x00, 0x92, 0x92 },
2607 { 0x00, 0x93, 0x93 },
2608 { 0x00, 0x94, 0x94 },
2609 { 0x00, 0x95, 0x95 },
2610 { 0x00, 0x96, 0x96 },
2611 { 0x00, 0x97, 0x97 },
2612 { 0x00, 0x98, 0x98 },
2613 { 0x00, 0x99, 0x99 },
2614 { 0x00, 0x9a, 0x9a },
2615 { 0x00, 0x9b, 0x9b },
2616 { 0x00, 0x9c, 0x9c },
2617 { 0x00, 0x9d, 0x9d },
2618 { 0x00, 0x9e, 0x9e },
2619 { 0x00, 0x9f, 0x9f },
2620 { 0x00, 0xa0, 0xa0 },
2621 { 0x00, 0xa1, 0xa1 },
2622 { 0x00, 0xa2, 0xa2 },
2623 { 0x00, 0xa3, 0xa3 },
2624 { 0x00, 0xa4, 0xa4 },
2625 { 0x00, 0xa5, 0xa5 },
2626 { 0x00, 0xa6, 0xa6 },
2627 { 0x00, 0xa7, 0xa7 },
2628 { 0x00, 0xa8, 0xa8 },
2629 { 0x00, 0xa9, 0xa9 },
2630 { 0x00, 0xaa, 0xaa },
2631 { 0x00, 0xab, 0xab },
2632 { 0x00, 0xac, 0xac },
2633 { 0x00, 0xad, 0xad },
2634 { 0x00, 0xae, 0xae },
2635 { 0x00, 0xaf, 0xaf },
2636 { 0x00, 0xb0, 0xb0 },
2637 { 0x00, 0xb1, 0xb1 },
2638 { 0x00, 0xb2, 0xb2 },
2639 { 0x00, 0xb3, 0xb3 },
2640 { 0x00, 0xb4, 0xb4 },
2641 { 0x00, 0xb5, 0xb5 },
2642 { 0x00, 0xb6, 0xb6 },
2643 { 0x00, 0xb7, 0xb7 },
2644 { 0x00, 0xb8, 0xb8 },
2645 { 0x00, 0xb9, 0xb9 },
2646 { 0x00, 0xba, 0xba },
2647 { 0x00, 0xbb, 0xbb },
2648 { 0x00, 0xbc, 0xbc },
2649 { 0x00, 0xbd, 0xbd },
2650 { 0x00, 0xbe, 0xbe },
2651 { 0x00, 0xbf, 0xbf },
2652 { 0x00, 0xc0, 0xc0 },
2653 { 0x00, 0xc1, 0xc1 },
2654 { 0x00, 0xc2, 0xc2 },
2655 { 0x00, 0xc3, 0xc3 },
2656 { 0x00, 0xc4, 0xc4 },
2657 { 0x00, 0xc5, 0xc5 },
2658 { 0x00, 0xc6, 0xc6 },
2659 { 0x00, 0xc7, 0xc7 },
2660 { 0x00, 0xc8, 0xc8 },
2661 { 0x00, 0xc9, 0xc9 },
2662 { 0x00, 0xca, 0xca },
2663 { 0x00, 0xcb, 0xcb },
2664 { 0x00, 0xcc, 0xcc },
2665 { 0x00, 0xcd, 0xcd },
2666 { 0x00, 0xce, 0xce },
2667 { 0x00, 0xcf, 0xcf },
2668 { 0x00, 0xd0, 0xd0 },
2669 { 0x00, 0xd1, 0xd1 },
2670 { 0x00, 0xd2, 0xd2 },
2671 { 0x00, 0xd3, 0xd3 },
2672 { 0x00, 0xd4, 0xd4 },
2673 { 0x00, 0xd5, 0xd5 },
2674 { 0x00, 0xd6, 0xd6 },
2675 { 0x00, 0xd7, 0xd7 },
2676 { 0x00, 0xd8, 0xd8 },
2677 { 0x00, 0xd9, 0xd9 },
2678 { 0x00, 0xda, 0xda },
2679 { 0x00, 0xdb, 0xdb },
2680 { 0x00, 0xdc, 0xdc },
2681 { 0x00, 0xdd, 0xdd },
2682 { 0x00, 0xde, 0xde },
2683 { 0x00, 0xdf, 0xdf },
2684 { 0x00, 0xe0, 0xe0 },
2685 { 0x00, 0xe1, 0xe1 },
2686 { 0x00, 0xe2, 0xe2 },
2687 { 0x00, 0xe3, 0xe3 },
2688 { 0x00, 0xe4, 0xe4 },
2689 { 0x00, 0xe5, 0xe5 },
2690 { 0x00, 0xe6, 0xe6 },
2691 { 0x00, 0xe7, 0xe7 },
2692 { 0x00, 0xe8, 0xe8 },
2693 { 0x00, 0xe9, 0xe9 },
2694 { 0x00, 0xea, 0xea },
2695 { 0x00, 0xeb, 0xeb },
2696 { 0x00, 0xec, 0xec },
2697 { 0x00, 0xed, 0xed },
2698 { 0x00, 0xee, 0xee },
2699 { 0x00, 0xef, 0xef },
2700 { 0x00, 0xf0, 0xf0 },
2701 { 0x00, 0xf1, 0xf1 },
2702 { 0x00, 0xf2, 0xf2 },
2703 { 0x00, 0xf3, 0xf3 },
2704 { 0x00, 0xf4, 0xf4 },
2705 { 0x00, 0xf5, 0xf5 },
2706 { 0x00, 0xf6, 0xf6 },
2707 { 0x00, 0xf7, 0xf7 },
2708 { 0x00, 0xf8, 0xf8 },
2709 { 0x00, 0xf9, 0xf9 },
2710 { 0x00, 0xfa, 0xfa },
2711 { 0x00, 0xfb, 0xfb },
2712 { 0x00, 0xfc, 0xfc },
2713 { 0x00, 0xfd, 0xfd },
2714 { 0x00, 0xfe, 0xfe },
2715 { 0x00, 0xff, 0xff },
2716 };
2717 
2718 struct cs_info koi8r_tbl[] = {
2719 { 0x00, 0x00, 0x00 },
2720 { 0x00, 0x01, 0x01 },
2721 { 0x00, 0x02, 0x02 },
2722 { 0x00, 0x03, 0x03 },
2723 { 0x00, 0x04, 0x04 },
2724 { 0x00, 0x05, 0x05 },
2725 { 0x00, 0x06, 0x06 },
2726 { 0x00, 0x07, 0x07 },
2727 { 0x00, 0x08, 0x08 },
2728 { 0x00, 0x09, 0x09 },
2729 { 0x00, 0x0a, 0x0a },
2730 { 0x00, 0x0b, 0x0b },
2731 { 0x00, 0x0c, 0x0c },
2732 { 0x00, 0x0d, 0x0d },
2733 { 0x00, 0x0e, 0x0e },
2734 { 0x00, 0x0f, 0x0f },
2735 { 0x00, 0x10, 0x10 },
2736 { 0x00, 0x11, 0x11 },
2737 { 0x00, 0x12, 0x12 },
2738 { 0x00, 0x13, 0x13 },
2739 { 0x00, 0x14, 0x14 },
2740 { 0x00, 0x15, 0x15 },
2741 { 0x00, 0x16, 0x16 },
2742 { 0x00, 0x17, 0x17 },
2743 { 0x00, 0x18, 0x18 },
2744 { 0x00, 0x19, 0x19 },
2745 { 0x00, 0x1a, 0x1a },
2746 { 0x00, 0x1b, 0x1b },
2747 { 0x00, 0x1c, 0x1c },
2748 { 0x00, 0x1d, 0x1d },
2749 { 0x00, 0x1e, 0x1e },
2750 { 0x00, 0x1f, 0x1f },
2751 { 0x00, 0x20, 0x20 },
2752 { 0x00, 0x21, 0x21 },
2753 { 0x00, 0x22, 0x22 },
2754 { 0x00, 0x23, 0x23 },
2755 { 0x00, 0x24, 0x24 },
2756 { 0x00, 0x25, 0x25 },
2757 { 0x00, 0x26, 0x26 },
2758 { 0x00, 0x27, 0x27 },
2759 { 0x00, 0x28, 0x28 },
2760 { 0x00, 0x29, 0x29 },
2761 { 0x00, 0x2a, 0x2a },
2762 { 0x00, 0x2b, 0x2b },
2763 { 0x00, 0x2c, 0x2c },
2764 { 0x00, 0x2d, 0x2d },
2765 { 0x00, 0x2e, 0x2e },
2766 { 0x00, 0x2f, 0x2f },
2767 { 0x00, 0x30, 0x30 },
2768 { 0x00, 0x31, 0x31 },
2769 { 0x00, 0x32, 0x32 },
2770 { 0x00, 0x33, 0x33 },
2771 { 0x00, 0x34, 0x34 },
2772 { 0x00, 0x35, 0x35 },
2773 { 0x00, 0x36, 0x36 },
2774 { 0x00, 0x37, 0x37 },
2775 { 0x00, 0x38, 0x38 },
2776 { 0x00, 0x39, 0x39 },
2777 { 0x00, 0x3a, 0x3a },
2778 { 0x00, 0x3b, 0x3b },
2779 { 0x00, 0x3c, 0x3c },
2780 { 0x00, 0x3d, 0x3d },
2781 { 0x00, 0x3e, 0x3e },
2782 { 0x00, 0x3f, 0x3f },
2783 { 0x00, 0x40, 0x40 },
2784 { 0x01, 0x61, 0x41 },
2785 { 0x01, 0x62, 0x42 },
2786 { 0x01, 0x63, 0x43 },
2787 { 0x01, 0x64, 0x44 },
2788 { 0x01, 0x65, 0x45 },
2789 { 0x01, 0x66, 0x46 },
2790 { 0x01, 0x67, 0x47 },
2791 { 0x01, 0x68, 0x48 },
2792 { 0x01, 0x69, 0x49 },
2793 { 0x01, 0x6a, 0x4a },
2794 { 0x01, 0x6b, 0x4b },
2795 { 0x01, 0x6c, 0x4c },
2796 { 0x01, 0x6d, 0x4d },
2797 { 0x01, 0x6e, 0x4e },
2798 { 0x01, 0x6f, 0x4f },
2799 { 0x01, 0x70, 0x50 },
2800 { 0x01, 0x71, 0x51 },
2801 { 0x01, 0x72, 0x52 },
2802 { 0x01, 0x73, 0x53 },
2803 { 0x01, 0x74, 0x54 },
2804 { 0x01, 0x75, 0x55 },
2805 { 0x01, 0x76, 0x56 },
2806 { 0x01, 0x77, 0x57 },
2807 { 0x01, 0x78, 0x58 },
2808 { 0x01, 0x79, 0x59 },
2809 { 0x01, 0x7a, 0x5a },
2810 { 0x00, 0x5b, 0x5b },
2811 { 0x00, 0x5c, 0x5c },
2812 { 0x00, 0x5d, 0x5d },
2813 { 0x00, 0x5e, 0x5e },
2814 { 0x00, 0x5f, 0x5f },
2815 { 0x00, 0x60, 0x60 },
2816 { 0x00, 0x61, 0x41 },
2817 { 0x00, 0x62, 0x42 },
2818 { 0x00, 0x63, 0x43 },
2819 { 0x00, 0x64, 0x44 },
2820 { 0x00, 0x65, 0x45 },
2821 { 0x00, 0x66, 0x46 },
2822 { 0x00, 0x67, 0x47 },
2823 { 0x00, 0x68, 0x48 },
2824 { 0x00, 0x69, 0x49 },
2825 { 0x00, 0x6a, 0x4a },
2826 { 0x00, 0x6b, 0x4b },
2827 { 0x00, 0x6c, 0x4c },
2828 { 0x00, 0x6d, 0x4d },
2829 { 0x00, 0x6e, 0x4e },
2830 { 0x00, 0x6f, 0x4f },
2831 { 0x00, 0x70, 0x50 },
2832 { 0x00, 0x71, 0x51 },
2833 { 0x00, 0x72, 0x52 },
2834 { 0x00, 0x73, 0x53 },
2835 { 0x00, 0x74, 0x54 },
2836 { 0x00, 0x75, 0x55 },
2837 { 0x00, 0x76, 0x56 },
2838 { 0x00, 0x77, 0x57 },
2839 { 0x00, 0x78, 0x58 },
2840 { 0x00, 0x79, 0x59 },
2841 { 0x00, 0x7a, 0x5a },
2842 { 0x00, 0x7b, 0x7b },
2843 { 0x00, 0x7c, 0x7c },
2844 { 0x00, 0x7d, 0x7d },
2845 { 0x00, 0x7e, 0x7e },
2846 { 0x00, 0x7f, 0x7f },
2847 { 0x00, 0x80, 0x80 },
2848 { 0x00, 0x81, 0x81 },
2849 { 0x00, 0x82, 0x82 },
2850 { 0x00, 0x83, 0x83 },
2851 { 0x00, 0x84, 0x84 },
2852 { 0x00, 0x85, 0x85 },
2853 { 0x00, 0x86, 0x86 },
2854 { 0x00, 0x87, 0x87 },
2855 { 0x00, 0x88, 0x88 },
2856 { 0x00, 0x89, 0x89 },
2857 { 0x00, 0x8a, 0x8a },
2858 { 0x00, 0x8b, 0x8b },
2859 { 0x00, 0x8c, 0x8c },
2860 { 0x00, 0x8d, 0x8d },
2861 { 0x00, 0x8e, 0x8e },
2862 { 0x00, 0x8f, 0x8f },
2863 { 0x00, 0x90, 0x90 },
2864 { 0x00, 0x91, 0x91 },
2865 { 0x00, 0x92, 0x92 },
2866 { 0x00, 0x93, 0x93 },
2867 { 0x00, 0x94, 0x94 },
2868 { 0x00, 0x95, 0x95 },
2869 { 0x00, 0x96, 0x96 },
2870 { 0x00, 0x97, 0x97 },
2871 { 0x00, 0x98, 0x98 },
2872 { 0x00, 0x99, 0x99 },
2873 { 0x00, 0x9a, 0x9a },
2874 { 0x00, 0x9b, 0x9b },
2875 { 0x00, 0x9c, 0x9c },
2876 { 0x00, 0x9d, 0x9d },
2877 { 0x00, 0x9e, 0x9e },
2878 { 0x00, 0x9f, 0x9f },
2879 { 0x00, 0xa0, 0xa0 },
2880 { 0x00, 0xa1, 0xa1 },
2881 { 0x00, 0xa2, 0xa2 },
2882 { 0x00, 0xa3, 0xb3 },
2883 { 0x00, 0xa4, 0xa4 },
2884 { 0x00, 0xa5, 0xa5 },
2885 { 0x00, 0xa6, 0xa6 },
2886 { 0x00, 0xa7, 0xa7 },
2887 { 0x00, 0xa8, 0xa8 },
2888 { 0x00, 0xa9, 0xa9 },
2889 { 0x00, 0xaa, 0xaa },
2890 { 0x00, 0xab, 0xab },
2891 { 0x00, 0xac, 0xac },
2892 { 0x00, 0xad, 0xad },
2893 { 0x00, 0xae, 0xae },
2894 { 0x00, 0xaf, 0xaf },
2895 { 0x00, 0xb0, 0xb0 },
2896 { 0x00, 0xb1, 0xb1 },
2897 { 0x00, 0xb2, 0xb2 },
2898 { 0x01, 0xa3, 0xb3 },
2899 { 0x00, 0xb4, 0xb4 },
2900 { 0x00, 0xb5, 0xb5 },
2901 { 0x00, 0xb6, 0xb6 },
2902 { 0x00, 0xb7, 0xb7 },
2903 { 0x00, 0xb8, 0xb8 },
2904 { 0x00, 0xb9, 0xb9 },
2905 { 0x00, 0xba, 0xba },
2906 { 0x00, 0xbb, 0xbb },
2907 { 0x00, 0xbc, 0xbc },
2908 { 0x00, 0xbd, 0xbd },
2909 { 0x00, 0xbe, 0xbe },
2910 { 0x00, 0xbf, 0xbf },
2911 { 0x00, 0xc0, 0xe0 },
2912 { 0x00, 0xc1, 0xe1 },
2913 { 0x00, 0xc2, 0xe2 },
2914 { 0x00, 0xc3, 0xe3 },
2915 { 0x00, 0xc4, 0xe4 },
2916 { 0x00, 0xc5, 0xe5 },
2917 { 0x00, 0xc6, 0xe6 },
2918 { 0x00, 0xc7, 0xe7 },
2919 { 0x00, 0xc8, 0xe8 },
2920 { 0x00, 0xc9, 0xe9 },
2921 { 0x00, 0xca, 0xea },
2922 { 0x00, 0xcb, 0xeb },
2923 { 0x00, 0xcc, 0xec },
2924 { 0x00, 0xcd, 0xed },
2925 { 0x00, 0xce, 0xee },
2926 { 0x00, 0xcf, 0xef },
2927 { 0x00, 0xd0, 0xf0 },
2928 { 0x00, 0xd1, 0xf1 },
2929 { 0x00, 0xd2, 0xf2 },
2930 { 0x00, 0xd3, 0xf3 },
2931 { 0x00, 0xd4, 0xf4 },
2932 { 0x00, 0xd5, 0xf5 },
2933 { 0x00, 0xd6, 0xf6 },
2934 { 0x00, 0xd7, 0xf7 },
2935 { 0x00, 0xd8, 0xf8 },
2936 { 0x00, 0xd9, 0xf9 },
2937 { 0x00, 0xda, 0xfa },
2938 { 0x00, 0xdb, 0xfb },
2939 { 0x00, 0xdc, 0xfc },
2940 { 0x00, 0xdd, 0xfd },
2941 { 0x00, 0xde, 0xfe },
2942 { 0x00, 0xdf, 0xff },
2943 { 0x01, 0xc0, 0xe0 },
2944 { 0x01, 0xc1, 0xe1 },
2945 { 0x01, 0xc2, 0xe2 },
2946 { 0x01, 0xc3, 0xe3 },
2947 { 0x01, 0xc4, 0xe4 },
2948 { 0x01, 0xc5, 0xe5 },
2949 { 0x01, 0xc6, 0xe6 },
2950 { 0x01, 0xc7, 0xe7 },
2951 { 0x01, 0xc8, 0xe8 },
2952 { 0x01, 0xc9, 0xe9 },
2953 { 0x01, 0xca, 0xea },
2954 { 0x01, 0xcb, 0xeb },
2955 { 0x01, 0xcc, 0xec },
2956 { 0x01, 0xcd, 0xed },
2957 { 0x01, 0xce, 0xee },
2958 { 0x01, 0xcf, 0xef },
2959 { 0x01, 0xd0, 0xf0 },
2960 { 0x01, 0xd1, 0xf1 },
2961 { 0x01, 0xd2, 0xf2 },
2962 { 0x01, 0xd3, 0xf3 },
2963 { 0x01, 0xd4, 0xf4 },
2964 { 0x01, 0xd5, 0xf5 },
2965 { 0x01, 0xd6, 0xf6 },
2966 { 0x01, 0xd7, 0xf7 },
2967 { 0x01, 0xd8, 0xf8 },
2968 { 0x01, 0xd9, 0xf9 },
2969 { 0x01, 0xda, 0xfa },
2970 { 0x01, 0xdb, 0xfb },
2971 { 0x01, 0xdc, 0xfc },
2972 { 0x01, 0xdd, 0xfd },
2973 { 0x01, 0xde, 0xfe },
2974 { 0x01, 0xdf, 0xff },
2975 };
2976 
2977 struct cs_info cp1251_tbl[] = {
2978 { 0x00, 0x00, 0x00 },
2979 { 0x00, 0x01, 0x01 },
2980 { 0x00, 0x02, 0x02 },
2981 { 0x00, 0x03, 0x03 },
2982 { 0x00, 0x04, 0x04 },
2983 { 0x00, 0x05, 0x05 },
2984 { 0x00, 0x06, 0x06 },
2985 { 0x00, 0x07, 0x07 },
2986 { 0x00, 0x08, 0x08 },
2987 { 0x00, 0x09, 0x09 },
2988 { 0x00, 0x0a, 0x0a },
2989 { 0x00, 0x0b, 0x0b },
2990 { 0x00, 0x0c, 0x0c },
2991 { 0x00, 0x0d, 0x0d },
2992 { 0x00, 0x0e, 0x0e },
2993 { 0x00, 0x0f, 0x0f },
2994 { 0x00, 0x10, 0x10 },
2995 { 0x00, 0x11, 0x11 },
2996 { 0x00, 0x12, 0x12 },
2997 { 0x00, 0x13, 0x13 },
2998 { 0x00, 0x14, 0x14 },
2999 { 0x00, 0x15, 0x15 },
3000 { 0x00, 0x16, 0x16 },
3001 { 0x00, 0x17, 0x17 },
3002 { 0x00, 0x18, 0x18 },
3003 { 0x00, 0x19, 0x19 },
3004 { 0x00, 0x1a, 0x1a },
3005 { 0x00, 0x1b, 0x1b },
3006 { 0x00, 0x1c, 0x1c },
3007 { 0x00, 0x1d, 0x1d },
3008 { 0x00, 0x1e, 0x1e },
3009 { 0x00, 0x1f, 0x1f },
3010 { 0x00, 0x20, 0x20 },
3011 { 0x00, 0x21, 0x21 },
3012 { 0x00, 0x22, 0x22 },
3013 { 0x00, 0x23, 0x23 },
3014 { 0x00, 0x24, 0x24 },
3015 { 0x00, 0x25, 0x25 },
3016 { 0x00, 0x26, 0x26 },
3017 { 0x00, 0x27, 0x27 },
3018 { 0x00, 0x28, 0x28 },
3019 { 0x00, 0x29, 0x29 },
3020 { 0x00, 0x2a, 0x2a },
3021 { 0x00, 0x2b, 0x2b },
3022 { 0x00, 0x2c, 0x2c },
3023 { 0x00, 0x2d, 0x2d },
3024 { 0x00, 0x2e, 0x2e },
3025 { 0x00, 0x2f, 0x2f },
3026 { 0x00, 0x30, 0x30 },
3027 { 0x00, 0x31, 0x31 },
3028 { 0x00, 0x32, 0x32 },
3029 { 0x00, 0x33, 0x33 },
3030 { 0x00, 0x34, 0x34 },
3031 { 0x00, 0x35, 0x35 },
3032 { 0x00, 0x36, 0x36 },
3033 { 0x00, 0x37, 0x37 },
3034 { 0x00, 0x38, 0x38 },
3035 { 0x00, 0x39, 0x39 },
3036 { 0x00, 0x3a, 0x3a },
3037 { 0x00, 0x3b, 0x3b },
3038 { 0x00, 0x3c, 0x3c },
3039 { 0x00, 0x3d, 0x3d },
3040 { 0x00, 0x3e, 0x3e },
3041 { 0x00, 0x3f, 0x3f },
3042 { 0x00, 0x40, 0x40 },
3043 { 0x01, 0x61, 0x41 },
3044 { 0x01, 0x62, 0x42 },
3045 { 0x01, 0x63, 0x43 },
3046 { 0x01, 0x64, 0x44 },
3047 { 0x01, 0x65, 0x45 },
3048 { 0x01, 0x66, 0x46 },
3049 { 0x01, 0x67, 0x47 },
3050 { 0x01, 0x68, 0x48 },
3051 { 0x01, 0x69, 0x49 },
3052 { 0x01, 0x6a, 0x4a },
3053 { 0x01, 0x6b, 0x4b },
3054 { 0x01, 0x6c, 0x4c },
3055 { 0x01, 0x6d, 0x4d },
3056 { 0x01, 0x6e, 0x4e },
3057 { 0x01, 0x6f, 0x4f },
3058 { 0x01, 0x70, 0x50 },
3059 { 0x01, 0x71, 0x51 },
3060 { 0x01, 0x72, 0x52 },
3061 { 0x01, 0x73, 0x53 },
3062 { 0x01, 0x74, 0x54 },
3063 { 0x01, 0x75, 0x55 },
3064 { 0x01, 0x76, 0x56 },
3065 { 0x01, 0x77, 0x57 },
3066 { 0x01, 0x78, 0x58 },
3067 { 0x01, 0x79, 0x59 },
3068 { 0x01, 0x7a, 0x5a },
3069 { 0x00, 0x5b, 0x5b },
3070 { 0x00, 0x5c, 0x5c },
3071 { 0x00, 0x5d, 0x5d },
3072 { 0x00, 0x5e, 0x5e },
3073 { 0x00, 0x5f, 0x5f },
3074 { 0x00, 0x60, 0x60 },
3075 { 0x00, 0x61, 0x41 },
3076 { 0x00, 0x62, 0x42 },
3077 { 0x00, 0x63, 0x43 },
3078 { 0x00, 0x64, 0x44 },
3079 { 0x00, 0x65, 0x45 },
3080 { 0x00, 0x66, 0x46 },
3081 { 0x00, 0x67, 0x47 },
3082 { 0x00, 0x68, 0x48 },
3083 { 0x00, 0x69, 0x49 },
3084 { 0x00, 0x6a, 0x4a },
3085 { 0x00, 0x6b, 0x4b },
3086 { 0x00, 0x6c, 0x4c },
3087 { 0x00, 0x6d, 0x4d },
3088 { 0x00, 0x6e, 0x4e },
3089 { 0x00, 0x6f, 0x4f },
3090 { 0x00, 0x70, 0x50 },
3091 { 0x00, 0x71, 0x51 },
3092 { 0x00, 0x72, 0x52 },
3093 { 0x00, 0x73, 0x53 },
3094 { 0x00, 0x74, 0x54 },
3095 { 0x00, 0x75, 0x55 },
3096 { 0x00, 0x76, 0x56 },
3097 { 0x00, 0x77, 0x57 },
3098 { 0x00, 0x78, 0x58 },
3099 { 0x00, 0x79, 0x59 },
3100 { 0x00, 0x7a, 0x5a },
3101 { 0x00, 0x7b, 0x7b },
3102 { 0x00, 0x7c, 0x7c },
3103 { 0x00, 0x7d, 0x7d },
3104 { 0x00, 0x7e, 0x7e },
3105 { 0x00, 0x7f, 0x7f },
3106 { 0x00, 0x80, 0x80 },
3107 { 0x00, 0x81, 0x81 },
3108 { 0x00, 0x82, 0x82 },
3109 { 0x00, 0x83, 0x83 },
3110 { 0x00, 0x84, 0x84 },
3111 { 0x00, 0x85, 0x85 },
3112 { 0x00, 0x86, 0x86 },
3113 { 0x00, 0x87, 0x87 },
3114 { 0x00, 0x88, 0x88 },
3115 { 0x00, 0x89, 0x89 },
3116 { 0x00, 0x8a, 0x8a },
3117 { 0x00, 0x8b, 0x8b },
3118 { 0x00, 0x8c, 0x8c },
3119 { 0x00, 0x8d, 0x8d },
3120 { 0x00, 0x8e, 0x8e },
3121 { 0x00, 0x8f, 0x8f },
3122 { 0x00, 0x90, 0x90 },
3123 { 0x00, 0x91, 0x91 },
3124 { 0x00, 0x92, 0x92 },
3125 { 0x00, 0x93, 0x93 },
3126 { 0x00, 0x94, 0x94 },
3127 { 0x00, 0x95, 0x95 },
3128 { 0x00, 0x96, 0x96 },
3129 { 0x00, 0x97, 0x97 },
3130 { 0x00, 0x98, 0x98 },
3131 { 0x00, 0x99, 0x99 },
3132 { 0x00, 0x9a, 0x9a },
3133 { 0x00, 0x9b, 0x9b },
3134 { 0x00, 0x9c, 0x9c },
3135 { 0x00, 0x9d, 0x9d },
3136 { 0x00, 0x9e, 0x9e },
3137 { 0x00, 0x9f, 0x9f },
3138 { 0x00, 0xa0, 0xa0 },
3139 { 0x00, 0xa1, 0xa1 },
3140 { 0x00, 0xa2, 0xa2 },
3141 { 0x00, 0xa3, 0xa3 },
3142 { 0x00, 0xa4, 0xa4 },
3143 { 0x00, 0xa5, 0xa5 },
3144 { 0x00, 0xa6, 0xa6 },
3145 { 0x00, 0xa7, 0xa7 },
3146 { 0x00, 0xa8, 0xa8 },
3147 { 0x00, 0xa9, 0xa9 },
3148 { 0x00, 0xaa, 0xaa },
3149 { 0x00, 0xab, 0xab },
3150 { 0x00, 0xac, 0xac },
3151 { 0x00, 0xad, 0xad },
3152 { 0x00, 0xae, 0xae },
3153 { 0x00, 0xaf, 0xaf },
3154 { 0x00, 0xb0, 0xb0 },
3155 { 0x00, 0xb1, 0xb1 },
3156 { 0x00, 0xb2, 0xb2 },
3157 { 0x00, 0xb3, 0xb3 },
3158 { 0x00, 0xb4, 0xb4 },
3159 { 0x00, 0xb5, 0xb5 },
3160 { 0x00, 0xb6, 0xb6 },
3161 { 0x00, 0xb7, 0xb7 },
3162 { 0x00, 0xb8, 0xb8 },
3163 { 0x00, 0xb9, 0xb9 },
3164 { 0x00, 0xba, 0xba },
3165 { 0x00, 0xbb, 0xbb },
3166 { 0x00, 0xbc, 0xbc },
3167 { 0x00, 0xbd, 0xbd },
3168 { 0x00, 0xbe, 0xbe },
3169 { 0x00, 0xbf, 0xbf },
3170 { 0x00, 0xc0, 0xc0 },
3171 { 0x00, 0xc1, 0xc1 },
3172 { 0x00, 0xc2, 0xc2 },
3173 { 0x00, 0xc3, 0xc3 },
3174 { 0x00, 0xc4, 0xc4 },
3175 { 0x00, 0xc5, 0xc5 },
3176 { 0x00, 0xc6, 0xc6 },
3177 { 0x00, 0xc7, 0xc7 },
3178 { 0x00, 0xc8, 0xc8 },
3179 { 0x00, 0xc9, 0xc9 },
3180 { 0x00, 0xca, 0xca },
3181 { 0x00, 0xcb, 0xcb },
3182 { 0x00, 0xcc, 0xcc },
3183 { 0x00, 0xcd, 0xcd },
3184 { 0x00, 0xce, 0xce },
3185 { 0x00, 0xcf, 0xcf },
3186 { 0x00, 0xd0, 0xd0 },
3187 { 0x00, 0xd1, 0xd1 },
3188 { 0x00, 0xd2, 0xd2 },
3189 { 0x00, 0xd3, 0xd3 },
3190 { 0x00, 0xd4, 0xd4 },
3191 { 0x00, 0xd5, 0xd5 },
3192 { 0x00, 0xd6, 0xd6 },
3193 { 0x00, 0xd7, 0xd7 },
3194 { 0x00, 0xd8, 0xd8 },
3195 { 0x00, 0xd9, 0xd9 },
3196 { 0x00, 0xda, 0xda },
3197 { 0x00, 0xdb, 0xdb },
3198 { 0x00, 0xdc, 0xdc },
3199 { 0x00, 0xdd, 0xdd },
3200 { 0x00, 0xde, 0xde },
3201 { 0x00, 0xdf, 0xdf },
3202 { 0x00, 0xe0, 0xe0 },
3203 { 0x00, 0xe1, 0xe1 },
3204 { 0x00, 0xe2, 0xe2 },
3205 { 0x00, 0xe3, 0xe3 },
3206 { 0x00, 0xe4, 0xe4 },
3207 { 0x00, 0xe5, 0xe5 },
3208 { 0x00, 0xe6, 0xe6 },
3209 { 0x00, 0xe7, 0xe7 },
3210 { 0x00, 0xe8, 0xe8 },
3211 { 0x00, 0xe9, 0xe9 },
3212 { 0x00, 0xea, 0xea },
3213 { 0x00, 0xeb, 0xeb },
3214 { 0x00, 0xec, 0xec },
3215 { 0x00, 0xed, 0xed },
3216 { 0x00, 0xee, 0xee },
3217 { 0x00, 0xef, 0xef },
3218 { 0x00, 0xf0, 0xf0 },
3219 { 0x00, 0xf1, 0xf1 },
3220 { 0x00, 0xf2, 0xf2 },
3221 { 0x00, 0xf3, 0xf3 },
3222 { 0x00, 0xf4, 0xf4 },
3223 { 0x00, 0xf5, 0xf5 },
3224 { 0x00, 0xf6, 0xf6 },
3225 { 0x00, 0xf7, 0xf7 },
3226 { 0x00, 0xf8, 0xf8 },
3227 { 0x00, 0xf9, 0xf9 },
3228 { 0x00, 0xfa, 0xfa },
3229 { 0x00, 0xfb, 0xfb },
3230 { 0x00, 0xfc, 0xfc },
3231 { 0x00, 0xfd, 0xfd },
3232 { 0x00, 0xfe, 0xfe },
3233 { 0x00, 0xff, 0xff },
3234 };
3235 
3236 struct cs_info iso14_tbl[] = {
3237 { 0x00, 0x00, 0x00 },
3238 { 0x00, 0x01, 0x01 },
3239 { 0x00, 0x02, 0x02 },
3240 { 0x00, 0x03, 0x03 },
3241 { 0x00, 0x04, 0x04 },
3242 { 0x00, 0x05, 0x05 },
3243 { 0x00, 0x06, 0x06 },
3244 { 0x00, 0x07, 0x07 },
3245 { 0x00, 0x08, 0x08 },
3246 { 0x00, 0x09, 0x09 },
3247 { 0x00, 0x0a, 0x0a },
3248 { 0x00, 0x0b, 0x0b },
3249 { 0x00, 0x0c, 0x0c },
3250 { 0x00, 0x0d, 0x0d },
3251 { 0x00, 0x0e, 0x0e },
3252 { 0x00, 0x0f, 0x0f },
3253 { 0x00, 0x10, 0x10 },
3254 { 0x00, 0x11, 0x11 },
3255 { 0x00, 0x12, 0x12 },
3256 { 0x00, 0x13, 0x13 },
3257 { 0x00, 0x14, 0x14 },
3258 { 0x00, 0x15, 0x15 },
3259 { 0x00, 0x16, 0x16 },
3260 { 0x00, 0x17, 0x17 },
3261 { 0x00, 0x18, 0x18 },
3262 { 0x00, 0x19, 0x19 },
3263 { 0x00, 0x1a, 0x1a },
3264 { 0x00, 0x1b, 0x1b },
3265 { 0x00, 0x1c, 0x1c },
3266 { 0x00, 0x1d, 0x1d },
3267 { 0x00, 0x1e, 0x1e },
3268 { 0x00, 0x1f, 0x1f },
3269 { 0x00, 0x20, 0x20 },
3270 { 0x00, 0x21, 0x21 },
3271 { 0x00, 0x22, 0x22 },
3272 { 0x00, 0x23, 0x23 },
3273 { 0x00, 0x24, 0x24 },
3274 { 0x00, 0x25, 0x25 },
3275 { 0x00, 0x26, 0x26 },
3276 { 0x00, 0x27, 0x27 },
3277 { 0x00, 0x28, 0x28 },
3278 { 0x00, 0x29, 0x29 },
3279 { 0x00, 0x2a, 0x2a },
3280 { 0x00, 0x2b, 0x2b },
3281 { 0x00, 0x2c, 0x2c },
3282 { 0x00, 0x2d, 0x2d },
3283 { 0x00, 0x2e, 0x2e },
3284 { 0x00, 0x2f, 0x2f },
3285 { 0x00, 0x30, 0x30 },
3286 { 0x00, 0x31, 0x31 },
3287 { 0x00, 0x32, 0x32 },
3288 { 0x00, 0x33, 0x33 },
3289 { 0x00, 0x34, 0x34 },
3290 { 0x00, 0x35, 0x35 },
3291 { 0x00, 0x36, 0x36 },
3292 { 0x00, 0x37, 0x37 },
3293 { 0x00, 0x38, 0x38 },
3294 { 0x00, 0x39, 0x39 },
3295 { 0x00, 0x3a, 0x3a },
3296 { 0x00, 0x3b, 0x3b },
3297 { 0x00, 0x3c, 0x3c },
3298 { 0x00, 0x3d, 0x3d },
3299 { 0x00, 0x3e, 0x3e },
3300 { 0x00, 0x3f, 0x3f },
3301 { 0x00, 0x40, 0x40 },
3302 { 0x01, 0x61, 0x41 },
3303 { 0x01, 0x62, 0x42 },
3304 { 0x01, 0x63, 0x43 },
3305 { 0x01, 0x64, 0x44 },
3306 { 0x01, 0x65, 0x45 },
3307 { 0x01, 0x66, 0x46 },
3308 { 0x01, 0x67, 0x47 },
3309 { 0x01, 0x68, 0x48 },
3310 { 0x01, 0x69, 0x49 },
3311 { 0x01, 0x6a, 0x4a },
3312 { 0x01, 0x6b, 0x4b },
3313 { 0x01, 0x6c, 0x4c },
3314 { 0x01, 0x6d, 0x4d },
3315 { 0x01, 0x6e, 0x4e },
3316 { 0x01, 0x6f, 0x4f },
3317 { 0x01, 0x70, 0x50 },
3318 { 0x01, 0x71, 0x51 },
3319 { 0x01, 0x72, 0x52 },
3320 { 0x01, 0x73, 0x53 },
3321 { 0x01, 0x74, 0x54 },
3322 { 0x01, 0x75, 0x55 },
3323 { 0x01, 0x76, 0x56 },
3324 { 0x01, 0x77, 0x57 },
3325 { 0x01, 0x78, 0x58 },
3326 { 0x01, 0x79, 0x59 },
3327 { 0x01, 0x7a, 0x5a },
3328 { 0x00, 0x5b, 0x5b },
3329 { 0x00, 0x5c, 0x5c },
3330 { 0x00, 0x5d, 0x5d },
3331 { 0x00, 0x5e, 0x5e },
3332 { 0x00, 0x5f, 0x5f },
3333 { 0x00, 0x60, 0x60 },
3334 { 0x00, 0x61, 0x41 },
3335 { 0x00, 0x62, 0x42 },
3336 { 0x00, 0x63, 0x43 },
3337 { 0x00, 0x64, 0x44 },
3338 { 0x00, 0x65, 0x45 },
3339 { 0x00, 0x66, 0x46 },
3340 { 0x00, 0x67, 0x47 },
3341 { 0x00, 0x68, 0x48 },
3342 { 0x00, 0x69, 0x49 },
3343 { 0x00, 0x6a, 0x4a },
3344 { 0x00, 0x6b, 0x4b },
3345 { 0x00, 0x6c, 0x4c },
3346 { 0x00, 0x6d, 0x4d },
3347 { 0x00, 0x6e, 0x4e },
3348 { 0x00, 0x6f, 0x4f },
3349 { 0x00, 0x70, 0x50 },
3350 { 0x00, 0x71, 0x51 },
3351 { 0x00, 0x72, 0x52 },
3352 { 0x00, 0x73, 0x53 },
3353 { 0x00, 0x74, 0x54 },
3354 { 0x00, 0x75, 0x55 },
3355 { 0x00, 0x76, 0x56 },
3356 { 0x00, 0x77, 0x57 },
3357 { 0x00, 0x78, 0x58 },
3358 { 0x00, 0x79, 0x59 },
3359 { 0x00, 0x7a, 0x5a },
3360 { 0x00, 0x7b, 0x7b },
3361 { 0x00, 0x7c, 0x7c },
3362 { 0x00, 0x7d, 0x7d },
3363 { 0x00, 0x7e, 0x7e },
3364 { 0x00, 0x7f, 0x7f },
3365 { 0x00, 0x80, 0x80 },
3366 { 0x00, 0x81, 0x81 },
3367 { 0x00, 0x82, 0x82 },
3368 { 0x00, 0x83, 0x83 },
3369 { 0x00, 0x84, 0x84 },
3370 { 0x00, 0x85, 0x85 },
3371 { 0x00, 0x86, 0x86 },
3372 { 0x00, 0x87, 0x87 },
3373 { 0x00, 0x88, 0x88 },
3374 { 0x00, 0x89, 0x89 },
3375 { 0x00, 0x8a, 0x8a },
3376 { 0x00, 0x8b, 0x8b },
3377 { 0x00, 0x8c, 0x8c },
3378 { 0x00, 0x8d, 0x8d },
3379 { 0x00, 0x8e, 0x8e },
3380 { 0x00, 0x8f, 0x8f },
3381 { 0x00, 0x90, 0x90 },
3382 { 0x00, 0x91, 0x91 },
3383 { 0x00, 0x92, 0x92 },
3384 { 0x00, 0x93, 0x93 },
3385 { 0x00, 0x94, 0x94 },
3386 { 0x00, 0x95, 0x95 },
3387 { 0x00, 0x96, 0x96 },
3388 { 0x00, 0x97, 0x97 },
3389 { 0x00, 0x98, 0x98 },
3390 { 0x00, 0x99, 0x99 },
3391 { 0x00, 0x9a, 0x9a },
3392 { 0x00, 0x9b, 0x9b },
3393 { 0x00, 0x9c, 0x9c },
3394 { 0x00, 0x9d, 0x9d },
3395 { 0x00, 0x9e, 0x9e },
3396 { 0x00, 0x9f, 0x9f },
3397 { 0x00, 0xa0, 0xa0 },
3398 { 0x01, 0xa2, 0xa1 },
3399 { 0x00, 0xa2, 0xa1 },
3400 { 0x00, 0xa3, 0xa3 },
3401 { 0x01, 0xa5, 0xa4 },
3402 { 0x00, 0xa5, 0xa4 },
3403 { 0x01, 0xa6, 0xab },
3404 { 0x00, 0xa7, 0xa7 },
3405 { 0x01, 0xb8, 0xa8 },
3406 { 0x00, 0xa9, 0xa9 },
3407 { 0x01, 0xba, 0xaa },
3408 { 0x00, 0xab, 0xa6 },
3409 { 0x01, 0xbc, 0xac },
3410 { 0x00, 0xad, 0xad },
3411 { 0x00, 0xae, 0xae },
3412 { 0x01, 0xff, 0xaf },
3413 { 0x01, 0xb1, 0xb0 },
3414 { 0x00, 0xb1, 0xb0 },
3415 { 0x01, 0xb3, 0xb2 },
3416 { 0x00, 0xb3, 0xb2 },
3417 { 0x01, 0xb5, 0xb4 },
3418 { 0x00, 0xb5, 0xb4 },
3419 { 0x00, 0xb6, 0xb6 },
3420 { 0x01, 0xb9, 0xb7 },
3421 { 0x00, 0xb8, 0xa8 },
3422 { 0x00, 0xb9, 0xb6 },
3423 { 0x00, 0xba, 0xaa },
3424 { 0x01, 0xbf, 0xbb },
3425 { 0x00, 0xbc, 0xac },
3426 { 0x01, 0xbe, 0xbd },
3427 { 0x00, 0xbe, 0xbd },
3428 { 0x00, 0xbf, 0xbb },
3429 { 0x01, 0xe0, 0xc0 },
3430 { 0x01, 0xe1, 0xc1 },
3431 { 0x01, 0xe2, 0xc2 },
3432 { 0x01, 0xe3, 0xc3 },
3433 { 0x01, 0xe4, 0xc4 },
3434 { 0x01, 0xe5, 0xc5 },
3435 { 0x01, 0xe6, 0xc6 },
3436 { 0x01, 0xe7, 0xc7 },
3437 { 0x01, 0xe8, 0xc8 },
3438 { 0x01, 0xe9, 0xc9 },
3439 { 0x01, 0xea, 0xca },
3440 { 0x01, 0xeb, 0xcb },
3441 { 0x01, 0xec, 0xcc },
3442 { 0x01, 0xed, 0xcd },
3443 { 0x01, 0xee, 0xce },
3444 { 0x01, 0xef, 0xcf },
3445 { 0x01, 0xf0, 0xd0 },
3446 { 0x01, 0xf1, 0xd1 },
3447 { 0x01, 0xf2, 0xd2 },
3448 { 0x01, 0xf3, 0xd3 },
3449 { 0x01, 0xf4, 0xd4 },
3450 { 0x01, 0xf5, 0xd5 },
3451 { 0x01, 0xf6, 0xd6 },
3452 { 0x01, 0xf7, 0xd7 },
3453 { 0x01, 0xf8, 0xd8 },
3454 { 0x01, 0xf9, 0xd9 },
3455 { 0x01, 0xfa, 0xda },
3456 { 0x01, 0xfb, 0xdb },
3457 { 0x01, 0xfc, 0xdc },
3458 { 0x01, 0xfd, 0xdd },
3459 { 0x01, 0xfe, 0xde },
3460 { 0x00, 0xdf, 0xdf },
3461 { 0x00, 0xe0, 0xc0 },
3462 { 0x00, 0xe1, 0xc1 },
3463 { 0x00, 0xe2, 0xc2 },
3464 { 0x00, 0xe3, 0xc3 },
3465 { 0x00, 0xe4, 0xc4 },
3466 { 0x00, 0xe5, 0xc5 },
3467 { 0x00, 0xe6, 0xc6 },
3468 { 0x00, 0xe7, 0xc7 },
3469 { 0x00, 0xe8, 0xc8 },
3470 { 0x00, 0xe9, 0xc9 },
3471 { 0x00, 0xea, 0xca },
3472 { 0x00, 0xeb, 0xcb },
3473 { 0x00, 0xec, 0xcc },
3474 { 0x00, 0xed, 0xcd },
3475 { 0x00, 0xee, 0xce },
3476 { 0x00, 0xef, 0xcf },
3477 { 0x00, 0xf0, 0xd0 },
3478 { 0x00, 0xf1, 0xd1 },
3479 { 0x00, 0xf2, 0xd2 },
3480 { 0x00, 0xf3, 0xd3 },
3481 { 0x00, 0xf4, 0xd4 },
3482 { 0x00, 0xf5, 0xd5 },
3483 { 0x00, 0xf6, 0xd6 },
3484 { 0x00, 0xf7, 0xd7 },
3485 { 0x00, 0xf8, 0xd8 },
3486 { 0x00, 0xf9, 0xd9 },
3487 { 0x00, 0xfa, 0xda },
3488 { 0x00, 0xfb, 0xdb },
3489 { 0x00, 0xfc, 0xdc },
3490 { 0x00, 0xfd, 0xdd },
3491 { 0x00, 0xfe, 0xde },
3492 { 0x00, 0xff, 0xff },
3493 };
3494 
3495 
3496 struct enc_entry encds[] = {
3497 {"ISO8859-1",iso1_tbl},
3498 {"ISO8859-2",iso2_tbl},
3499 {"ISO8859-3",iso3_tbl},
3500 {"ISO8859-4",iso4_tbl},
3501 {"ISO8859-5",iso5_tbl},
3502 {"ISO8859-6",iso6_tbl},
3503 {"ISO8859-7",iso7_tbl},
3504 {"ISO8859-8",iso8_tbl},
3505 {"ISO8859-9",iso9_tbl},
3506 {"ISO8859-10",iso10_tbl},
3507 {"KOI8-R",koi8r_tbl},
3508 {"CP-1251",cp1251_tbl},
3509 {"ISO8859-14", iso14_tbl},
3510 };
3511 
3512 
get_current_cs(const char * es)3513 struct cs_info * get_current_cs(const char * es) {
3514   int i;
3515   struct cs_info * ccs = encds[0].cs_table;
3516   int n = sizeof(encds) / sizeof(encds[0]);
3517   for (i = 0; i < n; i++) {
3518     if (strcmp(es,encds[i].enc_name) == 0) {
3519       ccs = encds[i].cs_table;
3520     }
3521   }
3522   return ccs;
3523 }
3524 
3525 
3526 
3527 struct lang_map lang2enc[] = {
3528   {"ca","ISO8859-1"},
3529   {"cs","ISO8859-2"},
3530   {"da","ISO8859-1"},
3531   {"de","ISO8859-1"},
3532   {"el","ISO8859-7"},
3533   {"en","ISO8859-1"},
3534   {"es","ISO8859-1"},
3535   {"fr","ISO8859-1"},
3536   {"hr","ISO8859-2"},
3537   {"hu","ISO8859-2"},
3538   {"it","ISO8859-1"},
3539   {"la","ISO8859-1"},
3540   {"nl","ISO8859-1"},
3541   {"pl","ISO8859-2"},
3542   {"pt","ISO8859-1"},
3543   {"sv","ISO8859-1"},
3544   {"ru","KOI8-R"},
3545 };
3546 
3547 
get_default_enc(const char * lang)3548 const char * get_default_enc(const char * lang) {
3549   int i;
3550   int n = sizeof(lang2enc) / sizeof(lang2enc[0]);
3551   for (i = 0; i < n; i++) {
3552     if (strcmp(lang,lang2enc[i].lang) == 0) {
3553       return lang2enc[i].def_enc;
3554     }
3555   }
3556   return NULL;
3557 }
3558 
3559 
3560 
3561