
pf2afm Command in Linux
The pf2afm command in Linux converts a PostScript font file to an Adobe Font Matric (AFM) file. These files contain font metric information, such as character widths, bounding boxes, and kerning data, which are essential for precise text layout in systems like TeX or PostScript. Note that the PostScript font file includes PFB, PFA, or PFM files.
Table of Contents
Here is a comprehensive guide to the options available with the pf2afm command −
- Syntax of pf2afm Command
- Examples of pf2afm Command in Linux
- Impact of Skipping PFM File while Converting a PFB/PFA File to AFM
Syntax of pf2afm Command
The syntax of the Linux pf2afm command is as follows −
pf2afm [fontfilename]
In the above syntax, the [fontfilename] is used to mention the PFB or PFA file that needs to be converted into AFM format.
Examples of pf2afm Command in Linux
This section demonstrates the usage of the pf2afm command in Linux with examples −
Converting the PFB/PFA File to AFM
This pf2afm command uses gs (GhostScript) to generate an AFM file from PFB (Binary) or PFA (ASCII) files and, optionally, PFM files. The output is written to fontfilename.afm, provided the file does not already exist. To convert a PFB file to AFM, use the pf2afm command given below −
pf2afm myfont.pfb
The above command may give an error as shown in the image below −

It is important to note that the PFM file is used alongside the PFB file in the pf2afm command because it can provide additional font metric data not present in the PFB file.
The PFM file contains essential metrics about the font, such as character widths and other typographic details. This information is crucial for accurately rendering text and ensuring that the spacing and alignment are correct when the font is used. It provides data that helps in mapping the glyphs defined in the PFB file to their respective dimensions and positions.
On the other hand, the PFB file holds the actual font data, including the outlines of the characters. This binary representation is what allows the font to be rendered visually.
It essentially defines how each character looks, but without the metrics provided by the PFM file, it cannot be properly utilized for typesetting or printing.
Converting the PFB File to AFM and Saving it with a Different Name
By default, the pf2afm command saves the AFM file with the source file name. To save it with a different name, use the redirection operator (>) −
pf2afm myfont.pfb > output.afm
Impact of Skipping PFM File while Converting a PFB/PFA File to AFM
The PFM file is not strictly mandatory for pf2afm but is highly recommended for getting precise and complete font metrics. If the warning pfm file not found -- ignored appears, it is possible to proceed if the resulting AFM file meets the needs.

However, the PFM (PostScript Font Metric) file is highly recommended when converting PFB/PFA files to AFM to ensure accurate font metrics. While technically the conversion may proceed without it, the lack of a PFM file will result in missing metrics, which can lead to poor results in typesetting applications.
Conclusion
The pf2afm command in Linux converts PostScript font files (PFB or PFA) into Adobe Font Metrics (AFM) files, which contain important information about font metrics necessary for accurate text layout in systems like TeX and PostScript.
While the PFM file is not strictly required for conversion, it provides additional font metric data, such as character widths and kerning information, which enhance the accuracy of the final AFM file. Skipping the PFM file may still allow conversion, but it could lead to incomplete typographic details, potentially causing issues in workflows demanding precise font rendering.