ref: e2ee991490227698bbc3f9ace4c9ecc014d12dbe
dir: /sys/lib/lp/process/tr2post/
#!/bin/rc if (~ $DEBUG 1) flag x + # convert troff output to PostScript 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''''; switch ($LAND) { case -p*; case ''; LAND=-pp case 1; LAND=-pl } if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES if (! ~ $MAG '' -m*) MAG=-m^$MAG if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG if (! ~ $XOFF '' -x*) XOFF=-x^$XOFF if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF eval /$cputype/bin/aux/tr2post $XOFF $YOFF $COPIES $MAG $NPAG $LAND $OLIST $PATCH | $LPLIB/process/hpost exit