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