106 lines
2.2 KiB
Bash
Executable File
106 lines
2.2 KiB
Bash
Executable File
#!/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/TeX/lib/tex
|
|
LOCALDIR=/usr/TeX/lib/tex
|
|
DESTDIR=$LOCALDIR/fonts
|
|
#
|
|
# 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=localfont
|
|
|
|
|
|
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/$PKNAME
|
|
then
|
|
echo $TEXDIR/fonts/$PKNAME already exists!
|
|
exit 0
|
|
fi
|
|
else
|
|
if test -r $TEXDIR/fonts/$6"$PKNAME"
|
|
then
|
|
echo $TEXDIR/fonts/$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
|