MathGlyphInfoParser
in package
FinalYes
Parser for the MathGlyphInfo sub-table of an OpenType MATH table.
The sub-table is a 4-offset header pointing to four optional inner tables. Each may be absent (offset == 0). Layout:
Offset16 mathItalicsCorrectionInfoOffset
Offset16 mathTopAccentAttachmentOffset
Offset16 extendedShapeCoverageOffset
Offset16 mathKernInfoOffset
MathItalicsCorrectionInfo and MathTopAccentAttachment have identical shape:
Offset16 coverageOffset -- Coverage table
uint16 count
MathValueRecord values[count] -- FWord + uint16 device offset
The Coverage table indexes glyphs in the values array (i-th covered glyph -> values[i]). Format 1 (list) and format 2 (ranges) both produce a glyph-ID list in coverage order.
ExtendedShapeCoverage is just a Coverage table - no value array.
MathKernInfo is more complex (per-corner kerning records) and lands in its own slice; this parser returns its raw bytes.
Table of Contents
Methods
Methods
parse()
public
parse(string $bytes) : MathGlyphInfo
Parameters
- $bytes : string