#! /bin/bash #----------------------------------------------------------------------------- if [ $# = 0 ]; then source_dir=. elif [ -d "$1" ]; then source_dir="$1" else echo "Usage:" 1>&2 echo " $(basename "$0") " 1>&2 echo "Where names the directory containing the" 1>&2 echo "Foundry Form Sans Book font in Postscript Type 1 format." 1>&2 exit -1 fi #----------------------------------------------------------------------------- # Rename font files: for afm in "${source_dir}"/*.afm; do name="$(basename "${afm}" .afm)" if egrep '^(Full|Font|Family)Name FoundryFormSans-Book\W*$' "${afm}" 1>/dev/null; then if [ "${name}" != "ffsk8a" ]; then mv "${source_dir}/${name}.afm" "ffsk8a.afm" mv "${source_dir}/${name}.pfb" "ffsk8a.pfb" fi fi done #----------------------------------------------------------------------------- # Create and run fontinst driver: cat > ffs-drv.tex << DRIVER-END \input fontinst.sty \needsfontinstversion{1.926} \recordtransforms{ffs-rec.tex} \latinfamily{ffs}{} \endrecordtransforms \bye DRIVER-END tex ffs-drv.tex #----------------------------------------------------------------------------- # Compile metrics and virtual fonts: for file in *.pl; do pltotf "${file}" done for file in *.vpl; do vptovf "${file}" done #----------------------------------------------------------------------------- # Install fonts and support files: base="$(kpsexpand '$TEXMFLOCAL')" sudo mkdir -p "${base}/fonts/afm/public/formsans" sudo cp -p *.afm "${base}/fonts/afm/public/formsans" sudo mkdir -p "${base}/fonts/tfm/public/formsans" sudo cp -p *.tfm "${base}/fonts/tfm/public/formsans" sudo mkdir -p "${base}/fonts/type1/public/formsans" sudo cp -p *.pfb "${base}/fonts/type1/public/formsans" sudo mkdir -p "${base}/fonts/vf/public/formsans" sudo cp -p *.vf "${base}/fonts/vf/public/formsans" sudo mkdir -p "${base}/tex/latex/public/formsans" sudo cp -p *.fd "${base}/tex/latex/public/formsans" #----------------------------------------------------------------------------- # Create and install map files: cat > ffs-map.tex << DRIVER-END \input finstmsc.sty \resetstr{PSfontsuffix}{.pfb} \adddriver{dvips}{ffs.map} \input ffs-rec.tex \donedrivers \bye DRIVER-END tex ffs-map.tex sudo mkdir -p "${base}/fonts/maps/dvips/formsans" sudo cp -p *.map "${base}/fonts/maps/dvips/formsans" sudo texhash sudo updmap-sys --enable Map ffs.map #----------------------------------------------------------------------------- # Create and compile demonstration document: cat > demo.tex << DOC-END \documentclass{article} \usepackage[danish]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \renewcommand*{\rmdefault}{ffs} \begin{document} Prøve med blåbærgrød og formel: \$E = m c\$ {\it Kursiv.} {\bf Fed.} \end{document} DOC-END echo 'Compiles and opens PDF demonstration document ...' pdflatex demo && xpdf demo.pdf echo 'Compiles and opens Postscript demonstration document ...' latex demo && latex demo && dvips demo -o && gv demo.ps #----------------------------------------------------------------------------- # Instructions: echo 'See "demo.tex" for a demonstration document.' echo echo 'If you want to make Foundry Font Sans Book the default font in a LaTeX' echo 'document, you should include these two lines in the preamble:' echo echo ' \usepackage[T1]{fontenc}' echo ' \renewcommand*{\rmdefault}{ffs}' echo #-----------------------------------------------------------------------------