1 /* 2 * Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net> 3 * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai. 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining 6 * a copy of this software and associated documentation files or portions 7 * thereof (the "Software"), to deal in the Software without restriction, 8 * including without limitation the rights to use, copy, modify, merge, 9 * publish, distribute, sublicense, and/or sell copies of the Software, 10 * and to permit persons to whom the Software is furnished to do so, subject 11 * to the following conditions: 12 * 13 * * Redistributions of source code must retain the above copyright notice, 14 * this list of conditions and the following disclaimer. 15 * 16 * * Redistributions in binary form must reproduce the above copyright notice 17 * in the binary, as well as this list of conditions and the following 18 * disclaimer in the documentation and/or other materials provided with 19 * the distribution. 20 * 21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 22 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 24 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 * THE SOFTWARE. 28 * 29 */ 30 31 #include "VTparse.h" 32 33 #define USE_MBCS 34 #define USE_ISO2022 35 36 // #pragma mark UTF8 coding ground table 37 int gUTF8GroundTable[] = 38 { 39 /* NUL SOH STX ETX */ 40 CASE_IGNORE, 41 CASE_IGNORE, 42 CASE_IGNORE, 43 CASE_IGNORE, 44 /* EOT ENQ ACK BEL */ 45 CASE_IGNORE, 46 CASE_IGNORE, 47 CASE_IGNORE, 48 CASE_BELL, 49 /* BS HT NL VT */ 50 CASE_BS, 51 CASE_TAB, 52 CASE_LF, 53 CASE_LF, /* CASE_UP*/ 54 /* NP CR SO SI */ 55 CASE_LF, /* CASE_IGNORE*/ 56 CASE_CR, 57 CASE_SO, 58 CASE_SI, 59 /* DLE DC1 DC2 DC3 */ 60 CASE_IGNORE, 61 CASE_IGNORE, 62 CASE_IGNORE, 63 CASE_IGNORE, 64 /* DC4 NAK SYN ETB */ 65 CASE_IGNORE, 66 CASE_IGNORE, 67 CASE_IGNORE, 68 CASE_IGNORE, 69 /* CAN EM SUB ESC */ 70 CASE_IGNORE, 71 CASE_IGNORE, 72 CASE_IGNORE, 73 CASE_ESC, 74 /* FS GS RS US */ 75 CASE_IGNORE, 76 CASE_IGNORE, 77 CASE_IGNORE, 78 CASE_IGNORE, 79 /* SP ! " # */ 80 CASE_PRINT, 81 CASE_PRINT, 82 CASE_PRINT, 83 CASE_PRINT, 84 /* $ % & ' */ 85 CASE_PRINT, 86 CASE_PRINT, 87 CASE_PRINT, 88 CASE_PRINT, 89 /* ( ) * + */ 90 CASE_PRINT, 91 CASE_PRINT, 92 CASE_PRINT, 93 CASE_PRINT, 94 /* , - . / */ 95 CASE_PRINT, 96 CASE_PRINT, 97 CASE_PRINT, 98 CASE_PRINT, 99 /* 0 1 2 3 */ 100 CASE_PRINT, 101 CASE_PRINT, 102 CASE_PRINT, 103 CASE_PRINT, 104 /* 4 5 6 7 */ 105 CASE_PRINT, 106 CASE_PRINT, 107 CASE_PRINT, 108 CASE_PRINT, 109 /* 8 9 : ; */ 110 CASE_PRINT, 111 CASE_PRINT, 112 CASE_PRINT, 113 CASE_PRINT, 114 /* < = > ? */ 115 CASE_PRINT, 116 CASE_PRINT, 117 CASE_PRINT, 118 CASE_PRINT, 119 /* @ A B C */ 120 CASE_PRINT, 121 CASE_PRINT, 122 CASE_PRINT, 123 CASE_PRINT, 124 /* D E F G */ 125 CASE_PRINT, 126 CASE_PRINT, 127 CASE_PRINT, 128 CASE_PRINT, 129 /* H I J K */ 130 CASE_PRINT, 131 CASE_PRINT, 132 CASE_PRINT, 133 CASE_PRINT, 134 /* L M N O */ 135 CASE_PRINT, 136 CASE_PRINT, 137 CASE_PRINT, 138 CASE_PRINT, 139 /* P Q R S */ 140 CASE_PRINT, 141 CASE_PRINT, 142 CASE_PRINT, 143 CASE_PRINT, 144 /* T U V W */ 145 CASE_PRINT, 146 CASE_PRINT, 147 CASE_PRINT, 148 CASE_PRINT, 149 /* X Y Z [ */ 150 CASE_PRINT, 151 CASE_PRINT, 152 CASE_PRINT, 153 CASE_PRINT, 154 /* \ ] ^ _ */ 155 CASE_PRINT, 156 CASE_PRINT, 157 CASE_PRINT, 158 CASE_PRINT, 159 /* ` a b c */ 160 CASE_PRINT, 161 CASE_PRINT, 162 CASE_PRINT, 163 CASE_PRINT, 164 /* d e f g */ 165 CASE_PRINT, 166 CASE_PRINT, 167 CASE_PRINT, 168 CASE_PRINT, 169 /* h i j k */ 170 CASE_PRINT, 171 CASE_PRINT, 172 CASE_PRINT, 173 CASE_PRINT, 174 /* l m n o */ 175 CASE_PRINT, 176 CASE_PRINT, 177 CASE_PRINT, 178 CASE_PRINT, 179 /* p q r s */ 180 CASE_PRINT, 181 CASE_PRINT, 182 CASE_PRINT, 183 CASE_PRINT, 184 /* t u v w */ 185 CASE_PRINT, 186 CASE_PRINT, 187 CASE_PRINT, 188 CASE_PRINT, 189 /* x y z { */ 190 CASE_PRINT, 191 CASE_PRINT, 192 CASE_PRINT, 193 CASE_PRINT, 194 /* | } ~ DEL */ 195 CASE_PRINT, 196 CASE_PRINT, 197 CASE_PRINT, 198 CASE_IGNORE, 199 /* 0x80 0x81 0x82 0x83 */ 200 CASE_UTF8_INSTRING, 201 CASE_UTF8_INSTRING, 202 CASE_UTF8_INSTRING, 203 CASE_UTF8_INSTRING, 204 /* 0x84 0x85 0x86 0x87 */ 205 CASE_UTF8_INSTRING, 206 CASE_UTF8_INSTRING, 207 CASE_UTF8_INSTRING, 208 CASE_UTF8_INSTRING, 209 /* 0x88 0x89 0x8a 0x8b */ 210 CASE_UTF8_INSTRING, 211 CASE_UTF8_INSTRING, 212 CASE_UTF8_INSTRING, 213 CASE_UTF8_INSTRING, 214 /* 0x8c 0x8d 0x8e 0x8f */ 215 CASE_UTF8_INSTRING, 216 CASE_UTF8_INSTRING, 217 CASE_UTF8_INSTRING, 218 CASE_UTF8_INSTRING, 219 /* 0x90 0x91 0x92 0x93 */ 220 CASE_UTF8_INSTRING, 221 CASE_UTF8_INSTRING, 222 CASE_UTF8_INSTRING, 223 CASE_UTF8_INSTRING, 224 /* 0x94 0x95 0x96 0x97 */ 225 CASE_UTF8_INSTRING, 226 CASE_UTF8_INSTRING, 227 CASE_UTF8_INSTRING, 228 CASE_UTF8_INSTRING, 229 /* 0x99 0x99 0x9a 0x9b */ 230 CASE_UTF8_INSTRING, 231 CASE_UTF8_INSTRING, 232 CASE_UTF8_INSTRING, 233 CASE_UTF8_INSTRING, 234 /* 0x9c 0x9d 0x9e 0x9f */ 235 CASE_UTF8_INSTRING, 236 CASE_UTF8_INSTRING, 237 CASE_UTF8_INSTRING, 238 CASE_UTF8_INSTRING, 239 /* 0xa0 0xa1 0xa2 0xa3 */ 240 CASE_UTF8_INSTRING, 241 CASE_UTF8_INSTRING, 242 CASE_UTF8_INSTRING, 243 CASE_UTF8_INSTRING, 244 /* 0xa4 0xa5 0xa6 0xa7 */ 245 CASE_UTF8_INSTRING, 246 CASE_UTF8_INSTRING, 247 CASE_UTF8_INSTRING, 248 CASE_UTF8_INSTRING, 249 /* 0xa8 0xa9 0xaa 0xab */ 250 CASE_UTF8_INSTRING, 251 CASE_UTF8_INSTRING, 252 CASE_UTF8_INSTRING, 253 CASE_UTF8_INSTRING, 254 /* 0xac 0xad 0xae 0xaf */ 255 CASE_UTF8_INSTRING, 256 CASE_UTF8_INSTRING, 257 CASE_UTF8_INSTRING, 258 CASE_UTF8_INSTRING, 259 /* 0xb0 0xb1 0xb2 0xb3 */ 260 CASE_UTF8_INSTRING, 261 CASE_UTF8_INSTRING, 262 CASE_UTF8_INSTRING, 263 CASE_UTF8_INSTRING, 264 /* 0xb4 0xb5 0xb6 0xb7 */ 265 CASE_UTF8_INSTRING, 266 CASE_UTF8_INSTRING, 267 CASE_UTF8_INSTRING, 268 CASE_UTF8_INSTRING, 269 /* 0xb8 0xb9 0xba 0xbb */ 270 CASE_UTF8_INSTRING, 271 CASE_UTF8_INSTRING, 272 CASE_UTF8_INSTRING, 273 CASE_UTF8_INSTRING, 274 /* 0xbc 0xbd 0xbe 0xbf */ 275 CASE_UTF8_INSTRING, 276 CASE_UTF8_INSTRING, 277 CASE_UTF8_INSTRING, 278 CASE_UTF8_INSTRING, 279 /* 0xc0 0xc1 0xc2 0xc3 */ 280 CASE_UTF8_2BYTE, 281 CASE_UTF8_2BYTE, 282 CASE_UTF8_2BYTE, 283 CASE_UTF8_2BYTE, 284 /* 0xc4 0xc5 0xc6 0xc7 */ 285 CASE_UTF8_2BYTE, 286 CASE_UTF8_2BYTE, 287 CASE_UTF8_2BYTE, 288 CASE_UTF8_2BYTE, 289 /* 0xc8 0xc9 0xca 0xcb */ 290 CASE_UTF8_2BYTE, 291 CASE_UTF8_2BYTE, 292 CASE_UTF8_2BYTE, 293 CASE_UTF8_2BYTE, 294 /* 0xcc 0xcd 0xce 0xcf */ 295 CASE_UTF8_2BYTE, 296 CASE_UTF8_2BYTE, 297 CASE_UTF8_2BYTE, 298 CASE_UTF8_2BYTE, 299 /* 0xd0 0xd1 0xd2 0xd3 */ 300 CASE_UTF8_2BYTE, 301 CASE_UTF8_2BYTE, 302 CASE_UTF8_2BYTE, 303 CASE_UTF8_2BYTE, 304 /* 0xd4 0xd5 0xd6 0xd7 */ 305 CASE_UTF8_2BYTE, 306 CASE_UTF8_2BYTE, 307 CASE_UTF8_2BYTE, 308 CASE_UTF8_2BYTE, 309 /* 0xd8 0xd9 0xda 0xdb */ 310 CASE_UTF8_2BYTE, 311 CASE_UTF8_2BYTE, 312 CASE_UTF8_2BYTE, 313 CASE_UTF8_2BYTE, 314 /* 0xdc 0xdd 0xde 0xdf */ 315 CASE_UTF8_2BYTE, 316 CASE_UTF8_2BYTE, 317 CASE_UTF8_2BYTE, 318 CASE_UTF8_2BYTE, 319 /* 0xe0 0xe1 0xe2 0xe3 */ 320 CASE_UTF8_3BYTE, 321 CASE_UTF8_3BYTE, 322 CASE_UTF8_3BYTE, 323 CASE_UTF8_3BYTE, 324 /* 0xe4 0xe5 0xe6 0xe7 */ 325 CASE_UTF8_3BYTE, 326 CASE_UTF8_3BYTE, 327 CASE_UTF8_3BYTE, 328 CASE_UTF8_3BYTE, 329 /* 0xe8 0xe9 0xea 0xeb */ 330 CASE_UTF8_3BYTE, 331 CASE_UTF8_3BYTE, 332 CASE_UTF8_3BYTE, 333 CASE_UTF8_3BYTE, 334 /* 0xec 0xed 0xee 0xef */ 335 CASE_UTF8_3BYTE, 336 CASE_UTF8_3BYTE, 337 CASE_UTF8_3BYTE, 338 CASE_UTF8_3BYTE, 339 /* 0xf0 0xf1 0xf2 0xf3 */ 340 CASE_UTF8_3BYTE, 341 CASE_UTF8_3BYTE, 342 CASE_UTF8_3BYTE, 343 CASE_UTF8_3BYTE, 344 /* 0xf4 0xf5 0xf6 0xf7 */ 345 CASE_UTF8_3BYTE, 346 CASE_UTF8_3BYTE, 347 CASE_UTF8_3BYTE, 348 CASE_UTF8_3BYTE, 349 /* 0xf8 0xf9 0xfa 0xfb */ 350 CASE_UTF8_3BYTE, 351 CASE_UTF8_3BYTE, 352 CASE_UTF8_3BYTE, 353 CASE_UTF8_3BYTE, 354 /* 0xfc 0xfd 0xfe 0xff */ 355 CASE_UTF8_3BYTE, 356 CASE_UTF8_3BYTE, 357 CASE_UTF8_3BYTE, 358 CASE_UTF8_3BYTE, 359 }; 360 361 // #pragma mark charset 96 table 362 int gCS96GroundTable[] = 363 { 364 /* NUL SOH STX ETX */ 365 CASE_IGNORE, 366 CASE_IGNORE, 367 CASE_IGNORE, 368 CASE_IGNORE, 369 /* EOT ENQ ACK BEL */ 370 CASE_IGNORE, 371 CASE_IGNORE, 372 CASE_IGNORE, 373 CASE_BELL, 374 /* BS HT NL VT */ 375 CASE_BS, 376 CASE_TAB, 377 CASE_LF, 378 CASE_LF, /* CASE_UP*/ 379 /* NP CR SO SI */ 380 CASE_LF, /* CASE_IGNORE*/ 381 CASE_CR, 382 CASE_SO, 383 CASE_SI, 384 /* DLE DC1 DC2 DC3 */ 385 CASE_IGNORE, 386 CASE_IGNORE, 387 CASE_IGNORE, 388 CASE_IGNORE, 389 /* DC4 NAK SYN ETB */ 390 CASE_IGNORE, 391 CASE_IGNORE, 392 CASE_IGNORE, 393 CASE_IGNORE, 394 /* CAN EM SUB ESC */ 395 CASE_IGNORE, 396 CASE_IGNORE, 397 CASE_IGNORE, 398 CASE_ESC, 399 /* FS GS RS US */ 400 CASE_IGNORE, 401 CASE_IGNORE, 402 CASE_IGNORE, 403 CASE_IGNORE, 404 /* SP ! " # */ 405 CASE_PRINT_CS96, 406 CASE_PRINT_CS96, 407 CASE_PRINT_CS96, 408 CASE_PRINT_CS96, 409 /* $ % & ' */ 410 CASE_PRINT_CS96, 411 CASE_PRINT_CS96, 412 CASE_PRINT_CS96, 413 CASE_PRINT_CS96, 414 /* ( ) * + */ 415 CASE_PRINT_CS96, 416 CASE_PRINT_CS96, 417 CASE_PRINT_CS96, 418 CASE_PRINT_CS96, 419 /* , - . / */ 420 CASE_PRINT_CS96, 421 CASE_PRINT_CS96, 422 CASE_PRINT_CS96, 423 CASE_PRINT_CS96, 424 /* 0 1 2 3 */ 425 CASE_PRINT_CS96, 426 CASE_PRINT_CS96, 427 CASE_PRINT_CS96, 428 CASE_PRINT_CS96, 429 /* 4 5 6 7 */ 430 CASE_PRINT_CS96, 431 CASE_PRINT_CS96, 432 CASE_PRINT_CS96, 433 CASE_PRINT_CS96, 434 /* 8 9 : ; */ 435 CASE_PRINT_CS96, 436 CASE_PRINT_CS96, 437 CASE_PRINT_CS96, 438 CASE_PRINT_CS96, 439 /* < = > ? */ 440 CASE_PRINT_CS96, 441 CASE_PRINT_CS96, 442 CASE_PRINT_CS96, 443 CASE_PRINT_CS96, 444 /* @ A B C */ 445 CASE_PRINT_CS96, 446 CASE_PRINT_CS96, 447 CASE_PRINT_CS96, 448 CASE_PRINT_CS96, 449 /* D E F G */ 450 CASE_PRINT_CS96, 451 CASE_PRINT_CS96, 452 CASE_PRINT_CS96, 453 CASE_PRINT_CS96, 454 /* H I J K */ 455 CASE_PRINT_CS96, 456 CASE_PRINT_CS96, 457 CASE_PRINT_CS96, 458 CASE_PRINT_CS96, 459 /* L M N O */ 460 CASE_PRINT_CS96, 461 CASE_PRINT_CS96, 462 CASE_PRINT_CS96, 463 CASE_PRINT_CS96, 464 /* P Q R S */ 465 CASE_PRINT_CS96, 466 CASE_PRINT_CS96, 467 CASE_PRINT_CS96, 468 CASE_PRINT_CS96, 469 /* T U V W */ 470 CASE_PRINT_CS96, 471 CASE_PRINT_CS96, 472 CASE_PRINT_CS96, 473 CASE_PRINT_CS96, 474 /* X Y Z [ */ 475 CASE_PRINT_CS96, 476 CASE_PRINT_CS96, 477 CASE_PRINT_CS96, 478 CASE_PRINT_CS96, 479 /* \ ] ^ _ */ 480 CASE_PRINT_CS96, 481 CASE_PRINT_CS96, 482 CASE_PRINT_CS96, 483 CASE_PRINT_CS96, 484 /* ` a b c */ 485 CASE_PRINT_CS96, 486 CASE_PRINT_CS96, 487 CASE_PRINT_CS96, 488 CASE_PRINT_CS96, 489 /* d e f g */ 490 CASE_PRINT_CS96, 491 CASE_PRINT_CS96, 492 CASE_PRINT_CS96, 493 CASE_PRINT_CS96, 494 /* h i j k */ 495 CASE_PRINT_CS96, 496 CASE_PRINT_CS96, 497 CASE_PRINT_CS96, 498 CASE_PRINT_CS96, 499 /* l m n o */ 500 CASE_PRINT_CS96, 501 CASE_PRINT_CS96, 502 CASE_PRINT_CS96, 503 CASE_PRINT_CS96, 504 /* p q r s */ 505 CASE_PRINT_CS96, 506 CASE_PRINT_CS96, 507 CASE_PRINT_CS96, 508 CASE_PRINT_CS96, 509 /* t u v w */ 510 CASE_PRINT_CS96, 511 CASE_PRINT_CS96, 512 CASE_PRINT_CS96, 513 CASE_PRINT_CS96, 514 /* x y z { */ 515 CASE_PRINT_CS96, 516 CASE_PRINT_CS96, 517 CASE_PRINT_CS96, 518 CASE_PRINT_CS96, 519 /* | } ~ DEL */ 520 CASE_PRINT_CS96, 521 CASE_PRINT_CS96, 522 CASE_PRINT_CS96, 523 CASE_PRINT_CS96, 524 /* 0x80 0x81 0x82 0x83 */ 525 CASE_IGNORE, 526 CASE_IGNORE, 527 CASE_IGNORE, 528 CASE_IGNORE, 529 /* 0x84 0x85 0x86 0x87 */ 530 CASE_IGNORE, 531 CASE_IGNORE, 532 CASE_IGNORE, 533 CASE_IGNORE, 534 /* 0x88 0x89 0x8a 0x8b */ 535 CASE_IGNORE, 536 CASE_IGNORE, 537 CASE_IGNORE, 538 CASE_IGNORE, 539 /* 0x8c 0x8d 0x8e 0x8f */ 540 CASE_IGNORE, 541 CASE_IGNORE, 542 CASE_IGNORE, 543 CASE_IGNORE, 544 /* 0x90 0x91 0x92 0x93 */ 545 CASE_IGNORE, 546 CASE_IGNORE, 547 CASE_IGNORE, 548 CASE_IGNORE, 549 /* 0x94 0x95 0x96 0x97 */ 550 CASE_IGNORE, 551 CASE_IGNORE, 552 CASE_IGNORE, 553 CASE_IGNORE, 554 /* 0x99 0x99 0x9a 0x9b */ 555 CASE_IGNORE, 556 CASE_IGNORE, 557 CASE_IGNORE, 558 CASE_IGNORE, 559 /* 0x9c 0x9d 0x9e 0x9f */ 560 CASE_IGNORE, 561 CASE_IGNORE, 562 CASE_IGNORE, 563 CASE_IGNORE, 564 /* 0xa0 0xa1 0xa2 0xa3 */ 565 CASE_IGNORE, 566 CASE_IGNORE, 567 CASE_IGNORE, 568 CASE_IGNORE, 569 /* 0xa4 0xa5 0xa6 0xa7 */ 570 CASE_IGNORE, 571 CASE_IGNORE, 572 CASE_IGNORE, 573 CASE_IGNORE, 574 /* 0xa8 0xa9 0xaa 0xab */ 575 CASE_IGNORE, 576 CASE_IGNORE, 577 CASE_IGNORE, 578 CASE_IGNORE, 579 /* 0xac 0xad 0xae 0xaf */ 580 CASE_IGNORE, 581 CASE_IGNORE, 582 CASE_IGNORE, 583 CASE_IGNORE, 584 /* 0xb0 0xb1 0xb2 0xb3 */ 585 CASE_IGNORE, 586 CASE_IGNORE, 587 CASE_IGNORE, 588 CASE_IGNORE, 589 /* 0xb4 0xb5 0xb6 0xb7 */ 590 CASE_IGNORE, 591 CASE_IGNORE, 592 CASE_IGNORE, 593 CASE_IGNORE, 594 /* 0xb8 0xb9 0xba 0xbb */ 595 CASE_IGNORE, 596 CASE_IGNORE, 597 CASE_IGNORE, 598 CASE_IGNORE, 599 /* 0xbc 0xbd 0xbe 0xbf */ 600 CASE_IGNORE, 601 CASE_IGNORE, 602 CASE_IGNORE, 603 CASE_IGNORE, 604 /* 0xc0 0xc1 0xc2 0xc3 */ 605 CASE_IGNORE, 606 CASE_IGNORE, 607 CASE_IGNORE, 608 CASE_IGNORE, 609 /* 0xc4 0xc5 0xc6 0xc7 */ 610 CASE_IGNORE, 611 CASE_IGNORE, 612 CASE_IGNORE, 613 CASE_IGNORE, 614 /* 0xc8 0xc9 0xca 0xcb */ 615 CASE_IGNORE, 616 CASE_IGNORE, 617 CASE_IGNORE, 618 CASE_IGNORE, 619 /* 0xcc 0xcd 0xce 0xcf */ 620 CASE_IGNORE, 621 CASE_IGNORE, 622 CASE_IGNORE, 623 CASE_IGNORE, 624 /* 0xd0 0xd1 0xd2 0xd3 */ 625 CASE_IGNORE, 626 CASE_IGNORE, 627 CASE_IGNORE, 628 CASE_IGNORE, 629 /* 0xd4 0xd5 0xd6 0xd7 */ 630 CASE_IGNORE, 631 CASE_IGNORE, 632 CASE_IGNORE, 633 CASE_IGNORE, 634 /* 0xd8 0xd9 0xda 0xdb */ 635 CASE_IGNORE, 636 CASE_IGNORE, 637 CASE_IGNORE, 638 CASE_IGNORE, 639 /* 0xdc 0xdd 0xde 0xdf */ 640 CASE_IGNORE, 641 CASE_IGNORE, 642 CASE_IGNORE, 643 CASE_IGNORE, 644 /* 0xe0 0xe1 0xe2 0xe3 */ 645 CASE_IGNORE, 646 CASE_IGNORE, 647 CASE_IGNORE, 648 CASE_IGNORE, 649 /* 0xe4 0xe5 0xe6 0xe7 */ 650 CASE_IGNORE, 651 CASE_IGNORE, 652 CASE_IGNORE, 653 CASE_IGNORE, 654 /* 0xe8 0xe9 0xea 0xeb */ 655 CASE_IGNORE, 656 CASE_IGNORE, 657 CASE_IGNORE, 658 CASE_IGNORE, 659 /* 0xec 0xed 0xee 0xef */ 660 CASE_IGNORE, 661 CASE_IGNORE, 662 CASE_IGNORE, 663 CASE_IGNORE, 664 /* 0xf0 0xf1 0xf2 0xf3 */ 665 CASE_IGNORE, 666 CASE_IGNORE, 667 CASE_IGNORE, 668 CASE_IGNORE, 669 /* 0xf4 0xf5 0xf6 0xf7 */ 670 CASE_IGNORE, 671 CASE_IGNORE, 672 CASE_IGNORE, 673 CASE_IGNORE, 674 /* 0xf8 0xf9 0xfa 0xfb */ 675 CASE_IGNORE, 676 CASE_IGNORE, 677 CASE_IGNORE, 678 CASE_IGNORE, 679 /* 0xfc 0xfd 0xfe 0xff */ 680 CASE_IGNORE, 681 CASE_IGNORE, 682 CASE_IGNORE, 683 CASE_IGNORE, 684 }; 685 686 // #pragma mark ISO8859 table 687 int gISO8859GroundTable[] = 688 { 689 /* NUL SOH STX ETX */ 690 CASE_IGNORE, 691 CASE_IGNORE, 692 CASE_IGNORE, 693 CASE_IGNORE, 694 /* EOT ENQ ACK BEL */ 695 CASE_IGNORE, 696 CASE_IGNORE, 697 CASE_IGNORE, 698 CASE_BELL, 699 /* BS HT NL VT */ 700 CASE_BS, 701 CASE_TAB, 702 CASE_LF, 703 CASE_LF, /*CASE_UP,*/ 704 /* NP CR SO SI */ 705 CASE_LF, /*CASE_IGNORE,*/ 706 CASE_CR, 707 CASE_SO, 708 CASE_SI, 709 /* DLE DC1 DC2 DC3 */ 710 CASE_IGNORE, 711 CASE_IGNORE, 712 CASE_IGNORE, 713 CASE_IGNORE, 714 /* DC4 NAK SYN ETB */ 715 CASE_IGNORE, 716 CASE_IGNORE, 717 CASE_IGNORE, 718 CASE_IGNORE, 719 /* CAN EM SUB ESC */ 720 CASE_IGNORE, 721 CASE_IGNORE, 722 CASE_IGNORE, 723 CASE_ESC, 724 /* FS GS RS US */ 725 CASE_IGNORE, 726 CASE_IGNORE, 727 CASE_IGNORE, 728 CASE_IGNORE, 729 /* SP ! " # */ 730 CASE_PRINT, 731 CASE_PRINT, 732 CASE_PRINT, 733 CASE_PRINT, 734 /* $ % & ' */ 735 CASE_PRINT, 736 CASE_PRINT, 737 CASE_PRINT, 738 CASE_PRINT, 739 /* ( ) * + */ 740 CASE_PRINT, 741 CASE_PRINT, 742 CASE_PRINT, 743 CASE_PRINT, 744 /* , - . / */ 745 CASE_PRINT, 746 CASE_PRINT, 747 CASE_PRINT, 748 CASE_PRINT, 749 /* 0 1 2 3 */ 750 CASE_PRINT, 751 CASE_PRINT, 752 CASE_PRINT, 753 CASE_PRINT, 754 /* 4 5 6 7 */ 755 CASE_PRINT, 756 CASE_PRINT, 757 CASE_PRINT, 758 CASE_PRINT, 759 /* 8 9 : ; */ 760 CASE_PRINT, 761 CASE_PRINT, 762 CASE_PRINT, 763 CASE_PRINT, 764 /* < = > ? */ 765 CASE_PRINT, 766 CASE_PRINT, 767 CASE_PRINT, 768 CASE_PRINT, 769 /* @ A B C */ 770 CASE_PRINT, 771 CASE_PRINT, 772 CASE_PRINT, 773 CASE_PRINT, 774 /* D E F G */ 775 CASE_PRINT, 776 CASE_PRINT, 777 CASE_PRINT, 778 CASE_PRINT, 779 /* H I J K */ 780 CASE_PRINT, 781 CASE_PRINT, 782 CASE_PRINT, 783 CASE_PRINT, 784 /* L M N O */ 785 CASE_PRINT, 786 CASE_PRINT, 787 CASE_PRINT, 788 CASE_PRINT, 789 /* P Q R S */ 790 CASE_PRINT, 791 CASE_PRINT, 792 CASE_PRINT, 793 CASE_PRINT, 794 /* T U V W */ 795 CASE_PRINT, 796 CASE_PRINT, 797 CASE_PRINT, 798 CASE_PRINT, 799 /* X Y Z [ */ 800 CASE_PRINT, 801 CASE_PRINT, 802 CASE_PRINT, 803 CASE_PRINT, 804 /* \ ] ^ _ */ 805 CASE_PRINT, 806 CASE_PRINT, 807 CASE_PRINT, 808 CASE_PRINT, 809 /* ` a b c */ 810 CASE_PRINT, 811 CASE_PRINT, 812 CASE_PRINT, 813 CASE_PRINT, 814 /* d e f g */ 815 CASE_PRINT, 816 CASE_PRINT, 817 CASE_PRINT, 818 CASE_PRINT, 819 /* h i j k */ 820 CASE_PRINT, 821 CASE_PRINT, 822 CASE_PRINT, 823 CASE_PRINT, 824 /* l m n o */ 825 CASE_PRINT, 826 CASE_PRINT, 827 CASE_PRINT, 828 CASE_PRINT, 829 /* p q r s */ 830 CASE_PRINT, 831 CASE_PRINT, 832 CASE_PRINT, 833 CASE_PRINT, 834 /* t u v w */ 835 CASE_PRINT, 836 CASE_PRINT, 837 CASE_PRINT, 838 CASE_PRINT, 839 /* x y z { */ 840 CASE_PRINT, 841 CASE_PRINT, 842 CASE_PRINT, 843 CASE_PRINT, 844 /* | } ~ DEL */ 845 CASE_PRINT, 846 CASE_PRINT, 847 CASE_PRINT, 848 CASE_PRINT, 849 /* 0x80 0x81 0x82 0x83 */ 850 CASE_IGNORE, 851 CASE_IGNORE, 852 CASE_IGNORE, 853 CASE_IGNORE, 854 /* 0x84 0x85 0x86 0x87 */ 855 CASE_IGNORE, 856 CASE_IGNORE, 857 CASE_IGNORE, 858 CASE_IGNORE, 859 /* 0x88 0x89 0x8a 0x8b */ 860 CASE_IGNORE, 861 CASE_IGNORE, 862 CASE_IGNORE, 863 CASE_IGNORE, 864 /* 0x8c 0x8d 0x8e 0x8f */ 865 CASE_IGNORE, 866 CASE_IGNORE, 867 CASE_SS2, 868 CASE_SS3, 869 /* 0x90 0x91 0x92 0x93 */ 870 CASE_IGNORE, 871 CASE_IGNORE, 872 CASE_IGNORE, 873 CASE_IGNORE, 874 /* 0x94 0x95 0x96 0x97 */ 875 CASE_IGNORE, 876 CASE_IGNORE, 877 CASE_IGNORE, 878 CASE_IGNORE, 879 /* 0x99 0x99 0x9a 0x9b */ 880 CASE_IGNORE, 881 CASE_IGNORE, 882 CASE_IGNORE, 883 CASE_CSI_STATE, 884 /* 0x9c 0x9d 0x9e 0x9f */ 885 CASE_IGNORE, 886 CASE_IGNORE, 887 CASE_IGNORE, 888 CASE_IGNORE, 889 /* nobreakspace exclamdown cent sterling */ 890 CASE_PRINT_GR, 891 CASE_PRINT_GR, 892 CASE_PRINT_GR, 893 CASE_PRINT_GR, 894 /* currency yen brokenbar section */ 895 CASE_PRINT_GR, 896 CASE_PRINT_GR, 897 CASE_PRINT_GR, 898 CASE_PRINT_GR, 899 /* diaeresis copyright ordfeminine guillemotleft */ 900 CASE_PRINT_GR, 901 CASE_PRINT_GR, 902 CASE_PRINT_GR, 903 CASE_PRINT_GR, 904 /* notsign hyphen registered macron */ 905 CASE_PRINT_GR, 906 CASE_PRINT_GR, 907 CASE_PRINT_GR, 908 CASE_PRINT_GR, 909 /* degree plusminus twosuperior threesuperior */ 910 CASE_PRINT_GR, 911 CASE_PRINT_GR, 912 CASE_PRINT_GR, 913 CASE_PRINT_GR, 914 /* acute mu paragraph periodcentered */ 915 CASE_PRINT_GR, 916 CASE_PRINT_GR, 917 CASE_PRINT_GR, 918 CASE_PRINT_GR, 919 /* cedilla onesuperior masculine guillemotright */ 920 CASE_PRINT_GR, 921 CASE_PRINT_GR, 922 CASE_PRINT_GR, 923 CASE_PRINT_GR, 924 /* onequarter onehalf threequarters questiondown */ 925 CASE_PRINT_GR, 926 CASE_PRINT_GR, 927 CASE_PRINT_GR, 928 CASE_PRINT_GR, 929 /* Agrave Aacute Acircumflex Atilde */ 930 CASE_PRINT_GR, 931 CASE_PRINT_GR, 932 CASE_PRINT_GR, 933 CASE_PRINT_GR, 934 /* Adiaeresis Aring AE Ccedilla */ 935 CASE_PRINT_GR, 936 CASE_PRINT_GR, 937 CASE_PRINT_GR, 938 CASE_PRINT_GR, 939 /* Egrave Eacute Ecircumflex Ediaeresis */ 940 CASE_PRINT_GR, 941 CASE_PRINT_GR, 942 CASE_PRINT_GR, 943 CASE_PRINT_GR, 944 /* Igrave Iacute Icircumflex Idiaeresis */ 945 CASE_PRINT_GR, 946 CASE_PRINT_GR, 947 CASE_PRINT_GR, 948 CASE_PRINT_GR, 949 /* Eth Ntilde Ograve Oacute */ 950 CASE_PRINT_GR, 951 CASE_PRINT_GR, 952 CASE_PRINT_GR, 953 CASE_PRINT_GR, 954 /* Ocircumflex Otilde Odiaeresis multiply */ 955 CASE_PRINT_GR, 956 CASE_PRINT_GR, 957 CASE_PRINT_GR, 958 CASE_PRINT_GR, 959 /* Ooblique Ugrave Uacute Ucircumflex */ 960 CASE_PRINT_GR, 961 CASE_PRINT_GR, 962 CASE_PRINT_GR, 963 CASE_PRINT_GR, 964 /* Udiaeresis Yacute Thorn ssharp */ 965 CASE_PRINT_GR, 966 CASE_PRINT_GR, 967 CASE_PRINT_GR, 968 CASE_PRINT_GR, 969 /* agrave aacute acircumflex atilde */ 970 CASE_PRINT_GR, 971 CASE_PRINT_GR, 972 CASE_PRINT_GR, 973 CASE_PRINT_GR, 974 /* adiaeresis aring ae ccedilla */ 975 CASE_PRINT_GR, 976 CASE_PRINT_GR, 977 CASE_PRINT_GR, 978 CASE_PRINT_GR, 979 /* egrave eacute ecircumflex ediaeresis */ 980 CASE_PRINT_GR, 981 CASE_PRINT_GR, 982 CASE_PRINT_GR, 983 CASE_PRINT_GR, 984 /* igrave iacute icircumflex idiaeresis */ 985 CASE_PRINT_GR, 986 CASE_PRINT_GR, 987 CASE_PRINT_GR, 988 CASE_PRINT_GR, 989 /* eth ntilde ograve oacute */ 990 CASE_PRINT_GR, 991 CASE_PRINT_GR, 992 CASE_PRINT_GR, 993 CASE_PRINT_GR, 994 /* ocircumflex otilde odiaeresis division */ 995 CASE_PRINT_GR, 996 CASE_PRINT_GR, 997 CASE_PRINT_GR, 998 CASE_PRINT_GR, 999 /* oslash ugrave uacute ucircumflex */ 1000 CASE_PRINT_GR, 1001 CASE_PRINT_GR, 1002 CASE_PRINT_GR, 1003 CASE_PRINT_GR, 1004 /* udiaeresis yacute thorn ydiaeresis */ 1005 CASE_PRINT_GR, 1006 CASE_PRINT_GR, 1007 CASE_PRINT_GR, 1008 CASE_PRINT_GR, 1009 }; 1010 1011 // #pragma mark ESC [ - CSI table 1012 int gCsiTable[] = 1013 { 1014 /* NUL SOH STX ETX */ 1015 CASE_IGNORE, 1016 CASE_IGNORE, 1017 CASE_IGNORE, 1018 CASE_IGNORE, 1019 /* EOT ENQ ACK BEL */ 1020 CASE_IGNORE, 1021 CASE_IGNORE, 1022 CASE_IGNORE, 1023 CASE_BELL, 1024 /* BS HT NL VT */ 1025 CASE_BS, 1026 CASE_TAB, 1027 CASE_VMOT, 1028 CASE_VMOT, 1029 /* NP CR SO SI */ 1030 CASE_VMOT, 1031 CASE_CR, 1032 CASE_SO, 1033 CASE_SI, 1034 /* DLE DC1 DC2 DC3 */ 1035 CASE_IGNORE, 1036 CASE_IGNORE, 1037 CASE_IGNORE, 1038 CASE_IGNORE, 1039 /* DC4 NAK SYN ETB */ 1040 CASE_IGNORE, 1041 CASE_IGNORE, 1042 CASE_IGNORE, 1043 CASE_IGNORE, 1044 /* CAN EM SUB ESC */ 1045 CASE_IGNORE, 1046 CASE_IGNORE, 1047 CASE_IGNORE, 1048 CASE_ESC, 1049 /* FS GS RS US */ 1050 CASE_IGNORE, 1051 CASE_IGNORE, 1052 CASE_IGNORE, 1053 CASE_IGNORE, 1054 /* SP ! " # */ 1055 CASE_ESC_IGNORE, 1056 CASE_ESC_IGNORE, 1057 CASE_ESC_IGNORE, 1058 CASE_ESC_IGNORE, 1059 /* $ % & ' */ 1060 CASE_ESC_IGNORE, 1061 CASE_ESC_IGNORE, 1062 CASE_ESC_IGNORE, 1063 CASE_ESC_IGNORE, 1064 /* ( ) * + */ 1065 CASE_ESC_IGNORE, 1066 CASE_ESC_IGNORE, 1067 CASE_ESC_IGNORE, 1068 CASE_ESC_IGNORE, 1069 /* , - . / */ 1070 CASE_ESC_IGNORE, 1071 CASE_ESC_IGNORE, 1072 CASE_ESC_IGNORE, 1073 CASE_ESC_IGNORE, 1074 /* 0 1 2 3 */ 1075 CASE_ESC_DIGIT, 1076 CASE_ESC_DIGIT, 1077 CASE_ESC_DIGIT, 1078 CASE_ESC_DIGIT, 1079 /* 4 5 6 7 */ 1080 CASE_ESC_DIGIT, 1081 CASE_ESC_DIGIT, 1082 CASE_ESC_DIGIT, 1083 CASE_ESC_DIGIT, 1084 /* 8 9 : ; */ 1085 CASE_ESC_DIGIT, 1086 CASE_ESC_DIGIT, 1087 CASE_IGNORE, 1088 CASE_ESC_SEMI, 1089 /* < = > ? */ 1090 CASE_IGNORE, 1091 CASE_IGNORE, 1092 CASE_IGNORE, 1093 CASE_DEC_STATE, 1094 /* @ A B C */ 1095 CASE_ICH, 1096 CASE_CUU, 1097 CASE_CUD, 1098 CASE_CUF, 1099 /* D E F G */ 1100 CASE_CUB, 1101 CASE_GROUND_STATE, 1102 CASE_GROUND_STATE, 1103 CASE_HPA, 1104 /* H I J K */ 1105 CASE_CUP, 1106 CASE_GROUND_STATE, 1107 CASE_ED, 1108 CASE_EL, 1109 /* L M N O */ 1110 CASE_IL, 1111 CASE_DL, 1112 CASE_GROUND_STATE, 1113 CASE_GROUND_STATE, 1114 /* P Q R S */ 1115 CASE_DCH, 1116 CASE_GROUND_STATE, 1117 CASE_GROUND_STATE, 1118 CASE_SU, 1119 /* T U V W */ 1120 CASE_SD, 1121 CASE_GROUND_STATE, 1122 CASE_GROUND_STATE, 1123 CASE_GROUND_STATE, 1124 /* X Y Z [ */ 1125 CASE_ECH, 1126 CASE_GROUND_STATE, 1127 CASE_GROUND_STATE, 1128 CASE_GROUND_STATE, 1129 /* \ ] ^ _ */ 1130 CASE_GROUND_STATE, 1131 CASE_GROUND_STATE, 1132 CASE_GROUND_STATE, 1133 CASE_GROUND_STATE, 1134 /* ` a b c */ 1135 CASE_GROUND_STATE, 1136 CASE_GROUND_STATE, 1137 CASE_GROUND_STATE, 1138 CASE_GROUND_STATE, 1139 /* d e f g */ 1140 CASE_VPA, 1141 CASE_GROUND_STATE, 1142 CASE_CUP, 1143 CASE_GROUND_STATE, 1144 /* h i j k */ 1145 CASE_SET, 1146 CASE_GROUND_STATE, 1147 CASE_GROUND_STATE, 1148 CASE_GROUND_STATE, 1149 /* l m n o */ 1150 CASE_RST, 1151 CASE_SGR, 1152 CASE_CPR, 1153 CASE_GROUND_STATE, 1154 /* p q r s */ 1155 CASE_GROUND_STATE, 1156 CASE_GROUND_STATE, 1157 CASE_DECSTBM, 1158 CASE_GROUND_STATE, 1159 /* t u v w */ 1160 CASE_GROUND_STATE, 1161 CASE_GROUND_STATE, 1162 CASE_GROUND_STATE, 1163 CASE_GROUND_STATE, 1164 /* x y z { */ 1165 CASE_DECREQTPARM, 1166 CASE_GROUND_STATE, 1167 CASE_GROUND_STATE, 1168 CASE_GROUND_STATE, 1169 /* | } ~ DEL */ 1170 CASE_GROUND_STATE, 1171 CASE_GROUND_STATE, 1172 CASE_GROUND_STATE, 1173 CASE_GROUND_STATE, 1174 /* 0x80 0x81 0x82 0x83 */ 1175 CASE_IGNORE, 1176 CASE_IGNORE, 1177 CASE_IGNORE, 1178 CASE_IGNORE, 1179 /* 0x84 0x85 0x86 0x87 */ 1180 CASE_IGNORE, 1181 CASE_IGNORE, 1182 CASE_IGNORE, 1183 CASE_IGNORE, 1184 /* 0x88 0x89 0x8a 0x8b */ 1185 CASE_IGNORE, 1186 CASE_IGNORE, 1187 CASE_IGNORE, 1188 CASE_IGNORE, 1189 /* 0x8c 0x8d 0x8e 0x8f */ 1190 CASE_IGNORE, 1191 CASE_IGNORE, 1192 CASE_IGNORE, 1193 CASE_IGNORE, 1194 /* 0x90 0x91 0x92 0x93 */ 1195 CASE_IGNORE, 1196 CASE_IGNORE, 1197 CASE_IGNORE, 1198 CASE_IGNORE, 1199 /* 0x94 0x95 0x96 0x97 */ 1200 CASE_IGNORE, 1201 CASE_IGNORE, 1202 CASE_IGNORE, 1203 CASE_IGNORE, 1204 /* 0x99 0x99 0x9a 0x9b */ 1205 CASE_IGNORE, 1206 CASE_IGNORE, 1207 CASE_IGNORE, 1208 CASE_IGNORE, 1209 /* 0x9c 0x9d 0x9e 0x9f */ 1210 CASE_IGNORE, 1211 CASE_IGNORE, 1212 CASE_IGNORE, 1213 CASE_IGNORE, 1214 /* nobreakspace exclamdown cent sterling */ 1215 CASE_GROUND_STATE, 1216 CASE_GROUND_STATE, 1217 CASE_GROUND_STATE, 1218 CASE_GROUND_STATE, 1219 /* currency yen brokenbar section */ 1220 CASE_GROUND_STATE, 1221 CASE_GROUND_STATE, 1222 CASE_GROUND_STATE, 1223 CASE_GROUND_STATE, 1224 /* diaeresis copyright ordfeminine guillemotleft */ 1225 CASE_GROUND_STATE, 1226 CASE_GROUND_STATE, 1227 CASE_GROUND_STATE, 1228 CASE_GROUND_STATE, 1229 /* notsign hyphen registered macron */ 1230 CASE_GROUND_STATE, 1231 CASE_GROUND_STATE, 1232 CASE_GROUND_STATE, 1233 CASE_GROUND_STATE, 1234 /* degree plusminus twosuperior threesuperior */ 1235 CASE_GROUND_STATE, 1236 CASE_GROUND_STATE, 1237 CASE_GROUND_STATE, 1238 CASE_GROUND_STATE, 1239 /* acute mu paragraph periodcentered */ 1240 CASE_GROUND_STATE, 1241 CASE_GROUND_STATE, 1242 CASE_GROUND_STATE, 1243 CASE_GROUND_STATE, 1244 /* cedilla onesuperior masculine guillemotright */ 1245 CASE_GROUND_STATE, 1246 CASE_GROUND_STATE, 1247 CASE_GROUND_STATE, 1248 CASE_GROUND_STATE, 1249 /* onequarter onehalf threequarters questiondown */ 1250 CASE_GROUND_STATE, 1251 CASE_GROUND_STATE, 1252 CASE_GROUND_STATE, 1253 CASE_GROUND_STATE, 1254 /* Agrave Aacute Acircumflex Atilde */ 1255 CASE_GROUND_STATE, 1256 CASE_GROUND_STATE, 1257 CASE_GROUND_STATE, 1258 CASE_GROUND_STATE, 1259 /* Adiaeresis Aring AE Ccedilla */ 1260 CASE_GROUND_STATE, 1261 CASE_GROUND_STATE, 1262 CASE_GROUND_STATE, 1263 CASE_GROUND_STATE, 1264 /* Egrave Eacute Ecircumflex Ediaeresis */ 1265 CASE_GROUND_STATE, 1266 CASE_GROUND_STATE, 1267 CASE_GROUND_STATE, 1268 CASE_GROUND_STATE, 1269 /* Igrave Iacute Icircumflex Idiaeresis */ 1270 CASE_GROUND_STATE, 1271 CASE_GROUND_STATE, 1272 CASE_GROUND_STATE, 1273 CASE_GROUND_STATE, 1274 /* Eth Ntilde Ograve Oacute */ 1275 CASE_GROUND_STATE, 1276 CASE_GROUND_STATE, 1277 CASE_GROUND_STATE, 1278 CASE_GROUND_STATE, 1279 /* Ocircumflex Otilde Odiaeresis multiply */ 1280 CASE_GROUND_STATE, 1281 CASE_GROUND_STATE, 1282 CASE_GROUND_STATE, 1283 CASE_GROUND_STATE, 1284 /* Ooblique Ugrave Uacute Ucircumflex */ 1285 CASE_GROUND_STATE, 1286 CASE_GROUND_STATE, 1287 CASE_GROUND_STATE, 1288 CASE_GROUND_STATE, 1289 /* Udiaeresis Yacute Thorn ssharp */ 1290 CASE_GROUND_STATE, 1291 CASE_GROUND_STATE, 1292 CASE_GROUND_STATE, 1293 CASE_GROUND_STATE, 1294 /* agrave aacute acircumflex atilde */ 1295 CASE_GROUND_STATE, 1296 CASE_GROUND_STATE, 1297 CASE_GROUND_STATE, 1298 CASE_GROUND_STATE, 1299 /* adiaeresis aring ae ccedilla */ 1300 CASE_GROUND_STATE, 1301 CASE_GROUND_STATE, 1302 CASE_GROUND_STATE, 1303 CASE_GROUND_STATE, 1304 /* egrave eacute ecircumflex ediaeresis */ 1305 CASE_GROUND_STATE, 1306 CASE_GROUND_STATE, 1307 CASE_GROUND_STATE, 1308 CASE_GROUND_STATE, 1309 /* igrave iacute icircumflex idiaeresis */ 1310 CASE_GROUND_STATE, 1311 CASE_GROUND_STATE, 1312 CASE_GROUND_STATE, 1313 CASE_GROUND_STATE, 1314 /* eth ntilde ograve oacute */ 1315 CASE_GROUND_STATE, 1316 CASE_GROUND_STATE, 1317 CASE_GROUND_STATE, 1318 CASE_GROUND_STATE, 1319 /* ocircumflex otilde odiaeresis division */ 1320 CASE_GROUND_STATE, 1321 CASE_GROUND_STATE, 1322 CASE_GROUND_STATE, 1323 CASE_GROUND_STATE, 1324 /* oslash ugrave uacute ucircumflex */ 1325 CASE_GROUND_STATE, 1326 CASE_GROUND_STATE, 1327 CASE_GROUND_STATE, 1328 CASE_GROUND_STATE, 1329 /* udiaeresis yacute thorn ydiaeresis */ 1330 CASE_GROUND_STATE, 1331 CASE_GROUND_STATE, 1332 CASE_GROUND_STATE, 1333 CASE_GROUND_STATE, 1334 }; 1335 1336 // #pragma mark ESC [ ? - DEC table 1337 int gDecTable[] = 1338 { 1339 /* NUL SOH STX ETX */ 1340 CASE_IGNORE, 1341 CASE_IGNORE, 1342 CASE_IGNORE, 1343 CASE_IGNORE, 1344 /* EOT ENQ ACK BEL */ 1345 CASE_IGNORE, 1346 CASE_IGNORE, 1347 CASE_IGNORE, 1348 CASE_BELL, 1349 /* BS HT NL VT */ 1350 CASE_BS, 1351 CASE_TAB, 1352 CASE_VMOT, 1353 CASE_VMOT, 1354 /* NP CR SO SI */ 1355 CASE_VMOT, 1356 CASE_CR, 1357 CASE_SO, 1358 CASE_SI, 1359 /* DLE DC1 DC2 DC3 */ 1360 CASE_IGNORE, 1361 CASE_IGNORE, 1362 CASE_IGNORE, 1363 CASE_IGNORE, 1364 /* DC4 NAK SYN ETB */ 1365 CASE_IGNORE, 1366 CASE_IGNORE, 1367 CASE_IGNORE, 1368 CASE_IGNORE, 1369 /* CAN EM SUB ESC */ 1370 CASE_IGNORE, 1371 CASE_IGNORE, 1372 CASE_IGNORE, 1373 CASE_ESC, 1374 /* FS GS RS US */ 1375 CASE_IGNORE, 1376 CASE_IGNORE, 1377 CASE_IGNORE, 1378 CASE_IGNORE, 1379 /* SP ! " # */ 1380 CASE_ESC_IGNORE, 1381 CASE_ESC_IGNORE, 1382 CASE_ESC_IGNORE, 1383 CASE_ESC_IGNORE, 1384 /* $ % & ' */ 1385 CASE_ESC_IGNORE, 1386 CASE_ESC_IGNORE, 1387 CASE_ESC_IGNORE, 1388 CASE_ESC_IGNORE, 1389 /* ( ) * + */ 1390 CASE_ESC_IGNORE, 1391 CASE_ESC_IGNORE, 1392 CASE_ESC_IGNORE, 1393 CASE_ESC_IGNORE, 1394 /* , - . / */ 1395 CASE_ESC_IGNORE, 1396 CASE_ESC_IGNORE, 1397 CASE_ESC_IGNORE, 1398 CASE_ESC_IGNORE, 1399 /* 0 1 2 3 */ 1400 CASE_ESC_DIGIT, 1401 CASE_ESC_DIGIT, 1402 CASE_ESC_DIGIT, 1403 CASE_ESC_DIGIT, 1404 /* 4 5 6 7 */ 1405 CASE_ESC_DIGIT, 1406 CASE_ESC_DIGIT, 1407 CASE_ESC_DIGIT, 1408 CASE_ESC_DIGIT, 1409 /* 8 9 : ; */ 1410 CASE_ESC_DIGIT, 1411 CASE_ESC_DIGIT, 1412 CASE_IGNORE, 1413 CASE_ESC_SEMI, 1414 /* < = > ? */ 1415 CASE_GROUND_STATE, 1416 CASE_GROUND_STATE, 1417 CASE_GROUND_STATE, 1418 CASE_GROUND_STATE, 1419 /* @ A B C */ 1420 CASE_GROUND_STATE, 1421 CASE_GROUND_STATE, 1422 CASE_GROUND_STATE, 1423 CASE_GROUND_STATE, 1424 /* D E F G */ 1425 CASE_GROUND_STATE, 1426 #ifdef STATUSLINE 1427 CASE_ERASE_STATUS, 1428 CASE_FROM_STATUS, 1429 #else /* !STATUSLINE */ 1430 CASE_GROUND_STATE, 1431 CASE_GROUND_STATE, 1432 #endif /* !STATUSLINE */ 1433 CASE_GROUND_STATE, 1434 /* H I J K */ 1435 #ifdef STATUSLINE 1436 CASE_HIDE_STATUS, 1437 #else /* !STATUSLINE */ 1438 CASE_GROUND_STATE, 1439 #endif /* !STATUSLINE */ 1440 CASE_GROUND_STATE, 1441 CASE_GROUND_STATE, 1442 CASE_GROUND_STATE, 1443 /* L M N O */ 1444 CASE_GROUND_STATE, 1445 CASE_GROUND_STATE, 1446 CASE_GROUND_STATE, 1447 CASE_GROUND_STATE, 1448 /* P Q R S */ 1449 CASE_GROUND_STATE, 1450 CASE_GROUND_STATE, 1451 CASE_GROUND_STATE, 1452 #ifdef STATUSLINE 1453 CASE_SHOW_STATUS, 1454 #else /* !STATUSLINE */ 1455 CASE_GROUND_STATE, 1456 #endif /* !STATUSLINE */ 1457 /* T U V W */ 1458 #ifdef STATUSLINE 1459 CASE_TO_STATUS, 1460 #else /* !STATUSLINE */ 1461 CASE_GROUND_STATE, 1462 #endif /* !STATUSLINE */ 1463 CASE_GROUND_STATE, 1464 CASE_GROUND_STATE, 1465 CASE_GROUND_STATE, 1466 /* X Y Z [ */ 1467 CASE_GROUND_STATE, 1468 CASE_GROUND_STATE, 1469 CASE_GROUND_STATE, 1470 CASE_GROUND_STATE, 1471 /* \ ] ^ _ */ 1472 CASE_GROUND_STATE, 1473 CASE_GROUND_STATE, 1474 CASE_GROUND_STATE, 1475 CASE_GROUND_STATE, 1476 /* ` a b c */ 1477 CASE_GROUND_STATE, 1478 CASE_GROUND_STATE, 1479 CASE_GROUND_STATE, 1480 CASE_GROUND_STATE, 1481 /* d e f g */ 1482 CASE_GROUND_STATE, 1483 CASE_GROUND_STATE, 1484 CASE_GROUND_STATE, 1485 CASE_GROUND_STATE, 1486 /* h i j k */ 1487 CASE_DECSET, 1488 CASE_GROUND_STATE, 1489 CASE_GROUND_STATE, 1490 CASE_GROUND_STATE, 1491 /* l m n o */ 1492 CASE_DECRST, 1493 CASE_GROUND_STATE, 1494 CASE_GROUND_STATE, 1495 CASE_GROUND_STATE, 1496 /* p q r s */ 1497 CASE_GROUND_STATE, 1498 CASE_GROUND_STATE, 1499 CASE_GROUND_STATE, 1500 CASE_GROUND_STATE, 1501 /* t u v w */ 1502 CASE_GROUND_STATE, 1503 CASE_GROUND_STATE, 1504 CASE_GROUND_STATE, 1505 CASE_GROUND_STATE, 1506 /* x y z { */ 1507 CASE_GROUND_STATE, 1508 CASE_GROUND_STATE, 1509 CASE_GROUND_STATE, 1510 CASE_GROUND_STATE, 1511 /* | } ~ DEL */ 1512 CASE_GROUND_STATE, 1513 CASE_GROUND_STATE, 1514 CASE_GROUND_STATE, 1515 CASE_GROUND_STATE, 1516 /* 0x80 0x81 0x82 0x83 */ 1517 CASE_IGNORE, 1518 CASE_IGNORE, 1519 CASE_IGNORE, 1520 CASE_IGNORE, 1521 /* 0x84 0x85 0x86 0x87 */ 1522 CASE_IGNORE, 1523 CASE_IGNORE, 1524 CASE_IGNORE, 1525 CASE_IGNORE, 1526 /* 0x88 0x89 0x8a 0x8b */ 1527 CASE_IGNORE, 1528 CASE_IGNORE, 1529 CASE_IGNORE, 1530 CASE_IGNORE, 1531 /* 0x8c 0x8d 0x8e 0x8f */ 1532 CASE_IGNORE, 1533 CASE_IGNORE, 1534 CASE_IGNORE, 1535 CASE_IGNORE, 1536 /* 0x90 0x91 0x92 0x93 */ 1537 CASE_IGNORE, 1538 CASE_IGNORE, 1539 CASE_IGNORE, 1540 CASE_IGNORE, 1541 /* 0x94 0x95 0x96 0x97 */ 1542 CASE_IGNORE, 1543 CASE_IGNORE, 1544 CASE_IGNORE, 1545 CASE_IGNORE, 1546 /* 0x99 0x99 0x9a 0x9b */ 1547 CASE_IGNORE, 1548 CASE_IGNORE, 1549 CASE_IGNORE, 1550 CASE_IGNORE, 1551 /* 0x9c 0x9d 0x9e 0x9f */ 1552 CASE_IGNORE, 1553 CASE_IGNORE, 1554 CASE_IGNORE, 1555 CASE_IGNORE, 1556 /* nobreakspace exclamdown cent sterling */ 1557 CASE_GROUND_STATE, 1558 CASE_GROUND_STATE, 1559 CASE_GROUND_STATE, 1560 CASE_GROUND_STATE, 1561 /* currency yen brokenbar section */ 1562 CASE_GROUND_STATE, 1563 CASE_GROUND_STATE, 1564 CASE_GROUND_STATE, 1565 CASE_GROUND_STATE, 1566 /* diaeresis copyright ordfeminine guillemotleft */ 1567 CASE_GROUND_STATE, 1568 CASE_GROUND_STATE, 1569 CASE_GROUND_STATE, 1570 CASE_GROUND_STATE, 1571 /* notsign hyphen registered macron */ 1572 CASE_GROUND_STATE, 1573 CASE_GROUND_STATE, 1574 CASE_GROUND_STATE, 1575 CASE_GROUND_STATE, 1576 /* degree plusminus twosuperior threesuperior */ 1577 CASE_GROUND_STATE, 1578 CASE_GROUND_STATE, 1579 CASE_GROUND_STATE, 1580 CASE_GROUND_STATE, 1581 /* acute mu paragraph periodcentered */ 1582 CASE_GROUND_STATE, 1583 CASE_GROUND_STATE, 1584 CASE_GROUND_STATE, 1585 CASE_GROUND_STATE, 1586 /* cedilla onesuperior masculine guillemotright */ 1587 CASE_GROUND_STATE, 1588 CASE_GROUND_STATE, 1589 CASE_GROUND_STATE, 1590 CASE_GROUND_STATE, 1591 /* onequarter onehalf threequarters questiondown */ 1592 CASE_GROUND_STATE, 1593 CASE_GROUND_STATE, 1594 CASE_GROUND_STATE, 1595 CASE_GROUND_STATE, 1596 /* Agrave Aacute Acircumflex Atilde */ 1597 CASE_GROUND_STATE, 1598 CASE_GROUND_STATE, 1599 CASE_GROUND_STATE, 1600 CASE_GROUND_STATE, 1601 /* Adiaeresis Aring AE Ccedilla */ 1602 CASE_GROUND_STATE, 1603 CASE_GROUND_STATE, 1604 CASE_GROUND_STATE, 1605 CASE_GROUND_STATE, 1606 /* Egrave Eacute Ecircumflex Ediaeresis */ 1607 CASE_GROUND_STATE, 1608 CASE_GROUND_STATE, 1609 CASE_GROUND_STATE, 1610 CASE_GROUND_STATE, 1611 /* Igrave Iacute Icircumflex Idiaeresis */ 1612 CASE_GROUND_STATE, 1613 CASE_GROUND_STATE, 1614 CASE_GROUND_STATE, 1615 CASE_GROUND_STATE, 1616 /* Eth Ntilde Ograve Oacute */ 1617 CASE_GROUND_STATE, 1618 CASE_GROUND_STATE, 1619 CASE_GROUND_STATE, 1620 CASE_GROUND_STATE, 1621 /* Ocircumflex Otilde Odiaeresis multiply */ 1622 CASE_GROUND_STATE, 1623 CASE_GROUND_STATE, 1624 CASE_GROUND_STATE, 1625 CASE_GROUND_STATE, 1626 /* Ooblique Ugrave Uacute Ucircumflex */ 1627 CASE_GROUND_STATE, 1628 CASE_GROUND_STATE, 1629 CASE_GROUND_STATE, 1630 CASE_GROUND_STATE, 1631 /* Udiaeresis Yacute Thorn ssharp */ 1632 CASE_GROUND_STATE, 1633 CASE_GROUND_STATE, 1634 CASE_GROUND_STATE, 1635 CASE_GROUND_STATE, 1636 /* agrave aacute acircumflex atilde */ 1637 CASE_GROUND_STATE, 1638 CASE_GROUND_STATE, 1639 CASE_GROUND_STATE, 1640 CASE_GROUND_STATE, 1641 /* adiaeresis aring ae ccedilla */ 1642 CASE_GROUND_STATE, 1643 CASE_GROUND_STATE, 1644 CASE_GROUND_STATE, 1645 CASE_GROUND_STATE, 1646 /* egrave eacute ecircumflex ediaeresis */ 1647 CASE_GROUND_STATE, 1648 CASE_GROUND_STATE, 1649 CASE_GROUND_STATE, 1650 CASE_GROUND_STATE, 1651 /* igrave iacute icircumflex idiaeresis */ 1652 CASE_GROUND_STATE, 1653 CASE_GROUND_STATE, 1654 CASE_GROUND_STATE, 1655 CASE_GROUND_STATE, 1656 /* eth ntilde ograve oacute */ 1657 CASE_GROUND_STATE, 1658 CASE_GROUND_STATE, 1659 CASE_GROUND_STATE, 1660 CASE_GROUND_STATE, 1661 /* ocircumflex otilde odiaeresis division */ 1662 CASE_GROUND_STATE, 1663 CASE_GROUND_STATE, 1664 CASE_GROUND_STATE, 1665 CASE_GROUND_STATE, 1666 /* oslash ugrave uacute ucircumflex */ 1667 CASE_GROUND_STATE, 1668 CASE_GROUND_STATE, 1669 CASE_GROUND_STATE, 1670 CASE_GROUND_STATE, 1671 /* udiaeresis yacute thorn ydiaeresis */ 1672 CASE_GROUND_STATE, 1673 CASE_GROUND_STATE, 1674 CASE_GROUND_STATE, 1675 CASE_GROUND_STATE, 1676 }; 1677 1678 // #pragma mark CASE_ESC_IGNORE table 1679 int gEscIgnoreTable[] = 1680 { 1681 /* NUL SOH STX ETX */ 1682 CASE_IGNORE, 1683 CASE_IGNORE, 1684 CASE_IGNORE, 1685 CASE_IGNORE, 1686 /* EOT ENQ ACK BEL */ 1687 CASE_IGNORE, 1688 CASE_IGNORE, 1689 CASE_IGNORE, 1690 CASE_BELL, 1691 /* BS HT NL VT */ 1692 CASE_BS, 1693 CASE_TAB, 1694 CASE_VMOT, 1695 CASE_VMOT, 1696 /* NP CR SO SI */ 1697 CASE_VMOT, 1698 CASE_CR, 1699 CASE_SO, 1700 CASE_SI, 1701 /* DLE DC1 DC2 DC3 */ 1702 CASE_IGNORE, 1703 CASE_IGNORE, 1704 CASE_IGNORE, 1705 CASE_IGNORE, 1706 /* DC4 NAK SYN ETB */ 1707 CASE_IGNORE, 1708 CASE_IGNORE, 1709 CASE_IGNORE, 1710 CASE_IGNORE, 1711 /* CAN EM SUB ESC */ 1712 CASE_IGNORE, 1713 CASE_IGNORE, 1714 CASE_IGNORE, 1715 CASE_ESC, 1716 /* FS GS RS US */ 1717 CASE_IGNORE, 1718 CASE_IGNORE, 1719 CASE_IGNORE, 1720 CASE_IGNORE, 1721 /* SP ! " # */ 1722 CASE_IGNORE, 1723 CASE_IGNORE, 1724 CASE_IGNORE, 1725 CASE_IGNORE, 1726 /* $ % & ' */ 1727 CASE_IGNORE, 1728 CASE_IGNORE, 1729 CASE_IGNORE, 1730 CASE_IGNORE, 1731 /* ( ) * + */ 1732 CASE_IGNORE, 1733 CASE_IGNORE, 1734 CASE_IGNORE, 1735 CASE_IGNORE, 1736 /* , 1737 - . / */ 1738 CASE_IGNORE, 1739 CASE_IGNORE, 1740 CASE_IGNORE, 1741 CASE_IGNORE, 1742 /* 0 1 2 3 */ 1743 CASE_GROUND_STATE, 1744 CASE_GROUND_STATE, 1745 CASE_GROUND_STATE, 1746 CASE_GROUND_STATE, 1747 /* 4 5 6 7 */ 1748 CASE_GROUND_STATE, 1749 CASE_GROUND_STATE, 1750 CASE_GROUND_STATE, 1751 CASE_GROUND_STATE, 1752 /* 8 9 : ; */ 1753 CASE_GROUND_STATE, 1754 CASE_GROUND_STATE, 1755 CASE_GROUND_STATE, 1756 CASE_GROUND_STATE, 1757 /* < = > ? */ 1758 CASE_GROUND_STATE, 1759 CASE_GROUND_STATE, 1760 CASE_GROUND_STATE, 1761 CASE_GROUND_STATE, 1762 /* @ A B C */ 1763 CASE_GROUND_STATE, 1764 CASE_GROUND_STATE, 1765 CASE_GROUND_STATE, 1766 CASE_GROUND_STATE, 1767 /* D E F G */ 1768 CASE_GROUND_STATE, 1769 CASE_GROUND_STATE, 1770 CASE_GROUND_STATE, 1771 CASE_GROUND_STATE, 1772 /* H I J K */ 1773 CASE_GROUND_STATE, 1774 CASE_GROUND_STATE, 1775 CASE_GROUND_STATE, 1776 CASE_GROUND_STATE, 1777 /* L M N O */ 1778 CASE_GROUND_STATE, 1779 CASE_GROUND_STATE, 1780 CASE_GROUND_STATE, 1781 CASE_GROUND_STATE, 1782 /* P Q R S */ 1783 CASE_GROUND_STATE, 1784 CASE_GROUND_STATE, 1785 CASE_GROUND_STATE, 1786 CASE_GROUND_STATE, 1787 /* T U V W */ 1788 CASE_GROUND_STATE, 1789 CASE_GROUND_STATE, 1790 CASE_GROUND_STATE, 1791 CASE_GROUND_STATE, 1792 /* X Y Z [ */ 1793 CASE_GROUND_STATE, 1794 CASE_GROUND_STATE, 1795 CASE_GROUND_STATE, 1796 CASE_GROUND_STATE, 1797 /* \ ] ^ _ */ 1798 CASE_GROUND_STATE, 1799 CASE_GROUND_STATE, 1800 CASE_GROUND_STATE, 1801 CASE_GROUND_STATE, 1802 /* ` a b c */ 1803 CASE_GROUND_STATE, 1804 CASE_GROUND_STATE, 1805 CASE_GROUND_STATE, 1806 CASE_GROUND_STATE, 1807 /* d e f g */ 1808 CASE_GROUND_STATE, 1809 CASE_GROUND_STATE, 1810 CASE_GROUND_STATE, 1811 CASE_GROUND_STATE, 1812 /* h i j k */ 1813 CASE_GROUND_STATE, 1814 CASE_GROUND_STATE, 1815 CASE_GROUND_STATE, 1816 CASE_GROUND_STATE, 1817 /* l m n o */ 1818 CASE_GROUND_STATE, 1819 CASE_GROUND_STATE, 1820 CASE_GROUND_STATE, 1821 CASE_GROUND_STATE, 1822 /* p q r s */ 1823 CASE_GROUND_STATE, 1824 CASE_GROUND_STATE, 1825 CASE_GROUND_STATE, 1826 CASE_GROUND_STATE, 1827 /* t u v w */ 1828 CASE_GROUND_STATE, 1829 CASE_GROUND_STATE, 1830 CASE_GROUND_STATE, 1831 CASE_GROUND_STATE, 1832 /* x y z { */ 1833 CASE_GROUND_STATE, 1834 CASE_GROUND_STATE, 1835 CASE_GROUND_STATE, 1836 CASE_GROUND_STATE, 1837 /* | } ~ DEL */ 1838 CASE_GROUND_STATE, 1839 CASE_GROUND_STATE, 1840 CASE_GROUND_STATE, 1841 CASE_GROUND_STATE, 1842 /* 0x80 0x81 0x82 0x83 */ 1843 CASE_IGNORE, 1844 CASE_IGNORE, 1845 CASE_IGNORE, 1846 CASE_IGNORE, 1847 /* 0x84 0x85 0x86 0x87 */ 1848 CASE_IGNORE, 1849 CASE_IGNORE, 1850 CASE_IGNORE, 1851 CASE_IGNORE, 1852 /* 0x88 0x89 0x8a 0x8b */ 1853 CASE_IGNORE, 1854 CASE_IGNORE, 1855 CASE_IGNORE, 1856 CASE_IGNORE, 1857 /* 0x8c 0x8d 0x8e 0x8f */ 1858 CASE_IGNORE, 1859 CASE_IGNORE, 1860 CASE_IGNORE, 1861 CASE_IGNORE, 1862 /* 0x90 0x91 0x92 0x93 */ 1863 CASE_IGNORE, 1864 CASE_IGNORE, 1865 CASE_IGNORE, 1866 CASE_IGNORE, 1867 /* 0x94 0x95 0x96 0x97 */ 1868 CASE_IGNORE, 1869 CASE_IGNORE, 1870 CASE_IGNORE, 1871 CASE_IGNORE, 1872 /* 0x99 0x99 0x9a 0x9b */ 1873 CASE_IGNORE, 1874 CASE_IGNORE, 1875 CASE_IGNORE, 1876 CASE_IGNORE, 1877 /* 0x9c 0x9d 0x9e 0x9f */ 1878 CASE_IGNORE, 1879 CASE_IGNORE, 1880 CASE_IGNORE, 1881 CASE_IGNORE, 1882 /* nobreakspace exclamdown cent sterling */ 1883 CASE_GROUND_STATE, 1884 CASE_GROUND_STATE, 1885 CASE_GROUND_STATE, 1886 CASE_GROUND_STATE, 1887 /* currency yen brokenbar section */ 1888 CASE_GROUND_STATE, 1889 CASE_GROUND_STATE, 1890 CASE_GROUND_STATE, 1891 CASE_GROUND_STATE, 1892 /* diaeresis copyright ordfeminine guillemotleft */ 1893 CASE_GROUND_STATE, 1894 CASE_GROUND_STATE, 1895 CASE_GROUND_STATE, 1896 CASE_GROUND_STATE, 1897 /* notsign hyphen registered macron */ 1898 CASE_GROUND_STATE, 1899 CASE_GROUND_STATE, 1900 CASE_GROUND_STATE, 1901 CASE_GROUND_STATE, 1902 /* degree plusminus twosuperior threesuperior */ 1903 CASE_GROUND_STATE, 1904 CASE_GROUND_STATE, 1905 CASE_GROUND_STATE, 1906 CASE_GROUND_STATE, 1907 /* acute mu paragraph periodcentered */ 1908 CASE_GROUND_STATE, 1909 CASE_GROUND_STATE, 1910 CASE_GROUND_STATE, 1911 CASE_GROUND_STATE, 1912 /* cedilla onesuperior masculine guillemotright */ 1913 CASE_GROUND_STATE, 1914 CASE_GROUND_STATE, 1915 CASE_GROUND_STATE, 1916 CASE_GROUND_STATE, 1917 /* onequarter onehalf threequarters questiondown */ 1918 CASE_GROUND_STATE, 1919 CASE_GROUND_STATE, 1920 CASE_GROUND_STATE, 1921 CASE_GROUND_STATE, 1922 /* Agrave Aacute Acircumflex Atilde */ 1923 CASE_GROUND_STATE, 1924 CASE_GROUND_STATE, 1925 CASE_GROUND_STATE, 1926 CASE_GROUND_STATE, 1927 /* Adiaeresis Aring AE Ccedilla */ 1928 CASE_GROUND_STATE, 1929 CASE_GROUND_STATE, 1930 CASE_GROUND_STATE, 1931 CASE_GROUND_STATE, 1932 /* Egrave Eacute Ecircumflex Ediaeresis */ 1933 CASE_GROUND_STATE, 1934 CASE_GROUND_STATE, 1935 CASE_GROUND_STATE, 1936 CASE_GROUND_STATE, 1937 /* Igrave Iacute Icircumflex Idiaeresis */ 1938 CASE_GROUND_STATE, 1939 CASE_GROUND_STATE, 1940 CASE_GROUND_STATE, 1941 CASE_GROUND_STATE, 1942 /* Eth Ntilde Ograve Oacute */ 1943 CASE_GROUND_STATE, 1944 CASE_GROUND_STATE, 1945 CASE_GROUND_STATE, 1946 CASE_GROUND_STATE, 1947 /* Ocircumflex Otilde Odiaeresis multiply */ 1948 CASE_GROUND_STATE, 1949 CASE_GROUND_STATE, 1950 CASE_GROUND_STATE, 1951 CASE_GROUND_STATE, 1952 /* Ooblique Ugrave Uacute Ucircumflex */ 1953 CASE_GROUND_STATE, 1954 CASE_GROUND_STATE, 1955 CASE_GROUND_STATE, 1956 CASE_GROUND_STATE, 1957 /* Udiaeresis Yacute Thorn ssharp */ 1958 CASE_GROUND_STATE, 1959 CASE_GROUND_STATE, 1960 CASE_GROUND_STATE, 1961 CASE_GROUND_STATE, 1962 /* agrave aacute acircumflex atilde */ 1963 CASE_GROUND_STATE, 1964 CASE_GROUND_STATE, 1965 CASE_GROUND_STATE, 1966 CASE_GROUND_STATE, 1967 /* adiaeresis aring ae ccedilla */ 1968 CASE_GROUND_STATE, 1969 CASE_GROUND_STATE, 1970 CASE_GROUND_STATE, 1971 CASE_GROUND_STATE, 1972 /* egrave eacute ecircumflex ediaeresis */ 1973 CASE_GROUND_STATE, 1974 CASE_GROUND_STATE, 1975 CASE_GROUND_STATE, 1976 CASE_GROUND_STATE, 1977 /* igrave iacute icircumflex idiaeresis */ 1978 CASE_GROUND_STATE, 1979 CASE_GROUND_STATE, 1980 CASE_GROUND_STATE, 1981 CASE_GROUND_STATE, 1982 /* eth ntilde ograve oacute */ 1983 CASE_GROUND_STATE, 1984 CASE_GROUND_STATE, 1985 CASE_GROUND_STATE, 1986 CASE_GROUND_STATE, 1987 /* ocircumflex otilde odiaeresis division */ 1988 CASE_GROUND_STATE, 1989 CASE_GROUND_STATE, 1990 CASE_GROUND_STATE, 1991 CASE_GROUND_STATE, 1992 /* oslash ugrave uacute ucircumflex */ 1993 CASE_GROUND_STATE, 1994 CASE_GROUND_STATE, 1995 CASE_GROUND_STATE, 1996 CASE_GROUND_STATE, 1997 /* udiaeresis yacute thorn ydiaeresis */ 1998 CASE_GROUND_STATE, 1999 CASE_GROUND_STATE, 2000 CASE_GROUND_STATE, 2001 CASE_GROUND_STATE, 2002 }; 2003 2004 // #pragma mark ESC table 2005 int gEscTable[] = 2006 { 2007 /* NUL SOH STX ETX */ 2008 CASE_IGNORE, 2009 CASE_IGNORE, 2010 CASE_IGNORE, 2011 CASE_IGNORE, 2012 /* EOT ENQ ACK BEL */ 2013 CASE_IGNORE, 2014 CASE_IGNORE, 2015 CASE_IGNORE, 2016 CASE_BELL, 2017 /* BS HT NL VT */ 2018 CASE_BS, 2019 CASE_TAB, 2020 CASE_LF, 2021 CASE_LF, /*CASE_UP,*/ 2022 /* NP CR SO SI */ 2023 CASE_LF, /*CASE_IGNORE,*/ 2024 CASE_CR, 2025 CASE_SO, 2026 CASE_SI, 2027 /* DLE DC1 DC2 DC3 */ 2028 CASE_IGNORE, 2029 CASE_IGNORE, 2030 CASE_IGNORE, 2031 CASE_IGNORE, 2032 /* DC4 NAK SYN ETB */ 2033 CASE_IGNORE, 2034 CASE_IGNORE, 2035 CASE_IGNORE, 2036 CASE_IGNORE, 2037 /* CAN EM SUB ESC */ 2038 CASE_IGNORE, 2039 CASE_IGNORE, 2040 CASE_IGNORE, 2041 CASE_ESC, 2042 /* FS GS RS US */ 2043 CASE_IGNORE, 2044 CASE_IGNORE, 2045 CASE_IGNORE, 2046 CASE_IGNORE, 2047 /* SP ! " # */ 2048 CASE_ESC_IGNORE, 2049 CASE_ESC_IGNORE, 2050 CASE_ESC_IGNORE, 2051 CASE_SCR_STATE, 2052 /* $ % & ' */ 2053 #ifdef USE_ISO2022 2054 CASE_MBCS, 2055 #else /* !USE_ISO2022 */ 2056 CASE_ESC_IGNORE, 2057 #endif /* !USE_ISO2022 */ 2058 CASE_ESC_IGNORE, 2059 CASE_ESC_IGNORE, 2060 CASE_ESC_IGNORE, 2061 /* ( ) * + */ 2062 #ifdef USE_ISO2022 2063 CASE_SCS_STATE, 2064 CASE_SCS_STATE, 2065 CASE_SCS_STATE, 2066 CASE_SCS_STATE, 2067 #else /* !USE_ISO2022 */ 2068 CASE_SCS0_STATE, 2069 CASE_SCS1_STATE, 2070 CASE_SCS2_STATE, 2071 CASE_SCS3_STATE, 2072 #endif /* !USE_ISO2022 */ 2073 /* , - . / */ 2074 #ifdef USE_ISO2022 2075 CASE_SCS_STATE, /* not defined in ISO2022 but used in Mule */ 2076 CASE_SCS_STATE, 2077 CASE_SCS_STATE, 2078 CASE_SCS_STATE, 2079 #else /* !USE_ISO2022 */ 2080 CASE_ESC_IGNORE, 2081 CASE_ESC_IGNORE, 2082 CASE_ESC_IGNORE, 2083 CASE_ESC_IGNORE, 2084 #endif /* !USE_ISO2022 */ 2085 /* 0 1 2 3 */ 2086 CASE_GROUND_STATE, 2087 CASE_GROUND_STATE, 2088 CASE_GROUND_STATE, 2089 CASE_GROUND_STATE, 2090 /* 4 5 6 7 */ 2091 CASE_GROUND_STATE, 2092 CASE_GROUND_STATE, 2093 CASE_GROUND_STATE, 2094 CASE_DECSC, 2095 /* 8 9 : ; */ 2096 CASE_DECRC, 2097 CASE_GROUND_STATE, 2098 CASE_GROUND_STATE, 2099 CASE_GROUND_STATE, 2100 /* < = > ? */ 2101 CASE_GROUND_STATE, 2102 CASE_GROUND_STATE, 2103 CASE_GROUND_STATE, 2104 CASE_GROUND_STATE, 2105 /* @ A B C */ 2106 CASE_GROUND_STATE, 2107 CASE_GROUND_STATE, 2108 CASE_GROUND_STATE, 2109 CASE_GROUND_STATE, 2110 /* D E F G */ 2111 CASE_GROUND_STATE, 2112 CASE_GROUND_STATE, 2113 CASE_GROUND_STATE, 2114 CASE_GROUND_STATE, 2115 /* H I J K */ 2116 CASE_HTS, 2117 CASE_GROUND_STATE, 2118 CASE_GROUND_STATE, 2119 CASE_GROUND_STATE, 2120 /* L M N O */ 2121 CASE_GROUND_STATE, 2122 CASE_RI, 2123 CASE_SS2, 2124 CASE_SS3, 2125 /* P Q R S */ 2126 CASE_IGNORE_STATE, 2127 CASE_GROUND_STATE, 2128 CASE_GROUND_STATE, 2129 CASE_GROUND_STATE, 2130 /* T U V W */ 2131 CASE_XTERM_TITLE, 2132 CASE_GROUND_STATE, 2133 CASE_GROUND_STATE, 2134 CASE_GROUND_STATE, 2135 /* X Y Z [ */ 2136 CASE_GROUND_STATE, 2137 CASE_GROUND_STATE, 2138 CASE_GROUND_STATE, 2139 CASE_CSI_STATE, 2140 /* \ ] ^ _ */ 2141 CASE_GROUND_STATE, 2142 CASE_OSC, 2143 CASE_IGNORE_STATE, 2144 CASE_IGNORE_STATE, 2145 /* ` a b c */ 2146 CASE_GROUND_STATE, 2147 CASE_GROUND_STATE, 2148 CASE_GROUND_STATE, 2149 CASE_RIS, 2150 /* d e f g */ 2151 CASE_GROUND_STATE, 2152 CASE_GROUND_STATE, 2153 CASE_GROUND_STATE, 2154 CASE_GROUND_STATE, 2155 /* h i j k */ 2156 CASE_GROUND_STATE, 2157 CASE_GROUND_STATE, 2158 CASE_GROUND_STATE, 2159 CASE_GROUND_STATE, 2160 /* l m n o */ 2161 CASE_GROUND_STATE, 2162 CASE_GROUND_STATE, 2163 CASE_LS2, 2164 CASE_LS3, 2165 /* p q r s */ 2166 CASE_GROUND_STATE, 2167 CASE_GROUND_STATE, 2168 CASE_GROUND_STATE, 2169 CASE_GROUND_STATE, 2170 /* t u v w */ 2171 CASE_GROUND_STATE, 2172 CASE_GROUND_STATE, 2173 CASE_GROUND_STATE, 2174 CASE_GROUND_STATE, 2175 /* x y z { */ 2176 CASE_GROUND_STATE, 2177 CASE_GROUND_STATE, 2178 CASE_GROUND_STATE, 2179 CASE_GROUND_STATE, 2180 /* | } ~ DEL */ 2181 CASE_LS3R, 2182 CASE_LS2R, 2183 CASE_LS1R, 2184 CASE_GROUND_STATE, 2185 /* 0x80 0x81 0x82 0x83 */ 2186 CASE_IGNORE, 2187 CASE_IGNORE, 2188 CASE_IGNORE, 2189 CASE_IGNORE, 2190 /* 0x84 0x85 0x86 0x87 */ 2191 CASE_IGNORE, 2192 CASE_IGNORE, 2193 CASE_IGNORE, 2194 CASE_IGNORE, 2195 /* 0x88 0x89 0x8a 0x8b */ 2196 CASE_IGNORE, 2197 CASE_IGNORE, 2198 CASE_IGNORE, 2199 CASE_IGNORE, 2200 /* 0x8c 0x8d 0x8e 0x8f */ 2201 CASE_IGNORE, 2202 CASE_IGNORE, 2203 CASE_IGNORE, 2204 CASE_IGNORE, 2205 /* 0x90 0x91 0x92 0x93 */ 2206 CASE_IGNORE, 2207 CASE_IGNORE, 2208 CASE_IGNORE, 2209 CASE_IGNORE, 2210 /* 0x94 0x95 0x96 0x97 */ 2211 CASE_IGNORE, 2212 CASE_IGNORE, 2213 CASE_IGNORE, 2214 CASE_IGNORE, 2215 /* 0x99 0x99 0x9a 0x9b */ 2216 CASE_IGNORE, 2217 CASE_IGNORE, 2218 CASE_IGNORE, 2219 CASE_IGNORE, 2220 /* 0x9c 0x9d 0x9e 0x9f */ 2221 CASE_IGNORE, 2222 CASE_IGNORE, 2223 CASE_IGNORE, 2224 CASE_IGNORE, 2225 /* nobreakspace exclamdown cent sterling */ 2226 CASE_GROUND_STATE, 2227 CASE_GROUND_STATE, 2228 CASE_GROUND_STATE, 2229 CASE_GROUND_STATE, 2230 /* currency yen brokenbar section */ 2231 CASE_GROUND_STATE, 2232 CASE_GROUND_STATE, 2233 CASE_GROUND_STATE, 2234 CASE_GROUND_STATE, 2235 /* diaeresis copyright ordfeminine guillemotleft */ 2236 CASE_GROUND_STATE, 2237 CASE_GROUND_STATE, 2238 CASE_GROUND_STATE, 2239 CASE_GROUND_STATE, 2240 /* notsign hyphen registered macron */ 2241 CASE_GROUND_STATE, 2242 CASE_GROUND_STATE, 2243 CASE_GROUND_STATE, 2244 CASE_GROUND_STATE, 2245 /* degree plusminus twosuperior threesuperior */ 2246 CASE_GROUND_STATE, 2247 CASE_GROUND_STATE, 2248 CASE_GROUND_STATE, 2249 CASE_GROUND_STATE, 2250 /* acute mu paragraph periodcentered */ 2251 CASE_GROUND_STATE, 2252 CASE_GROUND_STATE, 2253 CASE_GROUND_STATE, 2254 CASE_GROUND_STATE, 2255 /* cedilla onesuperior masculine guillemotright */ 2256 CASE_GROUND_STATE, 2257 CASE_GROUND_STATE, 2258 CASE_GROUND_STATE, 2259 CASE_GROUND_STATE, 2260 /* onequarter onehalf threequarters questiondown */ 2261 CASE_GROUND_STATE, 2262 CASE_GROUND_STATE, 2263 CASE_GROUND_STATE, 2264 CASE_GROUND_STATE, 2265 /* Agrave Aacute Acircumflex Atilde */ 2266 CASE_GROUND_STATE, 2267 CASE_GROUND_STATE, 2268 CASE_GROUND_STATE, 2269 CASE_GROUND_STATE, 2270 /* Adiaeresis Aring AE Ccedilla */ 2271 CASE_GROUND_STATE, 2272 CASE_GROUND_STATE, 2273 CASE_GROUND_STATE, 2274 CASE_GROUND_STATE, 2275 /* Egrave Eacute Ecircumflex Ediaeresis */ 2276 CASE_GROUND_STATE, 2277 CASE_GROUND_STATE, 2278 CASE_GROUND_STATE, 2279 CASE_GROUND_STATE, 2280 /* Igrave Iacute Icircumflex Idiaeresis */ 2281 CASE_GROUND_STATE, 2282 CASE_GROUND_STATE, 2283 CASE_GROUND_STATE, 2284 CASE_GROUND_STATE, 2285 /* Eth Ntilde Ograve Oacute */ 2286 CASE_GROUND_STATE, 2287 CASE_GROUND_STATE, 2288 CASE_GROUND_STATE, 2289 CASE_GROUND_STATE, 2290 /* Ocircumflex Otilde Odiaeresis multiply */ 2291 CASE_GROUND_STATE, 2292 CASE_GROUND_STATE, 2293 CASE_GROUND_STATE, 2294 CASE_GROUND_STATE, 2295 /* Ooblique Ugrave Uacute Ucircumflex */ 2296 CASE_GROUND_STATE, 2297 CASE_GROUND_STATE, 2298 CASE_GROUND_STATE, 2299 CASE_GROUND_STATE, 2300 /* Udiaeresis Yacute Thorn ssharp */ 2301 CASE_GROUND_STATE, 2302 CASE_GROUND_STATE, 2303 CASE_GROUND_STATE, 2304 CASE_GROUND_STATE, 2305 /* agrave aacute acircumflex atilde */ 2306 CASE_GROUND_STATE, 2307 CASE_GROUND_STATE, 2308 CASE_GROUND_STATE, 2309 CASE_GROUND_STATE, 2310 /* adiaeresis aring ae ccedilla */ 2311 CASE_GROUND_STATE, 2312 CASE_GROUND_STATE, 2313 CASE_GROUND_STATE, 2314 CASE_GROUND_STATE, 2315 /* egrave eacute ecircumflex ediaeresis */ 2316 CASE_GROUND_STATE, 2317 CASE_GROUND_STATE, 2318 CASE_GROUND_STATE, 2319 CASE_GROUND_STATE, 2320 /* igrave iacute icircumflex idiaeresis */ 2321 CASE_GROUND_STATE, 2322 CASE_GROUND_STATE, 2323 CASE_GROUND_STATE, 2324 CASE_GROUND_STATE, 2325 /* eth ntilde ograve oacute */ 2326 CASE_GROUND_STATE, 2327 CASE_GROUND_STATE, 2328 CASE_GROUND_STATE, 2329 CASE_GROUND_STATE, 2330 /* ocircumflex otilde odiaeresis division */ 2331 CASE_GROUND_STATE, 2332 CASE_GROUND_STATE, 2333 CASE_GROUND_STATE, 2334 CASE_GROUND_STATE, 2335 /* oslash ugrave uacute ucircumflex */ 2336 CASE_GROUND_STATE, 2337 CASE_GROUND_STATE, 2338 CASE_GROUND_STATE, 2339 CASE_GROUND_STATE, 2340 /* udiaeresis yacute thorn ydiaeresis */ 2341 CASE_GROUND_STATE, 2342 CASE_GROUND_STATE, 2343 CASE_GROUND_STATE, 2344 CASE_GROUND_STATE, 2345 }; 2346 2347 // #pragma mark CASE_IGNORE_ESC table 2348 int gIesTable[] = 2349 { 2350 /* NUL SOH STX ETX */ 2351 CASE_IGNORE_STATE, 2352 CASE_IGNORE_STATE, 2353 CASE_IGNORE_STATE, 2354 CASE_IGNORE_STATE, 2355 /* EOT ENQ ACK BEL */ 2356 CASE_IGNORE_STATE, 2357 CASE_IGNORE_STATE, 2358 CASE_IGNORE_STATE, 2359 CASE_IGNORE_STATE, 2360 /* BS HT NL VT */ 2361 CASE_IGNORE_STATE, 2362 CASE_IGNORE_STATE, 2363 CASE_IGNORE_STATE, 2364 CASE_IGNORE_STATE, 2365 /* NP CR SO SI */ 2366 CASE_IGNORE_STATE, 2367 CASE_IGNORE_STATE, 2368 CASE_IGNORE_STATE, 2369 CASE_IGNORE_STATE, 2370 /* DLE DC1 DC2 DC3 */ 2371 CASE_IGNORE_STATE, 2372 CASE_IGNORE_STATE, 2373 CASE_IGNORE_STATE, 2374 CASE_IGNORE_STATE, 2375 /* DC4 NAK SYN ETB */ 2376 CASE_IGNORE_STATE, 2377 CASE_IGNORE_STATE, 2378 CASE_IGNORE_STATE, 2379 CASE_IGNORE_STATE, 2380 /* CAN EM SUB ESC */ 2381 CASE_IGNORE_STATE, 2382 CASE_IGNORE_STATE, 2383 CASE_IGNORE_STATE, 2384 CASE_IGNORE_STATE, 2385 /* FS GS RS US */ 2386 CASE_IGNORE_STATE, 2387 CASE_IGNORE_STATE, 2388 CASE_IGNORE_STATE, 2389 CASE_IGNORE_STATE, 2390 /* SP ! " # */ 2391 CASE_IGNORE_STATE, 2392 CASE_IGNORE_STATE, 2393 CASE_IGNORE_STATE, 2394 CASE_IGNORE_STATE, 2395 /* $ % & ' */ 2396 CASE_IGNORE_STATE, 2397 CASE_IGNORE_STATE, 2398 CASE_IGNORE_STATE, 2399 CASE_IGNORE_STATE, 2400 /* ( ) * + */ 2401 CASE_IGNORE_STATE, 2402 CASE_IGNORE_STATE, 2403 CASE_IGNORE_STATE, 2404 CASE_IGNORE_STATE, 2405 /* , - . / */ 2406 CASE_IGNORE_STATE, 2407 CASE_IGNORE_STATE, 2408 CASE_IGNORE_STATE, 2409 CASE_IGNORE_STATE, 2410 /* 0 1 2 3 */ 2411 CASE_IGNORE_STATE, 2412 CASE_IGNORE_STATE, 2413 CASE_IGNORE_STATE, 2414 CASE_IGNORE_STATE, 2415 /* 4 5 6 7 */ 2416 CASE_IGNORE_STATE, 2417 CASE_IGNORE_STATE, 2418 CASE_IGNORE_STATE, 2419 CASE_IGNORE_STATE, 2420 /* 8 9 : ; */ 2421 CASE_IGNORE_STATE, 2422 CASE_IGNORE_STATE, 2423 CASE_IGNORE_STATE, 2424 CASE_IGNORE_STATE, 2425 /* < = > ? */ 2426 CASE_IGNORE_STATE, 2427 CASE_IGNORE_STATE, 2428 CASE_IGNORE_STATE, 2429 CASE_IGNORE_STATE, 2430 /* @ A B C */ 2431 CASE_IGNORE_STATE, 2432 CASE_IGNORE_STATE, 2433 CASE_IGNORE_STATE, 2434 CASE_IGNORE_STATE, 2435 /* D E F G */ 2436 CASE_IGNORE_STATE, 2437 CASE_IGNORE_STATE, 2438 CASE_IGNORE_STATE, 2439 CASE_IGNORE_STATE, 2440 /* H I J K */ 2441 CASE_IGNORE_STATE, 2442 CASE_IGNORE_STATE, 2443 CASE_IGNORE_STATE, 2444 CASE_IGNORE_STATE, 2445 /* L M N O */ 2446 CASE_IGNORE_STATE, 2447 CASE_IGNORE_STATE, 2448 CASE_IGNORE_STATE, 2449 CASE_IGNORE_STATE, 2450 /* P Q R S */ 2451 CASE_IGNORE_STATE, 2452 CASE_IGNORE_STATE, 2453 CASE_IGNORE_STATE, 2454 CASE_IGNORE_STATE, 2455 /* T U V W */ 2456 CASE_IGNORE_STATE, 2457 CASE_IGNORE_STATE, 2458 CASE_IGNORE_STATE, 2459 CASE_IGNORE_STATE, 2460 /* X Y Z [ */ 2461 CASE_IGNORE_STATE, 2462 CASE_IGNORE_STATE, 2463 CASE_IGNORE_STATE, 2464 CASE_IGNORE_STATE, 2465 /* \ ] ^ _ */ 2466 CASE_GROUND_STATE, 2467 CASE_IGNORE_STATE, 2468 CASE_IGNORE_STATE, 2469 CASE_IGNORE_STATE, 2470 /* ` a b c */ 2471 CASE_IGNORE_STATE, 2472 CASE_IGNORE_STATE, 2473 CASE_IGNORE_STATE, 2474 CASE_IGNORE_STATE, 2475 /* d e f g */ 2476 CASE_IGNORE_STATE, 2477 CASE_IGNORE_STATE, 2478 CASE_IGNORE_STATE, 2479 CASE_IGNORE_STATE, 2480 /* h i j k */ 2481 CASE_IGNORE_STATE, 2482 CASE_IGNORE_STATE, 2483 CASE_IGNORE_STATE, 2484 CASE_IGNORE_STATE, 2485 /* l m n o */ 2486 CASE_IGNORE_STATE, 2487 CASE_IGNORE_STATE, 2488 CASE_IGNORE_STATE, 2489 CASE_IGNORE_STATE, 2490 /* p q r s */ 2491 CASE_IGNORE_STATE, 2492 CASE_IGNORE_STATE, 2493 CASE_IGNORE_STATE, 2494 CASE_IGNORE_STATE, 2495 /* t u v w */ 2496 CASE_IGNORE_STATE, 2497 CASE_IGNORE_STATE, 2498 CASE_IGNORE_STATE, 2499 CASE_IGNORE_STATE, 2500 /* x y z { */ 2501 CASE_IGNORE_STATE, 2502 CASE_IGNORE_STATE, 2503 CASE_IGNORE_STATE, 2504 CASE_IGNORE_STATE, 2505 /* | } ~ DEL */ 2506 CASE_IGNORE_STATE, 2507 CASE_IGNORE_STATE, 2508 CASE_IGNORE_STATE, 2509 CASE_IGNORE_STATE, 2510 /* 0x80 0x81 0x82 0x83 */ 2511 CASE_IGNORE, 2512 CASE_IGNORE, 2513 CASE_IGNORE, 2514 CASE_IGNORE, 2515 /* 0x84 0x85 0x86 0x87 */ 2516 CASE_IGNORE, 2517 CASE_IGNORE, 2518 CASE_IGNORE, 2519 CASE_IGNORE, 2520 /* 0x88 0x89 0x8a 0x8b */ 2521 CASE_IGNORE, 2522 CASE_IGNORE, 2523 CASE_IGNORE, 2524 CASE_IGNORE, 2525 /* 0x8c 0x8d 0x8e 0x8f */ 2526 CASE_IGNORE, 2527 CASE_IGNORE, 2528 CASE_IGNORE, 2529 CASE_IGNORE, 2530 /* 0x90 0x91 0x92 0x93 */ 2531 CASE_IGNORE, 2532 CASE_IGNORE, 2533 CASE_IGNORE, 2534 CASE_IGNORE, 2535 /* 0x94 0x95 0x96 0x97 */ 2536 CASE_IGNORE, 2537 CASE_IGNORE, 2538 CASE_IGNORE, 2539 CASE_IGNORE, 2540 /* 0x99 0x99 0x9a 0x9b */ 2541 CASE_IGNORE, 2542 CASE_IGNORE, 2543 CASE_IGNORE, 2544 CASE_IGNORE, 2545 /* 0x9c 0x9d 0x9e 0x9f */ 2546 CASE_IGNORE, 2547 CASE_IGNORE, 2548 CASE_IGNORE, 2549 CASE_IGNORE, 2550 /* nobreakspace exclamdown cent sterling */ 2551 CASE_GROUND_STATE, 2552 CASE_GROUND_STATE, 2553 CASE_GROUND_STATE, 2554 CASE_GROUND_STATE, 2555 /* currency yen brokenbar section */ 2556 CASE_GROUND_STATE, 2557 CASE_GROUND_STATE, 2558 CASE_GROUND_STATE, 2559 CASE_GROUND_STATE, 2560 /* diaeresis copyright ordfeminine guillemotleft */ 2561 CASE_GROUND_STATE, 2562 CASE_GROUND_STATE, 2563 CASE_GROUND_STATE, 2564 CASE_GROUND_STATE, 2565 /* notsign hyphen registered macron */ 2566 CASE_GROUND_STATE, 2567 CASE_GROUND_STATE, 2568 CASE_GROUND_STATE, 2569 CASE_GROUND_STATE, 2570 /* degree plusminus twosuperior threesuperior */ 2571 CASE_GROUND_STATE, 2572 CASE_GROUND_STATE, 2573 CASE_GROUND_STATE, 2574 CASE_GROUND_STATE, 2575 /* acute mu paragraph periodcentered */ 2576 CASE_GROUND_STATE, 2577 CASE_GROUND_STATE, 2578 CASE_GROUND_STATE, 2579 CASE_GROUND_STATE, 2580 /* cedilla onesuperior masculine guillemotright */ 2581 CASE_GROUND_STATE, 2582 CASE_GROUND_STATE, 2583 CASE_GROUND_STATE, 2584 CASE_GROUND_STATE, 2585 /* onequarter onehalf threequarters questiondown */ 2586 CASE_GROUND_STATE, 2587 CASE_GROUND_STATE, 2588 CASE_GROUND_STATE, 2589 CASE_GROUND_STATE, 2590 /* Agrave Aacute Acircumflex Atilde */ 2591 CASE_GROUND_STATE, 2592 CASE_GROUND_STATE, 2593 CASE_GROUND_STATE, 2594 CASE_GROUND_STATE, 2595 /* Adiaeresis Aring AE Ccedilla */ 2596 CASE_GROUND_STATE, 2597 CASE_GROUND_STATE, 2598 CASE_GROUND_STATE, 2599 CASE_GROUND_STATE, 2600 /* Egrave Eacute Ecircumflex Ediaeresis */ 2601 CASE_GROUND_STATE, 2602 CASE_GROUND_STATE, 2603 CASE_GROUND_STATE, 2604 CASE_GROUND_STATE, 2605 /* Igrave Iacute Icircumflex Idiaeresis */ 2606 CASE_GROUND_STATE, 2607 CASE_GROUND_STATE, 2608 CASE_GROUND_STATE, 2609 CASE_GROUND_STATE, 2610 /* Eth Ntilde Ograve Oacute */ 2611 CASE_GROUND_STATE, 2612 CASE_GROUND_STATE, 2613 CASE_GROUND_STATE, 2614 CASE_GROUND_STATE, 2615 /* Ocircumflex Otilde Odiaeresis multiply */ 2616 CASE_GROUND_STATE, 2617 CASE_GROUND_STATE, 2618 CASE_GROUND_STATE, 2619 CASE_GROUND_STATE, 2620 /* Ooblique Ugrave Uacute Ucircumflex */ 2621 CASE_GROUND_STATE, 2622 CASE_GROUND_STATE, 2623 CASE_GROUND_STATE, 2624 CASE_GROUND_STATE, 2625 /* Udiaeresis Yacute Thorn ssharp */ 2626 CASE_GROUND_STATE, 2627 CASE_GROUND_STATE, 2628 CASE_GROUND_STATE, 2629 CASE_GROUND_STATE, 2630 /* agrave aacute acircumflex atilde */ 2631 CASE_GROUND_STATE, 2632 CASE_GROUND_STATE, 2633 CASE_GROUND_STATE, 2634 CASE_GROUND_STATE, 2635 /* adiaeresis aring ae ccedilla */ 2636 CASE_GROUND_STATE, 2637 CASE_GROUND_STATE, 2638 CASE_GROUND_STATE, 2639 CASE_GROUND_STATE, 2640 /* egrave eacute ecircumflex ediaeresis */ 2641 CASE_GROUND_STATE, 2642 CASE_GROUND_STATE, 2643 CASE_GROUND_STATE, 2644 CASE_GROUND_STATE, 2645 /* igrave iacute icircumflex idiaeresis */ 2646 CASE_GROUND_STATE, 2647 CASE_GROUND_STATE, 2648 CASE_GROUND_STATE, 2649 CASE_GROUND_STATE, 2650 /* eth ntilde ograve oacute */ 2651 CASE_GROUND_STATE, 2652 CASE_GROUND_STATE, 2653 CASE_GROUND_STATE, 2654 CASE_GROUND_STATE, 2655 /* ocircumflex otilde odiaeresis division */ 2656 CASE_GROUND_STATE, 2657 CASE_GROUND_STATE, 2658 CASE_GROUND_STATE, 2659 CASE_GROUND_STATE, 2660 /* oslash ugrave uacute ucircumflex */ 2661 CASE_GROUND_STATE, 2662 CASE_GROUND_STATE, 2663 CASE_GROUND_STATE, 2664 CASE_GROUND_STATE, 2665 /* udiaeresis yacute thorn ydiaeresis */ 2666 CASE_GROUND_STATE, 2667 CASE_GROUND_STATE, 2668 CASE_GROUND_STATE, 2669 CASE_GROUND_STATE, 2670 }; 2671 2672 // #pragma mark CASE_IGNORE_STATE table 2673 int gIgnoreTable[] = 2674 { 2675 /* NUL SOH STX ETX */ 2676 CASE_IGNORE, 2677 CASE_IGNORE, 2678 CASE_IGNORE, 2679 CASE_IGNORE, 2680 /* EOT ENQ ACK BEL */ 2681 CASE_IGNORE, 2682 CASE_IGNORE, 2683 CASE_IGNORE, 2684 CASE_IGNORE, 2685 /* BS HT NL VT */ 2686 CASE_IGNORE, 2687 CASE_IGNORE, 2688 CASE_IGNORE, 2689 CASE_IGNORE, 2690 /* NP CR SO SI */ 2691 CASE_IGNORE, 2692 CASE_IGNORE, 2693 CASE_IGNORE, 2694 CASE_IGNORE, 2695 /* DLE DC1 DC2 DC3 */ 2696 CASE_IGNORE, 2697 CASE_IGNORE, 2698 CASE_IGNORE, 2699 CASE_IGNORE, 2700 /* DC4 NAK SYN ETB */ 2701 CASE_IGNORE, 2702 CASE_IGNORE, 2703 CASE_IGNORE, 2704 CASE_IGNORE, 2705 /* CAN EM SUB ESC */ 2706 CASE_GROUND_STATE, 2707 CASE_IGNORE, 2708 CASE_GROUND_STATE, 2709 CASE_IGNORE_ESC, 2710 /* FS GS RS US */ 2711 CASE_IGNORE, 2712 CASE_IGNORE, 2713 CASE_IGNORE, 2714 CASE_IGNORE, 2715 /* SP ! " # */ 2716 CASE_IGNORE, 2717 CASE_IGNORE, 2718 CASE_IGNORE, 2719 CASE_IGNORE, 2720 /* $ % & ' */ 2721 CASE_IGNORE, 2722 CASE_IGNORE, 2723 CASE_IGNORE, 2724 CASE_IGNORE, 2725 /* ( ) * + */ 2726 CASE_IGNORE, 2727 CASE_IGNORE, 2728 CASE_IGNORE, 2729 CASE_IGNORE, 2730 /* , - . / */ 2731 CASE_IGNORE, 2732 CASE_IGNORE, 2733 CASE_IGNORE, 2734 CASE_IGNORE, 2735 /* 0 1 2 3 */ 2736 CASE_IGNORE, 2737 CASE_IGNORE, 2738 CASE_IGNORE, 2739 CASE_IGNORE, 2740 /* 4 5 6 7 */ 2741 CASE_IGNORE, 2742 CASE_IGNORE, 2743 CASE_IGNORE, 2744 CASE_IGNORE, 2745 /* 8 9 : ; */ 2746 CASE_IGNORE, 2747 CASE_IGNORE, 2748 CASE_IGNORE, 2749 CASE_IGNORE, 2750 /* < = > ? */ 2751 CASE_IGNORE, 2752 CASE_IGNORE, 2753 CASE_IGNORE, 2754 CASE_IGNORE, 2755 /* @ A B C */ 2756 CASE_IGNORE, 2757 CASE_IGNORE, 2758 CASE_IGNORE, 2759 CASE_IGNORE, 2760 /* D E F G */ 2761 CASE_IGNORE, 2762 CASE_IGNORE, 2763 CASE_IGNORE, 2764 CASE_IGNORE, 2765 /* H I J K */ 2766 CASE_IGNORE, 2767 CASE_IGNORE, 2768 CASE_IGNORE, 2769 CASE_IGNORE, 2770 /* L M N O */ 2771 CASE_IGNORE, 2772 CASE_IGNORE, 2773 CASE_IGNORE, 2774 CASE_IGNORE, 2775 /* P Q R S */ 2776 CASE_IGNORE, 2777 CASE_IGNORE, 2778 CASE_IGNORE, 2779 CASE_IGNORE, 2780 /* T U V W */ 2781 CASE_IGNORE, 2782 CASE_IGNORE, 2783 CASE_IGNORE, 2784 CASE_IGNORE, 2785 /* X Y Z [ */ 2786 CASE_IGNORE, 2787 CASE_IGNORE, 2788 CASE_IGNORE, 2789 CASE_IGNORE, 2790 /* \ ] ^ _ */ 2791 CASE_IGNORE, 2792 CASE_IGNORE, 2793 CASE_IGNORE, 2794 CASE_IGNORE, 2795 /* ` a b c */ 2796 CASE_IGNORE, 2797 CASE_IGNORE, 2798 CASE_IGNORE, 2799 CASE_IGNORE, 2800 /* d e f g */ 2801 CASE_IGNORE, 2802 CASE_IGNORE, 2803 CASE_IGNORE, 2804 CASE_IGNORE, 2805 /* h i j k */ 2806 CASE_IGNORE, 2807 CASE_IGNORE, 2808 CASE_IGNORE, 2809 CASE_IGNORE, 2810 /* l m n o */ 2811 CASE_IGNORE, 2812 CASE_IGNORE, 2813 CASE_IGNORE, 2814 CASE_IGNORE, 2815 /* p q r s */ 2816 CASE_IGNORE, 2817 CASE_IGNORE, 2818 CASE_IGNORE, 2819 CASE_IGNORE, 2820 /* t u v w */ 2821 CASE_IGNORE, 2822 CASE_IGNORE, 2823 CASE_IGNORE, 2824 CASE_IGNORE, 2825 /* x y z { */ 2826 CASE_IGNORE, 2827 CASE_IGNORE, 2828 CASE_IGNORE, 2829 CASE_IGNORE, 2830 /* | } ~ DEL */ 2831 CASE_IGNORE, 2832 CASE_IGNORE, 2833 CASE_IGNORE, 2834 CASE_IGNORE, 2835 /* 0x80 0x81 0x82 0x83 */ 2836 CASE_IGNORE, 2837 CASE_IGNORE, 2838 CASE_IGNORE, 2839 CASE_IGNORE, 2840 /* 0x84 0x85 0x86 0x87 */ 2841 CASE_IGNORE, 2842 CASE_IGNORE, 2843 CASE_IGNORE, 2844 CASE_IGNORE, 2845 /* 0x88 0x89 0x8a 0x8b */ 2846 CASE_IGNORE, 2847 CASE_IGNORE, 2848 CASE_IGNORE, 2849 CASE_IGNORE, 2850 /* 0x8c 0x8d 0x8e 0x8f */ 2851 CASE_IGNORE, 2852 CASE_IGNORE, 2853 CASE_IGNORE, 2854 CASE_IGNORE, 2855 /* 0x90 0x91 0x92 0x93 */ 2856 CASE_IGNORE, 2857 CASE_IGNORE, 2858 CASE_IGNORE, 2859 CASE_IGNORE, 2860 /* 0x94 0x95 0x96 0x97 */ 2861 CASE_IGNORE, 2862 CASE_IGNORE, 2863 CASE_IGNORE, 2864 CASE_IGNORE, 2865 /* 0x99 0x99 0x9a 0x9b */ 2866 CASE_IGNORE, 2867 CASE_IGNORE, 2868 CASE_IGNORE, 2869 CASE_IGNORE, 2870 /* 0x9c 0x9d 0x9e 0x9f */ 2871 CASE_IGNORE, 2872 CASE_IGNORE, 2873 CASE_IGNORE, 2874 CASE_IGNORE, 2875 /* nobreakspace exclamdown cent sterling */ 2876 CASE_GROUND_STATE, 2877 CASE_GROUND_STATE, 2878 CASE_GROUND_STATE, 2879 CASE_GROUND_STATE, 2880 /* currency yen brokenbar section */ 2881 CASE_GROUND_STATE, 2882 CASE_GROUND_STATE, 2883 CASE_GROUND_STATE, 2884 CASE_GROUND_STATE, 2885 /* diaeresis copyright ordfeminine guillemotleft */ 2886 CASE_GROUND_STATE, 2887 CASE_GROUND_STATE, 2888 CASE_GROUND_STATE, 2889 CASE_GROUND_STATE, 2890 /* notsign hyphen registered macron */ 2891 CASE_GROUND_STATE, 2892 CASE_GROUND_STATE, 2893 CASE_GROUND_STATE, 2894 CASE_GROUND_STATE, 2895 /* degree plusminus twosuperior threesuperior */ 2896 CASE_GROUND_STATE, 2897 CASE_GROUND_STATE, 2898 CASE_GROUND_STATE, 2899 CASE_GROUND_STATE, 2900 /* acute mu paragraph periodcentered */ 2901 CASE_GROUND_STATE, 2902 CASE_GROUND_STATE, 2903 CASE_GROUND_STATE, 2904 CASE_GROUND_STATE, 2905 /* cedilla onesuperior masculine guillemotright */ 2906 CASE_GROUND_STATE, 2907 CASE_GROUND_STATE, 2908 CASE_GROUND_STATE, 2909 CASE_GROUND_STATE, 2910 /* onequarter onehalf threequarters questiondown */ 2911 CASE_GROUND_STATE, 2912 CASE_GROUND_STATE, 2913 CASE_GROUND_STATE, 2914 CASE_GROUND_STATE, 2915 /* Agrave Aacute Acircumflex Atilde */ 2916 CASE_GROUND_STATE, 2917 CASE_GROUND_STATE, 2918 CASE_GROUND_STATE, 2919 CASE_GROUND_STATE, 2920 /* Adiaeresis Aring AE Ccedilla */ 2921 CASE_GROUND_STATE, 2922 CASE_GROUND_STATE, 2923 CASE_GROUND_STATE, 2924 CASE_GROUND_STATE, 2925 /* Egrave Eacute Ecircumflex Ediaeresis */ 2926 CASE_GROUND_STATE, 2927 CASE_GROUND_STATE, 2928 CASE_GROUND_STATE, 2929 CASE_GROUND_STATE, 2930 /* Igrave Iacute Icircumflex Idiaeresis */ 2931 CASE_GROUND_STATE, 2932 CASE_GROUND_STATE, 2933 CASE_GROUND_STATE, 2934 CASE_GROUND_STATE, 2935 /* Eth Ntilde Ograve Oacute */ 2936 CASE_GROUND_STATE, 2937 CASE_GROUND_STATE, 2938 CASE_GROUND_STATE, 2939 CASE_GROUND_STATE, 2940 /* Ocircumflex Otilde Odiaeresis multiply */ 2941 CASE_GROUND_STATE, 2942 CASE_GROUND_STATE, 2943 CASE_GROUND_STATE, 2944 CASE_GROUND_STATE, 2945 /* Ooblique Ugrave Uacute Ucircumflex */ 2946 CASE_GROUND_STATE, 2947 CASE_GROUND_STATE, 2948 CASE_GROUND_STATE, 2949 CASE_GROUND_STATE, 2950 /* Udiaeresis Yacute Thorn ssharp */ 2951 CASE_GROUND_STATE, 2952 CASE_GROUND_STATE, 2953 CASE_GROUND_STATE, 2954 CASE_GROUND_STATE, 2955 /* agrave aacute acircumflex atilde */ 2956 CASE_GROUND_STATE, 2957 CASE_GROUND_STATE, 2958 CASE_GROUND_STATE, 2959 CASE_GROUND_STATE, 2960 /* adiaeresis aring ae ccedilla */ 2961 CASE_GROUND_STATE, 2962 CASE_GROUND_STATE, 2963 CASE_GROUND_STATE, 2964 CASE_GROUND_STATE, 2965 /* egrave eacute ecircumflex ediaeresis */ 2966 CASE_GROUND_STATE, 2967 CASE_GROUND_STATE, 2968 CASE_GROUND_STATE, 2969 CASE_GROUND_STATE, 2970 /* igrave iacute icircumflex idiaeresis */ 2971 CASE_GROUND_STATE, 2972 CASE_GROUND_STATE, 2973 CASE_GROUND_STATE, 2974 CASE_GROUND_STATE, 2975 /* eth ntilde ograve oacute */ 2976 CASE_GROUND_STATE, 2977 CASE_GROUND_STATE, 2978 CASE_GROUND_STATE, 2979 CASE_GROUND_STATE, 2980 /* ocircumflex otilde odiaeresis division */ 2981 CASE_GROUND_STATE, 2982 CASE_GROUND_STATE, 2983 CASE_GROUND_STATE, 2984 CASE_GROUND_STATE, 2985 /* oslash ugrave uacute ucircumflex */ 2986 CASE_GROUND_STATE, 2987 CASE_GROUND_STATE, 2988 CASE_GROUND_STATE, 2989 CASE_GROUND_STATE, 2990 /* udiaeresis yacute thorn ydiaeresis */ 2991 CASE_GROUND_STATE, 2992 CASE_GROUND_STATE, 2993 CASE_GROUND_STATE, 2994 CASE_GROUND_STATE, 2995 }; 2996 2997 // #pragma mark ESC # - SCR table 2998 int gScrTable[] = 2999 { 3000 /* NUL SOH STX ETX */ 3001 CASE_IGNORE, 3002 CASE_IGNORE, 3003 CASE_IGNORE, 3004 CASE_IGNORE, 3005 /* EOT ENQ ACK BEL */ 3006 CASE_IGNORE, 3007 CASE_IGNORE, 3008 CASE_IGNORE, 3009 CASE_BELL, 3010 /* BS HT NL VT */ 3011 CASE_BS, 3012 CASE_TAB, 3013 CASE_VMOT, 3014 CASE_VMOT, 3015 /* NP CR SO SI */ 3016 CASE_VMOT, 3017 CASE_CR, 3018 CASE_SO, 3019 CASE_SI, 3020 /* DLE DC1 DC2 DC3 */ 3021 CASE_IGNORE, 3022 CASE_IGNORE, 3023 CASE_IGNORE, 3024 CASE_IGNORE, 3025 /* DC4 NAK SYN ETB */ 3026 CASE_IGNORE, 3027 CASE_IGNORE, 3028 CASE_IGNORE, 3029 CASE_IGNORE, 3030 /* CAN EM SUB ESC */ 3031 CASE_IGNORE, 3032 CASE_IGNORE, 3033 CASE_IGNORE, 3034 CASE_ESC, 3035 /* FS GS RS US */ 3036 CASE_IGNORE, 3037 CASE_IGNORE, 3038 CASE_IGNORE, 3039 CASE_IGNORE, 3040 /* SP ! " # */ 3041 CASE_ESC_IGNORE, 3042 CASE_ESC_IGNORE, 3043 CASE_ESC_IGNORE, 3044 CASE_ESC_IGNORE, 3045 /* $ % & ' */ 3046 CASE_ESC_IGNORE, 3047 CASE_ESC_IGNORE, 3048 CASE_ESC_IGNORE, 3049 CASE_ESC_IGNORE, 3050 /* ( ) * + */ 3051 CASE_ESC_IGNORE, 3052 CASE_ESC_IGNORE, 3053 CASE_ESC_IGNORE, 3054 CASE_ESC_IGNORE, 3055 /* , - . / */ 3056 CASE_ESC_IGNORE, 3057 CASE_ESC_IGNORE, 3058 CASE_ESC_IGNORE, 3059 CASE_ESC_IGNORE, 3060 /* 0 1 2 3 */ 3061 CASE_GROUND_STATE, 3062 CASE_GROUND_STATE, 3063 CASE_GROUND_STATE, 3064 CASE_GROUND_STATE, 3065 /* 4 5 6 7 */ 3066 CASE_GROUND_STATE, 3067 CASE_GROUND_STATE, 3068 CASE_GROUND_STATE, 3069 CASE_GROUND_STATE, 3070 /* 8 9 : ; */ 3071 CASE_DECALN, 3072 CASE_GROUND_STATE, 3073 CASE_GROUND_STATE, 3074 CASE_GROUND_STATE, 3075 /* < = > ? */ 3076 CASE_GROUND_STATE, 3077 CASE_GROUND_STATE, 3078 CASE_GROUND_STATE, 3079 CASE_GROUND_STATE, 3080 /* @ A B C */ 3081 CASE_GROUND_STATE, 3082 CASE_GROUND_STATE, 3083 CASE_GROUND_STATE, 3084 CASE_GROUND_STATE, 3085 /* D E F G */ 3086 CASE_GROUND_STATE, 3087 CASE_GROUND_STATE, 3088 CASE_GROUND_STATE, 3089 CASE_GROUND_STATE, 3090 /* H I J K */ 3091 CASE_GROUND_STATE, 3092 CASE_GROUND_STATE, 3093 CASE_GROUND_STATE, 3094 CASE_GROUND_STATE, 3095 /* L M N O */ 3096 CASE_GROUND_STATE, 3097 CASE_GROUND_STATE, 3098 CASE_GROUND_STATE, 3099 CASE_GROUND_STATE, 3100 /* P Q R S */ 3101 CASE_GROUND_STATE, 3102 CASE_GROUND_STATE, 3103 CASE_GROUND_STATE, 3104 CASE_GROUND_STATE, 3105 /* T U V W */ 3106 CASE_GROUND_STATE, 3107 CASE_GROUND_STATE, 3108 CASE_GROUND_STATE, 3109 CASE_GROUND_STATE, 3110 /* X Y Z [ */ 3111 CASE_GROUND_STATE, 3112 CASE_GROUND_STATE, 3113 CASE_GROUND_STATE, 3114 CASE_GROUND_STATE, 3115 /* \ ] ^ _ */ 3116 CASE_GROUND_STATE, 3117 CASE_GROUND_STATE, 3118 CASE_GROUND_STATE, 3119 CASE_GROUND_STATE, 3120 /* ` a b c */ 3121 CASE_GROUND_STATE, 3122 CASE_GROUND_STATE, 3123 CASE_GROUND_STATE, 3124 CASE_GROUND_STATE, 3125 /* d e f g */ 3126 CASE_GROUND_STATE, 3127 CASE_GROUND_STATE, 3128 CASE_GROUND_STATE, 3129 CASE_GROUND_STATE, 3130 /* h i j k */ 3131 CASE_GROUND_STATE, 3132 CASE_GROUND_STATE, 3133 CASE_GROUND_STATE, 3134 CASE_GROUND_STATE, 3135 /* l m n o */ 3136 CASE_GROUND_STATE, 3137 CASE_GROUND_STATE, 3138 CASE_GROUND_STATE, 3139 CASE_GROUND_STATE, 3140 /* p q r s */ 3141 CASE_GROUND_STATE, 3142 CASE_GROUND_STATE, 3143 CASE_GROUND_STATE, 3144 CASE_GROUND_STATE, 3145 /* t u v w */ 3146 CASE_GROUND_STATE, 3147 CASE_GROUND_STATE, 3148 CASE_GROUND_STATE, 3149 CASE_GROUND_STATE, 3150 /* x y z { */ 3151 CASE_GROUND_STATE, 3152 CASE_GROUND_STATE, 3153 CASE_GROUND_STATE, 3154 CASE_GROUND_STATE, 3155 /* | } ~ DEL */ 3156 CASE_GROUND_STATE, 3157 CASE_GROUND_STATE, 3158 CASE_GROUND_STATE, 3159 CASE_GROUND_STATE, 3160 /* 0x80 0x81 0x82 0x83 */ 3161 CASE_IGNORE, 3162 CASE_IGNORE, 3163 CASE_IGNORE, 3164 CASE_IGNORE, 3165 /* 0x84 0x85 0x86 0x87 */ 3166 CASE_IGNORE, 3167 CASE_IGNORE, 3168 CASE_IGNORE, 3169 CASE_IGNORE, 3170 /* 0x88 0x89 0x8a 0x8b */ 3171 CASE_IGNORE, 3172 CASE_IGNORE, 3173 CASE_IGNORE, 3174 CASE_IGNORE, 3175 /* 0x8c 0x8d 0x8e 0x8f */ 3176 CASE_IGNORE, 3177 CASE_IGNORE, 3178 CASE_IGNORE, 3179 CASE_IGNORE, 3180 /* 0x90 0x91 0x92 0x93 */ 3181 CASE_IGNORE, 3182 CASE_IGNORE, 3183 CASE_IGNORE, 3184 CASE_IGNORE, 3185 /* 0x94 0x95 0x96 0x97 */ 3186 CASE_IGNORE, 3187 CASE_IGNORE, 3188 CASE_IGNORE, 3189 CASE_IGNORE, 3190 /* 0x99 0x99 0x9a 0x9b */ 3191 CASE_IGNORE, 3192 CASE_IGNORE, 3193 CASE_IGNORE, 3194 CASE_IGNORE, 3195 /* 0x9c 0x9d 0x9e 0x9f */ 3196 CASE_IGNORE, 3197 CASE_IGNORE, 3198 CASE_IGNORE, 3199 CASE_IGNORE, 3200 /* nobreakspace exclamdown cent sterling */ 3201 CASE_GROUND_STATE, 3202 CASE_GROUND_STATE, 3203 CASE_GROUND_STATE, 3204 CASE_GROUND_STATE, 3205 /* currency yen brokenbar section */ 3206 CASE_GROUND_STATE, 3207 CASE_GROUND_STATE, 3208 CASE_GROUND_STATE, 3209 CASE_GROUND_STATE, 3210 /* diaeresis copyright ordfeminine guillemotleft */ 3211 CASE_GROUND_STATE, 3212 CASE_GROUND_STATE, 3213 CASE_GROUND_STATE, 3214 CASE_GROUND_STATE, 3215 /* notsign hyphen registered macron */ 3216 CASE_GROUND_STATE, 3217 CASE_GROUND_STATE, 3218 CASE_GROUND_STATE, 3219 CASE_GROUND_STATE, 3220 /* degree plusminus twosuperior threesuperior */ 3221 CASE_GROUND_STATE, 3222 CASE_GROUND_STATE, 3223 CASE_GROUND_STATE, 3224 CASE_GROUND_STATE, 3225 /* acute mu paragraph periodcentered */ 3226 CASE_GROUND_STATE, 3227 CASE_GROUND_STATE, 3228 CASE_GROUND_STATE, 3229 CASE_GROUND_STATE, 3230 /* cedilla onesuperior masculine guillemotright */ 3231 CASE_GROUND_STATE, 3232 CASE_GROUND_STATE, 3233 CASE_GROUND_STATE, 3234 CASE_GROUND_STATE, 3235 /* onequarter onehalf threequarters questiondown */ 3236 CASE_GROUND_STATE, 3237 CASE_GROUND_STATE, 3238 CASE_GROUND_STATE, 3239 CASE_GROUND_STATE, 3240 /* Agrave Aacute Acircumflex Atilde */ 3241 CASE_GROUND_STATE, 3242 CASE_GROUND_STATE, 3243 CASE_GROUND_STATE, 3244 CASE_GROUND_STATE, 3245 /* Adiaeresis Aring AE Ccedilla */ 3246 CASE_GROUND_STATE, 3247 CASE_GROUND_STATE, 3248 CASE_GROUND_STATE, 3249 CASE_GROUND_STATE, 3250 /* Egrave Eacute Ecircumflex Ediaeresis */ 3251 CASE_GROUND_STATE, 3252 CASE_GROUND_STATE, 3253 CASE_GROUND_STATE, 3254 CASE_GROUND_STATE, 3255 /* Igrave Iacute Icircumflex Idiaeresis */ 3256 CASE_GROUND_STATE, 3257 CASE_GROUND_STATE, 3258 CASE_GROUND_STATE, 3259 CASE_GROUND_STATE, 3260 /* Eth Ntilde Ograve Oacute */ 3261 CASE_GROUND_STATE, 3262 CASE_GROUND_STATE, 3263 CASE_GROUND_STATE, 3264 CASE_GROUND_STATE, 3265 /* Ocircumflex Otilde Odiaeresis multiply */ 3266 CASE_GROUND_STATE, 3267 CASE_GROUND_STATE, 3268 CASE_GROUND_STATE, 3269 CASE_GROUND_STATE, 3270 /* Ooblique Ugrave Uacute Ucircumflex */ 3271 CASE_GROUND_STATE, 3272 CASE_GROUND_STATE, 3273 CASE_GROUND_STATE, 3274 CASE_GROUND_STATE, 3275 /* Udiaeresis Yacute Thorn ssharp */ 3276 CASE_GROUND_STATE, 3277 CASE_GROUND_STATE, 3278 CASE_GROUND_STATE, 3279 CASE_GROUND_STATE, 3280 /* agrave aacute acircumflex atilde */ 3281 CASE_GROUND_STATE, 3282 CASE_GROUND_STATE, 3283 CASE_GROUND_STATE, 3284 CASE_GROUND_STATE, 3285 /* adiaeresis aring ae ccedilla */ 3286 CASE_GROUND_STATE, 3287 CASE_GROUND_STATE, 3288 CASE_GROUND_STATE, 3289 CASE_GROUND_STATE, 3290 /* egrave eacute ecircumflex ediaeresis */ 3291 CASE_GROUND_STATE, 3292 CASE_GROUND_STATE, 3293 CASE_GROUND_STATE, 3294 CASE_GROUND_STATE, 3295 /* igrave iacute icircumflex idiaeresis */ 3296 CASE_GROUND_STATE, 3297 CASE_GROUND_STATE, 3298 CASE_GROUND_STATE, 3299 CASE_GROUND_STATE, 3300 /* eth ntilde ograve oacute */ 3301 CASE_GROUND_STATE, 3302 CASE_GROUND_STATE, 3303 CASE_GROUND_STATE, 3304 CASE_GROUND_STATE, 3305 /* ocircumflex otilde odiaeresis division */ 3306 CASE_GROUND_STATE, 3307 CASE_GROUND_STATE, 3308 CASE_GROUND_STATE, 3309 CASE_GROUND_STATE, 3310 /* oslash ugrave uacute ucircumflex */ 3311 CASE_GROUND_STATE, 3312 CASE_GROUND_STATE, 3313 CASE_GROUND_STATE, 3314 CASE_GROUND_STATE, 3315 /* udiaeresis yacute thorn ydiaeresis */ 3316 CASE_GROUND_STATE, 3317 CASE_GROUND_STATE, 3318 CASE_GROUND_STATE, 3319 CASE_GROUND_STATE, 3320 }; 3321 3322 // #pragma mark ESC ( - SCS table 3323 int gScsTable[] = 3324 { 3325 /* NUL SOH STX ETX */ 3326 CASE_IGNORE, 3327 CASE_IGNORE, 3328 CASE_IGNORE, 3329 CASE_IGNORE, 3330 /* EOT ENQ ACK BEL */ 3331 CASE_IGNORE, 3332 CASE_IGNORE, 3333 CASE_IGNORE, 3334 CASE_BELL, 3335 /* BS HT NL VT */ 3336 CASE_BS, 3337 CASE_TAB, 3338 CASE_VMOT, 3339 CASE_VMOT, 3340 /* NP CR SO SI */ 3341 CASE_VMOT, 3342 CASE_CR, 3343 CASE_SO, 3344 CASE_SI, 3345 /* DLE DC1 DC2 DC3 */ 3346 CASE_IGNORE, 3347 CASE_IGNORE, 3348 CASE_IGNORE, 3349 CASE_IGNORE, 3350 /* DC4 NAK SYN ETB */ 3351 CASE_IGNORE, 3352 CASE_IGNORE, 3353 CASE_IGNORE, 3354 CASE_IGNORE, 3355 /* CAN EM SUB ESC */ 3356 CASE_IGNORE, 3357 CASE_IGNORE, 3358 CASE_IGNORE, 3359 CASE_ESC, 3360 /* FS GS RS US */ 3361 CASE_IGNORE, 3362 CASE_IGNORE, 3363 CASE_IGNORE, 3364 CASE_IGNORE, 3365 /* SP ! " # */ 3366 CASE_ESC_IGNORE, 3367 CASE_ESC_IGNORE, 3368 CASE_ESC_IGNORE, 3369 CASE_ESC_IGNORE, 3370 /* $ % & ' */ 3371 CASE_ESC_IGNORE, 3372 CASE_ESC_IGNORE, 3373 CASE_ESC_IGNORE, 3374 CASE_ESC_IGNORE, 3375 /* ( ) * + */ 3376 CASE_ESC_IGNORE, 3377 CASE_ESC_IGNORE, 3378 CASE_ESC_IGNORE, 3379 CASE_ESC_IGNORE, 3380 /* , - . / */ 3381 CASE_ESC_IGNORE, 3382 CASE_ESC_IGNORE, 3383 CASE_ESC_IGNORE, 3384 CASE_ESC_IGNORE, 3385 #ifdef USE_ISO2022 3386 /* 0 1 2 3 */ 3387 CASE_GSETS, 3388 CASE_GSETS, 3389 CASE_GSETS, 3390 CASE_GSETS, 3391 /* 4 5 6 7 */ 3392 CASE_GSETS, 3393 CASE_GSETS, 3394 CASE_GSETS, 3395 CASE_GSETS, 3396 /* 8 9 : ; */ 3397 CASE_GSETS, 3398 CASE_GSETS, 3399 CASE_GSETS, 3400 CASE_GSETS, 3401 /* < = > ? */ 3402 CASE_GSETS, 3403 CASE_GSETS, 3404 CASE_GSETS, 3405 CASE_GSETS, 3406 /* @ A B C */ 3407 CASE_GSETS, 3408 CASE_GSETS, 3409 CASE_GSETS, 3410 CASE_GSETS, 3411 /* D E F G */ 3412 CASE_GSETS, 3413 CASE_GSETS, 3414 CASE_GSETS, 3415 CASE_GSETS, 3416 /* H I J K */ 3417 CASE_GSETS, 3418 CASE_GSETS, 3419 CASE_GSETS, 3420 CASE_GSETS, 3421 /* L M N O */ 3422 CASE_GSETS, 3423 CASE_GSETS, 3424 CASE_GSETS, 3425 CASE_GSETS, 3426 /* P Q R S */ 3427 CASE_GSETS, 3428 CASE_GSETS, 3429 CASE_GSETS, 3430 CASE_GSETS, 3431 /* T U V W */ 3432 CASE_GSETS, 3433 CASE_GSETS, 3434 CASE_GSETS, 3435 CASE_GSETS, 3436 /* X Y Z [ */ 3437 CASE_GSETS, 3438 CASE_GSETS, 3439 CASE_GSETS, 3440 CASE_GSETS, 3441 /* \ ] ^ _ */ 3442 CASE_GSETS, 3443 CASE_GSETS, 3444 CASE_GSETS, 3445 CASE_GSETS, 3446 /* ` a b c */ 3447 CASE_GSETS, 3448 CASE_GSETS, 3449 CASE_GSETS, 3450 CASE_GSETS, 3451 /* d e f g */ 3452 CASE_GSETS, 3453 CASE_GSETS, 3454 CASE_GSETS, 3455 CASE_GSETS, 3456 /* h i j k */ 3457 CASE_GSETS, 3458 CASE_GSETS, 3459 CASE_GSETS, 3460 CASE_GSETS, 3461 /* l m n o */ 3462 CASE_GSETS, 3463 CASE_GSETS, 3464 CASE_GSETS, 3465 CASE_GROUND_STATE, /* GSET('p') >= 0x40 (MBCS flag) */ 3466 /* p q r s */ 3467 CASE_GROUND_STATE, 3468 CASE_GROUND_STATE, 3469 CASE_GROUND_STATE, 3470 CASE_GROUND_STATE, 3471 /* t u v w */ 3472 CASE_GROUND_STATE, 3473 CASE_GROUND_STATE, 3474 CASE_GROUND_STATE, 3475 CASE_GROUND_STATE, 3476 /* x y z { */ 3477 CASE_GROUND_STATE, 3478 CASE_GROUND_STATE, 3479 CASE_GROUND_STATE, 3480 CASE_GROUND_STATE, 3481 /* | } ~ DEL */ 3482 CASE_GROUND_STATE, 3483 CASE_GROUND_STATE, 3484 CASE_GROUND_STATE, /* empty character set */ 3485 CASE_GROUND_STATE, 3486 #else /* !USE_ISO2022 */ 3487 /* 0 1 2 3 */ 3488 CASE_GSETS, 3489 CASE_GSETS, 3490 CASE_GSETS, 3491 CASE_GROUND_STATE, 3492 /* 4 5 6 7 */ 3493 CASE_GROUND_STATE, 3494 CASE_GROUND_STATE, 3495 CASE_GROUND_STATE, 3496 CASE_GROUND_STATE, 3497 /* 8 9 : ; */ 3498 CASE_GROUND_STATE, 3499 CASE_GROUND_STATE, 3500 CASE_GROUND_STATE, 3501 CASE_GROUND_STATE, 3502 /* < = > ? */ 3503 CASE_GROUND_STATE, 3504 CASE_GROUND_STATE, 3505 CASE_GROUND_STATE, 3506 CASE_GROUND_STATE, 3507 /* @ A B C */ 3508 CASE_GROUND_STATE, 3509 CASE_GSETS, 3510 CASE_GSETS, 3511 CASE_GROUND_STATE, 3512 /* D E F G */ 3513 CASE_GROUND_STATE, 3514 CASE_GROUND_STATE, 3515 CASE_GROUND_STATE, 3516 CASE_GROUND_STATE, 3517 /* H I J K */ 3518 CASE_GROUND_STATE, 3519 CASE_GROUND_STATE, 3520 CASE_GROUND_STATE, 3521 CASE_GROUND_STATE, 3522 /* L M N O */ 3523 CASE_GROUND_STATE, 3524 CASE_GROUND_STATE, 3525 CASE_GROUND_STATE, 3526 CASE_GROUND_STATE, 3527 /* P Q R S */ 3528 CASE_GROUND_STATE, 3529 CASE_GROUND_STATE, 3530 CASE_GROUND_STATE, 3531 CASE_GROUND_STATE, 3532 /* T U V W */ 3533 CASE_GROUND_STATE, 3534 CASE_GROUND_STATE, 3535 CASE_GROUND_STATE, 3536 CASE_GROUND_STATE, 3537 /* X Y Z [ */ 3538 CASE_GROUND_STATE, 3539 CASE_GROUND_STATE, 3540 CASE_GROUND_STATE, 3541 CASE_GROUND_STATE, 3542 /* \ ] ^ _ */ 3543 CASE_GROUND_STATE, 3544 CASE_GROUND_STATE, 3545 CASE_GROUND_STATE, 3546 CASE_GROUND_STATE, 3547 /* ` a b c */ 3548 CASE_GROUND_STATE, 3549 CASE_GROUND_STATE, 3550 CASE_GROUND_STATE, 3551 CASE_GROUND_STATE, 3552 /* d e f g */ 3553 CASE_GROUND_STATE, 3554 CASE_GROUND_STATE, 3555 CASE_GROUND_STATE, 3556 CASE_GROUND_STATE, 3557 /* h i j k */ 3558 CASE_GROUND_STATE, 3559 CASE_GROUND_STATE, 3560 CASE_GROUND_STATE, 3561 CASE_GROUND_STATE, 3562 /* l m n o */ 3563 CASE_GROUND_STATE, 3564 CASE_GROUND_STATE, 3565 CASE_GROUND_STATE, 3566 CASE_GROUND_STATE, 3567 /* p q r s */ 3568 CASE_GROUND_STATE, 3569 CASE_GROUND_STATE, 3570 CASE_GROUND_STATE, 3571 CASE_GROUND_STATE, 3572 /* t u v w */ 3573 CASE_GROUND_STATE, 3574 CASE_GROUND_STATE, 3575 CASE_GROUND_STATE, 3576 CASE_GROUND_STATE, 3577 /* x y z { */ 3578 CASE_GROUND_STATE, 3579 CASE_GROUND_STATE, 3580 CASE_GROUND_STATE, 3581 CASE_GROUND_STATE, 3582 /* | } ~ DEL */ 3583 CASE_GROUND_STATE, 3584 CASE_GROUND_STATE, 3585 CASE_GROUND_STATE, 3586 CASE_GROUND_STATE, 3587 #endif /* !USE_ISO2022 */ 3588 /* 0x80 0x81 0x82 0x83 */ 3589 CASE_IGNORE, 3590 CASE_IGNORE, 3591 CASE_IGNORE, 3592 CASE_IGNORE, 3593 /* 0x84 0x85 0x86 0x87 */ 3594 CASE_IGNORE, 3595 CASE_IGNORE, 3596 CASE_IGNORE, 3597 CASE_IGNORE, 3598 /* 0x88 0x89 0x8a 0x8b */ 3599 CASE_IGNORE, 3600 CASE_IGNORE, 3601 CASE_IGNORE, 3602 CASE_IGNORE, 3603 /* 0x8c 0x8d 0x8e 0x8f */ 3604 CASE_IGNORE, 3605 CASE_IGNORE, 3606 CASE_IGNORE, 3607 CASE_IGNORE, 3608 /* 0x90 0x91 0x92 0x93 */ 3609 CASE_IGNORE, 3610 CASE_IGNORE, 3611 CASE_IGNORE, 3612 CASE_IGNORE, 3613 /* 0x94 0x95 0x96 0x97 */ 3614 CASE_IGNORE, 3615 CASE_IGNORE, 3616 CASE_IGNORE, 3617 CASE_IGNORE, 3618 /* 0x99 0x99 0x9a 0x9b */ 3619 CASE_IGNORE, 3620 CASE_IGNORE, 3621 CASE_IGNORE, 3622 CASE_IGNORE, 3623 /* 0x9c 0x9d 0x9e 0x9f */ 3624 CASE_IGNORE, 3625 CASE_IGNORE, 3626 CASE_IGNORE, 3627 CASE_IGNORE, 3628 /* nobreakspace exclamdown cent sterling */ 3629 CASE_GROUND_STATE, 3630 CASE_GROUND_STATE, 3631 CASE_GROUND_STATE, 3632 CASE_GROUND_STATE, 3633 /* currency yen brokenbar section */ 3634 CASE_GROUND_STATE, 3635 CASE_GROUND_STATE, 3636 CASE_GROUND_STATE, 3637 CASE_GROUND_STATE, 3638 /* diaeresis copyright ordfeminine guillemotleft */ 3639 CASE_GROUND_STATE, 3640 CASE_GROUND_STATE, 3641 CASE_GROUND_STATE, 3642 CASE_GROUND_STATE, 3643 /* notsign hyphen registered macron */ 3644 CASE_GROUND_STATE, 3645 CASE_GROUND_STATE, 3646 CASE_GROUND_STATE, 3647 CASE_GROUND_STATE, 3648 /* degree plusminus twosuperior threesuperior */ 3649 CASE_GROUND_STATE, 3650 CASE_GROUND_STATE, 3651 CASE_GROUND_STATE, 3652 CASE_GROUND_STATE, 3653 /* acute mu paragraph periodcentered */ 3654 CASE_GROUND_STATE, 3655 CASE_GROUND_STATE, 3656 CASE_GROUND_STATE, 3657 CASE_GROUND_STATE, 3658 /* cedilla onesuperior masculine guillemotright */ 3659 CASE_GROUND_STATE, 3660 CASE_GROUND_STATE, 3661 CASE_GROUND_STATE, 3662 CASE_GROUND_STATE, 3663 /* onequarter onehalf threequarters questiondown */ 3664 CASE_GROUND_STATE, 3665 CASE_GROUND_STATE, 3666 CASE_GROUND_STATE, 3667 CASE_GROUND_STATE, 3668 /* Agrave Aacute Acircumflex Atilde */ 3669 CASE_GROUND_STATE, 3670 CASE_GROUND_STATE, 3671 CASE_GROUND_STATE, 3672 CASE_GROUND_STATE, 3673 /* Adiaeresis Aring AE Ccedilla */ 3674 CASE_GROUND_STATE, 3675 CASE_GROUND_STATE, 3676 CASE_GROUND_STATE, 3677 CASE_GROUND_STATE, 3678 /* Egrave Eacute Ecircumflex Ediaeresis */ 3679 CASE_GROUND_STATE, 3680 CASE_GROUND_STATE, 3681 CASE_GROUND_STATE, 3682 CASE_GROUND_STATE, 3683 /* Igrave Iacute Icircumflex Idiaeresis */ 3684 CASE_GROUND_STATE, 3685 CASE_GROUND_STATE, 3686 CASE_GROUND_STATE, 3687 CASE_GROUND_STATE, 3688 /* Eth Ntilde Ograve Oacute */ 3689 CASE_GROUND_STATE, 3690 CASE_GROUND_STATE, 3691 CASE_GROUND_STATE, 3692 CASE_GROUND_STATE, 3693 /* Ocircumflex Otilde Odiaeresis multiply */ 3694 CASE_GROUND_STATE, 3695 CASE_GROUND_STATE, 3696 CASE_GROUND_STATE, 3697 CASE_GROUND_STATE, 3698 /* Ooblique Ugrave Uacute Ucircumflex */ 3699 CASE_GROUND_STATE, 3700 CASE_GROUND_STATE, 3701 CASE_GROUND_STATE, 3702 CASE_GROUND_STATE, 3703 /* Udiaeresis Yacute Thorn ssharp */ 3704 CASE_GROUND_STATE, 3705 CASE_GROUND_STATE, 3706 CASE_GROUND_STATE, 3707 CASE_GROUND_STATE, 3708 /* agrave aacute acircumflex atilde */ 3709 CASE_GROUND_STATE, 3710 CASE_GROUND_STATE, 3711 CASE_GROUND_STATE, 3712 CASE_GROUND_STATE, 3713 /* adiaeresis aring ae ccedilla */ 3714 CASE_GROUND_STATE, 3715 CASE_GROUND_STATE, 3716 CASE_GROUND_STATE, 3717 CASE_GROUND_STATE, 3718 /* egrave eacute ecircumflex ediaeresis */ 3719 CASE_GROUND_STATE, 3720 CASE_GROUND_STATE, 3721 CASE_GROUND_STATE, 3722 CASE_GROUND_STATE, 3723 /* igrave iacute icircumflex idiaeresis */ 3724 CASE_GROUND_STATE, 3725 CASE_GROUND_STATE, 3726 CASE_GROUND_STATE, 3727 CASE_GROUND_STATE, 3728 /* eth ntilde ograve oacute */ 3729 CASE_GROUND_STATE, 3730 CASE_GROUND_STATE, 3731 CASE_GROUND_STATE, 3732 CASE_GROUND_STATE, 3733 /* ocircumflex otilde odiaeresis division */ 3734 CASE_GROUND_STATE, 3735 CASE_GROUND_STATE, 3736 CASE_GROUND_STATE, 3737 CASE_GROUND_STATE, 3738 /* oslash ugrave uacute ucircumflex */ 3739 CASE_GROUND_STATE, 3740 CASE_GROUND_STATE, 3741 CASE_GROUND_STATE, 3742 CASE_GROUND_STATE, 3743 /* udiaeresis yacute thorn ydiaeresis */ 3744 CASE_GROUND_STATE, 3745 CASE_GROUND_STATE, 3746 CASE_GROUND_STATE, 3747 CASE_GROUND_STATE, 3748 }; 3749 3750 #ifdef USE_MBCS 3751 // #pragma mark MBCS table 3752 int gMbcsTable[] = { 3753 /* NUL SOH STX ETX */ 3754 CASE_IGNORE, 3755 CASE_IGNORE, 3756 CASE_IGNORE, 3757 CASE_IGNORE, 3758 /* EOT ENQ ACK BEL */ 3759 CASE_IGNORE, 3760 CASE_IGNORE, 3761 CASE_IGNORE, 3762 CASE_BELL, 3763 /* BS HT NL VT */ 3764 CASE_BS, 3765 CASE_TAB, 3766 CASE_VMOT, 3767 CASE_VMOT, 3768 /* NP CR SO SI */ 3769 CASE_VMOT, 3770 CASE_CR, 3771 CASE_SO, 3772 CASE_SI, 3773 /* DLE DC1 DC2 DC3 */ 3774 CASE_IGNORE, 3775 CASE_IGNORE, 3776 CASE_IGNORE, 3777 CASE_IGNORE, 3778 /* DC4 NAK SYN ETB */ 3779 CASE_IGNORE, 3780 CASE_IGNORE, 3781 CASE_IGNORE, 3782 CASE_IGNORE, 3783 /* CAN EM SUB ESC */ 3784 CASE_IGNORE, 3785 CASE_IGNORE, 3786 CASE_IGNORE, 3787 CASE_ESC, 3788 /* FS GS RS US */ 3789 CASE_IGNORE, 3790 CASE_IGNORE, 3791 CASE_IGNORE, 3792 CASE_IGNORE, 3793 /* SP ! " # */ 3794 CASE_ESC_IGNORE, 3795 CASE_ESC_IGNORE, 3796 CASE_ESC_IGNORE, 3797 CASE_ESC_IGNORE, 3798 /* $ % & ' */ 3799 CASE_ESC_IGNORE, 3800 CASE_ESC_IGNORE, 3801 CASE_ESC_IGNORE, 3802 CASE_ESC_IGNORE, 3803 /* ( ) * + */ 3804 CASE_IGNORE, /*CASE_SCS_STATE,*/ 3805 CASE_SCS_STATE, 3806 CASE_SCS_STATE, 3807 CASE_SCS_STATE, 3808 /* , - . / */ 3809 CASE_ESC_IGNORE, 3810 CASE_SCS_STATE, 3811 CASE_SCS_STATE, 3812 CASE_SCS_STATE, 3813 /* 0 1 2 3 */ 3814 CASE_GROUND_STATE, 3815 CASE_GROUND_STATE, 3816 CASE_GROUND_STATE, 3817 CASE_GROUND_STATE, 3818 /* 4 5 6 7 */ 3819 CASE_GROUND_STATE, 3820 CASE_GROUND_STATE, 3821 CASE_GROUND_STATE, 3822 CASE_GROUND_STATE, 3823 /* 8 9 : ; */ 3824 CASE_GROUND_STATE, 3825 CASE_GROUND_STATE, 3826 CASE_GROUND_STATE, 3827 CASE_GROUND_STATE, 3828 /* < = > ? */ 3829 CASE_GROUND_STATE, 3830 CASE_GROUND_STATE, 3831 CASE_GROUND_STATE, 3832 CASE_GROUND_STATE, 3833 /* @ A B C */ 3834 CASE_GSETS, /* ESC-$-@ (JIS-78) */ 3835 CASE_GSETS, /* ESC-$-A (GB) */ 3836 CASE_GSETS, /* ESC-$-B (JIS-83) */ 3837 CASE_GROUND_STATE, 3838 /* D E F G */ 3839 CASE_GROUND_STATE, 3840 CASE_GROUND_STATE, 3841 CASE_GROUND_STATE, 3842 CASE_GROUND_STATE, 3843 /* H I J K */ 3844 CASE_GROUND_STATE, 3845 CASE_GROUND_STATE, 3846 CASE_GROUND_STATE, 3847 CASE_GROUND_STATE, 3848 /* L M N O */ 3849 CASE_GROUND_STATE, 3850 CASE_GROUND_STATE, 3851 CASE_GROUND_STATE, 3852 CASE_GROUND_STATE, 3853 /* P Q R S */ 3854 CASE_IGNORE_STATE, 3855 CASE_GROUND_STATE, 3856 CASE_GROUND_STATE, 3857 CASE_GROUND_STATE, 3858 /* T U V W */ 3859 CASE_GROUND_STATE, 3860 CASE_GROUND_STATE, 3861 CASE_GROUND_STATE, 3862 CASE_GROUND_STATE, 3863 /* X Y Z [ */ 3864 CASE_GROUND_STATE, 3865 CASE_GROUND_STATE, 3866 CASE_GROUND_STATE, 3867 CASE_GROUND_STATE, 3868 /* \ ] ^ _ */ 3869 CASE_GROUND_STATE, 3870 CASE_GROUND_STATE, 3871 CASE_IGNORE_STATE, 3872 CASE_IGNORE_STATE, 3873 /* ` a b c */ 3874 CASE_GROUND_STATE, 3875 CASE_GROUND_STATE, 3876 CASE_GROUND_STATE, 3877 CASE_GROUND_STATE, 3878 /* d e f g */ 3879 CASE_GROUND_STATE, 3880 CASE_GROUND_STATE, 3881 CASE_GROUND_STATE, 3882 CASE_GROUND_STATE, 3883 /* h i j k */ 3884 CASE_GROUND_STATE, 3885 CASE_GROUND_STATE, 3886 CASE_GROUND_STATE, 3887 CASE_GROUND_STATE, 3888 /* l m n o */ 3889 CASE_GROUND_STATE, 3890 CASE_GROUND_STATE, 3891 CASE_GROUND_STATE, 3892 CASE_GROUND_STATE, 3893 /* p q r s */ 3894 CASE_GROUND_STATE, 3895 CASE_GROUND_STATE, 3896 CASE_GROUND_STATE, 3897 CASE_GROUND_STATE, 3898 /* t u v w */ 3899 CASE_GROUND_STATE, 3900 CASE_GROUND_STATE, 3901 CASE_GROUND_STATE, 3902 CASE_GROUND_STATE, 3903 /* x y z { */ 3904 CASE_GROUND_STATE, 3905 CASE_GROUND_STATE, 3906 CASE_GROUND_STATE, 3907 CASE_GROUND_STATE, 3908 /* | } ~ DEL */ 3909 CASE_GROUND_STATE, 3910 CASE_GROUND_STATE, 3911 CASE_GROUND_STATE, 3912 CASE_GROUND_STATE, 3913 /* 0x80 0x81 0x82 0x83 */ 3914 CASE_IGNORE, 3915 CASE_IGNORE, 3916 CASE_IGNORE, 3917 CASE_IGNORE, 3918 /* 0x84 0x85 0x86 0x87 */ 3919 CASE_IGNORE, 3920 CASE_IGNORE, 3921 CASE_IGNORE, 3922 CASE_IGNORE, 3923 /* 0x88 0x89 0x8a 0x8b */ 3924 CASE_IGNORE, 3925 CASE_IGNORE, 3926 CASE_IGNORE, 3927 CASE_IGNORE, 3928 /* 0x8c 0x8d 0x8e 0x8f */ 3929 CASE_IGNORE, 3930 CASE_IGNORE, 3931 CASE_IGNORE, 3932 CASE_IGNORE, 3933 /* 0x90 0x91 0x92 0x93 */ 3934 CASE_IGNORE, 3935 CASE_IGNORE, 3936 CASE_IGNORE, 3937 CASE_IGNORE, 3938 /* 0x94 0x95 0x96 0x97 */ 3939 CASE_IGNORE, 3940 CASE_IGNORE, 3941 CASE_IGNORE, 3942 CASE_IGNORE, 3943 /* 0x99 0x99 0x9a 0x9b */ 3944 CASE_IGNORE, 3945 CASE_IGNORE, 3946 CASE_IGNORE, 3947 CASE_IGNORE, 3948 /* 0x9c 0x9d 0x9e 0x9f */ 3949 CASE_IGNORE, 3950 CASE_IGNORE, 3951 CASE_IGNORE, 3952 CASE_IGNORE, 3953 /* nobreakspace exclamdown cent sterling */ 3954 CASE_GROUND_STATE, 3955 CASE_GROUND_STATE, 3956 CASE_GROUND_STATE, 3957 CASE_GROUND_STATE, 3958 /* currency yen brokenbar section */ 3959 CASE_GROUND_STATE, 3960 CASE_GROUND_STATE, 3961 CASE_GROUND_STATE, 3962 CASE_GROUND_STATE, 3963 /* diaeresis copyright ordfeminine guillemotleft */ 3964 CASE_GROUND_STATE, 3965 CASE_GROUND_STATE, 3966 CASE_GROUND_STATE, 3967 CASE_GROUND_STATE, 3968 /* notsign hyphen registered macron */ 3969 CASE_GROUND_STATE, 3970 CASE_GROUND_STATE, 3971 CASE_GROUND_STATE, 3972 CASE_GROUND_STATE, 3973 /* degree plusminus twosuperior threesuperior */ 3974 CASE_GROUND_STATE, 3975 CASE_GROUND_STATE, 3976 CASE_GROUND_STATE, 3977 CASE_GROUND_STATE, 3978 /* acute mu paragraph periodcentered */ 3979 CASE_GROUND_STATE, 3980 CASE_GROUND_STATE, 3981 CASE_GROUND_STATE, 3982 CASE_GROUND_STATE, 3983 /* cedilla onesuperior masculine guillemotright */ 3984 CASE_GROUND_STATE, 3985 CASE_GROUND_STATE, 3986 CASE_GROUND_STATE, 3987 CASE_GROUND_STATE, 3988 /* onequarter onehalf threequarters questiondown */ 3989 CASE_GROUND_STATE, 3990 CASE_GROUND_STATE, 3991 CASE_GROUND_STATE, 3992 CASE_GROUND_STATE, 3993 /* Agrave Aacute Acircumflex Atilde */ 3994 CASE_GROUND_STATE, 3995 CASE_GROUND_STATE, 3996 CASE_GROUND_STATE, 3997 CASE_GROUND_STATE, 3998 /* Adiaeresis Aring AE Ccedilla */ 3999 CASE_GROUND_STATE, 4000 CASE_GROUND_STATE, 4001 CASE_GROUND_STATE, 4002 CASE_GROUND_STATE, 4003 /* Egrave Eacute Ecircumflex Ediaeresis */ 4004 CASE_GROUND_STATE, 4005 CASE_GROUND_STATE, 4006 CASE_GROUND_STATE, 4007 CASE_GROUND_STATE, 4008 /* Igrave Iacute Icircumflex Idiaeresis */ 4009 CASE_GROUND_STATE, 4010 CASE_GROUND_STATE, 4011 CASE_GROUND_STATE, 4012 CASE_GROUND_STATE, 4013 /* Eth Ntilde Ograve Oacute */ 4014 CASE_GROUND_STATE, 4015 CASE_GROUND_STATE, 4016 CASE_GROUND_STATE, 4017 CASE_GROUND_STATE, 4018 /* Ocircumflex Otilde Odiaeresis multiply */ 4019 CASE_GROUND_STATE, 4020 CASE_GROUND_STATE, 4021 CASE_GROUND_STATE, 4022 CASE_GROUND_STATE, 4023 /* Ooblique Ugrave Uacute Ucircumflex */ 4024 CASE_GROUND_STATE, 4025 CASE_GROUND_STATE, 4026 CASE_GROUND_STATE, 4027 CASE_GROUND_STATE, 4028 /* Udiaeresis Yacute Thorn ssharp */ 4029 CASE_GROUND_STATE, 4030 CASE_GROUND_STATE, 4031 CASE_GROUND_STATE, 4032 CASE_GROUND_STATE, 4033 /* agrave aacute acircumflex atilde */ 4034 CASE_GROUND_STATE, 4035 CASE_GROUND_STATE, 4036 CASE_GROUND_STATE, 4037 CASE_GROUND_STATE, 4038 /* adiaeresis aring ae ccedilla */ 4039 CASE_GROUND_STATE, 4040 CASE_GROUND_STATE, 4041 CASE_GROUND_STATE, 4042 CASE_GROUND_STATE, 4043 /* egrave eacute ecircumflex ediaeresis */ 4044 CASE_GROUND_STATE, 4045 CASE_GROUND_STATE, 4046 CASE_GROUND_STATE, 4047 CASE_GROUND_STATE, 4048 /* igrave iacute icircumflex idiaeresis */ 4049 CASE_GROUND_STATE, 4050 CASE_GROUND_STATE, 4051 CASE_GROUND_STATE, 4052 CASE_GROUND_STATE, 4053 /* eth ntilde ograve oacute */ 4054 CASE_GROUND_STATE, 4055 CASE_GROUND_STATE, 4056 CASE_GROUND_STATE, 4057 CASE_GROUND_STATE, 4058 /* ocircumflex otilde odiaeresis division */ 4059 CASE_GROUND_STATE, 4060 CASE_GROUND_STATE, 4061 CASE_GROUND_STATE, 4062 CASE_GROUND_STATE, 4063 /* oslash ugrave uacute ucircumflex */ 4064 CASE_GROUND_STATE, 4065 CASE_GROUND_STATE, 4066 CASE_GROUND_STATE, 4067 CASE_GROUND_STATE, 4068 /* udiaeresis yacute thorn ydiaeresis */ 4069 CASE_GROUND_STATE, 4070 CASE_GROUND_STATE, 4071 CASE_GROUND_STATE, 4072 CASE_GROUND_STATE, 4073 }; 4074 4075 // #pragma mark SMBCS table 4076 int gSmbcsTable[] = { 4077 /* NUL SOH STX ETX */ 4078 CASE_IGNORE, 4079 CASE_IGNORE, 4080 CASE_IGNORE, 4081 CASE_IGNORE, 4082 /* EOT ENQ ACK BEL */ 4083 CASE_IGNORE, 4084 CASE_IGNORE, 4085 CASE_IGNORE, 4086 CASE_BELL, 4087 /* BS HT NL VT */ 4088 CASE_BS, 4089 CASE_TAB, 4090 CASE_VMOT, 4091 CASE_VMOT, 4092 /* NP CR SO SI */ 4093 CASE_VMOT, 4094 CASE_CR, 4095 CASE_SO, 4096 CASE_SI, 4097 /* DLE DC1 DC2 DC3 */ 4098 CASE_IGNORE, 4099 CASE_IGNORE, 4100 CASE_IGNORE, 4101 CASE_IGNORE, 4102 /* DC4 NAK SYN ETB */ 4103 CASE_IGNORE, 4104 CASE_IGNORE, 4105 CASE_IGNORE, 4106 CASE_IGNORE, 4107 /* CAN EM SUB ESC */ 4108 CASE_IGNORE, 4109 CASE_IGNORE, 4110 CASE_IGNORE, 4111 CASE_ESC, 4112 /* FS GS RS US */ 4113 CASE_IGNORE, 4114 CASE_IGNORE, 4115 CASE_IGNORE, 4116 CASE_IGNORE, 4117 /* SP ! " # */ 4118 CASE_ESC_IGNORE, 4119 CASE_ESC_IGNORE, 4120 CASE_ESC_IGNORE, 4121 CASE_ESC_IGNORE, 4122 /* $ % & ' */ 4123 CASE_ESC_IGNORE, 4124 CASE_ESC_IGNORE, 4125 CASE_ESC_IGNORE, 4126 CASE_ESC_IGNORE, 4127 /* ( ) * + */ 4128 CASE_ESC_IGNORE, 4129 CASE_ESC_IGNORE, 4130 CASE_ESC_IGNORE, 4131 CASE_ESC_IGNORE, 4132 /* , - . / */ 4133 CASE_ESC_IGNORE, 4134 CASE_ESC_IGNORE, 4135 CASE_ESC_IGNORE, 4136 CASE_ESC_IGNORE, 4137 /* 0 1 2 3 */ 4138 CASE_GROUND_STATE, /* (2-byte or more) private character set */ 4139 CASE_GROUND_STATE, 4140 CASE_GROUND_STATE, 4141 CASE_GROUND_STATE, 4142 /* 4 5 6 7 */ 4143 CASE_GROUND_STATE, 4144 CASE_GROUND_STATE, 4145 CASE_GROUND_STATE, 4146 CASE_GROUND_STATE, 4147 /* 8 9 : ; */ 4148 CASE_GROUND_STATE, 4149 CASE_GROUND_STATE, 4150 CASE_GROUND_STATE, 4151 CASE_GROUND_STATE, 4152 /* < = > ? */ 4153 CASE_GROUND_STATE, 4154 CASE_GROUND_STATE, 4155 CASE_GROUND_STATE, 4156 CASE_GROUND_STATE, 4157 /* @ A B C */ 4158 CASE_GSETS, /* ESC-$-I-F */ 4159 CASE_GSETS, 4160 CASE_GSETS, 4161 CASE_GSETS, 4162 /* D E F G */ 4163 CASE_GSETS, 4164 CASE_GSETS, 4165 CASE_GSETS, 4166 CASE_GSETS, 4167 /* H I J K */ 4168 CASE_GSETS, 4169 CASE_GSETS, 4170 CASE_GSETS, 4171 CASE_GSETS, 4172 /* L M N O */ 4173 CASE_GSETS, 4174 CASE_GSETS, 4175 CASE_GSETS, 4176 CASE_GSETS, 4177 /* P Q R S */ 4178 CASE_GSETS, 4179 CASE_GSETS, 4180 CASE_GSETS, 4181 CASE_GSETS, 4182 /* T U V W */ 4183 CASE_GSETS, 4184 CASE_GSETS, 4185 CASE_GSETS, 4186 CASE_GSETS, 4187 /* X Y Z [ */ 4188 CASE_GSETS, 4189 CASE_GSETS, 4190 CASE_GSETS, 4191 CASE_GSETS, 4192 /* \ ] ^ _ */ 4193 CASE_GSETS, 4194 CASE_GSETS, 4195 CASE_GSETS, 4196 CASE_GSETS, 4197 /* ` a b c */ 4198 CASE_GROUND_STATE, /* 3-byte character set */ 4199 CASE_GROUND_STATE, 4200 CASE_GROUND_STATE, 4201 CASE_GROUND_STATE, 4202 /* d e f g */ 4203 CASE_GROUND_STATE, 4204 CASE_GROUND_STATE, 4205 CASE_GROUND_STATE, 4206 CASE_GROUND_STATE, 4207 /* h i j k */ 4208 CASE_GROUND_STATE, 4209 CASE_GROUND_STATE, 4210 CASE_GROUND_STATE, 4211 CASE_GROUND_STATE, 4212 /* l m n o */ 4213 CASE_GROUND_STATE, 4214 CASE_GROUND_STATE, 4215 CASE_GROUND_STATE, 4216 CASE_GROUND_STATE, 4217 /* p q r s */ 4218 CASE_GROUND_STATE, /* 4-byte character set */ 4219 CASE_GROUND_STATE, 4220 CASE_GROUND_STATE, 4221 CASE_GROUND_STATE, 4222 /* t u v w */ 4223 CASE_GROUND_STATE, 4224 CASE_GROUND_STATE, 4225 CASE_GROUND_STATE, 4226 CASE_GROUND_STATE, 4227 /* x y z { */ 4228 CASE_GROUND_STATE, 4229 CASE_GROUND_STATE, 4230 CASE_GROUND_STATE, 4231 CASE_GROUND_STATE, 4232 /* | } ~ DEL */ 4233 CASE_GROUND_STATE, 4234 CASE_GROUND_STATE, 4235 CASE_GROUND_STATE, 4236 CASE_GROUND_STATE, 4237 /* 0x80 0x81 0x82 0x83 */ 4238 CASE_IGNORE, 4239 CASE_IGNORE, 4240 CASE_IGNORE, 4241 CASE_IGNORE, 4242 /* 0x84 0x85 0x86 0x87 */ 4243 CASE_IGNORE, 4244 CASE_IGNORE, 4245 CASE_IGNORE, 4246 CASE_IGNORE, 4247 /* 0x88 0x89 0x8a 0x8b */ 4248 CASE_IGNORE, 4249 CASE_IGNORE, 4250 CASE_IGNORE, 4251 CASE_IGNORE, 4252 /* 0x8c 0x8d 0x8e 0x8f */ 4253 CASE_IGNORE, 4254 CASE_IGNORE, 4255 CASE_IGNORE, 4256 CASE_IGNORE, 4257 /* 0x90 0x91 0x92 0x93 */ 4258 CASE_IGNORE, 4259 CASE_IGNORE, 4260 CASE_IGNORE, 4261 CASE_IGNORE, 4262 /* 0x94 0x95 0x96 0x97 */ 4263 CASE_IGNORE, 4264 CASE_IGNORE, 4265 CASE_IGNORE, 4266 CASE_IGNORE, 4267 /* 0x99 0x99 0x9a 0x9b */ 4268 CASE_IGNORE, 4269 CASE_IGNORE, 4270 CASE_IGNORE, 4271 CASE_IGNORE, 4272 /* 0x9c 0x9d 0x9e 0x9f */ 4273 CASE_IGNORE, 4274 CASE_IGNORE, 4275 CASE_IGNORE, 4276 CASE_IGNORE, 4277 /* nobreakspace exclamdown cent sterling */ 4278 CASE_GROUND_STATE, 4279 CASE_GROUND_STATE, 4280 CASE_GROUND_STATE, 4281 CASE_GROUND_STATE, 4282 /* currency yen brokenbar section */ 4283 CASE_GROUND_STATE, 4284 CASE_GROUND_STATE, 4285 CASE_GROUND_STATE, 4286 CASE_GROUND_STATE, 4287 /* diaeresis copyright ordfeminine guillemotleft */ 4288 CASE_GROUND_STATE, 4289 CASE_GROUND_STATE, 4290 CASE_GROUND_STATE, 4291 CASE_GROUND_STATE, 4292 /* notsign hyphen registered macron */ 4293 CASE_GROUND_STATE, 4294 CASE_GROUND_STATE, 4295 CASE_GROUND_STATE, 4296 CASE_GROUND_STATE, 4297 /* degree plusminus twosuperior threesuperior */ 4298 CASE_GROUND_STATE, 4299 CASE_GROUND_STATE, 4300 CASE_GROUND_STATE, 4301 CASE_GROUND_STATE, 4302 /* acute mu paragraph periodcentered */ 4303 CASE_GROUND_STATE, 4304 CASE_GROUND_STATE, 4305 CASE_GROUND_STATE, 4306 CASE_GROUND_STATE, 4307 /* cedilla onesuperior masculine guillemotright */ 4308 CASE_GROUND_STATE, 4309 CASE_GROUND_STATE, 4310 CASE_GROUND_STATE, 4311 CASE_GROUND_STATE, 4312 /* onequarter onehalf threequarters questiondown */ 4313 CASE_GROUND_STATE, 4314 CASE_GROUND_STATE, 4315 CASE_GROUND_STATE, 4316 CASE_GROUND_STATE, 4317 /* Agrave Aacute Acircumflex Atilde */ 4318 CASE_GROUND_STATE, 4319 CASE_GROUND_STATE, 4320 CASE_GROUND_STATE, 4321 CASE_GROUND_STATE, 4322 /* Adiaeresis Aring AE Ccedilla */ 4323 CASE_GROUND_STATE, 4324 CASE_GROUND_STATE, 4325 CASE_GROUND_STATE, 4326 CASE_GROUND_STATE, 4327 /* Egrave Eacute Ecircumflex Ediaeresis */ 4328 CASE_GROUND_STATE, 4329 CASE_GROUND_STATE, 4330 CASE_GROUND_STATE, 4331 CASE_GROUND_STATE, 4332 /* Igrave Iacute Icircumflex Idiaeresis */ 4333 CASE_GROUND_STATE, 4334 CASE_GROUND_STATE, 4335 CASE_GROUND_STATE, 4336 CASE_GROUND_STATE, 4337 /* Eth Ntilde Ograve Oacute */ 4338 CASE_GROUND_STATE, 4339 CASE_GROUND_STATE, 4340 CASE_GROUND_STATE, 4341 CASE_GROUND_STATE, 4342 /* Ocircumflex Otilde Odiaeresis multiply */ 4343 CASE_GROUND_STATE, 4344 CASE_GROUND_STATE, 4345 CASE_GROUND_STATE, 4346 CASE_GROUND_STATE, 4347 /* Ooblique Ugrave Uacute Ucircumflex */ 4348 CASE_GROUND_STATE, 4349 CASE_GROUND_STATE, 4350 CASE_GROUND_STATE, 4351 CASE_GROUND_STATE, 4352 /* Udiaeresis Yacute Thorn ssharp */ 4353 CASE_GROUND_STATE, 4354 CASE_GROUND_STATE, 4355 CASE_GROUND_STATE, 4356 CASE_GROUND_STATE, 4357 /* agrave aacute acircumflex atilde */ 4358 CASE_GROUND_STATE, 4359 CASE_GROUND_STATE, 4360 CASE_GROUND_STATE, 4361 CASE_GROUND_STATE, 4362 /* adiaeresis aring ae ccedilla */ 4363 CASE_GROUND_STATE, 4364 CASE_GROUND_STATE, 4365 CASE_GROUND_STATE, 4366 CASE_GROUND_STATE, 4367 /* egrave eacute ecircumflex ediaeresis */ 4368 CASE_GROUND_STATE, 4369 CASE_GROUND_STATE, 4370 CASE_GROUND_STATE, 4371 CASE_GROUND_STATE, 4372 /* igrave iacute icircumflex idiaeresis */ 4373 CASE_GROUND_STATE, 4374 CASE_GROUND_STATE, 4375 CASE_GROUND_STATE, 4376 CASE_GROUND_STATE, 4377 /* eth ntilde ograve oacute */ 4378 CASE_GROUND_STATE, 4379 CASE_GROUND_STATE, 4380 CASE_GROUND_STATE, 4381 CASE_GROUND_STATE, 4382 /* ocircumflex otilde odiaeresis division */ 4383 CASE_GROUND_STATE, 4384 CASE_GROUND_STATE, 4385 CASE_GROUND_STATE, 4386 CASE_GROUND_STATE, 4387 /* oslash ugrave uacute ucircumflex */ 4388 CASE_GROUND_STATE, 4389 CASE_GROUND_STATE, 4390 CASE_GROUND_STATE, 4391 CASE_GROUND_STATE, 4392 /* udiaeresis yacute thorn ydiaeresis */ 4393 CASE_GROUND_STATE, 4394 CASE_GROUND_STATE, 4395 CASE_GROUND_STATE, 4396 CASE_GROUND_STATE, 4397 }; 4398 4399 #endif 4400 4401 // #pragma mark Shift-JIS ground table 4402 int gSJISGroundTable[] = 4403 { 4404 /* NUL SOH STX ETX */ 4405 CASE_IGNORE, 4406 CASE_IGNORE, 4407 CASE_IGNORE, 4408 CASE_IGNORE, 4409 /* EOT ENQ ACK BEL */ 4410 CASE_IGNORE, 4411 CASE_IGNORE, 4412 CASE_IGNORE, 4413 CASE_BELL, 4414 /* BS HT NL VT */ 4415 CASE_BS, 4416 CASE_TAB, 4417 CASE_LF, 4418 CASE_LF, /*CASE_UP,*/ 4419 /* NP CR SO SI */ 4420 CASE_LF, /*CASE_IGNORE,*/ 4421 CASE_CR, 4422 CASE_SO, 4423 CASE_SI, 4424 /* DLE DC1 DC2 DC3 */ 4425 CASE_IGNORE, 4426 CASE_IGNORE, 4427 CASE_IGNORE, 4428 CASE_IGNORE, 4429 /* DC4 NAK SYN ETB */ 4430 CASE_IGNORE, 4431 CASE_IGNORE, 4432 CASE_IGNORE, 4433 CASE_IGNORE, 4434 /* CAN EM SUB ESC */ 4435 CASE_IGNORE, 4436 CASE_IGNORE, 4437 CASE_IGNORE, 4438 CASE_ESC, 4439 /* FS GS RS US */ 4440 CASE_IGNORE, 4441 CASE_IGNORE, 4442 CASE_IGNORE, 4443 CASE_IGNORE, 4444 /* SP ! " # */ 4445 CASE_PRINT, 4446 CASE_PRINT, 4447 CASE_PRINT, 4448 CASE_PRINT, 4449 /* $ % & ' */ 4450 CASE_PRINT, 4451 CASE_PRINT, 4452 CASE_PRINT, 4453 CASE_PRINT, 4454 /* ( ) * + */ 4455 CASE_PRINT, 4456 CASE_PRINT, 4457 CASE_PRINT, 4458 CASE_PRINT, 4459 /* , - . / */ 4460 CASE_PRINT, 4461 CASE_PRINT, 4462 CASE_PRINT, 4463 CASE_PRINT, 4464 /* 0 1 2 3 */ 4465 CASE_PRINT, 4466 CASE_PRINT, 4467 CASE_PRINT, 4468 CASE_PRINT, 4469 /* 4 5 6 7 */ 4470 CASE_PRINT, 4471 CASE_PRINT, 4472 CASE_PRINT, 4473 CASE_PRINT, 4474 /* 8 9 : ; */ 4475 CASE_PRINT, 4476 CASE_PRINT, 4477 CASE_PRINT, 4478 CASE_PRINT, 4479 /* < = > ? */ 4480 CASE_PRINT, 4481 CASE_PRINT, 4482 CASE_PRINT, 4483 CASE_PRINT, 4484 /* @ A B C */ 4485 CASE_PRINT, 4486 CASE_PRINT, 4487 CASE_PRINT, 4488 CASE_PRINT, 4489 /* D E F G */ 4490 CASE_PRINT, 4491 CASE_PRINT, 4492 CASE_PRINT, 4493 CASE_PRINT, 4494 /* H I J K */ 4495 CASE_PRINT, 4496 CASE_PRINT, 4497 CASE_PRINT, 4498 CASE_PRINT, 4499 /* L M N O */ 4500 CASE_PRINT, 4501 CASE_PRINT, 4502 CASE_PRINT, 4503 CASE_PRINT, 4504 /* P Q R S */ 4505 CASE_PRINT, 4506 CASE_PRINT, 4507 CASE_PRINT, 4508 CASE_PRINT, 4509 /* T U V W */ 4510 CASE_PRINT, 4511 CASE_PRINT, 4512 CASE_PRINT, 4513 CASE_PRINT, 4514 /* X Y Z [ */ 4515 CASE_PRINT, 4516 CASE_PRINT, 4517 CASE_PRINT, 4518 CASE_PRINT, 4519 /* \ ] ^ _ */ 4520 CASE_PRINT, 4521 CASE_PRINT, 4522 CASE_PRINT, 4523 CASE_PRINT, 4524 /* ` a b c */ 4525 CASE_PRINT, 4526 CASE_PRINT, 4527 CASE_PRINT, 4528 CASE_PRINT, 4529 /* d e f g */ 4530 CASE_PRINT, 4531 CASE_PRINT, 4532 CASE_PRINT, 4533 CASE_PRINT, 4534 /* h i j k */ 4535 CASE_PRINT, 4536 CASE_PRINT, 4537 CASE_PRINT, 4538 CASE_PRINT, 4539 /* l m n o */ 4540 CASE_PRINT, 4541 CASE_PRINT, 4542 CASE_PRINT, 4543 CASE_PRINT, 4544 /* p q r s */ 4545 CASE_PRINT, 4546 CASE_PRINT, 4547 CASE_PRINT, 4548 CASE_PRINT, 4549 /* t u v w */ 4550 CASE_PRINT, 4551 CASE_PRINT, 4552 CASE_PRINT, 4553 CASE_PRINT, 4554 /* x y z { */ 4555 CASE_PRINT, 4556 CASE_PRINT, 4557 CASE_PRINT, 4558 CASE_PRINT, 4559 /* | } ~ DEL */ 4560 CASE_PRINT, 4561 CASE_PRINT, 4562 CASE_PRINT, 4563 CASE_PRINT, 4564 /* 0x80 0x81 0x82 0x83 */ 4565 CASE_SJIS_INSTRING, 4566 CASE_SJIS_INSTRING, 4567 CASE_SJIS_INSTRING, 4568 CASE_SJIS_INSTRING, 4569 /* 0x84 0x85 0x86 0x87 */ 4570 CASE_SJIS_INSTRING, 4571 CASE_SJIS_INSTRING, 4572 CASE_SJIS_INSTRING, 4573 CASE_SJIS_INSTRING, 4574 /* 0x88 0x89 0x8a 0x8b */ 4575 CASE_SJIS_INSTRING, 4576 CASE_SJIS_INSTRING, 4577 CASE_SJIS_INSTRING, 4578 CASE_SJIS_INSTRING, 4579 /* 0x8c 0x8d 0x8e 0x8f */ 4580 CASE_SJIS_INSTRING, 4581 CASE_SJIS_INSTRING, 4582 CASE_SJIS_INSTRING, 4583 CASE_SJIS_INSTRING, 4584 /* 0x90 0x91 0x92 0x93 */ 4585 CASE_SJIS_INSTRING, 4586 CASE_SJIS_INSTRING, 4587 CASE_SJIS_INSTRING, 4588 CASE_SJIS_INSTRING, 4589 /* 0x94 0x95 0x96 0x97 */ 4590 CASE_SJIS_INSTRING, 4591 CASE_SJIS_INSTRING, 4592 CASE_SJIS_INSTRING, 4593 CASE_SJIS_INSTRING, 4594 /* 0x99 0x99 0x9a 0x9b */ 4595 CASE_SJIS_INSTRING, 4596 CASE_SJIS_INSTRING, 4597 CASE_SJIS_INSTRING, 4598 CASE_SJIS_INSTRING, 4599 /* 0x9c 0x9d 0x9e 0x9f */ 4600 CASE_SJIS_INSTRING, 4601 CASE_SJIS_INSTRING, 4602 CASE_SJIS_INSTRING, 4603 CASE_SJIS_INSTRING, 4604 /* 0xa0 0xa1 0xa2 0xa3 */ 4605 CASE_SJIS_KANA, 4606 CASE_SJIS_KANA, 4607 CASE_SJIS_KANA, 4608 CASE_SJIS_KANA, 4609 /* 0xa4 0xa5 0xa6 0xa7 */ 4610 CASE_SJIS_KANA, 4611 CASE_SJIS_KANA, 4612 CASE_SJIS_KANA, 4613 CASE_SJIS_KANA, 4614 /* 0xa8 0xa9 0xaa 0xab */ 4615 CASE_SJIS_KANA, 4616 CASE_SJIS_KANA, 4617 CASE_SJIS_KANA, 4618 CASE_SJIS_KANA, 4619 /* 0xac 0xad 0xae 0xaf */ 4620 CASE_SJIS_KANA, 4621 CASE_SJIS_KANA, 4622 CASE_SJIS_KANA, 4623 CASE_SJIS_KANA, 4624 /* 0xb0 0xb1 0xb2 0xb3 */ 4625 CASE_SJIS_KANA, 4626 CASE_SJIS_KANA, 4627 CASE_SJIS_KANA, 4628 CASE_SJIS_KANA, 4629 /* 0xb4 0xb5 0xb6 0xb7 */ 4630 CASE_SJIS_KANA, 4631 CASE_SJIS_KANA, 4632 CASE_SJIS_KANA, 4633 CASE_SJIS_KANA, 4634 /* 0xb8 0xb9 0xba 0xbb */ 4635 CASE_SJIS_KANA, 4636 CASE_SJIS_KANA, 4637 CASE_SJIS_KANA, 4638 CASE_SJIS_KANA, 4639 /* 0xbc 0xbd 0xbe 0xbf */ 4640 CASE_SJIS_KANA, 4641 CASE_SJIS_KANA, 4642 CASE_SJIS_KANA, 4643 CASE_SJIS_KANA, 4644 /* 0xc0 0xc1 0xc2 0xc3 */ 4645 CASE_SJIS_KANA, 4646 CASE_SJIS_KANA, 4647 CASE_SJIS_KANA, 4648 CASE_SJIS_KANA, 4649 /* 0xc4 0xc5 0xc6 0xc7 */ 4650 CASE_SJIS_KANA, 4651 CASE_SJIS_KANA, 4652 CASE_SJIS_KANA, 4653 CASE_SJIS_KANA, 4654 /* 0xc8 0xc9 0xca 0xcb */ 4655 CASE_SJIS_KANA, 4656 CASE_SJIS_KANA, 4657 CASE_SJIS_KANA, 4658 CASE_SJIS_KANA, 4659 /* 0xcc 0xcd 0xce 0xcf */ 4660 CASE_SJIS_KANA, 4661 CASE_SJIS_KANA, 4662 CASE_SJIS_KANA, 4663 CASE_SJIS_KANA, 4664 /* 0xd0 0xd1 0xd2 0xd3 */ 4665 CASE_SJIS_KANA, 4666 CASE_SJIS_KANA, 4667 CASE_SJIS_KANA, 4668 CASE_SJIS_KANA, 4669 /* 0xd4 0xd5 0xd6 0xd7 */ 4670 CASE_SJIS_KANA, 4671 CASE_SJIS_KANA, 4672 CASE_SJIS_KANA, 4673 CASE_SJIS_KANA, 4674 /* 0xd8 0xd9 0xda 0xdb */ 4675 CASE_SJIS_KANA, 4676 CASE_SJIS_KANA, 4677 CASE_SJIS_KANA, 4678 CASE_SJIS_KANA, 4679 /* 0xdc 0xdd 0xde 0xdf */ 4680 CASE_SJIS_KANA, 4681 CASE_SJIS_KANA, 4682 CASE_SJIS_KANA, 4683 CASE_SJIS_KANA, 4684 /* 0xe0 0xe1 0xe2 0xe3 */ 4685 CASE_SJIS_INSTRING, 4686 CASE_SJIS_INSTRING, 4687 CASE_SJIS_INSTRING, 4688 CASE_SJIS_INSTRING, 4689 /* 0xe4 0xe5 0xe6 0xe7 */ 4690 CASE_SJIS_INSTRING, 4691 CASE_SJIS_INSTRING, 4692 CASE_SJIS_INSTRING, 4693 CASE_SJIS_INSTRING, 4694 /* 0xe8 0xe9 0xea 0xeb */ 4695 CASE_SJIS_INSTRING, 4696 CASE_SJIS_INSTRING, 4697 CASE_SJIS_INSTRING, 4698 CASE_SJIS_INSTRING, 4699 /* 0xec 0xed 0xee 0xef */ 4700 CASE_SJIS_INSTRING, 4701 CASE_SJIS_INSTRING, 4702 CASE_SJIS_INSTRING, 4703 CASE_SJIS_INSTRING, 4704 /* 0xf0 0xf1 0xf2 0xf3 */ 4705 CASE_SJIS_INSTRING, 4706 CASE_SJIS_INSTRING, 4707 CASE_SJIS_INSTRING, 4708 CASE_SJIS_INSTRING, 4709 /* 0xf4 0xf5 0xf6 0xf7 */ 4710 CASE_SJIS_INSTRING, 4711 CASE_SJIS_INSTRING, 4712 CASE_SJIS_INSTRING, 4713 CASE_SJIS_INSTRING, 4714 /* 0xf8 0xf9 0xfa 0xfb */ 4715 CASE_SJIS_INSTRING, 4716 CASE_SJIS_INSTRING, 4717 CASE_SJIS_INSTRING, 4718 CASE_SJIS_INSTRING, 4719 /* 0xfc 0xfd 0xfe 0xff */ 4720 CASE_SJIS_INSTRING, 4721 CASE_SJIS_INSTRING, 4722 CASE_SJIS_INSTRING, 4723 CASE_SJIS_INSTRING, 4724 }; 4725