MathML:Open Type MATH Table
From MozillaWiki
References
- Latest Specification (section 6.3.6) ; ISO/IEC 14496-22:2015 ; Microsoft Typography page
- OpenType math illuminated - Comparison against TeX's Appendix G
- Known MATH fonts: MDN, WOFF
- Tools: FontForge, Python, FontTools
Implementation Status
- MathValueRecord Table:
* Value: yes since Gecko 31 bug 407059 * DeviceTable: no
- MATH Header Table
* Version: yes since Gecko 31 bug 407059 * MathConstants: yes since Gecko 31 bug 407059. * MathGlyphInfo: yes since Gecko 31 bug 407059. * MathVariants: yes since Gecko 31 bug 407059
- MathConstants Table:
* ScriptPercentScaleDown: no bug 1187682 * ScriptScriptPercentScaleDown: no bug 1187682 * DelimitedSubFormulaMinHeight: no * DisplayOperatorMinHeight: yes since Gecko 31 bug 407059 * MathLeading: no * AxisHeight: yes since Gecko 33 bug 961365 * AccentBaseHeight: no * FlattenedAccentBaseHeight: no bug 963079 * SubscriptShiftDown: yes since Gecko 33 bug 961365 * SubscriptTopMax: yes since Gecko 33 bug 961365 * SubscriptBaselineDropMin: no bug 1231404 * SuperscriptShiftUp: yes since Gecko 33 bug 961365 * SuperscriptShiftUpCramped: yes since Gecko 33 bug 961365 * SuperscriptBottomMin: yes since Gecko 33 bug 961365 * SuperscriptBaselineDropMax: no bug 1231404 * SubSuperscriptGapMin: yes since Gecko 33 bug 961365 * SuperscriptBottomMaxWith: yes since Gecko 33 bug 961365 * SpaceAfterScript: yes since Gecko 33 bug 961365 * UpperLimitGapMin: yes since Gecko 33 bug 961365 * UpperLimitBaselineRiseMin: yes since Gecko 33 bug 961365 * LowerLimitGapMin: yes since Gecko 33 bug 961365 * LowerLimitBaselineDropMin: yes since Gecko 33 bug 961365 * StackTopShiftUp: yes since Gecko 33 bug 961365 * StackTopDisplayStyleShiftUp: yes since Gecko 33 bug 961365 * StackBottomShiftDown: yes since Gecko 33 bug 961365 * StackBottomDisplayStyleShiftDown: yes since Gecko 33 bug 961365 * StackGapMin: yes since Gecko 33 bug 961365 * StackDisplayStyleGapMin: yes since Gecko 33 bug 961365 * StretchStackTopShiftUp: no bug 963131 * StretchStackTopShiftUp: no bug 963131 * StretchStackBottomShiftDown: no bug 963131 * StretchStackGapAboveMin: no bug 963131 * StretchStackGapBelowMin: no bug 963131 * FractionNumeratorShiftUp: yes since Gecko 33 bug 961365 * FractionNumeratorDisplayStyleShiftUp: yes since Gecko 33 bug 961365 * FractionDenominatorShiftDown: yes since Gecko 33 bug 961365 * FractionDenominatorDisplayStyleShiftDown: yes since Gecko 33 bug 961365 * FractionNumeratorGapMin: yes since Gecko 33 bug 961365 * FractionNumDisplayStyleGapMin: yes since Gecko 33 bug 961365 * FractionRuleThickness: yes since Gecko 33 bug 961365 * FractionDenominatorGapMin: yes since Gecko 33 bug 961365 * FractionDenoDisplayStyleGapMin: yes since Gecko 33 bug 961365 * SkewedFractionHorizontalGap: no bug 963122 * SkewedFractionVerticalGap: no bug 963122 * OverbarVerticalGap: no bug 963125 * OverbarRuleThickness: no bug 963125 * OverbarExtraAscender: no bug 963125 * UnderbarVerticalGap: no bug 963125 * UnderbarRuleThickness: no bug 963125 * UnderbarExtraDescender: no bug 963125 * RadicalVerticalGap: yes since Gecko 33 bug 961365 * RadicalDisplayStyleVerticalGap: yes since Gecko 33 bug 961365 * RadicalRuleThickness: yes since Gecko 33 bug 961365 * RadicalExtraAscender: yes since Gecko 33 bug 961365 * RadicalKernBeforeDegree: yes since Gecko 33 bug 961365 * RadicalKernAfterDegree: yes since Gecko 33 bug 961365 * RadicalDegreeBottomRaise: yes since Gecko 33 bug 961365
- MathGlyphInfo Table:
* MathItalicsCorrectionInfo: yes since Gecko 31 bug 407059 * MathTopAccentAttachment: no bug 963136 * ExtendedShapeCoverage: no * MathKernInfo: no bug 961482
- MathItalicsCorrectionInfo Table: Currently only used for placement of scripts in large operators. See bug 961482
* Coverage: yes since Gecko 31 bug 407059 * ItalicsCorrectionCount: yes since Gecko 31 bug 407059 * ItalicsCorrection[]: yes since Gecko 31 bug 407059
- MathTopAccentAttachment Table:
* TopAccentCoverage: no * TopAccentAttachmentCount: no * TopAccentAttachment[]: no
- MathKernInfo Table:
* MathKernCoverage: no bug 961482 * MathKernCount: no bug 961482 * MathKernInfoRecords[]: no bug 961482
- MathKernInfoRecord Table:
* TopRightMathKern: no bug 961482 * TopLeftMathKern: no bug 961482 * BottomRightMathKern: no bug 961482 * BottomLeftMathKern: no bug 961482
- MathKern Table:
* HeightCount: no bug 961482 * CorrectionHeight[]: no bug 961482 * KernValue[]: no bug 961482
- MathVariants Table:
* MinConnectorOverlap: no * VertGlyphCoverage: yes since Gecko 31 bug 407059 * HorizGlyphCoverage: yes since Gecko 31 bug 407059 * VertGlyphCount: yes since Gecko 31 bug 407059 * HorizGlyphCount: yes since Gecko 31 bug 407059 * VertGlyphConstruction[]: yes since Gecko 31 bug 407059 * HorizGlyphConstruction[]: yes since Gecko 31 bug 407059
- MathGlyphConstruction Table
* GlyphAssembly: yes since Gecko 31 bug 407059. * VariantCount: yes since Gecko 31 bug 407059 * MathGlyphVariantRecord[]: yes since Gecko 31 bug 407059
- MathGlyphVariantRecord Table:
* VariantGlyph: yes since Gecko 31 bug 407059 * AdvanceMeasurement: no
- GlyphAssembly Table: Only a restricted format is supported. bug 963147
* ItalicsCorrection: no * PartCount: yes since Gecko 31 bug 407059 * PartRecords[]: yes since Gecko 31 bug 407059
- GlyphPartRecord Table
* glyph: yes since Gecko 31 bug 407059 * StartConnectorLength: no * EndConnectorLength: no * FullAdvance: no * PartFlags: yes since Gecko 31 bug 407059
- OpenType Tags
* math: yes since Gecko 29 bug 953385 * ssty: yes since Gecko 29 bug 442637 * flac: no bug 963079 * dtls: yes since Gecko 35 bug 1069929 * rtlm: no bug 945183
Other Issues
- Implement better support for MathML stretchy fallback in gfx bug 1009582
- Default font for MathML: bug 947654 [DONE]
- Ascent/descent bug: bug 947650 [DONE], bug 598900 [DONE]
- Font Inflation: bug 1002526 [DONE]
- Add some OpenType MATH fonts in mathml.css: bug 1014601 [DONE]
- mathvariant support: done. See bug 114365, bug 930504, bug 518592. [DONE]
- refactoring of nsMathMLChar: done. See bug 663740 [DONE]
- remove ::-moz-math-stretchy: done. See bug 1000879 [DONE]
- Include new OpenType MATH fonts into the default font.mathfont-family list: done. See bug 1001169 [DONE]
- Restrict the cases where a scale transform is applied to operators. See bug 960115. [DONE]