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