w3c / mathml-core

MathML Core draft
https://w3c.github.io/mathml-core
36 stars 14 forks source link

Whether/when to mirror operators #233

Open bert-github opened 6 months ago

bert-github commented 6 months ago

(This is part of the I18n WG review.)

According to Arabic mathematical notation (the W3C Note from 2006), certain operators are mirrored in right-to-left formulas. But not all operators have mirrored versions in Unicode. For those operators, Firefox appears to make its own, while Chromium and Safari use the non-mirrored glyphs.

The MathML Core spec doesn't say which is correct, or if both are correct. It probably should.

(Firefox's rendering looks better, and more closely matches the Note, even if the naively mirrored glyphs are not quite as good as the redesigned glyphs that the Note calls for.)

fred-wang commented 6 months ago

Firefox determines if the operator is mirrorable, based on https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/uchar_8h.html#a44a3508a5e40e78d3e767371c32bbc42 which corresponds to Bidi_Mirrored property.

Firefox can either do what's suggested in https://github.com/w3c/mathml-core/issues/67#issuecomment-644533473 or fallback to a scale transform for that purpose (this does not always work e.g. for clockwise integral).