MozillaZine

Full Article Attached Reader Opinion: MathML's Viability

Sunday May 23rd, 1999

Reader MPT has submitted to us an article in response to some statements about Mozilla and MathML made in a previous forum. Click Full Article below to continue.

The opinions expressed within do not necessarily reflect the opinions of mozillaZine.org.


#10 Re: quick question(s)

by mpt

Monday May 24th, 1999 6:50 AM

You are replying to this message

Nieve (Na´ve?) Anonymous Bastard:

What is MathML? MathML is an XML application for showing mathematical expressions. See <http://www.w3.org/Math/> .

Is it a niche thing? Well, sort of, but it's much less of a niche thing than guitar tabs, music scores, knitting patterns, chess games, or whatever. Compared to those applications, MathML would be used much more often.

Why support it natively in Mozilla? Well, that's a question with an interesting answer. Most other XML applications could be rendered, I think, by translating them into a mixture of HTML, CSS, DOM, SVG (Scalable Vector Graphics), and perhaps VRML. All you'd need would be some sort of filter which would translate the XML to these other formats, and pass this to the layout engine.

MathML, however, is a different kettle of fish. It involves difficult stuff like: finding obscure mathematical symbols in your font directory somewhere; stretching parts of characters in one direction (like a { brace, where you don't want it getting all fat just because you're stretching it vertically); arranging table-like structures (for matrices) in-line with the rest of the text (unlike HTML tables); and so on.

MathML is also unlike many other XML objects, in that it should be able to split itself up to wrap from one line to the next, along with the HTML text. Compare this with your typical plug-in/applet, which just gets given a fixed-size rectangle by the browser.

This makes MathML unique (I think), in that it requires complex presentation (which normally a plug-in would do), but it expects to be wrappable and selectable like other text. Hence the built-in support.

Those are the honorable reasons. The dishonorable reason is that implementing MathML will be a good torture-test of how good Mozilla's XML abilities are, without bloating the code too much.

-- mpt