Quick Instructions
 Try this test page to quickly determine whether you need to install additional fonts. You may also want to check out the Mozilla MathML torture test to test your installation against concrete examples.
 On Windows: use this MathML fonts installer.
 On Mac OS X Lion (10.7) and greater STIX fonts are already installed, you do not need to do anything.
 On most Linux distributions, you can install STIX fonts from your package manager.
 On Android, Gecko 15.0 {{ geckoRelease("15.0") }} or greater: install the MathMLfonts addon.
 Otherwise, install the fonts contained in this zip archive.
 If that's still not possible and you are running Gecko 15.0 {{ geckoRelease("15.0") }} or greater, consider installing the MathMLfonts addon.
Overview
Mathematical formulas make use of various symbols represented by specific Unicode characters. Mozilla can display any of these symbols provided suitable Unicode fonts are installed. Furthermore, in accordance with the W3C CSS2 recommendation on fonts, authors can specify an ordered list of particular fonts which they prefer (using the fontfamily property of CSS), with the assurance that Mozilla's font engine will hunt for alternate fonts whenever their specified fonts are not found on a particular user's system. If no appropriate font is ultimately found for a given character, Mozilla will instead display a box containing the hexadecimal representation of the Unicode code point for the character.
Some mathematical operators are also drawn by using glyphs for larger variants of the character (e.g. summation symbol) or by assembling glyphs for a few pieces of the character (e.g braces). These variant or part glyphs do not in general have Unicode assignments, and so fontspecific support is required for some characters. Mozilla has general support for the common delimiters and arrows that have the necessary Unicode assignments. For other characters, Mozilla has fontspecific support. In general, if the necessary glyphs are not available on the system then Mozilla tries to stretch symbols using scale transforms, but that may result in a less pleasant rendering.
To see MathML as intended, you need sufficient font support, which may mean installing some fonts. Note that some Web sites may provide the required mathematical fonts as Web fonts. In that case, you will see the correct rendering on these pages if you use Gecko 15.0 {{ geckoRelease("15.0") }} or greater.
Main fonts
The STIX Fonts Project has been developing a comprehensive set of fonts that cover all the symbols in MathML and also contains glyphs to stretch mathematical operators. They are available under the SIL Open Font License and should be installed for best MathML rendering. Note that currently, only the fonts in /Fonts/STIXGeneral/
are used for stretching mathematical operators with STIX fonts. Asana Math is also freely available under the SIL Open Font License and has good support for mathematical characters. Starting in Gecko 7.0 {{ geckoRelease("7.0") }}, Mozilla can also use the glyphs contained in that font for stretchy operators. Starting in Gecko 13.0 {{ geckoRelease("13.0") }}, MathJax fonts are used as the default fonts for mathematical text and symbol stretching. These fonts are freely available under the Apache License. They are close to LaTeX rendering and should look more familiar to scientists. MathJax fonts also improves support for mathvariant attribute (e.g. to write doublestruck, script or fraktur text).
All the fonts mentioned above may already be installed by default on your system or can easily be installed via your software manager. For convenience we provide a zip archive of MathML fonts. The fonts may be installed by extracting the font files (which have the .otf
extension) from the zip archive, then following instructions for Microsoft Windows, or copying the files to a ~/Library/Fonts
folder on Mac OS X, or to a ~/.fonts/
directory (which may need to be created) on Unix/Linux systems. Alternatively, follow dafont's "How to install a font". These fonts are OpenType PostScript fonts, which are supported by most modern operating systems. However some operating systems may not support these fonts. On such systems, it will be necessary to convert the fonts to a supported format. For example Asana Math is available in TrueType format and there is an unofficial TrueType conversion for STIX fonts.
Other fonts
The following fonts are not necessary when the above fonts are installed, but are worth noting because of their Unicode support for many mathematical characters.

DejaVu Serif and DejaVu Sans are freely available and installed with many Linux distributions. They contain support for many mathematical characters, and Mozilla will display some MathML reasonably on systems with these fonts installed, even without STIX fonts. The font only contains glyphs for stretchy operators that have Unicode assignments.

Cambria Math is preinstalled on Microsoft Windows Vista, and also comes with Miscrosoft Office 2007 or Microsoft PowerPoint Viewer 2007. The font has good support for mathematical characters, and so, with any of these products installed, Mozilla will be able to display some MathML reasonably even without STIX fonts. The font contains the necessary glyphs for stretchy operators but Mozilla does not yet make use of all of these. The license allows you to "use this font as permitted by the EULA for the product in which this font is included to display and print content", so consulting your lawyer is recommended if considering installing this on systems without the associated product.
Finally, note that some OpenType fonts include a MATH table as an extension to OpenType that would enable selecting glyphs for stretchy operators in a notsofontspecific manner, but Mozilla does not yet make use of this.
Reset old preferences
If users have previously changed the "font.mathfontfamily" preference for a previous version of Mozilla, then it is best to reset this to the default value. To do this, enter the URL "about:config", "Filter" for "mathfont", and "Reset" to the default value through the context menu on the preference.