aboutsummaryrefslogtreecommitdiff
path: root/lp/process/post
diff options
context:
space:
mode:
Diffstat (limited to 'lp/process/post')
-rwxr-xr-xlp/process/post68
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
+