Blame


1 61746420 2005-08-31 devnull #!/usr/local/plan9/bin/rc
2 61746420 2005-08-31 devnull if (~ $DEBUG 1) flag x +
3 61746420 2005-08-31 devnull # convert Tex dvi to PostScript
4 61746420 2005-08-31 devnull PATCH='%!PS-Adobe-2.0'
5 61746420 2005-08-31 devnull switch ($LPCLASS) {
6 61746420 2005-08-31 devnull case *hp4simx*;
7 61746420 2005-08-31 devnull PATCH=$PATCH'
8 61746420 2005-08-31 devnull %% set the default papertray to be the lower tray for HP4siMX printers
9 61746420 2005-08-31 devnull statusdict begin defaultpapertray end 1 ne {
10 61746420 2005-08-31 devnull statusdict begin
11 61746420 2005-08-31 devnull 1 setdefaultpapertray
12 61746420 2005-08-31 devnull end
13 61746420 2005-08-31 devnull } if'
14 61746420 2005-08-31 devnull }
15 61746420 2005-08-31 devnull for (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
16 61746420 2005-08-31 devnull switch ($i) {
17 61746420 2005-08-31 devnull case man manual manualfeed;
18 61746420 2005-08-31 devnull PATCH=$PATCH'
19 61746420 2005-08-31 devnull %%BeginFeature: *Select ManualFeed
20 61746420 2005-08-31 devnull [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
21 61746420 2005-08-31 devnull << /ManualFeed true >> setpagedevice
22 61746420 2005-08-31 devnull } {statusdict begin /manualfeed true def end} ifelse
23 61746420 2005-08-31 devnull } stopped cleartomark
24 61746420 2005-08-31 devnull %%EndFeature'
25 61746420 2005-08-31 devnull case simplex;
26 61746420 2005-08-31 devnull DUPLEX=0
27 61746420 2005-08-31 devnull case [0-9];
28 61746420 2005-08-31 devnull switch ($LPCLASS) {
29 61746420 2005-08-31 devnull case *post2*;
30 61746420 2005-08-31 devnull switch ($i) {
31 61746420 2005-08-31 devnull case 0; PATCH=$PATCH'
32 61746420 2005-08-31 devnull systemdict/languagelevel known {languagelevel 2 eq {true (0) startjob dup not
33 61746420 2005-08-31 devnull {/exitserver errordict/invalidaccess get exec}if}{false}ifelse}{false}ifelse
34 61746420 2005-08-31 devnull {
35 61746420 2005-08-31 devnull currentpagedevice/InputAttributes get {0 get} stopped
36 61746420 2005-08-31 devnull {pop pop} {2 dict dup /InputAttributes 1 dict dup
37 61746420 2005-08-31 devnull /Priority[0] put put dup /TraySwitch false put setpagedevice} ifelse
38 61746420 2005-08-31 devnull false (0) startjob pop
39 61746420 2005-08-31 devnull } if'
40 61746420 2005-08-31 devnull case 1; PATCH=$PATCH'
41 61746420 2005-08-31 devnull systemdict/languagelevel known {languagelevel 2 eq {true (0) startjob dup not
42 61746420 2005-08-31 devnull {/exitserver errordict/invalidaccess get exec}if}{false}ifelse}{false}ifelse
43 61746420 2005-08-31 devnull {
44 61746420 2005-08-31 devnull currentpagedevice/InputAttributes get {1 get} stopped
45 61746420 2005-08-31 devnull {pop pop} {2 dict dup /InputAttributes 1 dict dup
46 61746420 2005-08-31 devnull /Priority[1] put put dup /TraySwitch false put setpagedevice} ifelse
47 61746420 2005-08-31 devnull false (0) startjob pop
48 61746420 2005-08-31 devnull } if'
49 61746420 2005-08-31 devnull }
50 61746420 2005-08-31 devnull case *; PATCH=$PATCH'
51 61746420 2005-08-31 devnull statusdict begin $i setpapertray end'
52 61746420 2005-08-31 devnull }
53 61746420 2005-08-31 devnull case 11x17 ledger; PATCH=$PATCH'
54 61746420 2005-08-31 devnull statusdict begin '$i'tray end'
55 61746420 2005-08-31 devnull }
56 61746420 2005-08-31 devnull }
57 61746420 2005-08-31 devnull if (! ~ $#DUPLEX 0) {
58 61746420 2005-08-31 devnull switch ($DUPLEX) {
59 61746420 2005-08-31 devnull case 0;
60 61746420 2005-08-31 devnull DUPLEX=false
61 61746420 2005-08-31 devnull case 1;
62 61746420 2005-08-31 devnull DUPLEX=true
63 61746420 2005-08-31 devnull }
64 61746420 2005-08-31 devnull PATCH=$PATCH'
65 61746420 2005-08-31 devnull %%BeginFeature: *Set DuplexMode
66 61746420 2005-08-31 devnull [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
67 61746420 2005-08-31 devnull << /Duplex '$DUPLEX' >> setpagedevice
68 61746420 2005-08-31 devnull } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
69 61746420 2005-08-31 devnull } stopped cleartomark
70 61746420 2005-08-31 devnull %%EndFeature'
71 61746420 2005-08-31 devnull }
72 61746420 2005-08-31 devnull if (! ~ $#LAND 0 && ~ $LAND 1)
73 61746420 2005-08-31 devnull LAND='-tlandscape'
74 61746420 2005-08-31 devnull if (~ $LPCLASS *reverse*) {
75 61746420 2005-08-31 devnull switch ($REVERSE) {
76 61746420 2005-08-31 devnull case '';
77 61746420 2005-08-31 devnull REVFLAG=1
78 61746420 2005-08-31 devnull case 1;
79 61746420 2005-08-31 devnull REVFLAG=''
80 61746420 2005-08-31 devnull }
81 61746420 2005-08-31 devnull }
82 61746420 2005-08-31 devnull switch ($LPCLASS) {
83 61746420 2005-08-31 devnull case *post100*;
84 61746420 2005-08-31 devnull DPI='-Z -D100'
85 61746420 2005-08-31 devnull case *600dpi*;
86 61746420 2005-08-31 devnull DPI='-Z -D600'
87 61746420 2005-08-31 devnull case *1200dpi*;
88 61746420 2005-08-31 devnull DPI='-Z -D1200'
89 61746420 2005-08-31 devnull case *;
90 61746420 2005-08-31 devnull DPI=''
91 61746420 2005-08-31 devnull }
92 61746420 2005-08-31 devnull if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES
93 61746420 2005-08-31 devnull if (! ~ $OLIST '' '='*) OLIST=`{echo $OLIST | sed 's/-o/=/' | sed 's/-/:/g' }
94 61746420 2005-08-31 devnull switch ($REVFLAG) {
95 61746420 2005-08-31 devnull case 1;
96 61746420 2005-08-31 devnull echo $PATCH
97 61746420 2005-08-31 devnull switch ($OLIST) {
98 61746420 2005-08-31 devnull case '';
99 61746420 2005-08-31 devnull eval dvips -q -f $DPI -r $LAND $COPIES $1
100 61746420 2005-08-31 devnull case *;
101 61746420 2005-08-31 devnull DVIFILE=/tmp/dv$pid.dvi
102 61746420 2005-08-31 devnull dviselect -s $OLIST $1 > $DVIFILE
103 61746420 2005-08-31 devnull eval dvips -q -f $DPI -r $LAND $COPIES $DVIFILE
104 61746420 2005-08-31 devnull rm -f $DVIFILE
105 61746420 2005-08-31 devnull }
106 61746420 2005-08-31 devnull $LPLIB/process/hpost </dev/null
107 61746420 2005-08-31 devnull case '';
108 61746420 2005-08-31 devnull $LPLIB/process/hpost </dev/null
109 61746420 2005-08-31 devnull echo $PATCH
110 61746420 2005-08-31 devnull switch ($OLIST) {
111 61746420 2005-08-31 devnull case '';
112 61746420 2005-08-31 devnull eval dvips -q -f $DPI $LAND $COPIES $1
113 61746420 2005-08-31 devnull case *;
114 61746420 2005-08-31 devnull DVIFILE=/tmp/dv$pid.dvi
115 61746420 2005-08-31 devnull dviselect -s $OLIST $1 > $DVIFILE
116 61746420 2005-08-31 devnull eval dvips -q -f $DPI $LAND $COPIES $DVIFILE
117 61746420 2005-08-31 devnull rm -f $DVIFILE
118 61746420 2005-08-31 devnull }
119 61746420 2005-08-31 devnull }
120 61746420 2005-08-31 devnull exit