Tag Archives: mathml

Anything related to the Mathematical Markup Language

MathML and SVG in HTML 5 with Firefox

I’ve been using MathML for a while now for some of my documentation work on 3D graphics. Unfortunately the only way at the moment is to use XHTML 1.1 modular doctype to include either or both of MathML and SVG. In HTML 5 these have become embedded content parts of the specification. So for example, using MathML would be as simple as doing:

[html]<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>MathML test</title>
</head>
<body>
<math>
<mrow>
<mi>y</mi>
<mo>=</mo>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</mrow>
</math>
</body>
</html>[/html]

Unfortunately the only browser to support either MathML or (parts of) HTML 5 at this moment is Firefox 3.5. However, the MathML or SVG embedded content did not render under 3.5. After reading John Resig’s post about a new HTML parsing engine in Mozilla’s Gecko engine I set out to test this engine’s supportĀ  by downloading the latest nightly and setting html5.enable to true in about:config and ‘lo and behold, it renders as expected.

Internet Explorer 8, oh the joy

Over at the IE blog Dean Hachamovitch talked about how the new Internet Explorer will be called IE8.

-silence-

Yes, I am as amazed as you about this. I mean, who would have figured that after IE6 and IE7 we would get an IE8? Yes, I am being sarcastic.

Of course we can only hope they will finally ditch their proprietary muck and start supporting CSS 2.1 better. Heck, maybe we can even see some MathML support. Because in related and definitely more exciting news Opera’s 9.5 beta gained MathML support. It is not fully implemented yet, but they’re actively asking people to provide results. I am secretly wishing for a web developer uprising that will enforce websites using standards and limit the workaround hacks.

True Type fonts, X.org, and MathML

I use MathML. Why? Because it just makes sense for mathematics on the websites.

On my DragonFly I had to do the following:

Installed X.org 6.8.1 or .2. Enable xfs (the X font server) by adding xfs_enable="YES" to rc.conf.

From ports install x11-fonts/ttmkfdir and x11-fonts/urwfonts-ttf.

Extract http://www.mozilla.org/projects/mathml/fonts/bakoma/texcm-ttf.zip to /usr/X11R6/lib/X11/fonts/TTF.

Extract from http://support.wolfram.com/mathematica/systems/windows/general/latestfonts.html the 4.1 TrueType fonts to /usr/X11R6/lib/X11/fonts/TTF.

In /usr/X11R6/lib/X11/fonts/TTF do:

# ttmkfdir > fonts.scale
# mkfontdir

This will update fonts.scale and fonts.dir, check them with cat or more to see if they contain references to the extracted new .ttf files.

Change /usr/X11R6/lib/X11/fs/config to have /usr/X11R6/lib/X11/fonts/urwfonts-ttf added to catalogue.
Also add /usr/X11R6/lib/X11/fonts/urwfonts-ttf as a FontPath to /etc/X11/xorg.conf.

# xset fp+ /usr/X11R6/lib/X11/fonts/urwfonts-ttf
# xset fp rehash

Edited $HOME/.fonts.conf and added:
[xml]<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family">
<string>symbol</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Standard Symbols L</string>
</edit>
</match>
</fontconfig>[/xml]

Added

user_pref("font.mathfont-family", "Math1, Math2, Math4");

to $HOME/.mozilla/firefox/<profile.default>/user.js.

There seem to be some bugs still, at least in displaying the W3C test suite.

X can suck hard at times

And to the question why people still use Windows try setting up your X environment to properly support MathML with Firefox.

Truly, using new fonts within X is a black art still reminiscent of dark and medieval times when we did not know better. I thought we would have progressed that stage by now.

From a user perspective Windows definitely wins hands down in this, drag a file to a Fonts folder, done.
No, X wants us to use crazy incantations of mkfontdir, mkfontscale, fc-cache, ttmkfdir, xset with various fp options and hope xlsfonts shows the font you are after.

Users do NOT want to be bothered with foundries, weights, encoding types, and what not. They just want to add a font, select it in their favourite application and go: “owww, pretty!”

Is that, anno 2004, too much to ask?

Apparently…