[mpeg-OTspec] Interaction between kern table and GPOS table

Behdad Esfahbod behdad at behdad.org
Wed Jan 13 00:49:02 CET 2010

Hi Sairus,

Thanks for bringing this up.  Doesn't this belong to the OpenType list though?

I'm leaning towards not applying 'kern' if the font has any 'GPOS' table though.

That said, from a technical point of view, it's also worth noting that GPOS is
applied on the logical glyph string while 'kern' is applied on the visual
string (ie. after reversing for RTL runs).


On 01/12/2010 06:31 PM, Sairus Patel wrote:
> Reason:
> Sometimes a font can have both a kern table and a GPOS table, and the
> GPOS may or may not have a kern feature for some scripts and language
> systems. How is an OFF layout engine to decide which source of kern
> data, if any, to apply? This proposal specifies this. Question: It is
> proposed to be in the Recommendations section; is there a better place
> in the specification for something like this?
> Proposal:
> ADD the following paragraphs to the end of the 'kern' Table sub-section
> in the Recommendations section:
> When a kern table and GPOS table are both present in a font, and an OFF
> layout engine is requested to apply kerning to a run of text of a
> particular script and language system: (a) If the number of kern feature
> lookups in the resolved language system in the GPOS table is zero, then
> the kern table must be applied, followed by any remaining GPOS features
> requested. (b) If the number of kern feature lookups in the resolved
> language system in the GPOS table is non-zero, then all GPOS lookups,
> including the kern lookups, must be applied in the usual way and the
> kern table data ignored.
> If a kern table but no GPOS table is present in the font, then an OFF
> layout engine must apply the kern table to the text, regardless of the
> resolved language system of the text.
> If compatibility with legacy environments is not a concern, vendors are
> encouraged to use the GPOS table, and not the kern table, for kerning.
> Sairus

More information about the mpeg-otspec mailing list