OSDN Git Service

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