This is very exciting! A couple of questions below.

On Wed, Jun 22, 2022 at 2:48 PM Frédéric Wang <fw...@igalia.com> wrote:

> Contact emails fw...@chromium.org, rb...@chromium.org, bkard...@igalia.com
>
> Explainer
> https://github.com/mathml-refresh/mathml-core/blob/master/docs/explainer.md
> https://people.igalia.com/fwang/explainer-font-family-math
>
> Specification https://mathml-refresh.github.io/mathml-core
>
> Design docs
> https://drafts.csswg.org/css-fonts-4/#valdef-font-family-math
> https://w3c.github.io/mathml-aam
>
> https://docs.google.com/document/d/1biGEaWN8ThNTDtAbT1M5GIf6N5uQLWdxh2QhrG9uN5c
>
> https://docs.google.com/document/d/1bvY_Npe2zLW_705KXdmecsH6P9I9wBMpHRsZ9CxWNOI/edit#heading=h.u9hwm9tp8nuy
> Summary
>
> Adds native DOM/IDL, accessibility support and CSS-compatible
> OpenType-based layout of mathematical formulas. The reference
> specifications are MathML Core (which describes in extensive details a
> fundamental subset of the MathML 3 recommendation), MathML AAM (which
> describes mapping to platform accessibility APIs). This includes the "math"
> font-family as well as features included in section "CSS Extensions for
> Math Layout".
>
>
> Blink component Blink
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink>
>
> Search tags mathml <https://chromestatus.com/features#tags:mathml>
>
> TAG review https://github.com/w3ctag/design-reviews/issues/438
> https://github.com/w3ctag/design-reviews/issues/313#issuecomment-460523527
>
> TAG review status Issues addressed
>
> Risks
>
>
> Interoperability and Compatibility
>
> - This is not implementing the complete list of MathML3, OpenType MATH or
> accessibility features that one can find in other browsers.
>
> - New enhancements (e.g. clarification regarding CSS interoperability) may
> not be implemented in other browsers yet.
>
> - MathML Core and MathML AAM are still working drafts.
>
>
> *Gecko*: Shipped/Shipping
>
> *WebKit*: Shipped/Shipping
>

They ship MathML, but could you speak to the conformance level with the
Core spec? In cases where there are gaps, are they going to cause
significant web compat issues that will need to be addressed with
implementation improvements to other browser implementations?

Relatedly, is it the case that the Chromium implementation passes all of
the WPT tests and is in complete agreement with the Core spec?


>
>
> *Web developers*: Positive (
> https://twitter.com/search?q=mathml%20chrome&f=live) Users have recently
> been excited about it, experimented exiting implementation under a flag and
> are eager to see it shipped soon. It is currently the 5th most starred
> Blink issue, see
> https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component:Blink&sort=-stars&colspec=ID%20Stars%20Pri%20Status%20Component%20Opened%20Summary
> <https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3ABlink&sort=-stars&colspec=ID+Stars+Pri+Status+Component+Opened+Summary>
>
> *Other signals*:
>
> Ergonomics
>
> In the past, MathML trees were not treated specially at all and this was
> fast ! Now, more work is needed for pages that do math rendering e.g.
> accessing data from the MATH table, handling operator dictionary, using ink
> text bounds, performing low-level shaping of stretchy operators, loading
> and applying CSS UA sheet, or exposing an accessibility tree. However, the
> only performance report we received so far was issue #1073760, which was
> discarded after further analysis. In any case, performance is definitely
> better than existing non-native technologies. Additionally, pages will
> likely need loading WOFF fonts on operating systems that don't ship math
> fonts. Work is in progress here, see
> https://frederic-wang.fr/update-on-open-type-math-fonts.html for recent
> status.
>
>
> Activation
>
> - Editing MathML source is difficult but special authoring tools &
> converters do exist.
>
> - Implementation may not be as complete as expected by users but the spec
> tries to allow extensibility and the Math WG provides polyfills at
> https://github.com/mathml-refresh/mathml-polyfills
>
> - Users may require WOFF fonts to properly render formulas (see above).
>
>
> Security
>
> There is a risk due to the new attack surface:
>
> - Relatively large amount of new code.
>
> - Newly exposed APIs.
>
> - Interacting with several parts of the web platform.
>
> However, risks related to violation of layout algorithm are reduced now
> that the specification clarifies how to perform it in a CSS-compatible way.
> We've fixed 17 issues reported during 2.5 years of development and there
> are currently 0 open security issues (last report was in March).
>
> Finally, similar security & privacy considerations as existing layout
> specifications apply, see the relevant sections from the MathML Core spec:
> https://w3c.github.io/mathml-core/#security-considerations
> https://w3c.github.io/mathml-core/#privacy-considerations
>
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> No.
>
>
> Debuggability
>
> - Nothing particular expected besides what is already provided for SVG and
> HTML.
>
> - Existing devtools API was extended to handle "font-family: math", see
> https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-setFontFamilies
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, Chrome OS, Android, and Android WebView)? Yes
>


You mentioned in your other email that some platforms don't have good
enough pre-installed Math fonts. It seems your recommendation would be to
make sure STIX Two Math is installed, and macOS will have that soon.

Have you inquired about ChromeOS also?


What will math look like on platforms that don't have a pre-installed font,
and for pages that don't use a web font? Will it not render at all or
render with illogical fallback glyphs?



>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ? Yes
>
> Flag name MathMLCore
>
> Requires code in //chrome? True (this is only to implement support for
> “font-family: math”, which has a user preference menu for math font, see
> https://docs.google.com/document/d/1bvY_Npe2zLW_705KXdmecsH6P9I9wBMpHRsZ9CxWNOI/edit#heading=h.u9hwm9tp8nuy
> ).
>
> Tracking bug http://crbug.com/6606
>
> Sample links
>
> https://people.igalia.com/fwang/2022-06-igalia-week-shipping-mathml-in-chromium/#/12
> https://fred-wang.github.io/MathFonts
>
> Estimated milestones
> DevTrial on desktop 103
> DevTrial on Android 103
>
> Anticipated spec changes
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
> https://github.com/w3c/csswg-drafts/issues/5866
> https://github.com/w3c/mathml-core/issues/74
> https://github.com/w3c/mathml-core/issues/75
> https://github.com/w3c/mathml-core/issues/76
> https://github.com/w3c/mathml-core/issues/77
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5240822173794304
>
> Links to previous Intent discussions Intent to prototype:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/OOZIrtSPLeM
>
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com>.
>
> --
> Frédéric Wang
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6234d4e1-208b-d3d1-10b3-dddb164c010f%40igalia.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6234d4e1-208b-d3d1-10b3-dddb164c010f%40igalia.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9Fc7RKnSkin%3D%2BMpecepmAEGNsbz7%2B2aqHb-swUdWffRg%40mail.gmail.com.

Reply via email to