#!sh
## arguments.
PRINTER=$1
PAPERSIZE=$2

## temporary files
DVI_TMP=${TMPDIR:-.}/xdvi-tmp.dvi
DVITMP=${TMPDIR:-.}/xdviprint.$$.dvi
PSTMP=${TMPDIR:-.}/xdviprint.$$.ps

cp.exe -v $DVI_TMP $DVITMP
rm.exe -vf $DVI_TMP
## save to temporary file.
#cat - > $DVITMP

##########
###### DVI -> PS
######
## for dvips
FILTOPTTBL=${XDVIFILTOPTTBL:-$TEXMF/xdvi/xdvipaper.dvips}
DVIPSCMD="dvips -f -t"
####
## for dvi2ps
# FILTOPTTBL=${XDVIFILTOPTTBL:-$TEXMF/xdvi/xdvipaper.dvi2ps-j}
# DVIPSCMD="dvi2ps -o"
####
## for jdvi2kps
# FILTOPTTBL=${XDVIFILTOPTTBL:-/emx/share/texmf/xdvi/xdvipaper.jdvi2kps}
# DVIPSCMD="jdvi2kps -pa"
##########

## apply filter to paper size name
PAPER=`awk '\
  $1 == "'"$PAPERSIZE"'" {\
    name = $1; sub("#.*", ""); sub("^[ \t]*[^ \t]+[ \t]*", "");\
    if ($0 != "") {name = $0;} if (name != "") {print name; exit}};\
  $1 ~ /^=/ {\
    sub("#.*", ""); sub("=", ""); print; exit}' $FILTOPTTBL`

## exec DVI->PS
$DVIPSCMD $PAPER $DVITMP > $PSTMP

## remove DVI
rm.exe -vf $DVITMP

##########
###### print out
######
## for OS/2
gsos2 -dNOPLATFONTS  -r360x360 -sDEVICE=$PRINTER -dNOPAUSE -sPAPERSIZE=a4  $PSTMP -c quit
## for BSD
#lpr -P$PRINTER $PSTMP
####
## for SYSV
# lp -c -d $PRINTER $PSTMP
##########

## remove PS
rm -vf $PSTMP
## exit
exit 0
