Creating TeX AblBeebl fonts

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

  1. Create .pfb files for each character set of AblBeebl using FontForge. Place these in a working folder (e.g. AblBeebl_r006) in the Home directory. There are two font faces AblBeebl Serif and AblBeel Sans. For each font face there are four character sets: Regular (the default face), Italic, Bold and Bold Italic. Adobe Standard Encoding is used. Only the upper and lower case letters are contained in each character set. The file names are ABLSR, ABLSRBD, ABLSRBI, ABLSRI, ABLSS, ABLSSBD, ABLSSBI, ABLSSI.
  2. Process the Type1 files using CrossFont under Windows to produce files that can be installed under Windows (pfb and pfm) and the afm files that will be used for generating the TeX fonts.
  3. Take the modified Type1 pfb and the new afm files back into the Linux system and rename the files according to the TeX convention. The new file names are: farr8a, farb8a, farbi8a, farri8a, fasr8a, fasb8a, fasbi8a, fasri8a.
  4. Create a file far-drv.tex to install the AblBeebl Serif fonts when run through TeX. The fonts are re-encoded from Adobe Standard (Font name code 8a) to Tex Base 1 encoding (8r). The fonts are generated by fontinst. The transformations that are made by running far-drv.tex are recorded to a file, far-rec.tex, for later use. All of these actions are implemented in the Bash terminal by the command: tex far-drv.tex . The content of the far-drv.tex file is given in full below.

  5. input fontinst.styneedsfontinstversion{1.926}
    substitutesilent{bx}{b}
    substitutesilent{m}{l}
    substitutesilent{bx}{db}
    setint{smallcapsscale}{800}
    setint{slant}{167}
    recordtransforms{far-rec.tex}

    transformfont{farr8r}{reencodefont{8r}{fromafm{farr8a}}}
    transformfont{farb8r}{reencodefont{8r}{fromafm{farb8a}}}
    transformfont{farbi8r}{reencodefont{8r}{fromafm{farbi8a}}}
    transformfont{farri8r}{reencodefont{8r}{fromafm{farri8a}}}

    installfonts
    installfamily{T1}{far}{}

    installfont{farr8t}{farr8r,newlatin}{t1}{T1}{far}{m}{n}{}
    installfont{farb8t}{farb8r,newlatin}{t1}{T1}{far}{b}{n}{}
    installfont{farbi8t}{farbi8r,newlatin}{t1}{T1}{far}{b}{it}{}
    installfont{farri8t}{farri8r,newlatin}{t1}{T1}{far}{m}{it}{}

    endinstallfonts

    endrecordtransforms
    bye

     
  6. Create a file fas-drv.tex to install the AblBeebl Sans fonts when run through TeX. The fonts are re-encoded from Adobe Standard (Font name code 8a) to Tex Base 1 encoding (8r). The fonts are generated by fontinst. The transformations that are made by running fas-drv.tex are recorded to a file, fas-rec.tex, for later use. All of these actions are implemented in the Bash terminal by the command: tex fas-drv.tex . The content of the fas-drv.tex file is given in full below.

  7. input fontinst.sty
    needsfontinstversion{1.926}
    substitutesilent{bx}{b}
    substitutesilent{m}{l}
    substitutesilent{bx}{db}
    setint{smallcapsscale}{800}
    setint{slant}{167}
    recordtransforms{fas-rec.tex}

    transformfont{fasr8r}{reencodefont{8r}{fromafm{fasr8a}}}
    transformfont{fasb8r}{reencodefont{8r}{fromafm{fasb8a}}}
    transformfont{fasbi8r}{reencodefont{8r}{fromafm{fasbi8a}}}
    transformfont{fasri8r}{reencodefont{8r}{fromafm{fasri8a}}}

    installfonts
    installfamily{T1}{fas}{}

    installfont{fasr8t}{fasr8r,newlatin}{t1}{T1}{fas}{m}{n}{}
    installfont{fasb8t}{fasb8r,newlatin}{t1}{T1}{fas}{b}{n}{}
    installfont{fasbi8t}{fasbi8r,newlatin}{t1}{T1}{fas}{b}{it}{}
    installfont{fasri8t}{fasri8r,newlatin}{t1}{T1}{fas}{m}{it}{}

    endinstallfonts

    endrecordtransforms
    bye

     
  8. 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:

  9. for file in *.pl; do pltotf $file; done
    for file in *.vpl; do vptovf $file; done

     
  10. 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.

  11. /usr/local/share/texmf/dvips/config/
    /usr/local/share/texmf/tex/latex/public/ablbeebl/
    /usr/local/share/texmf/fonts/afm/public/ablbeebl/
    /usr/local/share/texmf/fonts/tfm/public/ablbeebl/
    /usr/local/share/texmf/fonts/type1/public/ablbeebl/
    /usr/local/share/texmf/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/

     
  12. Create a file far-map.tex for AblBeebl Serif according to the Lehman document that will prepare a far.map file by using the recorded data stored in far-rec.tex. Run far-map.tex through TeX to produce the map file for dvips.

  13. input finstmsc.sty
    resetstr{PSfontsuffix}{.pfb}
    adddriver{dvips}{far.map}
    input far-rec.tex
    donedrivers
    bye

     

  14. Similarly create a file fas-map.tex (for AblBeebl Sans) according to the Lehman document that will prepare a far.map file by using the recorded data stored in fas-rec.tex. Run fas-map.tex through TeX to produce the map file for dvips.

  15. input finstmsc.sty
    resetstr{PSfontsuffix}{.pfb}
    adddriver{dvips}{fas.map}
    input fas-rec.tex
    donedrivers
    bye

     
  16. Copy far.map and fas.map files to the branch /usr/local/share/texmf/dvips/config/ in the local TeX tree.
  17. Copy the original file xdvi.cfg from /etc/texmf/xdvi/ to the local branch /usr/local/share/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. These two lines are added at the end:

  18. dvipsmap +far.map
    dvipsmap +fas.map

     
  19. 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.