Hello,

Could you please request reviews for the Privacy, Security, Enterprise, Debuggability, and Testing bits in your chromestatus entry?

On 10/31/25 6:03 a.m., Chromestatus wrote:
*Contact emails*
[email protected], [email protected]

*Specification*
https://w3c.github.io/mathml-core/#layout-of-operators

*Summary*
Support for character-level and glyph-level mirroring when rendering MathML operators in right-to-left mode. When using RTL mode some operators can be mirrored by changing them to another code point (e.g. a right parentheses becomes a left parentheses). This is character-level mirroring, with equivalences defined by Unicode's `Bidi_Mirrored` property. There are operators that have no appropriate mirroring character. Glyph-level mirroring applies in this case, with the `rtlm` font feature, where another glyph can replace it in a mirrored context. Some existing implementations mirror the original glyph directly, but this may change the meaning for asymmetrical characters, such as the clockwise contour integral.

*Blink component*
Blink>MathML <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EMathML%22>

*Web Feature ID*
mathml <https://webstatus.dev/features/mathml>

*Motivation*
Arabic mathematical notations require rendering math operator in right-to-left mode, where operators need to be correctly mirrored. Sometimes, a simple horizontal flip is not enough. In the case of asymmetrical glyphs like a clockwise contour integral doing so would change the meaning of the symbol. That's why both character-level mirroring and glyph-level mirroring is needed to produce a correct mathematical expression in RTL mode. The following explainer shows the different cases to consider when mirroring stretchy characters, as well as the proposed MathML Core spec amendments to support this use case: https://people.igalia.com/fwang/mathml-operator-mirroring-explainer.html

*Initial public proposal*
/No information provided/

*TAG review*
/No information provided/

*TAG review status*
Not applicable

*Risks*


*Interoperability and Compatibility*
/No information provided/

/Gecko/: Shipped/Shipping (https://bugzilla.mozilla.org/show_bug.cgi?id=945183) Shipped under the `mathml.rtl_operator_mirroring.enabled` flag. Will be enabled by default once Firefox 146 releases.

/WebKit/: In development Already has character-level mirroring. rtlm support is being worked on for the harfbuzz ports.

/Web developers/: No signals

/Other signals/:

*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 information provided/


*Debuggability*
/No information provided/

*Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?*
Yes

*Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
Yes
New tests: - Character-level mirroring: checks that when switching text direction the codepoints of the characters change to the corresponding BidiMirrored equivalent (e.g. right to left parentheses) - Glyph-level mirroring: checks that the rtlm font feature is supported and that a specific glyph is used for certain characters when switching text direction.

*Flag name on about://flags*
/No information provided/

*Finch feature name*
MathMLOperatorRTLMirroring

*Rollout plan*
Will ship enabled for all users

*Requires code in //chrome?*
False

*Tracking bug*
https://issues.chromium.org/issues/40120782

*Availability expectation*
Feature already available on Firefox and partially available on WebKit, with plans to make it fully available within the next months.

*Adoption expectation*
Feature is used for the case of rendering right to left math.

*Adoption plan*
It will ship enabled by default so users can start benefiting from it.

*Non-OSS dependencies*

Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?

No.

*Estimated milestones*
Shipping on desktop     144
DevTrial on desktop     140
Shipping on Android     144
DevTrial on Android     140
Shipping on WebView     144
Shipping on iOS         144



*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).

No.

*Link to entry on the Chrome Platform Status*
https://chromestatus.com/feature/6317308531965952?gate=4798753084801024

*Links to previous Intent discussions*
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/686d2758.170a0220.a35ba.00d7.GAE%40google.com Ready for Trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/IpmWeJSPR0g


This intent message was generated by Chrome Platform Status <https://chromestatus.com>.
--
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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69048958.710a0220.23debc.007c.GAE%40google.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69048958.710a0220.23debc.007c.GAE%40google.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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/37255b52-5d54-43f6-80c0-262f45ba9cf3%40chromium.org.

Reply via email to