I have a patch that supports a number of basic elements in MathML. The harder
ones are not included in this patch:
https://bugs.webkit.org/show_bug.cgi?id=29529
While this patch contains "rendering code", the rendering isn't that
complicated. I'd
like to request that people who are familiar with rendering take a
look at this patch.
I feel like others than the typical few (who have been very, very helpful) can
probably review this patch because the rendering code isn't that complicated
yet. I've left out the complicated bits (like mfenced) that I'm still
working on.
Here's my synopsis of rendering code in the patch:
RenderMathInlineContainer.cpp:
This class provides the basic support for inline containers (like mfrac)
that contain other inlines. It should render as an inline-block. It exists
to disallow rendering of text siblings as well as provide some helper
methods.
RenderFraction.cpp:
Renders a mfrac ( a fraction) using a inline-block container with
block flows. It wraps the containing children in RenderBlock
instances.
RenderMathSubSup.cpp
Handles rendering msubsup which represents a base expression that has
subscript and superscripts. An inline table is used for the layout of
the scripts.
RenderMathUnderOver.cpp
Handles rendering munder, mover, and munderover. The base expression
has expressions over, under, or both that are organized by properly
ordering a inline-block container with block flows. Essentially, one class
handles all the different cases of re-ordering the rendering of the
element children.
Besides a basic setup for associating these elements with their rendering
objects, a number of tests along with their results have been included in
the patch. This makes the patch larger even though the actual C++ code
isn't that large.
This patch provides actual support for rendering some basic MathML
constructs that are useful. What is there now is just the setup for this
rendering code and, without this patch, isn't that useful.
--
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."
Bertrand Russell in a footnote of Principles of Mathematics
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev