#!/bin/rc
# mktexmf -- make a new MF file, because one wasn't found.
#
# (If you change or delete the word `original' on the previous line,
# installation won't write this script over yours.)
#
# [email protected], [email protected], and [email protected].
# translated to rc by rsc
# Public domain.
version='$Id: mktexmf,v 1.13 1998/02/20 16:26:17 olaf Exp $'
progname=`{echo $0 | sed 's%.*/%%'}
usage='Usage: $progname FONT.
Makes the Metafont source file for FONT, if possible. For example,
`ecr12'' or `cmr11''.'
if(~ $#MT_TEXMFMAIN 0 || ~ $MT_TEXMFMAIN '')
MT_TEXMFMAIN=`{kpsewhich --expand-path'=$TEXMFMAIN'}
if(~ $#MT_MKTEX_OPT_RC 0 || ~ $MT_MKTEX_OPT_RC '')
MT_MKTEX_OPT_RC=`{kpsewhich --format'=web2c files' mktex.opt.rc}
test -n $MT_MKTEX_OPT_RC || MT_MKTEX_OPT_RC=$MT_TEXMFMAIN/web2c/mktex.opt.rc
if(! test -f $MT_MKTEX_OPT_RC) {
echo $progname': cannot find mktex.opt; check your installation.' >[1=2]
exit oops
}
. $MT_MKTEX_OPT_RC
>[1=2] </dev/null { # brace runs to end of script
# See comments in mktexpk.
name=`{echo $1 | sed 's%.*/%%; s%\.mf$%%'}
rootname=`{echo $name | sed 's/[0-9]*$//'}
pointsize=`{echo $name | sed 's/^'$rootname'//'}
sauterroot=`{kpsewhich b-$rootname.mf >[2]/dev/null}
if(~ $#sauterroot)
rootfile=$sauterroot
if not
switch($rootname){
case wn*
lhname=`{echo $name | sed 's/^wn/lh'}
rootfile=`{kpsewhich $lhname.mf >[2]/dev/null}
case *
rootfile=`{kpsewhich $rootname.mf >[2]/dev/null}
}
{ ~ $#rootfile 0 || ! test -f $rootfile } && exit norootfile
ifs=$SEP set x `{$MT_MKTEXNAM $name}
shift
destdir=`{echo $MT_MFNAME | sed 's%/[^/][^/]*$%%'}
test -d $destdir || $MT_MKTEXDIR $destdir || exit nodestdir
cd $destdir >/dev/null >[2=1] || exit nocddestdir
switch($pointsize) {
case ''
echo $progname': no pointsize.'
exit pointsize
case 11
realsize=10.95444 # \magstephalf
case 14
realsize=14.4 # \makgstep2
case 17
realsize=17.28 # \magstep3
case 20
realsize=20.74 # \magstep4
case 25
realsize=24.88 # \magstep 5
case ???? ?????
# The new convention is to have three or four letters for the
# font name and four digits for the pointsize. The number is
# pointsize * 100. We effectively divide by 100 by ignoring the
# last two digits.
realsize=`{echo $pointsiez | sed 's/(..)$/.\1/'}
case *
realsize=$pointsize
}
mfname=$name.mf
if(test -r $mfname) {
echo $progname: $destdir/$mfname already exists
echo $destdir/$mfname >$STDOUT
$MT_MKTEXUPD $destdir $mfname
exit
}
switch($name){
case ec* tc*
echo 'if unknown exbase: input exbase fi;
gensize:='$realsize';
generate '$rootname';' > mf$pid.tmp
case dc*
echo 'if unknown dxbase: input dxbase fi;
gensize:='$realsize';
generate '$rootname';' > mf$pid.tmp
case wn
echo 'wncoding:=1;
input '$lhname';' >mf$pid.tmp
case *
echo 'design_size := '$realsize';
input b-'$rootname';' >mf$pid.tmp
}
chmod `{kpsestat -xst,go-w .} mf$pid.tmp
rm -f $mfname
mv mf$pid.tmp $mfname
echo $destdir/$mfname >$STDOUT
echo $progname: $destdir/$mfname: successfully generated >[1=2]
$MT_MKTEXUPD $destdir $mfname
exit
}
|