ppost (2749B)
1 #!/usr/local/plan9/bin/rc 2 # converts a regular ascii file to PostScript 3 if (! ~ $DEBUG '') flag x + 4 PATCH='%%Patch from lp' 5 switch ($LPCLASS) { 6 case *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 } 15 for (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 } 55 if (! ~ $#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 } 70 PATCH=$PATCH' 71 %%EndPatch from lp 72 ' 73 if (! ~ $PATCH '' -P*) 74 PATCH=-P''''$PATCH''''; 75 switch ($LAND) { 76 case -p*; 77 case ''; LAND=-pp 78 case 1; LAND=-pl 79 } 80 if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES 81 switch ($FONT) { 82 case ''; FONT=-f'Courier' 83 case -f*; 84 case *; FONT=-f$FONT 85 } 86 switch ($POINT) { 87 case ''; POINT=-s10 88 case -s*; 89 case *; POINT=-s$POINT 90 } 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}; 95 if not XOFF=-x.4 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 98 exit