Blame


1 61746420 2005-08-31 devnull #!/usr/local/plan9/bin/rc
2 61746420 2005-08-31 devnull # Tries to determine what type of file you are printing and do the correct
3 61746420 2005-08-31 devnull # thing with it.
4 61746420 2005-08-31 devnull # It currently knows about images, troff intermediate, and ascii files.
5 61746420 2005-08-31 devnull TMPFILE=/tmp/lp$pid
6 61746420 2005-08-31 devnull fn sigexit { rm -f $TMPFILE; }
7 61746420 2005-08-31 devnull if (! ~ $DEBUG '') flag x +
8 61746420 2005-08-31 devnull if (~ $LPCLASS *nohead*) NOHEAD=1
9 61746420 2005-08-31 devnull if (~ $LPCLASS *duplex*) DUPLEX=1
10 61746420 2005-08-31 devnull cat >$TMPFILE
11 61746420 2005-08-31 devnull FILETYPE=`{file $TMPFILE}
12 61746420 2005-08-31 devnull switch ($FILETYPE(2)) {
13 61746420 2005-08-31 devnull case troff;
14 61746420 2005-08-31 devnull switch ($LPCLASS) {
15 61746420 2005-08-31 devnull case *Latin1* *post* *opost*; switch ($FILETYPE(5)) {
16 61746420 2005-08-31 devnull # Latin1 is for compatibility with old research UNIX systems, doesn't work on Plan 9
17 61746420 2005-08-31 devnull case Latin1 post; tcs -s -f utf -t latin1 < $TMPFILE |$LPLIB/process/dpost
18 61746420 2005-08-31 devnull
19 61746420 2005-08-31 devnull case UTF; $LPLIB/process/tr2post < $TMPFILE
20 61746420 2005-08-31 devnull }
21 61746420 2005-08-31 devnull
22 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) -T$FILETYPE(5) output is improper for $LPDEST >[1=2]
23 61746420 2005-08-31 devnull }
24 61746420 2005-08-31 devnull case special;
25 61746420 2005-08-31 devnull switch ($FILETYPE(4)) {
26 61746420 2005-08-31 devnull case '#b'; switch ($LPCLASS) {
27 61746420 2005-08-31 devnull case *post*; $LPLIB/process/p9bitpost < $TMPFILE
28 61746420 2005-08-31 devnull }
29 61746420 2005-08-31 devnull
30 61746420 2005-08-31 devnull case *; echo $FILETYPE file is improper for $LPDEST >[1=2]
31 61746420 2005-08-31 devnull }
32 61746420 2005-08-31 devnull case Compressed plan old; # type is really 'Compressed image' or 'plan 9 image'
33 61746420 2005-08-31 devnull # or 'old plan 9 image'
34 61746420 2005-08-31 devnull switch ($LPCLASS) {
35 61746420 2005-08-31 devnull case *post*; $LPLIB/process/p9bitpost < $TMPFILE
36 61746420 2005-08-31 devnull }
37 61746420 2005-08-31 devnull case jpeg;
38 61746420 2005-08-31 devnull switch ($LPCLASS) {
39 61746420 2005-08-31 devnull case *post*; $LPLIB/process/jpgpost < $TMPFILE
40 61746420 2005-08-31 devnull }
41 61746420 2005-08-31 devnull
42 61746420 2005-08-31 devnull case GIF;
43 61746420 2005-08-31 devnull switch ($LPCLASS) {
44 61746420 2005-08-31 devnull case *post*; $LPLIB/process/gifpost < $TMPFILE
45 61746420 2005-08-31 devnull }
46 61746420 2005-08-31 devnull
47 61746420 2005-08-31 devnull case ccitt-g31;
48 61746420 2005-08-31 devnull switch ($LPCLASS) {
49 61746420 2005-08-31 devnull case *post*; $LPLIB/process/g3post < $TMPFILE
50 61746420 2005-08-31 devnull }
51 61746420 2005-08-31 devnull
52 61746420 2005-08-31 devnull # bitmap for research UNIX compatibility, does not work on Plan 9.
53 61746420 2005-08-31 devnull case bitmap;
54 61746420 2005-08-31 devnull switch ($LPCLASS) {
55 61746420 2005-08-31 devnull case *post*; $LPLIB/process/bpost < $TMPFILE
56 61746420 2005-08-31 devnull case *mhcc*; $LPLIB/process/bpost < $TMPFILE | $LPLIB/process/mhcc
57 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
58 61746420 2005-08-31 devnull }
59 61746420 2005-08-31 devnull case tex;
60 61746420 2005-08-31 devnull mv $TMPFILE $TMPFILE.dvi
61 61746420 2005-08-31 devnull TMPFILE=$TMPFILE.dvi
62 61746420 2005-08-31 devnull switch ($LPCLASS) {
63 61746420 2005-08-31 devnull case *post*; $LPLIB/process/dvipost $TMPFILE
64 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
65 61746420 2005-08-31 devnull }
66 61746420 2005-08-31 devnull case postscript;
67 61746420 2005-08-31 devnull switch ($LPCLASS) {
68 61746420 2005-08-31 devnull case *post*; $LPLIB/process/post < $TMPFILE
69 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
70 61746420 2005-08-31 devnull }
71 61746420 2005-08-31 devnull case HPJCL;
72 61746420 2005-08-31 devnull switch ($LPCLASS) {
73 61746420 2005-08-31 devnull case *HPJCL*; $LPLIB/process/noproc < $TMPFILE
74 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
75 61746420 2005-08-31 devnull }
76 61746420 2005-08-31 devnull case daisy;
77 61746420 2005-08-31 devnull switch ($LPDEST) {
78 61746420 2005-08-31 devnull case *; echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
79 61746420 2005-08-31 devnull }
80 61746420 2005-08-31 devnull case English short extended alef limbo [Aa]scii ASCII assembler c latin rc sh as mail email message/rfc822;
81 61746420 2005-08-31 devnull switch ($LPCLASS) {
82 61746420 2005-08-31 devnull case *post*; $LPLIB/process/ppost < $TMPFILE
83 61746420 2005-08-31 devnull case *canon*; $LPLIB/process/can $* < $TMPFILE
84 61746420 2005-08-31 devnull case *; echo Unrecognized class of line printer for $LPDEST >[1=2]
85 61746420 2005-08-31 devnull }
86 61746420 2005-08-31 devnull
87 61746420 2005-08-31 devnull case tiff;
88 61746420 2005-08-31 devnull switch ($LPCLASS) {
89 61746420 2005-08-31 devnull case *post*; $LPLIB/process/tiffpost $TMPFILE
90 61746420 2005-08-31 devnull case *; echo Unrecognized class of line printer for $LPDEST >[1=2]
91 61746420 2005-08-31 devnull }
92 61746420 2005-08-31 devnull case PDF;
93 61746420 2005-08-31 devnull switch ($LPCLASS) {
94 61746420 2005-08-31 devnull case *post*; $LPLIB/process/pdfpost $TMPFILE
95 61746420 2005-08-31 devnull case *; echo Unrecognized class of line printer for $LPDEST >[1=2]
96 61746420 2005-08-31 devnull }
97 61746420 2005-08-31 devnull case empty;
98 61746420 2005-08-31 devnull echo file is empty >[1=2]
99 61746420 2005-08-31 devnull case cannot;
100 61746420 2005-08-31 devnull echo cannot open file >[1=2]
101 61746420 2005-08-31 devnull case *;
102 61746420 2005-08-31 devnull echo $FILETYPE(2) file is improper for $LPDEST >[1=2]
103 61746420 2005-08-31 devnull }
104 61746420 2005-08-31 devnull wait
105 61746420 2005-08-31 devnull rv=$status
106 61746420 2005-08-31 devnull rm -f $TMPFILE
107 61746420 2005-08-31 devnull #exit $status
108 61746420 2005-08-31 devnull exit