xref: /plan9/sys/lib/lp/process/ppost (revision 0dc12738165d24bde9d2ed1c2304bdd1965e97c3)
1#!/bin/rc
2# converts a regular text file to PostScript
3if (! ~ $DEBUG '') flag x +
4PATCH='%%Patch from lp'
5switch ($LPCLASS) {
6case *hp4simx*;
7	PATCH=$PATCH'
8%% set the default papertray to be the lower tray for HP4siMX printers
9	statusdict begin defaultpapertray end 1 ne {
10		statusdict begin
11			1 setdefaultpapertray
12		end
13	} if'
14}
15for (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
16	switch ($i) {
17	case -P*;
18	case man manual manualfeed;
19		PATCH=$PATCH'
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
24 } stopped cleartomark
25%%EndFeature'
26	case simplex;
27		DUPLEX=0
28	case [0-9];
29		PATCH=$PATCH'
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
35 } stopped cleartomark
36%%EndFeature'
37	case 11x17 [Ll]edger;
38		PATCH=$PATCH'
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
43 } stopped cleartomark
44%%EndFeature'
45	case transparency vg viewgraph;
46		PATCH=$PATCH'
47%%BeginFeature: *Select Transparency
48[{ << /MediaType (Transparency) >> setpagedevice
49 } stopped cleartomark
50%%EndFeature'
51	case *;
52		echo illegal option ''''-i $i'''' >[1=2]
53	}
54}
55if (! ~ $#DUPLEX 0) {
56	switch ($DUPLEX) {
57	case 0;
58		DUPLEX=false
59	case 1;
60		DUPLEX=true
61	}
62	PATCH=$PATCH'
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
67 } stopped cleartomark
68%%EndFeature'
69}
70PATCH=$PATCH'
71%%EndPatch from lp
72'
73if (! ~ $PATCH '' -P*)
74	PATCH=-P''''$PATCH'''';
75switch ($LAND) {
76case -p*;
77case ''; LAND=-pp
78case 1;	LAND=-pl
79}
80if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES
81switch ($FONT) {
82case ''; FONT=-f'Courier'
83case -f*;
84case *; FONT=-f$FONT
85}
86switch ($POINT) {
87case ''; POINT=-s10
88case -s*;
89case *; POINT=-s$POINT
90}
91if (! ~ $LINES '' -l*) LINES=-l^$LINES;
92if (! ~ $MAG '' -m*) MAG=-m^$MAG;
93if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG;
94if (! ~ $XOFF '' -x*) XOFF=-x`{echo $XOFF + .4|hoc};
95if not XOFF=-x.4
96if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF;
97eval  /$cputype/bin/aux/text2post $FONT $XOFF $YOFF $COPIES $LINES $MAG $NPAG $POINT $LAND $OLIST $PATCH | $LPLIB/process/hpost
98# eval /$cputype/bin/aux/postprint -EUTF $FONT $XOFF $YOFF $COPIES $LINES $MAG $NPAG $POINT $LAND $OLIST $PATCH | $LPLIB/process/hpost
99exit
100