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
11char * 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 */
39char * 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 */
52void 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  */
61void 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 */
73void 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 */
85void 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 */
94void 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 */
104void 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 */
114void 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
126struct 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
386struct 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
646struct 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
905struct 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
1164struct 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
1423struct 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
1682struct 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
1941struct 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
2200struct 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
2459struct 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
2718struct 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
2977struct 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
3236struct 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
3496struct 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
3513struct 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
3527struct 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
3548const 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