#!/bin/rc if (! ~ $DEBUG '') 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 InputSlot [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if { (<<) cvx exec /ManualFeed true (>>) cvx exec setpagedevice } {statusdict begin /manualfeed true def end} ifelse } stopped cleartomark %%EndFeature' case simplex; DUPLEX=0 case [0-9]; PATCH=$PATCH' %%BeginFeature: *Select InputSlot [{ 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 ledger; PATCH=$PATCH' %%BeginFeature: *Select InputMedia [{ systemdict /languagelevel known {languagelevel 1 gt product (HP LaserJet 4Si) ne and} if { (<<) cvx exec /MediaType '$i' (>>) cvx exec setpagedevice } {statusdict begin '$i'tray end} ifelse } stopped cleartomark %%EndFeature' case *; echo illegal option ''''-i $i'''' ignored >[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 ' echo $PATCH; cat