#!/bin/bash
#
# installfont-tl [options]
#
# installs a LaTeX font family (Postscript Type1, Truetype, Opentype)
# (font series from light to ultra bold + (faked) small caps + faked
# slanted, but no expert fonts) for using them with LaTeX (TeXLive)
# The script tries to rename the fonts automatically (optional).
# Otherwise the *.afm and *.pfb files must be named in Karl Berry scheme
# (e.g. 5bbr8a.pfb)
# (tested with TeXLive2013/Cygwin) v1.7 (15.07.2013)
# (C) Josef Kleber 2009-2010,2013  License: LPPL
#
VERSION="v1.7 (2013/07/15)"
#
FONTFAMILY="5bb"
FONTNAME="Softmaker Barbedor"
FONTCOMMAND="FFBarbedor"
FONTSCALEPREFIX="Sbb"
FONTTYPE="pst1"
PACKAGENAME="barbedor"
PACKAGEDATE="2010/03/05"
PACKAGEVERSION="v1.0"
MAPFILENAME=""
OFN="false"
WINLOCALTEXMF="`kpsewhich --expand-var='$TEXMFLOCAL' | sed s/\r//`"
USEDOS=`uname | cut -c1-6`
if [ "$USEDOS" = "CYGWIN" ]
then
 WINLOCALTEXMFII="`cygpath -u $WINLOCALTEXMF`"
 LOCALTEXMF="$WINLOCALTEXMFII"
else
 LOCALTEXMF="$WINLOCALTEXMF"
