---
name: "pfm2kpx"
section: "1"
platform: "linux"
package: "texlive-font-utils"
version: "2009-10+squeeze1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/pfm2kpx"
---

# pfm2kpx(1)

extract correct kerning information from pfm (Printer Font Metrics) files

## NAME

pfm2kpx - extract correct kerning information from *pfm*  (Printer Font Metrics) files

## SYNOPSIS

pfm2kpx \[options\] *pfm*

## DESCRIPTION

Many PostScript Type1 fonts contain only *pfb* and *pfm* files, but no *afm* (Adobe Font Metrics) files. These can be generated with *pf2afm* (which comes with *GhostScript*), but this might not yield all kerning pairs from the *pfm* file. The reason for this is that *pf2afm* interprets `"dfCharSet = 0x00"` to mean that the Adobe StandardEncoding has been used, whereas many fonts (or font creation tools) instead use the Windows ANSI (aka codepage 1252) encoding. (You know you've hit this problem when **pf2afm** complains "`".notdef ` `character ocurred among kern pairs -- you'd better check the resulting ` `AFM file"`".) In this case, the resulting *afm* is incomplete and contains wrong kerning pairs.

**pfm2kpx** extracts the correct kerning pairs from such *pfm* files and repairs the *afm* (if necessary creating it first by running *pf2afm*). If for some reason it can't update the *afm*, it prints the kerning pairs to `"stdout"` instead.

When *pf2afm* doesn't complain about the kerning pairs, **pfm2kpx**  thinks the resulting *afm* file is fine and quits; this can be changed by specifying the **-f** option (see below).

## OPTIONS

- **-f**

  Force updating of the *afm* file, even if *pf2afm* doesn't complain.

## SEE ALSO

*pf2afm* (part of GhostScript), *afm2afm*, *autoinst*, *cmap2enc*,  *font2afm*, *ot2kpx*.

## AUTHOR

Marc Penninga \<marc@penninga.info\>

## HISTORY

- *2005-02-17*

  First version\

- *2005-02-18*

  Added `"binmode PFM"` to make **pfm2kpx** work on Windows platforms\

- *2005-03-08*

  Input files searched via **kpsewhich** (where available)\

- *2005-03-14*

  Rewrote some of the code to make it more robust, added the **-f** option\

- *2005-03-15*

  Input files searched using **kpsewhich** or **findtexmf**\

- *2005-04-29*

  Improved the documentation\

- *2005-05-24*

  Bugfix.\

- *2005-07-29*

  Some updates to the documentation.
