![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||
Microsoft Typography | Developer... | OpenType specification | OpenType tables | The MMFX table | |||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||
This table stores multiple master metrics as self-delimiting Type 2 font programs. The metric value of a particular instance is found by interpreting the metric charstring at that instance yielding a metric value on the Type 2 interpreter stack. The MMFX table consists of a header that contains a version number (version), initially set to 1.0 (0x00010000), the number of metrics stored in the table (nMetrics), an offset size (offSize), and an array of offsets (offset). The offSize field specifies the size of offset array elements, either 2- or 4-bytes, based on the maximum offset that is stored in the array. The offset array is followed by metric charstring data.
A metric id is used to index the offset array and thereby locate the corresponding charstring which is interpreted to yield the required metric. The metrics stored within the table fall into two distinct categories called "named" and "unnamed" metrics. Named metrics have fixed id's that do not vary between fonts whereas unnamed metrics are font-specific and use id's specified by the GPOS, BASE, or GDEF tables. Eight named metrics are defined for use with the version 1.0 MMFX table:
These named metrics must all be present in an MMFX table. Unnamed metrics may or may not be present depending on whether the font contains a GPOS, BASE, or GDEF table that specifies a metric id. Unnamed metric id's begin with id 8.
The Type 2 font program attached to named metric id 0 must evaluate to 0 regardless of the instance in the design space of evaluation. Font clients who need to find the value of named metric id 0 can execute the font program and use the result or can avoid the execution and use the value 0. The result must be the same.
|
|||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||
Microsoft Typography | Developer... | OpenType specification | OpenType tables | The MMFX table | |||||||||||||||||||||||||||||||||||||||||||||
![]() |