Recent MathML Improvements in WebKit

Frédéric WANG <[email protected]> Thu, 21 Jul 2016 08:00:30 +0200
Newsgroups gmane.comp.web.mathematics
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--WdwodS5F2fmjwkgDEqtbKQfbNp7GVau8n
Content-Type: multipart/mixed; boundary="tOhJVwwbrOopFGO2r5OnivHHsnsLBnNJ6"
From: =?UTF-8?B?RnLDqWTDqXJpYyBXQU5H?= <[email protected]>
To: "[email protected]" <[email protected]>
Message-ID: <[email protected]>
Subject: Recent MathML Improvements in WebKit

--tOhJVwwbrOopFGO2r5OnivHHsnsLBnNJ6
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

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=C3=A9d=C3=A9ric, 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=3DWebKit&component=3DMa=
thML
[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_th=
e_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



--tOhJVwwbrOopFGO2r5OnivHHsnsLBnNJ6--

--WdwodS5F2fmjwkgDEqtbKQfbNp7GVau8n
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXkGUDAAoJEL8nnpULUzQO64gQAKDFK4alzQw0zbnD0SVOAR2k
/o88VW79ThAzA2UA09OpxvjuE49XvtPosokIz4N4nnQjCZlgF9TwUdaybPPB3Nbi
MBf5oswZyz43BTNTK051PSfM2S7bba+GYdnEIoOcitZtThIWte7OLrkiKyMdcUrj
4Yn0Au2gDz4ScHvLGEWciXgUgmII2ecqUQJ5MpzpWvphNWMFs57Ai9f7n+Nbt8Nz
nUK6KeE2EAdXf6AqyBGBVnvoPMN1hRK4RVnZ5o66Xe3j9U3rR+UmlhMJYAs4gpzA
3btxLSHCL41V1EKj9EPue6mV+XBAC4azHOlRy4F3OvrYUOJziJSXLZq2Hyy9qaBH
Y/zPNkMEvNrjRViOKeMQxvN0mfkiQFKLXfruOLhwwCswxtJiQrvpSuK9pqdZoPOa
WKkNzHGBhxDzPQ4n8z1P1Kst2CdKOh69phQ+skSZzV+SQhJAiDGN5c03uWDT9qiE
SXM/zK8xVwyzdum6Q2pnI613UaS5uGxIVU++Jils6Pxor8sYn45xB8CWdJSIxkPB
dBodMuLti4n9n9FPjOLOyN+MIU3NB/jUZ52u8lGGvlStEJMrPYmc+E1M+fVnYYdC
yiGlR8ugBSogcxff7sbss7yYbYLEOjgseRG+0by5l5eEorlndpLsKCLl/vD0KzaV
R4cleYsgYNLDq7oNhypd
=3Dbo
-----END PGP SIGNATURE-----

--WdwodS5F2fmjwkgDEqtbKQfbNp7GVau8n--