1 /*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 1983, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. Neither the name of the University nor the names of its contributors 16 * may be used to endorse or promote products derived from this software 17 * without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32 #if 0 33 #endif 34 35 #include "lp.cdefs.h" /* A cross-platform version of <sys/cdefs.h> */ 36 /* 37 * Character set for line printer daemon 38 */ 39 #include "lp.local.h" 40 #include "extern.h" 41 42 #define c_______ 0 43 #define c______1 01 44 #define c_____1_ 02 45 #define c____1__ 04 46 #define c____11_ 06 47 #define c___1___ 010 48 #define c___1__1 011 49 #define c___1_1_ 012 50 #define c___11__ 014 51 #define c__1____ 020 52 #define c__1__1_ 022 53 #define c__1_1__ 024 54 #define c__11___ 030 55 #define c__111__ 034 56 #define c__111_1 035 57 #define c__1111_ 036 58 #define c__11111 037 59 #define c_1_____ 040 60 #define c_1____1 041 61 #define c_1___1_ 042 62 #define c_1__1__ 044 63 #define c_1_1___ 050 64 #define c_1_1__1 051 65 #define c_1_1_1_ 052 66 #define c_11____ 060 67 #define c_11_11_ 066 68 #define c_111___ 070 69 #define c_111__1 071 70 #define c_111_1_ 072 71 #define c_1111__ 074 72 #define c_1111_1 075 73 #define c_11111_ 076 74 #define c_111111 077 75 #define c1______ 0100 76 #define c1_____1 0101 77 #define c1____1_ 0102 78 #define c1____11 0103 79 #define c1___1__ 0104 80 #define c1___1_1 0105 81 #define c1___11_ 0106 82 #define c1__1___ 0110 83 #define c1__1__1 0111 84 #define c1__11_1 0115 85 #define c1__1111 0117 86 #define c1_1____ 0120 87 #define c1_1___1 0121 88 #define c1_1_1_1 0125 89 #define c1_1_11_ 0126 90 #define c1_111__ 0134 91 #define c1_1111_ 0136 92 #define c11____1 0141 93 #define c11___1_ 0142 94 #define c11___11 0143 95 #define c11_1___ 0150 96 #define c11_1__1 0151 97 #define c111_11_ 0166 98 #define c1111___ 0170 99 #define c11111__ 0174 100 #define c111111_ 0176 101 #define c1111111 0177 102 103 char scnkey[][HEIGHT] = /* this is relatively easy to modify */ 104 /* just look: */ 105 { 106 { c_______, 107 c_______, 108 c_______, 109 c_______, 110 c_______, 111 c_______, 112 c_______, 113 c_______, 114 c_______ }, /* */ 115 116 { c__11___, 117 c__11___, 118 c__11___, 119 c__11___, 120 c__11___, 121 c_______, 122 c_______, 123 c__11___, 124 c__11___ }, /* ! */ 125 126 { c_1__1__, 127 c_1__1__, 128 c_______, 129 c_______, 130 c_______, 131 c_______, 132 c_______, 133 c_______, 134 c_______ }, /* " */ 135 136 { c_______, 137 c__1_1__, 138 c__1_1__, 139 c1111111, 140 c__1_1__, 141 c1111111, 142 c__1_1__, 143 c__1_1__, 144 c_______ }, /* # */ 145 146 { c___1___, 147 c_11111_, 148 c1__1__1, 149 c1__1___, 150 c_11111_, 151 c___1__1, 152 c1__1__1, 153 c_11111_, 154 c___1___ }, /* $ */ 155 156 { c_1_____, 157 c1_1___1, 158 c_1___1_, 159 c____1__, 160 c___1___, 161 c__1____, 162 c_1___1_, 163 c1___1_1, 164 c_____1_ }, /* % */ 165 166 { c_11____, 167 c1__1___, 168 c1___1__, 169 c_1_1___, 170 c__1____, 171 c_1_1__1, 172 c1___11_, 173 c1___11_, 174 c_111__1 }, /* & */ 175 176 { c___11__, 177 c___11__, 178 c___1___, 179 c__1____, 180 c_______, 181 c_______, 182 c_______, 183 c_______, 184 c_______ }, /* ' */ 185 186 { c____1__, 187 c___1___, 188 c__1____, 189 c__1____, 190 c__1____, 191 c__1____, 192 c__1____, 193 c___1___, 194 c____1__ }, /* ( */ 195 196 { c__1____, 197 c___1___, 198 c____1__, 199 c____1__, 200 c____1__, 201 c____1__, 202 c____1__, 203 c___1___, 204 c__1____ }, /* ) */ 205 206 { c_______, 207 c___1___, 208 c1__1__1, 209 c_1_1_1_, 210 c__111__, 211 c_1_1_1_, 212 c1__1__1, 213 c___1___, 214 c_______ }, /* * */ 215 216 { c_______, 217 c___1___, 218 c___1___, 219 c___1___, 220 c1111111, 221 c___1___, 222 c___1___, 223 c___1___, 224 c_______ }, /* + */ 225 226 { c_______, 227 c_______, 228 c_______, 229 c_______, 230 c__11___, 231 c__11___, 232 c__1____, 233 c_1_____, 234 c_______ }, /* , */ 235 236 { c_______, 237 c_______, 238 c_______, 239 c_______, 240 c1111111, 241 c_______, 242 c_______, 243 c_______, 244 c_______ }, /* - */ 245 246 { c_______, 247 c_______, 248 c_______, 249 c_______, 250 c_______, 251 c_______, 252 c_______, 253 c__11___, 254 c__11___ }, /* . */ 255 256 { c_______, 257 c______1, 258 c_____1_, 259 c____1__, 260 c___1___, 261 c__1____, 262 c_1_____, 263 c1______, 264 c_______ }, /* / */ 265 266 { c_11111_, 267 c1_____1, 268 c1____11, 269 c1___1_1, 270 c1__1__1, 271 c1_1___1, 272 c11____1, 273 c1_____1, 274 c_11111_ }, /* 0 */ 275 276 { c___1___, 277 c__11___, 278 c_1_1___, 279 c___1___, 280 c___1___, 281 c___1___, 282 c___1___, 283 c___1___, 284 c_11111_ }, /* 1 */ 285 286 { c_11111_, 287 c1_____1, 288 c______1, 289 c_____1_, 290 c__111__, 291 c_1_____, 292 c1______, 293 c1______, 294 c1111111 }, /* 2 */ 295 296 { c_11111_, 297 c1_____1, 298 c______1, 299 c______1, 300 c__1111_, 301 c______1, 302 c______1, 303 c1_____1, 304 c_11111_ }, /* 3 */ 305 306 { c_____1_, 307 c____11_, 308 c___1_1_, 309 c__1__1_, 310 c_1___1_, 311 c1____1_, 312 c1111111, 313 c_____1_, 314 c_____1_ }, /* 4 */ 315 316 { c1111111, 317 c1______, 318 c1______, 319 c11111__, 320 c_____1_, 321 c______1, 322 c______1, 323 c1____1_, 324 c_1111__ }, /* 5 */ 325 326 { c__1111_, 327 c_1_____, 328 c1______, 329 c1______, 330 c1_1111_, 331 c11____1, 332 c1_____1, 333 c1_____1, 334 c_11111_ }, /* 6 */ 335 336 { c1111111, 337 c1_____1, 338 c_____1_, 339 c____1__, 340 c___1___, 341 c__1____, 342 c__1____, 343 c__1____, 344 c__1____ }, /* 7 */ 345 346 { c_11111_, 347 c1_____1, 348 c1_____1, 349 c1_____1, 350 c_11111_, 351 c1_____1, 352 c1_____1, 353 c1_____1, 354 c_11111_ }, /* 8 */ 355 356 { c_11111_, 357 c1_____1, 358 c1_____1, 359 c1_____1, 360 c_111111, 361 c______1, 362 c______1, 363 c1_____1, 364 c_1111__ }, /* 9 */ 365 366 { c_______, 367 c_______, 368 c_______, 369 c__11___, 370 c__11___, 371 c_______, 372 c_______, 373 c__11___, 374 c__11___ }, /* : */ 375 376 377 { c__11___, 378 c__11___, 379 c_______, 380 c_______, 381 c__11___, 382 c__11___, 383 c__1____, 384 c_1_____, 385 c_______ }, /* ; */ 386 387 { c____1__, 388 c___1___, 389 c__1____, 390 c_1_____, 391 c1______, 392 c_1_____, 393 c__1____, 394 c___1___, 395 c____1__ }, /* < */ 396 397 { c_______, 398 c_______, 399 c_______, 400 c1111111, 401 c_______, 402 c1111111, 403 c_______, 404 c_______, 405 c_______ }, /* = */ 406 407 { c__1____, 408 c___1___, 409 c____1__, 410 c_____1_, 411 c______1, 412 c_____1_, 413 c____1__, 414 c___1___, 415 c__1____ }, /* > */ 416 417 { c__1111_, 418 c_1____1, 419 c_1____1, 420 c______1, 421 c____11_, 422 c___1___, 423 c___1___, 424 c_______, 425 c___1___ }, /* ? */ 426 427 { c__1111_, 428 c_1____1, 429 c1__11_1, 430 c1_1_1_1, 431 c1_1_1_1, 432 c1_1111_, 433 c1______, 434 c_1____1, 435 c__1111_ }, /* @ */ 436 437 { c__111__, 438 c_1___1_, 439 c1_____1, 440 c1_____1, 441 c1111111, 442 c1_____1, 443 c1_____1, 444 c1_____1, 445 c1_____1 }, /* A */ 446 447 { c111111_, 448 c_1____1, 449 c_1____1, 450 c_1____1, 451 c_11111_, 452 c_1____1, 453 c_1____1, 454 c_1____1, 455 c111111_ }, /* B */ 456 457 { c__1111_, 458 c_1____1, 459 c1______, 460 c1______, 461 c1______, 462 c1______, 463 c1______, 464 c_1____1, 465 c__1111_ }, /* C */ 466 467 { c11111__, 468 c_1___1_, 469 c_1____1, 470 c_1____1, 471 c_1____1, 472 c_1____1, 473 c_1____1, 474 c_1___1_, 475 c11111__ }, /* D */ 476 477 { c1111111, 478 c1______, 479 c1______, 480 c1______, 481 c111111_, 482 c1______, 483 c1______, 484 c1______, 485 c1111111 }, /* E */ 486 487 { c1111111, 488 c1______, 489 c1______, 490 c1______, 491 c111111_, 492 c1______, 493 c1______, 494 c1______, 495 c1______ }, /* F */ 496 497 { c__1111_, 498 c_1____1, 499 c1______, 500 c1______, 501 c1______, 502 c1__1111, 503 c1_____1, 504 c_1____1, 505 c__1111_ }, /* G */ 506 507 { c1_____1, 508 c1_____1, 509 c1_____1, 510 c1_____1, 511 c1111111, 512 c1_____1, 513 c1_____1, 514 c1_____1, 515 c1_____1 }, /* H */ 516 517 { c_11111_, 518 c___1___, 519 c___1___, 520 c___1___, 521 c___1___, 522 c___1___, 523 c___1___, 524 c___1___, 525 c_11111_ }, /* I */ 526 527 { c__11111, 528 c____1__, 529 c____1__, 530 c____1__, 531 c____1__, 532 c____1__, 533 c____1__, 534 c1___1__, 535 c_111___ }, /* J */ 536 537 { c1_____1, 538 c1____1_, 539 c1___1__, 540 c1__1___, 541 c1_1____, 542 c11_1___, 543 c1___1__, 544 c1____1_, 545 c1_____1 }, /* K */ 546 547 { c1______, 548 c1______, 549 c1______, 550 c1______, 551 c1______, 552 c1______, 553 c1______, 554 c1______, 555 c1111111 }, /* L */ 556 557 { c1_____1, 558 c11___11, 559 c1_1_1_1, 560 c1__1__1, 561 c1_____1, 562 c1_____1, 563 c1_____1, 564 c1_____1, 565 c1_____1 }, /* M */ 566 567 { c1_____1, 568 c11____1, 569 c1_1___1, 570 c1__1__1, 571 c1___1_1, 572 c1____11, 573 c1_____1, 574 c1_____1, 575 c1_____1 }, /* N */ 576 577 { c__111__, 578 c_1___1_, 579 c1_____1, 580 c1_____1, 581 c1_____1, 582 c1_____1, 583 c1_____1, 584 c_1___1_, 585 c__111__ }, /* O */ 586 587 { c111111_, 588 c1_____1, 589 c1_____1, 590 c1_____1, 591 c111111_, 592 c1______, 593 c1______, 594 c1______, 595 c1______ }, /* P */ 596 597 { c__111__, 598 c_1___1_, 599 c1_____1, 600 c1_____1, 601 c1_____1, 602 c1__1__1, 603 c1___1_1, 604 c_1___1_, 605 c__111_1 }, /* Q */ 606 607 { c111111_, 608 c1_____1, 609 c1_____1, 610 c1_____1, 611 c111111_, 612 c1__1___, 613 c1___1__, 614 c1____1_, 615 c1_____1 }, /* R */ 616 617 { c_11111_, 618 c1_____1, 619 c1______, 620 c1______, 621 c_11111_, 622 c______1, 623 c______1, 624 c1_____1, 625 c_11111_ }, /* S */ 626 627 { c1111111, 628 c___1___, 629 c___1___, 630 c___1___, 631 c___1___, 632 c___1___, 633 c___1___, 634 c___1___, 635 c___1___ }, /* T */ 636 637 { c1_____1, 638 c1_____1, 639 c1_____1, 640 c1_____1, 641 c1_____1, 642 c1_____1, 643 c1_____1, 644 c1_____1, 645 c_11111_ }, /* U */ 646 647 { c1_____1, 648 c1_____1, 649 c1_____1, 650 c_1___1_, 651 c_1___1_, 652 c__1_1__, 653 c__1_1__, 654 c___1___, 655 c___1___ }, /* V */ 656 657 { c1_____1, 658 c1_____1, 659 c1_____1, 660 c1_____1, 661 c1__1__1, 662 c1__1__1, 663 c1_1_1_1, 664 c11___11, 665 c1_____1 }, /* W */ 666 667 { c1_____1, 668 c1_____1, 669 c_1___1_, 670 c__1_1__, 671 c___1___, 672 c__1_1__, 673 c_1___1_, 674 c1_____1, 675 c1_____1 }, /* X */ 676 677 { c1_____1, 678 c1_____1, 679 c_1___1_, 680 c__1_1__, 681 c___1___, 682 c___1___, 683 c___1___, 684 c___1___, 685 c___1___ }, /* Y */ 686 687 { c1111111, 688 c______1, 689 c_____1_, 690 c____1__, 691 c___1___, 692 c__1____, 693 c_1_____, 694 c1______, 695 c1111111 }, /* Z */ 696 697 { c_1111__, 698 c_1_____, 699 c_1_____, 700 c_1_____, 701 c_1_____, 702 c_1_____, 703 c_1_____, 704 c_1_____, 705 c_1111__ }, /* [ */ 706 707 { c_______, 708 c1______, 709 c_1_____, 710 c__1____, 711 c___1___, 712 c____1__, 713 c_____1_, 714 c______1, 715 c_______ }, /* \ */ 716 717 { c__1111_, 718 c_____1_, 719 c_____1_, 720 c_____1_, 721 c_____1_, 722 c_____1_, 723 c_____1_, 724 c_____1_, 725 c__1111_ }, /* ] */ 726 727 { c___1___, 728 c__1_1__, 729 c_1___1_, 730 c1_____1, 731 c_______, 732 c_______, 733 c_______, 734 c_______ }, /* ^ */ 735 736 { c_______, 737 c_______, 738 c_______, 739 c_______, 740 c_______, 741 c_______, 742 c_______, 743 c1111111, 744 c_______ }, /* _ */ 745 746 { c__11___, 747 c__11___, 748 c___1___, 749 c____1__, 750 c_______, 751 c_______, 752 c_______, 753 c_______, 754 c_______ }, /* ` */ 755 756 { c_______, 757 c_______, 758 c_______, 759 c_1111__, 760 c_____1_, 761 c_11111_, 762 c1_____1, 763 c1____11, 764 c_1111_1 }, /* a */ 765 766 { c1______, 767 c1______, 768 c1______, 769 c1_111__, 770 c11___1_, 771 c1_____1, 772 c1_____1, 773 c11___1_, 774 c1_111__ }, /* b */ 775 776 { c_______, 777 c_______, 778 c_______, 779 c_1111__, 780 c1____1_, 781 c1______, 782 c1______, 783 c1____1_, 784 c_1111__ }, /* c */ 785 786 { c_____1_, 787 c_____1_, 788 c_____1_, 789 c_111_1_, 790 c1___11_, 791 c1____1_, 792 c1____1_, 793 c1___11_, 794 c_111_1_ }, /* d */ 795 796 { c_______, 797 c_______, 798 c_______, 799 c_1111__, 800 c1____1_, 801 c111111_, 802 c1______, 803 c1____1_, 804 c_1111__ }, /* e */ 805 806 { c___11__, 807 c__1__1_, 808 c__1____, 809 c__1____, 810 c11111__, 811 c__1____, 812 c__1____, 813 c__1____, 814 c__1____ }, /* f */ 815 816 { c_111_1_, 817 c1___11_, 818 c1____1_, 819 c1____1_, 820 c1___11_, 821 c_111_1_, 822 c_____1_, 823 c1____1_, 824 c_1111__ }, /* g */ 825 826 { c1______, 827 c1______, 828 c1______, 829 c1_111__, 830 c11___1_, 831 c1____1_, 832 c1____1_, 833 c1____1_, 834 c1____1_ }, /* h */ 835 836 { c_______, 837 c___1___, 838 c_______, 839 c__11___, 840 c___1___, 841 c___1___, 842 c___1___, 843 c___1___, 844 c__111__ }, /* i */ 845 846 { c____11_, 847 c_____1_, 848 c_____1_, 849 c_____1_, 850 c_____1_, 851 c_____1_, 852 c_____1_, 853 c_1___1_, 854 c__111__ }, /* j */ 855 856 { c1______, 857 c1______, 858 c1______, 859 c1___1__, 860 c1__1___, 861 c1_1____, 862 c11_1___, 863 c1___1__, 864 c1____1_ }, /* k */ 865 866 { c__11___, 867 c___1___, 868 c___1___, 869 c___1___, 870 c___1___, 871 c___1___, 872 c___1___, 873 c___1___, 874 c__111__ }, /* l */ 875 876 { c_______, 877 c_______, 878 c_______, 879 c1_1_11_, 880 c11_1__1, 881 c1__1__1, 882 c1__1__1, 883 c1__1__1, 884 c1__1__1 }, /* m */ 885 886 { c_______, 887 c_______, 888 c_______, 889 c1_111__, 890 c11___1_, 891 c1____1_, 892 c1____1_, 893 c1____1_, 894 c1____1_ }, /* n */ 895 896 { c_______, 897 c_______, 898 c_______, 899 c_1111__, 900 c1____1_, 901 c1____1_, 902 c1____1_, 903 c1____1_, 904 c_1111__ }, /* o */ 905 906 { c1_111__, 907 c11___1_, 908 c1____1_, 909 c1____1_, 910 c11___1_, 911 c1_111__, 912 c1______, 913 c1______, 914 c1______ }, /* p */ 915 916 { c_111_1_, 917 c1___11_, 918 c1____1_, 919 c1____1_, 920 c1___11_, 921 c_111_1_, 922 c_____1_, 923 c_____1_, 924 c_____1_ }, /* q */ 925 926 { c_______, 927 c_______, 928 c_______, 929 c1_111__, 930 c11___1_, 931 c1______, 932 c1______, 933 c1______, 934 c1______ }, /* r */ 935 936 { c_______, 937 c_______, 938 c_______, 939 c_1111__, 940 c1____1_, 941 c_11____, 942 c___11__, 943 c1____1_, 944 c_1111__ }, /* s */ 945 946 { c_______, 947 c__1____, 948 c__1____, 949 c11111__, 950 c__1____, 951 c__1____, 952 c__1____, 953 c__1__1_, 954 c___11__ }, /* t */ 955 956 { c_______, 957 c_______, 958 c_______, 959 c1____1_, 960 c1____1_, 961 c1____1_, 962 c1____1_, 963 c1___11_, 964 c_111_1_ }, /* u */ 965 966 { c_______, 967 c_______, 968 c_______, 969 c1_____1, 970 c1_____1, 971 c1_____1, 972 c_1___1_, 973 c__1_1__, 974 c___1___ }, /* v */ 975 976 { c_______, 977 c_______, 978 c_______, 979 c1_____1, 980 c1__1__1, 981 c1__1__1, 982 c1__1__1, 983 c1__1__1, 984 c_11_11_ }, /* w */ 985 986 { c_______, 987 c_______, 988 c_______, 989 c1____1_, 990 c_1__1__, 991 c__11___, 992 c__11___, 993 c_1__1__, 994 c1____1_ }, /* x */ 995 996 { c1____1_, 997 c1____1_, 998 c1____1_, 999 c1____1_, 1000 c1___11_, 1001 c_111_1_, 1002 c_____1_, 1003 c1____1_, 1004 c_1111__ }, /* y */ 1005 1006 { c_______, 1007 c_______, 1008 c_______, 1009 c111111_, 1010 c____1__, 1011 c___1___, 1012 c__1____, 1013 c_1_____, 1014 c111111_ }, /* z */ 1015 1016 { c___11__, 1017 c__1____, 1018 c__1____, 1019 c__1____, 1020 c_1_____, 1021 c__1____, 1022 c__1____, 1023 c__1____, 1024 c___11__ }, /* } */ 1025 1026 { c___1___, 1027 c___1___, 1028 c___1___, 1029 c___1___, 1030 c___1___, 1031 c___1___, 1032 c___1___, 1033 c___1___, 1034 c___1___ }, /* | */ 1035 1036 { c__11___, 1037 c____1__, 1038 c____1__, 1039 c____1__, 1040 c_____1_, 1041 c____1__, 1042 c____1__, 1043 c____1__, 1044 c__11___ }, /* } */ 1045 1046 { c_11____, 1047 c1__1__1, 1048 c____11_, 1049 c_______, 1050 c_______, 1051 c_______, 1052 c_______, 1053 c_______, 1054 c_______ }, /* ~ */ 1055 1056 { c_1__1__, 1057 c1__1__1, 1058 c__1__1_, 1059 c_1__1__, 1060 c1__1__1, 1061 c__1__1_, 1062 c_1__1__, 1063 c1__1__1, 1064 c__1__1_ } /* rub-out */ 1065 }; 1066