1 /* $XTermId: TekPrsTbl.c,v 1.10 2024/09/02 16:07:11 tom Exp $ */ 2 3 /* 4 * Copyright 1998-2006,2024 by Thomas E. Dickey 5 * 6 * All Rights Reserved 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining a 9 * copy of this software and associated documentation files (the 10 * "Software"), to deal in the Software without restriction, including 11 * without limitation the rights to use, copy, modify, merge, publish, 12 * distribute, sublicense, and/or sell copies of the Software, and to 13 * permit persons to whom the Software is furnished to do so, subject to 14 * the following conditions: 15 * 16 * The above copyright notice and this permission notice shall be included 17 * in all copies or substantial portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY 23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 * 27 * Except as contained in this notice, the name(s) of the above copyright 28 * holders shall not be used in advertising or otherwise to promote the 29 * sale, use or other dealings in this Software without prior written 30 * authorization. 31 * 32 * 33 * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 34 * 35 * All Rights Reserved 36 * 37 * Permission to use, copy, modify, and distribute this software and its 38 * documentation for any purpose and without fee is hereby granted, 39 * provided that the above copyright notice appear in all copies and that 40 * both that copyright notice and this permission notice appear in 41 * supporting documentation, and that the name of Digital Equipment 42 * Corporation not be used in advertising or publicity pertaining to 43 * distribution of the software without specific, written prior permission. 44 * 45 * 46 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 47 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 48 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 49 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 50 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 51 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 52 * SOFTWARE. 53 */ 54 /* $XFree86: xc/programs/xterm/TekPrsTbl.c,v 3.5 2006/02/13 01:14:57 dickey Exp $ */ 55 56 #include <Tekparse.h> 57 /* *INDENT-OFF* */ 58 59 const int Talptable[] = /* US (^_) normal alpha mode */ 60 { 61 /* NUL SOH STX ETX */ 62 CASE_IGNORE, 63 CASE_IGNORE, 64 CASE_IGNORE, 65 CASE_IGNORE, 66 /* EOT ENQ ACK BEL */ 67 CASE_IGNORE, 68 CASE_IGNORE, 69 CASE_IGNORE, 70 CASE_BEL, 71 /* BS HT NL VT */ 72 CASE_BS, 73 CASE_TAB, 74 CASE_LF, 75 CASE_UP, 76 /* NP CR SO SI */ 77 CASE_IGNORE, 78 CASE_CR, 79 CASE_IGNORE, 80 CASE_IGNORE, 81 /* DLE DC1 DC2 DC3 */ 82 CASE_IGNORE, 83 CASE_IGNORE, 84 CASE_IGNORE, 85 CASE_IGNORE, 86 /* DC4 NAK SYN ETB */ 87 CASE_IGNORE, 88 CASE_IGNORE, 89 CASE_IGNORE, 90 CASE_IGNORE, 91 /* CAN EM SUB ESC */ 92 CASE_IGNORE, 93 CASE_IGNORE, 94 CASE_IGNORE, 95 CASE_ESC_STATE, 96 /* FS GS RS US */ 97 CASE_PT_STATE, 98 CASE_PLT_STATE, 99 CASE_IPL_STATE, 100 CASE_ALP_STATE, 101 /* SP ! " # */ 102 CASE_SP, 103 CASE_PRINT, 104 CASE_PRINT, 105 CASE_PRINT, 106 /* $ % & ' */ 107 CASE_PRINT, 108 CASE_PRINT, 109 CASE_PRINT, 110 CASE_PRINT, 111 /* ( ) * + */ 112 CASE_PRINT, 113 CASE_PRINT, 114 CASE_PRINT, 115 CASE_PRINT, 116 /* , - . / */ 117 CASE_PRINT, 118 CASE_PRINT, 119 CASE_PRINT, 120 CASE_PRINT, 121 /* 0 1 2 3 */ 122 CASE_PRINT, 123 CASE_PRINT, 124 CASE_PRINT, 125 CASE_PRINT, 126 /* 4 5 6 7 */ 127 CASE_PRINT, 128 CASE_PRINT, 129 CASE_PRINT, 130 CASE_PRINT, 131 /* 8 9 : ; */ 132 CASE_PRINT, 133 CASE_PRINT, 134 CASE_PRINT, 135 CASE_PRINT, 136 /* < = > ? */ 137 CASE_PRINT, 138 CASE_PRINT, 139 CASE_PRINT, 140 CASE_PRINT, 141 /* @ A B C */ 142 CASE_PRINT, 143 CASE_PRINT, 144 CASE_PRINT, 145 CASE_PRINT, 146 /* D E F G */ 147 CASE_PRINT, 148 CASE_PRINT, 149 CASE_PRINT, 150 CASE_PRINT, 151 /* H I J K */ 152 CASE_PRINT, 153 CASE_PRINT, 154 CASE_PRINT, 155 CASE_PRINT, 156 /* L M N O */ 157 CASE_PRINT, 158 CASE_PRINT, 159 CASE_PRINT, 160 CASE_PRINT, 161 /* P Q R S */ 162 CASE_PRINT, 163 CASE_PRINT, 164 CASE_PRINT, 165 CASE_PRINT, 166 /* T U V W */ 167 CASE_PRINT, 168 CASE_PRINT, 169 CASE_PRINT, 170 CASE_PRINT, 171 /* X Y Z [ */ 172 CASE_PRINT, 173 CASE_PRINT, 174 CASE_PRINT, 175 CASE_PRINT, 176 /* \ ] ^ _ */ 177 CASE_PRINT, 178 CASE_PRINT, 179 CASE_PRINT, 180 CASE_PRINT, 181 /* ` a b c */ 182 CASE_PRINT, 183 CASE_PRINT, 184 CASE_PRINT, 185 CASE_PRINT, 186 /* d e f g */ 187 CASE_PRINT, 188 CASE_PRINT, 189 CASE_PRINT, 190 CASE_PRINT, 191 /* h i j k */ 192 CASE_PRINT, 193 CASE_PRINT, 194 CASE_PRINT, 195 CASE_PRINT, 196 /* l m n o */ 197 CASE_PRINT, 198 CASE_PRINT, 199 CASE_PRINT, 200 CASE_PRINT, 201 /* p q r s */ 202 CASE_PRINT, 203 CASE_PRINT, 204 CASE_PRINT, 205 CASE_PRINT, 206 /* t u v w */ 207 CASE_PRINT, 208 CASE_PRINT, 209 CASE_PRINT, 210 CASE_PRINT, 211 /* x y z { */ 212 CASE_PRINT, 213 CASE_PRINT, 214 CASE_PRINT, 215 CASE_PRINT, 216 /* | } ~ DEL */ 217 CASE_PRINT, 218 CASE_PRINT, 219 CASE_PRINT, 220 CASE_IGNORE, 221 /* 0x80 0x81 0x82 0x83 */ 222 CASE_IGNORE, 223 CASE_IGNORE, 224 CASE_IGNORE, 225 CASE_IGNORE, 226 /* 0x84 0x85 0x86 0x87 */ 227 CASE_IGNORE, 228 CASE_IGNORE, 229 CASE_IGNORE, 230 CASE_IGNORE, 231 /* 0x88 0x89 0x8a 0x8b */ 232 CASE_IGNORE, 233 CASE_IGNORE, 234 CASE_IGNORE, 235 CASE_IGNORE, 236 /* 0x8c 0x8d 0x8e 0x8f */ 237 CASE_IGNORE, 238 CASE_IGNORE, 239 CASE_IGNORE, 240 CASE_IGNORE, 241 /* 0x90 0x91 0x92 0x93 */ 242 CASE_IGNORE, 243 CASE_IGNORE, 244 CASE_IGNORE, 245 CASE_IGNORE, 246 /* 0x94 0x95 0x96 0x97 */ 247 CASE_IGNORE, 248 CASE_IGNORE, 249 CASE_IGNORE, 250 CASE_IGNORE, 251 /* 0x99 0x99 0x9a 0x9b */ 252 CASE_IGNORE, 253 CASE_IGNORE, 254 CASE_IGNORE, 255 CASE_IGNORE, 256 /* 0x9c 0x9d 0x9e 0x9f */ 257 CASE_IGNORE, 258 CASE_IGNORE, 259 CASE_IGNORE, 260 CASE_IGNORE, 261 /* nobreakspace exclamdown cent sterling */ 262 CASE_PRINT, 263 CASE_PRINT, 264 CASE_PRINT, 265 CASE_PRINT, 266 /* currency yen brokenbar section */ 267 CASE_PRINT, 268 CASE_PRINT, 269 CASE_PRINT, 270 CASE_PRINT, 271 /* diaeresis copyright ordfeminine guillemotleft */ 272 CASE_PRINT, 273 CASE_PRINT, 274 CASE_PRINT, 275 CASE_PRINT, 276 /* notsign hyphen registered macron */ 277 CASE_PRINT, 278 CASE_PRINT, 279 CASE_PRINT, 280 CASE_PRINT, 281 /* degree plusminus twosuperior threesuperior */ 282 CASE_PRINT, 283 CASE_PRINT, 284 CASE_PRINT, 285 CASE_PRINT, 286 /* acute mu paragraph periodcentered */ 287 CASE_PRINT, 288 CASE_PRINT, 289 CASE_PRINT, 290 CASE_PRINT, 291 /* cedilla onesuperior masculine guillemotright */ 292 CASE_PRINT, 293 CASE_PRINT, 294 CASE_PRINT, 295 CASE_PRINT, 296 /* onequarter onehalf threequarters questiondown */ 297 CASE_PRINT, 298 CASE_PRINT, 299 CASE_PRINT, 300 CASE_PRINT, 301 /* Agrave Aacute Acircumflex Atilde */ 302 CASE_PRINT, 303 CASE_PRINT, 304 CASE_PRINT, 305 CASE_PRINT, 306 /* Adiaeresis Aring AE Ccedilla */ 307 CASE_PRINT, 308 CASE_PRINT, 309 CASE_PRINT, 310 CASE_PRINT, 311 /* Egrave Eacute Ecircumflex Ediaeresis */ 312 CASE_PRINT, 313 CASE_PRINT, 314 CASE_PRINT, 315 CASE_PRINT, 316 /* Igrave Iacute Icircumflex Idiaeresis */ 317 CASE_PRINT, 318 CASE_PRINT, 319 CASE_PRINT, 320 CASE_PRINT, 321 /* Eth Ntilde Ograve Oacute */ 322 CASE_PRINT, 323 CASE_PRINT, 324 CASE_PRINT, 325 CASE_PRINT, 326 /* Ocircumflex Otilde Odiaeresis multiply */ 327 CASE_PRINT, 328 CASE_PRINT, 329 CASE_PRINT, 330 CASE_PRINT, 331 /* Ooblique Ugrave Uacute Ucircumflex */ 332 CASE_PRINT, 333 CASE_PRINT, 334 CASE_PRINT, 335 CASE_PRINT, 336 /* Udiaeresis Yacute Thorn ssharp */ 337 CASE_PRINT, 338 CASE_PRINT, 339 CASE_PRINT, 340 CASE_PRINT, 341 /* agrave aacute acircumflex atilde */ 342 CASE_PRINT, 343 CASE_PRINT, 344 CASE_PRINT, 345 CASE_PRINT, 346 /* adiaeresis aring ae ccedilla */ 347 CASE_PRINT, 348 CASE_PRINT, 349 CASE_PRINT, 350 CASE_PRINT, 351 /* egrave eacute ecircumflex ediaeresis */ 352 CASE_PRINT, 353 CASE_PRINT, 354 CASE_PRINT, 355 CASE_PRINT, 356 /* igrave iacute icircumflex idiaeresis */ 357 CASE_PRINT, 358 CASE_PRINT, 359 CASE_PRINT, 360 CASE_PRINT, 361 /* eth ntilde ograve oacute */ 362 CASE_PRINT, 363 CASE_PRINT, 364 CASE_PRINT, 365 CASE_PRINT, 366 /* ocircumflex otilde odiaeresis division */ 367 CASE_PRINT, 368 CASE_PRINT, 369 CASE_PRINT, 370 CASE_PRINT, 371 /* oslash ugrave uacute ucircumflex */ 372 CASE_PRINT, 373 CASE_PRINT, 374 CASE_PRINT, 375 CASE_PRINT, 376 /* udiaeresis yacute thorn ydiaeresis */ 377 CASE_PRINT, 378 CASE_PRINT, 379 CASE_PRINT, 380 CASE_PRINT, 381 }; 382 383 const int Tbestable[] = /* ESC while in bypass state */ 384 { 385 /* NUL SOH STX ETX */ 386 CASE_BYP_STATE, 387 CASE_BYP_STATE, 388 CASE_BYP_STATE, 389 CASE_VT_MODE, 390 /* EOT ENQ ACK BEL */ 391 CASE_BYP_STATE, 392 CASE_REPORT, 393 CASE_BYP_STATE, 394 CASE_BEL, 395 /* BS HT NL VT */ 396 CASE_BS, 397 CASE_TAB, 398 CASE_IGNORE, 399 CASE_UP, 400 /* NP CR SO SI */ 401 CASE_PAGE, 402 CASE_IGNORE, 403 CASE_BYP_STATE, 404 CASE_BYP_STATE, 405 /* DLE DC1 DC2 DC3 */ 406 CASE_BYP_STATE, 407 CASE_BYP_STATE, 408 CASE_BYP_STATE, 409 CASE_BYP_STATE, 410 /* DC4 NAK SYN ETB */ 411 CASE_BYP_STATE, 412 CASE_BYP_STATE, 413 CASE_BYP_STATE, 414 CASE_COPY, 415 /* CAN EM SUB ESC */ 416 CASE_BYP_STATE, 417 CASE_BYP_STATE, 418 CASE_GIN, 419 CASE_IGNORE, 420 /* FS GS RS US */ 421 CASE_SPT_STATE, 422 CASE_PLT_STATE, 423 CASE_IPL_STATE, 424 CASE_ALP_STATE, 425 /* SP ! " # */ 426 CASE_BYP_STATE, 427 CASE_BYP_STATE, 428 CASE_BYP_STATE, 429 CASE_BYP_STATE, 430 /* $ % & ' */ 431 CASE_BYP_STATE, 432 CASE_BYP_STATE, 433 CASE_BYP_STATE, 434 CASE_BYP_STATE, 435 /* ( ) * + */ 436 CASE_BYP_STATE, 437 CASE_BYP_STATE, 438 CASE_BYP_STATE, 439 CASE_BYP_STATE, 440 /* , - . / */ 441 CASE_BYP_STATE, 442 CASE_BYP_STATE, 443 CASE_BYP_STATE, 444 CASE_BYP_STATE, 445 /* 0 1 2 3 */ 446 CASE_BYP_STATE, 447 CASE_BYP_STATE, 448 CASE_BYP_STATE, 449 CASE_BYP_STATE, 450 /* 4 5 6 7 */ 451 CASE_BYP_STATE, 452 CASE_BYP_STATE, 453 CASE_BYP_STATE, 454 CASE_BYP_STATE, 455 /* 8 9 : ; */ 456 CASE_BYP_STATE, 457 CASE_BYP_STATE, 458 CASE_BYP_STATE, 459 CASE_BYP_STATE, 460 /* < = > ? */ 461 CASE_BYP_STATE, 462 CASE_BYP_STATE, 463 CASE_BYP_STATE, 464 CASE_BYP_STATE, 465 /* @ A B C */ 466 CASE_BYP_STATE, 467 CASE_BYP_STATE, 468 CASE_BYP_STATE, 469 CASE_BYP_STATE, 470 /* D E F G */ 471 CASE_BYP_STATE, 472 CASE_BYP_STATE, 473 CASE_BYP_STATE, 474 CASE_BYP_STATE, 475 /* H I J K */ 476 CASE_BYP_STATE, 477 CASE_BYP_STATE, 478 CASE_BYP_STATE, 479 CASE_BYP_STATE, 480 /* L M N O */ 481 CASE_BYP_STATE, 482 CASE_BYP_STATE, 483 CASE_BYP_STATE, 484 CASE_BYP_STATE, 485 /* P Q R S */ 486 CASE_BYP_STATE, 487 CASE_BYP_STATE, 488 CASE_BYP_STATE, 489 CASE_BYP_STATE, 490 /* T U V W */ 491 CASE_BYP_STATE, 492 CASE_BYP_STATE, 493 CASE_BYP_STATE, 494 CASE_BYP_STATE, 495 /* X Y Z [ */ 496 CASE_BYP_STATE, 497 CASE_BYP_STATE, 498 CASE_BYP_STATE, 499 CASE_BYP_STATE, 500 /* \ ] ^ _ */ 501 CASE_BYP_STATE, 502 CASE_BYP_STATE, 503 CASE_BYP_STATE, 504 CASE_BYP_STATE, 505 /* ` a b c */ 506 CASE_BYP_STATE, 507 CASE_BYP_STATE, 508 CASE_BYP_STATE, 509 CASE_BYP_STATE, 510 /* d e f g */ 511 CASE_BYP_STATE, 512 CASE_BYP_STATE, 513 CASE_BYP_STATE, 514 CASE_BYP_STATE, 515 /* h i j k */ 516 CASE_BYP_STATE, 517 CASE_BYP_STATE, 518 CASE_BYP_STATE, 519 CASE_BYP_STATE, 520 /* l m n o */ 521 CASE_BYP_STATE, 522 CASE_BYP_STATE, 523 CASE_BYP_STATE, 524 CASE_BYP_STATE, 525 /* p q r s */ 526 CASE_BYP_STATE, 527 CASE_BYP_STATE, 528 CASE_BYP_STATE, 529 CASE_BYP_STATE, 530 /* t u v w */ 531 CASE_BYP_STATE, 532 CASE_BYP_STATE, 533 CASE_BYP_STATE, 534 CASE_BYP_STATE, 535 /* x y z { */ 536 CASE_BYP_STATE, 537 CASE_BYP_STATE, 538 CASE_BYP_STATE, 539 CASE_BYP_STATE, 540 /* | } ~ DEL */ 541 CASE_BYP_STATE, 542 CASE_BYP_STATE, 543 CASE_IGNORE, 544 CASE_BYP_STATE, 545 /* 0x80 0x81 0x82 0x83 */ 546 CASE_IGNORE, 547 CASE_IGNORE, 548 CASE_IGNORE, 549 CASE_IGNORE, 550 /* 0x84 0x85 0x86 0x87 */ 551 CASE_IGNORE, 552 CASE_IGNORE, 553 CASE_IGNORE, 554 CASE_IGNORE, 555 /* 0x88 0x89 0x8a 0x8b */ 556 CASE_IGNORE, 557 CASE_IGNORE, 558 CASE_IGNORE, 559 CASE_IGNORE, 560 /* 0x8c 0x8d 0x8e 0x8f */ 561 CASE_IGNORE, 562 CASE_IGNORE, 563 CASE_IGNORE, 564 CASE_IGNORE, 565 /* 0x90 0x91 0x92 0x93 */ 566 CASE_IGNORE, 567 CASE_IGNORE, 568 CASE_IGNORE, 569 CASE_IGNORE, 570 /* 0x94 0x95 0x96 0x97 */ 571 CASE_IGNORE, 572 CASE_IGNORE, 573 CASE_IGNORE, 574 CASE_IGNORE, 575 /* 0x99 0x99 0x9a 0x9b */ 576 CASE_IGNORE, 577 CASE_IGNORE, 578 CASE_IGNORE, 579 CASE_IGNORE, 580 /* 0x9c 0x9d 0x9e 0x9f */ 581 CASE_IGNORE, 582 CASE_IGNORE, 583 CASE_IGNORE, 584 CASE_IGNORE, 585 /* nobreakspace exclamdown cent sterling */ 586 CASE_BYP_STATE, 587 CASE_BYP_STATE, 588 CASE_BYP_STATE, 589 CASE_BYP_STATE, 590 /* currency yen brokenbar section */ 591 CASE_BYP_STATE, 592 CASE_BYP_STATE, 593 CASE_BYP_STATE, 594 CASE_BYP_STATE, 595 /* diaeresis copyright ordfeminine guillemotleft */ 596 CASE_BYP_STATE, 597 CASE_BYP_STATE, 598 CASE_BYP_STATE, 599 CASE_BYP_STATE, 600 /* notsign hyphen registered macron */ 601 CASE_BYP_STATE, 602 CASE_BYP_STATE, 603 CASE_BYP_STATE, 604 CASE_BYP_STATE, 605 /* degree plusminus twosuperior threesuperior */ 606 CASE_BYP_STATE, 607 CASE_BYP_STATE, 608 CASE_BYP_STATE, 609 CASE_BYP_STATE, 610 /* acute mu paragraph periodcentered */ 611 CASE_BYP_STATE, 612 CASE_BYP_STATE, 613 CASE_BYP_STATE, 614 CASE_BYP_STATE, 615 /* cedilla onesuperior masculine guillemotright */ 616 CASE_BYP_STATE, 617 CASE_BYP_STATE, 618 CASE_BYP_STATE, 619 CASE_BYP_STATE, 620 /* onequarter onehalf threequarters questiondown */ 621 CASE_BYP_STATE, 622 CASE_BYP_STATE, 623 CASE_BYP_STATE, 624 CASE_BYP_STATE, 625 /* Agrave Aacute Acircumflex Atilde */ 626 CASE_BYP_STATE, 627 CASE_BYP_STATE, 628 CASE_BYP_STATE, 629 CASE_BYP_STATE, 630 /* Adiaeresis Aring AE Ccedilla */ 631 CASE_BYP_STATE, 632 CASE_BYP_STATE, 633 CASE_BYP_STATE, 634 CASE_BYP_STATE, 635 /* Egrave Eacute Ecircumflex Ediaeresis */ 636 CASE_BYP_STATE, 637 CASE_BYP_STATE, 638 CASE_BYP_STATE, 639 CASE_BYP_STATE, 640 /* Igrave Iacute Icircumflex Idiaeresis */ 641 CASE_BYP_STATE, 642 CASE_BYP_STATE, 643 CASE_BYP_STATE, 644 CASE_BYP_STATE, 645 /* Eth Ntilde Ograve Oacute */ 646 CASE_BYP_STATE, 647 CASE_BYP_STATE, 648 CASE_BYP_STATE, 649 CASE_BYP_STATE, 650 /* Ocircumflex Otilde Odiaeresis multiply */ 651 CASE_BYP_STATE, 652 CASE_BYP_STATE, 653 CASE_BYP_STATE, 654 CASE_BYP_STATE, 655 /* Ooblique Ugrave Uacute Ucircumflex */ 656 CASE_BYP_STATE, 657 CASE_BYP_STATE, 658 CASE_BYP_STATE, 659 CASE_BYP_STATE, 660 /* Udiaeresis Yacute Thorn ssharp */ 661 CASE_BYP_STATE, 662 CASE_BYP_STATE, 663 CASE_BYP_STATE, 664 CASE_BYP_STATE, 665 /* agrave aacute acircumflex atilde */ 666 CASE_BYP_STATE, 667 CASE_BYP_STATE, 668 CASE_BYP_STATE, 669 CASE_BYP_STATE, 670 /* adiaeresis aring ae ccedilla */ 671 CASE_BYP_STATE, 672 CASE_BYP_STATE, 673 CASE_BYP_STATE, 674 CASE_BYP_STATE, 675 /* egrave eacute ecircumflex ediaeresis */ 676 CASE_BYP_STATE, 677 CASE_BYP_STATE, 678 CASE_BYP_STATE, 679 CASE_BYP_STATE, 680 /* igrave iacute icircumflex idiaeresis */ 681 CASE_BYP_STATE, 682 CASE_BYP_STATE, 683 CASE_BYP_STATE, 684 CASE_BYP_STATE, 685 /* eth ntilde ograve oacute */ 686 CASE_BYP_STATE, 687 CASE_BYP_STATE, 688 CASE_BYP_STATE, 689 CASE_BYP_STATE, 690 /* ocircumflex otilde odiaeresis division */ 691 CASE_BYP_STATE, 692 CASE_BYP_STATE, 693 CASE_BYP_STATE, 694 CASE_BYP_STATE, 695 /* oslash ugrave uacute ucircumflex */ 696 CASE_BYP_STATE, 697 CASE_BYP_STATE, 698 CASE_BYP_STATE, 699 CASE_BYP_STATE, 700 /* udiaeresis yacute thorn ydiaeresis */ 701 CASE_BYP_STATE, 702 CASE_BYP_STATE, 703 CASE_BYP_STATE, 704 CASE_BYP_STATE, 705 }; 706 707 const int Tbyptable[] = /* ESC CAN (^X) bypass state */ 708 { 709 /* NUL SOH STX ETX */ 710 CASE_IGNORE, 711 CASE_IGNORE, 712 CASE_IGNORE, 713 CASE_IGNORE, 714 /* EOT ENQ ACK BEL */ 715 CASE_IGNORE, 716 CASE_IGNORE, 717 CASE_IGNORE, 718 CASE_BEL, 719 /* BS HT NL VT */ 720 CASE_BS, 721 CASE_TAB, 722 CASE_LF, 723 CASE_UP, 724 /* NP CR SO SI */ 725 CASE_IGNORE, 726 CASE_CR, 727 CASE_IGNORE, 728 CASE_IGNORE, 729 /* DLE DC1 DC2 DC3 */ 730 CASE_IGNORE, 731 CASE_IGNORE, 732 CASE_IGNORE, 733 CASE_IGNORE, 734 /* DC4 NAK SYN ETB */ 735 CASE_IGNORE, 736 CASE_IGNORE, 737 CASE_IGNORE, 738 CASE_IGNORE, 739 /* CAN EM SUB ESC */ 740 CASE_IGNORE, 741 CASE_IGNORE, 742 CASE_IGNORE, 743 CASE_BES_STATE, 744 /* FS GS RS US */ 745 CASE_PT_STATE, 746 CASE_PLT_STATE, 747 CASE_IPL_STATE, 748 CASE_ALP_STATE, 749 /* SP ! " # */ 750 CASE_IGNORE, 751 CASE_IGNORE, 752 CASE_IGNORE, 753 CASE_IGNORE, 754 /* $ % & ' */ 755 CASE_IGNORE, 756 CASE_IGNORE, 757 CASE_IGNORE, 758 CASE_IGNORE, 759 /* ( ) * + */ 760 CASE_IGNORE, 761 CASE_IGNORE, 762 CASE_IGNORE, 763 CASE_IGNORE, 764 /* , - . / */ 765 CASE_IGNORE, 766 CASE_IGNORE, 767 CASE_IGNORE, 768 CASE_IGNORE, 769 /* 0 1 2 3 */ 770 CASE_IGNORE, 771 CASE_IGNORE, 772 CASE_IGNORE, 773 CASE_IGNORE, 774 /* 4 5 6 7 */ 775 CASE_IGNORE, 776 CASE_IGNORE, 777 CASE_IGNORE, 778 CASE_IGNORE, 779 /* 8 9 : ; */ 780 CASE_IGNORE, 781 CASE_IGNORE, 782 CASE_IGNORE, 783 CASE_IGNORE, 784 /* < = > ? */ 785 CASE_IGNORE, 786 CASE_IGNORE, 787 CASE_IGNORE, 788 CASE_IGNORE, 789 /* @ A B C */ 790 CASE_IGNORE, 791 CASE_IGNORE, 792 CASE_IGNORE, 793 CASE_IGNORE, 794 /* D E F G */ 795 CASE_IGNORE, 796 CASE_IGNORE, 797 CASE_IGNORE, 798 CASE_IGNORE, 799 /* H I J K */ 800 CASE_IGNORE, 801 CASE_IGNORE, 802 CASE_IGNORE, 803 CASE_IGNORE, 804 /* L M N O */ 805 CASE_IGNORE, 806 CASE_IGNORE, 807 CASE_IGNORE, 808 CASE_IGNORE, 809 /* P Q R S */ 810 CASE_IGNORE, 811 CASE_IGNORE, 812 CASE_IGNORE, 813 CASE_IGNORE, 814 /* T U V W */ 815 CASE_IGNORE, 816 CASE_IGNORE, 817 CASE_IGNORE, 818 CASE_IGNORE, 819 /* X Y Z [ */ 820 CASE_IGNORE, 821 CASE_IGNORE, 822 CASE_IGNORE, 823 CASE_IGNORE, 824 /* \ ] ^ _ */ 825 CASE_IGNORE, 826 CASE_IGNORE, 827 CASE_IGNORE, 828 CASE_IGNORE, 829 /* ` a b c */ 830 CASE_IGNORE, 831 CASE_IGNORE, 832 CASE_IGNORE, 833 CASE_IGNORE, 834 /* d e f g */ 835 CASE_IGNORE, 836 CASE_IGNORE, 837 CASE_IGNORE, 838 CASE_IGNORE, 839 /* h i j k */ 840 CASE_IGNORE, 841 CASE_IGNORE, 842 CASE_IGNORE, 843 CASE_IGNORE, 844 /* l m n o */ 845 CASE_IGNORE, 846 CASE_IGNORE, 847 CASE_IGNORE, 848 CASE_IGNORE, 849 /* p q r s */ 850 CASE_IGNORE, 851 CASE_IGNORE, 852 CASE_IGNORE, 853 CASE_IGNORE, 854 /* t u v w */ 855 CASE_IGNORE, 856 CASE_IGNORE, 857 CASE_IGNORE, 858 CASE_IGNORE, 859 /* x y z { */ 860 CASE_IGNORE, 861 CASE_IGNORE, 862 CASE_IGNORE, 863 CASE_IGNORE, 864 /* | } ~ DEL */ 865 CASE_IGNORE, 866 CASE_IGNORE, 867 CASE_IGNORE, 868 CASE_IGNORE, 869 /* 0x80 0x81 0x82 0x83 */ 870 CASE_IGNORE, 871 CASE_IGNORE, 872 CASE_IGNORE, 873 CASE_IGNORE, 874 /* 0x84 0x85 0x86 0x87 */ 875 CASE_IGNORE, 876 CASE_IGNORE, 877 CASE_IGNORE, 878 CASE_IGNORE, 879 /* 0x88 0x89 0x8a 0x8b */ 880 CASE_IGNORE, 881 CASE_IGNORE, 882 CASE_IGNORE, 883 CASE_IGNORE, 884 /* 0x8c 0x8d 0x8e 0x8f */ 885 CASE_IGNORE, 886 CASE_IGNORE, 887 CASE_IGNORE, 888 CASE_IGNORE, 889 /* 0x90 0x91 0x92 0x93 */ 890 CASE_IGNORE, 891 CASE_IGNORE, 892 CASE_IGNORE, 893 CASE_IGNORE, 894 /* 0x94 0x95 0x96 0x97 */ 895 CASE_IGNORE, 896 CASE_IGNORE, 897 CASE_IGNORE, 898 CASE_IGNORE, 899 /* 0x99 0x99 0x9a 0x9b */ 900 CASE_IGNORE, 901 CASE_IGNORE, 902 CASE_IGNORE, 903 CASE_IGNORE, 904 /* 0x9c 0x9d 0x9e 0x9f */ 905 CASE_IGNORE, 906 CASE_IGNORE, 907 CASE_IGNORE, 908 CASE_IGNORE, 909 /* nobreakspace exclamdown cent sterling */ 910 CASE_IGNORE, 911 CASE_IGNORE, 912 CASE_IGNORE, 913 CASE_IGNORE, 914 /* currency yen brokenbar section */ 915 CASE_IGNORE, 916 CASE_IGNORE, 917 CASE_IGNORE, 918 CASE_IGNORE, 919 /* diaeresis copyright ordfeminine guillemotleft */ 920 CASE_IGNORE, 921 CASE_IGNORE, 922 CASE_IGNORE, 923 CASE_IGNORE, 924 /* notsign hyphen registered macron */ 925 CASE_IGNORE, 926 CASE_IGNORE, 927 CASE_IGNORE, 928 CASE_IGNORE, 929 /* degree plusminus twosuperior threesuperior */ 930 CASE_IGNORE, 931 CASE_IGNORE, 932 CASE_IGNORE, 933 CASE_IGNORE, 934 /* acute mu paragraph periodcentered */ 935 CASE_IGNORE, 936 CASE_IGNORE, 937 CASE_IGNORE, 938 CASE_IGNORE, 939 /* cedilla onesuperior masculine guillemotright */ 940 CASE_IGNORE, 941 CASE_IGNORE, 942 CASE_IGNORE, 943 CASE_IGNORE, 944 /* onequarter onehalf threequarters questiondown */ 945 CASE_IGNORE, 946 CASE_IGNORE, 947 CASE_IGNORE, 948 CASE_IGNORE, 949 /* Agrave Aacute Acircumflex Atilde */ 950 CASE_IGNORE, 951 CASE_IGNORE, 952 CASE_IGNORE, 953 CASE_IGNORE, 954 /* Adiaeresis Aring AE Ccedilla */ 955 CASE_IGNORE, 956 CASE_IGNORE, 957 CASE_IGNORE, 958 CASE_IGNORE, 959 /* Egrave Eacute Ecircumflex Ediaeresis */ 960 CASE_IGNORE, 961 CASE_IGNORE, 962 CASE_IGNORE, 963 CASE_IGNORE, 964 /* Igrave Iacute Icircumflex Idiaeresis */ 965 CASE_IGNORE, 966 CASE_IGNORE, 967 CASE_IGNORE, 968 CASE_IGNORE, 969 /* Eth Ntilde Ograve Oacute */ 970 CASE_IGNORE, 971 CASE_IGNORE, 972 CASE_IGNORE, 973 CASE_IGNORE, 974 /* Ocircumflex Otilde Odiaeresis multiply */ 975 CASE_IGNORE, 976 CASE_IGNORE, 977 CASE_IGNORE, 978 CASE_IGNORE, 979 /* Ooblique Ugrave Uacute Ucircumflex */ 980 CASE_IGNORE, 981 CASE_IGNORE, 982 CASE_IGNORE, 983 CASE_IGNORE, 984 /* Udiaeresis Yacute Thorn ssharp */ 985 CASE_IGNORE, 986 CASE_IGNORE, 987 CASE_IGNORE, 988 CASE_IGNORE, 989 /* agrave aacute acircumflex atilde */ 990 CASE_IGNORE, 991 CASE_IGNORE, 992 CASE_IGNORE, 993 CASE_IGNORE, 994 /* adiaeresis aring ae ccedilla */ 995 CASE_IGNORE, 996 CASE_IGNORE, 997 CASE_IGNORE, 998 CASE_IGNORE, 999 /* egrave eacute ecircumflex ediaeresis */ 1000 CASE_IGNORE, 1001 CASE_IGNORE, 1002 CASE_IGNORE, 1003 CASE_IGNORE, 1004 /* igrave iacute icircumflex idiaeresis */ 1005 CASE_IGNORE, 1006 CASE_IGNORE, 1007 CASE_IGNORE, 1008 CASE_IGNORE, 1009 /* eth ntilde ograve oacute */ 1010 CASE_IGNORE, 1011 CASE_IGNORE, 1012 CASE_IGNORE, 1013 CASE_IGNORE, 1014 /* ocircumflex otilde odiaeresis division */ 1015 CASE_IGNORE, 1016 CASE_IGNORE, 1017 CASE_IGNORE, 1018 CASE_IGNORE, 1019 /* oslash ugrave uacute ucircumflex */ 1020 CASE_IGNORE, 1021 CASE_IGNORE, 1022 CASE_IGNORE, 1023 CASE_IGNORE, 1024 /* udiaeresis yacute thorn ydiaeresis */ 1025 CASE_IGNORE, 1026 CASE_IGNORE, 1027 CASE_IGNORE, 1028 CASE_IGNORE, 1029 }; 1030 1031 const int Tesctable[] = /* ESC */ 1032 { 1033 /* NUL SOH STX ETX */ 1034 CASE_CURSTATE, 1035 CASE_CURSTATE, 1036 CASE_CURSTATE, 1037 CASE_VT_MODE, 1038 /* EOT ENQ ACK BEL */ 1039 CASE_CURSTATE, 1040 CASE_REPORT, 1041 CASE_CURSTATE, 1042 CASE_BEL, 1043 /* BS HT NL VT */ 1044 CASE_BS, 1045 CASE_TAB, 1046 CASE_IGNORE, 1047 CASE_UP, 1048 /* NP CR SO SI */ 1049 CASE_PAGE, 1050 CASE_IGNORE, 1051 CASE_APL, 1052 CASE_ASCII, 1053 /* DLE DC1 DC2 DC3 */ 1054 CASE_CURSTATE, 1055 CASE_CURSTATE, 1056 CASE_CURSTATE, 1057 CASE_CURSTATE, 1058 /* DC4 NAK SYN ETB */ 1059 CASE_CURSTATE, 1060 CASE_CURSTATE, 1061 CASE_CURSTATE, 1062 CASE_COPY, 1063 /* CAN EM SUB ESC */ 1064 CASE_BYP_STATE, 1065 CASE_CURSTATE, 1066 CASE_GIN, 1067 CASE_IGNORE, 1068 /* FS GS RS US */ 1069 CASE_SPT_STATE, 1070 CASE_PLT_STATE, 1071 CASE_IPL_STATE, 1072 CASE_ALP_STATE, 1073 /* SP ! " # */ 1074 CASE_CURSTATE, 1075 CASE_CURSTATE, 1076 CASE_CURSTATE, 1077 CASE_CURSTATE, 1078 /* $ % & ' */ 1079 CASE_CURSTATE, 1080 CASE_CURSTATE, 1081 CASE_CURSTATE, 1082 CASE_CURSTATE, 1083 /* ( ) * + */ 1084 CASE_CURSTATE, 1085 CASE_CURSTATE, 1086 CASE_CURSTATE, 1087 CASE_CURSTATE, 1088 /* , - . / */ 1089 CASE_CURSTATE, 1090 CASE_CURSTATE, 1091 CASE_CURSTATE, 1092 CASE_CURSTATE, 1093 /* 0 1 2 3 */ 1094 CASE_CURSTATE, 1095 CASE_CURSTATE, 1096 CASE_CURSTATE, 1097 CASE_CURSTATE, 1098 /* 4 5 6 7 */ 1099 CASE_CURSTATE, 1100 CASE_CURSTATE, 1101 CASE_CURSTATE, 1102 CASE_CURSTATE, 1103 /* 8 9 : ; */ 1104 CASE_CHAR_SIZE, 1105 CASE_CHAR_SIZE, 1106 CASE_CHAR_SIZE, 1107 CASE_CHAR_SIZE, 1108 /* < = > ? */ 1109 CASE_CURSTATE, 1110 CASE_CURSTATE, 1111 CASE_CURSTATE, 1112 CASE_CURSTATE, 1113 /* @ A B C */ 1114 CASE_CURSTATE, 1115 CASE_CURSTATE, 1116 CASE_CURSTATE, 1117 CASE_CURSTATE, 1118 /* D E F G */ 1119 CASE_CURSTATE, 1120 CASE_CURSTATE, 1121 CASE_CURSTATE, 1122 CASE_CURSTATE, 1123 /* H I J K */ 1124 CASE_CURSTATE, 1125 CASE_CURSTATE, 1126 CASE_CURSTATE, 1127 CASE_CURSTATE, 1128 /* L M N O */ 1129 CASE_CURSTATE, 1130 CASE_CURSTATE, 1131 CASE_CURSTATE, 1132 CASE_CURSTATE, 1133 /* P Q R S */ 1134 CASE_CURSTATE, 1135 CASE_CURSTATE, 1136 CASE_CURSTATE, 1137 CASE_CURSTATE, 1138 /* T U V W */ 1139 CASE_CURSTATE, 1140 CASE_CURSTATE, 1141 CASE_CURSTATE, 1142 CASE_CURSTATE, 1143 /* X Y Z [ */ 1144 CASE_CURSTATE, 1145 CASE_CURSTATE, 1146 CASE_CURSTATE, 1147 CASE_CURSTATE, 1148 /* \ ] ^ _ */ 1149 CASE_CURSTATE, 1150 CASE_OSC, 1151 CASE_CURSTATE, 1152 CASE_CURSTATE, 1153 /* ` a b c */ 1154 CASE_BEAM_VEC, 1155 CASE_BEAM_VEC, 1156 CASE_BEAM_VEC, 1157 CASE_BEAM_VEC, 1158 /* d e f g */ 1159 CASE_BEAM_VEC, 1160 CASE_CURSTATE, 1161 CASE_CURSTATE, 1162 CASE_BEAM_VEC, 1163 /* h i j k */ 1164 CASE_BEAM_VEC, 1165 CASE_BEAM_VEC, 1166 CASE_BEAM_VEC, 1167 CASE_BEAM_VEC, 1168 /* l m n o */ 1169 CASE_BEAM_VEC, 1170 CASE_CURSTATE, 1171 CASE_CURSTATE, 1172 CASE_BEAM_VEC, 1173 /* p q r s */ 1174 CASE_BEAM_VEC, 1175 CASE_BEAM_VEC, 1176 CASE_BEAM_VEC, 1177 CASE_BEAM_VEC, 1178 /* t u v w */ 1179 CASE_BEAM_VEC, 1180 CASE_CURSTATE, 1181 CASE_CURSTATE, 1182 CASE_BEAM_VEC, 1183 /* x y z { */ 1184 CASE_CURSTATE, 1185 CASE_CURSTATE, 1186 CASE_CURSTATE, 1187 CASE_CURSTATE, 1188 /* | } ~ DEL */ 1189 CASE_CURSTATE, 1190 CASE_CURSTATE, 1191 CASE_IGNORE, 1192 CASE_CURSTATE, 1193 /* 0x80 0x81 0x82 0x83 */ 1194 CASE_IGNORE, 1195 CASE_IGNORE, 1196 CASE_IGNORE, 1197 CASE_IGNORE, 1198 /* 0x84 0x85 0x86 0x87 */ 1199 CASE_IGNORE, 1200 CASE_IGNORE, 1201 CASE_IGNORE, 1202 CASE_IGNORE, 1203 /* 0x88 0x89 0x8a 0x8b */ 1204 CASE_IGNORE, 1205 CASE_IGNORE, 1206 CASE_IGNORE, 1207 CASE_IGNORE, 1208 /* 0x8c 0x8d 0x8e 0x8f */ 1209 CASE_IGNORE, 1210 CASE_IGNORE, 1211 CASE_IGNORE, 1212 CASE_IGNORE, 1213 /* 0x90 0x91 0x92 0x93 */ 1214 CASE_IGNORE, 1215 CASE_IGNORE, 1216 CASE_IGNORE, 1217 CASE_IGNORE, 1218 /* 0x94 0x95 0x96 0x97 */ 1219 CASE_IGNORE, 1220 CASE_IGNORE, 1221 CASE_IGNORE, 1222 CASE_IGNORE, 1223 /* 0x99 0x99 0x9a 0x9b */ 1224 CASE_IGNORE, 1225 CASE_IGNORE, 1226 CASE_IGNORE, 1227 CASE_IGNORE, 1228 /* 0x9c 0x9d 0x9e 0x9f */ 1229 CASE_IGNORE, 1230 CASE_IGNORE, 1231 CASE_IGNORE, 1232 CASE_IGNORE, 1233 /* nobreakspace exclamdown cent sterling */ 1234 CASE_IGNORE, 1235 CASE_IGNORE, 1236 CASE_IGNORE, 1237 CASE_IGNORE, 1238 /* currency yen brokenbar section */ 1239 CASE_IGNORE, 1240 CASE_IGNORE, 1241 CASE_IGNORE, 1242 CASE_IGNORE, 1243 /* diaeresis copyright ordfeminine guillemotleft */ 1244 CASE_IGNORE, 1245 CASE_IGNORE, 1246 CASE_IGNORE, 1247 CASE_IGNORE, 1248 /* notsign hyphen registered macron */ 1249 CASE_IGNORE, 1250 CASE_IGNORE, 1251 CASE_IGNORE, 1252 CASE_IGNORE, 1253 /* degree plusminus twosuperior threesuperior */ 1254 CASE_IGNORE, 1255 CASE_IGNORE, 1256 CASE_IGNORE, 1257 CASE_IGNORE, 1258 /* acute mu paragraph periodcentered */ 1259 CASE_IGNORE, 1260 CASE_IGNORE, 1261 CASE_IGNORE, 1262 CASE_IGNORE, 1263 /* cedilla onesuperior masculine guillemotright */ 1264 CASE_IGNORE, 1265 CASE_IGNORE, 1266 CASE_IGNORE, 1267 CASE_IGNORE, 1268 /* onequarter onehalf threequarters questiondown */ 1269 CASE_IGNORE, 1270 CASE_IGNORE, 1271 CASE_IGNORE, 1272 CASE_IGNORE, 1273 /* Agrave Aacute Acircumflex Atilde */ 1274 CASE_IGNORE, 1275 CASE_IGNORE, 1276 CASE_IGNORE, 1277 CASE_IGNORE, 1278 /* Adiaeresis Aring AE Ccedilla */ 1279 CASE_IGNORE, 1280 CASE_IGNORE, 1281 CASE_IGNORE, 1282 CASE_IGNORE, 1283 /* Egrave Eacute Ecircumflex Ediaeresis */ 1284 CASE_IGNORE, 1285 CASE_IGNORE, 1286 CASE_IGNORE, 1287 CASE_IGNORE, 1288 /* Igrave Iacute Icircumflex Idiaeresis */ 1289 CASE_IGNORE, 1290 CASE_IGNORE, 1291 CASE_IGNORE, 1292 CASE_IGNORE, 1293 /* Eth Ntilde Ograve Oacute */ 1294 CASE_IGNORE, 1295 CASE_IGNORE, 1296 CASE_IGNORE, 1297 CASE_IGNORE, 1298 /* Ocircumflex Otilde Odiaeresis multiply */ 1299 CASE_IGNORE, 1300 CASE_IGNORE, 1301 CASE_IGNORE, 1302 CASE_IGNORE, 1303 /* Ooblique Ugrave Uacute Ucircumflex */ 1304 CASE_IGNORE, 1305 CASE_IGNORE, 1306 CASE_IGNORE, 1307 CASE_IGNORE, 1308 /* Udiaeresis Yacute Thorn ssharp */ 1309 CASE_IGNORE, 1310 CASE_IGNORE, 1311 CASE_IGNORE, 1312 CASE_IGNORE, 1313 /* agrave aacute acircumflex atilde */ 1314 CASE_IGNORE, 1315 CASE_IGNORE, 1316 CASE_IGNORE, 1317 CASE_IGNORE, 1318 /* adiaeresis aring ae ccedilla */ 1319 CASE_IGNORE, 1320 CASE_IGNORE, 1321 CASE_IGNORE, 1322 CASE_IGNORE, 1323 /* egrave eacute ecircumflex ediaeresis */ 1324 CASE_IGNORE, 1325 CASE_IGNORE, 1326 CASE_IGNORE, 1327 CASE_IGNORE, 1328 /* igrave iacute icircumflex idiaeresis */ 1329 CASE_IGNORE, 1330 CASE_IGNORE, 1331 CASE_IGNORE, 1332 CASE_IGNORE, 1333 /* eth ntilde ograve oacute */ 1334 CASE_IGNORE, 1335 CASE_IGNORE, 1336 CASE_IGNORE, 1337 CASE_IGNORE, 1338 /* ocircumflex otilde odiaeresis division */ 1339 CASE_IGNORE, 1340 CASE_IGNORE, 1341 CASE_IGNORE, 1342 CASE_IGNORE, 1343 /* oslash ugrave uacute ucircumflex */ 1344 CASE_IGNORE, 1345 CASE_IGNORE, 1346 CASE_IGNORE, 1347 CASE_IGNORE, 1348 /* udiaeresis yacute thorn ydiaeresis */ 1349 CASE_IGNORE, 1350 CASE_IGNORE, 1351 CASE_IGNORE, 1352 CASE_IGNORE, 1353 }; 1354 1355 const int Tipltable[] = /* RS (^^) incremental plot */ 1356 { 1357 /* NUL SOH STX ETX */ 1358 CASE_IGNORE, 1359 CASE_IGNORE, 1360 CASE_IGNORE, 1361 CASE_IGNORE, 1362 /* EOT ENQ ACK BEL */ 1363 CASE_IGNORE, 1364 CASE_IGNORE, 1365 CASE_IGNORE, 1366 CASE_BEL, 1367 /* BS HT NL VT */ 1368 CASE_BS, 1369 CASE_TAB, 1370 CASE_LF, 1371 CASE_UP, 1372 /* NP CR SO SI */ 1373 CASE_IGNORE, 1374 CASE_CR, 1375 CASE_IGNORE, 1376 CASE_IGNORE, 1377 /* DLE DC1 DC2 DC3 */ 1378 CASE_IGNORE, 1379 CASE_IGNORE, 1380 CASE_IGNORE, 1381 CASE_IGNORE, 1382 /* DC4 NAK SYN ETB */ 1383 CASE_IGNORE, 1384 CASE_IGNORE, 1385 CASE_IGNORE, 1386 CASE_IGNORE, 1387 /* CAN EM SUB ESC */ 1388 CASE_IGNORE, 1389 CASE_IGNORE, 1390 CASE_IGNORE, 1391 CASE_ESC_STATE, 1392 /* FS GS RS US */ 1393 CASE_PT_STATE, 1394 CASE_PLT_STATE, 1395 CASE_IPL_STATE, 1396 CASE_ALP_STATE, 1397 /* SP ! " # */ 1398 CASE_PENUP, 1399 CASE_IGNORE, 1400 CASE_IGNORE, 1401 CASE_IGNORE, 1402 /* $ % & ' */ 1403 CASE_IGNORE, 1404 CASE_IGNORE, 1405 CASE_IGNORE, 1406 CASE_IGNORE, 1407 /* ( ) * + */ 1408 CASE_IGNORE, 1409 CASE_IGNORE, 1410 CASE_IGNORE, 1411 CASE_IGNORE, 1412 /* , - . / */ 1413 CASE_IGNORE, 1414 CASE_IGNORE, 1415 CASE_IGNORE, 1416 CASE_IGNORE, 1417 /* 0 1 2 3 */ 1418 CASE_IGNORE, 1419 CASE_IGNORE, 1420 CASE_IGNORE, 1421 CASE_IGNORE, 1422 /* 4 5 6 7 */ 1423 CASE_IGNORE, 1424 CASE_IGNORE, 1425 CASE_IGNORE, 1426 CASE_IGNORE, 1427 /* 8 9 : ; */ 1428 CASE_IGNORE, 1429 CASE_IGNORE, 1430 CASE_IGNORE, 1431 CASE_IGNORE, 1432 /* < = > ? */ 1433 CASE_IGNORE, 1434 CASE_IGNORE, 1435 CASE_IGNORE, 1436 CASE_IGNORE, 1437 /* @ A B C */ 1438 CASE_IGNORE, 1439 CASE_IPL_POINT, 1440 CASE_IPL_POINT, 1441 CASE_IGNORE, 1442 /* D E F G */ 1443 CASE_IPL_POINT, 1444 CASE_IPL_POINT, 1445 CASE_IPL_POINT, 1446 CASE_IGNORE, 1447 /* H I J K */ 1448 CASE_IPL_POINT, 1449 CASE_IPL_POINT, 1450 CASE_IPL_POINT, 1451 CASE_IGNORE, 1452 /* L M N O */ 1453 CASE_IGNORE, 1454 CASE_IGNORE, 1455 CASE_IGNORE, 1456 CASE_IGNORE, 1457 /* P Q R S */ 1458 CASE_PENDOWN, 1459 CASE_IGNORE, 1460 CASE_IGNORE, 1461 CASE_IGNORE, 1462 /* T U V W */ 1463 CASE_IGNORE, 1464 CASE_IGNORE, 1465 CASE_IGNORE, 1466 CASE_IGNORE, 1467 /* X Y Z [ */ 1468 CASE_IGNORE, 1469 CASE_IGNORE, 1470 CASE_IGNORE, 1471 CASE_IGNORE, 1472 /* \ ] ^ _ */ 1473 CASE_IGNORE, 1474 CASE_IGNORE, 1475 CASE_IGNORE, 1476 CASE_IGNORE, 1477 /* ` a b c */ 1478 CASE_IGNORE, 1479 CASE_IGNORE, 1480 CASE_IGNORE, 1481 CASE_IGNORE, 1482 /* d e f g */ 1483 CASE_IGNORE, 1484 CASE_IGNORE, 1485 CASE_IGNORE, 1486 CASE_IGNORE, 1487 /* h i j k */ 1488 CASE_IGNORE, 1489 CASE_IGNORE, 1490 CASE_IGNORE, 1491 CASE_IGNORE, 1492 /* l m n o */ 1493 CASE_IGNORE, 1494 CASE_IGNORE, 1495 CASE_IGNORE, 1496 CASE_IGNORE, 1497 /* p q r s */ 1498 CASE_IGNORE, 1499 CASE_IGNORE, 1500 CASE_IGNORE, 1501 CASE_IGNORE, 1502 /* t u v w */ 1503 CASE_IGNORE, 1504 CASE_IGNORE, 1505 CASE_IGNORE, 1506 CASE_IGNORE, 1507 /* x y z { */ 1508 CASE_IGNORE, 1509 CASE_IGNORE, 1510 CASE_IGNORE, 1511 CASE_IGNORE, 1512 /* | } ~ DEL */ 1513 CASE_IGNORE, 1514 CASE_IGNORE, 1515 CASE_IGNORE, 1516 CASE_IGNORE, 1517 /* 0x80 0x81 0x82 0x83 */ 1518 CASE_IGNORE, 1519 CASE_IGNORE, 1520 CASE_IGNORE, 1521 CASE_IGNORE, 1522 /* 0x84 0x85 0x86 0x87 */ 1523 CASE_IGNORE, 1524 CASE_IGNORE, 1525 CASE_IGNORE, 1526 CASE_IGNORE, 1527 /* 0x88 0x89 0x8a 0x8b */ 1528 CASE_IGNORE, 1529 CASE_IGNORE, 1530 CASE_IGNORE, 1531 CASE_IGNORE, 1532 /* 0x8c 0x8d 0x8e 0x8f */ 1533 CASE_IGNORE, 1534 CASE_IGNORE, 1535 CASE_IGNORE, 1536 CASE_IGNORE, 1537 /* 0x90 0x91 0x92 0x93 */ 1538 CASE_IGNORE, 1539 CASE_IGNORE, 1540 CASE_IGNORE, 1541 CASE_IGNORE, 1542 /* 0x94 0x95 0x96 0x97 */ 1543 CASE_IGNORE, 1544 CASE_IGNORE, 1545 CASE_IGNORE, 1546 CASE_IGNORE, 1547 /* 0x99 0x99 0x9a 0x9b */ 1548 CASE_IGNORE, 1549 CASE_IGNORE, 1550 CASE_IGNORE, 1551 CASE_IGNORE, 1552 /* 0x9c 0x9d 0x9e 0x9f */ 1553 CASE_IGNORE, 1554 CASE_IGNORE, 1555 CASE_IGNORE, 1556 CASE_IGNORE, 1557 /* nobreakspace exclamdown cent sterling */ 1558 CASE_IGNORE, 1559 CASE_IGNORE, 1560 CASE_IGNORE, 1561 CASE_IGNORE, 1562 /* currency yen brokenbar section */ 1563 CASE_IGNORE, 1564 CASE_IGNORE, 1565 CASE_IGNORE, 1566 CASE_IGNORE, 1567 /* diaeresis copyright ordfeminine guillemotleft */ 1568 CASE_IGNORE, 1569 CASE_IGNORE, 1570 CASE_IGNORE, 1571 CASE_IGNORE, 1572 /* notsign hyphen registered macron */ 1573 CASE_IGNORE, 1574 CASE_IGNORE, 1575 CASE_IGNORE, 1576 CASE_IGNORE, 1577 /* degree plusminus twosuperior threesuperior */ 1578 CASE_IGNORE, 1579 CASE_IGNORE, 1580 CASE_IGNORE, 1581 CASE_IGNORE, 1582 /* acute mu paragraph periodcentered */ 1583 CASE_IGNORE, 1584 CASE_IGNORE, 1585 CASE_IGNORE, 1586 CASE_IGNORE, 1587 /* cedilla onesuperior masculine guillemotright */ 1588 CASE_IGNORE, 1589 CASE_IGNORE, 1590 CASE_IGNORE, 1591 CASE_IGNORE, 1592 /* onequarter onehalf threequarters questiondown */ 1593 CASE_IGNORE, 1594 CASE_IGNORE, 1595 CASE_IGNORE, 1596 CASE_IGNORE, 1597 /* Agrave Aacute Acircumflex Atilde */ 1598 CASE_IGNORE, 1599 CASE_IGNORE, 1600 CASE_IGNORE, 1601 CASE_IGNORE, 1602 /* Adiaeresis Aring AE Ccedilla */ 1603 CASE_IGNORE, 1604 CASE_IGNORE, 1605 CASE_IGNORE, 1606 CASE_IGNORE, 1607 /* Egrave Eacute Ecircumflex Ediaeresis */ 1608 CASE_IGNORE, 1609 CASE_IGNORE, 1610 CASE_IGNORE, 1611 CASE_IGNORE, 1612 /* Igrave Iacute Icircumflex Idiaeresis */ 1613 CASE_IGNORE, 1614 CASE_IGNORE, 1615 CASE_IGNORE, 1616 CASE_IGNORE, 1617 /* Eth Ntilde Ograve Oacute */ 1618 CASE_IGNORE, 1619 CASE_IGNORE, 1620 CASE_IGNORE, 1621 CASE_IGNORE, 1622 /* Ocircumflex Otilde Odiaeresis multiply */ 1623 CASE_IGNORE, 1624 CASE_IGNORE, 1625 CASE_IGNORE, 1626 CASE_IGNORE, 1627 /* Ooblique Ugrave Uacute Ucircumflex */ 1628 CASE_IGNORE, 1629 CASE_IGNORE, 1630 CASE_IGNORE, 1631 CASE_IGNORE, 1632 /* Udiaeresis Yacute Thorn ssharp */ 1633 CASE_IGNORE, 1634 CASE_IGNORE, 1635 CASE_IGNORE, 1636 CASE_IGNORE, 1637 /* agrave aacute acircumflex atilde */ 1638 CASE_IGNORE, 1639 CASE_IGNORE, 1640 CASE_IGNORE, 1641 CASE_IGNORE, 1642 /* adiaeresis aring ae ccedilla */ 1643 CASE_IGNORE, 1644 CASE_IGNORE, 1645 CASE_IGNORE, 1646 CASE_IGNORE, 1647 /* egrave eacute ecircumflex ediaeresis */ 1648 CASE_IGNORE, 1649 CASE_IGNORE, 1650 CASE_IGNORE, 1651 CASE_IGNORE, 1652 /* igrave iacute icircumflex idiaeresis */ 1653 CASE_IGNORE, 1654 CASE_IGNORE, 1655 CASE_IGNORE, 1656 CASE_IGNORE, 1657 /* eth ntilde ograve oacute */ 1658 CASE_IGNORE, 1659 CASE_IGNORE, 1660 CASE_IGNORE, 1661 CASE_IGNORE, 1662 /* ocircumflex otilde odiaeresis division */ 1663 CASE_IGNORE, 1664 CASE_IGNORE, 1665 CASE_IGNORE, 1666 CASE_IGNORE, 1667 /* oslash ugrave uacute ucircumflex */ 1668 CASE_IGNORE, 1669 CASE_IGNORE, 1670 CASE_IGNORE, 1671 CASE_IGNORE, 1672 /* udiaeresis yacute thorn ydiaeresis */ 1673 CASE_IGNORE, 1674 CASE_IGNORE, 1675 CASE_IGNORE, 1676 CASE_IGNORE, 1677 }; 1678 1679 const int Tplttable[] = /* GS (^]) graph (plot) mode */ 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_BEL, 1691 /* BS HT NL VT */ 1692 CASE_BS, 1693 CASE_TAB, 1694 CASE_LF, 1695 CASE_UP, 1696 /* NP CR SO SI */ 1697 CASE_IGNORE, 1698 CASE_CR, 1699 CASE_IGNORE, 1700 CASE_IGNORE, 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_STATE, 1716 /* FS GS RS US */ 1717 CASE_PT_STATE, 1718 CASE_PLT_STATE, 1719 CASE_IPL_STATE, 1720 CASE_ALP_STATE, 1721 /* SP ! " # */ 1722 CASE_PLT_VEC, 1723 CASE_PLT_VEC, 1724 CASE_PLT_VEC, 1725 CASE_PLT_VEC, 1726 /* $ % & ' */ 1727 CASE_PLT_VEC, 1728 CASE_PLT_VEC, 1729 CASE_PLT_VEC, 1730 CASE_PLT_VEC, 1731 /* ( ) * + */ 1732 CASE_PLT_VEC, 1733 CASE_PLT_VEC, 1734 CASE_PLT_VEC, 1735 CASE_PLT_VEC, 1736 /* , - . / */ 1737 CASE_PLT_VEC, 1738 CASE_PLT_VEC, 1739 CASE_PLT_VEC, 1740 CASE_PLT_VEC, 1741 /* 0 1 2 3 */ 1742 CASE_PLT_VEC, 1743 CASE_PLT_VEC, 1744 CASE_PLT_VEC, 1745 CASE_PLT_VEC, 1746 /* 4 5 6 7 */ 1747 CASE_PLT_VEC, 1748 CASE_PLT_VEC, 1749 CASE_PLT_VEC, 1750 CASE_PLT_VEC, 1751 /* 8 9 : ; */ 1752 CASE_PLT_VEC, 1753 CASE_PLT_VEC, 1754 CASE_PLT_VEC, 1755 CASE_PLT_VEC, 1756 /* < = > ? */ 1757 CASE_PLT_VEC, 1758 CASE_PLT_VEC, 1759 CASE_PLT_VEC, 1760 CASE_PLT_VEC, 1761 /* @ A B C */ 1762 CASE_PLT_VEC, 1763 CASE_PLT_VEC, 1764 CASE_PLT_VEC, 1765 CASE_PLT_VEC, 1766 /* D E F G */ 1767 CASE_PLT_VEC, 1768 CASE_PLT_VEC, 1769 CASE_PLT_VEC, 1770 CASE_PLT_VEC, 1771 /* H I J K */ 1772 CASE_PLT_VEC, 1773 CASE_PLT_VEC, 1774 CASE_PLT_VEC, 1775 CASE_PLT_VEC, 1776 /* L M N O */ 1777 CASE_PLT_VEC, 1778 CASE_PLT_VEC, 1779 CASE_PLT_VEC, 1780 CASE_PLT_VEC, 1781 /* P Q R S */ 1782 CASE_PLT_VEC, 1783 CASE_PLT_VEC, 1784 CASE_PLT_VEC, 1785 CASE_PLT_VEC, 1786 /* T U V W */ 1787 CASE_PLT_VEC, 1788 CASE_PLT_VEC, 1789 CASE_PLT_VEC, 1790 CASE_PLT_VEC, 1791 /* X Y Z [ */ 1792 CASE_PLT_VEC, 1793 CASE_PLT_VEC, 1794 CASE_PLT_VEC, 1795 CASE_PLT_VEC, 1796 /* \ ] ^ _ */ 1797 CASE_PLT_VEC, 1798 CASE_PLT_VEC, 1799 CASE_PLT_VEC, 1800 CASE_PLT_VEC, 1801 /* ` a b c */ 1802 CASE_PLT_VEC, 1803 CASE_PLT_VEC, 1804 CASE_PLT_VEC, 1805 CASE_PLT_VEC, 1806 /* d e f g */ 1807 CASE_PLT_VEC, 1808 CASE_PLT_VEC, 1809 CASE_PLT_VEC, 1810 CASE_PLT_VEC, 1811 /* h i j k */ 1812 CASE_PLT_VEC, 1813 CASE_PLT_VEC, 1814 CASE_PLT_VEC, 1815 CASE_PLT_VEC, 1816 /* l m n o */ 1817 CASE_PLT_VEC, 1818 CASE_PLT_VEC, 1819 CASE_PLT_VEC, 1820 CASE_PLT_VEC, 1821 /* p q r s */ 1822 CASE_PLT_VEC, 1823 CASE_PLT_VEC, 1824 CASE_PLT_VEC, 1825 CASE_PLT_VEC, 1826 /* t u v w */ 1827 CASE_PLT_VEC, 1828 CASE_PLT_VEC, 1829 CASE_PLT_VEC, 1830 CASE_PLT_VEC, 1831 /* x y z { */ 1832 CASE_PLT_VEC, 1833 CASE_PLT_VEC, 1834 CASE_PLT_VEC, 1835 CASE_PLT_VEC, 1836 /* | } ~ DEL */ 1837 CASE_PLT_VEC, 1838 CASE_PLT_VEC, 1839 CASE_PLT_VEC, 1840 CASE_PLT_VEC, 1841 /* 0x80 0x81 0x82 0x83 */ 1842 CASE_IGNORE, 1843 CASE_IGNORE, 1844 CASE_IGNORE, 1845 CASE_IGNORE, 1846 /* 0x84 0x85 0x86 0x87 */ 1847 CASE_IGNORE, 1848 CASE_IGNORE, 1849 CASE_IGNORE, 1850 CASE_IGNORE, 1851 /* 0x88 0x89 0x8a 0x8b */ 1852 CASE_IGNORE, 1853 CASE_IGNORE, 1854 CASE_IGNORE, 1855 CASE_IGNORE, 1856 /* 0x8c 0x8d 0x8e 0x8f */ 1857 CASE_IGNORE, 1858 CASE_IGNORE, 1859 CASE_IGNORE, 1860 CASE_IGNORE, 1861 /* 0x90 0x91 0x92 0x93 */ 1862 CASE_IGNORE, 1863 CASE_IGNORE, 1864 CASE_IGNORE, 1865 CASE_IGNORE, 1866 /* 0x94 0x95 0x96 0x97 */ 1867 CASE_IGNORE, 1868 CASE_IGNORE, 1869 CASE_IGNORE, 1870 CASE_IGNORE, 1871 /* 0x99 0x99 0x9a 0x9b */ 1872 CASE_IGNORE, 1873 CASE_IGNORE, 1874 CASE_IGNORE, 1875 CASE_IGNORE, 1876 /* 0x9c 0x9d 0x9e 0x9f */ 1877 CASE_IGNORE, 1878 CASE_IGNORE, 1879 CASE_IGNORE, 1880 CASE_IGNORE, 1881 /* nobreakspace exclamdown cent sterling */ 1882 CASE_IGNORE, 1883 CASE_IGNORE, 1884 CASE_IGNORE, 1885 CASE_IGNORE, 1886 /* currency yen brokenbar section */ 1887 CASE_IGNORE, 1888 CASE_IGNORE, 1889 CASE_IGNORE, 1890 CASE_IGNORE, 1891 /* diaeresis copyright ordfeminine guillemotleft */ 1892 CASE_IGNORE, 1893 CASE_IGNORE, 1894 CASE_IGNORE, 1895 CASE_IGNORE, 1896 /* notsign hyphen registered macron */ 1897 CASE_IGNORE, 1898 CASE_IGNORE, 1899 CASE_IGNORE, 1900 CASE_IGNORE, 1901 /* degree plusminus twosuperior threesuperior */ 1902 CASE_IGNORE, 1903 CASE_IGNORE, 1904 CASE_IGNORE, 1905 CASE_IGNORE, 1906 /* acute mu paragraph periodcentered */ 1907 CASE_IGNORE, 1908 CASE_IGNORE, 1909 CASE_IGNORE, 1910 CASE_IGNORE, 1911 /* cedilla onesuperior masculine guillemotright */ 1912 CASE_IGNORE, 1913 CASE_IGNORE, 1914 CASE_IGNORE, 1915 CASE_IGNORE, 1916 /* onequarter onehalf threequarters questiondown */ 1917 CASE_IGNORE, 1918 CASE_IGNORE, 1919 CASE_IGNORE, 1920 CASE_IGNORE, 1921 /* Agrave Aacute Acircumflex Atilde */ 1922 CASE_IGNORE, 1923 CASE_IGNORE, 1924 CASE_IGNORE, 1925 CASE_IGNORE, 1926 /* Adiaeresis Aring AE Ccedilla */ 1927 CASE_IGNORE, 1928 CASE_IGNORE, 1929 CASE_IGNORE, 1930 CASE_IGNORE, 1931 /* Egrave Eacute Ecircumflex Ediaeresis */ 1932 CASE_IGNORE, 1933 CASE_IGNORE, 1934 CASE_IGNORE, 1935 CASE_IGNORE, 1936 /* Igrave Iacute Icircumflex Idiaeresis */ 1937 CASE_IGNORE, 1938 CASE_IGNORE, 1939 CASE_IGNORE, 1940 CASE_IGNORE, 1941 /* Eth Ntilde Ograve Oacute */ 1942 CASE_IGNORE, 1943 CASE_IGNORE, 1944 CASE_IGNORE, 1945 CASE_IGNORE, 1946 /* Ocircumflex Otilde Odiaeresis multiply */ 1947 CASE_IGNORE, 1948 CASE_IGNORE, 1949 CASE_IGNORE, 1950 CASE_IGNORE, 1951 /* Ooblique Ugrave Uacute Ucircumflex */ 1952 CASE_IGNORE, 1953 CASE_IGNORE, 1954 CASE_IGNORE, 1955 CASE_IGNORE, 1956 /* Udiaeresis Yacute Thorn ssharp */ 1957 CASE_IGNORE, 1958 CASE_IGNORE, 1959 CASE_IGNORE, 1960 CASE_IGNORE, 1961 /* agrave aacute acircumflex atilde */ 1962 CASE_IGNORE, 1963 CASE_IGNORE, 1964 CASE_IGNORE, 1965 CASE_IGNORE, 1966 /* adiaeresis aring ae ccedilla */ 1967 CASE_IGNORE, 1968 CASE_IGNORE, 1969 CASE_IGNORE, 1970 CASE_IGNORE, 1971 /* egrave eacute ecircumflex ediaeresis */ 1972 CASE_IGNORE, 1973 CASE_IGNORE, 1974 CASE_IGNORE, 1975 CASE_IGNORE, 1976 /* igrave iacute icircumflex idiaeresis */ 1977 CASE_IGNORE, 1978 CASE_IGNORE, 1979 CASE_IGNORE, 1980 CASE_IGNORE, 1981 /* eth ntilde ograve oacute */ 1982 CASE_IGNORE, 1983 CASE_IGNORE, 1984 CASE_IGNORE, 1985 CASE_IGNORE, 1986 /* ocircumflex otilde odiaeresis division */ 1987 CASE_IGNORE, 1988 CASE_IGNORE, 1989 CASE_IGNORE, 1990 CASE_IGNORE, 1991 /* oslash ugrave uacute ucircumflex */ 1992 CASE_IGNORE, 1993 CASE_IGNORE, 1994 CASE_IGNORE, 1995 CASE_IGNORE, 1996 /* udiaeresis yacute thorn ydiaeresis */ 1997 CASE_IGNORE, 1998 CASE_IGNORE, 1999 CASE_IGNORE, 2000 CASE_IGNORE, 2001 }; 2002 2003 const int Tpttable[] = /* FS (^\) point plot mode */ 2004 { 2005 /* NUL SOH STX ETX */ 2006 CASE_IGNORE, 2007 CASE_IGNORE, 2008 CASE_IGNORE, 2009 CASE_IGNORE, 2010 /* EOT ENQ ACK BEL */ 2011 CASE_IGNORE, 2012 CASE_IGNORE, 2013 CASE_IGNORE, 2014 CASE_BEL, 2015 /* BS HT NL VT */ 2016 CASE_BS, 2017 CASE_TAB, 2018 CASE_LF, 2019 CASE_UP, 2020 /* NP CR SO SI */ 2021 CASE_IGNORE, 2022 CASE_CR, 2023 CASE_IGNORE, 2024 CASE_IGNORE, 2025 /* DLE DC1 DC2 DC3 */ 2026 CASE_IGNORE, 2027 CASE_IGNORE, 2028 CASE_IGNORE, 2029 CASE_IGNORE, 2030 /* DC4 NAK SYN ETB */ 2031 CASE_IGNORE, 2032 CASE_IGNORE, 2033 CASE_IGNORE, 2034 CASE_IGNORE, 2035 /* CAN EM SUB ESC */ 2036 CASE_IGNORE, 2037 CASE_IGNORE, 2038 CASE_IGNORE, 2039 CASE_ESC_STATE, 2040 /* FS GS RS US */ 2041 CASE_PT_STATE, 2042 CASE_PLT_STATE, 2043 CASE_IPL_STATE, 2044 CASE_ALP_STATE, 2045 /* SP ! " # */ 2046 CASE_PT_POINT, 2047 CASE_PT_POINT, 2048 CASE_PT_POINT, 2049 CASE_PT_POINT, 2050 /* $ % & ' */ 2051 CASE_PT_POINT, 2052 CASE_PT_POINT, 2053 CASE_PT_POINT, 2054 CASE_PT_POINT, 2055 /* ( ) * + */ 2056 CASE_PT_POINT, 2057 CASE_PT_POINT, 2058 CASE_PT_POINT, 2059 CASE_PT_POINT, 2060 /* , - . / */ 2061 CASE_PT_POINT, 2062 CASE_PT_POINT, 2063 CASE_PT_POINT, 2064 CASE_PT_POINT, 2065 /* 0 1 2 3 */ 2066 CASE_PT_POINT, 2067 CASE_PT_POINT, 2068 CASE_PT_POINT, 2069 CASE_PT_POINT, 2070 /* 4 5 6 7 */ 2071 CASE_PT_POINT, 2072 CASE_PT_POINT, 2073 CASE_PT_POINT, 2074 CASE_PT_POINT, 2075 /* 8 9 : ; */ 2076 CASE_PT_POINT, 2077 CASE_PT_POINT, 2078 CASE_PT_POINT, 2079 CASE_PT_POINT, 2080 /* < = > ? */ 2081 CASE_PT_POINT, 2082 CASE_PT_POINT, 2083 CASE_PT_POINT, 2084 CASE_PT_POINT, 2085 /* @ A B C */ 2086 CASE_PT_POINT, 2087 CASE_PT_POINT, 2088 CASE_PT_POINT, 2089 CASE_PT_POINT, 2090 /* D E F G */ 2091 CASE_PT_POINT, 2092 CASE_PT_POINT, 2093 CASE_PT_POINT, 2094 CASE_PT_POINT, 2095 /* H I J K */ 2096 CASE_PT_POINT, 2097 CASE_PT_POINT, 2098 CASE_PT_POINT, 2099 CASE_PT_POINT, 2100 /* L M N O */ 2101 CASE_PT_POINT, 2102 CASE_PT_POINT, 2103 CASE_PT_POINT, 2104 CASE_PT_POINT, 2105 /* P Q R S */ 2106 CASE_PT_POINT, 2107 CASE_PT_POINT, 2108 CASE_PT_POINT, 2109 CASE_PT_POINT, 2110 /* T U V W */ 2111 CASE_PT_POINT, 2112 CASE_PT_POINT, 2113 CASE_PT_POINT, 2114 CASE_PT_POINT, 2115 /* X Y Z [ */ 2116 CASE_PT_POINT, 2117 CASE_PT_POINT, 2118 CASE_PT_POINT, 2119 CASE_PT_POINT, 2120 /* \ ] ^ _ */ 2121 CASE_PT_POINT, 2122 CASE_PT_POINT, 2123 CASE_PT_POINT, 2124 CASE_PT_POINT, 2125 /* ` a b c */ 2126 CASE_PT_POINT, 2127 CASE_PT_POINT, 2128 CASE_PT_POINT, 2129 CASE_PT_POINT, 2130 /* d e f g */ 2131 CASE_PT_POINT, 2132 CASE_PT_POINT, 2133 CASE_PT_POINT, 2134 CASE_PT_POINT, 2135 /* h i j k */ 2136 CASE_PT_POINT, 2137 CASE_PT_POINT, 2138 CASE_PT_POINT, 2139 CASE_PT_POINT, 2140 /* l m n o */ 2141 CASE_PT_POINT, 2142 CASE_PT_POINT, 2143 CASE_PT_POINT, 2144 CASE_PT_POINT, 2145 /* p q r s */ 2146 CASE_PT_POINT, 2147 CASE_PT_POINT, 2148 CASE_PT_POINT, 2149 CASE_PT_POINT, 2150 /* t u v w */ 2151 CASE_PT_POINT, 2152 CASE_PT_POINT, 2153 CASE_PT_POINT, 2154 CASE_PT_POINT, 2155 /* x y z { */ 2156 CASE_PT_POINT, 2157 CASE_PT_POINT, 2158 CASE_PT_POINT, 2159 CASE_PT_POINT, 2160 /* | } ~ DEL */ 2161 CASE_PT_POINT, 2162 CASE_PT_POINT, 2163 CASE_PT_POINT, 2164 CASE_PT_POINT, 2165 /* 0x80 0x81 0x82 0x83 */ 2166 CASE_IGNORE, 2167 CASE_IGNORE, 2168 CASE_IGNORE, 2169 CASE_IGNORE, 2170 /* 0x84 0x85 0x86 0x87 */ 2171 CASE_IGNORE, 2172 CASE_IGNORE, 2173 CASE_IGNORE, 2174 CASE_IGNORE, 2175 /* 0x88 0x89 0x8a 0x8b */ 2176 CASE_IGNORE, 2177 CASE_IGNORE, 2178 CASE_IGNORE, 2179 CASE_IGNORE, 2180 /* 0x8c 0x8d 0x8e 0x8f */ 2181 CASE_IGNORE, 2182 CASE_IGNORE, 2183 CASE_IGNORE, 2184 CASE_IGNORE, 2185 /* 0x90 0x91 0x92 0x93 */ 2186 CASE_IGNORE, 2187 CASE_IGNORE, 2188 CASE_IGNORE, 2189 CASE_IGNORE, 2190 /* 0x94 0x95 0x96 0x97 */ 2191 CASE_IGNORE, 2192 CASE_IGNORE, 2193 CASE_IGNORE, 2194 CASE_IGNORE, 2195 /* 0x99 0x99 0x9a 0x9b */ 2196 CASE_IGNORE, 2197 CASE_IGNORE, 2198 CASE_IGNORE, 2199 CASE_IGNORE, 2200 /* 0x9c 0x9d 0x9e 0x9f */ 2201 CASE_IGNORE, 2202 CASE_IGNORE, 2203 CASE_IGNORE, 2204 CASE_IGNORE, 2205 /* nobreakspace exclamdown cent sterling */ 2206 CASE_IGNORE, 2207 CASE_IGNORE, 2208 CASE_IGNORE, 2209 CASE_IGNORE, 2210 /* currency yen brokenbar section */ 2211 CASE_IGNORE, 2212 CASE_IGNORE, 2213 CASE_IGNORE, 2214 CASE_IGNORE, 2215 /* diaeresis copyright ordfeminine guillemotleft */ 2216 CASE_IGNORE, 2217 CASE_IGNORE, 2218 CASE_IGNORE, 2219 CASE_IGNORE, 2220 /* notsign hyphen registered macron */ 2221 CASE_IGNORE, 2222 CASE_IGNORE, 2223 CASE_IGNORE, 2224 CASE_IGNORE, 2225 /* degree plusminus twosuperior threesuperior */ 2226 CASE_IGNORE, 2227 CASE_IGNORE, 2228 CASE_IGNORE, 2229 CASE_IGNORE, 2230 /* acute mu paragraph periodcentered */ 2231 CASE_IGNORE, 2232 CASE_IGNORE, 2233 CASE_IGNORE, 2234 CASE_IGNORE, 2235 /* cedilla onesuperior masculine guillemotright */ 2236 CASE_IGNORE, 2237 CASE_IGNORE, 2238 CASE_IGNORE, 2239 CASE_IGNORE, 2240 /* onequarter onehalf threequarters questiondown */ 2241 CASE_IGNORE, 2242 CASE_IGNORE, 2243 CASE_IGNORE, 2244 CASE_IGNORE, 2245 /* Agrave Aacute Acircumflex Atilde */ 2246 CASE_IGNORE, 2247 CASE_IGNORE, 2248 CASE_IGNORE, 2249 CASE_IGNORE, 2250 /* Adiaeresis Aring AE Ccedilla */ 2251 CASE_IGNORE, 2252 CASE_IGNORE, 2253 CASE_IGNORE, 2254 CASE_IGNORE, 2255 /* Egrave Eacute Ecircumflex Ediaeresis */ 2256 CASE_IGNORE, 2257 CASE_IGNORE, 2258 CASE_IGNORE, 2259 CASE_IGNORE, 2260 /* Igrave Iacute Icircumflex Idiaeresis */ 2261 CASE_IGNORE, 2262 CASE_IGNORE, 2263 CASE_IGNORE, 2264 CASE_IGNORE, 2265 /* Eth Ntilde Ograve Oacute */ 2266 CASE_IGNORE, 2267 CASE_IGNORE, 2268 CASE_IGNORE, 2269 CASE_IGNORE, 2270 /* Ocircumflex Otilde Odiaeresis multiply */ 2271 CASE_IGNORE, 2272 CASE_IGNORE, 2273 CASE_IGNORE, 2274 CASE_IGNORE, 2275 /* Ooblique Ugrave Uacute Ucircumflex */ 2276 CASE_IGNORE, 2277 CASE_IGNORE, 2278 CASE_IGNORE, 2279 CASE_IGNORE, 2280 /* Udiaeresis Yacute Thorn ssharp */ 2281 CASE_IGNORE, 2282 CASE_IGNORE, 2283 CASE_IGNORE, 2284 CASE_IGNORE, 2285 /* agrave aacute acircumflex atilde */ 2286 CASE_IGNORE, 2287 CASE_IGNORE, 2288 CASE_IGNORE, 2289 CASE_IGNORE, 2290 /* adiaeresis aring ae ccedilla */ 2291 CASE_IGNORE, 2292 CASE_IGNORE, 2293 CASE_IGNORE, 2294 CASE_IGNORE, 2295 /* egrave eacute ecircumflex ediaeresis */ 2296 CASE_IGNORE, 2297 CASE_IGNORE, 2298 CASE_IGNORE, 2299 CASE_IGNORE, 2300 /* igrave iacute icircumflex idiaeresis */ 2301 CASE_IGNORE, 2302 CASE_IGNORE, 2303 CASE_IGNORE, 2304 CASE_IGNORE, 2305 /* eth ntilde ograve oacute */ 2306 CASE_IGNORE, 2307 CASE_IGNORE, 2308 CASE_IGNORE, 2309 CASE_IGNORE, 2310 /* ocircumflex otilde odiaeresis division */ 2311 CASE_IGNORE, 2312 CASE_IGNORE, 2313 CASE_IGNORE, 2314 CASE_IGNORE, 2315 /* oslash ugrave uacute ucircumflex */ 2316 CASE_IGNORE, 2317 CASE_IGNORE, 2318 CASE_IGNORE, 2319 CASE_IGNORE, 2320 /* udiaeresis yacute thorn ydiaeresis */ 2321 CASE_IGNORE, 2322 CASE_IGNORE, 2323 CASE_IGNORE, 2324 CASE_IGNORE, 2325 }; 2326 2327 const int Tspttable[] = /* ESC FS (^\) special point plot */ 2328 { 2329 /* NUL SOH STX ETX */ 2330 CASE_IGNORE, 2331 CASE_IGNORE, 2332 CASE_IGNORE, 2333 CASE_IGNORE, 2334 /* EOT ENQ ACK BEL */ 2335 CASE_IGNORE, 2336 CASE_IGNORE, 2337 CASE_IGNORE, 2338 CASE_BEL, 2339 /* BS HT NL VT */ 2340 CASE_BS, 2341 CASE_TAB, 2342 CASE_LF, 2343 CASE_UP, 2344 /* NP CR SO SI */ 2345 CASE_IGNORE, 2346 CASE_CR, 2347 CASE_IGNORE, 2348 CASE_IGNORE, 2349 /* DLE DC1 DC2 DC3 */ 2350 CASE_IGNORE, 2351 CASE_IGNORE, 2352 CASE_IGNORE, 2353 CASE_IGNORE, 2354 /* DC4 NAK SYN ETB */ 2355 CASE_IGNORE, 2356 CASE_IGNORE, 2357 CASE_IGNORE, 2358 CASE_IGNORE, 2359 /* CAN EM SUB ESC */ 2360 CASE_IGNORE, 2361 CASE_IGNORE, 2362 CASE_IGNORE, 2363 CASE_ESC_STATE, 2364 /* FS GS RS US */ 2365 CASE_PT_STATE, 2366 CASE_PLT_STATE, 2367 CASE_IPL_STATE, 2368 CASE_ALP_STATE, 2369 /* SP ! " # */ 2370 CASE_SPT_POINT, 2371 CASE_SPT_POINT, 2372 CASE_SPT_POINT, 2373 CASE_SPT_POINT, 2374 /* $ % & ' */ 2375 CASE_SPT_POINT, 2376 CASE_SPT_POINT, 2377 CASE_SPT_POINT, 2378 CASE_SPT_POINT, 2379 /* ( ) * + */ 2380 CASE_SPT_POINT, 2381 CASE_SPT_POINT, 2382 CASE_SPT_POINT, 2383 CASE_SPT_POINT, 2384 /* , - . / */ 2385 CASE_SPT_POINT, 2386 CASE_SPT_POINT, 2387 CASE_SPT_POINT, 2388 CASE_SPT_POINT, 2389 /* 0 1 2 3 */ 2390 CASE_SPT_POINT, 2391 CASE_SPT_POINT, 2392 CASE_SPT_POINT, 2393 CASE_SPT_POINT, 2394 /* 4 5 6 7 */ 2395 CASE_SPT_POINT, 2396 CASE_SPT_POINT, 2397 CASE_SPT_POINT, 2398 CASE_SPT_POINT, 2399 /* 8 9 : ; */ 2400 CASE_SPT_POINT, 2401 CASE_SPT_POINT, 2402 CASE_SPT_POINT, 2403 CASE_SPT_POINT, 2404 /* < = > ? */ 2405 CASE_SPT_POINT, 2406 CASE_SPT_POINT, 2407 CASE_SPT_POINT, 2408 CASE_SPT_POINT, 2409 /* @ A B C */ 2410 CASE_SPT_POINT, 2411 CASE_SPT_POINT, 2412 CASE_SPT_POINT, 2413 CASE_SPT_POINT, 2414 /* D E F G */ 2415 CASE_SPT_POINT, 2416 CASE_SPT_POINT, 2417 CASE_SPT_POINT, 2418 CASE_SPT_POINT, 2419 /* H I J K */ 2420 CASE_SPT_POINT, 2421 CASE_SPT_POINT, 2422 CASE_SPT_POINT, 2423 CASE_SPT_POINT, 2424 /* L M N O */ 2425 CASE_SPT_POINT, 2426 CASE_SPT_POINT, 2427 CASE_SPT_POINT, 2428 CASE_SPT_POINT, 2429 /* P Q R S */ 2430 CASE_SPT_POINT, 2431 CASE_SPT_POINT, 2432 CASE_SPT_POINT, 2433 CASE_SPT_POINT, 2434 /* T U V W */ 2435 CASE_SPT_POINT, 2436 CASE_SPT_POINT, 2437 CASE_SPT_POINT, 2438 CASE_SPT_POINT, 2439 /* X Y Z [ */ 2440 CASE_SPT_POINT, 2441 CASE_SPT_POINT, 2442 CASE_SPT_POINT, 2443 CASE_SPT_POINT, 2444 /* \ ] ^ _ */ 2445 CASE_SPT_POINT, 2446 CASE_SPT_POINT, 2447 CASE_SPT_POINT, 2448 CASE_SPT_POINT, 2449 /* ` a b c */ 2450 CASE_SPT_POINT, 2451 CASE_SPT_POINT, 2452 CASE_SPT_POINT, 2453 CASE_SPT_POINT, 2454 /* d e f g */ 2455 CASE_SPT_POINT, 2456 CASE_SPT_POINT, 2457 CASE_SPT_POINT, 2458 CASE_SPT_POINT, 2459 /* h i j k */ 2460 CASE_SPT_POINT, 2461 CASE_SPT_POINT, 2462 CASE_SPT_POINT, 2463 CASE_SPT_POINT, 2464 /* l m n o */ 2465 CASE_SPT_POINT, 2466 CASE_SPT_POINT, 2467 CASE_SPT_POINT, 2468 CASE_SPT_POINT, 2469 /* p q r s */ 2470 CASE_SPT_POINT, 2471 CASE_SPT_POINT, 2472 CASE_SPT_POINT, 2473 CASE_SPT_POINT, 2474 /* t u v w */ 2475 CASE_SPT_POINT, 2476 CASE_SPT_POINT, 2477 CASE_SPT_POINT, 2478 CASE_SPT_POINT, 2479 /* x y z { */ 2480 CASE_SPT_POINT, 2481 CASE_SPT_POINT, 2482 CASE_SPT_POINT, 2483 CASE_SPT_POINT, 2484 /* | } ~ DEL */ 2485 CASE_SPT_POINT, 2486 CASE_SPT_POINT, 2487 CASE_SPT_POINT, 2488 CASE_SPT_POINT, 2489 /* 0x80 0x81 0x82 0x83 */ 2490 CASE_IGNORE, 2491 CASE_IGNORE, 2492 CASE_IGNORE, 2493 CASE_IGNORE, 2494 /* 0x84 0x85 0x86 0x87 */ 2495 CASE_IGNORE, 2496 CASE_IGNORE, 2497 CASE_IGNORE, 2498 CASE_IGNORE, 2499 /* 0x88 0x89 0x8a 0x8b */ 2500 CASE_IGNORE, 2501 CASE_IGNORE, 2502 CASE_IGNORE, 2503 CASE_IGNORE, 2504 /* 0x8c 0x8d 0x8e 0x8f */ 2505 CASE_IGNORE, 2506 CASE_IGNORE, 2507 CASE_IGNORE, 2508 CASE_IGNORE, 2509 /* 0x90 0x91 0x92 0x93 */ 2510 CASE_IGNORE, 2511 CASE_IGNORE, 2512 CASE_IGNORE, 2513 CASE_IGNORE, 2514 /* 0x94 0x95 0x96 0x97 */ 2515 CASE_IGNORE, 2516 CASE_IGNORE, 2517 CASE_IGNORE, 2518 CASE_IGNORE, 2519 /* 0x99 0x99 0x9a 0x9b */ 2520 CASE_IGNORE, 2521 CASE_IGNORE, 2522 CASE_IGNORE, 2523 CASE_IGNORE, 2524 /* 0x9c 0x9d 0x9e 0x9f */ 2525 CASE_IGNORE, 2526 CASE_IGNORE, 2527 CASE_IGNORE, 2528 CASE_IGNORE, 2529 /* nobreakspace exclamdown cent sterling */ 2530 CASE_IGNORE, 2531 CASE_IGNORE, 2532 CASE_IGNORE, 2533 CASE_IGNORE, 2534 /* currency yen brokenbar section */ 2535 CASE_IGNORE, 2536 CASE_IGNORE, 2537 CASE_IGNORE, 2538 CASE_IGNORE, 2539 /* diaeresis copyright ordfeminine guillemotleft */ 2540 CASE_IGNORE, 2541 CASE_IGNORE, 2542 CASE_IGNORE, 2543 CASE_IGNORE, 2544 /* notsign hyphen registered macron */ 2545 CASE_IGNORE, 2546 CASE_IGNORE, 2547 CASE_IGNORE, 2548 CASE_IGNORE, 2549 /* degree plusminus twosuperior threesuperior */ 2550 CASE_IGNORE, 2551 CASE_IGNORE, 2552 CASE_IGNORE, 2553 CASE_IGNORE, 2554 /* acute mu paragraph periodcentered */ 2555 CASE_IGNORE, 2556 CASE_IGNORE, 2557 CASE_IGNORE, 2558 CASE_IGNORE, 2559 /* cedilla onesuperior masculine guillemotright */ 2560 CASE_IGNORE, 2561 CASE_IGNORE, 2562 CASE_IGNORE, 2563 CASE_IGNORE, 2564 /* onequarter onehalf threequarters questiondown */ 2565 CASE_IGNORE, 2566 CASE_IGNORE, 2567 CASE_IGNORE, 2568 CASE_IGNORE, 2569 /* Agrave Aacute Acircumflex Atilde */ 2570 CASE_IGNORE, 2571 CASE_IGNORE, 2572 CASE_IGNORE, 2573 CASE_IGNORE, 2574 /* Adiaeresis Aring AE Ccedilla */ 2575 CASE_IGNORE, 2576 CASE_IGNORE, 2577 CASE_IGNORE, 2578 CASE_IGNORE, 2579 /* Egrave Eacute Ecircumflex Ediaeresis */ 2580 CASE_IGNORE, 2581 CASE_IGNORE, 2582 CASE_IGNORE, 2583 CASE_IGNORE, 2584 /* Igrave Iacute Icircumflex Idiaeresis */ 2585 CASE_IGNORE, 2586 CASE_IGNORE, 2587 CASE_IGNORE, 2588 CASE_IGNORE, 2589 /* Eth Ntilde Ograve Oacute */ 2590 CASE_IGNORE, 2591 CASE_IGNORE, 2592 CASE_IGNORE, 2593 CASE_IGNORE, 2594 /* Ocircumflex Otilde Odiaeresis multiply */ 2595 CASE_IGNORE, 2596 CASE_IGNORE, 2597 CASE_IGNORE, 2598 CASE_IGNORE, 2599 /* Ooblique Ugrave Uacute Ucircumflex */ 2600 CASE_IGNORE, 2601 CASE_IGNORE, 2602 CASE_IGNORE, 2603 CASE_IGNORE, 2604 /* Udiaeresis Yacute Thorn ssharp */ 2605 CASE_IGNORE, 2606 CASE_IGNORE, 2607 CASE_IGNORE, 2608 CASE_IGNORE, 2609 /* agrave aacute acircumflex atilde */ 2610 CASE_IGNORE, 2611 CASE_IGNORE, 2612 CASE_IGNORE, 2613 CASE_IGNORE, 2614 /* adiaeresis aring ae ccedilla */ 2615 CASE_IGNORE, 2616 CASE_IGNORE, 2617 CASE_IGNORE, 2618 CASE_IGNORE, 2619 /* egrave eacute ecircumflex ediaeresis */ 2620 CASE_IGNORE, 2621 CASE_IGNORE, 2622 CASE_IGNORE, 2623 CASE_IGNORE, 2624 /* igrave iacute icircumflex idiaeresis */ 2625 CASE_IGNORE, 2626 CASE_IGNORE, 2627 CASE_IGNORE, 2628 CASE_IGNORE, 2629 /* eth ntilde ograve oacute */ 2630 CASE_IGNORE, 2631 CASE_IGNORE, 2632 CASE_IGNORE, 2633 CASE_IGNORE, 2634 /* ocircumflex otilde odiaeresis division */ 2635 CASE_IGNORE, 2636 CASE_IGNORE, 2637 CASE_IGNORE, 2638 CASE_IGNORE, 2639 /* oslash ugrave uacute ucircumflex */ 2640 CASE_IGNORE, 2641 CASE_IGNORE, 2642 CASE_IGNORE, 2643 CASE_IGNORE, 2644 /* udiaeresis yacute thorn ydiaeresis */ 2645 CASE_IGNORE, 2646 CASE_IGNORE, 2647 CASE_IGNORE, 2648 CASE_IGNORE, 2649 }; 2650 /* *INDENT-ON* */ 2651