xref: /plan9/sys/lib/lp/process/pngpost (revision 0dc12738165d24bde9d2ed1c2304bdd1965e97c3)
1*0dc12738SDavid du Colombier#!/bin/rc
2*0dc12738SDavid du Colombier# convert PNG format to PostScript
3*0dc12738SDavid du Colombierif (! ~ $DEBUG '') flag x +
4*0dc12738SDavid du ColombierPATCH='%%Patch from lp'
5*0dc12738SDavid du Colombierswitch ($LPCLASS) {
6*0dc12738SDavid du Colombiercase *hp4simx*;
7*0dc12738SDavid du Colombier	PATCH=$PATCH'
8*0dc12738SDavid du Colombier%% set the default papertray to be the lower tray for HP4siMX printers
9*0dc12738SDavid du Colombier	statusdict begin defaultpapertray end 1 ne {
10*0dc12738SDavid du Colombier		statusdict begin
11*0dc12738SDavid du Colombier			1 setdefaultpapertray
12*0dc12738SDavid du Colombier		end
13*0dc12738SDavid du Colombier	} if'
14*0dc12738SDavid du Colombier}
15*0dc12738SDavid du Colombierfor (i in `{echo $IBIN|awk -F, '{ n=split($0, a, ","); for (i=1;i<=n;i++) print a[i]; }'}) {
16*0dc12738SDavid du Colombier	switch ($i) {
17*0dc12738SDavid du Colombier	case -P*;
18*0dc12738SDavid du Colombier	case man manual manualfeed;
19*0dc12738SDavid du Colombier		PATCH=$PATCH'
20*0dc12738SDavid du Colombier%%BeginFeature: *Select ManualFeed
21*0dc12738SDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
22*0dc12738SDavid du Colombier    << /ManualFeed true >> setpagedevice
23*0dc12738SDavid du Colombier   } {statusdict begin /manualfeed true def end} ifelse
24*0dc12738SDavid du Colombier } stopped cleartomark
25*0dc12738SDavid du Colombier%%EndFeature'
26*0dc12738SDavid du Colombier	case simplex;
27*0dc12738SDavid du Colombier		DUPLEX=0
28*0dc12738SDavid du Colombier	case [0-9];
29*0dc12738SDavid du Colombier		PATCH=$PATCH'
30*0dc12738SDavid du Colombier%%BeginFeature: *Select InputTray
31*0dc12738SDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
32*0dc12738SDavid du Colombier	<< '$i' << /MediaType (tray'$i') >> >>
33*0dc12738SDavid du Colombier    << /MediaType (tray'$i') >> setpagedevice
34*0dc12738SDavid du Colombier   } {statusdict begin '$i' setpapertray end} ifelse
35*0dc12738SDavid du Colombier } stopped cleartomark
36*0dc12738SDavid du Colombier%%EndFeature'
37*0dc12738SDavid du Colombier	case 11x17 [Ll]edger;
38*0dc12738SDavid du Colombier		PATCH=$PATCH'
39*0dc12738SDavid du Colombier%%BeginFeature: *Select Ledger
40*0dc12738SDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
41*0dc12738SDavid du Colombier    << /PageSize [792 1224] >> setpagedevice
42*0dc12738SDavid du Colombier   } {statusdict begin '$i'tray end} ifelse
43*0dc12738SDavid du Colombier } stopped cleartomark
44*0dc12738SDavid du Colombier%%EndFeature'
45*0dc12738SDavid du Colombier	case transparency vg viewgraph;
46*0dc12738SDavid du Colombier		PATCH=$PATCH'
47*0dc12738SDavid du Colombier%%BeginFeature: *Select Transparency
48*0dc12738SDavid du Colombier[{ << /MediaType (Transparency) >> setpagedevice
49*0dc12738SDavid du Colombier } stopped cleartomark
50*0dc12738SDavid du Colombier%%EndFeature'
51*0dc12738SDavid du Colombier	case *;
52*0dc12738SDavid du Colombier		echo illegal option ''''-i $i'''' >[1=2]
53*0dc12738SDavid du Colombier	}
54*0dc12738SDavid du Colombier}
55*0dc12738SDavid du Colombierif (! ~ $#DUPLEX 0) {
56*0dc12738SDavid du Colombier	switch ($DUPLEX) {
57*0dc12738SDavid du Colombier	case 0;
58*0dc12738SDavid du Colombier		DUPLEX=false
59*0dc12738SDavid du Colombier	case 1;
60*0dc12738SDavid du Colombier		DUPLEX=true
61*0dc12738SDavid du Colombier	}
62*0dc12738SDavid du Colombier	PATCH=$PATCH'
63*0dc12738SDavid du Colombier%%BeginFeature: *Set DuplexMode
64*0dc12738SDavid du Colombier[{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if {
65*0dc12738SDavid du Colombier    << /Duplex '$DUPLEX'  >> setpagedevice
66*0dc12738SDavid du Colombier  } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse
67*0dc12738SDavid du Colombier } stopped cleartomark
68*0dc12738SDavid du Colombier%%EndFeature'
69*0dc12738SDavid du Colombier}
70*0dc12738SDavid du ColombierPATCH=$PATCH'
71*0dc12738SDavid du Colombier%%EndPatch from lp'
72*0dc12738SDavid du Colombierif (! ~ $PATCH '' -P*)
73*0dc12738SDavid du Colombier	PATCH=-P$PATCH;
74*0dc12738SDavid du Colombier
75*0dc12738SDavid du Colombierif (~ $MAG '') MAG=1
76*0dc12738SDavid du Colombierif (~ $MAG [.0-9]*) MAG=-m^$MAG
77*0dc12738SDavid du Colombier
78*0dc12738SDavid du Colombierif (! ~ $LAND '') LAND=-L
79*0dc12738SDavid du Colombierif not LAND=()
80*0dc12738SDavid du Colombier
81*0dc12738SDavid du Colombier/$cputype/bin/png -9t |
82*0dc12738SDavid du Colombier	/$cputype/bin/aux/p9bitpost $MAG $LAND $PATCH |
83*0dc12738SDavid du Colombier	$LPLIB/process/hpost
84*0dc12738SDavid du Colombierexit
85