MathML:Cleanup: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with '== gfx glue layer removal == See {{bug|430829}}, Gfx_glue_layer_removal and [http://groups.google.com/group/mozilla.dev.tech.gfx/browse_thread/thread/90d41db79b03f2fb/8921df…')
 
No edit summary
Line 1: Line 1:
== gfx glue layer removal ==
== GFX Glue Layer Removal ==


See {{bug|430829}}, [[Gfx_glue_layer_removal]] and [http://groups.google.com/group/mozilla.dev.tech.gfx/browse_thread/thread/90d41db79b03f2fb/8921df6eaa49269c?#8921df6eaa49269c the thread on mozilla.dev.tech.gfx].  
An important step for MathML is {{bug|663740}}, which will allow to start the work on OpenType MATH table, to support more [[MathML:Fonts|MathML fonts]]. More generally, see {{bug|430829}}, [[Gfx_glue_layer_removal]] and [http://groups.google.com/group/mozilla.dev.tech.gfx/browse_thread/thread/90d41db79b03f2fb/8921df6eaa49269c?#8921df6eaa49269c the thread on mozilla.dev.tech.gfx].
We should rewrite the MathML layout engine to remove nsIRenderingContext, use gfxFont::Metrics instead of nsBoundingMetrics etc
== Attribute mapping into style ==


We are using private attributes and pre-defined rules in mathml.css to map some MathML attributes into CSS. This approach shows its limits for length attributes {{bug|330964}} and exposes unwanted attributes to the DOM {{bug|527201}}. We should rewrite this in a cleaner way {{bug|69409}}.
== Attribute Mapping into Style ==


== Width computation ==
We are using private attributes and pre-defined rules in mathml.css to map some MathML attributes into CSS. This approach shows its limits for length attributes ({{bug|330964}}) and exposes unwanted attributes to the DOM ({{bug|527201}}). We should rewrite this in a cleaner way ({{bug|69409}}).


Our layout engine still has some problems with width computation {{bug|459363}}, {{bug|415413}}. Find a better algorithm?
== Width Computation ==


== Box model for MathML ==
Our layout engine still has some problems with width computation. See for example {{bug|459363}} or {{bug|415413}}. Should we find a better algorithm?


The <math/> element is implemented as an inline-box, but this gives an incorrect height computation {{bug|219873}}. We should also allow linebreaking inside <mrow/>'s, as specified by the rules of MathML 3 {{bug|508120}}.
== Box Model for MathML ==
 
The <math> element is implemented as an inline-box, but this gives an incorrect height computation ({{bug|219873}}). We should also allow linebreaking inside <mrow>'s, as specified by the rules of MathML 3 ({{bug|508120}}).

Revision as of 20:18, 19 February 2012

GFX Glue Layer Removal

An important step for MathML is bug 663740, which will allow to start the work on OpenType MATH table, to support more MathML fonts. More generally, see bug 430829, Gfx_glue_layer_removal and the thread on mozilla.dev.tech.gfx.

Attribute Mapping into Style

We are using private attributes and pre-defined rules in mathml.css to map some MathML attributes into CSS. This approach shows its limits for length attributes (bug 330964) and exposes unwanted attributes to the DOM (bug 527201). We should rewrite this in a cleaner way (bug 69409).

Width Computation

Our layout engine still has some problems with width computation. See for example bug 459363 or bug 415413. Should we find a better algorithm?

Box Model for MathML

The <math> element is implemented as an inline-box, but this gives an incorrect height computation (bug 219873). We should also allow linebreaking inside <mrow>'s, as specified by the rules of MathML 3 (bug 508120).