fi
FONTSUBDIR="MyFonts/Barbedor"
# Font encoding default: 8a (AdobeStandardEncoding)
FONTENCODING="8a"
# Font cut default: r (regular) don't change!
FONTCUT="r"
#
OTFFONTFEATURES="-fkern -fliga"
UNINSTALL="false"
INSTALLAS="rmdefault"
SMFFSTY="%"
LOG="false"
#
function printHelp()
{
 echo -e \
         "  `basename $0` [options]\n"\
         " installs a font family for using it with LaTeX\n\n"\
         " Options:\n\n"\
         " -f, --fontfamily  Name of the LaTeX font family, e.g. ptm (Adobe Times)\n\n"\
         " -n, --fontname  Font name, e.g. Adobe Times\n\n"\
         " -c, --fontcommand  Name of the command that will switch to the font\n\n"\
         " -P, --fontscaleprefix  prefix of the scale macro, which should be different\n"\
         "                        for each font (no digits allowed)\n\n"\
         " -t, --fonttype  Font type (pst1(default)|ttf|otf)\n\n"\
         " -p, --packagename  Name of the LaTeX package\n\n"\
         " -d, --packagedate  Date of the LaTeX package\n\n"\
         " -v, --packageversion  Version of the LaTeX package\n\n"\
         " -l, --localtexmf  root of your local TeX tree, e.g. /cygdrive/c/LocalTeXMF\n\n"\
         " -m, --mapfilename file name of the map file\n\n"\
         " -O. --origfontname  use original font names instead of Karl Berry names\n\n"\
         " -s, --fontsubdir  location where the fonts and support files should be\n"\
         "                   installed, e.g. MyFonts/AdobeTimes\n\n"\
         " -e, --fontencoding   encoding of the font\n"\
         "                      (default: 8a (AdobeStandardEncoding))\n\n"\
         " -o, --otffontfeatures  choosing Opentype font features\n"\
         "                        (default: -fkern -fliga)\n\n"\
         " -u, --uninstall  will uninstall the font family. You must specify\n"\
         "                  --localtexmf and --fontsubdir\n\n"\
         " -R, --rmdefault  installs font family as roman (serif) font family (default)\n\n"\
         " -S, --sfdefault  installs font family as sans serif font family\n\n"\
         " -T, --ttdefault  installs font family as typewriter font family\n\n"\
         " -V, --version  will print the version number of `basename $0`\n\n"\
         " -L, --log  will write the terminal output of the main programms into the\n"\
         "            LOG file instead of the screen\n\n"\
         " -h, --help  will print this help statement\n\n"\
         " See http://latex.josef-kleber.de/index.htm or\n"\
         "     http://latex.josef-kleber.de/en_index.htm\n"\
         " for more information"
 exit 0;
}
function printVersion()
{
 echo "This is version $VERSION of `basename $0`"
 exit 0;
}
#
if [ $# -eq 0 ]
then
 echo -e "`basename $0`: Could not find command line arguments.\nUse the '--help' option for explanation."
 echo -e "Continue with default script variables? (y/n)"
 read ANSWER
 if [ $ANSWER = "n" -o $ANSWER = "N" ]
 then
   exit 1
 fi
fi
#
LONGOPTS="fontfamily:,fontname:,fontcommand:,fontscaleprefix:,fonttype:,packagename:,packagedate:,packageversion:,mapfilename:,origfilename,localtexmf:,fontsubdir:,fontencoding:,otffontfeatures:,uninstall,rmdefault,sfdefault,ttdefault,log,version,help"
SHORTOPTS="f:n:c:P:t:p:d:v:m:Ol:s:e:o:uRSTVLh"
ARGS=$(getopt -l "$LONGOPTS" "$SHORTOPTS" "$@")
if [ $? -ne 0 ]
then
 echo -e "`basename $0`: Could not process command line arguments.\nUse the '--help' option for explanation."
 exit 1
fi
#
eval set -- "$ARGS"
#
while [ $# -gt 0 ]; do
 ARG=$1
 case "$ARG" in
     --help|-h)            shift; printHelp;;
     --version|-V)         shift; printVersion;;
     --rmdefault|-R)       shift; INSTALLAS="rmdefault";;
     --sfdefault|-S)       shift; INSTALLAS="sfdefault";;
     --ttdefault|-T)       shift; INSTALLAS="ttdefault";;
     --uninstall|-u)       shift; UNINSTALL="true";;
     --log|-L)             shift; LOG="true";;
     --fontfamily|-f)      shift; FONTFAMILY="$1"; shift;;
     --fontname|-n)        shift; FONTNAME="$1"; shift;;
     --fontcommand|-c)     shift; FONTCOMMAND="$1"; shift;;
     --fontscaleprefix|-P) shift; FONTSCALEPREFIX="$1"; shift;;
     --fonttype|-t)        shift; FONTTYPE="$1"; shift;;
     --packagename|-p)     shift; PACKAGENAME="$1"; shift;;
     --packagedate|-d)     shift; PACKAGEDATE="$1"; shift;;
     --packageversion|-v)  shift; PACKAGEVERSION="$1"; shift;;
     --mapfilename|-m)     shift; MAPFILENAME="$1"; shift;;
     --origfontname|-O)    shift; OFN="true";;
     --localtexmf|-l)      shift; LOCALTEXMF="$1"; shift;;
     --fontsubdir|-s)      shift; FONTSUBDIR="$1"; shift;;
     --fontencoding|-e)    shift; FONTENCODING="$1"; shift;;
     --otffontfeatures|-o) shift; FONTFAMILY="$1"; shift;;
     --)                   shift; break;;
     *)                    break;;
 esac
done
#
rm LOG 2>>/dev/null;
#
if [ -z $MAPFILENAME ]
then
 MAPFILENAME=$FONTFAMILY
fi
#
typeset -i STEP=0
#
if [ $UNINSTALL = "true" ]
then
 DIR="${LOCALTEXMF}/fonts/tfm/${FONTSUBDIR}/"
 echo -e "$\n\n$DIR"
 DIR="${LOCALTEXMF}/fonts/vf/${FONTSUBDIR}/"
 echo $DIR
 DIR="${LOCALTEXMF}/fonts/type1/${FONTSUBDIR}/"
 echo $DIR
 DIR="${LOCALTEXMF}/fonts/map/dvips/${FONTSUBDIR}/"
 echo $DIR
 DIR="${LOCALTEXMF}/tex/latex/${FONTSUBDIR}/"
 echo $DIR
 echo -e "\n\nDo you want to delete these directories? (y/n)"
 read ANSWER
 if [ $ANSWER = "y" -o $ANSWER = "Y" ]
 then
   DIR="${LOCALTEXMF}/fonts/tfm/${FONTSUBDIR}/"
   rm -f -r $DIR
   DIR="${LOCALTEXMF}/fonts/vf/${FONTSUBDIR}/"
   rm -f -r $DIR
   DIR="${LOCALTEXMF}/fonts/type1/${FONTSUBDIR}/"
   rm -f -r $DIR
   DIR="${LOCALTEXMF}/fonts/map/dvips/${FONTSUBDIR}/"
   rm -f -r $DIR
   DIR="${LOCALTEXMF}/tex/latex/${FONTSUBDIR}/"
   rm -f -r $DIR
   exit 0
 else
   exit 1
 fi
