Recent MathML Improvements in WebKit

Hi everybody,

People following native MathML developments may know that some work has
been done in WebKit by Igalia developers in the past few years. Igalia
[1] is a free software consultancy with experts working on all open
source web engines (maybe some of you have heard about developments in
e.g. CSS Flexbox and Grid layout, ECMAScript, WebRTC, Streams API or
ARIA). In the past, I got the opportunity to collaborate with some
Igalia employees. In March I joined Igalia's web platform team.

During my first months at Igalia I have been in charge of upstreaming
many of the MathML patches and to continue the improvements.
Essentially, all the design issues of the flexbox-based implementation
raised by reviewers in the past are now addressed. And although there is
still some work to do and known bugs, we believe we have made some
significant improvements in the MathML support and rendering quality.
People interested can find details on by blog [2] [3].

We are very interested to hear any feedback from MathML enthusiasts [4]
that could help future developments, for example those that will be made
during the next Web Engines Hackfest in September [5]. OS X users will
be able to test the new features in the next Safari Technology Preview
[6]. Linux users will have to build WebKitGTK+ themselves [7] or
otherwise wait the next release of GNOME in september and the
integration in their respective distributions. As usual, you must have
math fonts installed on your system to get proper rendering [8]. In
addition, you can add a few CSS lines to your user agent stylesheet in
order to test it on Wikipedia [9].

We also have feedback to provide to the authors of the MathML
recommendation from the point of view of web engine developers
(including many similarities with what was reported for Gecko in the
past). It seems that the Math WG is now inactive but hopefully comments
can be taken into consideration for future documents. If members of the
former Math WG are interested to improve the compatibility and
consistency with the web browser code base, then we will provide this
information in follow-up messages.

The most important point is that the MathML in HTML5 implementation note
[10] and its accompanying test suite [11] from the MathML Association
were very important to write a good MathML implementation in WebKit and
to have MathML features verified in the integration testing framework.
Volunteer developer James Kitchener has also relied on it to continue
improvements in Gecko and to add many tests to Mozilla's own framework.
Several web engine people have been enthusiast about these
implementation note and test suite and suggested to move them into an
official Math WG's document and to the W3C's web-platform-tests [12] so
that all the web engines developers and specification authors can work
on it.

We believe that with the experience in Gecko and WebKit as well as our
experimentation in Blink, we can now be confident enough on this
document and tests to move it under the W3C's umbrella and continue
improvements there. The implementation proposed by the note relies on
TeX rules and on the OpenType MATH table and some Microsoft employees
seem inclined to consider that approach for Edge too [13]. So again we
would really like to know if any members of the former Math WG are
willing to collaborate with web engine developers on this note, test
suite and hence help native MathML implementations?

Frédéric, for the Igalia's Web plaform team.

[1] https://www.igalia.com/
[2] http://frederic-wang.fr/mathml-refactoring-in-webkit.html
[3] http://frederic-wang.fr/mathml-improvements-in-webkit.html
[4] https://bugs.webkit.org/enter_bug.cgi?product=WebKit&component=MathML
[5] http://www.webengineshackfest.org/
[6] https://developer.apple.com/safari/technology-preview/
[7] https://trac.webkit.org/wiki/WebKitGTK
[8] http://trac.webkit.org/wiki/MathML/Fonts
[9]
https://www.mediawiki.org/wiki/Extension:Math/advancedSettings#CSS_for_the_MathML_with_SVG_fallback_mode
[10] http://www.mathml-association.org/MathMLinHTML5/
[11] http://tests.mathml-association.org/
[12] https://github.com/w3c/web-platform-tests
[13] http://lists.w3.org/Archives/Public/www-math/2016Apr/0014.html,
https://twitter.com/SampsonMSFT/status/727199790736384001

Received on Friday, 22 July 2016 20:38:36 UTC