Remove "mirrorable" property from the MathML operator dictionary
Categories
(Core :: MathML, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox106 | --- | fixed |
People
(Reporter: fredw, Assigned: fredw)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
Currently it's stored in mathfont.properties, itself generated via updateOperatorDictionary.pl from Unicode's mirrored characters ( https://www.compart.com/en/unicode/mirrored ). We can instead just call mozilla::intl::UnicodeProperties::IsMirrored
Assignee | ||
Comment 1•2 years ago
|
||
Currently, our internal operator dictionary contains a "mirrorable"
property which is used to render stretched or large operators
(such as fences or integrals) in RTL mode, by applying a scale transform.
This is done via the nsMathMLChar class, which is only used for
operators that have a "largeop" or "direction" property in the operator
dictionary [1] [2]. Additionally, this "mirrorable" property was added
with the help of a Perl script, relying on "mirrored" property from
Unicode [3].
This commit removes this property from our internal operator dictionary
and switches to direct retrieval of the Unicode property via
mozilla::intl::UnicodeProperties::IsMirrored. There are four "mirrorable"
characters from our dictionary that are not in [1] (namely
LEFT/RIGHT SINGLE/DOUBLE QUOTATION MARK) but because they don't have
"largeop" or "direction" properties, they don't use nsMathMLChar
anyway. Similarly, they are new characters that are "mirrored" in
Unicode but were not "mirrorable" (LESS-THAN SIGN, LEFT-POINTING DOUBLE
ANGLE QUOTATION MARK, ...) but they won't use nsMathMLChar either.
So there should be no behavior change.
Finally, a few mirrorable characters are tested by existing
layout/reftests/mathml/mirror-op-* tests.
[1] https://searchfox.org/mozilla-central/rev/9769b513e38ee4f5df9d5d1eff55ff7cdc8cbf81/layout/mathml/nsMathMLmoFrame.cpp#58
[2] https://searchfox.org/mozilla-central/rev/9769b513e38ee4f5df9d5d1eff55ff7cdc8cbf81/layout/mathml/nsMathMLmoFrame.cpp#165
[3] https://www.compart.com/en/unicode/mirrored
Updated•2 years ago
|
Pushed by fred.wang@free.fr: https://hg.mozilla.org/integration/autoland/rev/44ff348f9ef5 Remove "mirrorable" property from the MathML operator dictionary. r=emilio
Comment 3•2 years ago
|
||
bugherder |
Description
•