fi
#
if [ $FONTTYPE = "ttf" ]
then
 ((STEP++))
 echo -e "\n\n$STEP) Convert font(s) to Postscript Type1\n\n"
 for file in *.TTF;
 do
   mv "$file" "${file%TTF}ttf" 2>>/dev/null;
 done
 for file in *.ttf;
 do
   ttf2pt1 -a -b -l adobestd "$file";
 done
fi
#
if [ $FONTTYPE = "otf" ]
then
 ((STEP++))
 echo -e "\n\n$STEP) Convert font(s) to Postscript Type1\n\n"
 for file in *.OTF;
 do
   mv "$file" "${file%OTF}otf" 2>>/dev/null;
 done
 for file in *.otf;
 do
   otftotfm $OTFFONTFEATURES -e - "$file" 555;
 done
 for file in *.pfb;
 do
   pf2afm "$file";
 done
 rm *.tfm
 rm *.enc
fi
#
echo -e "\n\nTry to rename the font(s) automatically? (y/n)"
read ANSWER
if [ $ANSWER = "y" -o $ANSWER = "Y" ]
then
 ((STEP++))
 echo -e "\n\n$STEP) Renaming fonts\n\n"
 mkdir -p Backup
 cp *.afm *.AFM ./Backup 2>>/dev/null
 cp *.pfb *.PFB ./Backup 2>>/dev/null
 for file in *.AFM;
 do
   mv "$file" "${file%AFM}afm" 2>>/dev/null;
 done
 for file in *.PFB;
 do
   mv "$file" "${file%PFB}pfb" 2>>/dev/null;
 done
 FONTNUMBER=$(ls -al *.pfb 2>>/dev/null | wc -l)
 if [ $FONTNUMBER -le 1 ]
 then
   if [ $FONTNUMBER -eq 0 ]
   then
     echo "No font(s) to rename!"
     exit 1
   else
     for file in *.afm;
     do
       mv "$file" ${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     done
     for file in *.pfb;
     do
       mv "$file" ${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
       echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.pfb}/" >>map.sed;
     done
   fi
 else
   mkdir -p Rename
   # rename small caps font(s)
   FILES=$(grep -e "Smc" -e "Caps" -e "SCOsF" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     FONTCUT="rc"
     FWEIGHT=$(grep -e "Light" "$file" | wc -l)
     if [ $FWEIGHT -gt 0 ]
     then
       FONTCUT="lc"
     else
       FWEIGHT=$(grep -e "Semibold" -e "SemiBold" "$file" | wc -l)
       if [ $FWEIGHT -gt 0 ]
       then
         FONTCUT="sc"
       else
         FWEIGHT=$(grep -e "Demi" -e "Demibold" -e "DemiBold" "$file" | wc -l)
         if [ $FWEIGHT -gt 0 ]
         then
           FONTCUT="dc"
         else
           FWEIGHT=$(grep -e "Extrabold" -e "ExtraBold" "$file" | wc -l)
           if [ $FWEIGHT -gt 0 ]
           then
             FONTCUT="xc"
           else
             FWEIGHT=$(grep -e "Heavy" -e "Ultrabold" -e "UltraBold" "$file" | wc -l)
             if [ $FWEIGHT -gt 0 ]
             then
               FONTCUT="uc"
             else
               FWEIGHT=$(grep -e "Bold" -e "bold" "$file" | wc -l)
               if [ $FWEIGHT -gt 0 ]
               then
                 FONTCUT="bc"
               fi
             fi
           fi
         fi
       fi
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
   done
   # rename the extra light font(s)
   FILES=$(grep -e "XLight" -e "Xlight" -e "extra light" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="ji"
     else
       FONTCUT="j"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
     SMFFSTY="\RequirePackage{softmakerfreefont}%"
   done
   # rename the light font(s)
   FILES=$(grep -e "Light" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="li"
     else
       FONTCUT="l"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
     SMFFSTY="\RequirePackage{softmakerfreefont}%"
   done
   # rename the semi(bold) font
   FILES=$(grep -e "Semibold" -e "SemiBold" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="si"
     else
       FONTCUT="s"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
     SMFFSTY="\RequirePackage{softmakerfreefont}%"
   done
   # rename the demi(bold) font
   FILES=$(grep -e "FontName" -e "FullName" *.afm | grep -e "Demi" -e "Demibold" -e "DemiBold" | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="di"
     else
       FONTCUT="d"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
     SMFFSTY="\RequirePackage{softmakerfreefont}%"
   done
   # rename the extra bold font
   FILES=$(grep -e "Extrabold" -e "ExtraBold" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="xi"
     else
       FONTCUT="x"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
   done
   # rename the ultra bold/heavy font
   FILES=$(grep -e "Heavy" -e "Ultrabold" -e "UltraBold" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="ui"
     else
       FONTCUT="u"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
     SMFFSTY="\RequirePackage{softmakerfreefont}%"
   done
   # rename the bold font
   FILES=$(grep -e "Bold" -e "bold" *.afm | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="bi"
     else
       FONTCUT="b"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
   done
   # rename the regular font
   FILES=$(grep -e "Regular" -e "Medium" -e "Book" --exclude=installfont * | grep -e ".afm" | cut -d':' -f1 | uniq)
   for file in $FILES
   do
     ITALICANGLE=$(grep -e "ItalicAngle" "$file" | tr ' ' '+' | cut -d'+' -f2 | cut -d'.' -f1)
     if [ $ITALICANGLE -lt 0 -o $ITALICANGLE -gt 0 ]
     then
       FONTCUT="ri"
     else
       FONTCUT="r"
     fi
     mv "$file" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.afm;
     mv "${file%afm}pfb" ./Rename/${FONTFAMILY}${FONTCUT}${FONTENCODING}.pfb;
     echo -e "s/<${FONTFAMILY}${FONTCUT}${FONTENCODING}/<${file%.afm}/" >>map.sed;
   done
   mv ./Rename/* .
   rmdir ./Rename
 fi
 ls -al *.pfb *.afm
 echo -e "\n\nPlease check the font name(s). Continue? (y/n)"
 read ANSWER
 if [ $ANSWER = "n" -o $ANSWER = "N" ]
 then
   rm *.afm
   rm *.pfb
   rm *.sed
   mv ./Backup/* .
   rmdir ./Backup
   exit 1
 fi
fi
#
((STEP++))
echo -e "\n\n$STEP) Creating metrics and virtual fonts\n\n"
cat >${FONTFAMILY}-drv.tex <<EOF
\input fontinst.sty
\needsfontinstversion{1.926}
\recordtransforms{${FONTFAMILY}-rec.tex}
\latinfamily{${FONTFAMILY}}{}
\endrecordtransforms
\bye
EOF
if [ $LOG = "true" ]
then
 tex ${FONTFAMILY}-drv.tex >>LOG 2>&1
else
 tex ${FONTFAMILY}-drv.tex
fi
#
((STEP++))
echo -e "\n\n$STEP) Compiling metrics and virtual fonts\n\n"
for file in *.pl;
do
 if [ $LOG = "true" ]
 then
   pltotf $file ${file%pl}tfm >>LOG 2>&1
 else
   pltotf $file ${file%pl}tfm
 fi
done
for file in *.vpl;
do
 if [ $LOG = "true" ]
 then
   vptovf $file ${file%vpl}vf ${file%vpl}tfm >>LOG 2>&1
 else
   vptovf $file ${file%vpl}vf ${file%vpl}tfm
 fi
done
#
((STEP++))
echo -e "\n\n$STEP) Creating the map file\n\n"
cat >${FONTFAMILY}-map.tex <<EOF
\input finstmsc.sty
\resetstr{PSfontsuffix}{.pfb}
\adddriver{dvips}{${FONTFAMILY}.map}
\input ${FONTFAMILY}-rec.tex
\donedrivers
\bye
EOF
if [ $LOG = "true" ]
then
 tex ${FONTFAMILY}-map.tex >>LOG 2>&1
else
 tex ${FONTFAMILY}-map.tex
fi
if [ $OFN = "true" ]
then
 sed -f map.sed ${FONTFAMILY}.map >${MAPFILENAME}.map
 unix2dos ${MAPFILENAME}.map 2>>/dev/null;
 rm ${FONTFAMILY}.map
 UMAP="${MAPFILENAME}"
else
 UMAP="${FONTFAMILY}"
fi
#
((STEP++))
echo -e "\n\n$STEP) Creating the style file"
cat >${PACKAGENAME}.sty <<EOF
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{$PACKAGENAME}[$PACKAGEDATE $PACKAGEVERSION $FONTNAME]%
\RequirePackage{textcomp}%
\RequirePackage{xkeyval}%
\define@key{${PACKAGENAME}.sty}{scaled}[1.0]%
{%
 \def\\${FONTSCALEPREFIX}@scale{#1}%
}%
\define@key{${PACKAGENAME}.sty}{leading}[1.0]%
{%
 \linespread{#1}%
}%
\ExecuteOptionsX{scaled}%
\ProcessOptionsX\relax%
\renewcommand*{\\${INSTALLAS}}{$FONTFAMILY}%
\newcommand\\${FONTCOMMAND}{\fontfamily{$FONTFAMILY}\fontseries{m}\fontshape{n}\selectfont}%
\endinput%
EOF
#
((STEP++))
echo -e "\n\n$STEP) Insert scale factor into the fd files"
cat >installfont.sed <<EOF
9 i\\
\\n\\\\expandafter\\\\ifx\\\\csname ${FONTSCALEPREFIX}@scale\\\\endcsname\\\\relax\\n  \\\\let\\\\${FONTSCALEPREFIX}@@scale\\\\@empty\\n\\\\else\\n  \\\\edef\\\\${FONTSCALEPREFIX}@@scale{s*[\\\\csname ${FONTSCALEPREFIX}@scale\\\\endcsname]}\\n\\\\fi\\n
s/<-> /<-> \\\\${FONTSCALEPREFIX}@@scale /
EOF
#
for file in *.fd;
do
 mv $file ${file%fd}fdb;
 sed -f installfont.sed ${file%fd}fdb >$file;
done
#
((STEP++))
echo -e "\n\n$STEP) Installing font(s) and support files"
DIR="${LOCALTEXMF}/fonts/tfm/${FONTSUBDIR}/"
if [ ! -d $DIR ]
then
 mkdir -p $DIR
fi
mv *.tfm $DIR
DIR="${LOCALTEXMF}/fonts/vf/${FONTSUBDIR}/"
if [ ! -d $DIR ]
then
 mkdir -p $DIR
fi
mv *.vf $DIR
DIR="${LOCALTEXMF}/fonts/type1/${FONTSUBDIR}/"
if [ $OFN = "true" ]
then
 cd Backup
 if [ ! -d $DIR ]
 then
   mkdir -p $DIR
 fi
 cp *.pfb $DIR
 cd ..
else
 if [ ! -d $DIR ]
 then
   mkdir -p $DIR
 fi
 cp *.pfb $DIR
fi
DIR="${LOCALTEXMF}/fonts/map/dvips/${FONTSUBDIR}/"
if [ ! -d $DIR ]
then
 mkdir -p $DIR
fi
mv *.map $DIR
DIR="${LOCALTEXMF}/tex/latex/${FONTSUBDIR}/"
if [ ! -d $DIR ]
then
 mkdir -p $DIR
fi
mv *.fd $DIR
DIR="${LOCALTEXMF}/tex/latex/${FONTSUBDIR}/"
if [ ! -d $DIR ]
then
 mkdir -p $DIR
fi
mv *.sty $DIR
#
((STEP++))
echo -e "\n\n$STEP) Update FNDB"
echo -e "\n\n"
texhash
#
((STEP++))
echo -e "\n\n$STEP) Include the map file"
echo -e "\n\n"
updmap --enable Map ${UMAP}.map
rm *.mtx
rm *.pl
rm *.vpl
rm *.log
rm *.tex
rm *.fdb
rm *.sed
if [ -d Backup ]
then
 rm *.afm
 rm *.pfb
 mv ./Backup/* .
 rmdir ./Backup
fi
echo -e "\n\nThe font(s) should be installed now!"
exit 0