1. NAME

ot2kpx - extract kerning information from an OpenType font

2. SYNOPSIS

ot2kpx font

3. DESCRIPTION

In many OpenType fonts, most kerning data is stored in the `GPOS' table rather than in the `kern' table. ot2kpx extracts the kerning data from both tables and prints it (in afm format) to \f(CW\*(C`stdout\*(C'\fR.

4. RESTRICTIONS

- 2 ot2kpx prints data from all features named `kern', regardless of script and language. Maybe it would be better to let the user choose a script and language (defaulting to `latn' and `DFLT') and print only the kerning data from features associated with these values.

- 2 ot2kpx uses only the XAdvance data associated with the first glyph in any kerning pair; all other data in the ValueRecords is ignored. I'm not sure whether this is The Right Thing to Do; however, almost always there is no other data, so this approach gives correct results (in fact, the only font I know of that does contain data other than XAdvance is Linotype Palatino; this also contains XAdvDevice data, which is used (according to the OpenType specification) to `define subtle, device-dependent adjustments at specific font sizes or device resolutions'. Since there is no way to express such adjustments in afm format, ignoring them seems to be the only option.)

5. SEE ALSO

afm2afm, autoinst, cmap2enc, font2afm, pfm2kpx.

6. AUTHOR

Marc Penninga <>

7. HISTORY

2005-01-10 12 First version

2005-02-18 12 Rewrote some of the code

2005-03-08 12 Input files searched via kpsewhich (where available)

2005-03-15 12 Input files searched using kpsewhich or findtexmf

2005-03-21 12 Test if GPOS table is present before trying to read it

2005-04-29 12 Improved the documentation

2005-05-25 12 Changed warning that's given when the font contains no GPOS table, to an informational message.

2005-07-29 12 A few updates to the documentation