Edit file File name : mktexmf Content :#!/bin/sh # original 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.) # # Originally written by Thomas Esser. # Public domain. version='$Id$' # preferentially use subprograms from our own directory. mydir=`echo "$0" | sed 's,/[^/]*$,,'` mydir=`cd "$mydir" && pwd` PATH="$mydir:$PATH"; export PATH usage="Usage: $0 FONT. Makes the Metafont source file for FONT, if possible. For example, \`ecr12' or \`cmr11'. Report bugs to: tex-k@tug.org TeX Live home page: <http://tug.org/texlive/> " # Common code for all scripts. : ${MT_TEXMFMAIN=`kpsewhich --expand-path='$TEXMFMAIN'`} : ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`} test -n "$MT_MKTEX_OPT" || MT_MKTEX_OPT="$MT_TEXMFMAIN/web2c/mktex.opt" if test ! -f "$MT_MKTEX_OPT"; then echo "$progname: Cannot find mktex.opt; check your installation." >&2 exit 1 fi . "$MT_MKTEX_OPT" ( # 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 test -n "$sauterroot"; then rootfile=$sauterroot rootname=b-$rootname else case $name in # csso12[0-5][0-9] from CJK package; unsupported by mktexmf csso12[0-5][0-9]) rootfile=;; *) case $rootname in cs*|lcsss*|icscsc*|icstt*|ilcsss*) rootfile=`kpsewhich cscode.mf`;; wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*) lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'` rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;; *) rootfile=`kpsewhich $rootname.mf 2>/dev/null`;; esac;; esac fi { test -z "$rootfile" || test ! -f "$rootfile"; } && exit 1 #if test -z "$MT_MFNAME"; then OIFS=$IFS; IFS=$SEP set x `"$MT_MKTEXNAM" $name`; shift IFS=$OIFS MT_MFNAME="$3" #fi destdir=`echo "$MT_MFNAME" | sed 's%/[^/][^/]*$%%'` test -d "$destdir" || "$MT_MKTEXDIR" "$destdir" || exit 1 cd "$destdir" || exit 1 case "$pointsize" in "") echo "$progname: no pointsize."; exit 1;; 11) realsize=10.95;; # \magstephalf 14) realsize=14.4;; # \magstep2 17) realsize=17.28;; # \magstep3 20) realsize=20.74;; # \magstep4 25) realsize=24.88;; # \magstep5 30) realsize=29.86;; # \magstep6 36) realsize=35.83;; # \magstep7 # 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 "$pointsize" | sed 's/\(..\)$/.\1/'`;; *) realsize="$pointsize";; esac mfname="$name.mf" if test -r "$mfname"; then echo "$progname: $destdir/$mfname already exists." echo "$destdir/$mfname" >$STDOUT "$MT_MKTEXUPD" "$destdir" "$mfname" exit 0 fi case "$name" in ec*|tc*) cat > "mf$$.tmp" <<END if unknown exbase: input exbase fi; gensize:=$realsize; generate $rootname; END ;; dc*) cat > "mf$$.tmp" <<END if unknown dxbase: input dxbase fi; gensize:=$realsize; generate $rootname; END ;; cs*|lcsss*|icscsc*|icstt*|ilcsss*) cat > "mf$$.tmp" <<END input cscode use_driver; END ;; wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]*|l[abcdhl][bcdfiorstuvx]*) cat > "mf$$.tmp" <<END input fikparm; END ;; g[lmorst][bijmtwx][cilnoru]*) # A small superset of the names of the cbgreek fonts. cat > "mf$$.tmp" <<END % generated by mktexmf input cbgreek; END ;; *) cat > "mf$$.tmp" <<END design_size := $realsize; input $rootname; END ;; esac chmod `kpsestat -xst,go-w .` "mf$$.tmp" rm -f "$mfname" mv "mf$$.tmp" "$mfname" echo "$destdir/$mfname" >$STDOUT echo "$progname: $destdir/$mfname: successfully generated." >&2 "$MT_MKTEXUPD" "$destdir" "$mfname" exit 0 ) 1>&2 </dev/null Save