Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/rc
if (~ $DEBUG 1) flag x +
# convert Tex dvi to PostScript
PATCH='%!PS-Adobe-2.0'
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 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];
                switch ($LPCLASS) {
                case *post2*;
                        switch ($i) {
                        case 0; PATCH=$PATCH'
systemdict/languagelevel known {languagelevel 2 eq {true (0) startjob dup not
{/exitserver errordict/invalidaccess get exec}if}{false}ifelse}{false}ifelse
{
  currentpagedevice/InputAttributes get {0 get} stopped
  {pop pop} {2 dict dup /InputAttributes 1 dict dup
  /Priority[0] put put dup /TraySwitch false put setpagedevice} ifelse
  false (0) startjob pop
} if'
                        case 1; PATCH=$PATCH'
systemdict/languagelevel known {languagelevel 2 eq {true (0) startjob dup not
{/exitserver errordict/invalidaccess get exec}if}{false}ifelse}{false}ifelse
{
  currentpagedevice/InputAttributes get {1 get} stopped
  {pop pop} {2 dict dup /InputAttributes 1 dict dup
  /Priority[1] put put dup /TraySwitch false put setpagedevice} ifelse
  false (0) startjob pop
} if'
                        }
                case *; PATCH=$PATCH'
statusdict begin $i setpapertray end'
                }
        case 11x17 ledger;      PATCH=$PATCH'
statusdict begin '$i'tray end'
        }
}
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'
}
if (! ~ $#LAND 0 && ~ $LAND 1)
        LAND='-tlandscape'
if (~ $LPCLASS *reverse*) {
        switch ($REVERSE) {
        case '';
                REVFLAG=1
        case 1;
                REVFLAG=''
        }
}
switch ($LPCLASS) {
case *post100*;
        DPI='-Z -D100'
case *600dpi*;
        DPI='-Z -D600'
case *1200dpi*;
        DPI='-Z -D1200'
case *;
        DPI=''
}
if (! ~ $COPIES '' -c*) COPIES=-c^$COPIES
if (! ~ $OLIST '' '='*) OLIST=`{echo $OLIST | sed 's/-o/=/' | sed 's/-/:/g' }
switch ($REVFLAG) {
case 1;
        echo $PATCH
        switch ($OLIST) {
        case '';
                eval dvips -q -f $DPI -r $LAND $COPIES $1
        case *;
                DVIFILE=/tmp/dv$pid.dvi
                dviselect -s $OLIST $1 > $DVIFILE
                eval dvips -q -f $DPI -r $LAND $COPIES $DVIFILE
                rm -f $DVIFILE
        }
        $LPLIB/process/hpost </dev/null
case '';
        $LPLIB/process/hpost </dev/null
        echo $PATCH
        switch ($OLIST) {
        case '';
                eval dvips -q -f $DPI $LAND $COPIES $1
        case *;
                DVIFILE=/tmp/dv$pid.dvi
                dviselect -s $OLIST $1 > $DVIFILE
                eval dvips -q -f $DPI $LAND $COPIES $DVIFILE
                rm -f $DVIFILE
        }
}
exit