MathML in Mozilla
Maintained by Roger B. Sidje <rbs@maths.uq.edu.au>
Updates
 Mozilla Firefox 1.5 has been released with native MathML support on all platforms (Windows, Linux, Mac) as a result of this project. This release also contains native SVG support.
 Markup of the Week (or two...)
 Status of each tag (including live demos)  Dec 7, 2001.
Discussion Forum
Discussions related to MathML are carried out in a newsgroup in pair with a mailing list. Messages sent to the newsgroup are automatically forwarded to he mailing list, and viceversa.
 News: mozilla.dev.tech.mathml
 List: devtechmathml@lists.mozilla.org subscribe/unsubscribe
Links
 MathML Version 2.0 (Second Edition)  W3C Recommendation, 21 October 2003
 W3C MathML Test Suite  Designed to check the implementation of each element one attribute (or builtin rendering behavior) at a time in a fairly thorough manner.
Fonts and MathMLenabled Binaries of Mozilla
Sample MathML Documents
 Tester...
 Screenshots
 MathML Start Page (also in Hebrew and Thai)
 MathML Torture Test
 World of Chaos
 Mathematics for Computer Scientists
 More...
Create MathML Documents
 Guidelines for Authoring  Get the most out of the current Mozilla MathML renderer
 MathZilla  Featuring live translations with itex2MML
 TtM  LaTeX to MathML Translator
 TeX4ht  LaTeX and TeX for Hypertext
 MathMLc2p  Content Markup to Presentation Markup (XSLT stylesheet).
 Fonts  Characters/Entities for scientific documents.
The text below is dated May 1999 when
the project started. Since then some
milestones have been
achieved, and while an elegant MathML
renderer remains the primary focus, new tools
have come to being. For example,
live
TeXtoMathML translations are possible with
serverside convertors such as
itex2MML
and the prototype
JavaScripted
MathML editor makes
<object type="application/mathml+xml">...</object>
not as outlandish as it may have seemed at the time.
Moreover, other interoperable approaches such as
XSLT and
SOAP
have been developed as well.
The Big Picture
Both the output and input of MathML will be investigated in this project.
 The priority of the project will be to provide a compact and fast
engine that will process MathML and enable
Gecko
to render mathematical expressions
<math>...</math>
in graphical form. 
Another goal is to provide a WYSIWYG interface to MathML. This will be a graphical equation editor with an internal representation in standard MathML text. It will therefore provide a basis for:
 an equation editor button on Composer;

the support of an input field
<form> <object type="application/mathml+xml">...</object> </form>
 Transformation Services are also of interest. The lingua franca for formulaintensive documents is TeX/LaTeX and the use of MathML is not yet widespread. Hence it would be useful to have a TeXtoMathML equation converter. There are other notations for which converters to MathML can be useful. In order to keep the core MathML engine compact and fast, no format other than MathML will be supported. It is envisaged that proper modular design principles will be adopted so that interested parties can contribute separate converters which can be chained to the core MathML engine. This will provide a better alternative to cumbersome inline GIFs and Java applets that are often used to represent equations.
Implementation
A mathematical expression can be represented as an aggregate set of boxes. These are the bounding boxes that would enclose mathematical entities (literal symbol, operator, delimiter, etc). With rules governing the positioning of these entities (subscript, superscript, fraction, etc), it is possible to construct the boxmodel in a recursive manner by traversing the parsing tree of the expression.
With the objectoriented paradigm, each box can be viewed as an object that has its own specific properties and shares a common set of properties with other objects. With the CSS paradigm, each box can be viewed as a CSS frame that possibly embeds other CSS frames. Hence there is a direct correspondence between the two paradigms.
MathML offers two formats for representing an equation: presentational tags and semantic/content tags. Given an equation in either format, the MathML project will ultimately aim at constructing a lump of CSS frames that can then be passed onto Gecko for layout and display.
The graphical input component of the project will seek to provide a pointandclick authoring tool for creating and editing mathematical expressions. But beneath the graphical outward appearance, there will be plain MathML text that could therefore go in Composer or in the input field of a form.
What about style sheets, JavaScripting, cut'n paste and the likes? As you see, in addition to getting the foundation right, there are many open issues to the project awaiting your input and help!