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