diff options
Diffstat (limited to 'lp/process/post')
-rwxr-xr-x | lp/process/post | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/lp/process/post b/lp/process/post new file mode 100755 index 00000000..63bf036b --- /dev/null +++ b/lp/process/post @@ -0,0 +1,68 @@ +#!/usr/local/plan9/bin/rc +if (! ~ $DEBUG '') flag x + +PATCH='%!PS +%%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'''' ignored >[1=2] + } +} +#if (! ~ $#DUPLEX 0) { +# if (~ $DUPLEX 1 ) +# PATCH=$PATCH' +#statusdict /setduplexmode known {statusdict begin true setduplexmode end} if'; +# if (~ $DUPLEX 0 ) +# PATCH=$PATCH' +#statusdict /setduplexmode known {statusdict begin false setduplexmode end} if'; +#} +PATCH=$PATCH' +%%EndPatch from lp +' + +{ echo $PATCH; psextract } | $LPLIB/process/hpost + |