About gNumerator

General Info

Plans and Progress

About MathML

SourceForge Project Page for gNumerator

Updates / News / Blog

Blog, Updated January 26, 2005

Downloads, release 0.34, Feburary 13, 2005

Release Notes for version 0.34

MathML Control, MathML DOM, Test App, and Documentation

Source Code

Contact

endresomogyi@comcast.net

gNumerator Mailing List

Need an experienced computer scientist?

My Resume / CV

Anonymous Feedback

Anonymous Feature Requests
Anonymous Bug Reports

Articles

Extending the DOM
Fast parsing of XML entities
Calling C methods from C#
The visitor pattern

Documentation

Components

MathML DOM
MathML Rendering Control

Screenshots

First Rendering of MathML

A slightly more complex example

Same example, with almost correct use of stretchy characters

Stretchy operators are finally working correctly

SubScripts and SuperScripts are now working, also a comparison with Mozilla

Radicals are now working, and a comparison with Microsoft Word

Radical Indices, and sub and super scirpt elements

Under and Over Elements, and Horisontal Stretchy Operators

Complex Tables

Browse Source Repository

MathML Document Object Model

MathML Rendering Control



Radical index elements are now working. This turned out to be a far more difficult problem than I
originally anticipated. The only suitable font that has multiple glyphs for the root symbol is
CMEX10 (computer modern math extension) from the TeX typesetting package. These particlular glyphs
are situated such that their height indicates the thickness of the line to use for the horizontal
part. The problem is that nothing in the font specifies where to place the index. It would have
been possible to hardcode some values in to fit the index, but this is a hack, and would break
anytime the font is changed. So the only solution I came up with was to change the font, so that
it encodes the location to place the index. I converted this font to true type, and cleaned it
up a bit so that it renders more nicely, and I positioned the square root glyphs so they hang beyond the
left edge and the baseline is the base of the index area. This works out very nicely, as all
I have to do is shift the index area up so that it lines up with the baseline of the square
root glyph, and make sure that it is wide enough to fill up the left overhang. If the index
is not wide enough, it is simply padded with a space. This approach does work well, and has
been tested at all font sizes, and produces decent looking formatting.
source mathml for this screenshot
