plan9fox/sys/lib/lp/process/dpost

82 lines
2.4 KiB
Bash
Executable file

#!/bin/rc
if (~ $DEBUG 1) flag x +
# convert troff output to PostScript
PATCH='%%Patch from lp'
switch ($LPCLASS) {
case *hp4simx*;
PATCH=$PATCH'
%% set the default papertray to be the lower tray for HP4siMX printers
statusdict begin defaultpapertray end 1 ne {
statusdict begin
1 setdefaultpapertray
end
} if'
}
for (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
switch ($i) {
case -P*;
case man manual manualfeed;
PATCH=$PATCH'
%%BeginFeature: *Select ManualFeed
[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
<< /ManualFeed true >> setpagedevice
} {statusdict begin /manualfeed true def end} ifelse
} stopped cleartomark
%%EndFeature'
case simplex;
DUPLEX=0
case [0-9];
PATCH=$PATCH'
%%BeginFeature: *Select InputTray
[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
<< /MediaType (tray'$i') >> setpagedevice
} {statusdict begin '$i' setpapertray end} ifelse
} stopped cleartomark
%%EndFeature'
case 11x17 [Ll]edger;
PATCH=$PATCH'
%%BeginFeature: *Select Ledger
[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
<< /PageSize [792 1224] >> setpagedevice
} {statusdict begin '$i'tray end} ifelse
} stopped cleartomark
%%EndFeature'
case transparency vg viewgraph;
PATCH=$PATCH'
%%BeginFeature: *Select Transparency
[{ << /MediaType (Transparency) >> setpagedevice
} stopped cleartomark
%%EndFeature'
case *;
echo illegal option ''''-i $i'''' >[1=2]
}
}
if (! ~ $#DUPLEX 0) {
switch ($DUPLEX) {
case 0;
DUPLEX=false
case 1;
DUPLEX=true
}
PATCH=$PATCH'
%%BeginFeature: *Set DuplexMode
[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
<< /Duplex '$DUPLEX' >> setpagedevice
} {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
} stopped cleartomark
%%EndFeature';
}
if (! ~ $PATCH '' -P*)
PATCH=-P''''$PATCH'''';
switch ($LAND) {
case -p*;
case ''; LAND=-pp
case 1; LAND=-pl
}
if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES
if (! ~ $MAG '' -m*) MAG=-m^$MAG
if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG
if (! ~ $XOFF '' -x*) XOFF=-x^$XOFF
if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF
eval /$cputype/bin/aux/dpost -e2 -w0.5 $XOFF $YOFF $COPIES $MAG $NPAG $LAND $OLIST $PATCH | $LPLIB/process/hpost
exit