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
|
endre-somogyi@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
|