|
|
This page collects information about the STIX fonts and how to create STIX webfonts for use with MathJax; see [MathJax v2.3 roadmap](https://github.com/mathjax/MathJax/wiki/Mathjax-v2.3-feature-discussion).
|
|
|
|
|
|
# Design Issues
|
|
|
|
|
|
The webfonts will not be a full substitute for the STIX fonts in browsers with native MathML support for several reasons.
|
|
|
|
|
|
This is due to the way browsers handle math fonts right now. While glyphs at unicode codepoints generally work, stretchy characters require the combination of severaly glyphs; some of these glyphs are stored in non-unicode positions and accessed through OpenType Math Tables -- which no browser currently supports.
|
|
|
|
|
|
To resolve this problem, Firefox has the relevant table information hardcoded in its source -- but only for STIX and Asana fonts; see https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts for more information. (Safari does not handle non-unicode glyphs and only a few unicode constructions).
|
|
|
|
|
|
Even if browsers supported Open Type Math Tables, splitting the fonts would require dropping the Open Type Math table. It also requires adding space characters for monospace, moving non-Unicode glyphs to the Plane0 PUA etc.
|
|
|
|
|
|
Besides these technical issues, using the mathjax-webfonts would be slightly cumbersome as authors would have to specify 114 instead of 4 webfonts.
|
|
|
|
|
|
|
|
|
# Technical issues.
|
|
|
|
|
|
* In STIXMath-Regular.otf, some glyphs used as components of stretchy operators (e.g. pieces of parenthesis) could be encoded as characters from the Miscellaneous Technical unicode block. This includes those from uni2320.s1 to uni23B3.s1 and from uni23B7.s1 to uni23B9.s1
|
|
|
|
|
|
* The following operators have size variants specified in the Open Type MATH table. Some components are already available and thus the stretchy constructions could just be added to the Open Type MATH table:
|
... | ... | @@ -45,13 +62,3 @@ |
|
|
* The combining characters in the larger sizes (found in STIXMath-Regular.otf) do not combine (they are not zero width), as they do in the normal sized versions. E.g., uni20D7.s1 should have right and left bearing both set at 0, with the glyph extending to the left of 0 (see U+20D7 in STIX-Regular.otf for reference). This is true of all the combining characters in size 1 thorough 5 in both Combining Diacritical Marks (U+0300 through U+036F except for U+0338) and Combining Diacritical Marks for Symbols (U+20D0 to U+20FF).
|
|
|
|
|
|
* The combining symbols U+20EC (COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS) and U+20ED (COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS) in STIX-Italic.otf both combine to the right rather than to the left. That is, they are properly zero width, but the glyph is to the right of 0 rather than to the left. The bold and regular forms are properly handled. |
|
|
|
|
|
______
|
|
|
|
|
|
Note on the design of the Web fonts: splitting the fonts will require some changes like dropping the Open Type Math table, adding space characters for monospace, moving non-Unicode glyphs to the Plane0 PUA etc.
|
|
|
|
|
|
The webfonts will not be a full substitute for the STIX fonts in browsers with native MathML support. This is due to the way browsers handle math fonts right now. While glyphs at unicode codepoints generally work, stretchy characters require the combination of severaly glyphs; some of these glyphs are stored in non-unicode positions and accessed through OpenType Math Tables -- which no browser currently supports.
|
|
|
|
|
|
To resolve this problem, Firefox has the relevant table information hardcoded in its source -- but only for STIX and Asana fonts; see https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts for more information. (Safari does not handle non-unicode glyphs and only a few unicode constructions).
|
|
|
|
|
|
Besides these technical issues, using the mathjax-webfonts would be slightly cumbersome as authors would have to specify 114 instead of 4 webfonts. |
|
|
\ No newline at end of file |