dvips: Making a font available

 
 6.2 Making a PostScript font available
 ======================================
 
 To make a PostScript font available in a TeX document, you need to
 install the font on your system and then define it within the document.
 Once you have installed the font, of course, it is available for any
 document thereafter and you don't need to reinstall it.  You must have
 an AFM file for any font you install.  Unless the font is built into
 your printer, you must also have a PFA or PFB file.
 
    In the following examples, we use the font 'Times-Roman' to
 illustrate the process.  But you should use the prebuilt fonts for Times
 and the other standard fonts, rather than rebuilding them.  The prebuilt
 fonts are made using a more complicated process than that described
 here, to make them work as well as possible with TeX.  So following the
 steps in this manual will not generate files identical to the
 distributed ones.  ⇒PostScript font installation, for pointers to
 the prebuilt fonts.
 
    Installation of a PostScript font proceeds in three steps.  ⇒
 Font concepts, for descriptions of the various files involved.
 
   1. Run 'afm2tfm' to create a TFM file for the original font, and the
      VPL form of the virtual font:
           afm2tfm Times-Roman -v ptmr rptmr
 
   2. Run 'vptovf' to generate a VF and TFM file for the virtual font
      from the VPL file:
           vptovf ptmr.vpl ptmr.vf ptmr.tfm
 
   3. Insert an entry for the font in 'psfonts.map' (⇒
      psfonts.map):
           rptmr      Times-Roman                 <ptmr8a.pfa
 
   4. Install the files in the standard locations, as in:
           cp ptmr.vf FONTDIR/vf/...
           cp *ptmr.tfm FONTDIR/tfm/...
           cp ptmr.afm FONTDIR/afm/...
           cp ptmr.pf? FONTDIR/type1/...
 
    The simplest invocation of Afm2tfm to make virtual fonts goes
 something like this:
 
      afm2tfm Times-Roman -v ptmr rptmr
 
 This reads the file 'Times-Roman.afm', and produces two files as output,
 namely the virtual property list'file 'ptmr.vpl', and the "raw" font
 metric file 'rptmr.tfm'.  To use the font in TeX, you first run
 
      vptovf ptmr.vpl ptmr.vf ptmr.tfm
 
 You should then install the virtual font file 'ptmr.vf' where Dvips will
 see it and install 'ptmr.tfm' and 'rptmr.tfm' where TeX and Dvips will
 see them.
 
    Using these raw fonts is not recommended; there are no raw fonts in
 the prebuilt PostScript fonts distributed along with Dvips.  But
 nevertheless, that's how Afm2tfm presently operates, so that's what we
 document here.  The 'r' prefix convention is likewise historical
 accident.
 
    You can also make more complex virtual fonts by editing 'ptmr.vpl'
 before running 'vptovf'; such editing might add the uppercase Greek
 characters in the standard TeX positions, for instance.  (This has
 already been done for the prebuilt fonts.)
 
    Once the files have been installed, you're all set.  You can now do
 things like this in TeX:
      \font\myfont = ptmr at 12pt
      \myfont Hello, I am being typeset in 12-point Times-Roman.
 
    Thus, we have two fonts, one actual ('rptmr', which is analogous to
 the font in the printer) and one virtual ('ptmr', which has been
 remapped to the standard TeX encoding (almost)), and has typesetting
 know-how added.  You could also say
 
      \font\raw = rptmr at 10pt
 
 and typeset directly with that, but then you would have no ligatures or
 kerning, and you would have to use Adobe character positions for special
 letters like the ligature 'AE'. The virtual font 'ptmr' not only has
 ligatures and kerning, and most of the standard accent conventions of
 TeX, it also has a few additional features not present in the Computer
 Modern fonts.  For example, it includes all the Adobe characters (such
 as the Polish ogonek and the French guillemots).  The only things you
 lose from ordinary TeX text fonts are the dotless 'j' (which can be
 hacked into the VPL file with literal PostScript specials if you have
 the patience) and uppercase Greek letters (which just don't exist unless
 you buy them separately).  ⇒Reencoding with Afm2tfm.
 
    As a final step you need to record information about both the virtual
 font and the original font (if you ever might want to use it) in the
 'psfonts.map' file (⇒psfonts.map).  For our example, you'd insert
 the following into 'psfonts.map':
      rptmr      Times-Roman                 <ptmr8a.pfa
 
 Of course, 'Times-Roman' is already built in to most every printer, so
 there's no need to download any Type 1 file for it.  But if you are
 actually following these instructions for new fonts, most likely they
 are not built in to the printer.
 
    These PostScript fonts can be scaled to any size.  Go wild!  Using
 PostScript fonts, however, does use up a great deal of the printer's
 memory and it does take time.  You may find downloading bitmap fonts
 (possibly compressed, with the 'Z' option) to be faster than using the
 built-in PostScript fonts.