#!/bin/rcif (~ $DEBUG 1) flag x +# convert Tex dvi to PostScriptPATCH='%!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^$COPIESif (! ~ $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/nullcase ''; $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
#!/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