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