Last year Igalia completed initial prototype work in Chromium of a functional MathML-Core in our downstream fork. By the end of last year we began the work of upstreaming and further discussion and review which we expected to take about a year.
Since then, we have continued to make good progress: Sending patches, discussing and iterating based on input and feedback. As one would expect, things have to happen in some kind of order, and some steps involve more complexity or discussion than others. Here’s what’s happened so far…
We have thusfar upstreamed, in the following order:
math
and inline-math
.<math>
and <mrow>
, and then out-of-flow elements in MathML containers.<mspace>
, which is critically used on nearly all MathML WPT tests.Next up, we are working on <mfrac>
and continuing the work on stretchy
operators (a big step).
Getting initial foundations established, aligned with the platform and landed successfully is important and notable for everyone…
And critically we aren't the only folks doing work in this area.
— Ian Kilpatrick (@bfgeek) February 12, 2020
Our friends at Igalia are implementing MathML and actually specifying what the rendering model and *much* tighter integration with CSS.
(e.g. width/height etc actually work consistently on MathML elements \o/ )
We are excited that each of these patches to land builds increasing and observable value toward our larger goals.
If you’re interested in tracking this more directly, day to day progress is visible via the issue tracking MathML support in Chromium.
If you believe in this work, please considering sponsoring: Your support is important in helping us fund the development and prioritization efforts to ensure that native mathematical rendering is, finally, a universally supported and interoperable foundation of the Web Platform.