plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

tr2post (2476B)


      1 #!/usr/local/plan9/bin/rc
      2 if (~ $DEBUG 1) flag x +
      3 # convert troff output to PostScript
      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 if (! ~ $MAG '' -m*) MAG=-m^$MAG
     82 if (! ~ $NPAG '' -n*) NPAG=-n^$NPAG
     83 if (! ~ $XOFF '' -x*) XOFF=-x^$XOFF
     84 if (! ~ $YOFF '' -y*) YOFF=-y^$YOFF
     85 eval tr2post $XOFF $YOFF $COPIES $MAG $NPAG $LAND $OLIST $PATCH | $LPLIB/process/hpost
     86 exit