[Mediawiki-l] Patch to enable MathML

Jitse Niesen jitse.niesen at gmail.com
Sat Apr 29 02:48:35 UTC 2006


Hello,

As you may know, David Harvey and I have been working on getting some
support for MathML into MediaWiki. Two weeks ago, we decided that the
product of our labour has matured enough to be submitted as a patch to
MediaWiki. It can be found attached to bug 672
    ( http://bugzilla.wikipedia.org/show_bug.cgi?id=672 )

Currently, MediaWiki uses a helper program, called texvc, to convert the
contents of <math> ... </math> into HTML, PNG and (very limited) MathML.
David wrote a new program, called blahtex, to handle the conversion to PNG
and MathML (but not HTML). The main purpose of the program was to offer
better support of MathML, but in the process David also covered some TeX
constructs that texvc cannot handle, improved the reporting of errors, and
started supporting non-ASCII characters. For the sake of balance, let me
mention some advantages of texvc: it works, as is proven by its deployment
on the Wikimedia servers for the past three or more years. Tomasz
Wegrzanowski (the author of texvc) made the point that C++, the language in
which blahtex is written, is not the best choice from a security point of
view; texvc is written in OCaml.

The patch submitted to MediaZilla integrates blahtex with MediaWiki. The W3C
has specified that MathML can only be used in XHTML documents, and Firefox
refuses to display it if it's used in HTML. Therefore, MediaWiki uses MIME
type application/xhtml+xml (irrespective of the value of $wgMimeType), if
the user has selected MathML in the preferences. An exception is if the
browser used does not support XHTML; otherwise, the user won't be able to
view any page, and it won't even be possible to change the preference back
to non-MathML.

More information about the patch can be found at
http://meta.wikimedia.org/wiki/Blahtex/How_to_make_MathML_work_in_MediaWiki

A demo is running at http://wiki.blahtex.org/ . Unfortunately, it is mostly
attracting spammers at the moment.

Of course, we'd like our code to be accepted in MediaWiki, and eventually
enabled on the Wikipedias. Please tell us if you have any advice on how to
achieve this goal. Criticism of our work is of course also very welcome.

Cheers,
Jitse = [[en:User:Jitse Niesen]]



More information about the MediaWiki-l mailing list