tppost - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tppost (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