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
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;
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
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
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
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
50 61746420 2005-08-31 devnull case *; PATCH=$PATCH'
51 61746420 2005-08-31 devnull statusdict begin $i setpapertray end'
53 61746420 2005-08-31 devnull case 11x17 ledger; PATCH=$PATCH'
54 61746420 2005-08-31 devnull statusdict begin '$i'tray end'
57 61746420 2005-08-31 devnull if (! ~ $#DUPLEX 0) {
58 61746420 2005-08-31 devnull switch ($DUPLEX) {
60 61746420 2005-08-31 devnull DUPLEX=false
62 61746420 2005-08-31 devnull DUPLEX=true
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'
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) {
77 61746420 2005-08-31 devnull REVFLAG=1
79 61746420 2005-08-31 devnull REVFLAG=''
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'
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) {
96 61746420 2005-08-31 devnull echo $PATCH
97 61746420 2005-08-31 devnull switch ($OLIST) {
99 61746420 2005-08-31 devnull eval dvips -q -f $DPI -r $LAND $COPIES $1
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
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
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