Hi all,

I'm trying to refactor the MathML code to follow what seems the clean way to add style to elements and prepare for future improvements. Hence I have tried to do some experiments with anonymous style and that seems to work in some cases, but sometimes the style is not applied correctly. I don't know much about the WebKit layout code and just tried to copy what was done elsewhere. So I would appreciate if someone more familiar with the code base could check if the code makes sense and suggest the right way to implement that otherwise?

In https://bugs.webkit.org/show_bug.cgi?id=124838 I have attached a big patch that shares some code between the <mi>, <mo> and the <mfenced> elements (which uses anonymous <mo>), cleans up more things and tries to fix other rendering bugs. For convenience, I have extracted the changes that are only relevant to <mi> in a smaller patch: https://bug-124838-attachments.webkit.org/attachment.cgi?id=223101 (see in the new nsRenderMathMLToken class). The basic test case https://bug-44208-attachments.webkit.org/attachment.cgi?id=219653 renders correctly with that patch but as I said above, other reftests fail for some reason.

Note that you don't need to know anything about MathML, but the following info might be helpful:

1) Single variables like <mi>x</mi> should be italic while multiple-char identifier like <mi>sin</mi> should be upright ; the plan is thus to map this to CSS font-style (this is not quite what the MathML spec says but this approximation has been used in Gecko for a long time, so that's ok to use it in WebKit for now). Also in theory, whitespace should be collapsed in MathML tokens, so <mi> x </mi> is equivalent to <mi>x</mi>.

2) Operators like <mo>+</mo> or <mo>(</mo> may have different spacing. The default being indicated by the operator dictionary (http://www.w3.org/TR/MathML3/appendixc.html). The idea is to map this to margin-left/margin-right. This is what I try to do in the bigger patch https://bug-124838-attachments.webkit.org/attachment.cgi?id=222977 as well as in the follow-up bug https://bugs.webkit.org/show_bug.cgi?id=99620.

Thank you,

--
Frédéric Wang
MathML Crowdfunding: ulule.com/mathematics-ebooks

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to