[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

The IntelliFont scaling engine also supports two types of kerning.
One type of kerning is called text kerning, which is for regular
bodies of text.  The other type of kerning is called design kerning,
which is for more obvious displays, like headlines.  The basic
difference is that design kerning is generally more tightly spaced
than text kerning.

Before asking for a kerning pair, an application has to tell the
engine which character pair to kern.  It does this using one of the
SetInfo() functions to set the primary glyph, OT_GlyphCode, and the
secondary glyph code, OT_GlyphCode2.

To ask the scaling engine for a kerning value, use one of the
ObtainInfo() functions with the OT_TextKernPair (for text kerning) or
OT_DesignKernPair (for design kerning) tags.  The engine expects the
value of the kerning tag to be an address where it can store a four
byte long kerning value.  The kerning value is a fixed point binary
fraction of an em square (like the glm_Width field from the GlyphMap
structure).  This value is the distance to remove from the primary
character advance (the glm_Width of OT_GlyphCode) when rendering the
secondary glyph (OT_GlyphCode2) immediately following the primary
glyph.

Unlike other ObtainInfo() tags, the scaling engine does not allocate
any resources when answering queries about kerning values.
Applications do not have to use ReleaseInfo() functions for kerning
queries made with either OT_TextKernPair or OT_DesignKernPair.