Mozilla MathML Status

Frédéric Wang <[email protected]> Sun, 12 Jan 2014 18:04:32 +0100
Newsgroups gmane.comp.mozilla.devel.mathml
Message-ID <[email protected]>
Dear all,

I have updated the Mozilla MathML Status today to take into account the 
recent changes in Gecko:

https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Status

I also opened a tracking bug for the MathML Acid 3 test ; for those 
interested, the MathML tracking bugs are now:

https://bugzilla.mozilla.org/show_bug.cgi?id=525772 (MathML 2 support)
https://bugzilla.mozilla.org/show_bug.cgi?id=534959 (MathML 3 support)
https://bugzilla.mozilla.org/show_bug.cgi?id=557086 (MathML test suite)
https://bugzilla.mozilla.org/show_bug.cgi?id=958947 (Acid 3)
https://bugzilla.mozilla.org/show_bug.cgi?id=687809 (MathML used in MathJax)

Obviously, there are overlaps between these tracking bugs. Although the 
focus for the MathML crowdfunding project is on code clean up and better 
font support, I might try to fix serious MathML bugs or to implement 
missing features if I have time (or better, mentor people to do so).

Here are some thoughts on the missing features on Mozilla MathML Status 
page / Acid 3:

- If someone is interested in implementing mglyph, then try to resurrect 
my patch for https://bugzilla.mozilla.org/show_bug.cgi?id=297465. I'm 
not sure there is much demand for this feature and (thus) it is not 
included in the Acid tests.

- For maction@tooltip, there is a patch on bug 
https://bugzilla.mozilla.org/show_bug.cgi?id=544001 but it seems 
unlikely that Firefox reviewers will accept it and anyway that will 
probably not work in other Gecko-based applications (e.g. Seamonkey). It 
seems to me that a better solution would be to rely on XBL or Web 
components to implement this in Gecko. I'd like to find people 
interested in doing some experiments on this. This does not really 
require knowledge of C++ or Gecko.

- Elementary Math (https://bugzilla.mozilla.org/show_bug.cgi?id=534967), 
line breaking (https://bugzilla.mozilla.org/show_bug.cgi?id=534967) and 
alignment (*-groupalign, maligngroup, malignmark) will require 
significant work, probably too much for a volunteer or the little 
crowdfunding project. They are in the buckets 5 and 6 of the MathML 3 
acid tests and correspond to most of the missing tests (~24 tests I 
think). It seems to me that line breaking is the most important of the 
three (especially for ebooks / mobile platforms) but will require some 
preliminary code refactoring and bug fixes.

- Finally, the remaining missing elements/attributes are those for 
mtable (in addition to alignment features mentioned above). Now that 
qheaden's work has been integrated, I believe it won't be too hard to 
continue the implementation of mtable attributes using a similar method. 
I already gave some hints for the rowspacing/columnspacing/framespacing 
attributes, which are used by many TeX-to-MathML converters: 
https://bugzilla.mozilla.org/show_bug.cgi?id=330964#c8. The right way to 
implement the mlabeledtr element is not really clear to me at the 
moment: on the one hand we would just like to add a cell for the label 
since it is aligned with the row but on the other hand the label should 
be considered part of the table (e.g. for attributes that apply to the 
table like width or columnspacing) ; that seems to require some 
extension to the CSS table model. All of this would allow to pass bucket 
2 of the Acid 3 test.

- The other failing Acid 3 tests in bucket 4 are bugs like 
https://bugzilla.mozilla.org/show_bug.cgi?id=236963 and 
https://bugzilla.mozilla.org/show_bug.cgi?id=562460 and may others.


-- 
Frédéric Wang
MathML Crowdfunding: ulule.com/mathematics-ebooks