Attention

Version 3 is now the current version of MathJax. This document is for version 2.

The Match Web Fonts extension

The options below control the operation of the MatchWebFonts extension that is run when you include "MatchWebFonts.js" in the extensions array of your configuration. They are listed with their default values. To set any of these options, include a MatchWebFonts section in your MathJax.Hub.Config() call. For example

MathJax.Hub.Config({
  MatchWebFonts: {
    matchFor: {
      "HTML-CSS": true,
      NativeMML: false,
      SVG: false
    },
    fontCheckDelay: 2000,
    fontCheckTimeout: 30 * 1000
  }
});

would ask to apply font size matching for the HTML-CSS output mode but not for the NativeMML or SVG modes. It would also tell the extension to wait 2 seconds before starting to look for web font arrivals, and to continue checking for 30 seconds.

This extension is designed for pages that have mathematics within text that is displayed using webfonts, and works around a basic problem of webfonts – a missing API. Webfonts often don’t appear until after a delay, and the browser will substitute another font until then; unfortunately there is no signal for when the font becomes available. Since the arrival of the webfonts can significantly change ex and em sizes (and MathJax checks these to match them with its own font size), this extension will check for changes of em and ex sizes (indicating the arrival of webfonts) and rerender equations if necessary.

matchFor: { ... }

This block controls whether to apply font size matching for each output mode.

"HTML-CSS": "true"

Whether to match the font size for the HTML-CSS output.

NativeMML: "true"

Whether to match the font size for the NativeMML output.

SVG: "true"

Whether to match the font size for the SVG output.

fontCheckDelay: 500

Initial delay before the first check for web fonts (in milliseconds).

fontCheckTimeout: 15 * 1000

How long to keep looking for fonts (in milliseconds).