#!/bin/sh
#
# MakeTeXPK - modified 06:25 GMT Thu 26 Nov 1992 by  Geoffrey Tobin
#               (ecsgrt@luxor.latrobe.edu.au).
#           - including an idea by  Gert W. Bultman  (bultman@dgw.rws.nl)
#               to help find metafonts in the current directory.
#
#   This script file makes a new TeX PK font, because one wasn't
#   found.  Parameters are:
#
#   name dpi bdpi magnification [[mode] subdir]
#
#   `name' is the name of the font, such as `cmr10'.  `dpi' is
#   the resolution the font is needed at.  `bdpi' is the base
#   resolution, useful for figuring out the mode to make the font
#   in.  `magnification' is a string to pass to MF as the
#   magnification.  `mode', if supplied, is the mode to use.
#
#   Note that this file must execute Metafont, and then gftopk,
#   and place the result in the correct location for the PostScript
#   driver to find it subsequently.  If this doesn't work, it will
#   be evident because MF will be invoked over and over again.
#
#   Of course, it needs to be set up for your site.
#
# gt - added "MFDIR", to override default "mf", if necessary.
MFDIR=/usr/local/bin
#MFDIR=/usr1/TeX/TeX3.14/mf
#TEXDIR=/usr/lib/tex
TEXDIR=/usr/local/lib/tex
#LOCALDIR=/LocalLibrary/Fonts/TeXFonts
#DESTDIR=$LOCALDIR/pk
DESTDIR=$TEXDIR/fonts/qume
#
# TEMPDIR needs to be unique for each process because of the possibility
# of simultaneous processes running this script.
#
if test "$TMPDIR" = ""
then
   TEMPDIR=/tmp/mtpk.$$
else
   TEMPDIR=$TMPDIR/mtpk.$$
fi
NAME=$1
DPI=$2
BDPI=$3
MAG=$4
MODE=$5

umask 0

# Greeting added by Geoffrey Tobin, Wed 21 Oct 1992.
echo "MakeTeXPK - a script for calling metafont from Rokicki's dvips"

if test "$NAME" = ""
then
   echo "  MakeTeXPK:  No font name!  "
fi

if test "$DPI" = ""
then
   echo "  MakeTeXPK:  No dpi argument.  "
fi

if test "$BDPI" = ""
then
   echo "  MakeTeXPK:  No base-dpi argument.  "
fi

if test "$MAG" = ""
then
   echo "  MakeTeXPK:  No mag argument.  "
fi

# Never mind, this is normal.
#
# if test "$MODE" = ""
# then
#    echo "  MakeTeXPK:  No mode argument.  "
# fi

if test "$MODE" = ""
then
#   if test $BDPI = 300
   if test "$BDPI" = ""
   then #     skip it
      MODE=""
   elif test $BDPI = 300
   then
#      MODE=imagen
      MODE=CanonCX
   elif test $BDPI = 200
   then
      MODE=FAX
   elif test $BDPI = 360
   then
      MODE=nextII
   elif test $BDPI = 400
   then
      MODE=nexthi
   elif test $BDPI = 100
   then
      MODE=nextscreen
   elif test $BDPI = 635
   then
      MODE=linolo
   elif test $BDPI = 1270
   then
      MODE=linohi
   elif test $BDPI = 2540
   then
      MODE=linosuper
   else
      echo "I don't know the mode for $BDPI"
      echo "Have your system admin update MakeTeXPK"
      exit 1
   fi
fi

#  Something like the following is useful at some sites.
# DESTDIR=/usr/local/lib/tex/fonts/pk.$MODE
GFNAME=$NAME.$DPI'gf'
PKNAME=$NAME.$DPI'pk'

# Clean up on normal or abnormal exit
trap "cd /; rm -rf $TEMPDIR $DESTDIR/pktmp.$$" 0 1 2 15


if test ! -d $DESTDIR
then
   mkdir $DESTDIR
fi

if test "$6" != ""
then
   DESTDIR=$DESTDIR"$6"
   if test ! -d $DESTDIR
   then
      mkdir $DESTDIR
   fi
fi

mkdir $TEMPDIR
# Gert W. Bultman    bultman@dgw.rws.nl
# next line added by gwb, to allow searching in current dir before cd'ing
# The ":" added by Geoffrey Tobin, Wed 21 Oct 1992.
MFINPUTS=${MFINPUTS}:`pwd`; export MFINPUTS
echo "MFINPUTS is  $MFINPUTS"
echo "TEMPDIR  is  $TEMPDIR"
cd $TEMPDIR

if test -r $DESTDIR/$PKNAME
then
   echo "$DESTDIR/$PKNAME already exists!"
   exit 0
fi

# check also in the standard place
# 
# if test "$6" = ""
# then
#    if test -r $TEXDIR/fonts/pk/$PKNAME
#    then
#       echo $TEXDIR/fonts/pk/$PKNAME already exists!
#       exit 0
#    fi
# else
#    if test -r $TEXDIR/fonts/pk/$6"$PKNAME"
#    then
#       echo $TEXDIR/fonts/pk/$6"$PKNAME" already exists!
#       exit 0
#    fi
# fi

echo mf "\mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" \\\</dev/null
$MFDIR/mf "\mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" </dev/null
if test ! -r $GFNAME
then
   echo "Metafont failed for some reason on $GFNAME"
   exit 1
fi

gftopk -v ./$GFNAME ./$PKNAME

# Install the PK file carefully, since others may be doing the same
# as us simultaneously.

mv $PKNAME $DESTDIR/pktmp.$$
cd $DESTDIR
mv pktmp.$$ $PKNAME

exit 0
