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