| OLD | NEW |
| (Empty) |
| 1 #include "license.hunspell" | |
| 2 #include "license.myspell" | |
| 3 | |
| 4 #include <stdlib.h> | |
| 5 #include <string.h> | |
| 6 #include <stdio.h> | |
| 7 #include <ctype.h> | |
| 8 | |
| 9 #include "csutil.hxx" | |
| 10 #include "atypes.hxx" | |
| 11 #include "langnum.hxx" | |
| 12 | |
| 13 // Unicode character encoding information | |
| 14 struct unicode_info { | |
| 15 unsigned short c; | |
| 16 unsigned short cupper; | |
| 17 unsigned short clower; | |
| 18 }; | |
| 19 | |
| 20 #ifdef OPENOFFICEORG | |
| 21 # include <unicode/uchar.h> | |
| 22 #else | |
| 23 # ifndef MOZILLA_CLIENT | |
| 24 # include "utf_info.cxx" | |
| 25 # define UTF_LST_LEN (sizeof(utf_lst) / (sizeof(unicode_info))) | |
| 26 # endif | |
| 27 #endif | |
| 28 | |
| 29 #ifdef MOZILLA_CLIENT | |
| 30 #include "nsCOMPtr.h" | |
| 31 #include "nsServiceManagerUtils.h" | |
| 32 #include "nsIUnicodeEncoder.h" | |
| 33 #include "nsIUnicodeDecoder.h" | |
| 34 #include "nsUnicharUtils.h" | |
| 35 #include "nsICharsetConverterManager.h" | |
| 36 | |
| 37 static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CI
D); | |
| 38 #endif | |
| 39 | |
| 40 struct unicode_info2 { | |
| 41 char cletter; | |
| 42 unsigned short cupper; | |
| 43 unsigned short clower; | |
| 44 }; | |
| 45 | |
| 46 static struct unicode_info2 * utf_tbl = NULL; | |
| 47 static int utf_tbl_count = 0; // utf_tbl can be used by multiple Hunspell instan
ces | |
| 48 | |
| 49 /* only UTF-16 (BMP) implementation */ | |
| 50 char * u16_u8(char * dest, int size, const w_char * src, int srclen) { | |
| 51 signed char * u8 = (signed char *)dest; | |
| 52 signed char * u8_max = (signed char *)(u8 + size); | |
| 53 const w_char * u2 = src; | |
| 54 const w_char * u2_max = src + srclen; | |
| 55 while ((u2 < u2_max) && (u8 < u8_max)) { | |
| 56 if (u2->h) { // > 0xFF | |
| 57 // XXX 4-byte haven't implemented yet. | |
| 58 if (u2->h >= 0x08) { // >= 0x800 (3-byte UTF-8 character) | |
| 59 *u8 = 0xe0 + (u2->h >> 4); | |
| 60 u8++; | |
| 61 if (u8 < u8_max) { | |
| 62 *u8 = 0x80 + ((u2->h & 0xf) << 2) + (u2->l >> 6); | |
| 63 u8++; | |
| 64 if (u8 < u8_max) { | |
| 65 *u8 = 0x80 + (u2->l & 0x3f); | |
| 66 u8++; | |
| 67 } | |
| 68 } | |
| 69 } else { // < 0x800 (2-byte UTF-8 character) | |
| 70 *u8 = 0xc0 + (u2->h << 2) + (u2->l >> 6); | |
| 71 u8++; | |
| 72 if (u8 < u8_max) { | |
| 73 *u8 = 0x80 + (u2->l & 0x3f); | |
| 74 u8++; | |
| 75 } | |
| 76 } | |
| 77 } else { // <= 0xFF | |
| 78 if (u2->l & 0x80) { // >0x80 (2-byte UTF-8 character) | |
| 79 *u8 = 0xc0 + (u2->l >> 6); | |
| 80 u8++; | |
| 81 if (u8 < u8_max) { | |
| 82 *u8 = 0x80 + (u2->l & 0x3f); | |
| 83 u8++; | |
| 84 } | |
| 85 } else { // < 0x80 (1-byte UTF-8 character) | |
| 86 *u8 = u2->l; | |
| 87 u8++; | |
| 88 } | |
| 89 } | |
| 90 u2++; | |
| 91 } | |
| 92 *u8 = '\0'; | |
| 93 return dest; | |
| 94 } | |
| 95 | |
| 96 | |
| 97 /* only UTF-16 (BMP) implementation */ | |
| 98 int u8_u16(w_char * dest, int size, const char * src) { | |
| 99 const signed char * u8 = (const signed char *)src; | |
| 100 w_char * u2 = dest; | |
| 101 w_char * u2_max = u2 + size; | |
| 102 | |
| 103 while ((u2 < u2_max) && *u8) { | |
| 104 switch ((*u8) & 0xf0) { | |
| 105 case 0x00: | |
| 106 case 0x10: | |
| 107 case 0x20: | |
| 108 case 0x30: | |
| 109 case 0x40: | |
| 110 case 0x50: | |
| 111 case 0x60: | |
| 112 case 0x70: { | |
| 113 u2->h = 0; | |
| 114 u2->l = *u8; | |
| 115 break; | |
| 116 } | |
| 117 case 0x80: | |
| 118 case 0x90: | |
| 119 case 0xa0: | |
| 120 case 0xb0: { | |
| 121 HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Unexpected continuat
ion bytes in %ld. character position\n%s\n", static_cast<long>(u8 - (signed char
*)src), src); | |
| 122 u2->h = 0xff; | |
| 123 u2->l = 0xfd; | |
| 124 break; | |
| 125 } | |
| 126 case 0xc0: | |
| 127 case 0xd0: { // 2-byte UTF-8 codes | |
| 128 if ((*(u8+1) & 0xc0) == 0x80) { | |
| 129 u2->h = (*u8 & 0x1f) >> 2; | |
| 130 u2->l = (*u8 << 6) + (*(u8+1) & 0x3f); | |
| 131 u8++; | |
| 132 } else { | |
| 133 HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing continua
tion byte in %ld. character position:\n%s\n", static_cast<long>(u8 - (signed cha
r *)src), src); | |
| 134 u2->h = 0xff; | |
| 135 u2->l = 0xfd; | |
| 136 } | |
| 137 break; | |
| 138 } | |
| 139 case 0xe0: { // 3-byte UTF-8 codes | |
| 140 if ((*(u8+1) & 0xc0) == 0x80) { | |
| 141 u2->h = ((*u8 & 0x0f) << 4) + ((*(u8+1) & 0x3f) >> 2); | |
| 142 u8++; | |
| 143 if ((*(u8+1) & 0xc0) == 0x80) { | |
| 144 u2->l = (*u8 << 6) + (*(u8+1) & 0x3f); | |
| 145 u8++; | |
| 146 } else { | |
| 147 HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing cont
inuation byte in %ld. character position:\n%s\n", static_cast<long>(u8 - (signed
char *)src), src); | |
| 148 u2->h = 0xff; | |
| 149 u2->l = 0xfd; | |
| 150 } | |
| 151 } else { | |
| 152 HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing continua
tion byte in %ld. character position:\n%s\n", static_cast<long>(u8 - (signed cha
r *)src), src); | |
| 153 u2->h = 0xff; | |
| 154 u2->l = 0xfd; | |
| 155 } | |
| 156 break; | |
| 157 } | |
| 158 case 0xf0: { // 4 or more byte UTF-8 codes | |
| 159 HUNSPELL_WARNING(stderr, "This UTF-8 encoding can't convert to UTF-1
6:\n%s\n", src); | |
| 160 u2->h = 0xff; | |
| 161 u2->l = 0xfd; | |
| 162 return -1; | |
| 163 } | |
| 164 } | |
| 165 u8++; | |
| 166 u2++; | |
| 167 } | |
| 168 return (int)(u2 - dest); | |
| 169 } | |
| 170 | |
| 171 void flag_qsort(unsigned short flags[], int begin, int end) { | |
| 172 unsigned short reg; | |
| 173 if (end > begin) { | |
| 174 unsigned short pivot = flags[begin]; | |
| 175 int l = begin + 1; | |
| 176 int r = end; | |
| 177 while(l < r) { | |
| 178 if (flags[l] <= pivot) { | |
| 179 l++; | |
| 180 } else { | |
| 181 r--; | |
| 182 reg = flags[l]; | |
| 183 flags[l] = flags[r]; | |
| 184 flags[r] = reg; | |
| 185 } | |
| 186 } | |
| 187 l--; | |
| 188 reg = flags[begin]; | |
| 189 flags[begin] = flags[l]; | |
| 190 flags[l] = reg; | |
| 191 | |
| 192 flag_qsort(flags, begin, l); | |
| 193 flag_qsort(flags, r, end); | |
| 194 } | |
| 195 } | |
| 196 | |
| 197 int flag_bsearch(unsigned short flags[], unsigned short flag, int length) { | |
| 198 int mid; | |
| 199 int left = 0; | |
| 200 int right = length - 1; | |
| 201 while (left <= right) { | |
| 202 mid = (left + right) / 2; | |
| 203 if (flags[mid] == flag) return 1; | |
| 204 if (flag < flags[mid]) right = mid - 1; | |
| 205 else left = mid + 1; | |
| 206 } | |
| 207 return 0; | |
| 208 } | |
| 209 | |
| 210 // strip strings into token based on single char delimiter | |
| 211 // acts like strsep() but only uses a delim char and not | |
| 212 // a delim string | |
| 213 // default delimiter: white space characters | |
| 214 | |
| 215 char * mystrsep(char ** stringp, const char delim) | |
| 216 { | |
| 217 char * mp = *stringp; | |
| 218 if (*mp != '\0') { | |
| 219 char * dp; | |
| 220 if (delim) { | |
| 221 dp = strchr(mp, delim); | |
| 222 } else { | |
| 223 // don't use isspace() here, the string can be in some random charset | |
| 224 // that's way different than the locale's | |
| 225 for (dp = mp; (*dp && *dp != ' ' && *dp != '\t'); dp++); | |
| 226 if (!*dp) dp = NULL; | |
| 227 } | |
| 228 if (dp) { | |
| 229 *stringp = dp+1; | |
| 230 *dp = '\0'; | |
| 231 } else { | |
| 232 *stringp = mp + strlen(mp); | |
| 233 } | |
| 234 return mp; | |
| 235 } | |
| 236 return NULL; | |
| 237 } | |
| 238 | |
| 239 // replaces strdup with ansi version | |
| 240 char * mystrdup(const char * s) | |
| 241 { | |
| 242 char * d = NULL; | |
| 243 if (s) { | |
| 244 size_t sl = strlen(s)+1; | |
| 245 d = (char *) malloc(sl); | |
| 246 if (d) { | |
| 247 memcpy(d,s,sl); | |
| 248 } else { | |
| 249 HUNSPELL_WARNING(stderr, "Can't allocate memory.\n"); | |
| 250 } | |
| 251 } | |
| 252 return d; | |
| 253 } | |
| 254 | |
| 255 // strcat for limited length destination string | |
| 256 char * mystrcat(char * dest, const char * st, int max) { | |
| 257 int len; | |
| 258 int len2; | |
| 259 if (dest == NULL || st == NULL) return dest; | |
| 260 len = strlen(dest); | |
| 261 len2 = strlen(st); | |
| 262 if (len + len2 + 1 > max) return dest; | |
| 263 strcpy(dest + len, st); | |
| 264 return dest; | |
| 265 } | |
| 266 | |
| 267 // remove cross-platform text line end characters | |
| 268 void mychomp(char * s) | |
| 269 { | |
| 270 size_t k = strlen(s); | |
| 271 if ((k > 0) && ((*(s+k-1)=='\r') || (*(s+k-1)=='\n'))) *(s+k-1) = '\0'; | |
| 272 if ((k > 1) && (*(s+k-2) == '\r')) *(s+k-2) = '\0'; | |
| 273 } | |
| 274 | |
| 275 | |
| 276 // does an ansi strdup of the reverse of a string | |
| 277 char * myrevstrdup(const char * s) | |
| 278 { | |
| 279 char * d = NULL; | |
| 280 if (s) { | |
| 281 size_t sl = strlen(s); | |
| 282 d = (char *) malloc(sl+1); | |
| 283 if (d) { | |
| 284 const char * p = s + sl - 1; | |
| 285 char * q = d; | |
| 286 while (p >= s) *q++ = *p--; | |
| 287 *q = '\0'; | |
| 288 } else { | |
| 289 HUNSPELL_WARNING(stderr, "Can't allocate memory.\n"); | |
| 290 } | |
| 291 } | |
| 292 return d; | |
| 293 } | |
| 294 | |
| 295 // break text to lines | |
| 296 // return number of lines | |
| 297 int line_tok(const char * text, char *** lines, char breakchar) { | |
| 298 int linenum = 0; | |
| 299 if (!text) { | |
| 300 return linenum; | |
| 301 } | |
| 302 char * dup = mystrdup(text); | |
| 303 char * p = strchr(dup, breakchar); | |
| 304 while (p) { | |
| 305 linenum++; | |
| 306 *p = '\0'; | |
| 307 p++; | |
| 308 p = strchr(p, breakchar); | |
| 309 } | |
| 310 linenum++; | |
| 311 *lines = (char **) malloc(linenum * sizeof(char *)); | |
| 312 if (!(*lines)) { | |
| 313 free(dup); | |
| 314 return 0; | |
| 315 } | |
| 316 | |
| 317 p = dup; | |
| 318 int l = 0; | |
| 319 for (int i = 0; i < linenum; i++) { | |
| 320 if (*p != '\0') { | |
| 321 (*lines)[l] = mystrdup(p); | |
| 322 if (!(*lines)[l]) { | |
| 323 for (i = 0; i < l; i++) free((*lines)[i]); | |
| 324 free(dup); | |
| 325 return 0; | |
| 326 } | |
| 327 l++; | |
| 328 } | |
| 329 p += strlen(p) + 1; | |
| 330 } | |
| 331 free(dup); | |
| 332 if (!l) free(*lines); | |
| 333 return l; | |
| 334 } | |
| 335 | |
| 336 // uniq line in place | |
| 337 char * line_uniq(char * text, char breakchar) { | |
| 338 char ** lines; | |
| 339 int linenum = line_tok(text, &lines, breakchar); | |
| 340 int i; | |
| 341 strcpy(text, lines[0]); | |
| 342 for ( i = 1; i < linenum; i++ ) { | |
| 343 int dup = 0; | |
| 344 for (int j = 0; j < i; j++) { | |
| 345 if (strcmp(lines[i], lines[j]) == 0) dup = 1; | |
| 346 } | |
| 347 if (!dup) { | |
| 348 if ((i > 1) || (*(lines[0]) != '\0')) { | |
| 349 sprintf(text + strlen(text), "%c", breakchar); | |
| 350 } | |
| 351 strcat(text, lines[i]); | |
| 352 } | |
| 353 } | |
| 354 for ( i = 0; i < linenum; i++ ) { | |
| 355 if (lines[i]) free(lines[i]); | |
| 356 } | |
| 357 if (lines) free(lines); | |
| 358 return text; | |
| 359 } | |
| 360 | |
| 361 // uniq and boundary for compound analysis: "1\n\2\n\1" -> " ( \1 | \2 ) " | |
| 362 char * line_uniq_app(char ** text, char breakchar) { | |
| 363 if (!strchr(*text, breakchar)) { | |
| 364 return *text; | |
| 365 } | |
| 366 | |
| 367 char ** lines; | |
| 368 int i; | |
| 369 int linenum = line_tok(*text, &lines, breakchar); | |
| 370 int dup = 0; | |
| 371 for (i = 0; i < linenum; i++) { | |
| 372 for (int j = 0; j < (i - 1); j++) { | |
| 373 if (strcmp(lines[i], lines[j]) == 0) { | |
| 374 *(lines[i]) = '\0'; | |
| 375 dup++; | |
| 376 break; | |
| 377 } | |
| 378 } | |
| 379 } | |
| 380 if ((linenum - dup) == 1) { | |
| 381 strcpy(*text, lines[0]); | |
| 382 freelist(&lines, linenum); | |
| 383 return *text; | |
| 384 } | |
| 385 char * newtext = (char *) malloc(strlen(*text) + 2 * linenum + 3 + 1); | |
| 386 if (newtext) { | |
| 387 free(*text); | |
| 388 *text = newtext; | |
| 389 } else { | |
| 390 freelist(&lines, linenum); | |
| 391 return *text; | |
| 392 } | |
| 393 strcpy(*text," ( "); | |
| 394 for (i = 0; i < linenum; i++) if (*(lines[i])) { | |
| 395 sprintf(*text + strlen(*text), "%s%s", lines[i], " | "); | |
| 396 } | |
| 397 (*text)[strlen(*text) - 2] = ')'; // " ) " | |
| 398 freelist(&lines, linenum); | |
| 399 return *text; | |
| 400 } | |
| 401 | |
| 402 // append s to ends of every lines in text | |
| 403 void strlinecat(char * dest, const char * s) | |
| 404 { | |
| 405 char * dup = mystrdup(dest); | |
| 406 char * source = dup; | |
| 407 int len = strlen(s); | |
| 408 if (dup) { | |
| 409 while (*source) { | |
| 410 if (*source == '\n') { | |
| 411 strncpy(dest, s, len); | |
| 412 dest += len; | |
| 413 } | |
| 414 *dest = *source; | |
| 415 source++; dest++; | |
| 416 } | |
| 417 strcpy(dest, s); | |
| 418 free(dup); | |
| 419 } | |
| 420 } | |
| 421 | |
| 422 // change \n to char c | |
| 423 char * tr(char * text, char oldc, char newc) { | |
| 424 char * p; | |
| 425 for (p = text; *p; p++) if (*p == oldc) *p = newc; | |
| 426 return text; | |
| 427 } | |
| 428 | |
| 429 // morphcmp(): compare MORPH_DERI_SFX, MORPH_INFL_SFX and MORPH_TERM_SFX fields | |
| 430 // in the first line of the inputs | |
| 431 // return 0, if inputs equal | |
| 432 // return 1, if inputs may equal with a secondary suffix | |
| 433 // otherwise return -1 | |
| 434 int morphcmp(const char * s, const char * t) | |
| 435 { | |
| 436 int se = 0; | |
| 437 int te = 0; | |
| 438 const char * sl; | |
| 439 const char * tl; | |
| 440 const char * olds; | |
| 441 const char * oldt; | |
| 442 if (!s || !t) return 1; | |
| 443 olds = s; | |
| 444 sl = strchr(s, '\n'); | |
| 445 s = strstr(s, MORPH_DERI_SFX); | |
| 446 if (!s || (sl && sl < s)) s = strstr(olds, MORPH_INFL_SFX); | |
| 447 if (!s || (sl && sl < s)) { | |
| 448 s= strstr(olds, MORPH_TERM_SFX); | |
| 449 olds = NULL; | |
| 450 } | |
| 451 oldt = t; | |
| 452 tl = strchr(t, '\n'); | |
| 453 t = strstr(t, MORPH_DERI_SFX); | |
| 454 if (!t || (tl && tl < t)) t = strstr(oldt, MORPH_INFL_SFX); | |
| 455 if (!t || (tl && tl < t)) { | |
| 456 t = strstr(oldt, MORPH_TERM_SFX); | |
| 457 oldt = NULL; | |
| 458 } | |
| 459 while (s && t && (!sl || sl > s) && (!tl || tl > t)) { | |
| 460 s += MORPH_TAG_LEN; | |
| 461 t += MORPH_TAG_LEN; | |
| 462 se = 0; | |
| 463 te = 0; | |
| 464 while ((*s == *t) && !se && !te) { | |
| 465 s++; | |
| 466 t++; | |
| 467 switch(*s) { | |
| 468 case ' ': | |
| 469 case '\n': | |
| 470 case '\t': | |
| 471 case '\0': se = 1; | |
| 472 } | |
| 473 switch(*t) { | |
| 474 case ' ': | |
| 475 case '\n': | |
| 476 case '\t': | |
| 477 case '\0': te = 1; | |
| 478 } | |
| 479 } | |
| 480 if (!se || !te) { | |
| 481 // not terminal suffix difference | |
| 482 if (olds) return -1; | |
| 483 return 1; | |
| 484 } | |
| 485 olds = s; | |
| 486 s = strstr(s, MORPH_DERI_SFX); | |
| 487 if (!s || (sl && sl < s)) s = strstr(olds, MORPH_INFL_SFX); | |
| 488 if (!s || (sl && sl < s)) { | |
| 489 s = strstr(olds, MORPH_TERM_SFX); | |
| 490 olds = NULL; | |
| 491 } | |
| 492 oldt = t; | |
| 493 t = strstr(t, MORPH_DERI_SFX); | |
| 494 if (!t || (tl && tl < t)) t = strstr(oldt, MORPH_INFL_SFX); | |
| 495 if (!t || (tl && tl < t)) { | |
| 496 t = strstr(oldt, MORPH_TERM_SFX); | |
| 497 oldt = NULL; | |
| 498 } | |
| 499 } | |
| 500 if (!s && !t && se && te) return 0; | |
| 501 return 1; | |
| 502 } | |
| 503 | |
| 504 int get_sfxcount(const char * morph) | |
| 505 { | |
| 506 if (!morph || !*morph) return 0; | |
| 507 int n = 0; | |
| 508 const char * old = morph; | |
| 509 morph = strstr(morph, MORPH_DERI_SFX); | |
| 510 if (!morph) morph = strstr(old, MORPH_INFL_SFX); | |
| 511 if (!morph) morph = strstr(old, MORPH_TERM_SFX); | |
| 512 while (morph) { | |
| 513 n++; | |
| 514 old = morph; | |
| 515 morph = strstr(morph + 1, MORPH_DERI_SFX); | |
| 516 if (!morph) morph = strstr(old + 1, MORPH_INFL_SFX); | |
| 517 if (!morph) morph = strstr(old + 1, MORPH_TERM_SFX); | |
| 518 } | |
| 519 return n; | |
| 520 } | |
| 521 | |
| 522 | |
| 523 int fieldlen(const char * r) | |
| 524 { | |
| 525 int n = 0; | |
| 526 while (r && *r != ' ' && *r != '\t' && *r != '\0' && *r != '\n') { | |
| 527 r++; | |
| 528 n++; | |
| 529 } | |
| 530 return n; | |
| 531 } | |
| 532 | |
| 533 char * copy_field(char * dest, const char * morph, const char * var) | |
| 534 { | |
| 535 if (!morph) return NULL; | |
| 536 const char * beg = strstr(morph, var); | |
| 537 if (beg) { | |
| 538 char * d = dest; | |
| 539 for (beg += MORPH_TAG_LEN; *beg != ' ' && *beg != '\t' && | |
| 540 *beg != '\n' && *beg != '\0'; d++, beg++) { | |
| 541 *d = *beg; | |
| 542 } | |
| 543 *d = '\0'; | |
| 544 return dest; | |
| 545 } | |
| 546 return NULL; | |
| 547 } | |
| 548 | |
| 549 char * mystrrep(char * word, const char * pat, const char * rep) { | |
| 550 char * pos = strstr(word, pat); | |
| 551 if (pos) { | |
| 552 int replen = strlen(rep); | |
| 553 int patlen = strlen(pat); | |
| 554 while (pos) { | |
| 555 if (replen < patlen) { | |
| 556 char * end = word + strlen(word); | |
| 557 char * next = pos + replen; | |
| 558 char * prev = pos + strlen(pat); | |
| 559 for (; prev < end; *next = *prev, prev++, next++); | |
| 560 *next = '\0'; | |
| 561 } else if (replen > patlen) { | |
| 562 char * end = pos + patlen; | |
| 563 char * next = word + strlen(word) + replen - patlen; | |
| 564 char * prev = next - replen + patlen; | |
| 565 for (; prev >= end; *next = *prev, prev--, next--); | |
| 566 } | |
| 567 strncpy(pos, rep, replen); | |
| 568 pos = strstr(word, pat); | |
| 569 } | |
| 570 } | |
| 571 return word; | |
| 572 } | |
| 573 | |
| 574 // reverse word | |
| 575 int reverseword(char * word) { | |
| 576 char r; | |
| 577 for (char * dest = word + strlen(word) - 1; word < dest; word++, dest--) { | |
| 578 r=*word; | |
| 579 *word = *dest; | |
| 580 *dest = r; | |
| 581 } | |
| 582 return 0; | |
| 583 } | |
| 584 | |
| 585 // reverse word (error: 1) | |
| 586 int reverseword_utf(char * word) { | |
| 587 w_char w[MAXWORDLEN]; | |
| 588 w_char * p; | |
| 589 w_char r; | |
| 590 int l = u8_u16(w, MAXWORDLEN, word); | |
| 591 if (l == -1) return 1; | |
| 592 p = w; | |
| 593 for (w_char * dest = w + l - 1; p < dest; p++, dest--) { | |
| 594 r=*p; | |
| 595 *p = *dest; | |
| 596 *dest = r; | |
| 597 } | |
| 598 u16_u8(word, MAXWORDUTF8LEN, w, l); | |
| 599 return 0; | |
| 600 } | |
| 601 | |
| 602 int uniqlist(char ** list, int n) { | |
| 603 int i; | |
| 604 if (n < 2) return n; | |
| 605 for (i = 0; i < n; i++) { | |
| 606 for (int j = 0; j < i; j++) { | |
| 607 if (list[j] && list[i] && (strcmp(list[j], list[i]) == 0)) { | |
| 608 free(list[i]); | |
| 609 list[i] = NULL; | |
| 610 break; | |
| 611 } | |
| 612 } | |
| 613 } | |
| 614 int m = 1; | |
| 615 for (i = 1; i < n; i++) if (list[i]) { | |
| 616 list[m] = list[i]; | |
| 617 m++; | |
| 618 } | |
| 619 return m; | |
| 620 } | |
| 621 | |
| 622 void freelist(char *** list, int n) { | |
| 623 if (list && *list && n > 0) { | |
| 624 for (int i = 0; i < n; i++) if ((*list)[i]) free((*list)[i]); | |
| 625 free(*list); | |
| 626 *list = NULL; | |
| 627 } | |
| 628 } | |
| 629 | |
| 630 // convert null terminated string to all caps | |
| 631 void mkallcap(char * p, const struct cs_info * csconv) | |
| 632 { | |
| 633 while (*p != '\0') { | |
| 634 *p = csconv[((unsigned char) *p)].cupper; | |
| 635 p++; | |
| 636 } | |
| 637 } | |
| 638 | |
| 639 // convert null terminated string to all little | |
| 640 void mkallsmall(char * p, const struct cs_info * csconv) | |
| 641 { | |
| 642 while (*p != '\0') { | |
| 643 *p = csconv[((unsigned char) *p)].clower; | |
| 644 p++; | |
| 645 } | |
| 646 } | |
| 647 | |
| 648 void mkallsmall_utf(w_char * u, int nc, int langnum) { | |
| 649 for (int i = 0; i < nc; i++) { | |
| 650 unsigned short idx = (u[i].h << 8) + u[i].l; | |
| 651 if (idx != unicodetolower(idx, langnum)) { | |
| 652 u[i].h = (unsigned char) (unicodetolower(idx, langnum) >> 8); | |
| 653 u[i].l = (unsigned char) (unicodetolower(idx, langnum) & 0x00FF); | |
| 654 } | |
| 655 } | |
| 656 } | |
| 657 | |
| 658 void mkallcap_utf(w_char * u, int nc, int langnum) { | |
| 659 for (int i = 0; i < nc; i++) { | |
| 660 unsigned short idx = (u[i].h << 8) + u[i].l; | |
| 661 if (idx != unicodetoupper(idx, langnum)) { | |
| 662 u[i].h = (unsigned char) (unicodetoupper(idx, langnum) >> 8); | |
| 663 u[i].l = (unsigned char) (unicodetoupper(idx, langnum) & 0x00FF); | |
| 664 } | |
| 665 } | |
| 666 } | |
| 667 | |
| 668 // convert null terminated string to have initial capital | |
| 669 void mkinitcap(char * p, const struct cs_info * csconv) | |
| 670 { | |
| 671 if (*p != '\0') *p = csconv[((unsigned char)*p)].cupper; | |
| 672 } | |
| 673 | |
| 674 // conversion function for protected memory | |
| 675 void store_pointer(char * dest, char * source) | |
| 676 { | |
| 677 memcpy(dest, &source, sizeof(char *)); | |
| 678 } | |
| 679 | |
| 680 // conversion function for protected memory | |
| 681 char * get_stored_pointer(const char * s) | |
| 682 { | |
| 683 char * p; | |
| 684 memcpy(&p, s, sizeof(char *)); | |
| 685 return p; | |
| 686 } | |
| 687 | |
| 688 #ifndef MOZILLA_CLIENT | |
| 689 // convert null terminated string to all caps using encoding | |
| 690 void enmkallcap(char * d, const char * p, const char * encoding) | |
| 691 | |
| 692 { | |
| 693 struct cs_info * csconv = get_current_cs(encoding); | |
| 694 while (*p != '\0') { | |
| 695 *d++ = csconv[((unsigned char) *p)].cupper; | |
| 696 p++; | |
| 697 } | |
| 698 *d = '\0'; | |
| 699 } | |
| 700 | |
| 701 // convert null terminated string to all little using encoding | |
| 702 void enmkallsmall(char * d, const char * p, const char * encoding) | |
| 703 { | |
| 704 struct cs_info * csconv = get_current_cs(encoding); | |
| 705 while (*p != '\0') { | |
| 706 *d++ = csconv[((unsigned char) *p)].clower; | |
| 707 p++; | |
| 708 } | |
| 709 *d = '\0'; | |
| 710 } | |
| 711 | |
| 712 // convert null terminated string to have initial capital using encoding | |
| 713 void enmkinitcap(char * d, const char * p, const char * encoding) | |
| 714 { | |
| 715 struct cs_info * csconv = get_current_cs(encoding); | |
| 716 memcpy(d,p,(strlen(p)+1)); | |
| 717 if (*p != '\0') *d= csconv[((unsigned char)*p)].cupper; | |
| 718 } | |
| 719 | |
| 720 // these are simple character mappings for the | |
| 721 // encodings supported | |
| 722 // supplying isupper, tolower, and toupper | |
| 723 | |
| 724 static struct cs_info iso1_tbl[] = { | |
| 725 { 0x00, 0x00, 0x00 }, | |
| 726 { 0x00, 0x01, 0x01 }, | |
| 727 { 0x00, 0x02, 0x02 }, | |
| 728 { 0x00, 0x03, 0x03 }, | |
| 729 { 0x00, 0x04, 0x04 }, | |
| 730 { 0x00, 0x05, 0x05 }, | |
| 731 { 0x00, 0x06, 0x06 }, | |
| 732 { 0x00, 0x07, 0x07 }, | |
| 733 { 0x00, 0x08, 0x08 }, | |
| 734 { 0x00, 0x09, 0x09 }, | |
| 735 { 0x00, 0x0a, 0x0a }, | |
| 736 { 0x00, 0x0b, 0x0b }, | |
| 737 { 0x00, 0x0c, 0x0c }, | |
| 738 { 0x00, 0x0d, 0x0d }, | |
| 739 { 0x00, 0x0e, 0x0e }, | |
| 740 { 0x00, 0x0f, 0x0f }, | |
| 741 { 0x00, 0x10, 0x10 }, | |
| 742 { 0x00, 0x11, 0x11 }, | |
| 743 { 0x00, 0x12, 0x12 }, | |
| 744 { 0x00, 0x13, 0x13 }, | |
| 745 { 0x00, 0x14, 0x14 }, | |
| 746 { 0x00, 0x15, 0x15 }, | |
| 747 { 0x00, 0x16, 0x16 }, | |
| 748 { 0x00, 0x17, 0x17 }, | |
| 749 { 0x00, 0x18, 0x18 }, | |
| 750 { 0x00, 0x19, 0x19 }, | |
| 751 { 0x00, 0x1a, 0x1a }, | |
| 752 { 0x00, 0x1b, 0x1b }, | |
| 753 { 0x00, 0x1c, 0x1c }, | |
| 754 { 0x00, 0x1d, 0x1d }, | |
| 755 { 0x00, 0x1e, 0x1e }, | |
| 756 { 0x00, 0x1f, 0x1f }, | |
| 757 { 0x00, 0x20, 0x20 }, | |
| 758 { 0x00, 0x21, 0x21 }, | |
| 759 { 0x00, 0x22, 0x22 }, | |
| 760 { 0x00, 0x23, 0x23 }, | |
| 761 { 0x00, 0x24, 0x24 }, | |
| 762 { 0x00, 0x25, 0x25 }, | |
| 763 { 0x00, 0x26, 0x26 }, | |
| 764 { 0x00, 0x27, 0x27 }, | |
| 765 { 0x00, 0x28, 0x28 }, | |
| 766 { 0x00, 0x29, 0x29 }, | |
| 767 { 0x00, 0x2a, 0x2a }, | |
| 768 { 0x00, 0x2b, 0x2b }, | |
| 769 { 0x00, 0x2c, 0x2c }, | |
| 770 { 0x00, 0x2d, 0x2d }, | |
| 771 { 0x00, 0x2e, 0x2e }, | |
| 772 { 0x00, 0x2f, 0x2f }, | |
| 773 { 0x00, 0x30, 0x30 }, | |
| 774 { 0x00, 0x31, 0x31 }, | |
| 775 { 0x00, 0x32, 0x32 }, | |
| 776 { 0x00, 0x33, 0x33 }, | |
| 777 { 0x00, 0x34, 0x34 }, | |
| 778 { 0x00, 0x35, 0x35 }, | |
| 779 { 0x00, 0x36, 0x36 }, | |
| 780 { 0x00, 0x37, 0x37 }, | |
| 781 { 0x00, 0x38, 0x38 }, | |
| 782 { 0x00, 0x39, 0x39 }, | |
| 783 { 0x00, 0x3a, 0x3a }, | |
| 784 { 0x00, 0x3b, 0x3b }, | |
| 785 { 0x00, 0x3c, 0x3c }, | |
| 786 { 0x00, 0x3d, 0x3d }, | |
| 787 { 0x00, 0x3e, 0x3e }, | |
| 788 { 0x00, 0x3f, 0x3f }, | |
| 789 { 0x00, 0x40, 0x40 }, | |
| 790 { 0x01, 0x61, 0x41 }, | |
| 791 { 0x01, 0x62, 0x42 }, | |
| 792 { 0x01, 0x63, 0x43 }, | |
| 793 { 0x01, 0x64, 0x44 }, | |
| 794 { 0x01, 0x65, 0x45 }, | |
| 795 { 0x01, 0x66, 0x46 }, | |
| 796 { 0x01, 0x67, 0x47 }, | |
| 797 { 0x01, 0x68, 0x48 }, | |
| 798 { 0x01, 0x69, 0x49 }, | |
| 799 { 0x01, 0x6a, 0x4a }, | |
| 800 { 0x01, 0x6b, 0x4b }, | |
| 801 { 0x01, 0x6c, 0x4c }, | |
| 802 { 0x01, 0x6d, 0x4d }, | |
| 803 { 0x01, 0x6e, 0x4e }, | |
| 804 { 0x01, 0x6f, 0x4f }, | |
| 805 { 0x01, 0x70, 0x50 }, | |
| 806 { 0x01, 0x71, 0x51 }, | |
| 807 { 0x01, 0x72, 0x52 }, | |
| 808 { 0x01, 0x73, 0x53 }, | |
| 809 { 0x01, 0x74, 0x54 }, | |
| 810 { 0x01, 0x75, 0x55 }, | |
| 811 { 0x01, 0x76, 0x56 }, | |
| 812 { 0x01, 0x77, 0x57 }, | |
| 813 { 0x01, 0x78, 0x58 }, | |
| 814 { 0x01, 0x79, 0x59 }, | |
| 815 { 0x01, 0x7a, 0x5a }, | |
| 816 { 0x00, 0x5b, 0x5b }, | |
| 817 { 0x00, 0x5c, 0x5c }, | |
| 818 { 0x00, 0x5d, 0x5d }, | |
| 819 { 0x00, 0x5e, 0x5e }, | |
| 820 { 0x00, 0x5f, 0x5f }, | |
| 821 { 0x00, 0x60, 0x60 }, | |
| 822 { 0x00, 0x61, 0x41 }, | |
| 823 { 0x00, 0x62, 0x42 }, | |
| 824 { 0x00, 0x63, 0x43 }, | |
| 825 { 0x00, 0x64, 0x44 }, | |
| 826 { 0x00, 0x65, 0x45 }, | |
| 827 { 0x00, 0x66, 0x46 }, | |
| 828 { 0x00, 0x67, 0x47 }, | |
| 829 { 0x00, 0x68, 0x48 }, | |
| 830 { 0x00, 0x69, 0x49 }, | |
| 831 { 0x00, 0x6a, 0x4a }, | |
| 832 { 0x00, 0x6b, 0x4b }, | |
| 833 { 0x00, 0x6c, 0x4c }, | |
| 834 { 0x00, 0x6d, 0x4d }, | |
| 835 { 0x00, 0x6e, 0x4e }, | |
| 836 { 0x00, 0x6f, 0x4f }, | |
| 837 { 0x00, 0x70, 0x50 }, | |
| 838 { 0x00, 0x71, 0x51 }, | |
| 839 { 0x00, 0x72, 0x52 }, | |
| 840 { 0x00, 0x73, 0x53 }, | |
| 841 { 0x00, 0x74, 0x54 }, | |
| 842 { 0x00, 0x75, 0x55 }, | |
| 843 { 0x00, 0x76, 0x56 }, | |
| 844 { 0x00, 0x77, 0x57 }, | |
| 845 { 0x00, 0x78, 0x58 }, | |
| 846 { 0x00, 0x79, 0x59 }, | |
| 847 { 0x00, 0x7a, 0x5a }, | |
| 848 { 0x00, 0x7b, 0x7b }, | |
| 849 { 0x00, 0x7c, 0x7c }, | |
| 850 { 0x00, 0x7d, 0x7d }, | |
| 851 { 0x00, 0x7e, 0x7e }, | |
| 852 { 0x00, 0x7f, 0x7f }, | |
| 853 { 0x00, 0x80, 0x80 }, | |
| 854 { 0x00, 0x81, 0x81 }, | |
| 855 { 0x00, 0x82, 0x82 }, | |
| 856 { 0x00, 0x83, 0x83 }, | |
| 857 { 0x00, 0x84, 0x84 }, | |
| 858 { 0x00, 0x85, 0x85 }, | |
| 859 { 0x00, 0x86, 0x86 }, | |
| 860 { 0x00, 0x87, 0x87 }, | |
| 861 { 0x00, 0x88, 0x88 }, | |
| 862 { 0x00, 0x89, 0x89 }, | |
| 863 { 0x00, 0x8a, 0x8a }, | |
| 864 { 0x00, 0x8b, 0x8b }, | |
| 865 { 0x00, 0x8c, 0x8c }, | |
| 866 { 0x00, 0x8d, 0x8d }, | |
| 867 { 0x00, 0x8e, 0x8e }, | |
| 868 { 0x00, 0x8f, 0x8f }, | |
| 869 { 0x00, 0x90, 0x90 }, | |
| 870 { 0x00, 0x91, 0x91 }, | |
| 871 { 0x00, 0x92, 0x92 }, | |
| 872 { 0x00, 0x93, 0x93 }, | |
| 873 { 0x00, 0x94, 0x94 }, | |
| 874 { 0x00, 0x95, 0x95 }, | |
| 875 { 0x00, 0x96, 0x96 }, | |
| 876 { 0x00, 0x97, 0x97 }, | |
| 877 { 0x00, 0x98, 0x98 }, | |
| 878 { 0x00, 0x99, 0x99 }, | |
| 879 { 0x00, 0x9a, 0x9a }, | |
| 880 { 0x00, 0x9b, 0x9b }, | |
| 881 { 0x00, 0x9c, 0x9c }, | |
| 882 { 0x00, 0x9d, 0x9d }, | |
| 883 { 0x00, 0x9e, 0x9e }, | |
| 884 { 0x00, 0x9f, 0x9f }, | |
| 885 { 0x00, 0xa0, 0xa0 }, | |
| 886 { 0x00, 0xa1, 0xa1 }, | |
| 887 { 0x00, 0xa2, 0xa2 }, | |
| 888 { 0x00, 0xa3, 0xa3 }, | |
| 889 { 0x00, 0xa4, 0xa4 }, | |
| 890 { 0x00, 0xa5, 0xa5 }, | |
| 891 { 0x00, 0xa6, 0xa6 }, | |
| 892 { 0x00, 0xa7, 0xa7 }, | |
| 893 { 0x00, 0xa8, 0xa8 }, | |
| 894 { 0x00, 0xa9, 0xa9 }, | |
| 895 { 0x00, 0xaa, 0xaa }, | |
| 896 { 0x00, 0xab, 0xab }, | |
| 897 { 0x00, 0xac, 0xac }, | |
| 898 { 0x00, 0xad, 0xad }, | |
| 899 { 0x00, 0xae, 0xae }, | |
| 900 { 0x00, 0xaf, 0xaf }, | |
| 901 { 0x00, 0xb0, 0xb0 }, | |
| 902 { 0x00, 0xb1, 0xb1 }, | |
| 903 { 0x00, 0xb2, 0xb2 }, | |
| 904 { 0x00, 0xb3, 0xb3 }, | |
| 905 { 0x00, 0xb4, 0xb4 }, | |
| 906 { 0x00, 0xb5, 0xb5 }, | |
| 907 { 0x00, 0xb6, 0xb6 }, | |
| 908 { 0x00, 0xb7, 0xb7 }, | |
| 909 { 0x00, 0xb8, 0xb8 }, | |
| 910 { 0x00, 0xb9, 0xb9 }, | |
| 911 { 0x00, 0xba, 0xba }, | |
| 912 { 0x00, 0xbb, 0xbb }, | |
| 913 { 0x00, 0xbc, 0xbc }, | |
| 914 { 0x00, 0xbd, 0xbd }, | |
| 915 { 0x00, 0xbe, 0xbe }, | |
| 916 { 0x00, 0xbf, 0xbf }, | |
| 917 { 0x01, 0xe0, 0xc0 }, | |
| 918 { 0x01, 0xe1, 0xc1 }, | |
| 919 { 0x01, 0xe2, 0xc2 }, | |
| 920 { 0x01, 0xe3, 0xc3 }, | |
| 921 { 0x01, 0xe4, 0xc4 }, | |
| 922 { 0x01, 0xe5, 0xc5 }, | |
| 923 { 0x01, 0xe6, 0xc6 }, | |
| 924 { 0x01, 0xe7, 0xc7 }, | |
| 925 { 0x01, 0xe8, 0xc8 }, | |
| 926 { 0x01, 0xe9, 0xc9 }, | |
| 927 { 0x01, 0xea, 0xca }, | |
| 928 { 0x01, 0xeb, 0xcb }, | |
| 929 { 0x01, 0xec, 0xcc }, | |
| 930 { 0x01, 0xed, 0xcd }, | |
| 931 { 0x01, 0xee, 0xce }, | |
| 932 { 0x01, 0xef, 0xcf }, | |
| 933 { 0x01, 0xf0, 0xd0 }, | |
| 934 { 0x01, 0xf1, 0xd1 }, | |
| 935 { 0x01, 0xf2, 0xd2 }, | |
| 936 { 0x01, 0xf3, 0xd3 }, | |
| 937 { 0x01, 0xf4, 0xd4 }, | |
| 938 { 0x01, 0xf5, 0xd5 }, | |
| 939 { 0x01, 0xf6, 0xd6 }, | |
| 940 { 0x00, 0xd7, 0xd7 }, | |
| 941 { 0x01, 0xf8, 0xd8 }, | |
| 942 { 0x01, 0xf9, 0xd9 }, | |
| 943 { 0x01, 0xfa, 0xda }, | |
| 944 { 0x01, 0xfb, 0xdb }, | |
| 945 { 0x01, 0xfc, 0xdc }, | |
| 946 { 0x01, 0xfd, 0xdd }, | |
| 947 { 0x01, 0xfe, 0xde }, | |
| 948 { 0x00, 0xdf, 0xdf }, | |
| 949 { 0x00, 0xe0, 0xc0 }, | |
| 950 { 0x00, 0xe1, 0xc1 }, | |
| 951 { 0x00, 0xe2, 0xc2 }, | |
| 952 { 0x00, 0xe3, 0xc3 }, | |
| 953 { 0x00, 0xe4, 0xc4 }, | |
| 954 { 0x00, 0xe5, 0xc5 }, | |
| 955 { 0x00, 0xe6, 0xc6 }, | |
| 956 { 0x00, 0xe7, 0xc7 }, | |
| 957 { 0x00, 0xe8, 0xc8 }, | |
| 958 { 0x00, 0xe9, 0xc9 }, | |
| 959 { 0x00, 0xea, 0xca }, | |
| 960 { 0x00, 0xeb, 0xcb }, | |
| 961 { 0x00, 0xec, 0xcc }, | |
| 962 { 0x00, 0xed, 0xcd }, | |
| 963 { 0x00, 0xee, 0xce }, | |
| 964 { 0x00, 0xef, 0xcf }, | |
| 965 { 0x00, 0xf0, 0xd0 }, | |
| 966 { 0x00, 0xf1, 0xd1 }, | |
| 967 { 0x00, 0xf2, 0xd2 }, | |
| 968 { 0x00, 0xf3, 0xd3 }, | |
| 969 { 0x00, 0xf4, 0xd4 }, | |
| 970 { 0x00, 0xf5, 0xd5 }, | |
| 971 { 0x00, 0xf6, 0xd6 }, | |
| 972 { 0x00, 0xf7, 0xf7 }, | |
| 973 { 0x00, 0xf8, 0xd8 }, | |
| 974 { 0x00, 0xf9, 0xd9 }, | |
| 975 { 0x00, 0xfa, 0xda }, | |
| 976 { 0x00, 0xfb, 0xdb }, | |
| 977 { 0x00, 0xfc, 0xdc }, | |
| 978 { 0x00, 0xfd, 0xdd }, | |
| 979 { 0x00, 0xfe, 0xde }, | |
| 980 { 0x00, 0xff, 0xff } | |
| 981 }; | |
| 982 | |
| 983 | |
| 984 static struct cs_info iso2_tbl[] = { | |
| 985 { 0x00, 0x00, 0x00 }, | |
| 986 { 0x00, 0x01, 0x01 }, | |
| 987 { 0x00, 0x02, 0x02 }, | |
| 988 { 0x00, 0x03, 0x03 }, | |
| 989 { 0x00, 0x04, 0x04 }, | |
| 990 { 0x00, 0x05, 0x05 }, | |
| 991 { 0x00, 0x06, 0x06 }, | |
| 992 { 0x00, 0x07, 0x07 }, | |
| 993 { 0x00, 0x08, 0x08 }, | |
| 994 { 0x00, 0x09, 0x09 }, | |
| 995 { 0x00, 0x0a, 0x0a }, | |
| 996 { 0x00, 0x0b, 0x0b }, | |
| 997 { 0x00, 0x0c, 0x0c }, | |
| 998 { 0x00, 0x0d, 0x0d }, | |
| 999 { 0x00, 0x0e, 0x0e }, | |
| 1000 { 0x00, 0x0f, 0x0f }, | |
| 1001 { 0x00, 0x10, 0x10 }, | |
| 1002 { 0x00, 0x11, 0x11 }, | |
| 1003 { 0x00, 0x12, 0x12 }, | |
| 1004 { 0x00, 0x13, 0x13 }, | |
| 1005 { 0x00, 0x14, 0x14 }, | |
| 1006 { 0x00, 0x15, 0x15 }, | |
| 1007 { 0x00, 0x16, 0x16 }, | |
| 1008 { 0x00, 0x17, 0x17 }, | |
| 1009 { 0x00, 0x18, 0x18 }, | |
| 1010 { 0x00, 0x19, 0x19 }, | |
| 1011 { 0x00, 0x1a, 0x1a }, | |
| 1012 { 0x00, 0x1b, 0x1b }, | |
| 1013 { 0x00, 0x1c, 0x1c }, | |
| 1014 { 0x00, 0x1d, 0x1d }, | |
| 1015 { 0x00, 0x1e, 0x1e }, | |
| 1016 { 0x00, 0x1f, 0x1f }, | |
| 1017 { 0x00, 0x20, 0x20 }, | |
| 1018 { 0x00, 0x21, 0x21 }, | |
| 1019 { 0x00, 0x22, 0x22 }, | |
| 1020 { 0x00, 0x23, 0x23 }, | |
| 1021 { 0x00, 0x24, 0x24 }, | |
| 1022 { 0x00, 0x25, 0x25 }, | |
| 1023 { 0x00, 0x26, 0x26 }, | |
| 1024 { 0x00, 0x27, 0x27 }, | |
| 1025 { 0x00, 0x28, 0x28 }, | |
| 1026 { 0x00, 0x29, 0x29 }, | |
| 1027 { 0x00, 0x2a, 0x2a }, | |
| 1028 { 0x00, 0x2b, 0x2b }, | |
| 1029 { 0x00, 0x2c, 0x2c }, | |
| 1030 { 0x00, 0x2d, 0x2d }, | |
| 1031 { 0x00, 0x2e, 0x2e }, | |
| 1032 { 0x00, 0x2f, 0x2f }, | |
| 1033 { 0x00, 0x30, 0x30 }, | |
| 1034 { 0x00, 0x31, 0x31 }, | |
| 1035 { 0x00, 0x32, 0x32 }, | |
| 1036 { 0x00, 0x33, 0x33 }, | |
| 1037 { 0x00, 0x34, 0x34 }, | |
| 1038 { 0x00, 0x35, 0x35 }, | |
| 1039 { 0x00, 0x36, 0x36 }, | |
| 1040 { 0x00, 0x37, 0x37 }, | |
| 1041 { 0x00, 0x38, 0x38 }, | |
| 1042 { 0x00, 0x39, 0x39 }, | |
| 1043 { 0x00, 0x3a, 0x3a }, | |
| 1044 { 0x00, 0x3b, 0x3b }, | |
| 1045 { 0x00, 0x3c, 0x3c }, | |
| 1046 { 0x00, 0x3d, 0x3d }, | |
| 1047 { 0x00, 0x3e, 0x3e }, | |
| 1048 { 0x00, 0x3f, 0x3f }, | |
| 1049 { 0x00, 0x40, 0x40 }, | |
| 1050 { 0x01, 0x61, 0x41 }, | |
| 1051 { 0x01, 0x62, 0x42 }, | |
| 1052 { 0x01, 0x63, 0x43 }, | |
| 1053 { 0x01, 0x64, 0x44 }, | |
| 1054 { 0x01, 0x65, 0x45 }, | |
| 1055 { 0x01, 0x66, 0x46 }, | |
| 1056 { 0x01, 0x67, 0x47 }, | |
| 1057 { 0x01, 0x68, 0x48 }, | |
| 1058 { 0x01, 0x69, 0x49 }, | |
| 1059 { 0x01, 0x6a, 0x4a }, | |
| 1060 { 0x01, 0x6b, 0x4b }, | |
| 1061 { 0x01, 0x6c, 0x4c }, | |
| 1062 { 0x01, 0x6d, 0x4d }, | |
| 1063 { 0x01, 0x6e, 0x4e }, | |
| 1064 { 0x01, 0x6f, 0x4f }, | |
| 1065 { 0x01, 0x70, 0x50 }, | |
| 1066 { 0x01, 0x71, 0x51 }, | |
| 1067 { 0x01, 0x72, 0x52 }, | |
| 1068 { 0x01, 0x73, 0x53 }, | |
| 1069 { 0x01, 0x74, 0x54 }, | |
| 1070 { 0x01, 0x75, 0x55 }, | |
| 1071 { 0x01, 0x76, 0x56 }, | |
| 1072 { 0x01, 0x77, 0x57 }, | |
| 1073 { 0x01, 0x78, 0x58 }, | |
| 1074 { 0x01, 0x79, 0x59 }, | |
| 1075 { 0x01, 0x7a, 0x5a }, | |
| 1076 { 0x00, 0x5b, 0x5b }, | |
| 1077 { 0x00, 0x5c, 0x5c }, | |
| 1078 { 0x00, 0x5d, 0x5d }, | |
| 1079 { 0x00, 0x5e, 0x5e }, | |
| 1080 { 0x00, 0x5f, 0x5f }, | |
| 1081 { 0x00, 0x60, 0x60 }, | |
| 1082 { 0x00, 0x61, 0x41 }, | |
| 1083 { 0x00, 0x62, 0x42 }, | |
| 1084 { 0x00, 0x63, 0x43 }, | |
| 1085 { 0x00, 0x64, 0x44 }, | |
| 1086 { 0x00, 0x65, 0x45 }, | |
| 1087 { 0x00, 0x66, 0x46 }, | |
| 1088 { 0x00, 0x67, 0x47 }, | |
| 1089 { 0x00, 0x68, 0x48 }, | |
| 1090 { 0x00, 0x69, 0x49 }, | |
| 1091 { 0x00, 0x6a, 0x4a }, | |
| 1092 { 0x00, 0x6b, 0x4b }, | |
| 1093 { 0x00, 0x6c, 0x4c }, | |
| 1094 { 0x00, 0x6d, 0x4d }, | |
| 1095 { 0x00, 0x6e, 0x4e }, | |
| 1096 { 0x00, 0x6f, 0x4f }, | |
| 1097 { 0x00, 0x70, 0x50 }, | |
| 1098 { 0x00, 0x71, 0x51 }, | |
| 1099 { 0x00, 0x72, 0x52 }, | |
| 1100 { 0x00, 0x73, 0x53 }, | |
| 1101 { 0x00, 0x74, 0x54 }, | |
| 1102 { 0x00, 0x75, 0x55 }, | |
| 1103 { 0x00, 0x76, 0x56 }, | |
| 1104 { 0x00, 0x77, 0x57 }, | |
| 1105 { 0x00, 0x78, 0x58 }, | |
| 1106 { 0x00, 0x79, 0x59 }, | |
| 1107 { 0x00, 0x7a, 0x5a }, | |
| 1108 { 0x00, 0x7b, 0x7b }, | |
| 1109 { 0x00, 0x7c, 0x7c }, | |
| 1110 { 0x00, 0x7d, 0x7d }, | |
| 1111 { 0x00, 0x7e, 0x7e }, | |
| 1112 { 0x00, 0x7f, 0x7f }, | |
| 1113 { 0x00, 0x80, 0x80 }, | |
| 1114 { 0x00, 0x81, 0x81 }, | |
| 1115 { 0x00, 0x82, 0x82 }, | |
| 1116 { 0x00, 0x83, 0x83 }, | |
| 1117 { 0x00, 0x84, 0x84 }, | |
| 1118 { 0x00, 0x85, 0x85 }, | |
| 1119 { 0x00, 0x86, 0x86 }, | |
| 1120 { 0x00, 0x87, 0x87 }, | |
| 1121 { 0x00, 0x88, 0x88 }, | |
| 1122 { 0x00, 0x89, 0x89 }, | |
| 1123 { 0x00, 0x8a, 0x8a }, | |
| 1124 { 0x00, 0x8b, 0x8b }, | |
| 1125 { 0x00, 0x8c, 0x8c }, | |
| 1126 { 0x00, 0x8d, 0x8d }, | |
| 1127 { 0x00, 0x8e, 0x8e }, | |
| 1128 { 0x00, 0x8f, 0x8f }, | |
| 1129 { 0x00, 0x90, 0x90 }, | |
| 1130 { 0x00, 0x91, 0x91 }, | |
| 1131 { 0x00, 0x92, 0x92 }, | |
| 1132 { 0x00, 0x93, 0x93 }, | |
| 1133 { 0x00, 0x94, 0x94 }, | |
| 1134 { 0x00, 0x95, 0x95 }, | |
| 1135 { 0x00, 0x96, 0x96 }, | |
| 1136 { 0x00, 0x97, 0x97 }, | |
| 1137 { 0x00, 0x98, 0x98 }, | |
| 1138 { 0x00, 0x99, 0x99 }, | |
| 1139 { 0x00, 0x9a, 0x9a }, | |
| 1140 { 0x00, 0x9b, 0x9b }, | |
| 1141 { 0x00, 0x9c, 0x9c }, | |
| 1142 { 0x00, 0x9d, 0x9d }, | |
| 1143 { 0x00, 0x9e, 0x9e }, | |
| 1144 { 0x00, 0x9f, 0x9f }, | |
| 1145 { 0x00, 0xa0, 0xa0 }, | |
| 1146 { 0x01, 0xb1, 0xa1 }, | |
| 1147 { 0x00, 0xa2, 0xa2 }, | |
| 1148 { 0x01, 0xb3, 0xa3 }, | |
| 1149 { 0x00, 0xa4, 0xa4 }, | |
| 1150 { 0x01, 0xb5, 0xa5 }, | |
| 1151 { 0x01, 0xb6, 0xa6 }, | |
| 1152 { 0x00, 0xa7, 0xa7 }, | |
| 1153 { 0x00, 0xa8, 0xa8 }, | |
| 1154 { 0x01, 0xb9, 0xa9 }, | |
| 1155 { 0x01, 0xba, 0xaa }, | |
| 1156 { 0x01, 0xbb, 0xab }, | |
| 1157 { 0x01, 0xbc, 0xac }, | |
| 1158 { 0x00, 0xad, 0xad }, | |
| 1159 { 0x01, 0xbe, 0xae }, | |
| 1160 { 0x01, 0xbf, 0xaf }, | |
| 1161 { 0x00, 0xb0, 0xb0 }, | |
| 1162 { 0x00, 0xb1, 0xa1 }, | |
| 1163 { 0x00, 0xb2, 0xb2 }, | |
| 1164 { 0x00, 0xb3, 0xa3 }, | |
| 1165 { 0x00, 0xb4, 0xb4 }, | |
| 1166 { 0x00, 0xb5, 0xa5 }, | |
| 1167 { 0x00, 0xb6, 0xa6 }, | |
| 1168 { 0x00, 0xb7, 0xb7 }, | |
| 1169 { 0x00, 0xb8, 0xb8 }, | |
| 1170 { 0x00, 0xb9, 0xa9 }, | |
| 1171 { 0x00, 0xba, 0xaa }, | |
| 1172 { 0x00, 0xbb, 0xab }, | |
| 1173 { 0x00, 0xbc, 0xac }, | |
| 1174 { 0x00, 0xbd, 0xbd }, | |
| 1175 { 0x00, 0xbe, 0xae }, | |
| 1176 { 0x00, 0xbf, 0xaf }, | |
| 1177 { 0x01, 0xe0, 0xc0 }, | |
| 1178 { 0x01, 0xe1, 0xc1 }, | |
| 1179 { 0x01, 0xe2, 0xc2 }, | |
| 1180 { 0x01, 0xe3, 0xc3 }, | |
| 1181 { 0x01, 0xe4, 0xc4 }, | |
| 1182 { 0x01, 0xe5, 0xc5 }, | |
| 1183 { 0x01, 0xe6, 0xc6 }, | |
| 1184 { 0x01, 0xe7, 0xc7 }, | |
| 1185 { 0x01, 0xe8, 0xc8 }, | |
| 1186 { 0x01, 0xe9, 0xc9 }, | |
| 1187 { 0x01, 0xea, 0xca }, | |
| 1188 { 0x01, 0xeb, 0xcb }, | |
| 1189 { 0x01, 0xec, 0xcc }, | |
| 1190 { 0x01, 0xed, 0xcd }, | |
| 1191 { 0x01, 0xee, 0xce }, | |
| 1192 { 0x01, 0xef, 0xcf }, | |
| 1193 { 0x01, 0xf0, 0xd0 }, | |
| 1194 { 0x01, 0xf1, 0xd1 }, | |
| 1195 { 0x01, 0xf2, 0xd2 }, | |
| 1196 { 0x01, 0xf3, 0xd3 }, | |
| 1197 { 0x01, 0xf4, 0xd4 }, | |
| 1198 { 0x01, 0xf5, 0xd5 }, | |
| 1199 { 0x01, 0xf6, 0xd6 }, | |
| 1200 { 0x00, 0xd7, 0xd7 }, | |
| 1201 { 0x01, 0xf8, 0xd8 }, | |
| 1202 { 0x01, 0xf9, 0xd9 }, | |
| 1203 { 0x01, 0xfa, 0xda }, | |
| 1204 { 0x01, 0xfb, 0xdb }, | |
| 1205 { 0x01, 0xfc, 0xdc }, | |
| 1206 { 0x01, 0xfd, 0xdd }, | |
| 1207 { 0x01, 0xfe, 0xde }, | |
| 1208 { 0x00, 0xdf, 0xdf }, | |
| 1209 { 0x00, 0xe0, 0xc0 }, | |
| 1210 { 0x00, 0xe1, 0xc1 }, | |
| 1211 { 0x00, 0xe2, 0xc2 }, | |
| 1212 { 0x00, 0xe3, 0xc3 }, | |
| 1213 { 0x00, 0xe4, 0xc4 }, | |
| 1214 { 0x00, 0xe5, 0xc5 }, | |
| 1215 { 0x00, 0xe6, 0xc6 }, | |
| 1216 { 0x00, 0xe7, 0xc7 }, | |
| 1217 { 0x00, 0xe8, 0xc8 }, | |
| 1218 { 0x00, 0xe9, 0xc9 }, | |
| 1219 { 0x00, 0xea, 0xca }, | |
| 1220 { 0x00, 0xeb, 0xcb }, | |
| 1221 { 0x00, 0xec, 0xcc }, | |
| 1222 { 0x00, 0xed, 0xcd }, | |
| 1223 { 0x00, 0xee, 0xce }, | |
| 1224 { 0x00, 0xef, 0xcf }, | |
| 1225 { 0x00, 0xf0, 0xd0 }, | |
| 1226 { 0x00, 0xf1, 0xd1 }, | |
| 1227 { 0x00, 0xf2, 0xd2 }, | |
| 1228 { 0x00, 0xf3, 0xd3 }, | |
| 1229 { 0x00, 0xf4, 0xd4 }, | |
| 1230 { 0x00, 0xf5, 0xd5 }, | |
| 1231 { 0x00, 0xf6, 0xd6 }, | |
| 1232 { 0x00, 0xf7, 0xf7 }, | |
| 1233 { 0x00, 0xf8, 0xd8 }, | |
| 1234 { 0x00, 0xf9, 0xd9 }, | |
| 1235 { 0x00, 0xfa, 0xda }, | |
| 1236 { 0x00, 0xfb, 0xdb }, | |
| 1237 { 0x00, 0xfc, 0xdc }, | |
| 1238 { 0x00, 0xfd, 0xdd }, | |
| 1239 { 0x00, 0xfe, 0xde }, | |
| 1240 { 0x00, 0xff, 0xff } | |
| 1241 }; | |
| 1242 | |
| 1243 | |
| 1244 static struct cs_info iso3_tbl[] = { | |
| 1245 { 0x00, 0x00, 0x00 }, | |
| 1246 { 0x00, 0x01, 0x01 }, | |
| 1247 { 0x00, 0x02, 0x02 }, | |
| 1248 { 0x00, 0x03, 0x03 }, | |
| 1249 { 0x00, 0x04, 0x04 }, | |
| 1250 { 0x00, 0x05, 0x05 }, | |
| 1251 { 0x00, 0x06, 0x06 }, | |
| 1252 { 0x00, 0x07, 0x07 }, | |
| 1253 { 0x00, 0x08, 0x08 }, | |
| 1254 { 0x00, 0x09, 0x09 }, | |
| 1255 { 0x00, 0x0a, 0x0a }, | |
| 1256 { 0x00, 0x0b, 0x0b }, | |
| 1257 { 0x00, 0x0c, 0x0c }, | |
| 1258 { 0x00, 0x0d, 0x0d }, | |
| 1259 { 0x00, 0x0e, 0x0e }, | |
| 1260 { 0x00, 0x0f, 0x0f }, | |
| 1261 { 0x00, 0x10, 0x10 }, | |
| 1262 { 0x00, 0x11, 0x11 }, | |
| 1263 { 0x00, 0x12, 0x12 }, | |
| 1264 { 0x00, 0x13, 0x13 }, | |
| 1265 { 0x00, 0x14, 0x14 }, | |
| 1266 { 0x00, 0x15, 0x15 }, | |
| 1267 { 0x00, 0x16, 0x16 }, | |
| 1268 { 0x00, 0x17, 0x17 }, | |
| 1269 { 0x00, 0x18, 0x18 }, | |
| 1270 { 0x00, 0x19, 0x19 }, | |
| 1271 { 0x00, 0x1a, 0x1a }, | |
| 1272 { 0x00, 0x1b, 0x1b }, | |
| 1273 { 0x00, 0x1c, 0x1c }, | |
| 1274 { 0x00, 0x1d, 0x1d }, | |
| 1275 { 0x00, 0x1e, 0x1e }, | |
| 1276 { 0x00, 0x1f, 0x1f }, | |
| 1277 { 0x00, 0x20, 0x20 }, | |
| 1278 { 0x00, 0x21, 0x21 }, | |
| 1279 { 0x00, 0x22, 0x22 }, | |
| 1280 { 0x00, 0x23, 0x23 }, | |
| 1281 { 0x00, 0x24, 0x24 }, | |
| 1282 { 0x00, 0x25, 0x25 }, | |
| 1283 { 0x00, 0x26, 0x26 }, | |
| 1284 { 0x00, 0x27, 0x27 }, | |
| 1285 { 0x00, 0x28, 0x28 }, | |
| 1286 { 0x00, 0x29, 0x29 }, | |
| 1287 { 0x00, 0x2a, 0x2a }, | |
| 1288 { 0x00, 0x2b, 0x2b }, | |
| 1289 { 0x00, 0x2c, 0x2c }, | |
| 1290 { 0x00, 0x2d, 0x2d }, | |
| 1291 { 0x00, 0x2e, 0x2e }, | |
| 1292 { 0x00, 0x2f, 0x2f }, | |
| 1293 { 0x00, 0x30, 0x30 }, | |
| 1294 { 0x00, 0x31, 0x31 }, | |
| 1295 { 0x00, 0x32, 0x32 }, | |
| 1296 { 0x00, 0x33, 0x33 }, | |
| 1297 { 0x00, 0x34, 0x34 }, | |
| 1298 { 0x00, 0x35, 0x35 }, | |
| 1299 { 0x00, 0x36, 0x36 }, | |
| 1300 { 0x00, 0x37, 0x37 }, | |
| 1301 { 0x00, 0x38, 0x38 }, | |
| 1302 { 0x00, 0x39, 0x39 }, | |
| 1303 { 0x00, 0x3a, 0x3a }, | |
| 1304 { 0x00, 0x3b, 0x3b }, | |
| 1305 { 0x00, 0x3c, 0x3c }, | |
| 1306 { 0x00, 0x3d, 0x3d }, | |
| 1307 { 0x00, 0x3e, 0x3e }, | |
| 1308 { 0x00, 0x3f, 0x3f }, | |
| 1309 { 0x00, 0x40, 0x40 }, | |
| 1310 { 0x01, 0x61, 0x41 }, | |
| 1311 { 0x01, 0x62, 0x42 }, | |
| 1312 { 0x01, 0x63, 0x43 }, | |
| 1313 { 0x01, 0x64, 0x44 }, | |
| 1314 { 0x01, 0x65, 0x45 }, | |
| 1315 { 0x01, 0x66, 0x46 }, | |
| 1316 { 0x01, 0x67, 0x47 }, | |
| 1317 { 0x01, 0x68, 0x48 }, | |
| 1318 { 0x01, 0x69, 0x49 }, | |
| 1319 { 0x01, 0x6a, 0x4a }, | |
| 1320 { 0x01, 0x6b, 0x4b }, | |
| 1321 { 0x01, 0x6c, 0x4c }, | |
| 1322 { 0x01, 0x6d, 0x4d }, | |
| 1323 { 0x01, 0x6e, 0x4e }, | |
| 1324 { 0x01, 0x6f, 0x4f }, | |
| 1325 { 0x01, 0x70, 0x50 }, | |
| 1326 { 0x01, 0x71, 0x51 }, | |
| 1327 { 0x01, 0x72, 0x52 }, | |
| 1328 { 0x01, 0x73, 0x53 }, | |
| 1329 { 0x01, 0x74, 0x54 }, | |
| 1330 { 0x01, 0x75, 0x55 }, | |
| 1331 { 0x01, 0x76, 0x56 }, | |
| 1332 { 0x01, 0x77, 0x57 }, | |
| 1333 { 0x01, 0x78, 0x58 }, | |
| 1334 { 0x01, 0x79, 0x59 }, | |
| 1335 { 0x01, 0x7a, 0x5a }, | |
| 1336 { 0x00, 0x5b, 0x5b }, | |
| 1337 { 0x00, 0x5c, 0x5c }, | |
| 1338 { 0x00, 0x5d, 0x5d }, | |
| 1339 { 0x00, 0x5e, 0x5e }, | |
| 1340 { 0x00, 0x5f, 0x5f }, | |
| 1341 { 0x00, 0x60, 0x60 }, | |
| 1342 { 0x00, 0x61, 0x41 }, | |
| 1343 { 0x00, 0x62, 0x42 }, | |
| 1344 { 0x00, 0x63, 0x43 }, | |
| 1345 { 0x00, 0x64, 0x44 }, | |
| 1346 { 0x00, 0x65, 0x45 }, | |
| 1347 { 0x00, 0x66, 0x46 }, | |
| 1348 { 0x00, 0x67, 0x47 }, | |
| 1349 { 0x00, 0x68, 0x48 }, | |
| 1350 { 0x00, 0x69, 0x49 }, | |
| 1351 { 0x00, 0x6a, 0x4a }, | |
| 1352 { 0x00, 0x6b, 0x4b }, | |
| 1353 { 0x00, 0x6c, 0x4c }, | |
| 1354 { 0x00, 0x6d, 0x4d }, | |
| 1355 { 0x00, 0x6e, 0x4e }, | |
| 1356 { 0x00, 0x6f, 0x4f }, | |
| 1357 { 0x00, 0x70, 0x50 }, | |
| 1358 { 0x00, 0x71, 0x51 }, | |
| 1359 { 0x00, 0x72, 0x52 }, | |
| 1360 { 0x00, 0x73, 0x53 }, | |
| 1361 { 0x00, 0x74, 0x54 }, | |
| 1362 { 0x00, 0x75, 0x55 }, | |
| 1363 { 0x00, 0x76, 0x56 }, | |
| 1364 { 0x00, 0x77, 0x57 }, | |
| 1365 { 0x00, 0x78, 0x58 }, | |
| 1366 { 0x00, 0x79, 0x59 }, | |
| 1367 { 0x00, 0x7a, 0x5a }, | |
| 1368 { 0x00, 0x7b, 0x7b }, | |
| 1369 { 0x00, 0x7c, 0x7c }, | |
| 1370 { 0x00, 0x7d, 0x7d }, | |
| 1371 { 0x00, 0x7e, 0x7e }, | |
| 1372 { 0x00, 0x7f, 0x7f }, | |
| 1373 { 0x00, 0x80, 0x80 }, | |
| 1374 { 0x00, 0x81, 0x81 }, | |
| 1375 { 0x00, 0x82, 0x82 }, | |
| 1376 { 0x00, 0x83, 0x83 }, | |
| 1377 { 0x00, 0x84, 0x84 }, | |
| 1378 { 0x00, 0x85, 0x85 }, | |
| 1379 { 0x00, 0x86, 0x86 }, | |
| 1380 { 0x00, 0x87, 0x87 }, | |
| 1381 { 0x00, 0x88, 0x88 }, | |
| 1382 { 0x00, 0x89, 0x89 }, | |
| 1383 { 0x00, 0x8a, 0x8a }, | |
| 1384 { 0x00, 0x8b, 0x8b }, | |
| 1385 { 0x00, 0x8c, 0x8c }, | |
| 1386 { 0x00, 0x8d, 0x8d }, | |
| 1387 { 0x00, 0x8e, 0x8e }, | |
| 1388 { 0x00, 0x8f, 0x8f }, | |
| 1389 { 0x00, 0x90, 0x90 }, | |
| 1390 { 0x00, 0x91, 0x91 }, | |
| 1391 { 0x00, 0x92, 0x92 }, | |
| 1392 { 0x00, 0x93, 0x93 }, | |
| 1393 { 0x00, 0x94, 0x94 }, | |
| 1394 { 0x00, 0x95, 0x95 }, | |
| 1395 { 0x00, 0x96, 0x96 }, | |
| 1396 { 0x00, 0x97, 0x97 }, | |
| 1397 { 0x00, 0x98, 0x98 }, | |
| 1398 { 0x00, 0x99, 0x99 }, | |
| 1399 { 0x00, 0x9a, 0x9a }, | |
| 1400 { 0x00, 0x9b, 0x9b }, | |
| 1401 { 0x00, 0x9c, 0x9c }, | |
| 1402 { 0x00, 0x9d, 0x9d }, | |
| 1403 { 0x00, 0x9e, 0x9e }, | |
| 1404 { 0x00, 0x9f, 0x9f }, | |
| 1405 { 0x00, 0xa0, 0xa0 }, | |
| 1406 { 0x01, 0xb1, 0xa1 }, | |
| 1407 { 0x00, 0xa2, 0xa2 }, | |
| 1408 { 0x00, 0xa3, 0xa3 }, | |
| 1409 { 0x00, 0xa4, 0xa4 }, | |
| 1410 { 0x00, 0xa5, 0xa5 }, | |
| 1411 { 0x01, 0xb6, 0xa6 }, | |
| 1412 { 0x00, 0xa7, 0xa7 }, | |
| 1413 { 0x00, 0xa8, 0xa8 }, | |
| 1414 { 0x01, 0x69, 0xa9 }, | |
| 1415 { 0x01, 0xba, 0xaa }, | |
| 1416 { 0x01, 0xbb, 0xab }, | |
| 1417 { 0x01, 0xbc, 0xac }, | |
| 1418 { 0x00, 0xad, 0xad }, | |
| 1419 { 0x00, 0xae, 0xae }, | |
| 1420 { 0x01, 0xbf, 0xaf }, | |
| 1421 { 0x00, 0xb0, 0xb0 }, | |
| 1422 { 0x00, 0xb1, 0xa1 }, | |
| 1423 { 0x00, 0xb2, 0xb2 }, | |
| 1424 { 0x00, 0xb3, 0xb3 }, | |
| 1425 { 0x00, 0xb4, 0xb4 }, | |
| 1426 { 0x00, 0xb5, 0xb5 }, | |
| 1427 { 0x00, 0xb6, 0xa6 }, | |
| 1428 { 0x00, 0xb7, 0xb7 }, | |
| 1429 { 0x00, 0xb8, 0xb8 }, | |
| 1430 { 0x00, 0xb9, 0x49 }, | |
| 1431 { 0x00, 0xba, 0xaa }, | |
| 1432 { 0x00, 0xbb, 0xab }, | |
| 1433 { 0x00, 0xbc, 0xac }, | |
| 1434 { 0x00, 0xbd, 0xbd }, | |
| 1435 { 0x00, 0xbe, 0xbe }, | |
| 1436 { 0x00, 0xbf, 0xaf }, | |
| 1437 { 0x01, 0xe0, 0xc0 }, | |
| 1438 { 0x01, 0xe1, 0xc1 }, | |
| 1439 { 0x01, 0xe2, 0xc2 }, | |
| 1440 { 0x00, 0xc3, 0xc3 }, | |
| 1441 { 0x01, 0xe4, 0xc4 }, | |
| 1442 { 0x01, 0xe5, 0xc5 }, | |
| 1443 { 0x01, 0xe6, 0xc6 }, | |
| 1444 { 0x01, 0xe7, 0xc7 }, | |
| 1445 { 0x01, 0xe8, 0xc8 }, | |
| 1446 { 0x01, 0xe9, 0xc9 }, | |
| 1447 { 0x01, 0xea, 0xca }, | |
| 1448 { 0x01, 0xeb, 0xcb }, | |
| 1449 { 0x01, 0xec, 0xcc }, | |
| 1450 { 0x01, 0xed, 0xcd }, | |
| 1451 { 0x01, 0xee, 0xce }, | |
| 1452 { 0x01, 0xef, 0xcf }, | |
| 1453 { 0x00, 0xd0, 0xd0 }, | |
| 1454 { 0x01, 0xf1, 0xd1 }, | |
| 1455 { 0x01, 0xf2, 0xd2 }, | |
| 1456 { 0x01, 0xf3, 0xd3 }, | |
| 1457 { 0x01, 0xf4, 0xd4 }, | |
| 1458 { 0x01, 0xf5, 0xd5 }, | |
| 1459 { 0x01, 0xf6, 0xd6 }, | |
| 1460 { 0x00, 0xd7, 0xd7 }, | |
| 1461 { 0x01, 0xf8, 0xd8 }, | |
| 1462 { 0x01, 0xf9, 0xd9 }, | |
| 1463 { 0x01, 0xfa, 0xda }, | |
| 1464 { 0x01, 0xfb, 0xdb }, | |
| 1465 { 0x01, 0xfc, 0xdc }, | |
| 1466 { 0x01, 0xfd, 0xdd }, | |
| 1467 { 0x01, 0xfe, 0xde }, | |
| 1468 { 0x00, 0xdf, 0xdf }, | |
| 1469 { 0x00, 0xe0, 0xc0 }, | |
| 1470 { 0x00, 0xe1, 0xc1 }, | |
| 1471 { 0x00, 0xe2, 0xc2 }, | |
| 1472 { 0x00, 0xe3, 0xe3 }, | |
| 1473 { 0x00, 0xe4, 0xc4 }, | |
| 1474 { 0x00, 0xe5, 0xc5 }, | |
| 1475 { 0x00, 0xe6, 0xc6 }, | |
| 1476 { 0x00, 0xe7, 0xc7 }, | |
| 1477 { 0x00, 0xe8, 0xc8 }, | |
| 1478 { 0x00, 0xe9, 0xc9 }, | |
| 1479 { 0x00, 0xea, 0xca }, | |
| 1480 { 0x00, 0xeb, 0xcb }, | |
| 1481 { 0x00, 0xec, 0xcc }, | |
| 1482 { 0x00, 0xed, 0xcd }, | |
| 1483 { 0x00, 0xee, 0xce }, | |
| 1484 { 0x00, 0xef, 0xcf }, | |
| 1485 { 0x00, 0xf0, 0xf0 }, | |
| 1486 { 0x00, 0xf1, 0xd1 }, | |
| 1487 { 0x00, 0xf2, 0xd2 }, | |
| 1488 { 0x00, 0xf3, 0xd3 }, | |
| 1489 { 0x00, 0xf4, 0xd4 }, | |
| 1490 { 0x00, 0xf5, 0xd5 }, | |
| 1491 { 0x00, 0xf6, 0xd6 }, | |
| 1492 { 0x00, 0xf7, 0xf7 }, | |
| 1493 { 0x00, 0xf8, 0xd8 }, | |
| 1494 { 0x00, 0xf9, 0xd9 }, | |
| 1495 { 0x00, 0xfa, 0xda }, | |
| 1496 { 0x00, 0xfb, 0xdb }, | |
| 1497 { 0x00, 0xfc, 0xdc }, | |
| 1498 { 0x00, 0xfd, 0xdd }, | |
| 1499 { 0x00, 0xfe, 0xde }, | |
| 1500 { 0x00, 0xff, 0xff } | |
| 1501 }; | |
| 1502 | |
| 1503 static struct cs_info iso4_tbl[] = { | |
| 1504 { 0x00, 0x00, 0x00 }, | |
| 1505 { 0x00, 0x01, 0x01 }, | |
| 1506 { 0x00, 0x02, 0x02 }, | |
| 1507 { 0x00, 0x03, 0x03 }, | |
| 1508 { 0x00, 0x04, 0x04 }, | |
| 1509 { 0x00, 0x05, 0x05 }, | |
| 1510 { 0x00, 0x06, 0x06 }, | |
| 1511 { 0x00, 0x07, 0x07 }, | |
| 1512 { 0x00, 0x08, 0x08 }, | |
| 1513 { 0x00, 0x09, 0x09 }, | |
| 1514 { 0x00, 0x0a, 0x0a }, | |
| 1515 { 0x00, 0x0b, 0x0b }, | |
| 1516 { 0x00, 0x0c, 0x0c }, | |
| 1517 { 0x00, 0x0d, 0x0d }, | |
| 1518 { 0x00, 0x0e, 0x0e }, | |
| 1519 { 0x00, 0x0f, 0x0f }, | |
| 1520 { 0x00, 0x10, 0x10 }, | |
| 1521 { 0x00, 0x11, 0x11 }, | |
| 1522 { 0x00, 0x12, 0x12 }, | |
| 1523 { 0x00, 0x13, 0x13 }, | |
| 1524 { 0x00, 0x14, 0x14 }, | |
| 1525 { 0x00, 0x15, 0x15 }, | |
| 1526 { 0x00, 0x16, 0x16 }, | |
| 1527 { 0x00, 0x17, 0x17 }, | |
| 1528 { 0x00, 0x18, 0x18 }, | |
| 1529 { 0x00, 0x19, 0x19 }, | |
| 1530 { 0x00, 0x1a, 0x1a }, | |
| 1531 { 0x00, 0x1b, 0x1b }, | |
| 1532 { 0x00, 0x1c, 0x1c }, | |
| 1533 { 0x00, 0x1d, 0x1d }, | |
| 1534 { 0x00, 0x1e, 0x1e }, | |
| 1535 { 0x00, 0x1f, 0x1f }, | |
| 1536 { 0x00, 0x20, 0x20 }, | |
| 1537 { 0x00, 0x21, 0x21 }, | |
| 1538 { 0x00, 0x22, 0x22 }, | |
| 1539 { 0x00, 0x23, 0x23 }, | |
| 1540 { 0x00, 0x24, 0x24 }, | |
| 1541 { 0x00, 0x25, 0x25 }, | |
| 1542 { 0x00, 0x26, 0x26 }, | |
| 1543 { 0x00, 0x27, 0x27 }, | |
| 1544 { 0x00, 0x28, 0x28 }, | |
| 1545 { 0x00, 0x29, 0x29 }, | |
| 1546 { 0x00, 0x2a, 0x2a }, | |
| 1547 { 0x00, 0x2b, 0x2b }, | |
| 1548 { 0x00, 0x2c, 0x2c }, | |
| 1549 { 0x00, 0x2d, 0x2d }, | |
| 1550 { 0x00, 0x2e, 0x2e }, | |
| 1551 { 0x00, 0x2f, 0x2f }, | |
| 1552 { 0x00, 0x30, 0x30 }, | |
| 1553 { 0x00, 0x31, 0x31 }, | |
| 1554 { 0x00, 0x32, 0x32 }, | |
| 1555 { 0x00, 0x33, 0x33 }, | |
| 1556 { 0x00, 0x34, 0x34 }, | |
| 1557 { 0x00, 0x35, 0x35 }, | |
| 1558 { 0x00, 0x36, 0x36 }, | |
| 1559 { 0x00, 0x37, 0x37 }, | |
| 1560 { 0x00, 0x38, 0x38 }, | |
| 1561 { 0x00, 0x39, 0x39 }, | |
| 1562 { 0x00, 0x3a, 0x3a }, | |
| 1563 { 0x00, 0x3b, 0x3b }, | |
| 1564 { 0x00, 0x3c, 0x3c }, | |
| 1565 { 0x00, 0x3d, 0x3d }, | |
| 1566 { 0x00, 0x3e, 0x3e }, | |
| 1567 { 0x00, 0x3f, 0x3f }, | |
| 1568 { 0x00, 0x40, 0x40 }, | |
| 1569 { 0x01, 0x61, 0x41 }, | |
| 1570 { 0x01, 0x62, 0x42 }, | |
| 1571 { 0x01, 0x63, 0x43 }, | |
| 1572 { 0x01, 0x64, 0x44 }, | |
| 1573 { 0x01, 0x65, 0x45 }, | |
| 1574 { 0x01, 0x66, 0x46 }, | |
| 1575 { 0x01, 0x67, 0x47 }, | |
| 1576 { 0x01, 0x68, 0x48 }, | |
| 1577 { 0x01, 0x69, 0x49 }, | |
| 1578 { 0x01, 0x6a, 0x4a }, | |
| 1579 { 0x01, 0x6b, 0x4b }, | |
| 1580 { 0x01, 0x6c, 0x4c }, | |
| 1581 { 0x01, 0x6d, 0x4d }, | |
| 1582 { 0x01, 0x6e, 0x4e }, | |
| 1583 { 0x01, 0x6f, 0x4f }, | |
| 1584 { 0x01, 0x70, 0x50 }, | |
| 1585 { 0x01, 0x71, 0x51 }, | |
| 1586 { 0x01, 0x72, 0x52 }, | |
| 1587 { 0x01, 0x73, 0x53 }, | |
| 1588 { 0x01, 0x74, 0x54 }, | |
| 1589 { 0x01, 0x75, 0x55 }, | |
| 1590 { 0x01, 0x76, 0x56 }, | |
| 1591 { 0x01, 0x77, 0x57 }, | |
| 1592 { 0x01, 0x78, 0x58 }, | |
| 1593 { 0x01, 0x79, 0x59 }, | |
| 1594 { 0x01, 0x7a, 0x5a }, | |
| 1595 { 0x00, 0x5b, 0x5b }, | |
| 1596 { 0x00, 0x5c, 0x5c }, | |
| 1597 { 0x00, 0x5d, 0x5d }, | |
| 1598 { 0x00, 0x5e, 0x5e }, | |
| 1599 { 0x00, 0x5f, 0x5f }, | |
| 1600 { 0x00, 0x60, 0x60 }, | |
| 1601 { 0x00, 0x61, 0x41 }, | |
| 1602 { 0x00, 0x62, 0x42 }, | |
| 1603 { 0x00, 0x63, 0x43 }, | |
| 1604 { 0x00, 0x64, 0x44 }, | |
| 1605 { 0x00, 0x65, 0x45 }, | |
| 1606 { 0x00, 0x66, 0x46 }, | |
| 1607 { 0x00, 0x67, 0x47 }, | |
| 1608 { 0x00, 0x68, 0x48 }, | |
| 1609 { 0x00, 0x69, 0x49 }, | |
| 1610 { 0x00, 0x6a, 0x4a }, | |
| 1611 { 0x00, 0x6b, 0x4b }, | |
| 1612 { 0x00, 0x6c, 0x4c }, | |
| 1613 { 0x00, 0x6d, 0x4d }, | |
| 1614 { 0x00, 0x6e, 0x4e }, | |
| 1615 { 0x00, 0x6f, 0x4f }, | |
| 1616 { 0x00, 0x70, 0x50 }, | |
| 1617 { 0x00, 0x71, 0x51 }, | |
| 1618 { 0x00, 0x72, 0x52 }, | |
| 1619 { 0x00, 0x73, 0x53 }, | |
| 1620 { 0x00, 0x74, 0x54 }, | |
| 1621 { 0x00, 0x75, 0x55 }, | |
| 1622 { 0x00, 0x76, 0x56 }, | |
| 1623 { 0x00, 0x77, 0x57 }, | |
| 1624 { 0x00, 0x78, 0x58 }, | |
| 1625 { 0x00, 0x79, 0x59 }, | |
| 1626 { 0x00, 0x7a, 0x5a }, | |
| 1627 { 0x00, 0x7b, 0x7b }, | |
| 1628 { 0x00, 0x7c, 0x7c }, | |
| 1629 { 0x00, 0x7d, 0x7d }, | |
| 1630 { 0x00, 0x7e, 0x7e }, | |
| 1631 { 0x00, 0x7f, 0x7f }, | |
| 1632 { 0x00, 0x80, 0x80 }, | |
| 1633 { 0x00, 0x81, 0x81 }, | |
| 1634 { 0x00, 0x82, 0x82 }, | |
| 1635 { 0x00, 0x83, 0x83 }, | |
| 1636 { 0x00, 0x84, 0x84 }, | |
| 1637 { 0x00, 0x85, 0x85 }, | |
| 1638 { 0x00, 0x86, 0x86 }, | |
| 1639 { 0x00, 0x87, 0x87 }, | |
| 1640 { 0x00, 0x88, 0x88 }, | |
| 1641 { 0x00, 0x89, 0x89 }, | |
| 1642 { 0x00, 0x8a, 0x8a }, | |
| 1643 { 0x00, 0x8b, 0x8b }, | |
| 1644 { 0x00, 0x8c, 0x8c }, | |
| 1645 { 0x00, 0x8d, 0x8d }, | |
| 1646 { 0x00, 0x8e, 0x8e }, | |
| 1647 { 0x00, 0x8f, 0x8f }, | |
| 1648 { 0x00, 0x90, 0x90 }, | |
| 1649 { 0x00, 0x91, 0x91 }, | |
| 1650 { 0x00, 0x92, 0x92 }, | |
| 1651 { 0x00, 0x93, 0x93 }, | |
| 1652 { 0x00, 0x94, 0x94 }, | |
| 1653 { 0x00, 0x95, 0x95 }, | |
| 1654 { 0x00, 0x96, 0x96 }, | |
| 1655 { 0x00, 0x97, 0x97 }, | |
| 1656 { 0x00, 0x98, 0x98 }, | |
| 1657 { 0x00, 0x99, 0x99 }, | |
| 1658 { 0x00, 0x9a, 0x9a }, | |
| 1659 { 0x00, 0x9b, 0x9b }, | |
| 1660 { 0x00, 0x9c, 0x9c }, | |
| 1661 { 0x00, 0x9d, 0x9d }, | |
| 1662 { 0x00, 0x9e, 0x9e }, | |
| 1663 { 0x00, 0x9f, 0x9f }, | |
| 1664 { 0x00, 0xa0, 0xa0 }, | |
| 1665 { 0x01, 0xb1, 0xa1 }, | |
| 1666 { 0x00, 0xa2, 0xa2 }, | |
| 1667 { 0x01, 0xb3, 0xa3 }, | |
| 1668 { 0x00, 0xa4, 0xa4 }, | |
| 1669 { 0x01, 0xb5, 0xa5 }, | |
| 1670 { 0x01, 0xb6, 0xa6 }, | |
| 1671 { 0x00, 0xa7, 0xa7 }, | |
| 1672 { 0x00, 0xa8, 0xa8 }, | |
| 1673 { 0x01, 0xb9, 0xa9 }, | |
| 1674 { 0x01, 0xba, 0xaa }, | |
| 1675 { 0x01, 0xbb, 0xab }, | |
| 1676 { 0x01, 0xbc, 0xac }, | |
| 1677 { 0x00, 0xad, 0xad }, | |
| 1678 { 0x01, 0xbe, 0xae }, | |
| 1679 { 0x00, 0xaf, 0xaf }, | |
| 1680 { 0x00, 0xb0, 0xb0 }, | |
| 1681 { 0x00, 0xb1, 0xa1 }, | |
| 1682 { 0x00, 0xb2, 0xb2 }, | |
| 1683 { 0x00, 0xb3, 0xa3 }, | |
| 1684 { 0x00, 0xb4, 0xb4 }, | |
| 1685 { 0x00, 0xb5, 0xa5 }, | |
| 1686 { 0x00, 0xb6, 0xa6 }, | |
| 1687 { 0x00, 0xb7, 0xb7 }, | |
| 1688 { 0x00, 0xb8, 0xb8 }, | |
| 1689 { 0x00, 0xb9, 0xa9 }, | |
| 1690 { 0x00, 0xba, 0xaa }, | |
| 1691 { 0x00, 0xbb, 0xab }, | |
| 1692 { 0x00, 0xbc, 0xac }, | |
| 1693 { 0x00, 0xbd, 0xbd }, | |
| 1694 { 0x00, 0xbe, 0xae }, | |
| 1695 { 0x00, 0xbf, 0xbf }, | |
| 1696 { 0x01, 0xe0, 0xc0 }, | |
| 1697 { 0x01, 0xe1, 0xc1 }, | |
| 1698 { 0x01, 0xe2, 0xc2 }, | |
| 1699 { 0x01, 0xe3, 0xc3 }, | |
| 1700 { 0x01, 0xe4, 0xc4 }, | |
| 1701 { 0x01, 0xe5, 0xc5 }, | |
| 1702 { 0x01, 0xe6, 0xc6 }, | |
| 1703 { 0x01, 0xe7, 0xc7 }, | |
| 1704 { 0x01, 0xe8, 0xc8 }, | |
| 1705 { 0x01, 0xe9, 0xc9 }, | |
| 1706 { 0x01, 0xea, 0xca }, | |
| 1707 { 0x01, 0xeb, 0xcb }, | |
| 1708 { 0x01, 0xec, 0xcc }, | |
| 1709 { 0x01, 0xed, 0xcd }, | |
| 1710 { 0x01, 0xee, 0xce }, | |
| 1711 { 0x01, 0xef, 0xcf }, | |
| 1712 { 0x01, 0xf0, 0xd0 }, | |
| 1713 { 0x01, 0xf1, 0xd1 }, | |
| 1714 { 0x01, 0xf2, 0xd2 }, | |
| 1715 { 0x01, 0xf3, 0xd3 }, | |
| 1716 { 0x01, 0xf4, 0xd4 }, | |
| 1717 { 0x01, 0xf5, 0xd5 }, | |
| 1718 { 0x01, 0xf6, 0xd6 }, | |
| 1719 { 0x00, 0xd7, 0xd7 }, | |
| 1720 { 0x01, 0xf8, 0xd8 }, | |
| 1721 { 0x01, 0xf9, 0xd9 }, | |
| 1722 { 0x01, 0xfa, 0xda }, | |
| 1723 { 0x01, 0xfb, 0xdb }, | |
| 1724 { 0x01, 0xfc, 0xdc }, | |
| 1725 { 0x01, 0xfd, 0xdd }, | |
| 1726 { 0x01, 0xfe, 0xde }, | |
| 1727 { 0x00, 0xdf, 0xdf }, | |
| 1728 { 0x00, 0xe0, 0xc0 }, | |
| 1729 { 0x00, 0xe1, 0xc1 }, | |
| 1730 { 0x00, 0xe2, 0xc2 }, | |
| 1731 { 0x00, 0xe3, 0xc3 }, | |
| 1732 { 0x00, 0xe4, 0xc4 }, | |
| 1733 { 0x00, 0xe5, 0xc5 }, | |
| 1734 { 0x00, 0xe6, 0xc6 }, | |
| 1735 { 0x00, 0xe7, 0xc7 }, | |
| 1736 { 0x00, 0xe8, 0xc8 }, | |
| 1737 { 0x00, 0xe9, 0xc9 }, | |
| 1738 { 0x00, 0xea, 0xca }, | |
| 1739 { 0x00, 0xeb, 0xcb }, | |
| 1740 { 0x00, 0xec, 0xcc }, | |
| 1741 { 0x00, 0xed, 0xcd }, | |
| 1742 { 0x00, 0xee, 0xce }, | |
| 1743 { 0x00, 0xef, 0xcf }, | |
| 1744 { 0x00, 0xf0, 0xd0 }, | |
| 1745 { 0x00, 0xf1, 0xd1 }, | |
| 1746 { 0x00, 0xf2, 0xd2 }, | |
| 1747 { 0x00, 0xf3, 0xd3 }, | |
| 1748 { 0x00, 0xf4, 0xd4 }, | |
| 1749 { 0x00, 0xf5, 0xd5 }, | |
| 1750 { 0x00, 0xf6, 0xd6 }, | |
| 1751 { 0x00, 0xf7, 0xf7 }, | |
| 1752 { 0x00, 0xf8, 0xd8 }, | |
| 1753 { 0x00, 0xf9, 0xd9 }, | |
| 1754 { 0x00, 0xfa, 0xda }, | |
| 1755 { 0x00, 0xfb, 0xdb }, | |
| 1756 { 0x00, 0xfc, 0xdc }, | |
| 1757 { 0x00, 0xfd, 0xdd }, | |
| 1758 { 0x00, 0xfe, 0xde }, | |
| 1759 { 0x00, 0xff, 0xff } | |
| 1760 }; | |
| 1761 | |
| 1762 static struct cs_info iso5_tbl[] = { | |
| 1763 { 0x00, 0x00, 0x00 }, | |
| 1764 { 0x00, 0x01, 0x01 }, | |
| 1765 { 0x00, 0x02, 0x02 }, | |
| 1766 { 0x00, 0x03, 0x03 }, | |
| 1767 { 0x00, 0x04, 0x04 }, | |
| 1768 { 0x00, 0x05, 0x05 }, | |
| 1769 { 0x00, 0x06, 0x06 }, | |
| 1770 { 0x00, 0x07, 0x07 }, | |
| 1771 { 0x00, 0x08, 0x08 }, | |
| 1772 { 0x00, 0x09, 0x09 }, | |
| 1773 { 0x00, 0x0a, 0x0a }, | |
| 1774 { 0x00, 0x0b, 0x0b }, | |
| 1775 { 0x00, 0x0c, 0x0c }, | |
| 1776 { 0x00, 0x0d, 0x0d }, | |
| 1777 { 0x00, 0x0e, 0x0e }, | |
| 1778 { 0x00, 0x0f, 0x0f }, | |
| 1779 { 0x00, 0x10, 0x10 }, | |
| 1780 { 0x00, 0x11, 0x11 }, | |
| 1781 { 0x00, 0x12, 0x12 }, | |
| 1782 { 0x00, 0x13, 0x13 }, | |
| 1783 { 0x00, 0x14, 0x14 }, | |
| 1784 { 0x00, 0x15, 0x15 }, | |
| 1785 { 0x00, 0x16, 0x16 }, | |
| 1786 { 0x00, 0x17, 0x17 }, | |
| 1787 { 0x00, 0x18, 0x18 }, | |
| 1788 { 0x00, 0x19, 0x19 }, | |
| 1789 { 0x00, 0x1a, 0x1a }, | |
| 1790 { 0x00, 0x1b, 0x1b }, | |
| 1791 { 0x00, 0x1c, 0x1c }, | |
| 1792 { 0x00, 0x1d, 0x1d }, | |
| 1793 { 0x00, 0x1e, 0x1e }, | |
| 1794 { 0x00, 0x1f, 0x1f }, | |
| 1795 { 0x00, 0x20, 0x20 }, | |
| 1796 { 0x00, 0x21, 0x21 }, | |
| 1797 { 0x00, 0x22, 0x22 }, | |
| 1798 { 0x00, 0x23, 0x23 }, | |
| 1799 { 0x00, 0x24, 0x24 }, | |
| 1800 { 0x00, 0x25, 0x25 }, | |
| 1801 { 0x00, 0x26, 0x26 }, | |
| 1802 { 0x00, 0x27, 0x27 }, | |
| 1803 { 0x00, 0x28, 0x28 }, | |
| 1804 { 0x00, 0x29, 0x29 }, | |
| 1805 { 0x00, 0x2a, 0x2a }, | |
| 1806 { 0x00, 0x2b, 0x2b }, | |
| 1807 { 0x00, 0x2c, 0x2c }, | |
| 1808 { 0x00, 0x2d, 0x2d }, | |
| 1809 { 0x00, 0x2e, 0x2e }, | |
| 1810 { 0x00, 0x2f, 0x2f }, | |
| 1811 { 0x00, 0x30, 0x30 }, | |
| 1812 { 0x00, 0x31, 0x31 }, | |
| 1813 { 0x00, 0x32, 0x32 }, | |
| 1814 { 0x00, 0x33, 0x33 }, | |
| 1815 { 0x00, 0x34, 0x34 }, | |
| 1816 { 0x00, 0x35, 0x35 }, | |
| 1817 { 0x00, 0x36, 0x36 }, | |
| 1818 { 0x00, 0x37, 0x37 }, | |
| 1819 { 0x00, 0x38, 0x38 }, | |
| 1820 { 0x00, 0x39, 0x39 }, | |
| 1821 { 0x00, 0x3a, 0x3a }, | |
| 1822 { 0x00, 0x3b, 0x3b }, | |
| 1823 { 0x00, 0x3c, 0x3c }, | |
| 1824 { 0x00, 0x3d, 0x3d }, | |
| 1825 { 0x00, 0x3e, 0x3e }, | |
| 1826 { 0x00, 0x3f, 0x3f }, | |
| 1827 { 0x00, 0x40, 0x40 }, | |
| 1828 { 0x01, 0x61, 0x41 }, | |
| 1829 { 0x01, 0x62, 0x42 }, | |
| 1830 { 0x01, 0x63, 0x43 }, | |
| 1831 { 0x01, 0x64, 0x44 }, | |
| 1832 { 0x01, 0x65, 0x45 }, | |
| 1833 { 0x01, 0x66, 0x46 }, | |
| 1834 { 0x01, 0x67, 0x47 }, | |
| 1835 { 0x01, 0x68, 0x48 }, | |
| 1836 { 0x01, 0x69, 0x49 }, | |
| 1837 { 0x01, 0x6a, 0x4a }, | |
| 1838 { 0x01, 0x6b, 0x4b }, | |
| 1839 { 0x01, 0x6c, 0x4c }, | |
| 1840 { 0x01, 0x6d, 0x4d }, | |
| 1841 { 0x01, 0x6e, 0x4e }, | |
| 1842 { 0x01, 0x6f, 0x4f }, | |
| 1843 { 0x01, 0x70, 0x50 }, | |
| 1844 { 0x01, 0x71, 0x51 }, | |
| 1845 { 0x01, 0x72, 0x52 }, | |
| 1846 { 0x01, 0x73, 0x53 }, | |
| 1847 { 0x01, 0x74, 0x54 }, | |
| 1848 { 0x01, 0x75, 0x55 }, | |
| 1849 { 0x01, 0x76, 0x56 }, | |
| 1850 { 0x01, 0x77, 0x57 }, | |
| 1851 { 0x01, 0x78, 0x58 }, | |
| 1852 { 0x01, 0x79, 0x59 }, | |
| 1853 { 0x01, 0x7a, 0x5a }, | |
| 1854 { 0x00, 0x5b, 0x5b }, | |
| 1855 { 0x00, 0x5c, 0x5c }, | |
| 1856 { 0x00, 0x5d, 0x5d }, | |
| 1857 { 0x00, 0x5e, 0x5e }, | |
| 1858 { 0x00, 0x5f, 0x5f }, | |
| 1859 { 0x00, 0x60, 0x60 }, | |
| 1860 { 0x00, 0x61, 0x41 }, | |
| 1861 { 0x00, 0x62, 0x42 }, | |
| 1862 { 0x00, 0x63, 0x43 }, | |
| 1863 { 0x00, 0x64, 0x44 }, | |
| 1864 { 0x00, 0x65, 0x45 }, | |
| 1865 { 0x00, 0x66, 0x46 }, | |
| 1866 { 0x00, 0x67, 0x47 }, | |
| 1867 { 0x00, 0x68, 0x48 }, | |
| 1868 { 0x00, 0x69, 0x49 }, | |
| 1869 { 0x00, 0x6a, 0x4a }, | |
| 1870 { 0x00, 0x6b, 0x4b }, | |
| 1871 { 0x00, 0x6c, 0x4c }, | |
| 1872 { 0x00, 0x6d, 0x4d }, | |
| 1873 { 0x00, 0x6e, 0x4e }, | |
| 1874 { 0x00, 0x6f, 0x4f }, | |
| 1875 { 0x00, 0x70, 0x50 }, | |
| 1876 { 0x00, 0x71, 0x51 }, | |
| 1877 { 0x00, 0x72, 0x52 }, | |
| 1878 { 0x00, 0x73, 0x53 }, | |
| 1879 { 0x00, 0x74, 0x54 }, | |
| 1880 { 0x00, 0x75, 0x55 }, | |
| 1881 { 0x00, 0x76, 0x56 }, | |
| 1882 { 0x00, 0x77, 0x57 }, | |
| 1883 { 0x00, 0x78, 0x58 }, | |
| 1884 { 0x00, 0x79, 0x59 }, | |
| 1885 { 0x00, 0x7a, 0x5a }, | |
| 1886 { 0x00, 0x7b, 0x7b }, | |
| 1887 { 0x00, 0x7c, 0x7c }, | |
| 1888 { 0x00, 0x7d, 0x7d }, | |
| 1889 { 0x00, 0x7e, 0x7e }, | |
| 1890 { 0x00, 0x7f, 0x7f }, | |
| 1891 { 0x00, 0x80, 0x80 }, | |
| 1892 { 0x00, 0x81, 0x81 }, | |
| 1893 { 0x00, 0x82, 0x82 }, | |
| 1894 { 0x00, 0x83, 0x83 }, | |
| 1895 { 0x00, 0x84, 0x84 }, | |
| 1896 { 0x00, 0x85, 0x85 }, | |
| 1897 { 0x00, 0x86, 0x86 }, | |
| 1898 { 0x00, 0x87, 0x87 }, | |
| 1899 { 0x00, 0x88, 0x88 }, | |
| 1900 { 0x00, 0x89, 0x89 }, | |
| 1901 { 0x00, 0x8a, 0x8a }, | |
| 1902 { 0x00, 0x8b, 0x8b }, | |
| 1903 { 0x00, 0x8c, 0x8c }, | |
| 1904 { 0x00, 0x8d, 0x8d }, | |
| 1905 { 0x00, 0x8e, 0x8e }, | |
| 1906 { 0x00, 0x8f, 0x8f }, | |
| 1907 { 0x00, 0x90, 0x90 }, | |
| 1908 { 0x00, 0x91, 0x91 }, | |
| 1909 { 0x00, 0x92, 0x92 }, | |
| 1910 { 0x00, 0x93, 0x93 }, | |
| 1911 { 0x00, 0x94, 0x94 }, | |
| 1912 { 0x00, 0x95, 0x95 }, | |
| 1913 { 0x00, 0x96, 0x96 }, | |
| 1914 { 0x00, 0x97, 0x97 }, | |
| 1915 { 0x00, 0x98, 0x98 }, | |
| 1916 { 0x00, 0x99, 0x99 }, | |
| 1917 { 0x00, 0x9a, 0x9a }, | |
| 1918 { 0x00, 0x9b, 0x9b }, | |
| 1919 { 0x00, 0x9c, 0x9c }, | |
| 1920 { 0x00, 0x9d, 0x9d }, | |
| 1921 { 0x00, 0x9e, 0x9e }, | |
| 1922 { 0x00, 0x9f, 0x9f }, | |
| 1923 { 0x00, 0xa0, 0xa0 }, | |
| 1924 { 0x01, 0xf1, 0xa1 }, | |
| 1925 { 0x01, 0xf2, 0xa2 }, | |
| 1926 { 0x01, 0xf3, 0xa3 }, | |
| 1927 { 0x01, 0xf4, 0xa4 }, | |
| 1928 { 0x01, 0xf5, 0xa5 }, | |
| 1929 { 0x01, 0xf6, 0xa6 }, | |
| 1930 { 0x01, 0xf7, 0xa7 }, | |
| 1931 { 0x01, 0xf8, 0xa8 }, | |
| 1932 { 0x01, 0xf9, 0xa9 }, | |
| 1933 { 0x01, 0xfa, 0xaa }, | |
| 1934 { 0x01, 0xfb, 0xab }, | |
| 1935 { 0x01, 0xfc, 0xac }, | |
| 1936 { 0x00, 0xad, 0xad }, | |
| 1937 { 0x01, 0xfe, 0xae }, | |
| 1938 { 0x01, 0xff, 0xaf }, | |
| 1939 { 0x01, 0xd0, 0xb0 }, | |
| 1940 { 0x01, 0xd1, 0xb1 }, | |
| 1941 { 0x01, 0xd2, 0xb2 }, | |
| 1942 { 0x01, 0xd3, 0xb3 }, | |
| 1943 { 0x01, 0xd4, 0xb4 }, | |
| 1944 { 0x01, 0xd5, 0xb5 }, | |
| 1945 { 0x01, 0xd6, 0xb6 }, | |
| 1946 { 0x01, 0xd7, 0xb7 }, | |
| 1947 { 0x01, 0xd8, 0xb8 }, | |
| 1948 { 0x01, 0xd9, 0xb9 }, | |
| 1949 { 0x01, 0xda, 0xba }, | |
| 1950 { 0x01, 0xdb, 0xbb }, | |
| 1951 { 0x01, 0xdc, 0xbc }, | |
| 1952 { 0x01, 0xdd, 0xbd }, | |
| 1953 { 0x01, 0xde, 0xbe }, | |
| 1954 { 0x01, 0xdf, 0xbf }, | |
| 1955 { 0x01, 0xe0, 0xc0 }, | |
| 1956 { 0x01, 0xe1, 0xc1 }, | |
| 1957 { 0x01, 0xe2, 0xc2 }, | |
| 1958 { 0x01, 0xe3, 0xc3 }, | |
| 1959 { 0x01, 0xe4, 0xc4 }, | |
| 1960 { 0x01, 0xe5, 0xc5 }, | |
| 1961 { 0x01, 0xe6, 0xc6 }, | |
| 1962 { 0x01, 0xe7, 0xc7 }, | |
| 1963 { 0x01, 0xe8, 0xc8 }, | |
| 1964 { 0x01, 0xe9, 0xc9 }, | |
| 1965 { 0x01, 0xea, 0xca }, | |
| 1966 { 0x01, 0xeb, 0xcb }, | |
| 1967 { 0x01, 0xec, 0xcc }, | |
| 1968 { 0x01, 0xed, 0xcd }, | |
| 1969 { 0x01, 0xee, 0xce }, | |
| 1970 { 0x01, 0xef, 0xcf }, | |
| 1971 { 0x00, 0xd0, 0xb0 }, | |
| 1972 { 0x00, 0xd1, 0xb1 }, | |
| 1973 { 0x00, 0xd2, 0xb2 }, | |
| 1974 { 0x00, 0xd3, 0xb3 }, | |
| 1975 { 0x00, 0xd4, 0xb4 }, | |
| 1976 { 0x00, 0xd5, 0xb5 }, | |
| 1977 { 0x00, 0xd6, 0xb6 }, | |
| 1978 { 0x00, 0xd7, 0xb7 }, | |
| 1979 { 0x00, 0xd8, 0xb8 }, | |
| 1980 { 0x00, 0xd9, 0xb9 }, | |
| 1981 { 0x00, 0xda, 0xba }, | |
| 1982 { 0x00, 0xdb, 0xbb }, | |
| 1983 { 0x00, 0xdc, 0xbc }, | |
| 1984 { 0x00, 0xdd, 0xbd }, | |
| 1985 { 0x00, 0xde, 0xbe }, | |
| 1986 { 0x00, 0xdf, 0xbf }, | |
| 1987 { 0x00, 0xe0, 0xc0 }, | |
| 1988 { 0x00, 0xe1, 0xc1 }, | |
| 1989 { 0x00, 0xe2, 0xc2 }, | |
| 1990 { 0x00, 0xe3, 0xc3 }, | |
| 1991 { 0x00, 0xe4, 0xc4 }, | |
| 1992 { 0x00, 0xe5, 0xc5 }, | |
| 1993 { 0x00, 0xe6, 0xc6 }, | |
| 1994 { 0x00, 0xe7, 0xc7 }, | |
| 1995 { 0x00, 0xe8, 0xc8 }, | |
| 1996 { 0x00, 0xe9, 0xc9 }, | |
| 1997 { 0x00, 0xea, 0xca }, | |
| 1998 { 0x00, 0xeb, 0xcb }, | |
| 1999 { 0x00, 0xec, 0xcc }, | |
| 2000 { 0x00, 0xed, 0xcd }, | |
| 2001 { 0x00, 0xee, 0xce }, | |
| 2002 { 0x00, 0xef, 0xcf }, | |
| 2003 { 0x00, 0xf0, 0xf0 }, | |
| 2004 { 0x00, 0xf1, 0xa1 }, | |
| 2005 { 0x00, 0xf2, 0xa2 }, | |
| 2006 { 0x00, 0xf3, 0xa3 }, | |
| 2007 { 0x00, 0xf4, 0xa4 }, | |
| 2008 { 0x00, 0xf5, 0xa5 }, | |
| 2009 { 0x00, 0xf6, 0xa6 }, | |
| 2010 { 0x00, 0xf7, 0xa7 }, | |
| 2011 { 0x00, 0xf8, 0xa8 }, | |
| 2012 { 0x00, 0xf9, 0xa9 }, | |
| 2013 { 0x00, 0xfa, 0xaa }, | |
| 2014 { 0x00, 0xfb, 0xab }, | |
| 2015 { 0x00, 0xfc, 0xac }, | |
| 2016 { 0x00, 0xfd, 0xfd }, | |
| 2017 { 0x00, 0xfe, 0xae }, | |
| 2018 { 0x00, 0xff, 0xaf } | |
| 2019 }; | |
| 2020 | |
| 2021 static struct cs_info iso6_tbl[] = { | |
| 2022 { 0x00, 0x00, 0x00 }, | |
| 2023 { 0x00, 0x01, 0x01 }, | |
| 2024 { 0x00, 0x02, 0x02 }, | |
| 2025 { 0x00, 0x03, 0x03 }, | |
| 2026 { 0x00, 0x04, 0x04 }, | |
| 2027 { 0x00, 0x05, 0x05 }, | |
| 2028 { 0x00, 0x06, 0x06 }, | |
| 2029 { 0x00, 0x07, 0x07 }, | |
| 2030 { 0x00, 0x08, 0x08 }, | |
| 2031 { 0x00, 0x09, 0x09 }, | |
| 2032 { 0x00, 0x0a, 0x0a }, | |
| 2033 { 0x00, 0x0b, 0x0b }, | |
| 2034 { 0x00, 0x0c, 0x0c }, | |
| 2035 { 0x00, 0x0d, 0x0d }, | |
| 2036 { 0x00, 0x0e, 0x0e }, | |
| 2037 { 0x00, 0x0f, 0x0f }, | |
| 2038 { 0x00, 0x10, 0x10 }, | |
| 2039 { 0x00, 0x11, 0x11 }, | |
| 2040 { 0x00, 0x12, 0x12 }, | |
| 2041 { 0x00, 0x13, 0x13 }, | |
| 2042 { 0x00, 0x14, 0x14 }, | |
| 2043 { 0x00, 0x15, 0x15 }, | |
| 2044 { 0x00, 0x16, 0x16 }, | |
| 2045 { 0x00, 0x17, 0x17 }, | |
| 2046 { 0x00, 0x18, 0x18 }, | |
| 2047 { 0x00, 0x19, 0x19 }, | |
| 2048 { 0x00, 0x1a, 0x1a }, | |
| 2049 { 0x00, 0x1b, 0x1b }, | |
| 2050 { 0x00, 0x1c, 0x1c }, | |
| 2051 { 0x00, 0x1d, 0x1d }, | |
| 2052 { 0x00, 0x1e, 0x1e }, | |
| 2053 { 0x00, 0x1f, 0x1f }, | |
| 2054 { 0x00, 0x20, 0x20 }, | |
| 2055 { 0x00, 0x21, 0x21 }, | |
| 2056 { 0x00, 0x22, 0x22 }, | |
| 2057 { 0x00, 0x23, 0x23 }, | |
| 2058 { 0x00, 0x24, 0x24 }, | |
| 2059 { 0x00, 0x25, 0x25 }, | |
| 2060 { 0x00, 0x26, 0x26 }, | |
| 2061 { 0x00, 0x27, 0x27 }, | |
| 2062 { 0x00, 0x28, 0x28 }, | |
| 2063 { 0x00, 0x29, 0x29 }, | |
| 2064 { 0x00, 0x2a, 0x2a }, | |
| 2065 { 0x00, 0x2b, 0x2b }, | |
| 2066 { 0x00, 0x2c, 0x2c }, | |
| 2067 { 0x00, 0x2d, 0x2d }, | |
| 2068 { 0x00, 0x2e, 0x2e }, | |
| 2069 { 0x00, 0x2f, 0x2f }, | |
| 2070 { 0x00, 0x30, 0x30 }, | |
| 2071 { 0x00, 0x31, 0x31 }, | |
| 2072 { 0x00, 0x32, 0x32 }, | |
| 2073 { 0x00, 0x33, 0x33 }, | |
| 2074 { 0x00, 0x34, 0x34 }, | |
| 2075 { 0x00, 0x35, 0x35 }, | |
| 2076 { 0x00, 0x36, 0x36 }, | |
| 2077 { 0x00, 0x37, 0x37 }, | |
| 2078 { 0x00, 0x38, 0x38 }, | |
| 2079 { 0x00, 0x39, 0x39 }, | |
| 2080 { 0x00, 0x3a, 0x3a }, | |
| 2081 { 0x00, 0x3b, 0x3b }, | |
| 2082 { 0x00, 0x3c, 0x3c }, | |
| 2083 { 0x00, 0x3d, 0x3d }, | |
| 2084 { 0x00, 0x3e, 0x3e }, | |
| 2085 { 0x00, 0x3f, 0x3f }, | |
| 2086 { 0x00, 0x40, 0x40 }, | |
| 2087 { 0x01, 0x61, 0x41 }, | |
| 2088 { 0x01, 0x62, 0x42 }, | |
| 2089 { 0x01, 0x63, 0x43 }, | |
| 2090 { 0x01, 0x64, 0x44 }, | |
| 2091 { 0x01, 0x65, 0x45 }, | |
| 2092 { 0x01, 0x66, 0x46 }, | |
| 2093 { 0x01, 0x67, 0x47 }, | |
| 2094 { 0x01, 0x68, 0x48 }, | |
| 2095 { 0x01, 0x69, 0x49 }, | |
| 2096 { 0x01, 0x6a, 0x4a }, | |
| 2097 { 0x01, 0x6b, 0x4b }, | |
| 2098 { 0x01, 0x6c, 0x4c }, | |
| 2099 { 0x01, 0x6d, 0x4d }, | |
| 2100 { 0x01, 0x6e, 0x4e }, | |
| 2101 { 0x01, 0x6f, 0x4f }, | |
| 2102 { 0x01, 0x70, 0x50 }, | |
| 2103 { 0x01, 0x71, 0x51 }, | |
| 2104 { 0x01, 0x72, 0x52 }, | |
| 2105 { 0x01, 0x73, 0x53 }, | |
| 2106 { 0x01, 0x74, 0x54 }, | |
| 2107 { 0x01, 0x75, 0x55 }, | |
| 2108 { 0x01, 0x76, 0x56 }, | |
| 2109 { 0x01, 0x77, 0x57 }, | |
| 2110 { 0x01, 0x78, 0x58 }, | |
| 2111 { 0x01, 0x79, 0x59 }, | |
| 2112 { 0x01, 0x7a, 0x5a }, | |
| 2113 { 0x00, 0x5b, 0x5b }, | |
| 2114 { 0x00, 0x5c, 0x5c }, | |
| 2115 { 0x00, 0x5d, 0x5d }, | |
| 2116 { 0x00, 0x5e, 0x5e }, | |
| 2117 { 0x00, 0x5f, 0x5f }, | |
| 2118 { 0x00, 0x60, 0x60 }, | |
| 2119 { 0x00, 0x61, 0x41 }, | |
| 2120 { 0x00, 0x62, 0x42 }, | |
| 2121 { 0x00, 0x63, 0x43 }, | |
| 2122 { 0x00, 0x64, 0x44 }, | |
| 2123 { 0x00, 0x65, 0x45 }, | |
| 2124 { 0x00, 0x66, 0x46 }, | |
| 2125 { 0x00, 0x67, 0x47 }, | |
| 2126 { 0x00, 0x68, 0x48 }, | |
| 2127 { 0x00, 0x69, 0x49 }, | |
| 2128 { 0x00, 0x6a, 0x4a }, | |
| 2129 { 0x00, 0x6b, 0x4b }, | |
| 2130 { 0x00, 0x6c, 0x4c }, | |
| 2131 { 0x00, 0x6d, 0x4d }, | |
| 2132 { 0x00, 0x6e, 0x4e }, | |
| 2133 { 0x00, 0x6f, 0x4f }, | |
| 2134 { 0x00, 0x70, 0x50 }, | |
| 2135 { 0x00, 0x71, 0x51 }, | |
| 2136 { 0x00, 0x72, 0x52 }, | |
| 2137 { 0x00, 0x73, 0x53 }, | |
| 2138 { 0x00, 0x74, 0x54 }, | |
| 2139 { 0x00, 0x75, 0x55 }, | |
| 2140 { 0x00, 0x76, 0x56 }, | |
| 2141 { 0x00, 0x77, 0x57 }, | |
| 2142 { 0x00, 0x78, 0x58 }, | |
| 2143 { 0x00, 0x79, 0x59 }, | |
| 2144 { 0x00, 0x7a, 0x5a }, | |
| 2145 { 0x00, 0x7b, 0x7b }, | |
| 2146 { 0x00, 0x7c, 0x7c }, | |
| 2147 { 0x00, 0x7d, 0x7d }, | |
| 2148 { 0x00, 0x7e, 0x7e }, | |
| 2149 { 0x00, 0x7f, 0x7f }, | |
| 2150 { 0x00, 0x80, 0x80 }, | |
| 2151 { 0x00, 0x81, 0x81 }, | |
| 2152 { 0x00, 0x82, 0x82 }, | |
| 2153 { 0x00, 0x83, 0x83 }, | |
| 2154 { 0x00, 0x84, 0x84 }, | |
| 2155 { 0x00, 0x85, 0x85 }, | |
| 2156 { 0x00, 0x86, 0x86 }, | |
| 2157 { 0x00, 0x87, 0x87 }, | |
| 2158 { 0x00, 0x88, 0x88 }, | |
| 2159 { 0x00, 0x89, 0x89 }, | |
| 2160 { 0x00, 0x8a, 0x8a }, | |
| 2161 { 0x00, 0x8b, 0x8b }, | |
| 2162 { 0x00, 0x8c, 0x8c }, | |
| 2163 { 0x00, 0x8d, 0x8d }, | |
| 2164 { 0x00, 0x8e, 0x8e }, | |
| 2165 { 0x00, 0x8f, 0x8f }, | |
| 2166 { 0x00, 0x90, 0x90 }, | |
| 2167 { 0x00, 0x91, 0x91 }, | |
| 2168 { 0x00, 0x92, 0x92 }, | |
| 2169 { 0x00, 0x93, 0x93 }, | |
| 2170 { 0x00, 0x94, 0x94 }, | |
| 2171 { 0x00, 0x95, 0x95 }, | |
| 2172 { 0x00, 0x96, 0x96 }, | |
| 2173 { 0x00, 0x97, 0x97 }, | |
| 2174 { 0x00, 0x98, 0x98 }, | |
| 2175 { 0x00, 0x99, 0x99 }, | |
| 2176 { 0x00, 0x9a, 0x9a }, | |
| 2177 { 0x00, 0x9b, 0x9b }, | |
| 2178 { 0x00, 0x9c, 0x9c }, | |
| 2179 { 0x00, 0x9d, 0x9d }, | |
| 2180 { 0x00, 0x9e, 0x9e }, | |
| 2181 { 0x00, 0x9f, 0x9f }, | |
| 2182 { 0x00, 0xa0, 0xa0 }, | |
| 2183 { 0x00, 0xa1, 0xa1 }, | |
| 2184 { 0x00, 0xa2, 0xa2 }, | |
| 2185 { 0x00, 0xa3, 0xa3 }, | |
| 2186 { 0x00, 0xa4, 0xa4 }, | |
| 2187 { 0x00, 0xa5, 0xa5 }, | |
| 2188 { 0x00, 0xa6, 0xa6 }, | |
| 2189 { 0x00, 0xa7, 0xa7 }, | |
| 2190 { 0x00, 0xa8, 0xa8 }, | |
| 2191 { 0x00, 0xa9, 0xa9 }, | |
| 2192 { 0x00, 0xaa, 0xaa }, | |
| 2193 { 0x00, 0xab, 0xab }, | |
| 2194 { 0x00, 0xac, 0xac }, | |
| 2195 { 0x00, 0xad, 0xad }, | |
| 2196 { 0x00, 0xae, 0xae }, | |
| 2197 { 0x00, 0xaf, 0xaf }, | |
| 2198 { 0x00, 0xb0, 0xb0 }, | |
| 2199 { 0x00, 0xb1, 0xb1 }, | |
| 2200 { 0x00, 0xb2, 0xb2 }, | |
| 2201 { 0x00, 0xb3, 0xb3 }, | |
| 2202 { 0x00, 0xb4, 0xb4 }, | |
| 2203 { 0x00, 0xb5, 0xb5 }, | |
| 2204 { 0x00, 0xb6, 0xb6 }, | |
| 2205 { 0x00, 0xb7, 0xb7 }, | |
| 2206 { 0x00, 0xb8, 0xb8 }, | |
| 2207 { 0x00, 0xb9, 0xb9 }, | |
| 2208 { 0x00, 0xba, 0xba }, | |
| 2209 { 0x00, 0xbb, 0xbb }, | |
| 2210 { 0x00, 0xbc, 0xbc }, | |
| 2211 { 0x00, 0xbd, 0xbd }, | |
| 2212 { 0x00, 0xbe, 0xbe }, | |
| 2213 { 0x00, 0xbf, 0xbf }, | |
| 2214 { 0x00, 0xc0, 0xc0 }, | |
| 2215 { 0x00, 0xc1, 0xc1 }, | |
| 2216 { 0x00, 0xc2, 0xc2 }, | |
| 2217 { 0x00, 0xc3, 0xc3 }, | |
| 2218 { 0x00, 0xc4, 0xc4 }, | |
| 2219 { 0x00, 0xc5, 0xc5 }, | |
| 2220 { 0x00, 0xc6, 0xc6 }, | |
| 2221 { 0x00, 0xc7, 0xc7 }, | |
| 2222 { 0x00, 0xc8, 0xc8 }, | |
| 2223 { 0x00, 0xc9, 0xc9 }, | |
| 2224 { 0x00, 0xca, 0xca }, | |
| 2225 { 0x00, 0xcb, 0xcb }, | |
| 2226 { 0x00, 0xcc, 0xcc }, | |
| 2227 { 0x00, 0xcd, 0xcd }, | |
| 2228 { 0x00, 0xce, 0xce }, | |
| 2229 { 0x00, 0xcf, 0xcf }, | |
| 2230 { 0x00, 0xd0, 0xd0 }, | |
| 2231 { 0x00, 0xd1, 0xd1 }, | |
| 2232 { 0x00, 0xd2, 0xd2 }, | |
| 2233 { 0x00, 0xd3, 0xd3 }, | |
| 2234 { 0x00, 0xd4, 0xd4 }, | |
| 2235 { 0x00, 0xd5, 0xd5 }, | |
| 2236 { 0x00, 0xd6, 0xd6 }, | |
| 2237 { 0x00, 0xd7, 0xd7 }, | |
| 2238 { 0x00, 0xd8, 0xd8 }, | |
| 2239 { 0x00, 0xd9, 0xd9 }, | |
| 2240 { 0x00, 0xda, 0xda }, | |
| 2241 { 0x00, 0xdb, 0xdb }, | |
| 2242 { 0x00, 0xdc, 0xdc }, | |
| 2243 { 0x00, 0xdd, 0xdd }, | |
| 2244 { 0x00, 0xde, 0xde }, | |
| 2245 { 0x00, 0xdf, 0xdf }, | |
| 2246 { 0x00, 0xe0, 0xe0 }, | |
| 2247 { 0x00, 0xe1, 0xe1 }, | |
| 2248 { 0x00, 0xe2, 0xe2 }, | |
| 2249 { 0x00, 0xe3, 0xe3 }, | |
| 2250 { 0x00, 0xe4, 0xe4 }, | |
| 2251 { 0x00, 0xe5, 0xe5 }, | |
| 2252 { 0x00, 0xe6, 0xe6 }, | |
| 2253 { 0x00, 0xe7, 0xe7 }, | |
| 2254 { 0x00, 0xe8, 0xe8 }, | |
| 2255 { 0x00, 0xe9, 0xe9 }, | |
| 2256 { 0x00, 0xea, 0xea }, | |
| 2257 { 0x00, 0xeb, 0xeb }, | |
| 2258 { 0x00, 0xec, 0xec }, | |
| 2259 { 0x00, 0xed, 0xed }, | |
| 2260 { 0x00, 0xee, 0xee }, | |
| 2261 { 0x00, 0xef, 0xef }, | |
| 2262 { 0x00, 0xf0, 0xf0 }, | |
| 2263 { 0x00, 0xf1, 0xf1 }, | |
| 2264 { 0x00, 0xf2, 0xf2 }, | |
| 2265 { 0x00, 0xf3, 0xf3 }, | |
| 2266 { 0x00, 0xf4, 0xf4 }, | |
| 2267 { 0x00, 0xf5, 0xf5 }, | |
| 2268 { 0x00, 0xf6, 0xf6 }, | |
| 2269 { 0x00, 0xf7, 0xf7 }, | |
| 2270 { 0x00, 0xf8, 0xf8 }, | |
| 2271 { 0x00, 0xf9, 0xf9 }, | |
| 2272 { 0x00, 0xfa, 0xfa }, | |
| 2273 { 0x00, 0xfb, 0xfb }, | |
| 2274 { 0x00, 0xfc, 0xfc }, | |
| 2275 { 0x00, 0xfd, 0xfd }, | |
| 2276 { 0x00, 0xfe, 0xfe }, | |
| 2277 { 0x00, 0xff, 0xff } | |
| 2278 }; | |
| 2279 | |
| 2280 static struct cs_info iso7_tbl[] = { | |
| 2281 { 0x00, 0x00, 0x00 }, | |
| 2282 { 0x00, 0x01, 0x01 }, | |
| 2283 { 0x00, 0x02, 0x02 }, | |
| 2284 { 0x00, 0x03, 0x03 }, | |
| 2285 { 0x00, 0x04, 0x04 }, | |
| 2286 { 0x00, 0x05, 0x05 }, | |
| 2287 { 0x00, 0x06, 0x06 }, | |
| 2288 { 0x00, 0x07, 0x07 }, | |
| 2289 { 0x00, 0x08, 0x08 }, | |
| 2290 { 0x00, 0x09, 0x09 }, | |
| 2291 { 0x00, 0x0a, 0x0a }, | |
| 2292 { 0x00, 0x0b, 0x0b }, | |
| 2293 { 0x00, 0x0c, 0x0c }, | |
| 2294 { 0x00, 0x0d, 0x0d }, | |
| 2295 { 0x00, 0x0e, 0x0e }, | |
| 2296 { 0x00, 0x0f, 0x0f }, | |
| 2297 { 0x00, 0x10, 0x10 }, | |
| 2298 { 0x00, 0x11, 0x11 }, | |
| 2299 { 0x00, 0x12, 0x12 }, | |
| 2300 { 0x00, 0x13, 0x13 }, | |
| 2301 { 0x00, 0x14, 0x14 }, | |
| 2302 { 0x00, 0x15, 0x15 }, | |
| 2303 { 0x00, 0x16, 0x16 }, | |
| 2304 { 0x00, 0x17, 0x17 }, | |
| 2305 { 0x00, 0x18, 0x18 }, | |
| 2306 { 0x00, 0x19, 0x19 }, | |
| 2307 { 0x00, 0x1a, 0x1a }, | |
| 2308 { 0x00, 0x1b, 0x1b }, | |
| 2309 { 0x00, 0x1c, 0x1c }, | |
| 2310 { 0x00, 0x1d, 0x1d }, | |
| 2311 { 0x00, 0x1e, 0x1e }, | |
| 2312 { 0x00, 0x1f, 0x1f }, | |
| 2313 { 0x00, 0x20, 0x20 }, | |
| 2314 { 0x00, 0x21, 0x21 }, | |
| 2315 { 0x00, 0x22, 0x22 }, | |
| 2316 { 0x00, 0x23, 0x23 }, | |
| 2317 { 0x00, 0x24, 0x24 }, | |
| 2318 { 0x00, 0x25, 0x25 }, | |
| 2319 { 0x00, 0x26, 0x26 }, | |
| 2320 { 0x00, 0x27, 0x27 }, | |
| 2321 { 0x00, 0x28, 0x28 }, | |
| 2322 { 0x00, 0x29, 0x29 }, | |
| 2323 { 0x00, 0x2a, 0x2a }, | |
| 2324 { 0x00, 0x2b, 0x2b }, | |
| 2325 { 0x00, 0x2c, 0x2c }, | |
| 2326 { 0x00, 0x2d, 0x2d }, | |
| 2327 { 0x00, 0x2e, 0x2e }, | |
| 2328 { 0x00, 0x2f, 0x2f }, | |
| 2329 { 0x00, 0x30, 0x30 }, | |
| 2330 { 0x00, 0x31, 0x31 }, | |
| 2331 { 0x00, 0x32, 0x32 }, | |
| 2332 { 0x00, 0x33, 0x33 }, | |
| 2333 { 0x00, 0x34, 0x34 }, | |
| 2334 { 0x00, 0x35, 0x35 }, | |
| 2335 { 0x00, 0x36, 0x36 }, | |
| 2336 { 0x00, 0x37, 0x37 }, | |
| 2337 { 0x00, 0x38, 0x38 }, | |
| 2338 { 0x00, 0x39, 0x39 }, | |
| 2339 { 0x00, 0x3a, 0x3a }, | |
| 2340 { 0x00, 0x3b, 0x3b }, | |
| 2341 { 0x00, 0x3c, 0x3c }, | |
| 2342 { 0x00, 0x3d, 0x3d }, | |
| 2343 { 0x00, 0x3e, 0x3e }, | |
| 2344 { 0x00, 0x3f, 0x3f }, | |
| 2345 { 0x00, 0x40, 0x40 }, | |
| 2346 { 0x01, 0x61, 0x41 }, | |
| 2347 { 0x01, 0x62, 0x42 }, | |
| 2348 { 0x01, 0x63, 0x43 }, | |
| 2349 { 0x01, 0x64, 0x44 }, | |
| 2350 { 0x01, 0x65, 0x45 }, | |
| 2351 { 0x01, 0x66, 0x46 }, | |
| 2352 { 0x01, 0x67, 0x47 }, | |
| 2353 { 0x01, 0x68, 0x48 }, | |
| 2354 { 0x01, 0x69, 0x49 }, | |
| 2355 { 0x01, 0x6a, 0x4a }, | |
| 2356 { 0x01, 0x6b, 0x4b }, | |
| 2357 { 0x01, 0x6c, 0x4c }, | |
| 2358 { 0x01, 0x6d, 0x4d }, | |
| 2359 { 0x01, 0x6e, 0x4e }, | |
| 2360 { 0x01, 0x6f, 0x4f }, | |
| 2361 { 0x01, 0x70, 0x50 }, | |
| 2362 { 0x01, 0x71, 0x51 }, | |
| 2363 { 0x01, 0x72, 0x52 }, | |
| 2364 { 0x01, 0x73, 0x53 }, | |
| 2365 { 0x01, 0x74, 0x54 }, | |
| 2366 { 0x01, 0x75, 0x55 }, | |
| 2367 { 0x01, 0x76, 0x56 }, | |
| 2368 { 0x01, 0x77, 0x57 }, | |
| 2369 { 0x01, 0x78, 0x58 }, | |
| 2370 { 0x01, 0x79, 0x59 }, | |
| 2371 { 0x01, 0x7a, 0x5a }, | |
| 2372 { 0x00, 0x5b, 0x5b }, | |
| 2373 { 0x00, 0x5c, 0x5c }, | |
| 2374 { 0x00, 0x5d, 0x5d }, | |
| 2375 { 0x00, 0x5e, 0x5e }, | |
| 2376 { 0x00, 0x5f, 0x5f }, | |
| 2377 { 0x00, 0x60, 0x60 }, | |
| 2378 { 0x00, 0x61, 0x41 }, | |
| 2379 { 0x00, 0x62, 0x42 }, | |
| 2380 { 0x00, 0x63, 0x43 }, | |
| 2381 { 0x00, 0x64, 0x44 }, | |
| 2382 { 0x00, 0x65, 0x45 }, | |
| 2383 { 0x00, 0x66, 0x46 }, | |
| 2384 { 0x00, 0x67, 0x47 }, | |
| 2385 { 0x00, 0x68, 0x48 }, | |
| 2386 { 0x00, 0x69, 0x49 }, | |
| 2387 { 0x00, 0x6a, 0x4a }, | |
| 2388 { 0x00, 0x6b, 0x4b }, | |
| 2389 { 0x00, 0x6c, 0x4c }, | |
| 2390 { 0x00, 0x6d, 0x4d }, | |
| 2391 { 0x00, 0x6e, 0x4e }, | |
| 2392 { 0x00, 0x6f, 0x4f }, | |
| 2393 { 0x00, 0x70, 0x50 }, | |
| 2394 { 0x00, 0x71, 0x51 }, | |
| 2395 { 0x00, 0x72, 0x52 }, | |
| 2396 { 0x00, 0x73, 0x53 }, | |
| 2397 { 0x00, 0x74, 0x54 }, | |
| 2398 { 0x00, 0x75, 0x55 }, | |
| 2399 { 0x00, 0x76, 0x56 }, | |
| 2400 { 0x00, 0x77, 0x57 }, | |
| 2401 { 0x00, 0x78, 0x58 }, | |
| 2402 { 0x00, 0x79, 0x59 }, | |
| 2403 { 0x00, 0x7a, 0x5a }, | |
| 2404 { 0x00, 0x7b, 0x7b }, | |
| 2405 { 0x00, 0x7c, 0x7c }, | |
| 2406 { 0x00, 0x7d, 0x7d }, | |
| 2407 { 0x00, 0x7e, 0x7e }, | |
| 2408 { 0x00, 0x7f, 0x7f }, | |
| 2409 { 0x00, 0x80, 0x80 }, | |
| 2410 { 0x00, 0x81, 0x81 }, | |
| 2411 { 0x00, 0x82, 0x82 }, | |
| 2412 { 0x00, 0x83, 0x83 }, | |
| 2413 { 0x00, 0x84, 0x84 }, | |
| 2414 { 0x00, 0x85, 0x85 }, | |
| 2415 { 0x00, 0x86, 0x86 }, | |
| 2416 { 0x00, 0x87, 0x87 }, | |
| 2417 { 0x00, 0x88, 0x88 }, | |
| 2418 { 0x00, 0x89, 0x89 }, | |
| 2419 { 0x00, 0x8a, 0x8a }, | |
| 2420 { 0x00, 0x8b, 0x8b }, | |
| 2421 { 0x00, 0x8c, 0x8c }, | |
| 2422 { 0x00, 0x8d, 0x8d }, | |
| 2423 { 0x00, 0x8e, 0x8e }, | |
| 2424 { 0x00, 0x8f, 0x8f }, | |
| 2425 { 0x00, 0x90, 0x90 }, | |
| 2426 { 0x00, 0x91, 0x91 }, | |
| 2427 { 0x00, 0x92, 0x92 }, | |
| 2428 { 0x00, 0x93, 0x93 }, | |
| 2429 { 0x00, 0x94, 0x94 }, | |
| 2430 { 0x00, 0x95, 0x95 }, | |
| 2431 { 0x00, 0x96, 0x96 }, | |
| 2432 { 0x00, 0x97, 0x97 }, | |
| 2433 { 0x00, 0x98, 0x98 }, | |
| 2434 { 0x00, 0x99, 0x99 }, | |
| 2435 { 0x00, 0x9a, 0x9a }, | |
| 2436 { 0x00, 0x9b, 0x9b }, | |
| 2437 { 0x00, 0x9c, 0x9c }, | |
| 2438 { 0x00, 0x9d, 0x9d }, | |
| 2439 { 0x00, 0x9e, 0x9e }, | |
| 2440 { 0x00, 0x9f, 0x9f }, | |
| 2441 { 0x00, 0xa0, 0xa0 }, | |
| 2442 { 0x00, 0xa1, 0xa1 }, | |
| 2443 { 0x00, 0xa2, 0xa2 }, | |
| 2444 { 0x00, 0xa3, 0xa3 }, | |
| 2445 { 0x00, 0xa4, 0xa4 }, | |
| 2446 { 0x00, 0xa5, 0xa5 }, | |
| 2447 { 0x00, 0xa6, 0xa6 }, | |
| 2448 { 0x00, 0xa7, 0xa7 }, | |
| 2449 { 0x00, 0xa8, 0xa8 }, | |
| 2450 { 0x00, 0xa9, 0xa9 }, | |
| 2451 { 0x00, 0xaa, 0xaa }, | |
| 2452 { 0x00, 0xab, 0xab }, | |
| 2453 { 0x00, 0xac, 0xac }, | |
| 2454 { 0x00, 0xad, 0xad }, | |
| 2455 { 0x00, 0xae, 0xae }, | |
| 2456 { 0x00, 0xaf, 0xaf }, | |
| 2457 { 0x00, 0xb0, 0xb0 }, | |
| 2458 { 0x00, 0xb1, 0xb1 }, | |
| 2459 { 0x00, 0xb2, 0xb2 }, | |
| 2460 { 0x00, 0xb3, 0xb3 }, | |
| 2461 { 0x00, 0xb4, 0xb4 }, | |
| 2462 { 0x00, 0xb5, 0xb5 }, | |
| 2463 { 0x01, 0xdc, 0xb6 }, | |
| 2464 { 0x00, 0xb7, 0xb7 }, | |
| 2465 { 0x01, 0xdd, 0xb8 }, | |
| 2466 { 0x01, 0xde, 0xb9 }, | |
| 2467 { 0x01, 0xdf, 0xba }, | |
| 2468 { 0x00, 0xbb, 0xbb }, | |
| 2469 { 0x01, 0xfc, 0xbc }, | |
| 2470 { 0x00, 0xbd, 0xbd }, | |
| 2471 { 0x01, 0xfd, 0xbe }, | |
| 2472 { 0x01, 0xfe, 0xbf }, | |
| 2473 { 0x00, 0xc0, 0xc0 }, | |
| 2474 { 0x01, 0xe1, 0xc1 }, | |
| 2475 { 0x01, 0xe2, 0xc2 }, | |
| 2476 { 0x01, 0xe3, 0xc3 }, | |
| 2477 { 0x01, 0xe4, 0xc4 }, | |
| 2478 { 0x01, 0xe5, 0xc5 }, | |
| 2479 { 0x01, 0xe6, 0xc6 }, | |
| 2480 { 0x01, 0xe7, 0xc7 }, | |
| 2481 { 0x01, 0xe8, 0xc8 }, | |
| 2482 { 0x01, 0xe9, 0xc9 }, | |
| 2483 { 0x01, 0xea, 0xca }, | |
| 2484 { 0x01, 0xeb, 0xcb }, | |
| 2485 { 0x01, 0xec, 0xcc }, | |
| 2486 { 0x01, 0xed, 0xcd }, | |
| 2487 { 0x01, 0xee, 0xce }, | |
| 2488 { 0x01, 0xef, 0xcf }, | |
| 2489 { 0x01, 0xf0, 0xd0 }, | |
| 2490 { 0x01, 0xf1, 0xd1 }, | |
| 2491 { 0x00, 0xd2, 0xd2 }, | |
| 2492 { 0x01, 0xf3, 0xd3 }, | |
| 2493 { 0x01, 0xf4, 0xd4 }, | |
| 2494 { 0x01, 0xf5, 0xd5 }, | |
| 2495 { 0x01, 0xf6, 0xd6 }, | |
| 2496 { 0x01, 0xf7, 0xd7 }, | |
| 2497 { 0x01, 0xf8, 0xd8 }, | |
| 2498 { 0x01, 0xf9, 0xd9 }, | |
| 2499 { 0x01, 0xfa, 0xda }, | |
| 2500 { 0x01, 0xfb, 0xdb }, | |
| 2501 { 0x00, 0xdc, 0xb6 }, | |
| 2502 { 0x00, 0xdd, 0xb8 }, | |
| 2503 { 0x00, 0xde, 0xb9 }, | |
| 2504 { 0x00, 0xdf, 0xba }, | |
| 2505 { 0x00, 0xe0, 0xe0 }, | |
| 2506 { 0x00, 0xe1, 0xc1 }, | |
| 2507 { 0x00, 0xe2, 0xc2 }, | |
| 2508 { 0x00, 0xe3, 0xc3 }, | |
| 2509 { 0x00, 0xe4, 0xc4 }, | |
| 2510 { 0x00, 0xe5, 0xc5 }, | |
| 2511 { 0x00, 0xe6, 0xc6 }, | |
| 2512 { 0x00, 0xe7, 0xc7 }, | |
| 2513 { 0x00, 0xe8, 0xc8 }, | |
| 2514 { 0x00, 0xe9, 0xc9 }, | |
| 2515 { 0x00, 0xea, 0xca }, | |
| 2516 { 0x00, 0xeb, 0xcb }, | |
| 2517 { 0x00, 0xec, 0xcc }, | |
| 2518 { 0x00, 0xed, 0xcd }, | |
| 2519 { 0x00, 0xee, 0xce }, | |
| 2520 { 0x00, 0xef, 0xcf }, | |
| 2521 { 0x00, 0xf0, 0xd0 }, | |
| 2522 { 0x00, 0xf1, 0xd1 }, | |
| 2523 { 0x00, 0xf2, 0xd3 }, | |
| 2524 { 0x00, 0xf3, 0xd3 }, | |
| 2525 { 0x00, 0xf4, 0xd4 }, | |
| 2526 { 0x00, 0xf5, 0xd5 }, | |
| 2527 { 0x00, 0xf6, 0xd6 }, | |
| 2528 { 0x00, 0xf7, 0xd7 }, | |
| 2529 { 0x00, 0xf8, 0xd8 }, | |
| 2530 { 0x00, 0xf9, 0xd9 }, | |
| 2531 { 0x00, 0xfa, 0xda }, | |
| 2532 { 0x00, 0xfb, 0xdb }, | |
| 2533 { 0x00, 0xfc, 0xbc }, | |
| 2534 { 0x00, 0xfd, 0xbe }, | |
| 2535 { 0x00, 0xfe, 0xbf }, | |
| 2536 { 0x00, 0xff, 0xff } | |
| 2537 }; | |
| 2538 | |
| 2539 static struct cs_info iso8_tbl[] = { | |
| 2540 { 0x00, 0x00, 0x00 }, | |
| 2541 { 0x00, 0x01, 0x01 }, | |
| 2542 { 0x00, 0x02, 0x02 }, | |
| 2543 { 0x00, 0x03, 0x03 }, | |
| 2544 { 0x00, 0x04, 0x04 }, | |
| 2545 { 0x00, 0x05, 0x05 }, | |
| 2546 { 0x00, 0x06, 0x06 }, | |
| 2547 { 0x00, 0x07, 0x07 }, | |
| 2548 { 0x00, 0x08, 0x08 }, | |
| 2549 { 0x00, 0x09, 0x09 }, | |
| 2550 { 0x00, 0x0a, 0x0a }, | |
| 2551 { 0x00, 0x0b, 0x0b }, | |
| 2552 { 0x00, 0x0c, 0x0c }, | |
| 2553 { 0x00, 0x0d, 0x0d }, | |
| 2554 { 0x00, 0x0e, 0x0e }, | |
| 2555 { 0x00, 0x0f, 0x0f }, | |
| 2556 { 0x00, 0x10, 0x10 }, | |
| 2557 { 0x00, 0x11, 0x11 }, | |
| 2558 { 0x00, 0x12, 0x12 }, | |
| 2559 { 0x00, 0x13, 0x13 }, | |
| 2560 { 0x00, 0x14, 0x14 }, | |
| 2561 { 0x00, 0x15, 0x15 }, | |
| 2562 { 0x00, 0x16, 0x16 }, | |
| 2563 { 0x00, 0x17, 0x17 }, | |
| 2564 { 0x00, 0x18, 0x18 }, | |
| 2565 { 0x00, 0x19, 0x19 }, | |
| 2566 { 0x00, 0x1a, 0x1a }, | |
| 2567 { 0x00, 0x1b, 0x1b }, | |
| 2568 { 0x00, 0x1c, 0x1c }, | |
| 2569 { 0x00, 0x1d, 0x1d }, | |
| 2570 { 0x00, 0x1e, 0x1e }, | |
| 2571 { 0x00, 0x1f, 0x1f }, | |
| 2572 { 0x00, 0x20, 0x20 }, | |
| 2573 { 0x00, 0x21, 0x21 }, | |
| 2574 { 0x00, 0x22, 0x22 }, | |
| 2575 { 0x00, 0x23, 0x23 }, | |
| 2576 { 0x00, 0x24, 0x24 }, | |
| 2577 { 0x00, 0x25, 0x25 }, | |
| 2578 { 0x00, 0x26, 0x26 }, | |
| 2579 { 0x00, 0x27, 0x27 }, | |
| 2580 { 0x00, 0x28, 0x28 }, | |
| 2581 { 0x00, 0x29, 0x29 }, | |
| 2582 { 0x00, 0x2a, 0x2a }, | |
| 2583 { 0x00, 0x2b, 0x2b }, | |
| 2584 { 0x00, 0x2c, 0x2c }, | |
| 2585 { 0x00, 0x2d, 0x2d }, | |
| 2586 { 0x00, 0x2e, 0x2e }, | |
| 2587 { 0x00, 0x2f, 0x2f }, | |
| 2588 { 0x00, 0x30, 0x30 }, | |
| 2589 { 0x00, 0x31, 0x31 }, | |
| 2590 { 0x00, 0x32, 0x32 }, | |
| 2591 { 0x00, 0x33, 0x33 }, | |
| 2592 { 0x00, 0x34, 0x34 }, | |
| 2593 { 0x00, 0x35, 0x35 }, | |
| 2594 { 0x00, 0x36, 0x36 }, | |
| 2595 { 0x00, 0x37, 0x37 }, | |
| 2596 { 0x00, 0x38, 0x38 }, | |
| 2597 { 0x00, 0x39, 0x39 }, | |
| 2598 { 0x00, 0x3a, 0x3a }, | |
| 2599 { 0x00, 0x3b, 0x3b }, | |
| 2600 { 0x00, 0x3c, 0x3c }, | |
| 2601 { 0x00, 0x3d, 0x3d }, | |
| 2602 { 0x00, 0x3e, 0x3e }, | |
| 2603 { 0x00, 0x3f, 0x3f }, | |
| 2604 { 0x00, 0x40, 0x40 }, | |
| 2605 { 0x01, 0x61, 0x41 }, | |
| 2606 { 0x01, 0x62, 0x42 }, | |
| 2607 { 0x01, 0x63, 0x43 }, | |
| 2608 { 0x01, 0x64, 0x44 }, | |
| 2609 { 0x01, 0x65, 0x45 }, | |
| 2610 { 0x01, 0x66, 0x46 }, | |
| 2611 { 0x01, 0x67, 0x47 }, | |
| 2612 { 0x01, 0x68, 0x48 }, | |
| 2613 { 0x01, 0x69, 0x49 }, | |
| 2614 { 0x01, 0x6a, 0x4a }, | |
| 2615 { 0x01, 0x6b, 0x4b }, | |
| 2616 { 0x01, 0x6c, 0x4c }, | |
| 2617 { 0x01, 0x6d, 0x4d }, | |
| 2618 { 0x01, 0x6e, 0x4e }, | |
| 2619 { 0x01, 0x6f, 0x4f }, | |
| 2620 { 0x01, 0x70, 0x50 }, | |
| 2621 { 0x01, 0x71, 0x51 }, | |
| 2622 { 0x01, 0x72, 0x52 }, | |
| 2623 { 0x01, 0x73, 0x53 }, | |
| 2624 { 0x01, 0x74, 0x54 }, | |
| 2625 { 0x01, 0x75, 0x55 }, | |
| 2626 { 0x01, 0x76, 0x56 }, | |
| 2627 { 0x01, 0x77, 0x57 }, | |
| 2628 { 0x01, 0x78, 0x58 }, | |
| 2629 { 0x01, 0x79, 0x59 }, | |
| 2630 { 0x01, 0x7a, 0x5a }, | |
| 2631 { 0x00, 0x5b, 0x5b }, | |
| 2632 { 0x00, 0x5c, 0x5c }, | |
| 2633 { 0x00, 0x5d, 0x5d }, | |
| 2634 { 0x00, 0x5e, 0x5e }, | |
| 2635 { 0x00, 0x5f, 0x5f }, | |
| 2636 { 0x00, 0x60, 0x60 }, | |
| 2637 { 0x00, 0x61, 0x41 }, | |
| 2638 { 0x00, 0x62, 0x42 }, | |
| 2639 { 0x00, 0x63, 0x43 }, | |
| 2640 { 0x00, 0x64, 0x44 }, | |
| 2641 { 0x00, 0x65, 0x45 }, | |
| 2642 { 0x00, 0x66, 0x46 }, | |
| 2643 { 0x00, 0x67, 0x47 }, | |
| 2644 { 0x00, 0x68, 0x48 }, | |
| 2645 { 0x00, 0x69, 0x49 }, | |
| 2646 { 0x00, 0x6a, 0x4a }, | |
| 2647 { 0x00, 0x6b, 0x4b }, | |
| 2648 { 0x00, 0x6c, 0x4c }, | |
| 2649 { 0x00, 0x6d, 0x4d }, | |
| 2650 { 0x00, 0x6e, 0x4e }, | |
| 2651 { 0x00, 0x6f, 0x4f }, | |
| 2652 { 0x00, 0x70, 0x50 }, | |
| 2653 { 0x00, 0x71, 0x51 }, | |
| 2654 { 0x00, 0x72, 0x52 }, | |
| 2655 { 0x00, 0x73, 0x53 }, | |
| 2656 { 0x00, 0x74, 0x54 }, | |
| 2657 { 0x00, 0x75, 0x55 }, | |
| 2658 { 0x00, 0x76, 0x56 }, | |
| 2659 { 0x00, 0x77, 0x57 }, | |
| 2660 { 0x00, 0x78, 0x58 }, | |
| 2661 { 0x00, 0x79, 0x59 }, | |
| 2662 { 0x00, 0x7a, 0x5a }, | |
| 2663 { 0x00, 0x7b, 0x7b }, | |
| 2664 { 0x00, 0x7c, 0x7c }, | |
| 2665 { 0x00, 0x7d, 0x7d }, | |
| 2666 { 0x00, 0x7e, 0x7e }, | |
| 2667 { 0x00, 0x7f, 0x7f }, | |
| 2668 { 0x00, 0x80, 0x80 }, | |
| 2669 { 0x00, 0x81, 0x81 }, | |
| 2670 { 0x00, 0x82, 0x82 }, | |
| 2671 { 0x00, 0x83, 0x83 }, | |
| 2672 { 0x00, 0x84, 0x84 }, | |
| 2673 { 0x00, 0x85, 0x85 }, | |
| 2674 { 0x00, 0x86, 0x86 }, | |
| 2675 { 0x00, 0x87, 0x87 }, | |
| 2676 { 0x00, 0x88, 0x88 }, | |
| 2677 { 0x00, 0x89, 0x89 }, | |
| 2678 { 0x00, 0x8a, 0x8a }, | |
| 2679 { 0x00, 0x8b, 0x8b }, | |
| 2680 { 0x00, 0x8c, 0x8c }, | |
| 2681 { 0x00, 0x8d, 0x8d }, | |
| 2682 { 0x00, 0x8e, 0x8e }, | |
| 2683 { 0x00, 0x8f, 0x8f }, | |
| 2684 { 0x00, 0x90, 0x90 }, | |
| 2685 { 0x00, 0x91, 0x91 }, | |
| 2686 { 0x00, 0x92, 0x92 }, | |
| 2687 { 0x00, 0x93, 0x93 }, | |
| 2688 { 0x00, 0x94, 0x94 }, | |
| 2689 { 0x00, 0x95, 0x95 }, | |
| 2690 { 0x00, 0x96, 0x96 }, | |
| 2691 { 0x00, 0x97, 0x97 }, | |
| 2692 { 0x00, 0x98, 0x98 }, | |
| 2693 { 0x00, 0x99, 0x99 }, | |
| 2694 { 0x00, 0x9a, 0x9a }, | |
| 2695 { 0x00, 0x9b, 0x9b }, | |
| 2696 { 0x00, 0x9c, 0x9c }, | |
| 2697 { 0x00, 0x9d, 0x9d }, | |
| 2698 { 0x00, 0x9e, 0x9e }, | |
| 2699 { 0x00, 0x9f, 0x9f }, | |
| 2700 { 0x00, 0xa0, 0xa0 }, | |
| 2701 { 0x00, 0xa1, 0xa1 }, | |
| 2702 { 0x00, 0xa2, 0xa2 }, | |
| 2703 { 0x00, 0xa3, 0xa3 }, | |
| 2704 { 0x00, 0xa4, 0xa4 }, | |
| 2705 { 0x00, 0xa5, 0xa5 }, | |
| 2706 { 0x00, 0xa6, 0xa6 }, | |
| 2707 { 0x00, 0xa7, 0xa7 }, | |
| 2708 { 0x00, 0xa8, 0xa8 }, | |
| 2709 { 0x00, 0xa9, 0xa9 }, | |
| 2710 { 0x00, 0xaa, 0xaa }, | |
| 2711 { 0x00, 0xab, 0xab }, | |
| 2712 { 0x00, 0xac, 0xac }, | |
| 2713 { 0x00, 0xad, 0xad }, | |
| 2714 { 0x00, 0xae, 0xae }, | |
| 2715 { 0x00, 0xaf, 0xaf }, | |
| 2716 { 0x00, 0xb0, 0xb0 }, | |
| 2717 { 0x00, 0xb1, 0xb1 }, | |
| 2718 { 0x00, 0xb2, 0xb2 }, | |
| 2719 { 0x00, 0xb3, 0xb3 }, | |
| 2720 { 0x00, 0xb4, 0xb4 }, | |
| 2721 { 0x00, 0xb5, 0xb5 }, | |
| 2722 { 0x00, 0xb6, 0xb6 }, | |
| 2723 { 0x00, 0xb7, 0xb7 }, | |
| 2724 { 0x00, 0xb8, 0xb8 }, | |
| 2725 { 0x00, 0xb9, 0xb9 }, | |
| 2726 { 0x00, 0xba, 0xba }, | |
| 2727 { 0x00, 0xbb, 0xbb }, | |
| 2728 { 0x00, 0xbc, 0xbc }, | |
| 2729 { 0x00, 0xbd, 0xbd }, | |
| 2730 { 0x00, 0xbe, 0xbe }, | |
| 2731 { 0x00, 0xbf, 0xbf }, | |
| 2732 { 0x00, 0xc0, 0xc0 }, | |
| 2733 { 0x00, 0xc1, 0xc1 }, | |
| 2734 { 0x00, 0xc2, 0xc2 }, | |
| 2735 { 0x00, 0xc3, 0xc3 }, | |
| 2736 { 0x00, 0xc4, 0xc4 }, | |
| 2737 { 0x00, 0xc5, 0xc5 }, | |
| 2738 { 0x00, 0xc6, 0xc6 }, | |
| 2739 { 0x00, 0xc7, 0xc7 }, | |
| 2740 { 0x00, 0xc8, 0xc8 }, | |
| 2741 { 0x00, 0xc9, 0xc9 }, | |
| 2742 { 0x00, 0xca, 0xca }, | |
| 2743 { 0x00, 0xcb, 0xcb }, | |
| 2744 { 0x00, 0xcc, 0xcc }, | |
| 2745 { 0x00, 0xcd, 0xcd }, | |
| 2746 { 0x00, 0xce, 0xce }, | |
| 2747 { 0x00, 0xcf, 0xcf }, | |
| 2748 { 0x00, 0xd0, 0xd0 }, | |
| 2749 { 0x00, 0xd1, 0xd1 }, | |
| 2750 { 0x00, 0xd2, 0xd2 }, | |
| 2751 { 0x00, 0xd3, 0xd3 }, | |
| 2752 { 0x00, 0xd4, 0xd4 }, | |
| 2753 { 0x00, 0xd5, 0xd5 }, | |
| 2754 { 0x00, 0xd6, 0xd6 }, | |
| 2755 { 0x00, 0xd7, 0xd7 }, | |
| 2756 { 0x00, 0xd8, 0xd8 }, | |
| 2757 { 0x00, 0xd9, 0xd9 }, | |
| 2758 { 0x00, 0xda, 0xda }, | |
| 2759 { 0x00, 0xdb, 0xdb }, | |
| 2760 { 0x00, 0xdc, 0xdc }, | |
| 2761 { 0x00, 0xdd, 0xdd }, | |
| 2762 { 0x00, 0xde, 0xde }, | |
| 2763 { 0x00, 0xdf, 0xdf }, | |
| 2764 { 0x00, 0xe0, 0xe0 }, | |
| 2765 { 0x00, 0xe1, 0xe1 }, | |
| 2766 { 0x00, 0xe2, 0xe2 }, | |
| 2767 { 0x00, 0xe3, 0xe3 }, | |
| 2768 { 0x00, 0xe4, 0xe4 }, | |
| 2769 { 0x00, 0xe5, 0xe5 }, | |
| 2770 { 0x00, 0xe6, 0xe6 }, | |
| 2771 { 0x00, 0xe7, 0xe7 }, | |
| 2772 { 0x00, 0xe8, 0xe8 }, | |
| 2773 { 0x00, 0xe9, 0xe9 }, | |
| 2774 { 0x00, 0xea, 0xea }, | |
| 2775 { 0x00, 0xeb, 0xeb }, | |
| 2776 { 0x00, 0xec, 0xec }, | |
| 2777 { 0x00, 0xed, 0xed }, | |
| 2778 { 0x00, 0xee, 0xee }, | |
| 2779 { 0x00, 0xef, 0xef }, | |
| 2780 { 0x00, 0xf0, 0xf0 }, | |
| 2781 { 0x00, 0xf1, 0xf1 }, | |
| 2782 { 0x00, 0xf2, 0xf2 }, | |
| 2783 { 0x00, 0xf3, 0xf3 }, | |
| 2784 { 0x00, 0xf4, 0xf4 }, | |
| 2785 { 0x00, 0xf5, 0xf5 }, | |
| 2786 { 0x00, 0xf6, 0xf6 }, | |
| 2787 { 0x00, 0xf7, 0xf7 }, | |
| 2788 { 0x00, 0xf8, 0xf8 }, | |
| 2789 { 0x00, 0xf9, 0xf9 }, | |
| 2790 { 0x00, 0xfa, 0xfa }, | |
| 2791 { 0x00, 0xfb, 0xfb }, | |
| 2792 { 0x00, 0xfc, 0xfc }, | |
| 2793 { 0x00, 0xfd, 0xfd }, | |
| 2794 { 0x00, 0xfe, 0xfe }, | |
| 2795 { 0x00, 0xff, 0xff } | |
| 2796 }; | |
| 2797 | |
| 2798 static struct cs_info iso9_tbl[] = { | |
| 2799 { 0x00, 0x00, 0x00 }, | |
| 2800 { 0x00, 0x01, 0x01 }, | |
| 2801 { 0x00, 0x02, 0x02 }, | |
| 2802 { 0x00, 0x03, 0x03 }, | |
| 2803 { 0x00, 0x04, 0x04 }, | |
| 2804 { 0x00, 0x05, 0x05 }, | |
| 2805 { 0x00, 0x06, 0x06 }, | |
| 2806 { 0x00, 0x07, 0x07 }, | |
| 2807 { 0x00, 0x08, 0x08 }, | |
| 2808 { 0x00, 0x09, 0x09 }, | |
| 2809 { 0x00, 0x0a, 0x0a }, | |
| 2810 { 0x00, 0x0b, 0x0b }, | |
| 2811 { 0x00, 0x0c, 0x0c }, | |
| 2812 { 0x00, 0x0d, 0x0d }, | |
| 2813 { 0x00, 0x0e, 0x0e }, | |
| 2814 { 0x00, 0x0f, 0x0f }, | |
| 2815 { 0x00, 0x10, 0x10 }, | |
| 2816 { 0x00, 0x11, 0x11 }, | |
| 2817 { 0x00, 0x12, 0x12 }, | |
| 2818 { 0x00, 0x13, 0x13 }, | |
| 2819 { 0x00, 0x14, 0x14 }, | |
| 2820 { 0x00, 0x15, 0x15 }, | |
| 2821 { 0x00, 0x16, 0x16 }, | |
| 2822 { 0x00, 0x17, 0x17 }, | |
| 2823 { 0x00, 0x18, 0x18 }, | |
| 2824 { 0x00, 0x19, 0x19 }, | |
| 2825 { 0x00, 0x1a, 0x1a }, | |
| 2826 { 0x00, 0x1b, 0x1b }, | |
| 2827 { 0x00, 0x1c, 0x1c }, | |
| 2828 { 0x00, 0x1d, 0x1d }, | |
| 2829 { 0x00, 0x1e, 0x1e }, | |
| 2830 { 0x00, 0x1f, 0x1f }, | |
| 2831 { 0x00, 0x20, 0x20 }, | |
| 2832 { 0x00, 0x21, 0x21 }, | |
| 2833 { 0x00, 0x22, 0x22 }, | |
| 2834 { 0x00, 0x23, 0x23 }, | |
| 2835 { 0x00, 0x24, 0x24 }, | |
| 2836 { 0x00, 0x25, 0x25 }, | |
| 2837 { 0x00, 0x26, 0x26 }, | |
| 2838 { 0x00, 0x27, 0x27 }, | |
| 2839 { 0x00, 0x28, 0x28 }, | |
| 2840 { 0x00, 0x29, 0x29 }, | |
| 2841 { 0x00, 0x2a, 0x2a }, | |
| 2842 { 0x00, 0x2b, 0x2b }, | |
| 2843 { 0x00, 0x2c, 0x2c }, | |
| 2844 { 0x00, 0x2d, 0x2d }, | |
| 2845 { 0x00, 0x2e, 0x2e }, | |
| 2846 { 0x00, 0x2f, 0x2f }, | |
| 2847 { 0x00, 0x30, 0x30 }, | |
| 2848 { 0x00, 0x31, 0x31 }, | |
| 2849 { 0x00, 0x32, 0x32 }, | |
| 2850 { 0x00, 0x33, 0x33 }, | |
| 2851 { 0x00, 0x34, 0x34 }, | |
| 2852 { 0x00, 0x35, 0x35 }, | |
| 2853 { 0x00, 0x36, 0x36 }, | |
| 2854 { 0x00, 0x37, 0x37 }, | |
| 2855 { 0x00, 0x38, 0x38 }, | |
| 2856 { 0x00, 0x39, 0x39 }, | |
| 2857 { 0x00, 0x3a, 0x3a }, | |
| 2858 { 0x00, 0x3b, 0x3b }, | |
| 2859 { 0x00, 0x3c, 0x3c }, | |
| 2860 { 0x00, 0x3d, 0x3d }, | |
| 2861 { 0x00, 0x3e, 0x3e }, | |
| 2862 { 0x00, 0x3f, 0x3f }, | |
| 2863 { 0x00, 0x40, 0x40 }, | |
| 2864 { 0x01, 0x61, 0x41 }, | |
| 2865 { 0x01, 0x62, 0x42 }, | |
| 2866 { 0x01, 0x63, 0x43 }, | |
| 2867 { 0x01, 0x64, 0x44 }, | |
| 2868 { 0x01, 0x65, 0x45 }, | |
| 2869 { 0x01, 0x66, 0x46 }, | |
| 2870 { 0x01, 0x67, 0x47 }, | |
| 2871 { 0x01, 0x68, 0x48 }, | |
| 2872 { 0x01, 0xfd, 0x49 }, | |
| 2873 { 0x01, 0x6a, 0x4a }, | |
| 2874 { 0x01, 0x6b, 0x4b }, | |
| 2875 { 0x01, 0x6c, 0x4c }, | |
| 2876 { 0x01, 0x6d, 0x4d }, | |
| 2877 { 0x01, 0x6e, 0x4e }, | |
| 2878 { 0x01, 0x6f, 0x4f }, | |
| 2879 { 0x01, 0x70, 0x50 }, | |
| 2880 { 0x01, 0x71, 0x51 }, | |
| 2881 { 0x01, 0x72, 0x52 }, | |
| 2882 { 0x01, 0x73, 0x53 }, | |
| 2883 { 0x01, 0x74, 0x54 }, | |
| 2884 { 0x01, 0x75, 0x55 }, | |
| 2885 { 0x01, 0x76, 0x56 }, | |
| 2886 { 0x01, 0x77, 0x57 }, | |
| 2887 { 0x01, 0x78, 0x58 }, | |
| 2888 { 0x01, 0x79, 0x59 }, | |
| 2889 { 0x01, 0x7a, 0x5a }, | |
| 2890 { 0x00, 0x5b, 0x5b }, | |
| 2891 { 0x00, 0x5c, 0x5c }, | |
| 2892 { 0x00, 0x5d, 0x5d }, | |
| 2893 { 0x00, 0x5e, 0x5e }, | |
| 2894 { 0x00, 0x5f, 0x5f }, | |
| 2895 { 0x00, 0x60, 0x60 }, | |
| 2896 { 0x00, 0x61, 0x41 }, | |
| 2897 { 0x00, 0x62, 0x42 }, | |
| 2898 { 0x00, 0x63, 0x43 }, | |
| 2899 { 0x00, 0x64, 0x44 }, | |
| 2900 { 0x00, 0x65, 0x45 }, | |
| 2901 { 0x00, 0x66, 0x46 }, | |
| 2902 { 0x00, 0x67, 0x47 }, | |
| 2903 { 0x00, 0x68, 0x48 }, | |
| 2904 { 0x00, 0x69, 0xdd }, | |
| 2905 { 0x00, 0x6a, 0x4a }, | |
| 2906 { 0x00, 0x6b, 0x4b }, | |
| 2907 { 0x00, 0x6c, 0x4c }, | |
| 2908 { 0x00, 0x6d, 0x4d }, | |
| 2909 { 0x00, 0x6e, 0x4e }, | |
| 2910 { 0x00, 0x6f, 0x4f }, | |
| 2911 { 0x00, 0x70, 0x50 }, | |
| 2912 { 0x00, 0x71, 0x51 }, | |
| 2913 { 0x00, 0x72, 0x52 }, | |
| 2914 { 0x00, 0x73, 0x53 }, | |
| 2915 { 0x00, 0x74, 0x54 }, | |
| 2916 { 0x00, 0x75, 0x55 }, | |
| 2917 { 0x00, 0x76, 0x56 }, | |
| 2918 { 0x00, 0x77, 0x57 }, | |
| 2919 { 0x00, 0x78, 0x58 }, | |
| 2920 { 0x00, 0x79, 0x59 }, | |
| 2921 { 0x00, 0x7a, 0x5a }, | |
| 2922 { 0x00, 0x7b, 0x7b }, | |
| 2923 { 0x00, 0x7c, 0x7c }, | |
| 2924 { 0x00, 0x7d, 0x7d }, | |
| 2925 { 0x00, 0x7e, 0x7e }, | |
| 2926 { 0x00, 0x7f, 0x7f }, | |
| 2927 { 0x00, 0x80, 0x80 }, | |
| 2928 { 0x00, 0x81, 0x81 }, | |
| 2929 { 0x00, 0x82, 0x82 }, | |
| 2930 { 0x00, 0x83, 0x83 }, | |
| 2931 { 0x00, 0x84, 0x84 }, | |
| 2932 { 0x00, 0x85, 0x85 }, | |
| 2933 { 0x00, 0x86, 0x86 }, | |
| 2934 { 0x00, 0x87, 0x87 }, | |
| 2935 { 0x00, 0x88, 0x88 }, | |
| 2936 { 0x00, 0x89, 0x89 }, | |
| 2937 { 0x00, 0x8a, 0x8a }, | |
| 2938 { 0x00, 0x8b, 0x8b }, | |
| 2939 { 0x00, 0x8c, 0x8c }, | |
| 2940 { 0x00, 0x8d, 0x8d }, | |
| 2941 { 0x00, 0x8e, 0x8e }, | |
| 2942 { 0x00, 0x8f, 0x8f }, | |
| 2943 { 0x00, 0x90, 0x90 }, | |
| 2944 { 0x00, 0x91, 0x91 }, | |
| 2945 { 0x00, 0x92, 0x92 }, | |
| 2946 { 0x00, 0x93, 0x93 }, | |
| 2947 { 0x00, 0x94, 0x94 }, | |
| 2948 { 0x00, 0x95, 0x95 }, | |
| 2949 { 0x00, 0x96, 0x96 }, | |
| 2950 { 0x00, 0x97, 0x97 }, | |
| 2951 { 0x00, 0x98, 0x98 }, | |
| 2952 { 0x00, 0x99, 0x99 }, | |
| 2953 { 0x00, 0x9a, 0x9a }, | |
| 2954 { 0x00, 0x9b, 0x9b }, | |
| 2955 { 0x00, 0x9c, 0x9c }, | |
| 2956 { 0x00, 0x9d, 0x9d }, | |
| 2957 { 0x00, 0x9e, 0x9e }, | |
| 2958 { 0x00, 0x9f, 0x9f }, | |
| 2959 { 0x00, 0xa0, 0xa0 }, | |
| 2960 { 0x00, 0xa1, 0xa1 }, | |
| 2961 { 0x00, 0xa2, 0xa2 }, | |
| 2962 { 0x00, 0xa3, 0xa3 }, | |
| 2963 { 0x00, 0xa4, 0xa4 }, | |
| 2964 { 0x00, 0xa5, 0xa5 }, | |
| 2965 { 0x00, 0xa6, 0xa6 }, | |
| 2966 { 0x00, 0xa7, 0xa7 }, | |
| 2967 { 0x00, 0xa8, 0xa8 }, | |
| 2968 { 0x00, 0xa9, 0xa9 }, | |
| 2969 { 0x00, 0xaa, 0xaa }, | |
| 2970 { 0x00, 0xab, 0xab }, | |
| 2971 { 0x00, 0xac, 0xac }, | |
| 2972 { 0x00, 0xad, 0xad }, | |
| 2973 { 0x00, 0xae, 0xae }, | |
| 2974 { 0x00, 0xaf, 0xaf }, | |
| 2975 { 0x00, 0xb0, 0xb0 }, | |
| 2976 { 0x00, 0xb1, 0xb1 }, | |
| 2977 { 0x00, 0xb2, 0xb2 }, | |
| 2978 { 0x00, 0xb3, 0xb3 }, | |
| 2979 { 0x00, 0xb4, 0xb4 }, | |
| 2980 { 0x00, 0xb5, 0xb5 }, | |
| 2981 { 0x00, 0xb6, 0xb6 }, | |
| 2982 { 0x00, 0xb7, 0xb7 }, | |
| 2983 { 0x00, 0xb8, 0xb8 }, | |
| 2984 { 0x00, 0xb9, 0xb9 }, | |
| 2985 { 0x00, 0xba, 0xba }, | |
| 2986 { 0x00, 0xbb, 0xbb }, | |
| 2987 { 0x00, 0xbc, 0xbc }, | |
| 2988 { 0x00, 0xbd, 0xbd }, | |
| 2989 { 0x00, 0xbe, 0xbe }, | |
| 2990 { 0x00, 0xbf, 0xbf }, | |
| 2991 { 0x01, 0xe0, 0xc0 }, | |
| 2992 { 0x01, 0xe1, 0xc1 }, | |
| 2993 { 0x01, 0xe2, 0xc2 }, | |
| 2994 { 0x01, 0xe3, 0xc3 }, | |
| 2995 { 0x01, 0xe4, 0xc4 }, | |
| 2996 { 0x01, 0xe5, 0xc5 }, | |
| 2997 { 0x01, 0xe6, 0xc6 }, | |
| 2998 { 0x01, 0xe7, 0xc7 }, | |
| 2999 { 0x01, 0xe8, 0xc8 }, | |
| 3000 { 0x01, 0xe9, 0xc9 }, | |
| 3001 { 0x01, 0xea, 0xca }, | |
| 3002 { 0x01, 0xeb, 0xcb }, | |
| 3003 { 0x01, 0xec, 0xcc }, | |
| 3004 { 0x01, 0xed, 0xcd }, | |
| 3005 { 0x01, 0xee, 0xce }, | |
| 3006 { 0x01, 0xef, 0xcf }, | |
| 3007 { 0x01, 0xf0, 0xd0 }, | |
| 3008 { 0x01, 0xf1, 0xd1 }, | |
| 3009 { 0x01, 0xf2, 0xd2 }, | |
| 3010 { 0x01, 0xf3, 0xd3 }, | |
| 3011 { 0x01, 0xf4, 0xd4 }, | |
| 3012 { 0x01, 0xf5, 0xd5 }, | |
| 3013 { 0x01, 0xf6, 0xd6 }, | |
| 3014 { 0x00, 0xd7, 0xd7 }, | |
| 3015 { 0x01, 0xf8, 0xd8 }, | |
| 3016 { 0x01, 0xf9, 0xd9 }, | |
| 3017 { 0x01, 0xfa, 0xda }, | |
| 3018 { 0x01, 0xfb, 0xdb }, | |
| 3019 { 0x01, 0xfc, 0xdc }, | |
| 3020 { 0x01, 0x69, 0xdd }, | |
| 3021 { 0x01, 0xfe, 0xde }, | |
| 3022 { 0x00, 0xdf, 0xdf }, | |
| 3023 { 0x00, 0xe0, 0xc0 }, | |
| 3024 { 0x00, 0xe1, 0xc1 }, | |
| 3025 { 0x00, 0xe2, 0xc2 }, | |
| 3026 { 0x00, 0xe3, 0xc3 }, | |
| 3027 { 0x00, 0xe4, 0xc4 }, | |
| 3028 { 0x00, 0xe5, 0xc5 }, | |
| 3029 { 0x00, 0xe6, 0xc6 }, | |
| 3030 { 0x00, 0xe7, 0xc7 }, | |
| 3031 { 0x00, 0xe8, 0xc8 }, | |
| 3032 { 0x00, 0xe9, 0xc9 }, | |
| 3033 { 0x00, 0xea, 0xca }, | |
| 3034 { 0x00, 0xeb, 0xcb }, | |
| 3035 { 0x00, 0xec, 0xcc }, | |
| 3036 { 0x00, 0xed, 0xcd }, | |
| 3037 { 0x00, 0xee, 0xce }, | |
| 3038 { 0x00, 0xef, 0xcf }, | |
| 3039 { 0x00, 0xf0, 0xd0 }, | |
| 3040 { 0x00, 0xf1, 0xd1 }, | |
| 3041 { 0x00, 0xf2, 0xd2 }, | |
| 3042 { 0x00, 0xf3, 0xd3 }, | |
| 3043 { 0x00, 0xf4, 0xd4 }, | |
| 3044 { 0x00, 0xf5, 0xd5 }, | |
| 3045 { 0x00, 0xf6, 0xd6 }, | |
| 3046 { 0x00, 0xf7, 0xf7 }, | |
| 3047 { 0x00, 0xf8, 0xd8 }, | |
| 3048 { 0x00, 0xf9, 0xd9 }, | |
| 3049 { 0x00, 0xfa, 0xda }, | |
| 3050 { 0x00, 0xfb, 0xdb }, | |
| 3051 { 0x00, 0xfc, 0xdc }, | |
| 3052 { 0x00, 0xfd, 0x49 }, | |
| 3053 { 0x00, 0xfe, 0xde }, | |
| 3054 { 0x00, 0xff, 0xff } | |
| 3055 }; | |
| 3056 | |
| 3057 static struct cs_info iso10_tbl[] = { | |
| 3058 { 0x00, 0x00, 0x00 }, | |
| 3059 { 0x00, 0x01, 0x01 }, | |
| 3060 { 0x00, 0x02, 0x02 }, | |
| 3061 { 0x00, 0x03, 0x03 }, | |
| 3062 { 0x00, 0x04, 0x04 }, | |
| 3063 { 0x00, 0x05, 0x05 }, | |
| 3064 { 0x00, 0x06, 0x06 }, | |
| 3065 { 0x00, 0x07, 0x07 }, | |
| 3066 { 0x00, 0x08, 0x08 }, | |
| 3067 { 0x00, 0x09, 0x09 }, | |
| 3068 { 0x00, 0x0a, 0x0a }, | |
| 3069 { 0x00, 0x0b, 0x0b }, | |
| 3070 { 0x00, 0x0c, 0x0c }, | |
| 3071 { 0x00, 0x0d, 0x0d }, | |
| 3072 { 0x00, 0x0e, 0x0e }, | |
| 3073 { 0x00, 0x0f, 0x0f }, | |
| 3074 { 0x00, 0x10, 0x10 }, | |
| 3075 { 0x00, 0x11, 0x11 }, | |
| 3076 { 0x00, 0x12, 0x12 }, | |
| 3077 { 0x00, 0x13, 0x13 }, | |
| 3078 { 0x00, 0x14, 0x14 }, | |
| 3079 { 0x00, 0x15, 0x15 }, | |
| 3080 { 0x00, 0x16, 0x16 }, | |
| 3081 { 0x00, 0x17, 0x17 }, | |
| 3082 { 0x00, 0x18, 0x18 }, | |
| 3083 { 0x00, 0x19, 0x19 }, | |
| 3084 { 0x00, 0x1a, 0x1a }, | |
| 3085 { 0x00, 0x1b, 0x1b }, | |
| 3086 { 0x00, 0x1c, 0x1c }, | |
| 3087 { 0x00, 0x1d, 0x1d }, | |
| 3088 { 0x00, 0x1e, 0x1e }, | |
| 3089 { 0x00, 0x1f, 0x1f }, | |
| 3090 { 0x00, 0x20, 0x20 }, | |
| 3091 { 0x00, 0x21, 0x21 }, | |
| 3092 { 0x00, 0x22, 0x22 }, | |
| 3093 { 0x00, 0x23, 0x23 }, | |
| 3094 { 0x00, 0x24, 0x24 }, | |
| 3095 { 0x00, 0x25, 0x25 }, | |
| 3096 { 0x00, 0x26, 0x26 }, | |
| 3097 { 0x00, 0x27, 0x27 }, | |
| 3098 { 0x00, 0x28, 0x28 }, | |
| 3099 { 0x00, 0x29, 0x29 }, | |
| 3100 { 0x00, 0x2a, 0x2a }, | |
| 3101 { 0x00, 0x2b, 0x2b }, | |
| 3102 { 0x00, 0x2c, 0x2c }, | |
| 3103 { 0x00, 0x2d, 0x2d }, | |
| 3104 { 0x00, 0x2e, 0x2e }, | |
| 3105 { 0x00, 0x2f, 0x2f }, | |
| 3106 { 0x00, 0x30, 0x30 }, | |
| 3107 { 0x00, 0x31, 0x31 }, | |
| 3108 { 0x00, 0x32, 0x32 }, | |
| 3109 { 0x00, 0x33, 0x33 }, | |
| 3110 { 0x00, 0x34, 0x34 }, | |
| 3111 { 0x00, 0x35, 0x35 }, | |
| 3112 { 0x00, 0x36, 0x36 }, | |
| 3113 { 0x00, 0x37, 0x37 }, | |
| 3114 { 0x00, 0x38, 0x38 }, | |
| 3115 { 0x00, 0x39, 0x39 }, | |
| 3116 { 0x00, 0x3a, 0x3a }, | |
| 3117 { 0x00, 0x3b, 0x3b }, | |
| 3118 { 0x00, 0x3c, 0x3c }, | |
| 3119 { 0x00, 0x3d, 0x3d }, | |
| 3120 { 0x00, 0x3e, 0x3e }, | |
| 3121 { 0x00, 0x3f, 0x3f }, | |
| 3122 { 0x00, 0x40, 0x40 }, | |
| 3123 { 0x01, 0x61, 0x41 }, | |
| 3124 { 0x01, 0x62, 0x42 }, | |
| 3125 { 0x01, 0x63, 0x43 }, | |
| 3126 { 0x01, 0x64, 0x44 }, | |
| 3127 { 0x01, 0x65, 0x45 }, | |
| 3128 { 0x01, 0x66, 0x46 }, | |
| 3129 { 0x01, 0x67, 0x47 }, | |
| 3130 { 0x01, 0x68, 0x48 }, | |
| 3131 { 0x01, 0x69, 0x49 }, | |
| 3132 { 0x01, 0x6a, 0x4a }, | |
| 3133 { 0x01, 0x6b, 0x4b }, | |
| 3134 { 0x01, 0x6c, 0x4c }, | |
| 3135 { 0x01, 0x6d, 0x4d }, | |
| 3136 { 0x01, 0x6e, 0x4e }, | |
| 3137 { 0x01, 0x6f, 0x4f }, | |
| 3138 { 0x01, 0x70, 0x50 }, | |
| 3139 { 0x01, 0x71, 0x51 }, | |
| 3140 { 0x01, 0x72, 0x52 }, | |
| 3141 { 0x01, 0x73, 0x53 }, | |
| 3142 { 0x01, 0x74, 0x54 }, | |
| 3143 { 0x01, 0x75, 0x55 }, | |
| 3144 { 0x01, 0x76, 0x56 }, | |
| 3145 { 0x01, 0x77, 0x57 }, | |
| 3146 { 0x01, 0x78, 0x58 }, | |
| 3147 { 0x01, 0x79, 0x59 }, | |
| 3148 { 0x01, 0x7a, 0x5a }, | |
| 3149 { 0x00, 0x5b, 0x5b }, | |
| 3150 { 0x00, 0x5c, 0x5c }, | |
| 3151 { 0x00, 0x5d, 0x5d }, | |
| 3152 { 0x00, 0x5e, 0x5e }, | |
| 3153 { 0x00, 0x5f, 0x5f }, | |
| 3154 { 0x00, 0x60, 0x60 }, | |
| 3155 { 0x00, 0x61, 0x41 }, | |
| 3156 { 0x00, 0x62, 0x42 }, | |
| 3157 { 0x00, 0x63, 0x43 }, | |
| 3158 { 0x00, 0x64, 0x44 }, | |
| 3159 { 0x00, 0x65, 0x45 }, | |
| 3160 { 0x00, 0x66, 0x46 }, | |
| 3161 { 0x00, 0x67, 0x47 }, | |
| 3162 { 0x00, 0x68, 0x48 }, | |
| 3163 { 0x00, 0x69, 0x49 }, | |
| 3164 { 0x00, 0x6a, 0x4a }, | |
| 3165 { 0x00, 0x6b, 0x4b }, | |
| 3166 { 0x00, 0x6c, 0x4c }, | |
| 3167 { 0x00, 0x6d, 0x4d }, | |
| 3168 { 0x00, 0x6e, 0x4e }, | |
| 3169 { 0x00, 0x6f, 0x4f }, | |
| 3170 { 0x00, 0x70, 0x50 }, | |
| 3171 { 0x00, 0x71, 0x51 }, | |
| 3172 { 0x00, 0x72, 0x52 }, | |
| 3173 { 0x00, 0x73, 0x53 }, | |
| 3174 { 0x00, 0x74, 0x54 }, | |
| 3175 { 0x00, 0x75, 0x55 }, | |
| 3176 { 0x00, 0x76, 0x56 }, | |
| 3177 { 0x00, 0x77, 0x57 }, | |
| 3178 { 0x00, 0x78, 0x58 }, | |
| 3179 { 0x00, 0x79, 0x59 }, | |
| 3180 { 0x00, 0x7a, 0x5a }, | |
| 3181 { 0x00, 0x7b, 0x7b }, | |
| 3182 { 0x00, 0x7c, 0x7c }, | |
| 3183 { 0x00, 0x7d, 0x7d }, | |
| 3184 { 0x00, 0x7e, 0x7e }, | |
| 3185 { 0x00, 0x7f, 0x7f }, | |
| 3186 { 0x00, 0x80, 0x80 }, | |
| 3187 { 0x00, 0x81, 0x81 }, | |
| 3188 { 0x00, 0x82, 0x82 }, | |
| 3189 { 0x00, 0x83, 0x83 }, | |
| 3190 { 0x00, 0x84, 0x84 }, | |
| 3191 { 0x00, 0x85, 0x85 }, | |
| 3192 { 0x00, 0x86, 0x86 }, | |
| 3193 { 0x00, 0x87, 0x87 }, | |
| 3194 { 0x00, 0x88, 0x88 }, | |
| 3195 { 0x00, 0x89, 0x89 }, | |
| 3196 { 0x00, 0x8a, 0x8a }, | |
| 3197 { 0x00, 0x8b, 0x8b }, | |
| 3198 { 0x00, 0x8c, 0x8c }, | |
| 3199 { 0x00, 0x8d, 0x8d }, | |
| 3200 { 0x00, 0x8e, 0x8e }, | |
| 3201 { 0x00, 0x8f, 0x8f }, | |
| 3202 { 0x00, 0x90, 0x90 }, | |
| 3203 { 0x00, 0x91, 0x91 }, | |
| 3204 { 0x00, 0x92, 0x92 }, | |
| 3205 { 0x00, 0x93, 0x93 }, | |
| 3206 { 0x00, 0x94, 0x94 }, | |
| 3207 { 0x00, 0x95, 0x95 }, | |
| 3208 { 0x00, 0x96, 0x96 }, | |
| 3209 { 0x00, 0x97, 0x97 }, | |
| 3210 { 0x00, 0x98, 0x98 }, | |
| 3211 { 0x00, 0x99, 0x99 }, | |
| 3212 { 0x00, 0x9a, 0x9a }, | |
| 3213 { 0x00, 0x9b, 0x9b }, | |
| 3214 { 0x00, 0x9c, 0x9c }, | |
| 3215 { 0x00, 0x9d, 0x9d }, | |
| 3216 { 0x00, 0x9e, 0x9e }, | |
| 3217 { 0x00, 0x9f, 0x9f }, | |
| 3218 { 0x00, 0xa0, 0xa0 }, | |
| 3219 { 0x00, 0xa1, 0xa1 }, | |
| 3220 { 0x00, 0xa2, 0xa2 }, | |
| 3221 { 0x00, 0xa3, 0xa3 }, | |
| 3222 { 0x00, 0xa4, 0xa4 }, | |
| 3223 { 0x00, 0xa5, 0xa5 }, | |
| 3224 { 0x00, 0xa6, 0xa6 }, | |
| 3225 { 0x00, 0xa7, 0xa7 }, | |
| 3226 { 0x00, 0xa8, 0xa8 }, | |
| 3227 { 0x00, 0xa9, 0xa9 }, | |
| 3228 { 0x00, 0xaa, 0xaa }, | |
| 3229 { 0x00, 0xab, 0xab }, | |
| 3230 { 0x00, 0xac, 0xac }, | |
| 3231 { 0x00, 0xad, 0xad }, | |
| 3232 { 0x00, 0xae, 0xae }, | |
| 3233 { 0x00, 0xaf, 0xaf }, | |
| 3234 { 0x00, 0xb0, 0xb0 }, | |
| 3235 { 0x00, 0xb1, 0xb1 }, | |
| 3236 { 0x00, 0xb2, 0xb2 }, | |
| 3237 { 0x00, 0xb3, 0xb3 }, | |
| 3238 { 0x00, 0xb4, 0xb4 }, | |
| 3239 { 0x00, 0xb5, 0xb5 }, | |
| 3240 { 0x00, 0xb6, 0xb6 }, | |
| 3241 { 0x00, 0xb7, 0xb7 }, | |
| 3242 { 0x00, 0xb8, 0xb8 }, | |
| 3243 { 0x00, 0xb9, 0xb9 }, | |
| 3244 { 0x00, 0xba, 0xba }, | |
| 3245 { 0x00, 0xbb, 0xbb }, | |
| 3246 { 0x00, 0xbc, 0xbc }, | |
| 3247 { 0x00, 0xbd, 0xbd }, | |
| 3248 { 0x00, 0xbe, 0xbe }, | |
| 3249 { 0x00, 0xbf, 0xbf }, | |
| 3250 { 0x00, 0xc0, 0xc0 }, | |
| 3251 { 0x00, 0xc1, 0xc1 }, | |
| 3252 { 0x00, 0xc2, 0xc2 }, | |
| 3253 { 0x00, 0xc3, 0xc3 }, | |
| 3254 { 0x00, 0xc4, 0xc4 }, | |
| 3255 { 0x00, 0xc5, 0xc5 }, | |
| 3256 { 0x00, 0xc6, 0xc6 }, | |
| 3257 { 0x00, 0xc7, 0xc7 }, | |
| 3258 { 0x00, 0xc8, 0xc8 }, | |
| 3259 { 0x00, 0xc9, 0xc9 }, | |
| 3260 { 0x00, 0xca, 0xca }, | |
| 3261 { 0x00, 0xcb, 0xcb }, | |
| 3262 { 0x00, 0xcc, 0xcc }, | |
| 3263 { 0x00, 0xcd, 0xcd }, | |
| 3264 { 0x00, 0xce, 0xce }, | |
| 3265 { 0x00, 0xcf, 0xcf }, | |
| 3266 { 0x00, 0xd0, 0xd0 }, | |
| 3267 { 0x00, 0xd1, 0xd1 }, | |
| 3268 { 0x00, 0xd2, 0xd2 }, | |
| 3269 { 0x00, 0xd3, 0xd3 }, | |
| 3270 { 0x00, 0xd4, 0xd4 }, | |
| 3271 { 0x00, 0xd5, 0xd5 }, | |
| 3272 { 0x00, 0xd6, 0xd6 }, | |
| 3273 { 0x00, 0xd7, 0xd7 }, | |
| 3274 { 0x00, 0xd8, 0xd8 }, | |
| 3275 { 0x00, 0xd9, 0xd9 }, | |
| 3276 { 0x00, 0xda, 0xda }, | |
| 3277 { 0x00, 0xdb, 0xdb }, | |
| 3278 { 0x00, 0xdc, 0xdc }, | |
| 3279 { 0x00, 0xdd, 0xdd }, | |
| 3280 { 0x00, 0xde, 0xde }, | |
| 3281 { 0x00, 0xdf, 0xdf }, | |
| 3282 { 0x00, 0xe0, 0xe0 }, | |
| 3283 { 0x00, 0xe1, 0xe1 }, | |
| 3284 { 0x00, 0xe2, 0xe2 }, | |
| 3285 { 0x00, 0xe3, 0xe3 }, | |
| 3286 { 0x00, 0xe4, 0xe4 }, | |
| 3287 { 0x00, 0xe5, 0xe5 }, | |
| 3288 { 0x00, 0xe6, 0xe6 }, | |
| 3289 { 0x00, 0xe7, 0xe7 }, | |
| 3290 { 0x00, 0xe8, 0xe8 }, | |
| 3291 { 0x00, 0xe9, 0xe9 }, | |
| 3292 { 0x00, 0xea, 0xea }, | |
| 3293 { 0x00, 0xeb, 0xeb }, | |
| 3294 { 0x00, 0xec, 0xec }, | |
| 3295 { 0x00, 0xed, 0xed }, | |
| 3296 { 0x00, 0xee, 0xee }, | |
| 3297 { 0x00, 0xef, 0xef }, | |
| 3298 { 0x00, 0xf0, 0xf0 }, | |
| 3299 { 0x00, 0xf1, 0xf1 }, | |
| 3300 { 0x00, 0xf2, 0xf2 }, | |
| 3301 { 0x00, 0xf3, 0xf3 }, | |
| 3302 { 0x00, 0xf4, 0xf4 }, | |
| 3303 { 0x00, 0xf5, 0xf5 }, | |
| 3304 { 0x00, 0xf6, 0xf6 }, | |
| 3305 { 0x00, 0xf7, 0xf7 }, | |
| 3306 { 0x00, 0xf8, 0xf8 }, | |
| 3307 { 0x00, 0xf9, 0xf9 }, | |
| 3308 { 0x00, 0xfa, 0xfa }, | |
| 3309 { 0x00, 0xfb, 0xfb }, | |
| 3310 { 0x00, 0xfc, 0xfc }, | |
| 3311 { 0x00, 0xfd, 0xfd }, | |
| 3312 { 0x00, 0xfe, 0xfe }, | |
| 3313 { 0x00, 0xff, 0xff } | |
| 3314 }; | |
| 3315 | |
| 3316 static struct cs_info koi8r_tbl[] = { | |
| 3317 { 0x00, 0x00, 0x00 }, | |
| 3318 { 0x00, 0x01, 0x01 }, | |
| 3319 { 0x00, 0x02, 0x02 }, | |
| 3320 { 0x00, 0x03, 0x03 }, | |
| 3321 { 0x00, 0x04, 0x04 }, | |
| 3322 { 0x00, 0x05, 0x05 }, | |
| 3323 { 0x00, 0x06, 0x06 }, | |
| 3324 { 0x00, 0x07, 0x07 }, | |
| 3325 { 0x00, 0x08, 0x08 }, | |
| 3326 { 0x00, 0x09, 0x09 }, | |
| 3327 { 0x00, 0x0a, 0x0a }, | |
| 3328 { 0x00, 0x0b, 0x0b }, | |
| 3329 { 0x00, 0x0c, 0x0c }, | |
| 3330 { 0x00, 0x0d, 0x0d }, | |
| 3331 { 0x00, 0x0e, 0x0e }, | |
| 3332 { 0x00, 0x0f, 0x0f }, | |
| 3333 { 0x00, 0x10, 0x10 }, | |
| 3334 { 0x00, 0x11, 0x11 }, | |
| 3335 { 0x00, 0x12, 0x12 }, | |
| 3336 { 0x00, 0x13, 0x13 }, | |
| 3337 { 0x00, 0x14, 0x14 }, | |
| 3338 { 0x00, 0x15, 0x15 }, | |
| 3339 { 0x00, 0x16, 0x16 }, | |
| 3340 { 0x00, 0x17, 0x17 }, | |
| 3341 { 0x00, 0x18, 0x18 }, | |
| 3342 { 0x00, 0x19, 0x19 }, | |
| 3343 { 0x00, 0x1a, 0x1a }, | |
| 3344 { 0x00, 0x1b, 0x1b }, | |
| 3345 { 0x00, 0x1c, 0x1c }, | |
| 3346 { 0x00, 0x1d, 0x1d }, | |
| 3347 { 0x00, 0x1e, 0x1e }, | |
| 3348 { 0x00, 0x1f, 0x1f }, | |
| 3349 { 0x00, 0x20, 0x20 }, | |
| 3350 { 0x00, 0x21, 0x21 }, | |
| 3351 { 0x00, 0x22, 0x22 }, | |
| 3352 { 0x00, 0x23, 0x23 }, | |
| 3353 { 0x00, 0x24, 0x24 }, | |
| 3354 { 0x00, 0x25, 0x25 }, | |
| 3355 { 0x00, 0x26, 0x26 }, | |
| 3356 { 0x00, 0x27, 0x27 }, | |
| 3357 { 0x00, 0x28, 0x28 }, | |
| 3358 { 0x00, 0x29, 0x29 }, | |
| 3359 { 0x00, 0x2a, 0x2a }, | |
| 3360 { 0x00, 0x2b, 0x2b }, | |
| 3361 { 0x00, 0x2c, 0x2c }, | |
| 3362 { 0x00, 0x2d, 0x2d }, | |
| 3363 { 0x00, 0x2e, 0x2e }, | |
| 3364 { 0x00, 0x2f, 0x2f }, | |
| 3365 { 0x00, 0x30, 0x30 }, | |
| 3366 { 0x00, 0x31, 0x31 }, | |
| 3367 { 0x00, 0x32, 0x32 }, | |
| 3368 { 0x00, 0x33, 0x33 }, | |
| 3369 { 0x00, 0x34, 0x34 }, | |
| 3370 { 0x00, 0x35, 0x35 }, | |
| 3371 { 0x00, 0x36, 0x36 }, | |
| 3372 { 0x00, 0x37, 0x37 }, | |
| 3373 { 0x00, 0x38, 0x38 }, | |
| 3374 { 0x00, 0x39, 0x39 }, | |
| 3375 { 0x00, 0x3a, 0x3a }, | |
| 3376 { 0x00, 0x3b, 0x3b }, | |
| 3377 { 0x00, 0x3c, 0x3c }, | |
| 3378 { 0x00, 0x3d, 0x3d }, | |
| 3379 { 0x00, 0x3e, 0x3e }, | |
| 3380 { 0x00, 0x3f, 0x3f }, | |
| 3381 { 0x00, 0x40, 0x40 }, | |
| 3382 { 0x01, 0x61, 0x41 }, | |
| 3383 { 0x01, 0x62, 0x42 }, | |
| 3384 { 0x01, 0x63, 0x43 }, | |
| 3385 { 0x01, 0x64, 0x44 }, | |
| 3386 { 0x01, 0x65, 0x45 }, | |
| 3387 { 0x01, 0x66, 0x46 }, | |
| 3388 { 0x01, 0x67, 0x47 }, | |
| 3389 { 0x01, 0x68, 0x48 }, | |
| 3390 { 0x01, 0x69, 0x49 }, | |
| 3391 { 0x01, 0x6a, 0x4a }, | |
| 3392 { 0x01, 0x6b, 0x4b }, | |
| 3393 { 0x01, 0x6c, 0x4c }, | |
| 3394 { 0x01, 0x6d, 0x4d }, | |
| 3395 { 0x01, 0x6e, 0x4e }, | |
| 3396 { 0x01, 0x6f, 0x4f }, | |
| 3397 { 0x01, 0x70, 0x50 }, | |
| 3398 { 0x01, 0x71, 0x51 }, | |
| 3399 { 0x01, 0x72, 0x52 }, | |
| 3400 { 0x01, 0x73, 0x53 }, | |
| 3401 { 0x01, 0x74, 0x54 }, | |
| 3402 { 0x01, 0x75, 0x55 }, | |
| 3403 { 0x01, 0x76, 0x56 }, | |
| 3404 { 0x01, 0x77, 0x57 }, | |
| 3405 { 0x01, 0x78, 0x58 }, | |
| 3406 { 0x01, 0x79, 0x59 }, | |
| 3407 { 0x01, 0x7a, 0x5a }, | |
| 3408 { 0x00, 0x5b, 0x5b }, | |
| 3409 { 0x00, 0x5c, 0x5c }, | |
| 3410 { 0x00, 0x5d, 0x5d }, | |
| 3411 { 0x00, 0x5e, 0x5e }, | |
| 3412 { 0x00, 0x5f, 0x5f }, | |
| 3413 { 0x00, 0x60, 0x60 }, | |
| 3414 { 0x00, 0x61, 0x41 }, | |
| 3415 { 0x00, 0x62, 0x42 }, | |
| 3416 { 0x00, 0x63, 0x43 }, | |
| 3417 { 0x00, 0x64, 0x44 }, | |
| 3418 { 0x00, 0x65, 0x45 }, | |
| 3419 { 0x00, 0x66, 0x46 }, | |
| 3420 { 0x00, 0x67, 0x47 }, | |
| 3421 { 0x00, 0x68, 0x48 }, | |
| 3422 { 0x00, 0x69, 0x49 }, | |
| 3423 { 0x00, 0x6a, 0x4a }, | |
| 3424 { 0x00, 0x6b, 0x4b }, | |
| 3425 { 0x00, 0x6c, 0x4c }, | |
| 3426 { 0x00, 0x6d, 0x4d }, | |
| 3427 { 0x00, 0x6e, 0x4e }, | |
| 3428 { 0x00, 0x6f, 0x4f }, | |
| 3429 { 0x00, 0x70, 0x50 }, | |
| 3430 { 0x00, 0x71, 0x51 }, | |
| 3431 { 0x00, 0x72, 0x52 }, | |
| 3432 { 0x00, 0x73, 0x53 }, | |
| 3433 { 0x00, 0x74, 0x54 }, | |
| 3434 { 0x00, 0x75, 0x55 }, | |
| 3435 { 0x00, 0x76, 0x56 }, | |
| 3436 { 0x00, 0x77, 0x57 }, | |
| 3437 { 0x00, 0x78, 0x58 }, | |
| 3438 { 0x00, 0x79, 0x59 }, | |
| 3439 { 0x00, 0x7a, 0x5a }, | |
| 3440 { 0x00, 0x7b, 0x7b }, | |
| 3441 { 0x00, 0x7c, 0x7c }, | |
| 3442 { 0x00, 0x7d, 0x7d }, | |
| 3443 { 0x00, 0x7e, 0x7e }, | |
| 3444 { 0x00, 0x7f, 0x7f }, | |
| 3445 { 0x00, 0x80, 0x80 }, | |
| 3446 { 0x00, 0x81, 0x81 }, | |
| 3447 { 0x00, 0x82, 0x82 }, | |
| 3448 { 0x00, 0x83, 0x83 }, | |
| 3449 { 0x00, 0x84, 0x84 }, | |
| 3450 { 0x00, 0x85, 0x85 }, | |
| 3451 { 0x00, 0x86, 0x86 }, | |
| 3452 { 0x00, 0x87, 0x87 }, | |
| 3453 { 0x00, 0x88, 0x88 }, | |
| 3454 { 0x00, 0x89, 0x89 }, | |
| 3455 { 0x00, 0x8a, 0x8a }, | |
| 3456 { 0x00, 0x8b, 0x8b }, | |
| 3457 { 0x00, 0x8c, 0x8c }, | |
| 3458 { 0x00, 0x8d, 0x8d }, | |
| 3459 { 0x00, 0x8e, 0x8e }, | |
| 3460 { 0x00, 0x8f, 0x8f }, | |
| 3461 { 0x00, 0x90, 0x90 }, | |
| 3462 { 0x00, 0x91, 0x91 }, | |
| 3463 { 0x00, 0x92, 0x92 }, | |
| 3464 { 0x00, 0x93, 0x93 }, | |
| 3465 { 0x00, 0x94, 0x94 }, | |
| 3466 { 0x00, 0x95, 0x95 }, | |
| 3467 { 0x00, 0x96, 0x96 }, | |
| 3468 { 0x00, 0x97, 0x97 }, | |
| 3469 { 0x00, 0x98, 0x98 }, | |
| 3470 { 0x00, 0x99, 0x99 }, | |
| 3471 { 0x00, 0x9a, 0x9a }, | |
| 3472 { 0x00, 0x9b, 0x9b }, | |
| 3473 { 0x00, 0x9c, 0x9c }, | |
| 3474 { 0x00, 0x9d, 0x9d }, | |
| 3475 { 0x00, 0x9e, 0x9e }, | |
| 3476 { 0x00, 0x9f, 0x9f }, | |
| 3477 { 0x00, 0xa0, 0xa0 }, | |
| 3478 { 0x00, 0xa1, 0xa1 }, | |
| 3479 { 0x00, 0xa2, 0xa2 }, | |
| 3480 { 0x00, 0xa3, 0xb3 }, | |
| 3481 { 0x00, 0xa4, 0xa4 }, | |
| 3482 { 0x00, 0xa5, 0xa5 }, | |
| 3483 { 0x00, 0xa6, 0xa6 }, | |
| 3484 { 0x00, 0xa7, 0xa7 }, | |
| 3485 { 0x00, 0xa8, 0xa8 }, | |
| 3486 { 0x00, 0xa9, 0xa9 }, | |
| 3487 { 0x00, 0xaa, 0xaa }, | |
| 3488 { 0x00, 0xab, 0xab }, | |
| 3489 { 0x00, 0xac, 0xac }, | |
| 3490 { 0x00, 0xad, 0xad }, | |
| 3491 { 0x00, 0xae, 0xae }, | |
| 3492 { 0x00, 0xaf, 0xaf }, | |
| 3493 { 0x00, 0xb0, 0xb0 }, | |
| 3494 { 0x00, 0xb1, 0xb1 }, | |
| 3495 { 0x00, 0xb2, 0xb2 }, | |
| 3496 { 0x01, 0xa3, 0xb3 }, | |
| 3497 { 0x00, 0xb4, 0xb4 }, | |
| 3498 { 0x00, 0xb5, 0xb5 }, | |
| 3499 { 0x00, 0xb6, 0xb6 }, | |
| 3500 { 0x00, 0xb7, 0xb7 }, | |
| 3501 { 0x00, 0xb8, 0xb8 }, | |
| 3502 { 0x00, 0xb9, 0xb9 }, | |
| 3503 { 0x00, 0xba, 0xba }, | |
| 3504 { 0x00, 0xbb, 0xbb }, | |
| 3505 { 0x00, 0xbc, 0xbc }, | |
| 3506 { 0x00, 0xbd, 0xbd }, | |
| 3507 { 0x00, 0xbe, 0xbe }, | |
| 3508 { 0x00, 0xbf, 0xbf }, | |
| 3509 { 0x00, 0xc0, 0xe0 }, | |
| 3510 { 0x00, 0xc1, 0xe1 }, | |
| 3511 { 0x00, 0xc2, 0xe2 }, | |
| 3512 { 0x00, 0xc3, 0xe3 }, | |
| 3513 { 0x00, 0xc4, 0xe4 }, | |
| 3514 { 0x00, 0xc5, 0xe5 }, | |
| 3515 { 0x00, 0xc6, 0xe6 }, | |
| 3516 { 0x00, 0xc7, 0xe7 }, | |
| 3517 { 0x00, 0xc8, 0xe8 }, | |
| 3518 { 0x00, 0xc9, 0xe9 }, | |
| 3519 { 0x00, 0xca, 0xea }, | |
| 3520 { 0x00, 0xcb, 0xeb }, | |
| 3521 { 0x00, 0xcc, 0xec }, | |
| 3522 { 0x00, 0xcd, 0xed }, | |
| 3523 { 0x00, 0xce, 0xee }, | |
| 3524 { 0x00, 0xcf, 0xef }, | |
| 3525 { 0x00, 0xd0, 0xf0 }, | |
| 3526 { 0x00, 0xd1, 0xf1 }, | |
| 3527 { 0x00, 0xd2, 0xf2 }, | |
| 3528 { 0x00, 0xd3, 0xf3 }, | |
| 3529 { 0x00, 0xd4, 0xf4 }, | |
| 3530 { 0x00, 0xd5, 0xf5 }, | |
| 3531 { 0x00, 0xd6, 0xf6 }, | |
| 3532 { 0x00, 0xd7, 0xf7 }, | |
| 3533 { 0x00, 0xd8, 0xf8 }, | |
| 3534 { 0x00, 0xd9, 0xf9 }, | |
| 3535 { 0x00, 0xda, 0xfa }, | |
| 3536 { 0x00, 0xdb, 0xfb }, | |
| 3537 { 0x00, 0xdc, 0xfc }, | |
| 3538 { 0x00, 0xdd, 0xfd }, | |
| 3539 { 0x00, 0xde, 0xfe }, | |
| 3540 { 0x00, 0xdf, 0xff }, | |
| 3541 { 0x01, 0xc0, 0xe0 }, | |
| 3542 { 0x01, 0xc1, 0xe1 }, | |
| 3543 { 0x01, 0xc2, 0xe2 }, | |
| 3544 { 0x01, 0xc3, 0xe3 }, | |
| 3545 { 0x01, 0xc4, 0xe4 }, | |
| 3546 { 0x01, 0xc5, 0xe5 }, | |
| 3547 { 0x01, 0xc6, 0xe6 }, | |
| 3548 { 0x01, 0xc7, 0xe7 }, | |
| 3549 { 0x01, 0xc8, 0xe8 }, | |
| 3550 { 0x01, 0xc9, 0xe9 }, | |
| 3551 { 0x01, 0xca, 0xea }, | |
| 3552 { 0x01, 0xcb, 0xeb }, | |
| 3553 { 0x01, 0xcc, 0xec }, | |
| 3554 { 0x01, 0xcd, 0xed }, | |
| 3555 { 0x01, 0xce, 0xee }, | |
| 3556 { 0x01, 0xcf, 0xef }, | |
| 3557 { 0x01, 0xd0, 0xf0 }, | |
| 3558 { 0x01, 0xd1, 0xf1 }, | |
| 3559 { 0x01, 0xd2, 0xf2 }, | |
| 3560 { 0x01, 0xd3, 0xf3 }, | |
| 3561 { 0x01, 0xd4, 0xf4 }, | |
| 3562 { 0x01, 0xd5, 0xf5 }, | |
| 3563 { 0x01, 0xd6, 0xf6 }, | |
| 3564 { 0x01, 0xd7, 0xf7 }, | |
| 3565 { 0x01, 0xd8, 0xf8 }, | |
| 3566 { 0x01, 0xd9, 0xf9 }, | |
| 3567 { 0x01, 0xda, 0xfa }, | |
| 3568 { 0x01, 0xdb, 0xfb }, | |
| 3569 { 0x01, 0xdc, 0xfc }, | |
| 3570 { 0x01, 0xdd, 0xfd }, | |
| 3571 { 0x01, 0xde, 0xfe }, | |
| 3572 { 0x01, 0xdf, 0xff } | |
| 3573 }; | |
| 3574 | |
| 3575 static struct cs_info koi8u_tbl[] = { | |
| 3576 { 0x00, 0x00, 0x00 }, | |
| 3577 { 0x00, 0x01, 0x01 }, | |
| 3578 { 0x00, 0x02, 0x02 }, | |
| 3579 { 0x00, 0x03, 0x03 }, | |
| 3580 { 0x00, 0x04, 0x04 }, | |
| 3581 { 0x00, 0x05, 0x05 }, | |
| 3582 { 0x00, 0x06, 0x06 }, | |
| 3583 { 0x00, 0x07, 0x07 }, | |
| 3584 { 0x00, 0x08, 0x08 }, | |
| 3585 { 0x00, 0x09, 0x09 }, | |
| 3586 { 0x00, 0x0a, 0x0a }, | |
| 3587 { 0x00, 0x0b, 0x0b }, | |
| 3588 { 0x00, 0x0c, 0x0c }, | |
| 3589 { 0x00, 0x0d, 0x0d }, | |
| 3590 { 0x00, 0x0e, 0x0e }, | |
| 3591 { 0x00, 0x0f, 0x0f }, | |
| 3592 { 0x00, 0x10, 0x10 }, | |
| 3593 { 0x00, 0x11, 0x11 }, | |
| 3594 { 0x00, 0x12, 0x12 }, | |
| 3595 { 0x00, 0x13, 0x13 }, | |
| 3596 { 0x00, 0x14, 0x14 }, | |
| 3597 { 0x00, 0x15, 0x15 }, | |
| 3598 { 0x00, 0x16, 0x16 }, | |
| 3599 { 0x00, 0x17, 0x17 }, | |
| 3600 { 0x00, 0x18, 0x18 }, | |
| 3601 { 0x00, 0x19, 0x19 }, | |
| 3602 { 0x00, 0x1a, 0x1a }, | |
| 3603 { 0x00, 0x1b, 0x1b }, | |
| 3604 { 0x00, 0x1c, 0x1c }, | |
| 3605 { 0x00, 0x1d, 0x1d }, | |
| 3606 { 0x00, 0x1e, 0x1e }, | |
| 3607 { 0x00, 0x1f, 0x1f }, | |
| 3608 { 0x00, 0x20, 0x20 }, | |
| 3609 { 0x00, 0x21, 0x21 }, | |
| 3610 { 0x00, 0x22, 0x22 }, | |
| 3611 { 0x00, 0x23, 0x23 }, | |
| 3612 { 0x00, 0x24, 0x24 }, | |
| 3613 { 0x00, 0x25, 0x25 }, | |
| 3614 { 0x00, 0x26, 0x26 }, | |
| 3615 { 0x00, 0x27, 0x27 }, | |
| 3616 { 0x00, 0x28, 0x28 }, | |
| 3617 { 0x00, 0x29, 0x29 }, | |
| 3618 { 0x00, 0x2a, 0x2a }, | |
| 3619 { 0x00, 0x2b, 0x2b }, | |
| 3620 { 0x00, 0x2c, 0x2c }, | |
| 3621 { 0x00, 0x2d, 0x2d }, | |
| 3622 { 0x00, 0x2e, 0x2e }, | |
| 3623 { 0x00, 0x2f, 0x2f }, | |
| 3624 { 0x00, 0x30, 0x30 }, | |
| 3625 { 0x00, 0x31, 0x31 }, | |
| 3626 { 0x00, 0x32, 0x32 }, | |
| 3627 { 0x00, 0x33, 0x33 }, | |
| 3628 { 0x00, 0x34, 0x34 }, | |
| 3629 { 0x00, 0x35, 0x35 }, | |
| 3630 { 0x00, 0x36, 0x36 }, | |
| 3631 { 0x00, 0x37, 0x37 }, | |
| 3632 { 0x00, 0x38, 0x38 }, | |
| 3633 { 0x00, 0x39, 0x39 }, | |
| 3634 { 0x00, 0x3a, 0x3a }, | |
| 3635 { 0x00, 0x3b, 0x3b }, | |
| 3636 { 0x00, 0x3c, 0x3c }, | |
| 3637 { 0x00, 0x3d, 0x3d }, | |
| 3638 { 0x00, 0x3e, 0x3e }, | |
| 3639 { 0x00, 0x3f, 0x3f }, | |
| 3640 { 0x00, 0x40, 0x40 }, | |
| 3641 { 0x01, 0x61, 0x41 }, | |
| 3642 { 0x01, 0x62, 0x42 }, | |
| 3643 { 0x01, 0x63, 0x43 }, | |
| 3644 { 0x01, 0x64, 0x44 }, | |
| 3645 { 0x01, 0x65, 0x45 }, | |
| 3646 { 0x01, 0x66, 0x46 }, | |
| 3647 { 0x01, 0x67, 0x47 }, | |
| 3648 { 0x01, 0x68, 0x48 }, | |
| 3649 { 0x01, 0x69, 0x49 }, | |
| 3650 { 0x01, 0x6a, 0x4a }, | |
| 3651 { 0x01, 0x6b, 0x4b }, | |
| 3652 { 0x01, 0x6c, 0x4c }, | |
| 3653 { 0x01, 0x6d, 0x4d }, | |
| 3654 { 0x01, 0x6e, 0x4e }, | |
| 3655 { 0x01, 0x6f, 0x4f }, | |
| 3656 { 0x01, 0x70, 0x50 }, | |
| 3657 { 0x01, 0x71, 0x51 }, | |
| 3658 { 0x01, 0x72, 0x52 }, | |
| 3659 { 0x01, 0x73, 0x53 }, | |
| 3660 { 0x01, 0x74, 0x54 }, | |
| 3661 { 0x01, 0x75, 0x55 }, | |
| 3662 { 0x01, 0x76, 0x56 }, | |
| 3663 { 0x01, 0x77, 0x57 }, | |
| 3664 { 0x01, 0x78, 0x58 }, | |
| 3665 { 0x01, 0x79, 0x59 }, | |
| 3666 { 0x01, 0x7a, 0x5a }, | |
| 3667 { 0x00, 0x5b, 0x5b }, | |
| 3668 { 0x00, 0x5c, 0x5c }, | |
| 3669 { 0x00, 0x5d, 0x5d }, | |
| 3670 { 0x00, 0x5e, 0x5e }, | |
| 3671 { 0x00, 0x5f, 0x5f }, | |
| 3672 { 0x00, 0x60, 0x60 }, | |
| 3673 { 0x00, 0x61, 0x41 }, | |
| 3674 { 0x00, 0x62, 0x42 }, | |
| 3675 { 0x00, 0x63, 0x43 }, | |
| 3676 { 0x00, 0x64, 0x44 }, | |
| 3677 { 0x00, 0x65, 0x45 }, | |
| 3678 { 0x00, 0x66, 0x46 }, | |
| 3679 { 0x00, 0x67, 0x47 }, | |
| 3680 { 0x00, 0x68, 0x48 }, | |
| 3681 { 0x00, 0x69, 0x49 }, | |
| 3682 { 0x00, 0x6a, 0x4a }, | |
| 3683 { 0x00, 0x6b, 0x4b }, | |
| 3684 { 0x00, 0x6c, 0x4c }, | |
| 3685 { 0x00, 0x6d, 0x4d }, | |
| 3686 { 0x00, 0x6e, 0x4e }, | |
| 3687 { 0x00, 0x6f, 0x4f }, | |
| 3688 { 0x00, 0x70, 0x50 }, | |
| 3689 { 0x00, 0x71, 0x51 }, | |
| 3690 { 0x00, 0x72, 0x52 }, | |
| 3691 { 0x00, 0x73, 0x53 }, | |
| 3692 { 0x00, 0x74, 0x54 }, | |
| 3693 { 0x00, 0x75, 0x55 }, | |
| 3694 { 0x00, 0x76, 0x56 }, | |
| 3695 { 0x00, 0x77, 0x57 }, | |
| 3696 { 0x00, 0x78, 0x58 }, | |
| 3697 { 0x00, 0x79, 0x59 }, | |
| 3698 { 0x00, 0x7a, 0x5a }, | |
| 3699 { 0x00, 0x7b, 0x7b }, | |
| 3700 { 0x00, 0x7c, 0x7c }, | |
| 3701 { 0x00, 0x7d, 0x7d }, | |
| 3702 { 0x00, 0x7e, 0x7e }, | |
| 3703 { 0x00, 0x7f, 0x7f }, | |
| 3704 { 0x00, 0x80, 0x80 }, | |
| 3705 { 0x00, 0x81, 0x81 }, | |
| 3706 { 0x00, 0x82, 0x82 }, | |
| 3707 { 0x00, 0x83, 0x83 }, | |
| 3708 { 0x00, 0x84, 0x84 }, | |
| 3709 { 0x00, 0x85, 0x85 }, | |
| 3710 { 0x00, 0x86, 0x86 }, | |
| 3711 { 0x00, 0x87, 0x87 }, | |
| 3712 { 0x00, 0x88, 0x88 }, | |
| 3713 { 0x00, 0x89, 0x89 }, | |
| 3714 { 0x00, 0x8a, 0x8a }, | |
| 3715 { 0x00, 0x8b, 0x8b }, | |
| 3716 { 0x00, 0x8c, 0x8c }, | |
| 3717 { 0x00, 0x8d, 0x8d }, | |
| 3718 { 0x00, 0x8e, 0x8e }, | |
| 3719 { 0x00, 0x8f, 0x8f }, | |
| 3720 { 0x00, 0x90, 0x90 }, | |
| 3721 { 0x00, 0x91, 0x91 }, | |
| 3722 { 0x00, 0x92, 0x92 }, | |
| 3723 { 0x00, 0x93, 0x93 }, | |
| 3724 { 0x00, 0x94, 0x94 }, | |
| 3725 { 0x00, 0x95, 0x95 }, | |
| 3726 { 0x00, 0x96, 0x96 }, | |
| 3727 { 0x00, 0x97, 0x97 }, | |
| 3728 { 0x00, 0x98, 0x98 }, | |
| 3729 { 0x00, 0x99, 0x99 }, | |
| 3730 { 0x00, 0x9a, 0x9a }, | |
| 3731 { 0x00, 0x9b, 0x9b }, | |
| 3732 { 0x00, 0x9c, 0x9c }, | |
| 3733 { 0x00, 0x9d, 0x9d }, | |
| 3734 { 0x00, 0x9e, 0x9e }, | |
| 3735 { 0x00, 0x9f, 0x9f }, | |
| 3736 { 0x00, 0xa0, 0xa0 }, | |
| 3737 { 0x00, 0xa1, 0xa1 }, | |
| 3738 { 0x00, 0xa2, 0xa2 }, | |
| 3739 { 0x00, 0xa3, 0xb3 }, | |
| 3740 { 0x00, 0xa4, 0xb4 }, /* ie */ | |
| 3741 { 0x00, 0xa5, 0xa5 }, | |
| 3742 { 0x00, 0xa6, 0xb6 }, /* i */ | |
| 3743 { 0x00, 0xa7, 0xb7 }, /* ii */ | |
| 3744 { 0x00, 0xa8, 0xa8 }, | |
| 3745 { 0x00, 0xa9, 0xa9 }, | |
| 3746 { 0x00, 0xaa, 0xaa }, | |
| 3747 { 0x00, 0xab, 0xab }, | |
| 3748 { 0x00, 0xac, 0xac }, | |
| 3749 { 0x00, 0xad, 0xbd }, /* g'' */ | |
| 3750 { 0x00, 0xae, 0xae }, | |
| 3751 { 0x00, 0xaf, 0xaf }, | |
| 3752 { 0x00, 0xb0, 0xb0 }, | |
| 3753 { 0x00, 0xb1, 0xb1 }, | |
| 3754 { 0x00, 0xb2, 0xb2 }, | |
| 3755 { 0x01, 0xa3, 0xb3 }, | |
| 3756 { 0x00, 0xb4, 0xb4 }, /* IE */ | |
| 3757 { 0x00, 0xb5, 0xb5 }, | |
| 3758 { 0x00, 0xb6, 0xb6 }, /* I */ | |
| 3759 { 0x00, 0xb7, 0xb7 }, /* II */ | |
| 3760 { 0x00, 0xb8, 0xb8 }, | |
| 3761 { 0x00, 0xb9, 0xb9 }, | |
| 3762 { 0x00, 0xba, 0xba }, | |
| 3763 { 0x00, 0xbb, 0xbb }, | |
| 3764 { 0x00, 0xbc, 0xbc }, | |
| 3765 { 0x00, 0xbd, 0xbd }, | |
| 3766 { 0x00, 0xbe, 0xbe }, | |
| 3767 { 0x00, 0xbf, 0xbf }, | |
| 3768 { 0x00, 0xc0, 0xe0 }, | |
| 3769 { 0x00, 0xc1, 0xe1 }, | |
| 3770 { 0x00, 0xc2, 0xe2 }, | |
| 3771 { 0x00, 0xc3, 0xe3 }, | |
| 3772 { 0x00, 0xc4, 0xe4 }, | |
| 3773 { 0x00, 0xc5, 0xe5 }, | |
| 3774 { 0x00, 0xc6, 0xe6 }, | |
| 3775 { 0x00, 0xc7, 0xe7 }, | |
| 3776 { 0x00, 0xc8, 0xe8 }, | |
| 3777 { 0x00, 0xc9, 0xe9 }, | |
| 3778 { 0x00, 0xca, 0xea }, | |
| 3779 { 0x00, 0xcb, 0xeb }, | |
| 3780 { 0x00, 0xcc, 0xec }, | |
| 3781 { 0x00, 0xcd, 0xed }, | |
| 3782 { 0x00, 0xce, 0xee }, | |
| 3783 { 0x00, 0xcf, 0xef }, | |
| 3784 { 0x00, 0xd0, 0xf0 }, | |
| 3785 { 0x00, 0xd1, 0xf1 }, | |
| 3786 { 0x00, 0xd2, 0xf2 }, | |
| 3787 { 0x00, 0xd3, 0xf3 }, | |
| 3788 { 0x00, 0xd4, 0xf4 }, | |
| 3789 { 0x00, 0xd5, 0xf5 }, | |
| 3790 { 0x00, 0xd6, 0xf6 }, | |
| 3791 { 0x00, 0xd7, 0xf7 }, | |
| 3792 { 0x00, 0xd8, 0xf8 }, | |
| 3793 { 0x00, 0xd9, 0xf9 }, | |
| 3794 { 0x00, 0xda, 0xfa }, | |
| 3795 { 0x00, 0xdb, 0xfb }, | |
| 3796 { 0x00, 0xdc, 0xfc }, | |
| 3797 { 0x00, 0xdd, 0xfd }, | |
| 3798 { 0x00, 0xde, 0xfe }, | |
| 3799 { 0x00, 0xdf, 0xff }, | |
| 3800 { 0x01, 0xc0, 0xe0 }, | |
| 3801 { 0x01, 0xc1, 0xe1 }, | |
| 3802 { 0x01, 0xc2, 0xe2 }, | |
| 3803 { 0x01, 0xc3, 0xe3 }, | |
| 3804 { 0x01, 0xc4, 0xe4 }, | |
| 3805 { 0x01, 0xc5, 0xe5 }, | |
| 3806 { 0x01, 0xc6, 0xe6 }, | |
| 3807 { 0x01, 0xc7, 0xe7 }, | |
| 3808 { 0x01, 0xc8, 0xe8 }, | |
| 3809 { 0x01, 0xc9, 0xe9 }, | |
| 3810 { 0x01, 0xca, 0xea }, | |
| 3811 { 0x01, 0xcb, 0xeb }, | |
| 3812 { 0x01, 0xcc, 0xec }, | |
| 3813 { 0x01, 0xcd, 0xed }, | |
| 3814 { 0x01, 0xce, 0xee }, | |
| 3815 { 0x01, 0xcf, 0xef }, | |
| 3816 { 0x01, 0xd0, 0xf0 }, | |
| 3817 { 0x01, 0xd1, 0xf1 }, | |
| 3818 { 0x01, 0xd2, 0xf2 }, | |
| 3819 { 0x01, 0xd3, 0xf3 }, | |
| 3820 { 0x01, 0xd4, 0xf4 }, | |
| 3821 { 0x01, 0xd5, 0xf5 }, | |
| 3822 { 0x01, 0xd6, 0xf6 }, | |
| 3823 { 0x01, 0xd7, 0xf7 }, | |
| 3824 { 0x01, 0xd8, 0xf8 }, | |
| 3825 { 0x01, 0xd9, 0xf9 }, | |
| 3826 { 0x01, 0xda, 0xfa }, | |
| 3827 { 0x01, 0xdb, 0xfb }, | |
| 3828 { 0x01, 0xdc, 0xfc }, | |
| 3829 { 0x01, 0xdd, 0xfd }, | |
| 3830 { 0x01, 0xde, 0xfe }, | |
| 3831 { 0x01, 0xdf, 0xff } | |
| 3832 }; | |
| 3833 | |
| 3834 static struct cs_info cp1251_tbl[] = { | |
| 3835 { 0x00, 0x00, 0x00 }, | |
| 3836 { 0x00, 0x01, 0x01 }, | |
| 3837 { 0x00, 0x02, 0x02 }, | |
| 3838 { 0x00, 0x03, 0x03 }, | |
| 3839 { 0x00, 0x04, 0x04 }, | |
| 3840 { 0x00, 0x05, 0x05 }, | |
| 3841 { 0x00, 0x06, 0x06 }, | |
| 3842 { 0x00, 0x07, 0x07 }, | |
| 3843 { 0x00, 0x08, 0x08 }, | |
| 3844 { 0x00, 0x09, 0x09 }, | |
| 3845 { 0x00, 0x0a, 0x0a }, | |
| 3846 { 0x00, 0x0b, 0x0b }, | |
| 3847 { 0x00, 0x0c, 0x0c }, | |
| 3848 { 0x00, 0x0d, 0x0d }, | |
| 3849 { 0x00, 0x0e, 0x0e }, | |
| 3850 { 0x00, 0x0f, 0x0f }, | |
| 3851 { 0x00, 0x10, 0x10 }, | |
| 3852 { 0x00, 0x11, 0x11 }, | |
| 3853 { 0x00, 0x12, 0x12 }, | |
| 3854 { 0x00, 0x13, 0x13 }, | |
| 3855 { 0x00, 0x14, 0x14 }, | |
| 3856 { 0x00, 0x15, 0x15 }, | |
| 3857 { 0x00, 0x16, 0x16 }, | |
| 3858 { 0x00, 0x17, 0x17 }, | |
| 3859 { 0x00, 0x18, 0x18 }, | |
| 3860 { 0x00, 0x19, 0x19 }, | |
| 3861 { 0x00, 0x1a, 0x1a }, | |
| 3862 { 0x00, 0x1b, 0x1b }, | |
| 3863 { 0x00, 0x1c, 0x1c }, | |
| 3864 { 0x00, 0x1d, 0x1d }, | |
| 3865 { 0x00, 0x1e, 0x1e }, | |
| 3866 { 0x00, 0x1f, 0x1f }, | |
| 3867 { 0x00, 0x20, 0x20 }, | |
| 3868 { 0x00, 0x21, 0x21 }, | |
| 3869 { 0x00, 0x22, 0x22 }, | |
| 3870 { 0x00, 0x23, 0x23 }, | |
| 3871 { 0x00, 0x24, 0x24 }, | |
| 3872 { 0x00, 0x25, 0x25 }, | |
| 3873 { 0x00, 0x26, 0x26 }, | |
| 3874 { 0x00, 0x27, 0x27 }, | |
| 3875 { 0x00, 0x28, 0x28 }, | |
| 3876 { 0x00, 0x29, 0x29 }, | |
| 3877 { 0x00, 0x2a, 0x2a }, | |
| 3878 { 0x00, 0x2b, 0x2b }, | |
| 3879 { 0x00, 0x2c, 0x2c }, | |
| 3880 { 0x00, 0x2d, 0x2d }, | |
| 3881 { 0x00, 0x2e, 0x2e }, | |
| 3882 { 0x00, 0x2f, 0x2f }, | |
| 3883 { 0x00, 0x30, 0x30 }, | |
| 3884 { 0x00, 0x31, 0x31 }, | |
| 3885 { 0x00, 0x32, 0x32 }, | |
| 3886 { 0x00, 0x33, 0x33 }, | |
| 3887 { 0x00, 0x34, 0x34 }, | |
| 3888 { 0x00, 0x35, 0x35 }, | |
| 3889 { 0x00, 0x36, 0x36 }, | |
| 3890 { 0x00, 0x37, 0x37 }, | |
| 3891 { 0x00, 0x38, 0x38 }, | |
| 3892 { 0x00, 0x39, 0x39 }, | |
| 3893 { 0x00, 0x3a, 0x3a }, | |
| 3894 { 0x00, 0x3b, 0x3b }, | |
| 3895 { 0x00, 0x3c, 0x3c }, | |
| 3896 { 0x00, 0x3d, 0x3d }, | |
| 3897 { 0x00, 0x3e, 0x3e }, | |
| 3898 { 0x00, 0x3f, 0x3f }, | |
| 3899 { 0x00, 0x40, 0x40 }, | |
| 3900 { 0x01, 0x61, 0x41 }, | |
| 3901 { 0x01, 0x62, 0x42 }, | |
| 3902 { 0x01, 0x63, 0x43 }, | |
| 3903 { 0x01, 0x64, 0x44 }, | |
| 3904 { 0x01, 0x65, 0x45 }, | |
| 3905 { 0x01, 0x66, 0x46 }, | |
| 3906 { 0x01, 0x67, 0x47 }, | |
| 3907 { 0x01, 0x68, 0x48 }, | |
| 3908 { 0x01, 0x69, 0x49 }, | |
| 3909 { 0x01, 0x6a, 0x4a }, | |
| 3910 { 0x01, 0x6b, 0x4b }, | |
| 3911 { 0x01, 0x6c, 0x4c }, | |
| 3912 { 0x01, 0x6d, 0x4d }, | |
| 3913 { 0x01, 0x6e, 0x4e }, | |
| 3914 { 0x01, 0x6f, 0x4f }, | |
| 3915 { 0x01, 0x70, 0x50 }, | |
| 3916 { 0x01, 0x71, 0x51 }, | |
| 3917 { 0x01, 0x72, 0x52 }, | |
| 3918 { 0x01, 0x73, 0x53 }, | |
| 3919 { 0x01, 0x74, 0x54 }, | |
| 3920 { 0x01, 0x75, 0x55 }, | |
| 3921 { 0x01, 0x76, 0x56 }, | |
| 3922 { 0x01, 0x77, 0x57 }, | |
| 3923 { 0x01, 0x78, 0x58 }, | |
| 3924 { 0x01, 0x79, 0x59 }, | |
| 3925 { 0x01, 0x7a, 0x5a }, | |
| 3926 { 0x00, 0x5b, 0x5b }, | |
| 3927 { 0x00, 0x5c, 0x5c }, | |
| 3928 { 0x00, 0x5d, 0x5d }, | |
| 3929 { 0x00, 0x5e, 0x5e }, | |
| 3930 { 0x00, 0x5f, 0x5f }, | |
| 3931 { 0x00, 0x60, 0x60 }, | |
| 3932 { 0x00, 0x61, 0x41 }, | |
| 3933 { 0x00, 0x62, 0x42 }, | |
| 3934 { 0x00, 0x63, 0x43 }, | |
| 3935 { 0x00, 0x64, 0x44 }, | |
| 3936 { 0x00, 0x65, 0x45 }, | |
| 3937 { 0x00, 0x66, 0x46 }, | |
| 3938 { 0x00, 0x67, 0x47 }, | |
| 3939 { 0x00, 0x68, 0x48 }, | |
| 3940 { 0x00, 0x69, 0x49 }, | |
| 3941 { 0x00, 0x6a, 0x4a }, | |
| 3942 { 0x00, 0x6b, 0x4b }, | |
| 3943 { 0x00, 0x6c, 0x4c }, | |
| 3944 { 0x00, 0x6d, 0x4d }, | |
| 3945 { 0x00, 0x6e, 0x4e }, | |
| 3946 { 0x00, 0x6f, 0x4f }, | |
| 3947 { 0x00, 0x70, 0x50 }, | |
| 3948 { 0x00, 0x71, 0x51 }, | |
| 3949 { 0x00, 0x72, 0x52 }, | |
| 3950 { 0x00, 0x73, 0x53 }, | |
| 3951 { 0x00, 0x74, 0x54 }, | |
| 3952 { 0x00, 0x75, 0x55 }, | |
| 3953 { 0x00, 0x76, 0x56 }, | |
| 3954 { 0x00, 0x77, 0x57 }, | |
| 3955 { 0x00, 0x78, 0x58 }, | |
| 3956 { 0x00, 0x79, 0x59 }, | |
| 3957 { 0x00, 0x7a, 0x5a }, | |
| 3958 { 0x00, 0x7b, 0x7b }, | |
| 3959 { 0x00, 0x7c, 0x7c }, | |
| 3960 { 0x00, 0x7d, 0x7d }, | |
| 3961 { 0x00, 0x7e, 0x7e }, | |
| 3962 { 0x00, 0x7f, 0x7f }, | |
| 3963 { 0x01, 0x90, 0x80 }, | |
| 3964 { 0x01, 0x83, 0x81 }, | |
| 3965 { 0x00, 0x82, 0x82 }, | |
| 3966 { 0x00, 0x83, 0x81 }, | |
| 3967 { 0x00, 0x84, 0x84 }, | |
| 3968 { 0x00, 0x85, 0x85 }, | |
| 3969 { 0x00, 0x86, 0x86 }, | |
| 3970 { 0x00, 0x87, 0x87 }, | |
| 3971 { 0x00, 0x88, 0x88 }, | |
| 3972 { 0x00, 0x89, 0x89 }, | |
| 3973 { 0x01, 0x9a, 0x8a }, | |
| 3974 { 0x00, 0x8b, 0x8b }, | |
| 3975 { 0x01, 0x9c, 0x8c }, | |
| 3976 { 0x01, 0x9d, 0x8d }, | |
| 3977 { 0x01, 0x9e, 0x8e }, | |
| 3978 { 0x01, 0x9f, 0x8f }, | |
| 3979 { 0x00, 0x90, 0x80 }, | |
| 3980 { 0x00, 0x91, 0x91 }, | |
| 3981 { 0x00, 0x92, 0x92 }, | |
| 3982 { 0x00, 0x93, 0x93 }, | |
| 3983 { 0x00, 0x94, 0x94 }, | |
| 3984 { 0x00, 0x95, 0x95 }, | |
| 3985 { 0x00, 0x96, 0x96 }, | |
| 3986 { 0x00, 0x97, 0x97 }, | |
| 3987 { 0x00, 0x98, 0x98 }, | |
| 3988 { 0x00, 0x99, 0x99 }, | |
| 3989 { 0x00, 0x9a, 0x8a }, | |
| 3990 { 0x00, 0x9b, 0x9b }, | |
| 3991 { 0x00, 0x9c, 0x8c }, | |
| 3992 { 0x00, 0x9d, 0x8d }, | |
| 3993 { 0x00, 0x9e, 0x8e }, | |
| 3994 { 0x00, 0x9f, 0x8f }, | |
| 3995 { 0x00, 0xa0, 0xa0 }, | |
| 3996 { 0x01, 0xa2, 0xa1 }, | |
| 3997 { 0x00, 0xa2, 0xa1 }, | |
| 3998 { 0x01, 0xbc, 0xa3 }, | |
| 3999 { 0x00, 0xa4, 0xa4 }, | |
| 4000 { 0x01, 0xb4, 0xa5 }, | |
| 4001 { 0x00, 0xa6, 0xa6 }, | |
| 4002 { 0x00, 0xa7, 0xa7 }, | |
| 4003 { 0x01, 0xb8, 0xa8 }, | |
| 4004 { 0x00, 0xa9, 0xa9 }, | |
| 4005 { 0x01, 0xba, 0xaa }, | |
| 4006 { 0x00, 0xab, 0xab }, | |
| 4007 { 0x00, 0xac, 0xac }, | |
| 4008 { 0x00, 0xad, 0xad }, | |
| 4009 { 0x00, 0xae, 0xae }, | |
| 4010 { 0x01, 0xbf, 0xaf }, | |
| 4011 { 0x00, 0xb0, 0xb0 }, | |
| 4012 { 0x00, 0xb1, 0xb1 }, | |
| 4013 { 0x01, 0xb3, 0xb2 }, | |
| 4014 { 0x00, 0xb3, 0xb2 }, | |
| 4015 { 0x00, 0xb4, 0xa5 }, | |
| 4016 { 0x00, 0xb5, 0xb5 }, | |
| 4017 { 0x00, 0xb6, 0xb6 }, | |
| 4018 { 0x00, 0xb7, 0xb7 }, | |
| 4019 { 0x00, 0xb8, 0xa8 }, | |
| 4020 { 0x00, 0xb9, 0xb9 }, | |
| 4021 { 0x00, 0xba, 0xaa }, | |
| 4022 { 0x00, 0xbb, 0xbb }, | |
| 4023 { 0x00, 0xbc, 0xa3 }, | |
| 4024 { 0x01, 0xbe, 0xbd }, | |
| 4025 { 0x00, 0xbe, 0xbd }, | |
| 4026 { 0x00, 0xbf, 0xaf }, | |
| 4027 { 0x01, 0xe0, 0xc0 }, | |
| 4028 { 0x01, 0xe1, 0xc1 }, | |
| 4029 { 0x01, 0xe2, 0xc2 }, | |
| 4030 { 0x01, 0xe3, 0xc3 }, | |
| 4031 { 0x01, 0xe4, 0xc4 }, | |
| 4032 { 0x01, 0xe5, 0xc5 }, | |
| 4033 { 0x01, 0xe6, 0xc6 }, | |
| 4034 { 0x01, 0xe7, 0xc7 }, | |
| 4035 { 0x01, 0xe8, 0xc8 }, | |
| 4036 { 0x01, 0xe9, 0xc9 }, | |
| 4037 { 0x01, 0xea, 0xca }, | |
| 4038 { 0x01, 0xeb, 0xcb }, | |
| 4039 { 0x01, 0xec, 0xcc }, | |
| 4040 { 0x01, 0xed, 0xcd }, | |
| 4041 { 0x01, 0xee, 0xce }, | |
| 4042 { 0x01, 0xef, 0xcf }, | |
| 4043 { 0x01, 0xf0, 0xd0 }, | |
| 4044 { 0x01, 0xf1, 0xd1 }, | |
| 4045 { 0x01, 0xf2, 0xd2 }, | |
| 4046 { 0x01, 0xf3, 0xd3 }, | |
| 4047 { 0x01, 0xf4, 0xd4 }, | |
| 4048 { 0x01, 0xf5, 0xd5 }, | |
| 4049 { 0x01, 0xf6, 0xd6 }, | |
| 4050 { 0x01, 0xf7, 0xd7 }, | |
| 4051 { 0x01, 0xf8, 0xd8 }, | |
| 4052 { 0x01, 0xf9, 0xd9 }, | |
| 4053 { 0x01, 0xfa, 0xda }, | |
| 4054 { 0x01, 0xfb, 0xdb }, | |
| 4055 { 0x01, 0xfc, 0xdc }, | |
| 4056 { 0x01, 0xfd, 0xdd }, | |
| 4057 { 0x01, 0xfe, 0xde }, | |
| 4058 { 0x01, 0xff, 0xdf }, | |
| 4059 { 0x00, 0xe0, 0xc0 }, | |
| 4060 { 0x00, 0xe1, 0xc1 }, | |
| 4061 { 0x00, 0xe2, 0xc2 }, | |
| 4062 { 0x00, 0xe3, 0xc3 }, | |
| 4063 { 0x00, 0xe4, 0xc4 }, | |
| 4064 { 0x00, 0xe5, 0xc5 }, | |
| 4065 { 0x00, 0xe6, 0xc6 }, | |
| 4066 { 0x00, 0xe7, 0xc7 }, | |
| 4067 { 0x00, 0xe8, 0xc8 }, | |
| 4068 { 0x00, 0xe9, 0xc9 }, | |
| 4069 { 0x00, 0xea, 0xca }, | |
| 4070 { 0x00, 0xeb, 0xcb }, | |
| 4071 { 0x00, 0xec, 0xcc }, | |
| 4072 { 0x00, 0xed, 0xcd }, | |
| 4073 { 0x00, 0xee, 0xce }, | |
| 4074 { 0x00, 0xef, 0xcf }, | |
| 4075 { 0x00, 0xf0, 0xd0 }, | |
| 4076 { 0x00, 0xf1, 0xd1 }, | |
| 4077 { 0x00, 0xf2, 0xd2 }, | |
| 4078 { 0x00, 0xf3, 0xd3 }, | |
| 4079 { 0x00, 0xf4, 0xd4 }, | |
| 4080 { 0x00, 0xf5, 0xd5 }, | |
| 4081 { 0x00, 0xf6, 0xd6 }, | |
| 4082 { 0x00, 0xf7, 0xd7 }, | |
| 4083 { 0x00, 0xf8, 0xd8 }, | |
| 4084 { 0x00, 0xf9, 0xd9 }, | |
| 4085 { 0x00, 0xfa, 0xda }, | |
| 4086 { 0x00, 0xfb, 0xdb }, | |
| 4087 { 0x00, 0xfc, 0xdc }, | |
| 4088 { 0x00, 0xfd, 0xdd }, | |
| 4089 { 0x00, 0xfe, 0xde }, | |
| 4090 { 0x00, 0xff, 0xdf } | |
| 4091 }; | |
| 4092 | |
| 4093 static struct cs_info iso13_tbl[] = { | |
| 4094 { 0x00, 0x00, 0x00 }, | |
| 4095 { 0x00, 0x01, 0x01 }, | |
| 4096 { 0x00, 0x02, 0x02 }, | |
| 4097 { 0x00, 0x03, 0x03 }, | |
| 4098 { 0x00, 0x04, 0x04 }, | |
| 4099 { 0x00, 0x05, 0x05 }, | |
| 4100 { 0x00, 0x06, 0x06 }, | |
| 4101 { 0x00, 0x07, 0x07 }, | |
| 4102 { 0x00, 0x08, 0x08 }, | |
| 4103 { 0x00, 0x09, 0x09 }, | |
| 4104 { 0x00, 0x0A, 0x0A }, | |
| 4105 { 0x00, 0x0B, 0x0B }, | |
| 4106 { 0x00, 0x0C, 0x0C }, | |
| 4107 { 0x00, 0x0D, 0x0D }, | |
| 4108 { 0x00, 0x0E, 0x0E }, | |
| 4109 { 0x00, 0x0F, 0x0F }, | |
| 4110 { 0x00, 0x10, 0x10 }, | |
| 4111 { 0x00, 0x11, 0x11 }, | |
| 4112 { 0x00, 0x12, 0x12 }, | |
| 4113 { 0x00, 0x13, 0x13 }, | |
| 4114 { 0x00, 0x14, 0x14 }, | |
| 4115 { 0x00, 0x15, 0x15 }, | |
| 4116 { 0x00, 0x16, 0x16 }, | |
| 4117 { 0x00, 0x17, 0x17 }, | |
| 4118 { 0x00, 0x18, 0x18 }, | |
| 4119 { 0x00, 0x19, 0x19 }, | |
| 4120 { 0x00, 0x1A, 0x1A }, | |
| 4121 { 0x00, 0x1B, 0x1B }, | |
| 4122 { 0x00, 0x1C, 0x1C }, | |
| 4123 { 0x00, 0x1D, 0x1D }, | |
| 4124 { 0x00, 0x1E, 0x1E }, | |
| 4125 { 0x00, 0x1F, 0x1F }, | |
| 4126 { 0x00, 0x20, 0x20 }, | |
| 4127 { 0x00, 0x21, 0x21 }, | |
| 4128 { 0x00, 0x22, 0x22 }, | |
| 4129 { 0x00, 0x23, 0x23 }, | |
| 4130 { 0x00, 0x24, 0x24 }, | |
| 4131 { 0x00, 0x25, 0x25 }, | |
| 4132 { 0x00, 0x26, 0x26 }, | |
| 4133 { 0x00, 0x27, 0x27 }, | |
| 4134 { 0x00, 0x28, 0x28 }, | |
| 4135 { 0x00, 0x29, 0x29 }, | |
| 4136 { 0x00, 0x2A, 0x2A }, | |
| 4137 { 0x00, 0x2B, 0x2B }, | |
| 4138 { 0x00, 0x2C, 0x2C }, | |
| 4139 { 0x00, 0x2D, 0x2D }, | |
| 4140 { 0x00, 0x2E, 0x2E }, | |
| 4141 { 0x00, 0x2F, 0x2F }, | |
| 4142 { 0x00, 0x30, 0x30 }, | |
| 4143 { 0x00, 0x31, 0x31 }, | |
| 4144 { 0x00, 0x32, 0x32 }, | |
| 4145 { 0x00, 0x33, 0x33 }, | |
| 4146 { 0x00, 0x34, 0x34 }, | |
| 4147 { 0x00, 0x35, 0x35 }, | |
| 4148 { 0x00, 0x36, 0x36 }, | |
| 4149 { 0x00, 0x37, 0x37 }, | |
| 4150 { 0x00, 0x38, 0x38 }, | |
| 4151 { 0x00, 0x39, 0x39 }, | |
| 4152 { 0x00, 0x3A, 0x3A }, | |
| 4153 { 0x00, 0x3B, 0x3B }, | |
| 4154 { 0x00, 0x3C, 0x3C }, | |
| 4155 { 0x00, 0x3D, 0x3D }, | |
| 4156 { 0x00, 0x3E, 0x3E }, | |
| 4157 { 0x00, 0x3F, 0x3F }, | |
| 4158 { 0x00, 0x40, 0x40 }, | |
| 4159 { 0x01, 0x61, 0x41 }, | |
| 4160 { 0x01, 0x62, 0x42 }, | |
| 4161 { 0x01, 0x63, 0x43 }, | |
| 4162 { 0x01, 0x64, 0x44 }, | |
| 4163 { 0x01, 0x65, 0x45 }, | |
| 4164 { 0x01, 0x66, 0x46 }, | |
| 4165 { 0x01, 0x67, 0x47 }, | |
| 4166 { 0x01, 0x68, 0x48 }, | |
| 4167 { 0x01, 0x69, 0x49 }, | |
| 4168 { 0x01, 0x6A, 0x4A }, | |
| 4169 { 0x01, 0x6B, 0x4B }, | |
| 4170 { 0x01, 0x6C, 0x4C }, | |
| 4171 { 0x01, 0x6D, 0x4D }, | |
| 4172 { 0x01, 0x6E, 0x4E }, | |
| 4173 { 0x01, 0x6F, 0x4F }, | |
| 4174 { 0x01, 0x70, 0x50 }, | |
| 4175 { 0x01, 0x71, 0x51 }, | |
| 4176 { 0x01, 0x72, 0x52 }, | |
| 4177 { 0x01, 0x73, 0x53 }, | |
| 4178 { 0x01, 0x74, 0x54 }, | |
| 4179 { 0x01, 0x75, 0x55 }, | |
| 4180 { 0x01, 0x76, 0x56 }, | |
| 4181 { 0x01, 0x77, 0x57 }, | |
| 4182 { 0x01, 0x78, 0x58 }, | |
| 4183 { 0x01, 0x79, 0x59 }, | |
| 4184 { 0x01, 0x7A, 0x5A }, | |
| 4185 { 0x00, 0x5B, 0x5B }, | |
| 4186 { 0x00, 0x5C, 0x5C }, | |
| 4187 { 0x00, 0x5D, 0x5D }, | |
| 4188 { 0x00, 0x5E, 0x5E }, | |
| 4189 { 0x00, 0x5F, 0x5F }, | |
| 4190 { 0x00, 0x60, 0x60 }, | |
| 4191 { 0x00, 0x61, 0x41 }, | |
| 4192 { 0x00, 0x62, 0x42 }, | |
| 4193 { 0x00, 0x63, 0x43 }, | |
| 4194 { 0x00, 0x64, 0x44 }, | |
| 4195 { 0x00, 0x65, 0x45 }, | |
| 4196 { 0x00, 0x66, 0x46 }, | |
| 4197 { 0x00, 0x67, 0x47 }, | |
| 4198 { 0x00, 0x68, 0x48 }, | |
| 4199 { 0x00, 0x69, 0x49 }, | |
| 4200 { 0x00, 0x6A, 0x4A }, | |
| 4201 { 0x00, 0x6B, 0x4B }, | |
| 4202 { 0x00, 0x6C, 0x4C }, | |
| 4203 { 0x00, 0x6D, 0x4D }, | |
| 4204 { 0x00, 0x6E, 0x4E }, | |
| 4205 { 0x00, 0x6F, 0x4F }, | |
| 4206 { 0x00, 0x70, 0x50 }, | |
| 4207 { 0x00, 0x71, 0x51 }, | |
| 4208 { 0x00, 0x72, 0x52 }, | |
| 4209 { 0x00, 0x73, 0x53 }, | |
| 4210 { 0x00, 0x74, 0x54 }, | |
| 4211 { 0x00, 0x75, 0x55 }, | |
| 4212 { 0x00, 0x76, 0x56 }, | |
| 4213 { 0x00, 0x77, 0x57 }, | |
| 4214 { 0x00, 0x78, 0x58 }, | |
| 4215 { 0x00, 0x79, 0x59 }, | |
| 4216 { 0x00, 0x7A, 0x5A }, | |
| 4217 { 0x00, 0x7B, 0x7B }, | |
| 4218 { 0x00, 0x7C, 0x7C }, | |
| 4219 { 0x00, 0x7D, 0x7D }, | |
| 4220 { 0x00, 0x7E, 0x7E }, | |
| 4221 { 0x00, 0x7F, 0x7F }, | |
| 4222 { 0x00, 0x80, 0x80 }, | |
| 4223 { 0x00, 0x81, 0x81 }, | |
| 4224 { 0x00, 0x82, 0x82 }, | |
| 4225 { 0x00, 0x83, 0x83 }, | |
| 4226 { 0x00, 0x84, 0x84 }, | |
| 4227 { 0x00, 0x85, 0x85 }, | |
| 4228 { 0x00, 0x86, 0x86 }, | |
| 4229 { 0x00, 0x87, 0x87 }, | |
| 4230 { 0x00, 0x88, 0x88 }, | |
| 4231 { 0x00, 0x89, 0x89 }, | |
| 4232 { 0x00, 0x8A, 0x8A }, | |
| 4233 { 0x00, 0x8B, 0x8B }, | |
| 4234 { 0x00, 0x8C, 0x8C }, | |
| 4235 { 0x00, 0x8D, 0x8D }, | |
| 4236 { 0x00, 0x8E, 0x8E }, | |
| 4237 { 0x00, 0x8F, 0x8F }, | |
| 4238 { 0x00, 0x90, 0x90 }, | |
| 4239 { 0x00, 0x91, 0x91 }, | |
| 4240 { 0x00, 0x92, 0x92 }, | |
| 4241 { 0x00, 0x93, 0x93 }, | |
| 4242 { 0x00, 0x94, 0x94 }, | |
| 4243 { 0x00, 0x95, 0x95 }, | |
| 4244 { 0x00, 0x96, 0x96 }, | |
| 4245 { 0x00, 0x97, 0x97 }, | |
| 4246 { 0x00, 0x98, 0x98 }, | |
| 4247 { 0x00, 0x99, 0x99 }, | |
| 4248 { 0x00, 0x9A, 0x9A }, | |
| 4249 { 0x00, 0x9B, 0x9B }, | |
| 4250 { 0x00, 0x9C, 0x9C }, | |
| 4251 { 0x00, 0x9D, 0x9D }, | |
| 4252 { 0x00, 0x9E, 0x9E }, | |
| 4253 { 0x00, 0x9F, 0x9F }, | |
| 4254 { 0x00, 0xA0, 0xA0 }, | |
| 4255 { 0x00, 0xA1, 0xA1 }, | |
| 4256 { 0x00, 0xA2, 0xA2 }, | |
| 4257 { 0x00, 0xA3, 0xA3 }, | |
| 4258 { 0x00, 0xA4, 0xA4 }, | |
| 4259 { 0x00, 0xA5, 0xA5 }, | |
| 4260 { 0x00, 0xA6, 0xA6 }, | |
| 4261 { 0x00, 0xA7, 0xA7 }, | |
| 4262 { 0x01, 0xB8, 0xA8 }, | |
| 4263 { 0x00, 0xA9, 0xA9 }, | |
| 4264 { 0x01, 0xBA, 0xAA }, | |
| 4265 { 0x00, 0xAB, 0xAB }, | |
| 4266 { 0x00, 0xAC, 0xAC }, | |
| 4267 { 0x00, 0xAD, 0xAD }, | |
| 4268 { 0x00, 0xAE, 0xAE }, | |
| 4269 { 0x01, 0xBF, 0xAF }, | |
| 4270 { 0x00, 0xB0, 0xB0 }, | |
| 4271 { 0x00, 0xB1, 0xB1 }, | |
| 4272 { 0x00, 0xB2, 0xB2 }, | |
| 4273 { 0x00, 0xB3, 0xB3 }, | |
| 4274 { 0x00, 0xB4, 0xB4 }, | |
| 4275 { 0x00, 0xB5, 0xB5 }, | |
| 4276 { 0x00, 0xB6, 0xB6 }, | |
| 4277 { 0x00, 0xB7, 0xB7 }, | |
| 4278 { 0x00, 0xB8, 0xA8 }, | |
| 4279 { 0x00, 0xB9, 0xB9 }, | |
| 4280 { 0x00, 0xBA, 0xAA }, | |
| 4281 { 0x00, 0xBB, 0xBB }, | |
| 4282 { 0x00, 0xBC, 0xBC }, | |
| 4283 { 0x00, 0xBD, 0xBD }, | |
| 4284 { 0x00, 0xBE, 0xBE }, | |
| 4285 { 0x00, 0xBF, 0xAF }, | |
| 4286 { 0x01, 0xE0, 0xC0 }, | |
| 4287 { 0x01, 0xE1, 0xC1 }, | |
| 4288 { 0x01, 0xE2, 0xC2 }, | |
| 4289 { 0x01, 0xE3, 0xC3 }, | |
| 4290 { 0x01, 0xE4, 0xC4 }, | |
| 4291 { 0x01, 0xE5, 0xC5 }, | |
| 4292 { 0x01, 0xE6, 0xC6 }, | |
| 4293 { 0x01, 0xE7, 0xC7 }, | |
| 4294 { 0x01, 0xE8, 0xC8 }, | |
| 4295 { 0x01, 0xE9, 0xC9 }, | |
| 4296 { 0x01, 0xEA, 0xCA }, | |
| 4297 { 0x01, 0xEB, 0xCB }, | |
| 4298 { 0x01, 0xEC, 0xCC }, | |
| 4299 { 0x01, 0xED, 0xCD }, | |
| 4300 { 0x01, 0xEE, 0xCE }, | |
| 4301 { 0x01, 0xEF, 0xCF }, | |
| 4302 { 0x01, 0xF0, 0xD0 }, | |
| 4303 { 0x01, 0xF1, 0xD1 }, | |
| 4304 { 0x01, 0xF2, 0xD2 }, | |
| 4305 { 0x01, 0xF3, 0xD3 }, | |
| 4306 { 0x01, 0xF4, 0xD4 }, | |
| 4307 { 0x01, 0xF5, 0xD5 }, | |
| 4308 { 0x01, 0xF6, 0xD6 }, | |
| 4309 { 0x00, 0xD7, 0xD7 }, | |
| 4310 { 0x01, 0xF8, 0xD8 }, | |
| 4311 { 0x01, 0xF9, 0xD9 }, | |
| 4312 { 0x01, 0xFA, 0xDA }, | |
| 4313 { 0x01, 0xFB, 0xDB }, | |
| 4314 { 0x01, 0xFC, 0xDC }, | |
| 4315 { 0x01, 0xFD, 0xDD }, | |
| 4316 { 0x01, 0xFE, 0xDE }, | |
| 4317 { 0x00, 0xDF, 0xDF }, | |
| 4318 { 0x00, 0xE0, 0xC0 }, | |
| 4319 { 0x00, 0xE1, 0xC1 }, | |
| 4320 { 0x00, 0xE2, 0xC2 }, | |
| 4321 { 0x00, 0xE3, 0xC3 }, | |
| 4322 { 0x00, 0xE4, 0xC4 }, | |
| 4323 { 0x00, 0xE5, 0xC5 }, | |
| 4324 { 0x00, 0xE6, 0xC6 }, | |
| 4325 { 0x00, 0xE7, 0xC7 }, | |
| 4326 { 0x00, 0xE8, 0xC8 }, | |
| 4327 { 0x00, 0xE9, 0xC9 }, | |
| 4328 { 0x00, 0xEA, 0xCA }, | |
| 4329 { 0x00, 0xEB, 0xCB }, | |
| 4330 { 0x00, 0xEC, 0xCC }, | |
| 4331 { 0x00, 0xED, 0xCD }, | |
| 4332 { 0x00, 0xEE, 0xCE }, | |
| 4333 { 0x00, 0xEF, 0xCF }, | |
| 4334 { 0x00, 0xF0, 0xD0 }, | |
| 4335 { 0x00, 0xF1, 0xD1 }, | |
| 4336 { 0x00, 0xF2, 0xD2 }, | |
| 4337 { 0x00, 0xF3, 0xD3 }, | |
| 4338 { 0x00, 0xF4, 0xD4 }, | |
| 4339 { 0x00, 0xF5, 0xD5 }, | |
| 4340 { 0x00, 0xF6, 0xD6 }, | |
| 4341 { 0x00, 0xF7, 0xF7 }, | |
| 4342 { 0x00, 0xF8, 0xD8 }, | |
| 4343 { 0x00, 0xF9, 0xD9 }, | |
| 4344 { 0x00, 0xFA, 0xDA }, | |
| 4345 { 0x00, 0xFB, 0xDB }, | |
| 4346 { 0x00, 0xFC, 0xDC }, | |
| 4347 { 0x00, 0xFD, 0xDD }, | |
| 4348 { 0x00, 0xFE, 0xDE }, | |
| 4349 { 0x00, 0xFF, 0xFF } | |
| 4350 }; | |
| 4351 | |
| 4352 | |
| 4353 static struct cs_info iso14_tbl[] = { | |
| 4354 { 0x00, 0x00, 0x00 }, | |
| 4355 { 0x00, 0x01, 0x01 }, | |
| 4356 { 0x00, 0x02, 0x02 }, | |
| 4357 { 0x00, 0x03, 0x03 }, | |
| 4358 { 0x00, 0x04, 0x04 }, | |
| 4359 { 0x00, 0x05, 0x05 }, | |
| 4360 { 0x00, 0x06, 0x06 }, | |
| 4361 { 0x00, 0x07, 0x07 }, | |
| 4362 { 0x00, 0x08, 0x08 }, | |
| 4363 { 0x00, 0x09, 0x09 }, | |
| 4364 { 0x00, 0x0a, 0x0a }, | |
| 4365 { 0x00, 0x0b, 0x0b }, | |
| 4366 { 0x00, 0x0c, 0x0c }, | |
| 4367 { 0x00, 0x0d, 0x0d }, | |
| 4368 { 0x00, 0x0e, 0x0e }, | |
| 4369 { 0x00, 0x0f, 0x0f }, | |
| 4370 { 0x00, 0x10, 0x10 }, | |
| 4371 { 0x00, 0x11, 0x11 }, | |
| 4372 { 0x00, 0x12, 0x12 }, | |
| 4373 { 0x00, 0x13, 0x13 }, | |
| 4374 { 0x00, 0x14, 0x14 }, | |
| 4375 { 0x00, 0x15, 0x15 }, | |
| 4376 { 0x00, 0x16, 0x16 }, | |
| 4377 { 0x00, 0x17, 0x17 }, | |
| 4378 { 0x00, 0x18, 0x18 }, | |
| 4379 { 0x00, 0x19, 0x19 }, | |
| 4380 { 0x00, 0x1a, 0x1a }, | |
| 4381 { 0x00, 0x1b, 0x1b }, | |
| 4382 { 0x00, 0x1c, 0x1c }, | |
| 4383 { 0x00, 0x1d, 0x1d }, | |
| 4384 { 0x00, 0x1e, 0x1e }, | |
| 4385 { 0x00, 0x1f, 0x1f }, | |
| 4386 { 0x00, 0x20, 0x20 }, | |
| 4387 { 0x00, 0x21, 0x21 }, | |
| 4388 { 0x00, 0x22, 0x22 }, | |
| 4389 { 0x00, 0x23, 0x23 }, | |
| 4390 { 0x00, 0x24, 0x24 }, | |
| 4391 { 0x00, 0x25, 0x25 }, | |
| 4392 { 0x00, 0x26, 0x26 }, | |
| 4393 { 0x00, 0x27, 0x27 }, | |
| 4394 { 0x00, 0x28, 0x28 }, | |
| 4395 { 0x00, 0x29, 0x29 }, | |
| 4396 { 0x00, 0x2a, 0x2a }, | |
| 4397 { 0x00, 0x2b, 0x2b }, | |
| 4398 { 0x00, 0x2c, 0x2c }, | |
| 4399 { 0x00, 0x2d, 0x2d }, | |
| 4400 { 0x00, 0x2e, 0x2e }, | |
| 4401 { 0x00, 0x2f, 0x2f }, | |
| 4402 { 0x00, 0x30, 0x30 }, | |
| 4403 { 0x00, 0x31, 0x31 }, | |
| 4404 { 0x00, 0x32, 0x32 }, | |
| 4405 { 0x00, 0x33, 0x33 }, | |
| 4406 { 0x00, 0x34, 0x34 }, | |
| 4407 { 0x00, 0x35, 0x35 }, | |
| 4408 { 0x00, 0x36, 0x36 }, | |
| 4409 { 0x00, 0x37, 0x37 }, | |
| 4410 { 0x00, 0x38, 0x38 }, | |
| 4411 { 0x00, 0x39, 0x39 }, | |
| 4412 { 0x00, 0x3a, 0x3a }, | |
| 4413 { 0x00, 0x3b, 0x3b }, | |
| 4414 { 0x00, 0x3c, 0x3c }, | |
| 4415 { 0x00, 0x3d, 0x3d }, | |
| 4416 { 0x00, 0x3e, 0x3e }, | |
| 4417 { 0x00, 0x3f, 0x3f }, | |
| 4418 { 0x00, 0x40, 0x40 }, | |
| 4419 { 0x01, 0x61, 0x41 }, | |
| 4420 { 0x01, 0x62, 0x42 }, | |
| 4421 { 0x01, 0x63, 0x43 }, | |
| 4422 { 0x01, 0x64, 0x44 }, | |
| 4423 { 0x01, 0x65, 0x45 }, | |
| 4424 { 0x01, 0x66, 0x46 }, | |
| 4425 { 0x01, 0x67, 0x47 }, | |
| 4426 { 0x01, 0x68, 0x48 }, | |
| 4427 { 0x01, 0x69, 0x49 }, | |
| 4428 { 0x01, 0x6a, 0x4a }, | |
| 4429 { 0x01, 0x6b, 0x4b }, | |
| 4430 { 0x01, 0x6c, 0x4c }, | |
| 4431 { 0x01, 0x6d, 0x4d }, | |
| 4432 { 0x01, 0x6e, 0x4e }, | |
| 4433 { 0x01, 0x6f, 0x4f }, | |
| 4434 { 0x01, 0x70, 0x50 }, | |
| 4435 { 0x01, 0x71, 0x51 }, | |
| 4436 { 0x01, 0x72, 0x52 }, | |
| 4437 { 0x01, 0x73, 0x53 }, | |
| 4438 { 0x01, 0x74, 0x54 }, | |
| 4439 { 0x01, 0x75, 0x55 }, | |
| 4440 { 0x01, 0x76, 0x56 }, | |
| 4441 { 0x01, 0x77, 0x57 }, | |
| 4442 { 0x01, 0x78, 0x58 }, | |
| 4443 { 0x01, 0x79, 0x59 }, | |
| 4444 { 0x01, 0x7a, 0x5a }, | |
| 4445 { 0x00, 0x5b, 0x5b }, | |
| 4446 { 0x00, 0x5c, 0x5c }, | |
| 4447 { 0x00, 0x5d, 0x5d }, | |
| 4448 { 0x00, 0x5e, 0x5e }, | |
| 4449 { 0x00, 0x5f, 0x5f }, | |
| 4450 { 0x00, 0x60, 0x60 }, | |
| 4451 { 0x00, 0x61, 0x41 }, | |
| 4452 { 0x00, 0x62, 0x42 }, | |
| 4453 { 0x00, 0x63, 0x43 }, | |
| 4454 { 0x00, 0x64, 0x44 }, | |
| 4455 { 0x00, 0x65, 0x45 }, | |
| 4456 { 0x00, 0x66, 0x46 }, | |
| 4457 { 0x00, 0x67, 0x47 }, | |
| 4458 { 0x00, 0x68, 0x48 }, | |
| 4459 { 0x00, 0x69, 0x49 }, | |
| 4460 { 0x00, 0x6a, 0x4a }, | |
| 4461 { 0x00, 0x6b, 0x4b }, | |
| 4462 { 0x00, 0x6c, 0x4c }, | |
| 4463 { 0x00, 0x6d, 0x4d }, | |
| 4464 { 0x00, 0x6e, 0x4e }, | |
| 4465 { 0x00, 0x6f, 0x4f }, | |
| 4466 { 0x00, 0x70, 0x50 }, | |
| 4467 { 0x00, 0x71, 0x51 }, | |
| 4468 { 0x00, 0x72, 0x52 }, | |
| 4469 { 0x00, 0x73, 0x53 }, | |
| 4470 { 0x00, 0x74, 0x54 }, | |
| 4471 { 0x00, 0x75, 0x55 }, | |
| 4472 { 0x00, 0x76, 0x56 }, | |
| 4473 { 0x00, 0x77, 0x57 }, | |
| 4474 { 0x00, 0x78, 0x58 }, | |
| 4475 { 0x00, 0x79, 0x59 }, | |
| 4476 { 0x00, 0x7a, 0x5a }, | |
| 4477 { 0x00, 0x7b, 0x7b }, | |
| 4478 { 0x00, 0x7c, 0x7c }, | |
| 4479 { 0x00, 0x7d, 0x7d }, | |
| 4480 { 0x00, 0x7e, 0x7e }, | |
| 4481 { 0x00, 0x7f, 0x7f }, | |
| 4482 { 0x00, 0x80, 0x80 }, | |
| 4483 { 0x00, 0x81, 0x81 }, | |
| 4484 { 0x00, 0x82, 0x82 }, | |
| 4485 { 0x00, 0x83, 0x83 }, | |
| 4486 { 0x00, 0x84, 0x84 }, | |
| 4487 { 0x00, 0x85, 0x85 }, | |
| 4488 { 0x00, 0x86, 0x86 }, | |
| 4489 { 0x00, 0x87, 0x87 }, | |
| 4490 { 0x00, 0x88, 0x88 }, | |
| 4491 { 0x00, 0x89, 0x89 }, | |
| 4492 { 0x00, 0x8a, 0x8a }, | |
| 4493 { 0x00, 0x8b, 0x8b }, | |
| 4494 { 0x00, 0x8c, 0x8c }, | |
| 4495 { 0x00, 0x8d, 0x8d }, | |
| 4496 { 0x00, 0x8e, 0x8e }, | |
| 4497 { 0x00, 0x8f, 0x8f }, | |
| 4498 { 0x00, 0x90, 0x90 }, | |
| 4499 { 0x00, 0x91, 0x91 }, | |
| 4500 { 0x00, 0x92, 0x92 }, | |
| 4501 { 0x00, 0x93, 0x93 }, | |
| 4502 { 0x00, 0x94, 0x94 }, | |
| 4503 { 0x00, 0x95, 0x95 }, | |
| 4504 { 0x00, 0x96, 0x96 }, | |
| 4505 { 0x00, 0x97, 0x97 }, | |
| 4506 { 0x00, 0x98, 0x98 }, | |
| 4507 { 0x00, 0x99, 0x99 }, | |
| 4508 { 0x00, 0x9a, 0x9a }, | |
| 4509 { 0x00, 0x9b, 0x9b }, | |
| 4510 { 0x00, 0x9c, 0x9c }, | |
| 4511 { 0x00, 0x9d, 0x9d }, | |
| 4512 { 0x00, 0x9e, 0x9e }, | |
| 4513 { 0x00, 0x9f, 0x9f }, | |
| 4514 { 0x00, 0xa0, 0xa0 }, | |
| 4515 { 0x01, 0xa2, 0xa1 }, | |
| 4516 { 0x00, 0xa2, 0xa1 }, | |
| 4517 { 0x00, 0xa3, 0xa3 }, | |
| 4518 { 0x01, 0xa5, 0xa4 }, | |
| 4519 { 0x00, 0xa5, 0xa4 }, | |
| 4520 { 0x01, 0xa6, 0xab }, | |
| 4521 { 0x00, 0xa7, 0xa7 }, | |
| 4522 { 0x01, 0xb8, 0xa8 }, | |
| 4523 { 0x00, 0xa9, 0xa9 }, | |
| 4524 { 0x01, 0xba, 0xaa }, | |
| 4525 { 0x00, 0xab, 0xa6 }, | |
| 4526 { 0x01, 0xbc, 0xac }, | |
| 4527 { 0x00, 0xad, 0xad }, | |
| 4528 { 0x00, 0xae, 0xae }, | |
| 4529 { 0x01, 0xff, 0xaf }, | |
| 4530 { 0x01, 0xb1, 0xb0 }, | |
| 4531 { 0x00, 0xb1, 0xb0 }, | |
| 4532 { 0x01, 0xb3, 0xb2 }, | |
| 4533 { 0x00, 0xb3, 0xb2 }, | |
| 4534 { 0x01, 0xb5, 0xb4 }, | |
| 4535 { 0x00, 0xb5, 0xb4 }, | |
| 4536 { 0x00, 0xb6, 0xb6 }, | |
| 4537 { 0x01, 0xb9, 0xb7 }, | |
| 4538 { 0x00, 0xb8, 0xa8 }, | |
| 4539 { 0x00, 0xb9, 0xb6 }, | |
| 4540 { 0x00, 0xba, 0xaa }, | |
| 4541 { 0x01, 0xbf, 0xbb }, | |
| 4542 { 0x00, 0xbc, 0xac }, | |
| 4543 { 0x01, 0xbe, 0xbd }, | |
| 4544 { 0x00, 0xbe, 0xbd }, | |
| 4545 { 0x00, 0xbf, 0xbb }, | |
| 4546 { 0x01, 0xe0, 0xc0 }, | |
| 4547 { 0x01, 0xe1, 0xc1 }, | |
| 4548 { 0x01, 0xe2, 0xc2 }, | |
| 4549 { 0x01, 0xe3, 0xc3 }, | |
| 4550 { 0x01, 0xe4, 0xc4 }, | |
| 4551 { 0x01, 0xe5, 0xc5 }, | |
| 4552 { 0x01, 0xe6, 0xc6 }, | |
| 4553 { 0x01, 0xe7, 0xc7 }, | |
| 4554 { 0x01, 0xe8, 0xc8 }, | |
| 4555 { 0x01, 0xe9, 0xc9 }, | |
| 4556 { 0x01, 0xea, 0xca }, | |
| 4557 { 0x01, 0xeb, 0xcb }, | |
| 4558 { 0x01, 0xec, 0xcc }, | |
| 4559 { 0x01, 0xed, 0xcd }, | |
| 4560 { 0x01, 0xee, 0xce }, | |
| 4561 { 0x01, 0xef, 0xcf }, | |
| 4562 { 0x01, 0xf0, 0xd0 }, | |
| 4563 { 0x01, 0xf1, 0xd1 }, | |
| 4564 { 0x01, 0xf2, 0xd2 }, | |
| 4565 { 0x01, 0xf3, 0xd3 }, | |
| 4566 { 0x01, 0xf4, 0xd4 }, | |
| 4567 { 0x01, 0xf5, 0xd5 }, | |
| 4568 { 0x01, 0xf6, 0xd6 }, | |
| 4569 { 0x01, 0xf7, 0xd7 }, | |
| 4570 { 0x01, 0xf8, 0xd8 }, | |
| 4571 { 0x01, 0xf9, 0xd9 }, | |
| 4572 { 0x01, 0xfa, 0xda }, | |
| 4573 { 0x01, 0xfb, 0xdb }, | |
| 4574 { 0x01, 0xfc, 0xdc }, | |
| 4575 { 0x01, 0xfd, 0xdd }, | |
| 4576 { 0x01, 0xfe, 0xde }, | |
| 4577 { 0x00, 0xdf, 0xdf }, | |
| 4578 { 0x00, 0xe0, 0xc0 }, | |
| 4579 { 0x00, 0xe1, 0xc1 }, | |
| 4580 { 0x00, 0xe2, 0xc2 }, | |
| 4581 { 0x00, 0xe3, 0xc3 }, | |
| 4582 { 0x00, 0xe4, 0xc4 }, | |
| 4583 { 0x00, 0xe5, 0xc5 }, | |
| 4584 { 0x00, 0xe6, 0xc6 }, | |
| 4585 { 0x00, 0xe7, 0xc7 }, | |
| 4586 { 0x00, 0xe8, 0xc8 }, | |
| 4587 { 0x00, 0xe9, 0xc9 }, | |
| 4588 { 0x00, 0xea, 0xca }, | |
| 4589 { 0x00, 0xeb, 0xcb }, | |
| 4590 { 0x00, 0xec, 0xcc }, | |
| 4591 { 0x00, 0xed, 0xcd }, | |
| 4592 { 0x00, 0xee, 0xce }, | |
| 4593 { 0x00, 0xef, 0xcf }, | |
| 4594 { 0x00, 0xf0, 0xd0 }, | |
| 4595 { 0x00, 0xf1, 0xd1 }, | |
| 4596 { 0x00, 0xf2, 0xd2 }, | |
| 4597 { 0x00, 0xf3, 0xd3 }, | |
| 4598 { 0x00, 0xf4, 0xd4 }, | |
| 4599 { 0x00, 0xf5, 0xd5 }, | |
| 4600 { 0x00, 0xf6, 0xd6 }, | |
| 4601 { 0x00, 0xf7, 0xd7 }, | |
| 4602 { 0x00, 0xf8, 0xd8 }, | |
| 4603 { 0x00, 0xf9, 0xd9 }, | |
| 4604 { 0x00, 0xfa, 0xda }, | |
| 4605 { 0x00, 0xfb, 0xdb }, | |
| 4606 { 0x00, 0xfc, 0xdc }, | |
| 4607 { 0x00, 0xfd, 0xdd }, | |
| 4608 { 0x00, 0xfe, 0xde }, | |
| 4609 { 0x00, 0xff, 0xff } | |
| 4610 }; | |
| 4611 | |
| 4612 static struct cs_info iso15_tbl[] = { | |
| 4613 { 0x00, 0x00, 0x00 }, | |
| 4614 { 0x00, 0x01, 0x01 }, | |
| 4615 { 0x00, 0x02, 0x02 }, | |
| 4616 { 0x00, 0x03, 0x03 }, | |
| 4617 { 0x00, 0x04, 0x04 }, | |
| 4618 { 0x00, 0x05, 0x05 }, | |
| 4619 { 0x00, 0x06, 0x06 }, | |
| 4620 { 0x00, 0x07, 0x07 }, | |
| 4621 { 0x00, 0x08, 0x08 }, | |
| 4622 { 0x00, 0x09, 0x09 }, | |
| 4623 { 0x00, 0x0a, 0x0a }, | |
| 4624 { 0x00, 0x0b, 0x0b }, | |
| 4625 { 0x00, 0x0c, 0x0c }, | |
| 4626 { 0x00, 0x0d, 0x0d }, | |
| 4627 { 0x00, 0x0e, 0x0e }, | |
| 4628 { 0x00, 0x0f, 0x0f }, | |
| 4629 { 0x00, 0x10, 0x10 }, | |
| 4630 { 0x00, 0x11, 0x11 }, | |
| 4631 { 0x00, 0x12, 0x12 }, | |
| 4632 { 0x00, 0x13, 0x13 }, | |
| 4633 { 0x00, 0x14, 0x14 }, | |
| 4634 { 0x00, 0x15, 0x15 }, | |
| 4635 { 0x00, 0x16, 0x16 }, | |
| 4636 { 0x00, 0x17, 0x17 }, | |
| 4637 { 0x00, 0x18, 0x18 }, | |
| 4638 { 0x00, 0x19, 0x19 }, | |
| 4639 { 0x00, 0x1a, 0x1a }, | |
| 4640 { 0x00, 0x1b, 0x1b }, | |
| 4641 { 0x00, 0x1c, 0x1c }, | |
| 4642 { 0x00, 0x1d, 0x1d }, | |
| 4643 { 0x00, 0x1e, 0x1e }, | |
| 4644 { 0x00, 0x1f, 0x1f }, | |
| 4645 { 0x00, 0x20, 0x20 }, | |
| 4646 { 0x00, 0x21, 0x21 }, | |
| 4647 { 0x00, 0x22, 0x22 }, | |
| 4648 { 0x00, 0x23, 0x23 }, | |
| 4649 { 0x00, 0x24, 0x24 }, | |
| 4650 { 0x00, 0x25, 0x25 }, | |
| 4651 { 0x00, 0x26, 0x26 }, | |
| 4652 { 0x00, 0x27, 0x27 }, | |
| 4653 { 0x00, 0x28, 0x28 }, | |
| 4654 { 0x00, 0x29, 0x29 }, | |
| 4655 { 0x00, 0x2a, 0x2a }, | |
| 4656 { 0x00, 0x2b, 0x2b }, | |
| 4657 { 0x00, 0x2c, 0x2c }, | |
| 4658 { 0x00, 0x2d, 0x2d }, | |
| 4659 { 0x00, 0x2e, 0x2e }, | |
| 4660 { 0x00, 0x2f, 0x2f }, | |
| 4661 { 0x00, 0x30, 0x30 }, | |
| 4662 { 0x00, 0x31, 0x31 }, | |
| 4663 { 0x00, 0x32, 0x32 }, | |
| 4664 { 0x00, 0x33, 0x33 }, | |
| 4665 { 0x00, 0x34, 0x34 }, | |
| 4666 { 0x00, 0x35, 0x35 }, | |
| 4667 { 0x00, 0x36, 0x36 }, | |
| 4668 { 0x00, 0x37, 0x37 }, | |
| 4669 { 0x00, 0x38, 0x38 }, | |
| 4670 { 0x00, 0x39, 0x39 }, | |
| 4671 { 0x00, 0x3a, 0x3a }, | |
| 4672 { 0x00, 0x3b, 0x3b }, | |
| 4673 { 0x00, 0x3c, 0x3c }, | |
| 4674 { 0x00, 0x3d, 0x3d }, | |
| 4675 { 0x00, 0x3e, 0x3e }, | |
| 4676 { 0x00, 0x3f, 0x3f }, | |
| 4677 { 0x00, 0x40, 0x40 }, | |
| 4678 { 0x01, 0x61, 0x41 }, | |
| 4679 { 0x01, 0x62, 0x42 }, | |
| 4680 { 0x01, 0x63, 0x43 }, | |
| 4681 { 0x01, 0x64, 0x44 }, | |
| 4682 { 0x01, 0x65, 0x45 }, | |
| 4683 { 0x01, 0x66, 0x46 }, | |
| 4684 { 0x01, 0x67, 0x47 }, | |
| 4685 { 0x01, 0x68, 0x48 }, | |
| 4686 { 0x01, 0x69, 0x49 }, | |
| 4687 { 0x01, 0x6a, 0x4a }, | |
| 4688 { 0x01, 0x6b, 0x4b }, | |
| 4689 { 0x01, 0x6c, 0x4c }, | |
| 4690 { 0x01, 0x6d, 0x4d }, | |
| 4691 { 0x01, 0x6e, 0x4e }, | |
| 4692 { 0x01, 0x6f, 0x4f }, | |
| 4693 { 0x01, 0x70, 0x50 }, | |
| 4694 { 0x01, 0x71, 0x51 }, | |
| 4695 { 0x01, 0x72, 0x52 }, | |
| 4696 { 0x01, 0x73, 0x53 }, | |
| 4697 { 0x01, 0x74, 0x54 }, | |
| 4698 { 0x01, 0x75, 0x55 }, | |
| 4699 { 0x01, 0x76, 0x56 }, | |
| 4700 { 0x01, 0x77, 0x57 }, | |
| 4701 { 0x01, 0x78, 0x58 }, | |
| 4702 { 0x01, 0x79, 0x59 }, | |
| 4703 { 0x01, 0x7a, 0x5a }, | |
| 4704 { 0x00, 0x5b, 0x5b }, | |
| 4705 { 0x00, 0x5c, 0x5c }, | |
| 4706 { 0x00, 0x5d, 0x5d }, | |
| 4707 { 0x00, 0x5e, 0x5e }, | |
| 4708 { 0x00, 0x5f, 0x5f }, | |
| 4709 { 0x00, 0x60, 0x60 }, | |
| 4710 { 0x00, 0x61, 0x41 }, | |
| 4711 { 0x00, 0x62, 0x42 }, | |
| 4712 { 0x00, 0x63, 0x43 }, | |
| 4713 { 0x00, 0x64, 0x44 }, | |
| 4714 { 0x00, 0x65, 0x45 }, | |
| 4715 { 0x00, 0x66, 0x46 }, | |
| 4716 { 0x00, 0x67, 0x47 }, | |
| 4717 { 0x00, 0x68, 0x48 }, | |
| 4718 { 0x00, 0x69, 0x49 }, | |
| 4719 { 0x00, 0x6a, 0x4a }, | |
| 4720 { 0x00, 0x6b, 0x4b }, | |
| 4721 { 0x00, 0x6c, 0x4c }, | |
| 4722 { 0x00, 0x6d, 0x4d }, | |
| 4723 { 0x00, 0x6e, 0x4e }, | |
| 4724 { 0x00, 0x6f, 0x4f }, | |
| 4725 { 0x00, 0x70, 0x50 }, | |
| 4726 { 0x00, 0x71, 0x51 }, | |
| 4727 { 0x00, 0x72, 0x52 }, | |
| 4728 { 0x00, 0x73, 0x53 }, | |
| 4729 { 0x00, 0x74, 0x54 }, | |
| 4730 { 0x00, 0x75, 0x55 }, | |
| 4731 { 0x00, 0x76, 0x56 }, | |
| 4732 { 0x00, 0x77, 0x57 }, | |
| 4733 { 0x00, 0x78, 0x58 }, | |
| 4734 { 0x00, 0x79, 0x59 }, | |
| 4735 { 0x00, 0x7a, 0x5a }, | |
| 4736 { 0x00, 0x7b, 0x7b }, | |
| 4737 { 0x00, 0x7c, 0x7c }, | |
| 4738 { 0x00, 0x7d, 0x7d }, | |
| 4739 { 0x00, 0x7e, 0x7e }, | |
| 4740 { 0x00, 0x7f, 0x7f }, | |
| 4741 { 0x00, 0x80, 0x80 }, | |
| 4742 { 0x00, 0x81, 0x81 }, | |
| 4743 { 0x00, 0x82, 0x82 }, | |
| 4744 { 0x00, 0x83, 0x83 }, | |
| 4745 { 0x00, 0x84, 0x84 }, | |
| 4746 { 0x00, 0x85, 0x85 }, | |
| 4747 { 0x00, 0x86, 0x86 }, | |
| 4748 { 0x00, 0x87, 0x87 }, | |
| 4749 { 0x00, 0x88, 0x88 }, | |
| 4750 { 0x00, 0x89, 0x89 }, | |
| 4751 { 0x00, 0x8a, 0x8a }, | |
| 4752 { 0x00, 0x8b, 0x8b }, | |
| 4753 { 0x00, 0x8c, 0x8c }, | |
| 4754 { 0x00, 0x8d, 0x8d }, | |
| 4755 { 0x00, 0x8e, 0x8e }, | |
| 4756 { 0x00, 0x8f, 0x8f }, | |
| 4757 { 0x00, 0x90, 0x90 }, | |
| 4758 { 0x00, 0x91, 0x91 }, | |
| 4759 { 0x00, 0x92, 0x92 }, | |
| 4760 { 0x00, 0x93, 0x93 }, | |
| 4761 { 0x00, 0x94, 0x94 }, | |
| 4762 { 0x00, 0x95, 0x95 }, | |
| 4763 { 0x00, 0x96, 0x96 }, | |
| 4764 { 0x00, 0x97, 0x97 }, | |
| 4765 { 0x00, 0x98, 0x98 }, | |
| 4766 { 0x00, 0x99, 0x99 }, | |
| 4767 { 0x00, 0x9a, 0x9a }, | |
| 4768 { 0x00, 0x9b, 0x9b }, | |
| 4769 { 0x00, 0x9c, 0x9c }, | |
| 4770 { 0x00, 0x9d, 0x9d }, | |
| 4771 { 0x00, 0x9e, 0x9e }, | |
| 4772 { 0x00, 0x9f, 0x9f }, | |
| 4773 { 0x00, 0xa0, 0xa0 }, | |
| 4774 { 0x00, 0xa1, 0xa1 }, | |
| 4775 { 0x00, 0xa2, 0xa2 }, | |
| 4776 { 0x00, 0xa3, 0xa3 }, | |
| 4777 { 0x00, 0xa4, 0xa4 }, | |
| 4778 { 0x00, 0xa5, 0xa5 }, | |
| 4779 { 0x01, 0xa8, 0xa6 }, | |
| 4780 { 0x00, 0xa7, 0xa7 }, | |
| 4781 { 0x00, 0xa8, 0xa6 }, | |
| 4782 { 0x00, 0xa9, 0xa9 }, | |
| 4783 { 0x00, 0xaa, 0xaa }, | |
| 4784 { 0x00, 0xab, 0xab }, | |
| 4785 { 0x00, 0xac, 0xac }, | |
| 4786 { 0x00, 0xad, 0xad }, | |
| 4787 { 0x00, 0xae, 0xae }, | |
| 4788 { 0x00, 0xaf, 0xaf }, | |
| 4789 { 0x00, 0xb0, 0xb0 }, | |
| 4790 { 0x00, 0xb1, 0xb1 }, | |
| 4791 { 0x00, 0xb2, 0xb2 }, | |
| 4792 { 0x00, 0xb3, 0xb3 }, | |
| 4793 { 0x01, 0xb8, 0xb4 }, | |
| 4794 { 0x00, 0xb5, 0xb5 }, | |
| 4795 { 0x00, 0xb6, 0xb6 }, | |
| 4796 { 0x00, 0xb7, 0xb7 }, | |
| 4797 { 0x00, 0xb8, 0xb4 }, | |
| 4798 { 0x00, 0xb9, 0xb9 }, | |
| 4799 { 0x00, 0xba, 0xba }, | |
| 4800 { 0x00, 0xbb, 0xbb }, | |
| 4801 { 0x01, 0xbd, 0xbc }, | |
| 4802 { 0x00, 0xbd, 0xbc }, | |
| 4803 { 0x01, 0xff, 0xbe }, | |
| 4804 { 0x00, 0xbf, 0xbf }, | |
| 4805 { 0x01, 0xe0, 0xc0 }, | |
| 4806 { 0x01, 0xe1, 0xc1 }, | |
| 4807 { 0x01, 0xe2, 0xc2 }, | |
| 4808 { 0x01, 0xe3, 0xc3 }, | |
| 4809 { 0x01, 0xe4, 0xc4 }, | |
| 4810 { 0x01, 0xe5, 0xc5 }, | |
| 4811 { 0x01, 0xe6, 0xc6 }, | |
| 4812 { 0x01, 0xe7, 0xc7 }, | |
| 4813 { 0x01, 0xe8, 0xc8 }, | |
| 4814 { 0x01, 0xe9, 0xc9 }, | |
| 4815 { 0x01, 0xea, 0xca }, | |
| 4816 { 0x01, 0xeb, 0xcb }, | |
| 4817 { 0x01, 0xec, 0xcc }, | |
| 4818 { 0x01, 0xed, 0xcd }, | |
| 4819 { 0x01, 0xee, 0xce }, | |
| 4820 { 0x01, 0xef, 0xcf }, | |
| 4821 { 0x01, 0xf0, 0xd0 }, | |
| 4822 { 0x01, 0xf1, 0xd1 }, | |
| 4823 { 0x01, 0xf2, 0xd2 }, | |
| 4824 { 0x01, 0xf3, 0xd3 }, | |
| 4825 { 0x01, 0xf4, 0xd4 }, | |
| 4826 { 0x01, 0xf5, 0xd5 }, | |
| 4827 { 0x01, 0xf6, 0xd6 }, | |
| 4828 { 0x00, 0xd7, 0xd7 }, | |
| 4829 { 0x01, 0xf8, 0xd8 }, | |
| 4830 { 0x01, 0xf9, 0xd9 }, | |
| 4831 { 0x01, 0xfa, 0xda }, | |
| 4832 { 0x01, 0xfb, 0xdb }, | |
| 4833 { 0x01, 0xfc, 0xdc }, | |
| 4834 { 0x01, 0xfd, 0xdd }, | |
| 4835 { 0x01, 0xfe, 0xde }, | |
| 4836 { 0x00, 0xdf, 0xdf }, | |
| 4837 { 0x00, 0xe0, 0xc0 }, | |
| 4838 { 0x00, 0xe1, 0xc1 }, | |
| 4839 { 0x00, 0xe2, 0xc2 }, | |
| 4840 { 0x00, 0xe3, 0xc3 }, | |
| 4841 { 0x00, 0xe4, 0xc4 }, | |
| 4842 { 0x00, 0xe5, 0xc5 }, | |
| 4843 { 0x00, 0xe6, 0xc6 }, | |
| 4844 { 0x00, 0xe7, 0xc7 }, | |
| 4845 { 0x00, 0xe8, 0xc8 }, | |
| 4846 { 0x00, 0xe9, 0xc9 }, | |
| 4847 { 0x00, 0xea, 0xca }, | |
| 4848 { 0x00, 0xeb, 0xcb }, | |
| 4849 { 0x00, 0xec, 0xcc }, | |
| 4850 { 0x00, 0xed, 0xcd }, | |
| 4851 { 0x00, 0xee, 0xce }, | |
| 4852 { 0x00, 0xef, 0xcf }, | |
| 4853 { 0x00, 0xf0, 0xd0 }, | |
| 4854 { 0x00, 0xf1, 0xd1 }, | |
| 4855 { 0x00, 0xf2, 0xd2 }, | |
| 4856 { 0x00, 0xf3, 0xd3 }, | |
| 4857 { 0x00, 0xf4, 0xd4 }, | |
| 4858 { 0x00, 0xf5, 0xd5 }, | |
| 4859 { 0x00, 0xf6, 0xd6 }, | |
| 4860 { 0x00, 0xf7, 0xf7 }, | |
| 4861 { 0x00, 0xf8, 0xd8 }, | |
| 4862 { 0x00, 0xf9, 0xd9 }, | |
| 4863 { 0x00, 0xfa, 0xda }, | |
| 4864 { 0x00, 0xfb, 0xdb }, | |
| 4865 { 0x00, 0xfc, 0xdc }, | |
| 4866 { 0x00, 0xfd, 0xdd }, | |
| 4867 { 0x00, 0xfe, 0xde }, | |
| 4868 { 0x00, 0xff, 0xbe } | |
| 4869 }; | |
| 4870 | |
| 4871 static struct cs_info iscii_devanagari_tbl[] = { | |
| 4872 { 0x00, 0x00, 0x00 }, | |
| 4873 { 0x00, 0x01, 0x01 }, | |
| 4874 { 0x00, 0x02, 0x02 }, | |
| 4875 { 0x00, 0x03, 0x03 }, | |
| 4876 { 0x00, 0x04, 0x04 }, | |
| 4877 { 0x00, 0x05, 0x05 }, | |
| 4878 { 0x00, 0x06, 0x06 }, | |
| 4879 { 0x00, 0x07, 0x07 }, | |
| 4880 { 0x00, 0x08, 0x08 }, | |
| 4881 { 0x00, 0x09, 0x09 }, | |
| 4882 { 0x00, 0x0a, 0x0a }, | |
| 4883 { 0x00, 0x0b, 0x0b }, | |
| 4884 { 0x00, 0x0c, 0x0c }, | |
| 4885 { 0x00, 0x0d, 0x0d }, | |
| 4886 { 0x00, 0x0e, 0x0e }, | |
| 4887 { 0x00, 0x0f, 0x0f }, | |
| 4888 { 0x00, 0x10, 0x10 }, | |
| 4889 { 0x00, 0x11, 0x11 }, | |
| 4890 { 0x00, 0x12, 0x12 }, | |
| 4891 { 0x00, 0x13, 0x13 }, | |
| 4892 { 0x00, 0x14, 0x14 }, | |
| 4893 { 0x00, 0x15, 0x15 }, | |
| 4894 { 0x00, 0x16, 0x16 }, | |
| 4895 { 0x00, 0x17, 0x17 }, | |
| 4896 { 0x00, 0x18, 0x18 }, | |
| 4897 { 0x00, 0x19, 0x19 }, | |
| 4898 { 0x00, 0x1a, 0x1a }, | |
| 4899 { 0x00, 0x1b, 0x1b }, | |
| 4900 { 0x00, 0x1c, 0x1c }, | |
| 4901 { 0x00, 0x1d, 0x1d }, | |
| 4902 { 0x00, 0x1e, 0x1e }, | |
| 4903 { 0x00, 0x1f, 0x1f }, | |
| 4904 { 0x00, 0x20, 0x20 }, | |
| 4905 { 0x00, 0x21, 0x21 }, | |
| 4906 { 0x00, 0x22, 0x22 }, | |
| 4907 { 0x00, 0x23, 0x23 }, | |
| 4908 { 0x00, 0x24, 0x24 }, | |
| 4909 { 0x00, 0x25, 0x25 }, | |
| 4910 { 0x00, 0x26, 0x26 }, | |
| 4911 { 0x00, 0x27, 0x27 }, | |
| 4912 { 0x00, 0x28, 0x28 }, | |
| 4913 { 0x00, 0x29, 0x29 }, | |
| 4914 { 0x00, 0x2a, 0x2a }, | |
| 4915 { 0x00, 0x2b, 0x2b }, | |
| 4916 { 0x00, 0x2c, 0x2c }, | |
| 4917 { 0x00, 0x2d, 0x2d }, | |
| 4918 { 0x00, 0x2e, 0x2e }, | |
| 4919 { 0x00, 0x2f, 0x2f }, | |
| 4920 { 0x00, 0x30, 0x30 }, | |
| 4921 { 0x00, 0x31, 0x31 }, | |
| 4922 { 0x00, 0x32, 0x32 }, | |
| 4923 { 0x00, 0x33, 0x33 }, | |
| 4924 { 0x00, 0x34, 0x34 }, | |
| 4925 { 0x00, 0x35, 0x35 }, | |
| 4926 { 0x00, 0x36, 0x36 }, | |
| 4927 { 0x00, 0x37, 0x37 }, | |
| 4928 { 0x00, 0x38, 0x38 }, | |
| 4929 { 0x00, 0x39, 0x39 }, | |
| 4930 { 0x00, 0x3a, 0x3a }, | |
| 4931 { 0x00, 0x3b, 0x3b }, | |
| 4932 { 0x00, 0x3c, 0x3c }, | |
| 4933 { 0x00, 0x3d, 0x3d }, | |
| 4934 { 0x00, 0x3e, 0x3e }, | |
| 4935 { 0x00, 0x3f, 0x3f }, | |
| 4936 { 0x00, 0x40, 0x40 }, | |
| 4937 { 0x01, 0x61, 0x41 }, | |
| 4938 { 0x01, 0x62, 0x42 }, | |
| 4939 { 0x01, 0x63, 0x43 }, | |
| 4940 { 0x01, 0x64, 0x44 }, | |
| 4941 { 0x01, 0x65, 0x45 }, | |
| 4942 { 0x01, 0x66, 0x46 }, | |
| 4943 { 0x01, 0x67, 0x47 }, | |
| 4944 { 0x01, 0x68, 0x48 }, | |
| 4945 { 0x01, 0x69, 0x49 }, | |
| 4946 { 0x01, 0x6a, 0x4a }, | |
| 4947 { 0x01, 0x6b, 0x4b }, | |
| 4948 { 0x01, 0x6c, 0x4c }, | |
| 4949 { 0x01, 0x6d, 0x4d }, | |
| 4950 { 0x01, 0x6e, 0x4e }, | |
| 4951 { 0x01, 0x6f, 0x4f }, | |
| 4952 { 0x01, 0x70, 0x50 }, | |
| 4953 { 0x01, 0x71, 0x51 }, | |
| 4954 { 0x01, 0x72, 0x52 }, | |
| 4955 { 0x01, 0x73, 0x53 }, | |
| 4956 { 0x01, 0x74, 0x54 }, | |
| 4957 { 0x01, 0x75, 0x55 }, | |
| 4958 { 0x01, 0x76, 0x56 }, | |
| 4959 { 0x01, 0x77, 0x57 }, | |
| 4960 { 0x01, 0x78, 0x58 }, | |
| 4961 { 0x01, 0x79, 0x59 }, | |
| 4962 { 0x01, 0x7a, 0x5a }, | |
| 4963 { 0x00, 0x5b, 0x5b }, | |
| 4964 { 0x00, 0x5c, 0x5c }, | |
| 4965 { 0x00, 0x5d, 0x5d }, | |
| 4966 { 0x00, 0x5e, 0x5e }, | |
| 4967 { 0x00, 0x5f, 0x5f }, | |
| 4968 { 0x00, 0x60, 0x60 }, | |
| 4969 { 0x00, 0x61, 0x41 }, | |
| 4970 { 0x00, 0x62, 0x42 }, | |
| 4971 { 0x00, 0x63, 0x43 }, | |
| 4972 { 0x00, 0x64, 0x44 }, | |
| 4973 { 0x00, 0x65, 0x45 }, | |
| 4974 { 0x00, 0x66, 0x46 }, | |
| 4975 { 0x00, 0x67, 0x47 }, | |
| 4976 { 0x00, 0x68, 0x48 }, | |
| 4977 { 0x00, 0x69, 0x49 }, | |
| 4978 { 0x00, 0x6a, 0x4a }, | |
| 4979 { 0x00, 0x6b, 0x4b }, | |
| 4980 { 0x00, 0x6c, 0x4c }, | |
| 4981 { 0x00, 0x6d, 0x4d }, | |
| 4982 { 0x00, 0x6e, 0x4e }, | |
| 4983 { 0x00, 0x6f, 0x4f }, | |
| 4984 { 0x00, 0x70, 0x50 }, | |
| 4985 { 0x00, 0x71, 0x51 }, | |
| 4986 { 0x00, 0x72, 0x52 }, | |
| 4987 { 0x00, 0x73, 0x53 }, | |
| 4988 { 0x00, 0x74, 0x54 }, | |
| 4989 { 0x00, 0x75, 0x55 }, | |
| 4990 { 0x00, 0x76, 0x56 }, | |
| 4991 { 0x00, 0x77, 0x57 }, | |
| 4992 { 0x00, 0x78, 0x58 }, | |
| 4993 { 0x00, 0x79, 0x59 }, | |
| 4994 { 0x00, 0x7a, 0x5a }, | |
| 4995 { 0x00, 0x7b, 0x7b }, | |
| 4996 { 0x00, 0x7c, 0x7c }, | |
| 4997 { 0x00, 0x7d, 0x7d }, | |
| 4998 { 0x00, 0x7e, 0x7e }, | |
| 4999 { 0x00, 0x7f, 0x7f }, | |
| 5000 { 0x00, 0x80, 0x80 }, | |
| 5001 { 0x00, 0x81, 0x81 }, | |
| 5002 { 0x00, 0x82, 0x82 }, | |
| 5003 { 0x00, 0x83, 0x83 }, | |
| 5004 { 0x00, 0x84, 0x84 }, | |
| 5005 { 0x00, 0x85, 0x85 }, | |
| 5006 { 0x00, 0x86, 0x86 }, | |
| 5007 { 0x00, 0x87, 0x87 }, | |
| 5008 { 0x00, 0x88, 0x88 }, | |
| 5009 { 0x00, 0x89, 0x89 }, | |
| 5010 { 0x00, 0x8a, 0x8a }, | |
| 5011 { 0x00, 0x8b, 0x8b }, | |
| 5012 { 0x00, 0x8c, 0x8c }, | |
| 5013 { 0x00, 0x8d, 0x8d }, | |
| 5014 { 0x00, 0x8e, 0x8e }, | |
| 5015 { 0x00, 0x8f, 0x8f }, | |
| 5016 { 0x00, 0x90, 0x90 }, | |
| 5017 { 0x00, 0x91, 0x91 }, | |
| 5018 { 0x00, 0x92, 0x92 }, | |
| 5019 { 0x00, 0x93, 0x93 }, | |
| 5020 { 0x00, 0x94, 0x94 }, | |
| 5021 { 0x00, 0x95, 0x95 }, | |
| 5022 { 0x00, 0x96, 0x96 }, | |
| 5023 { 0x00, 0x97, 0x97 }, | |
| 5024 { 0x00, 0x98, 0x98 }, | |
| 5025 { 0x00, 0x99, 0x99 }, | |
| 5026 { 0x00, 0x9a, 0x9a }, | |
| 5027 { 0x00, 0x9b, 0x9b }, | |
| 5028 { 0x00, 0x9c, 0x9c }, | |
| 5029 { 0x00, 0x9d, 0x9d }, | |
| 5030 { 0x00, 0x9e, 0x9e }, | |
| 5031 { 0x00, 0x9f, 0x9f }, | |
| 5032 { 0x00, 0xa0, 0xa0 }, | |
| 5033 { 0x00, 0xa1, 0xa1 }, | |
| 5034 { 0x00, 0xa2, 0xa2 }, | |
| 5035 { 0x00, 0xa3, 0xa3 }, | |
| 5036 { 0x00, 0xa4, 0xa4 }, | |
| 5037 { 0x00, 0xa5, 0xa5 }, | |
| 5038 { 0x00, 0xa6, 0xa6 }, | |
| 5039 { 0x00, 0xa7, 0xa7 }, | |
| 5040 { 0x00, 0xa8, 0xa8 }, | |
| 5041 { 0x00, 0xa9, 0xa9 }, | |
| 5042 { 0x00, 0xaa, 0xaa }, | |
| 5043 { 0x00, 0xab, 0xab }, | |
| 5044 { 0x00, 0xac, 0xac }, | |
| 5045 { 0x00, 0xad, 0xad }, | |
| 5046 { 0x00, 0xae, 0xae }, | |
| 5047 { 0x00, 0xaf, 0xaf }, | |
| 5048 { 0x00, 0xb0, 0xb0 }, | |
| 5049 { 0x00, 0xb1, 0xb1 }, | |
| 5050 { 0x00, 0xb2, 0xb2 }, | |
| 5051 { 0x00, 0xb3, 0xb3 }, | |
| 5052 { 0x00, 0xb4, 0xb4 }, | |
| 5053 { 0x00, 0xb5, 0xb5 }, | |
| 5054 { 0x00, 0xb6, 0xb6 }, | |
| 5055 { 0x00, 0xb7, 0xb7 }, | |
| 5056 { 0x00, 0xb8, 0xb8 }, | |
| 5057 { 0x00, 0xb9, 0xb9 }, | |
| 5058 { 0x00, 0xba, 0xba }, | |
| 5059 { 0x00, 0xbb, 0xbb }, | |
| 5060 { 0x00, 0xbc, 0xbc }, | |
| 5061 { 0x00, 0xbd, 0xbd }, | |
| 5062 { 0x00, 0xbe, 0xbe }, | |
| 5063 { 0x00, 0xbf, 0xbf }, | |
| 5064 { 0x00, 0xc0, 0xc0 }, | |
| 5065 { 0x00, 0xc1, 0xc1 }, | |
| 5066 { 0x00, 0xc2, 0xc2 }, | |
| 5067 { 0x00, 0xc3, 0xc3 }, | |
| 5068 { 0x00, 0xc4, 0xc4 }, | |
| 5069 { 0x00, 0xc5, 0xc5 }, | |
| 5070 { 0x00, 0xc6, 0xc6 }, | |
| 5071 { 0x00, 0xc7, 0xc7 }, | |
| 5072 { 0x00, 0xc8, 0xc8 }, | |
| 5073 { 0x00, 0xc9, 0xc9 }, | |
| 5074 { 0x00, 0xca, 0xca }, | |
| 5075 { 0x00, 0xcb, 0xcb }, | |
| 5076 { 0x00, 0xcc, 0xcc }, | |
| 5077 { 0x00, 0xcd, 0xcd }, | |
| 5078 { 0x00, 0xce, 0xce }, | |
| 5079 { 0x00, 0xcf, 0xcf }, | |
| 5080 { 0x00, 0xd0, 0xd0 }, | |
| 5081 { 0x00, 0xd1, 0xd1 }, | |
| 5082 { 0x00, 0xd2, 0xd2 }, | |
| 5083 { 0x00, 0xd3, 0xd3 }, | |
| 5084 { 0x00, 0xd4, 0xd4 }, | |
| 5085 { 0x00, 0xd5, 0xd5 }, | |
| 5086 { 0x00, 0xd6, 0xd6 }, | |
| 5087 { 0x00, 0xd7, 0xd7 }, | |
| 5088 { 0x00, 0xd8, 0xd8 }, | |
| 5089 { 0x00, 0xd9, 0xd9 }, | |
| 5090 { 0x00, 0xda, 0xda }, | |
| 5091 { 0x00, 0xdb, 0xdb }, | |
| 5092 { 0x00, 0xdc, 0xdc }, | |
| 5093 { 0x00, 0xdd, 0xdd }, | |
| 5094 { 0x00, 0xde, 0xde }, | |
| 5095 { 0x00, 0xdf, 0xdf }, | |
| 5096 { 0x00, 0xe0, 0xe0 }, | |
| 5097 { 0x00, 0xe1, 0xe1 }, | |
| 5098 { 0x00, 0xe2, 0xe2 }, | |
| 5099 { 0x00, 0xe3, 0xe3 }, | |
| 5100 { 0x00, 0xe4, 0xe4 }, | |
| 5101 { 0x00, 0xe5, 0xe5 }, | |
| 5102 { 0x00, 0xe6, 0xe6 }, | |
| 5103 { 0x00, 0xe7, 0xe7 }, | |
| 5104 { 0x00, 0xe8, 0xe8 }, | |
| 5105 { 0x00, 0xe9, 0xe9 }, | |
| 5106 { 0x00, 0xea, 0xea }, | |
| 5107 { 0x00, 0xeb, 0xeb }, | |
| 5108 { 0x00, 0xec, 0xec }, | |
| 5109 { 0x00, 0xed, 0xed }, | |
| 5110 { 0x00, 0xee, 0xee }, | |
| 5111 { 0x00, 0xef, 0xef }, | |
| 5112 { 0x00, 0xf0, 0xf0 }, | |
| 5113 { 0x00, 0xf1, 0xf1 }, | |
| 5114 { 0x00, 0xf2, 0xf2 }, | |
| 5115 { 0x00, 0xf3, 0xf3 }, | |
| 5116 { 0x00, 0xf4, 0xf4 }, | |
| 5117 { 0x00, 0xf5, 0xf5 }, | |
| 5118 { 0x00, 0xf6, 0xf6 }, | |
| 5119 { 0x00, 0xf7, 0xf7 }, | |
| 5120 { 0x00, 0xf8, 0xf8 }, | |
| 5121 { 0x00, 0xf9, 0xf9 }, | |
| 5122 { 0x00, 0xfa, 0xfa }, | |
| 5123 { 0x00, 0xfb, 0xfb }, | |
| 5124 { 0x00, 0xfc, 0xfc }, | |
| 5125 { 0x00, 0xfd, 0xfd }, | |
| 5126 { 0x00, 0xfe, 0xfe }, | |
| 5127 { 0x00, 0xff, 0xff } | |
| 5128 }; | |
| 5129 | |
| 5130 static struct cs_info tis620_tbl[] = { | |
| 5131 { 0x00, 0x00, 0x00 }, | |
| 5132 { 0x00, 0x01, 0x01 }, | |
| 5133 { 0x00, 0x02, 0x02 }, | |
| 5134 { 0x00, 0x03, 0x03 }, | |
| 5135 { 0x00, 0x04, 0x04 }, | |
| 5136 { 0x00, 0x05, 0x05 }, | |
| 5137 { 0x00, 0x06, 0x06 }, | |
| 5138 { 0x00, 0x07, 0x07 }, | |
| 5139 { 0x00, 0x08, 0x08 }, | |
| 5140 { 0x00, 0x09, 0x09 }, | |
| 5141 { 0x00, 0x0a, 0x0a }, | |
| 5142 { 0x00, 0x0b, 0x0b }, | |
| 5143 { 0x00, 0x0c, 0x0c }, | |
| 5144 { 0x00, 0x0d, 0x0d }, | |
| 5145 { 0x00, 0x0e, 0x0e }, | |
| 5146 { 0x00, 0x0f, 0x0f }, | |
| 5147 { 0x00, 0x10, 0x10 }, | |
| 5148 { 0x00, 0x11, 0x11 }, | |
| 5149 { 0x00, 0x12, 0x12 }, | |
| 5150 { 0x00, 0x13, 0x13 }, | |
| 5151 { 0x00, 0x14, 0x14 }, | |
| 5152 { 0x00, 0x15, 0x15 }, | |
| 5153 { 0x00, 0x16, 0x16 }, | |
| 5154 { 0x00, 0x17, 0x17 }, | |
| 5155 { 0x00, 0x18, 0x18 }, | |
| 5156 { 0x00, 0x19, 0x19 }, | |
| 5157 { 0x00, 0x1a, 0x1a }, | |
| 5158 { 0x00, 0x1b, 0x1b }, | |
| 5159 { 0x00, 0x1c, 0x1c }, | |
| 5160 { 0x00, 0x1d, 0x1d }, | |
| 5161 { 0x00, 0x1e, 0x1e }, | |
| 5162 { 0x00, 0x1f, 0x1f }, | |
| 5163 { 0x00, 0x20, 0x20 }, | |
| 5164 { 0x00, 0x21, 0x21 }, | |
| 5165 { 0x00, 0x22, 0x22 }, | |
| 5166 { 0x00, 0x23, 0x23 }, | |
| 5167 { 0x00, 0x24, 0x24 }, | |
| 5168 { 0x00, 0x25, 0x25 }, | |
| 5169 { 0x00, 0x26, 0x26 }, | |
| 5170 { 0x00, 0x27, 0x27 }, | |
| 5171 { 0x00, 0x28, 0x28 }, | |
| 5172 { 0x00, 0x29, 0x29 }, | |
| 5173 { 0x00, 0x2a, 0x2a }, | |
| 5174 { 0x00, 0x2b, 0x2b }, | |
| 5175 { 0x00, 0x2c, 0x2c }, | |
| 5176 { 0x00, 0x2d, 0x2d }, | |
| 5177 { 0x00, 0x2e, 0x2e }, | |
| 5178 { 0x00, 0x2f, 0x2f }, | |
| 5179 { 0x00, 0x30, 0x30 }, | |
| 5180 { 0x00, 0x31, 0x31 }, | |
| 5181 { 0x00, 0x32, 0x32 }, | |
| 5182 { 0x00, 0x33, 0x33 }, | |
| 5183 { 0x00, 0x34, 0x34 }, | |
| 5184 { 0x00, 0x35, 0x35 }, | |
| 5185 { 0x00, 0x36, 0x36 }, | |
| 5186 { 0x00, 0x37, 0x37 }, | |
| 5187 { 0x00, 0x38, 0x38 }, | |
| 5188 { 0x00, 0x39, 0x39 }, | |
| 5189 { 0x00, 0x3a, 0x3a }, | |
| 5190 { 0x00, 0x3b, 0x3b }, | |
| 5191 { 0x00, 0x3c, 0x3c }, | |
| 5192 { 0x00, 0x3d, 0x3d }, | |
| 5193 { 0x00, 0x3e, 0x3e }, | |
| 5194 { 0x00, 0x3f, 0x3f }, | |
| 5195 { 0x00, 0x40, 0x40 }, | |
| 5196 { 0x01, 0x61, 0x41 }, | |
| 5197 { 0x01, 0x62, 0x42 }, | |
| 5198 { 0x01, 0x63, 0x43 }, | |
| 5199 { 0x01, 0x64, 0x44 }, | |
| 5200 { 0x01, 0x65, 0x45 }, | |
| 5201 { 0x01, 0x66, 0x46 }, | |
| 5202 { 0x01, 0x67, 0x47 }, | |
| 5203 { 0x01, 0x68, 0x48 }, | |
| 5204 { 0x01, 0x69, 0x49 }, | |
| 5205 { 0x01, 0x6a, 0x4a }, | |
| 5206 { 0x01, 0x6b, 0x4b }, | |
| 5207 { 0x01, 0x6c, 0x4c }, | |
| 5208 { 0x01, 0x6d, 0x4d }, | |
| 5209 { 0x01, 0x6e, 0x4e }, | |
| 5210 { 0x01, 0x6f, 0x4f }, | |
| 5211 { 0x01, 0x70, 0x50 }, | |
| 5212 { 0x01, 0x71, 0x51 }, | |
| 5213 { 0x01, 0x72, 0x52 }, | |
| 5214 { 0x01, 0x73, 0x53 }, | |
| 5215 { 0x01, 0x74, 0x54 }, | |
| 5216 { 0x01, 0x75, 0x55 }, | |
| 5217 { 0x01, 0x76, 0x56 }, | |
| 5218 { 0x01, 0x77, 0x57 }, | |
| 5219 { 0x01, 0x78, 0x58 }, | |
| 5220 { 0x01, 0x79, 0x59 }, | |
| 5221 { 0x01, 0x7a, 0x5a }, | |
| 5222 { 0x00, 0x5b, 0x5b }, | |
| 5223 { 0x00, 0x5c, 0x5c }, | |
| 5224 { 0x00, 0x5d, 0x5d }, | |
| 5225 { 0x00, 0x5e, 0x5e }, | |
| 5226 { 0x00, 0x5f, 0x5f }, | |
| 5227 { 0x00, 0x60, 0x60 }, | |
| 5228 { 0x00, 0x61, 0x41 }, | |
| 5229 { 0x00, 0x62, 0x42 }, | |
| 5230 { 0x00, 0x63, 0x43 }, | |
| 5231 { 0x00, 0x64, 0x44 }, | |
| 5232 { 0x00, 0x65, 0x45 }, | |
| 5233 { 0x00, 0x66, 0x46 }, | |
| 5234 { 0x00, 0x67, 0x47 }, | |
| 5235 { 0x00, 0x68, 0x48 }, | |
| 5236 { 0x00, 0x69, 0x49 }, | |
| 5237 { 0x00, 0x6a, 0x4a }, | |
| 5238 { 0x00, 0x6b, 0x4b }, | |
| 5239 { 0x00, 0x6c, 0x4c }, | |
| 5240 { 0x00, 0x6d, 0x4d }, | |
| 5241 { 0x00, 0x6e, 0x4e }, | |
| 5242 { 0x00, 0x6f, 0x4f }, | |
| 5243 { 0x00, 0x70, 0x50 }, | |
| 5244 { 0x00, 0x71, 0x51 }, | |
| 5245 { 0x00, 0x72, 0x52 }, | |
| 5246 { 0x00, 0x73, 0x53 }, | |
| 5247 { 0x00, 0x74, 0x54 }, | |
| 5248 { 0x00, 0x75, 0x55 }, | |
| 5249 { 0x00, 0x76, 0x56 }, | |
| 5250 { 0x00, 0x77, 0x57 }, | |
| 5251 { 0x00, 0x78, 0x58 }, | |
| 5252 { 0x00, 0x79, 0x59 }, | |
| 5253 { 0x00, 0x7a, 0x5a }, | |
| 5254 { 0x00, 0x7b, 0x7b }, | |
| 5255 { 0x00, 0x7c, 0x7c }, | |
| 5256 { 0x00, 0x7d, 0x7d }, | |
| 5257 { 0x00, 0x7e, 0x7e }, | |
| 5258 { 0x00, 0x7f, 0x7f }, | |
| 5259 { 0x00, 0x80, 0x80 }, | |
| 5260 { 0x00, 0x81, 0x81 }, | |
| 5261 { 0x00, 0x82, 0x82 }, | |
| 5262 { 0x00, 0x83, 0x83 }, | |
| 5263 { 0x00, 0x84, 0x84 }, | |
| 5264 { 0x00, 0x85, 0x85 }, | |
| 5265 { 0x00, 0x86, 0x86 }, | |
| 5266 { 0x00, 0x87, 0x87 }, | |
| 5267 { 0x00, 0x88, 0x88 }, | |
| 5268 { 0x00, 0x89, 0x89 }, | |
| 5269 { 0x00, 0x8a, 0x8a }, | |
| 5270 { 0x00, 0x8b, 0x8b }, | |
| 5271 { 0x00, 0x8c, 0x8c }, | |
| 5272 { 0x00, 0x8d, 0x8d }, | |
| 5273 { 0x00, 0x8e, 0x8e }, | |
| 5274 { 0x00, 0x8f, 0x8f }, | |
| 5275 { 0x00, 0x90, 0x90 }, | |
| 5276 { 0x00, 0x91, 0x91 }, | |
| 5277 { 0x00, 0x92, 0x92 }, | |
| 5278 { 0x00, 0x93, 0x93 }, | |
| 5279 { 0x00, 0x94, 0x94 }, | |
| 5280 { 0x00, 0x95, 0x95 }, | |
| 5281 { 0x00, 0x96, 0x96 }, | |
| 5282 { 0x00, 0x97, 0x97 }, | |
| 5283 { 0x00, 0x98, 0x98 }, | |
| 5284 { 0x00, 0x99, 0x99 }, | |
| 5285 { 0x00, 0x9a, 0x9a }, | |
| 5286 { 0x00, 0x9b, 0x9b }, | |
| 5287 { 0x00, 0x9c, 0x9c }, | |
| 5288 { 0x00, 0x9d, 0x9d }, | |
| 5289 { 0x00, 0x9e, 0x9e }, | |
| 5290 { 0x00, 0x9f, 0x9f }, | |
| 5291 { 0x00, 0xa0, 0xa0 }, | |
| 5292 { 0x00, 0xa1, 0xa1 }, | |
| 5293 { 0x00, 0xa2, 0xa2 }, | |
| 5294 { 0x00, 0xa3, 0xa3 }, | |
| 5295 { 0x00, 0xa4, 0xa4 }, | |
| 5296 { 0x00, 0xa5, 0xa5 }, | |
| 5297 { 0x00, 0xa6, 0xa6 }, | |
| 5298 { 0x00, 0xa7, 0xa7 }, | |
| 5299 { 0x00, 0xa8, 0xa8 }, | |
| 5300 { 0x00, 0xa9, 0xa9 }, | |
| 5301 { 0x00, 0xaa, 0xaa }, | |
| 5302 { 0x00, 0xab, 0xab }, | |
| 5303 { 0x00, 0xac, 0xac }, | |
| 5304 { 0x00, 0xad, 0xad }, | |
| 5305 { 0x00, 0xae, 0xae }, | |
| 5306 { 0x00, 0xaf, 0xaf }, | |
| 5307 { 0x00, 0xb0, 0xb0 }, | |
| 5308 { 0x00, 0xb1, 0xb1 }, | |
| 5309 { 0x00, 0xb2, 0xb2 }, | |
| 5310 { 0x00, 0xb3, 0xb3 }, | |
| 5311 { 0x00, 0xb4, 0xb4 }, | |
| 5312 { 0x00, 0xb5, 0xb5 }, | |
| 5313 { 0x00, 0xb6, 0xb6 }, | |
| 5314 { 0x00, 0xb7, 0xb7 }, | |
| 5315 { 0x00, 0xb8, 0xb8 }, | |
| 5316 { 0x00, 0xb9, 0xb9 }, | |
| 5317 { 0x00, 0xba, 0xba }, | |
| 5318 { 0x00, 0xbb, 0xbb }, | |
| 5319 { 0x00, 0xbc, 0xbc }, | |
| 5320 { 0x00, 0xbd, 0xbd }, | |
| 5321 { 0x00, 0xbe, 0xbe }, | |
| 5322 { 0x00, 0xbf, 0xbf }, | |
| 5323 { 0x00, 0xc0, 0xc0 }, | |
| 5324 { 0x00, 0xc1, 0xc1 }, | |
| 5325 { 0x00, 0xc2, 0xc2 }, | |
| 5326 { 0x00, 0xc3, 0xc3 }, | |
| 5327 { 0x00, 0xc4, 0xc4 }, | |
| 5328 { 0x00, 0xc5, 0xc5 }, | |
| 5329 { 0x00, 0xc6, 0xc6 }, | |
| 5330 { 0x00, 0xc7, 0xc7 }, | |
| 5331 { 0x00, 0xc8, 0xc8 }, | |
| 5332 { 0x00, 0xc9, 0xc9 }, | |
| 5333 { 0x00, 0xca, 0xca }, | |
| 5334 { 0x00, 0xcb, 0xcb }, | |
| 5335 { 0x00, 0xcc, 0xcc }, | |
| 5336 { 0x00, 0xcd, 0xcd }, | |
| 5337 { 0x00, 0xce, 0xce }, | |
| 5338 { 0x00, 0xcf, 0xcf }, | |
| 5339 { 0x00, 0xd0, 0xd0 }, | |
| 5340 { 0x00, 0xd1, 0xd1 }, | |
| 5341 { 0x00, 0xd2, 0xd2 }, | |
| 5342 { 0x00, 0xd3, 0xd3 }, | |
| 5343 { 0x00, 0xd4, 0xd4 }, | |
| 5344 { 0x00, 0xd5, 0xd5 }, | |
| 5345 { 0x00, 0xd6, 0xd6 }, | |
| 5346 { 0x00, 0xd7, 0xd7 }, | |
| 5347 { 0x00, 0xd8, 0xd8 }, | |
| 5348 { 0x00, 0xd9, 0xd9 }, | |
| 5349 { 0x00, 0xda, 0xda }, | |
| 5350 { 0x00, 0xdb, 0xdb }, | |
| 5351 { 0x00, 0xdc, 0xdc }, | |
| 5352 { 0x00, 0xdd, 0xdd }, | |
| 5353 { 0x00, 0xde, 0xde }, | |
| 5354 { 0x00, 0xdf, 0xdf }, | |
| 5355 { 0x00, 0xe0, 0xe0 }, | |
| 5356 { 0x00, 0xe1, 0xe1 }, | |
| 5357 { 0x00, 0xe2, 0xe2 }, | |
| 5358 { 0x00, 0xe3, 0xe3 }, | |
| 5359 { 0x00, 0xe4, 0xe4 }, | |
| 5360 { 0x00, 0xe5, 0xe5 }, | |
| 5361 { 0x00, 0xe6, 0xe6 }, | |
| 5362 { 0x00, 0xe7, 0xe7 }, | |
| 5363 { 0x00, 0xe8, 0xe8 }, | |
| 5364 { 0x00, 0xe9, 0xe9 }, | |
| 5365 { 0x00, 0xea, 0xea }, | |
| 5366 { 0x00, 0xeb, 0xeb }, | |
| 5367 { 0x00, 0xec, 0xec }, | |
| 5368 { 0x00, 0xed, 0xed }, | |
| 5369 { 0x00, 0xee, 0xee }, | |
| 5370 { 0x00, 0xef, 0xef }, | |
| 5371 { 0x00, 0xf0, 0xf0 }, | |
| 5372 { 0x00, 0xf1, 0xf1 }, | |
| 5373 { 0x00, 0xf2, 0xf2 }, | |
| 5374 { 0x00, 0xf3, 0xf3 }, | |
| 5375 { 0x00, 0xf4, 0xf4 }, | |
| 5376 { 0x00, 0xf5, 0xf5 }, | |
| 5377 { 0x00, 0xf6, 0xf6 }, | |
| 5378 { 0x00, 0xf7, 0xf7 }, | |
| 5379 { 0x00, 0xf8, 0xf8 }, | |
| 5380 { 0x00, 0xf9, 0xf9 }, | |
| 5381 { 0x00, 0xfa, 0xfa }, | |
| 5382 { 0x00, 0xfb, 0xfb }, | |
| 5383 { 0x00, 0xfc, 0xfc }, | |
| 5384 { 0x00, 0xfd, 0xfd }, | |
| 5385 { 0x00, 0xfe, 0xfe }, | |
| 5386 { 0x00, 0xff, 0xff } | |
| 5387 }; | |
| 5388 | |
| 5389 struct enc_entry { | |
| 5390 const char * enc_name; | |
| 5391 struct cs_info * cs_table; | |
| 5392 }; | |
| 5393 | |
| 5394 static struct enc_entry encds[] = { | |
| 5395 {"iso88591",iso1_tbl}, //ISO-8859-1 | |
| 5396 {"iso88592",iso2_tbl}, //ISO-8859-2 | |
| 5397 {"iso88593",iso3_tbl}, //ISO-8859-3 | |
| 5398 {"iso88594",iso4_tbl}, //ISO-8859-4 | |
| 5399 {"iso88595",iso5_tbl}, //ISO-8859-5 | |
| 5400 {"iso88596",iso6_tbl}, //ISO-8859-6 | |
| 5401 {"iso88597",iso7_tbl}, //ISO-8859-7 | |
| 5402 {"iso88598",iso8_tbl}, //ISO-8859-8 | |
| 5403 {"iso88599",iso9_tbl}, //ISO-8859-9 | |
| 5404 {"iso885910",iso10_tbl}, //ISO-8859-10 | |
| 5405 {"tis620",tis620_tbl}, //TIS-620/ISO-8859-11 | |
| 5406 {"tis6202533",tis620_tbl}, //TIS-620/ISO-8859-11 | |
| 5407 {"iso885911",tis620_tbl}, //TIS-620/ISO-8859-11 | |
| 5408 {"iso885913", iso13_tbl}, //ISO-8859-13 | |
| 5409 {"iso885914", iso14_tbl}, //ISO-8859-14 | |
| 5410 {"iso885915", iso15_tbl}, //ISO-8859-15 | |
| 5411 {"koi8r",koi8r_tbl}, //KOI8-R | |
| 5412 {"koi8u",koi8u_tbl}, //KOI8-U | |
| 5413 {"cp1251",cp1251_tbl}, //CP-1251 | |
| 5414 {"microsoftcp1251",cp1251_tbl}, //microsoft-cp1251 | |
| 5415 {"xisciias", iscii_devanagari_tbl}, //x-iscii-as | |
| 5416 {"isciidevanagari", iscii_devanagari_tbl} //ISCII-DEVANAGARI | |
| 5417 }; | |
| 5418 | |
| 5419 /* map to lower case and remove non alphanumeric chars */ | |
| 5420 static void toAsciiLowerAndRemoveNonAlphanumeric( const char* pName, char* pBuf
) | |
| 5421 { | |
| 5422 while ( *pName ) | |
| 5423 { | |
| 5424 /* A-Z */ | |
| 5425 if ( (*pName >= 0x41) && (*pName <= 0x5A) ) | |
| 5426 { | |
| 5427 *pBuf = (*pName)+0x20; /* toAsciiLower */ | |
| 5428 pBuf++; | |
| 5429 } | |
| 5430 /* a-z, 0-9 */ | |
| 5431 else if ( ((*pName >= 0x61) && (*pName <= 0x7A)) || | |
| 5432 ((*pName >= 0x30) && (*pName <= 0x39)) ) | |
| 5433 { | |
| 5434 *pBuf = *pName; | |
| 5435 pBuf++; | |
| 5436 } | |
| 5437 | |
| 5438 pName++; | |
| 5439 } | |
| 5440 | |
| 5441 *pBuf = '\0'; | |
| 5442 } | |
| 5443 | |
| 5444 struct cs_info * get_current_cs(const char * es) { | |
| 5445 char *normalized_encoding = new char[strlen(es)+1]; | |
| 5446 toAsciiLowerAndRemoveNonAlphanumeric(es, normalized_encoding); | |
| 5447 | |
| 5448 struct cs_info * ccs = NULL; | |
| 5449 int n = sizeof(encds) / sizeof(encds[0]); | |
| 5450 for (int i = 0; i < n; i++) { | |
| 5451 if (strcmp(normalized_encoding,encds[i].enc_name) == 0) { | |
| 5452 ccs = encds[i].cs_table; | |
| 5453 break; | |
| 5454 } | |
| 5455 } | |
| 5456 | |
| 5457 delete[] normalized_encoding; | |
| 5458 | |
| 5459 if (!ccs) { | |
| 5460 HUNSPELL_WARNING(stderr, "error: unknown encoding %s: using %s as fallback\n
", es, encds[0].enc_name); | |
| 5461 ccs = encds[0].cs_table; | |
| 5462 } | |
| 5463 | |
| 5464 return ccs; | |
| 5465 } | |
| 5466 #else | |
| 5467 // XXX This function was rewritten for mozilla. Instead of storing the | |
| 5468 // conversion tables static in this file, create them when needed | |
| 5469 // with help the mozilla backend. | |
| 5470 struct cs_info * get_current_cs(const char * es) { | |
| 5471 struct cs_info *ccs = new cs_info[256]; | |
| 5472 // Initialze the array with dummy data so that we wouldn't need | |
| 5473 // to return null in case of failures. | |
| 5474 for (int i = 0; i <= 0xff; ++i) { | |
| 5475 ccs[i].ccase = false; | |
| 5476 ccs[i].clower = i; | |
| 5477 ccs[i].cupper = i; | |
| 5478 } | |
| 5479 | |
| 5480 | |
| 5481 nsCOMPtr<nsIUnicodeEncoder> encoder; | |
| 5482 nsCOMPtr<nsIUnicodeDecoder> decoder; | |
| 5483 | |
| 5484 nsresult rv; | |
| 5485 nsCOMPtr<nsICharsetConverterManager> ccm = do_GetService(kCharsetConverterMana
gerCID, &rv); | |
| 5486 if (NS_FAILED(rv)) | |
| 5487 return ccs; | |
| 5488 | |
| 5489 rv = ccm->GetUnicodeEncoder(es, getter_AddRefs(encoder)); | |
| 5490 if (NS_FAILED(rv)) | |
| 5491 return ccs; | |
| 5492 encoder->SetOutputErrorBehavior(encoder->kOnError_Signal, nsnull, '?'); | |
| 5493 rv = ccm->GetUnicodeDecoder(es, getter_AddRefs(decoder)); | |
| 5494 if (NS_FAILED(rv)) | |
| 5495 return ccs; | |
| 5496 decoder->SetInputErrorBehavior(decoder->kOnError_Signal); | |
| 5497 | |
| 5498 if (NS_FAILED(rv)) | |
| 5499 return ccs; | |
| 5500 | |
| 5501 for (unsigned int i = 0; i <= 0xff; ++i) { | |
| 5502 PRBool success = PR_FALSE; | |
| 5503 // We want to find the upper/lowercase equivalents of each byte | |
| 5504 // in this 1-byte character encoding. Call our encoding/decoding | |
| 5505 // APIs separately for each byte since they may reject some of the | |
| 5506 // bytes, and we want to handle errors separately for each byte. | |
| 5507 char lower, upper; | |
| 5508 do { | |
| 5509 if (i == 0) | |
| 5510 break; | |
| 5511 const char source = char(i); | |
| 5512 PRUnichar uni, uniCased; | |
| 5513 PRInt32 charLength = 1, uniLength = 1; | |
| 5514 | |
| 5515 rv = decoder->Convert(&source, &charLength, &uni, &uniLength); | |
| 5516 // Explicitly check NS_OK because we don't want to allow | |
| 5517 // NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT. | |
| 5518 if (rv != NS_OK || charLength != 1 || uniLength != 1) | |
| 5519 break; | |
| 5520 uniCased = ToLowerCase(uni); | |
| 5521 rv = encoder->Convert(&uniCased, &uniLength, &lower, &charLength); | |
| 5522 // Explicitly check NS_OK because we don't want to allow | |
| 5523 // NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT. | |
| 5524 if (rv != NS_OK || charLength != 1 || uniLength != 1) | |
| 5525 break; | |
| 5526 | |
| 5527 uniCased = ToUpperCase(uni); | |
| 5528 rv = encoder->Convert(&uniCased, &uniLength, &upper, &charLength); | |
| 5529 // Explicitly check NS_OK because we don't want to allow | |
| 5530 // NS_OK_UDEC_MOREOUTPUT or NS_OK_UDEC_MOREINPUT. | |
| 5531 if (rv != NS_OK || charLength != 1 || uniLength != 1) | |
| 5532 break; | |
| 5533 | |
| 5534 success = PR_TRUE; | |
| 5535 } while (0); | |
| 5536 | |
| 5537 if (success) { | |
| 5538 ccs[i].cupper = upper; | |
| 5539 ccs[i].clower = lower; | |
| 5540 } else { | |
| 5541 ccs[i].cupper = i; | |
| 5542 ccs[i].clower = i; | |
| 5543 } | |
| 5544 | |
| 5545 if (ccs[i].clower != (unsigned char)i) | |
| 5546 ccs[i].ccase = true; | |
| 5547 else | |
| 5548 ccs[i].ccase = false; | |
| 5549 } | |
| 5550 | |
| 5551 return ccs; | |
| 5552 } | |
| 5553 #endif | |
| 5554 | |
| 5555 // primitive isalpha() replacement for tokenization | |
| 5556 char * get_casechars(const char * enc) { | |
| 5557 struct cs_info * csconv = get_current_cs(enc); | |
| 5558 char expw[MAXLNLEN]; | |
| 5559 char * p = expw; | |
| 5560 for (int i = 0; i <= 255; i++) { | |
| 5561 if ((csconv[i].cupper != csconv[i].clower)) { | |
| 5562 *p = (char) i; | |
| 5563 p++; | |
| 5564 } | |
| 5565 } | |
| 5566 *p = '\0'; | |
| 5567 #ifdef MOZILLA_CLIENT | |
| 5568 delete [] csconv; | |
| 5569 #endif | |
| 5570 return mystrdup(expw); | |
| 5571 } | |
| 5572 | |
| 5573 // language to encoding default map | |
| 5574 | |
| 5575 struct lang_map { | |
| 5576 const char * lang; | |
| 5577 int num; | |
| 5578 }; | |
| 5579 | |
| 5580 static struct lang_map lang2enc[] = { | |
| 5581 {"ar", LANG_ar}, | |
| 5582 {"az", LANG_az}, | |
| 5583 {"az_AZ", LANG_az}, // for back-compatibility | |
| 5584 {"bg", LANG_bg}, | |
| 5585 {"ca", LANG_ca}, | |
| 5586 {"cs", LANG_cs}, | |
| 5587 {"da", LANG_da}, | |
| 5588 {"de", LANG_de}, | |
| 5589 {"el", LANG_el}, | |
| 5590 {"en", LANG_en}, | |
| 5591 {"es", LANG_es}, | |
| 5592 {"eu", LANG_eu}, | |
| 5593 {"gl", LANG_gl}, | |
| 5594 {"fr", LANG_fr}, | |
| 5595 {"hr", LANG_hr}, | |
| 5596 {"hu", LANG_hu}, | |
| 5597 {"hu_HU", LANG_hu}, // for back-compatibility | |
| 5598 {"it", LANG_it}, | |
| 5599 {"la", LANG_la}, | |
| 5600 {"lv", LANG_lv}, | |
| 5601 {"nl", LANG_nl}, | |
| 5602 {"pl", LANG_pl}, | |
| 5603 {"pt", LANG_pt}, | |
| 5604 {"sv", LANG_sv}, | |
| 5605 {"tr", LANG_tr}, | |
| 5606 {"tr_TR", LANG_tr}, // for back-compatibility | |
| 5607 {"ru", LANG_ru}, | |
| 5608 {"uk", LANG_uk} | |
| 5609 }; | |
| 5610 | |
| 5611 | |
| 5612 int get_lang_num(const char * lang) { | |
| 5613 int n = sizeof(lang2enc) / sizeof(lang2enc[0]); | |
| 5614 for (int i = 0; i < n; i++) { | |
| 5615 if (strcmp(lang, lang2enc[i].lang) == 0) { | |
| 5616 return lang2enc[i].num; | |
| 5617 } | |
| 5618 } | |
| 5619 return LANG_xx; | |
| 5620 } | |
| 5621 | |
| 5622 #ifndef OPENOFFICEORG | |
| 5623 #ifndef MOZILLA_CLIENT | |
| 5624 int initialize_utf_tbl() { | |
| 5625 utf_tbl_count++; | |
| 5626 if (utf_tbl) return 0; | |
| 5627 utf_tbl = (unicode_info2 *) malloc(CONTSIZE * sizeof(unicode_info2)); | |
| 5628 if (utf_tbl) { | |
| 5629 size_t j; | |
| 5630 for (j = 0; j < CONTSIZE; j++) { | |
| 5631 utf_tbl[j].cletter = 0; | |
| 5632 utf_tbl[j].clower = (unsigned short) j; | |
| 5633 utf_tbl[j].cupper = (unsigned short) j; | |
| 5634 } | |
| 5635 for (j = 0; j < UTF_LST_LEN; j++) { | |
| 5636 utf_tbl[utf_lst[j].c].cletter = 1; | |
| 5637 utf_tbl[utf_lst[j].c].clower = utf_lst[j].clower; | |
| 5638 utf_tbl[utf_lst[j].c].cupper = utf_lst[j].cupper; | |
| 5639 } | |
| 5640 } else return 1; | |
| 5641 return 0; | |
| 5642 } | |
| 5643 #endif | |
| 5644 #endif | |
| 5645 | |
| 5646 void free_utf_tbl() { | |
| 5647 if (utf_tbl_count > 0) utf_tbl_count--; | |
| 5648 if (utf_tbl && (utf_tbl_count == 0)) { | |
| 5649 free(utf_tbl); | |
| 5650 utf_tbl = NULL; | |
| 5651 } | |
| 5652 } | |
| 5653 | |
| 5654 unsigned short unicodetoupper(unsigned short c, int langnum) | |
| 5655 { | |
| 5656 // In Azeri and Turkish, I and i dictinct letters: | |
| 5657 // There are a dotless lower case i pair of upper `I', | |
| 5658 // and an upper I with dot pair of lower `i'. | |
| 5659 if (c == 0x0069 && ((langnum == LANG_az) || (langnum == LANG_tr))) | |
| 5660 return 0x0130; | |
| 5661 #ifdef OPENOFFICEORG | |
| 5662 return static_cast<unsigned short>(u_toupper(c)); | |
| 5663 #else | |
| 5664 #ifdef MOZILLA_CLIENT | |
| 5665 return ToUpperCase((PRUnichar) c); | |
| 5666 #else | |
| 5667 return (utf_tbl) ? utf_tbl[c].cupper : c; | |
| 5668 #endif | |
| 5669 #endif | |
| 5670 } | |
| 5671 | |
| 5672 unsigned short unicodetolower(unsigned short c, int langnum) | |
| 5673 { | |
| 5674 // In Azeri and Turkish, I and i dictinct letters: | |
| 5675 // There are a dotless lower case i pair of upper `I', | |
| 5676 // and an upper I with dot pair of lower `i'. | |
| 5677 if (c == 0x0049 && ((langnum == LANG_az) || (langnum == LANG_tr))) | |
| 5678 return 0x0131; | |
| 5679 #ifdef OPENOFFICEORG | |
| 5680 return static_cast<unsigned short>(u_tolower(c)); | |
| 5681 #else | |
| 5682 #ifdef MOZILLA_CLIENT | |
| 5683 return ToLowerCase((PRUnichar) c); | |
| 5684 #else | |
| 5685 return (utf_tbl) ? utf_tbl[c].clower : c; | |
| 5686 #endif | |
| 5687 #endif | |
| 5688 } | |
| 5689 | |
| 5690 int unicodeisalpha(unsigned short c) | |
| 5691 { | |
| 5692 #ifdef OPENOFFICEORG | |
| 5693 return u_isalpha(c); | |
| 5694 #else | |
| 5695 return (utf_tbl) ? utf_tbl[c].cletter : 0; | |
| 5696 #endif | |
| 5697 } | |
| 5698 | |
| 5699 /* get type of capitalization */ | |
| 5700 int get_captype(char * word, int nl, cs_info * csconv) { | |
| 5701 // now determine the capitalization type of the first nl letters | |
| 5702 int ncap = 0; | |
| 5703 int nneutral = 0; | |
| 5704 int firstcap = 0; | |
| 5705 if (csconv == NULL) return NOCAP; | |
| 5706 for (char * q = word; *q != '\0'; q++) { | |
| 5707 if (csconv[*((unsigned char *)q)].ccase) ncap++; | |
| 5708 if (csconv[*((unsigned char *)q)].cupper == csconv[*((unsigned char *)q)].
clower) nneutral++; | |
| 5709 } | |
| 5710 if (ncap) { | |
| 5711 firstcap = csconv[*((unsigned char *) word)].ccase; | |
| 5712 } | |
| 5713 | |
| 5714 // now finally set the captype | |
| 5715 if (ncap == 0) { | |
| 5716 return NOCAP; | |
| 5717 } else if ((ncap == 1) && firstcap) { | |
| 5718 return INITCAP; | |
| 5719 } else if ((ncap == nl) || ((ncap + nneutral) == nl)) { | |
| 5720 return ALLCAP; | |
| 5721 } else if ((ncap > 1) && firstcap) { | |
| 5722 return HUHINITCAP; | |
| 5723 } | |
| 5724 return HUHCAP; | |
| 5725 } | |
| 5726 | |
| 5727 int get_captype_utf8(w_char * word, int nl, int langnum) { | |
| 5728 // now determine the capitalization type of the first nl letters | |
| 5729 int ncap = 0; | |
| 5730 int nneutral = 0; | |
| 5731 int firstcap = 0; | |
| 5732 unsigned short idx; | |
| 5733 // don't check too long words | |
| 5734 if (nl >= MAXWORDLEN) return 0; | |
| 5735 // big Unicode character (non BMP area) | |
| 5736 if (nl == -1) return NOCAP; | |
| 5737 for (int i = 0; i < nl; i++) { | |
| 5738 idx = (word[i].h << 8) + word[i].l; | |
| 5739 if (idx != unicodetolower(idx, langnum)) ncap++; | |
| 5740 if (unicodetoupper(idx, langnum) == unicodetolower(idx, langnum)) nneutral+
+; | |
| 5741 } | |
| 5742 if (ncap) { | |
| 5743 idx = (word[0].h << 8) + word[0].l; | |
| 5744 firstcap = (idx != unicodetolower(idx, langnum)); | |
| 5745 } | |
| 5746 | |
| 5747 // now finally set the captype | |
| 5748 if (ncap == 0) { | |
| 5749 return NOCAP; | |
| 5750 } else if ((ncap == 1) && firstcap) { | |
| 5751 return INITCAP; | |
| 5752 } else if ((ncap == nl) || ((ncap + nneutral) == nl)) { | |
| 5753 return ALLCAP; | |
| 5754 } else if ((ncap > 1) && firstcap) { | |
| 5755 return HUHINITCAP; | |
| 5756 } | |
| 5757 return HUHCAP; | |
| 5758 } | |
| 5759 | |
| 5760 | |
| 5761 // strip all ignored characters in the string | |
| 5762 void remove_ignored_chars_utf(char * word, unsigned short ignored_chars[], int i
gnored_len) | |
| 5763 { | |
| 5764 w_char w[MAXWORDLEN]; | |
| 5765 w_char w2[MAXWORDLEN]; | |
| 5766 int i; | |
| 5767 int j; | |
| 5768 int len = u8_u16(w, MAXWORDLEN, word); | |
| 5769 for (i = 0, j = 0; i < len; i++) { | |
| 5770 if (!flag_bsearch(ignored_chars, ((unsigned short *) w)[i], ignored_len))
{ | |
| 5771 w2[j] = w[i]; | |
| 5772 j++; | |
| 5773 } | |
| 5774 } | |
| 5775 if (j < i) u16_u8(word, MAXWORDUTF8LEN, w2, j); | |
| 5776 } | |
| 5777 | |
| 5778 // strip all ignored characters in the string | |
| 5779 void remove_ignored_chars(char * word, char * ignored_chars) | |
| 5780 { | |
| 5781 for (char * p = word; *p != '\0'; p++) { | |
| 5782 if (!strchr(ignored_chars, *p)) { | |
| 5783 *word = *p; | |
| 5784 word++; | |
| 5785 } | |
| 5786 } | |
| 5787 *word = '\0'; | |
| 5788 } | |
| 5789 | |
| 5790 int parse_string(char * line, char ** out, int ln) | |
| 5791 { | |
| 5792 char * tp = line; | |
| 5793 char * piece; | |
| 5794 int i = 0; | |
| 5795 int np = 0; | |
| 5796 if (*out) { | |
| 5797 HUNSPELL_WARNING(stderr, "error: line %d: multiple definitions\n", ln); | |
| 5798 return 1; | |
| 5799 } | |
| 5800 piece = mystrsep(&tp, 0); | |
| 5801 while (piece) { | |
| 5802 if (*piece != '\0') { | |
| 5803 switch(i) { | |
| 5804 case 0: { np++; break; } | |
| 5805 case 1: { | |
| 5806 *out = mystrdup(piece); | |
| 5807 if (!*out) return 1; | |
| 5808 np++; | |
| 5809 break; | |
| 5810 } | |
| 5811 default: break; | |
| 5812 } | |
| 5813 i++; | |
| 5814 } | |
| 5815 // free(piece); | |
| 5816 piece = mystrsep(&tp, 0); | |
| 5817 } | |
| 5818 if (np != 2) { | |
| 5819 HUNSPELL_WARNING(stderr, "error: line %d: missing data\n", ln); | |
| 5820 return 1; | |
| 5821 } | |
| 5822 return 0; | |
| 5823 } | |
| 5824 | |
| 5825 int parse_array(char * line, char ** out, unsigned short ** out_utf16, | |
| 5826 int * out_utf16_len, int utf8, int ln) { | |
| 5827 if (parse_string(line, out, ln)) return 1; | |
| 5828 if (utf8) { | |
| 5829 w_char w[MAXWORDLEN]; | |
| 5830 int n = u8_u16(w, MAXWORDLEN, *out); | |
| 5831 if (n > 0) { | |
| 5832 flag_qsort((unsigned short *) w, 0, n); | |
| 5833 *out_utf16 = (unsigned short *) malloc(n * sizeof(unsigned short)); | |
| 5834 if (!*out_utf16) return 1; | |
| 5835 memcpy(*out_utf16, w, n * sizeof(unsigned short)); | |
| 5836 } | |
| 5837 *out_utf16_len = n; | |
| 5838 } | |
| 5839 return 0; | |
| 5840 } | |
| OLD | NEW |