Important information about the MathML fonts in Gecko 31
(apologies for possible multiple copies ; feel free to forward this message)
Starting with Gecko 31 (to be released the week of July 22), the
recommended fonts for the MathML rendering are mathematical fonts with
an OpenType MATH table . The old math fonts (e.g. MathJax TeX, STIX
General) are now deprecated in favor of the modern OpenType math fonts
(e.g. Latin Modern Math, XITS Math, Cambria Math). There are still some
known bugs/limitations in Gecko, math fonts and systems so that might
take some time before the migration can be fully done. However, note
that we plan to remove support for the old fonts in a near future, so
please upgrade your setup as soon as possible and report any issues you
find. In particular:
* For Web users: If you installed MathML fonts in the past, please
consider cleaning up your previous installation. Read  for the latest
documentation of the recommended math fonts. On desktop, if you use
Windows >= 7 or if you have a TeX distribution installed, it's now
really likely that you don't need to install additional math fonts. On
mobile devices, the MathML fonts add-on  is still the only option for
now but we have work-in-progress patches for Android and FirefoxOS.
Currently, there is not any native feature to configure your preferred
math fonts, but Firefox users can try the MathML-font-settings add-on .
* For Web authors: If you use Web font versions of deprecated math fonts
(e.g. MathJax TeX or STIX General), perhaps with the help of the
::-moz-math-stretchy pseudo-element, you should update your pages. The
rule is now very simple: just apply the desired font-family on the
<math> elements. You might also provide WOFF fallback or additional
font-family for the text. Download  to get WOFF fonts together with
CSS stylesheets to use on your Website.
* For software maintainers: Please ensure that an OpenType MATH font is
available on your system or that the appropriate dependencies for
Gecko-based programs are set. You might also want to remove obsolete
fonts or at least drop the dependencies for Gecko-based programs.
* For font designers: You are invited to create your own math fonts and
test them with Gecko. Note that fontforge has menus and a Python
interface to do that  . Existing math fonts have issues with
ascent/descent, please be sure that the OS/2 metrics are consistent, so
that they work the same in all platforms/browsers.
* The STIX fonts (STIX-Word set) have an OpenType MATH table, but there
are known to have many bugs. The STIX Consortium announced version 2.0.0
for early 2015 but for now, it is recommended to use the XITS fork
* Partial support for the OpenType MATH table is also available in
WebKit Nightly and will improve the rendering of MathML operators .
Requests to make OpenType MATH font installed by default on iOS & Mac
systems have been submitted to Apple.
> ... The old
> math fonts (e.g. MathJax TeX, STIX General) are now
> deprecated in favor of the modern OpenType math fonts
> (e.g. Latin Modern Math, XITS Math, Cambria Math). There are
> still some known bugs/limitations in Gecko, math fonts and
> systems so that might take some time before the migration
> can be fully done. However, note that we plan to remove
> support for the old fonts in a near future, so please
> upgrade your setup as soon as possible and report any issues
> you find. ...
Why should it be necessary to remove support for old
fonts just because new things will be supported?
Re: Important information about the MathML fonts in Gecko 31
Le 22/07/2014 08:51, William F Hammond a écrit :
> Why should it be necessary to remove support for old fonts just
> because new things will be supported? -- Bill
I supposed you understood that it is not "just because new things will
be supported" ;-)
First the Unicode-only constructions in arbitrary fonts will still be
supported, what we want to remove is the old font tables for Asana Math,
"STIX General" and MathJax. Asana Math and the "STIX Word" set have an
OpenType MATH table so can be used with the new code. Additionally,
Latin Modern Math is a "modernized implementation of the Computer Modern
fonts" (with reshaping and other stuff that are out of my area of
expertise, see the papers on the GUST website for details) and so can
now replace the "MathJax TeX" fonts (which is just generated via an
autotracer, targeted to MathJax's needs and was a temporary solution to
replace the old BaKoMa TeX support). So first, nobody should need these
old fonts in the long term since you have equivalent OpenType MATH
version... why do you want that??
The technical reason why we want to remove support for these old fonts
is that they need special handlings which make the stretchy operator
code "complicated" (to use an euphemism). Since we want to optimize it
in the future, we will need to cleanup the code before refactoring it.
Moving to OpenType MATH has actually been the plan for 7 years, but that
finally could only be realized recently, thanks to the Ulule crowdfunding...
Moreover, from the user's point of view, you will get a much more
consistent way to use the various OpenType MATH fonts in WebKit/Gecko.
Basically, you now have only one single Math font to deal with and only
need to set the font-family on the <math> (and perhaps the companion
fonts for the text). All the mathvariant selection, correction of prime
size, math layout parameters, stretchy op constructions etc are stored
in the font and Gecko&WebKit only need to read what has been specified
by the font authors. One can even create his own math fonts with
fontforge and they will be immediately supported by Gecko&WebKit without
having to hardcode new data. For example, if some Mathematica people
read that, they could just make an OpenType MATH version of their fonts
and restore the original 15-years old support in Gecko :-)