The 'hdmx'
table
The 'hdmx'
table is used only with fonts intended for use on the Macintosh platform. If this table is present in a font, the values in contains will be used where appropriate. If this table is missing, the values in the 'hmtx'
table will be scaled and rounded. Using this table will improve performance at the sizes for which it contains metric information because it allows the Macintosh Font Manager to build integer width tables without calling the scaler for each glyph.
The horizontal device metrics table stores integer advance widths scaled to particular pixel per em sizes. Typically, the 'hdmx'
table is used only for selected screen sizes.
Device records in this table are sorted by pixel per em size. The checksum for this table includes all device records. Note that each device record subtable is padded with zeros to make it long aligned.
Table 20: The 'hdmx'
table
Type |
Description |
---|---|
int16 | format version number |
int16 | number of device records |
int32 | size of a device record, long aligned |
DeviceRecord | records[number of device records] |
Each device record for format 0 has the structure shown in Table 21.
Table 21: Device Record
Type |
Description |
---|---|
uint8 | pixel size for following widths |
uint8 | maximum width |
uint8 | widths[number of glyphs] |