This is an updated description of the activities of the Mozilla MathML Project since the overview I gave half year ago. I have selected four items for which progress have happened (I will not mention old patches that have not changed). I think that many bug fixes and new features are likely to require important changes in the MathML code and I will probably discuss them in a later post.

  • Stretching of Operators and Mathematical Fonts
    Jacques Distler has reported a regression due to changes in the release version of STIX fonts. This regression has been fixed on trunk and hopefully the support for STIX fonts 1.0 is now complete and ready for Firefox 4. We have also received several feedback comments from people complaining of bad rendering, even with STIX fonts installed. Hence I think it is important to recall that the current release still requires the beta version of the STIX fonts (however if someone wants to help, note that it has been proposed to write a patch for old versions...). An easy way to check your installation is to look the stretching of the brace in the example below. a + b + c + d + e and compare with the right images of this blog post. Another test is with radical symbols: they should really stretch, contrary to what can be seen on the screenshot of this old post from If you have any problems, then I recommend you to read the documentation on the project page.
  • MathML Project Documentation
    The main contribution in this area has been made by Florian Scholz: he wrote MathML element reference pages on MDN during the Web Standards documentation sprint and has subsequently updated these pages. We are also still working on the migration of documentation from to MDN. We have fixed many markup errors on the demo pages but the work is still not complete and help is welcome...
  • linking
    Let's first recall that MathML2 used XLink and that MathML 3 allows to create a link via an attribute href on a MathML element. These features are currently broken / not implemented in Mozilla, but here is an example for testing: ( a p ) = { 1 if a ( p 1 ) / 2 1 ( mod p ) 1 if a ( p 1 ) / 2 1 ( mod p ) 0 if a 0 ( mod p ) .

    Some patches to restore XLink and add support for href have been written so I hope this issue will be fixed soon.

  • mstyle
    Our implementation of the mstyle element has several bugs, with attributes having no effect on the rendering of children. There is now a set of patches fixing several bugs of this kind. Moreover, a patch allows all the attributes of mstyle on the top-level math element, as specified by MathML 3.

Finally, for people who are interested in testing the MathML improvements, Bill Gianopoulos makes available Testing Builds of Firefox which include several MathML patches.