#!/bin/sh # # 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. # TEXDIR=/usr/lib/tex LOCALDIR=/LocalLibrary/Fonts/TeXFonts DESTDIR=$LOCALDIR/pk # # 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 if test "$MODE" = "" then if test $BDPI = 300 then MODE=imagen 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 /; /bin/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 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" 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