87 lines
2.4 KiB
Bash
Executable file
87 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 {
|
|
<< '$i' << /MediaType (tray'$i') >> >>
|
|
<< /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'
|
|
}
|
|
PATCH=$PATCH'
|
|
%%EndPatch from lp
|
|
'
|
|
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/tr2post $XOFF $YOFF $COPIES $MAG $NPAG $LAND $OLIST $PATCH | $LPLIB/process/hpost
|
|
exit
|