hhea — Horizontal Header Table (OpenType 1.8)

This table contains information for horizontal layout. The values in the minRightSidebearing, minLeftSideBearing and xMaxExtent should be computed using only glyphs that have contours. Glyphs with no contours should be ignored for the purposes of these calculations. All reserved areas must be set to 0.

Type Name Description
USHORT majorVersion Major version number of the horizontal header table — set to 1.
USHORT minorVersion Minor version number of the horizontal header table — set to 0.
FWORD Ascender Typographic ascent (Distance from baseline of highest ascender).
FWORD Descender Typographic descent (Distance from baseline of lowest descender).
FWORD LineGap Typographic line gap.
Negative LineGap values are treated as zero in Windows 3.1, and in Mac OS System 6 and System 7.
UFWORD advanceWidthMax Maximum advance width value in 'hmtx' table.
FWORD minLeftSideBearing Minimum left sidebearing value in 'hmtx' table.
FWORD minRightSideBearing Minimum right sidebearing value; calculated as Min(aw - lsb - (xMax - xMin)).
FWORD xMaxExtent Max(lsb + (xMax - xMin)).
SHORT caretSlopeRise Used to calculate the slope of the cursor (rise/run); 1 for vertical.
SHORT caretSlopeRun 0 for vertical.
SHORT caretOffset The amount by which a slanted highlight on a glyph needs to be shifted to produce the best appearance. Set to 0 for non-slanted fonts
SHORT (reserved) set to 0
SHORT (reserved) set to 0
SHORT (reserved) set to 0
SHORT (reserved) set to 0
SHORT metricDataFormat 0 for current format.
USHORT numberOfHMetrics Number of hMetric entries in 'hmtx' table

NOTE: The ascender, descender and linegap values in this table are Apple specific. Also see information in the OS/2 table.

'hhea' Table and OpenType Font Variations

In a variable font, various font-metric values within the horizontal header table may need to be adjusted for different variation instances. Variation data for 'hhea' entries can be provided in the metrics variations ('MVAR') table. Different 'hhea' entries are associated with particular variation data in the 'MVAR' table using value tags, as follows:

'hhea' entry Tag
caretOffset 'hcof'
caretSlopeRise 'hcrs'
caretSlopeRun 'hcrn'

For general information on OpenType Font Variations, see the chapter, OpenType Font Variations Overview.