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



Under and Over Elements, and Horizontal Stretchy Operators
Under and Over (<munder>, <mover>, <munderover> )
elements are now implemented. To get these working actually required more work
on the DOM side of things as opposed to the rendering side. Rendering
(with the exception of stretching the horizontal operators) is actually
fairly straightforward. Essentially, each under or over element is simply
a vertical array, with the under or over element optionally shrunk down
to a script size. The trick however is actually figuring out when and if
to shrink the under and over elements.
Here is a good example of rendering a mathml document with some
<munder> elements.
source mathml for this screenshot
Here is a screenshot of GtkMathView
rendering the same mathml. Notice the almost identical layout, even thought the
gNumerator rendering control is written in c#, and running on windows, and GtkMathView
is written in c++ and running on linux.
source mathml for this screenshot
Here is another shot, with the previous mathml document slightly modified with a
very long base element in the <munder> element. This causes the
right arrow stretchy operator in the underscript element to stretch to fill the
the horizontal extent of the base element. If the underscript was wider than the base,
and the base had operators that could stretch horizontally, the base would have
stretched to fill the needed extent.
source mathml for this screenshot
