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.
OpenType specification