More than half a year has passed since my last status report on the MathML project and so I think it is time to provide the latest updates. A lot of pending bugs that I mentioned in previous reports has been fixed. A noticeable exception being support for Arabic mathematics, since people who showed interest on this work could not finally make it. Because Mozilla uses a rapid release process now, the description in this post covers four different versions of Gecko that I indicate in parentheses.

The most exciting thing has been to see contributors getting involved or continuing to work on the MathML project. I would like to thank Bill Gianopoulos for finishing the work on MathML linking and regularly testing all the MathML patches as well as Florian Scholz for starting to work on Gecko and continuing to write MathML documentation. Obviously, I'm also particularly grateful to my intern Jonathan Hage, who has definitely been helpful this summer. I've appreciated the assistance of all the other developers, reviewers, bug reporters and documentation authors and I hope that participation will continue to grow!

Below is a summary of the work accomplished since Firefox 4. I also expect to update the planning for MathML.

  • Stretching of Operators and Mathematical operators
    • Embellished operators are now entirely supported. (Gecko 5.0)
    • The MathML Operator Dictionary has been upgraded to the version proposed in the MathML 3 REC. (Gecko 5.0)
    • The set of XML entity definitions for characters - including many mathematical operators - has been upgraded to follow the corresponding W3C recommendation (Gecko 5.0). I've reported this bug to several other browser authors and hope they will align on this set of definitions. Anyway, for compatibility reasons, I recommend Web authors to directly Unicode characters or their numeric entity references.
    • The Asana-Math font is now usable for stretching mathematical operator (Gecko 7.0) To test it, you may want to modify the font.mathfont-family entry in about:config.

    It would really be interesting to support more mathematical Open Type fonts. If you want to help us, have a look to the preliminary bug to work on (a student wanted to work on this bug as a summer project but was not able to do so...).

  • Linking

    One of the most essential feature of the Web is back in the MathML world! There is still some undergoing work to improve rendering/UI but you can now use links in mathematical formula. Support for the old XLink syntax has been restored but it is recommended to use the new MathML 3 href, that avoids the use of XML namespaces.

  • MathML elements/attributes

    The implementation of mstyle has been fixed (Gecko 6.0). In particular, the mathvariant attribute on a <mstyle/> now applies correctly to its <mi/> descendants. The <math/> element should now be usable as an mstyle (Gecko 8.0). Names for negatives spaces are recognized (Gecko 7.0). There are many other improvements for <mfrac/>, <mfenced/>, <mpadded/>, <mtable/> and <munderover/> including new MathML 3 attributes. As usual, you can read the current status on the MathML project page.

  • MathML Documentation

    The MDN documentation has been expanded and updates have been made to indicate fixes or support for new features. Old MathML demo pages are still being updated and prepared for migration to MDN.