ref: 6280c0f17bf3919cf6c2506fec6edfa0a7ec10fe
dir: /sys/lib/lp/process/p9bitpost/
#!/bin/rc # convert plan 9 image to PostScript if (~ $DEBUG 1) flag x + PATCH='%%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'''' >[1=2] } } if (! ~ $#DUPLEX 0) { switch ($DUPLEX) { case 0; DUPLEX=false case 1; DUPLEX=true } PATCH=$PATCH' %%BeginFeature: *Set DuplexMode [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if { << /Duplex '$DUPLEX' >> setpagedevice } {statusdict /setduplexmode known {statusdict begin '$DUPLEX' setduplexmode end} if} ifelse } stopped cleartomark %%EndFeature' } PATCH=$PATCH' %%EndPatch from lp' if (! ~ $PATCH '' -P*) PATCH=-P$PATCH; if (! ~ $LAND '') LAND=-L if not LAND=() # if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES if (! ~ $MAG '') MAG=-m^$MAG if (~ $MAG '') MAG=() # if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG # if (! ~ $XOFF '' -x*) XOFF=-x^$XOFF # if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF /$cputype/bin/aux/p9bitpost $MAG $LAND $PATCH | $LPLIB/process/hpost exit