1 #!/usr/local/plan9/bin/rc
2 # converts a regular ascii file to PostScript
3 if (! ~ $DEBUG '') flag x +
4 PATCH='%%Patch from lp'
8 %% set the default papertray to be the lower tray for HP4siMX printers
9 statusdict begin defaultpapertray end 1 ne {
15 for (i in `{echo $IBIN | awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
18 case man manual manualfeed;
20 %%BeginFeature: *Select ManualFeed
21 [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
22 << /ManualFeed true >> setpagedevice
23 } {statusdict begin /manualfeed true def end} ifelse
30 %%BeginFeature: *Select InputTray
31 [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
32 << '$i' << /MediaType (tray'$i') >> >>
33 << /MediaType (tray'$i') >> setpagedevice
34 } {statusdict begin '$i' setpapertray end} ifelse
39 %%BeginFeature: *Select Ledger
40 [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
41 << /PageSize [792 1224] >> setpagedevice
42 } {statusdict begin '$i'tray end} ifelse
45 case transparency vg viewgraph;
47 %%BeginFeature: *Select Transparency
48 [{ << /MediaType (Transparency) >> setpagedevice
52 echo illegal option ''''-i $i'''' >[1=2]
63 %%BeginFeature: *Set DuplexMode
64 [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
65 << /Duplex '$DUPLEX' >> setpagedevice
66 } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
73 if (! ~ $PATCH '' -P*)
74 PATCH=-P''''$PATCH'''';
80 if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES
82 case ''; FONT=-f'Courier'
89 case *; POINT=-s$POINT
91 if (! ~ $LINES '' -l*) LINES=-l^$LINES;
92 if (! ~ $MAG '' -m*) MAG=-m^$MAG;
93 if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG;
94 if (! ~ $XOFF '' -x*) XOFF=-x`{echo $XOFF + .4|hoc};
96 if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF;
97 eval $PLAN9/bin/text2post $FONT $XOFF $YOFF $COPIES $LINES $MAG $NPAG $POINT $LAND $OLIST $PATCH | $LPLIB/process/hpost