Initial lp.
This commit is contained in:
parent
9f1d53a09b
commit
6174642093
30 changed files with 1528 additions and 0 deletions
120
lp/process/dvipost
Executable file
120
lp/process/dvipost
Executable file
|
|
@ -0,0 +1,120 @@
|
|||
#!/usr/local/plan9/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
|
||||
Loading…
Add table
Add a link
Reference in a new issue