According to the fontinst package documentation "Font installation software for TeX" by Jeffrey, A. et.al. it is necessary to create: 1st) the tex font metric file (tfm) with the pltotf program from the property list (pl) files, and 2nd) the tex font metric file (tfm) with the vptovf program from the virtual font (vpl) files.

This is also visualized by the authors cover picture:

fontinst cover picture

Why should one do the tfm file generation twice, since the tfm files are overwritten during that process? If the overwriting should not happen, how should I avoid this?

I am in the process of installing a Type 1 font that I got from somewhere. The result is that I get only black squares in the final pdf. Unfortunately I am not able to use XeTeX or LuaTeX since I must use the animate package.

  • Perhaps you should take a look at Philip Lehmann's Font Installation Guide.
    – Bernard
    Jun 16, 2017 at 20:34
  • @Bernard I am following Philip Lehmann's Font Installation Guide Jun 16, 2017 at 21:30
  • The files with extension .pl should be processed using pltotf, and the files with extension .vpl should be processed using vptovf. Look closely, and you’ll see that it is never the case that the same basename occurs with both extensions, so clashes in the names of .tfm files will never occur too.
    – GuM
    Jun 16, 2017 at 23:49
  • That's it indeed! Thank's @Gustavo-Mezzetti. Those vpl files have actually not properly generated in my case since there the afm files were already corrupted. There are so many files around ... hard to keep an overview if you're a font install newbie like me. Jun 17, 2017 at 13:12
  • 1
    @ShreevatsaR: Done. :-)
    – GuM
    Jun 20, 2017 at 23:50

1 Answer 1


Quoting from Philipp Lehman's Font Installation Guide, section 1.3 (p. 16):

In order to convert the TeX metrics into a binary format that TeX can read directly, we run the property list files (pl) created by fontinst through pltotf to generate TeX font metric files (tfm). We also run the virtual property list files (vpl) […] through vptovf to create virtual fonts (vf). When using the Bash shell, this can be accomplished as follows:

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

In other words, we are speaking, here, of two separate tracks: one for .pl files, that must be processed with pltotf (only), in order to convert them to .tfm files, and the other for .vpl files, that must be fed to vptovf (only): the latter will generate from them both the Virtual Font (.vf) file and its accompanying TeX Font Metric (.tfm) file.

See also man pltotf and man vptovf for further information.

Note that the fontinst program will never generate a pair of .pl and .vpl files sharing the same basename: indeed, each font will be either an “actual” font, and in this case a .pl file will be written, or a “virtual” font, for which a .vpl file will be generated. This entails that, although, as we have just seen, TFM files are indeed created along both processing tracks, a name clash for them cannot occur nonetheless.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.