Contact emails
e...@igalia.com,
fw...@igalia.com
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
Web Feature ID
mathml
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
None
Gecko: Shipped/Shipping (
https://bugzilla.mozilla.org/show_bug.cgi?id=945183) Working implementation shipping under the `mathml.rtl_operator_mirroring.enabled` feature. Planning to send an intent to ship.
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?
None
Goals for experimentation
Ongoing technical constraints
None
Debuggability
None
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
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
None
Finch feature name
MathMLOperatorRTLMirroring
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/40120782
Estimated milestones
DevTrial on desktop | 140 |
DevTrial on Android | 140 |
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6317308531965952
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