Creating Ablbeebl Fonts for LaTeX

The procedure followed for creating the Ablbeebl font for use in LaTeX (Ubunto distribution of Linux, TeX Live) is given below.

  1. Create .pfb and .afm files for each character set of Ablbeebl using FontForge. Place these in a working folder fab_fonts on the Desktop.
     
  2. Create a file fab-drv.tex to install the fonts when run through TeX. The fonts are re-encoded from Adobe Standard (Font name code 8a) to Tex Base 1 encoding (8r). The character encodings are transformed for the creation of virtual slanted fonts. The fonts are generated by fontinst, including small capital versions for the normal and bold roman character set. The transformations that are made by running fab-drv.tex are recorded to a file, psb-rec.tex, for later use. All of these actions are implemented in the Bash terminal by the command: tex fab-drv.tex . The content of the fab-drv.tex file is given in full below.
  3. input fontinst.sty
    needsfontinstversion{1.926} substitutesilent{bx}{b} substitutesilent{m}{l} substitutesilent{bx}{db} setint{smallcapsscale}{800} setint{slant}{167} recordtransforms{fab-rec.tex}
    transformfont{fabr8r}{reencodefont{8r}{fromafm{fabr8a}}}
    transformfont{fabrm8r}{reencodefont{8r}{fromafm{fabrm8a}}}
    transformfont{fabbr8r}{reencodefont{8r}{fromafm{fabbr8a}}}
    transformfont{fabs8r}{reencodefont{8r}{fromafm{fabs8a}}}
    transformfont{fabbs8r}{reencodefont{8r}{fromafm{fabbs8a}}}
    transformfont{fabro8r}{slantfont{int{slant}}reencodefont{8r}{fromafm{fabr8a}}}
    transformfont{fabbro8r}{slantfont{int{slant}}reencodefont{8r}{fromafm{fabbr8a}}}
    transformfont{fabso8r}{slantfont{int{slant}}reencodefont{8r}{fromafm{fabs8a}}}
    transformfont{fabbso8r}{slantfont{int{slant}}reencodefont{8r}{fromafm{fabbs8a}}}
    installfonts
    installfamily{T1}{fabr}{}
    installfont{fabr8t}{fabr8r,newlatin}{t1}{T1}{fabr}{m}{n}{}
    installfont{fabrc8t}{fabr8r,newlatin}{t1c}{T1}{fabr}{m}{sc}{}
    installfont{fabro8t}{fabro8r,newlatin}{t1}{T1}{fabr}{m}{sl}{}
    installfont{fabbr8t}{fabbr8r,newlatin}{t1}{T1}{fabr}{b}{n}{}
    installfont{fabbc8t}{fabbr8r,newlatin}{t1c}{T1}{fabr}{b}{sc}{}
    installfont{fabbro8t}{fabbro8r,newlatin}{t1}{T1}{fabr}{b}{sl}{}
    endinstallfonts
    installfonts
    installfamily{T1}{fabmm}{}
    installfont{fabrm8t}{fabrm8r,newlatin}{t1}{T1}{fabmm}{m}{n}{}
    endinstallfonts
    installfonts
    installfamily{T1}{fabss}{}
    installfont{fabs8t}{fabs8r,newlatin}{t1}{T1}{fabss}{m}{n}{}
    installfont{fabso8t}{fabso8r,newlatin}{t1}{T1}{fabss}{m}{sl}{}
    installfont{fabbs8t}{fabbs8r,newlatin}{t1}{T1}{fabss}{b}{n}{}
    installfont{fabbso8t}{fabbso8r,newlatin}{t1}{T1}{fabss}{b}{sl}{}
    endinstallfonts
    endrecordtransforms
    bye
  4. Run the property list files (pl) created by fontinst through pltotf to generate Tex font metric files (tfm), according to the Lehman document. Likewise run the virtual property list files (vpl) files through vptovf to create virtual fonts (vf). This is easily done using the Bash shell using the commands provided:
  5. for file in *.pl; do pltotf $file; done
    for file in *.vpl; do vptovf $file; done
  6. Prepare a local directory tree for TeX Live. This local tree is intended to contain all files that is not part of standard TeX Live distribution but should be available system-wide. This tree starts within /usr/local/share . Within Bash it is necessary to switch to root user in order to be able to create these directories or copy files into them. the first directory to be created is texmf.
  7. /usr/local/share/texmf/dvips/config/
    /usr/local/share/texmf/tex/latex/public/ablbeebl/
    /usr/local/share/texmf/dvips/fonts/afm/public/ablbeebl/
    /usr/local/share/texmf/dvips/fonts/tfm/public/ablbeebl/
    /usr/local/share/texmf/dvips/fonts/type1/public/ablbeebl/
    /usr/local/share/texmf/dvips/fonts/vf/public/ablbeebl/
    The various files are copied into their directories using the following Bash shell commands:
    cp *.afm /usr/local/share/texmf/fonts/afm/public/ablbeebl/
    cp *.tfm /usr/local/share/texmf/fonts/tfm/public/ablbeebl/
    cp *.pfb /usr/local/share/texmf/fonts/type1/public/ablbeebl/
    cp *.vf /usr/local/share/texmf/fonts/vf/public/ablbeebl/
    cp *.fd /usr/local/share/texmf/tex/latex/public/ablbeebl/
  8. Create a file fab-map.tex according to the Lehman document that will prepare a fab.map file by using the recorded data stored in fab-rec.tex. Run fab-map.tex through TeX to produce the map file for dvips.
  9. input finstmsc.sty
    resetstr{PSfontsuffix}{.pfb}
    adddriver{dvips}{fab.map} input fab-rec.tex donedrivers
    bye
  10. Copy fab.map to the branch /usr/local/share/texmf/dvips/config/ in the local TeX tree.
     
  11. Copy the original file xdvi.cfg from /etc/texmf/xdvi/ to the local branch texmf/dvips/config/ and make the additions detailed in the Lehman document. This is the configuration file for the Type 1 rendering module of xdvi.
     
  12. Update file locations by running the command texhash in the Bash shell. Remember to switch to the root user by using su root before texhash.