Microsoft Typography | Developer... | OpenType specification | OpenType tables | The hmtx table | ||||||||||||
The type longHorMetric is defined as an array where each element has two parts: the advance width, which is of type USHORT, and the left side bearing, which is of type SHORT. These fields are in font design units. typedef struct _longHorMetric { USHORT advanceWidth; SHORT lsb; } longHorMetric;
In CFF OpenType fonts, every glyph's advanceWidth as recorded in the 'hmtx' table must be identical to its x width in the 'CFF ' table. For any glyph, xmax and xmin are given in 'glyf' table, lsb and aw are given in 'hmtx' table. rsb is calculated as follows: rsb = aw - (lsb + xmax - xmin) If pp1 and pp2 are phantom points used to control lsb and rsb, their initial position in x is calculated as follows: pp1 = xmin - lsb pp2 = pp1 + aw
|
||||||||||||
Microsoft Typography | Developer... | OpenType specification | OpenType tables | The hmtx table | ||||||||||||