News

MathML in Chromium



MathML in Chromium Upstreaming Progress
19 February 2020

Igalia continues steady upstreaming progress on MathML

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:

  • Enabling MathML as an experimental web platform feature, and enabling it to run against WPT.
  • Patching the DOM IDL, making MathML a first class citizen of the Web platform.
  • Providing the default UA stylesheet for MathML-Core elements
  • Providing relevant MathML global attributes mappings to CSS counterparts
  • Adding initial support for the new internal CSS display values for math and inline-math.
  • Adding basic support for containers: <math> and <mrow>, and then out-of-flow elements in MathML containers.
  • Adding initial layout contraints for stretchy operators.
  • Adding support for <mspace>, which is critically used on nearly all MathML WPT tests.
  • Adding baseline adjustment logic for MathML containers.
  • Beginning to add support for OpenType MATH layout constants.

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…

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.

More news