Make more MathML operators mirrorable

RESOLVED FIXED in mozilla15

Status

()

Core
MathML
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: fredw, Assigned: fredw)

Tracking

({dev-doc-complete})

Trunk
mozilla15
dev-doc-complete
Points:
---
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Assignee)

Description

5 years ago
We should make more MathML operators mirrorable, for example:

operator.\u2308.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # ⌈
operator.\u2309.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # ⌉
operator.\u230A.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # ⌊
operator.\u230B.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # ⌋

There are certainly other possible candidates among math fences. The unicode.xml file maintained by David Carlisle uses a mirrorable attribute too.
(Assignee)

Comment 1

5 years ago
Using a scale to mirror operators does not always work (for example for clockwise integral) but hopefully that should work well for most operators.
(Assignee)

Comment 2

5 years ago
Created attachment 627595 [details] [diff] [review]
Make updateOperatorDictionary.pl read mirrorable property
Attachment #627595 - Flags: review?(karlt)
(Assignee)

Comment 3

5 years ago
Created attachment 627597 [details] [diff] [review]
Patch V2

Here a patch adding the mirrorable property to the operators marked @mirror="Y" in the unicode.xml file from http://www.w3.org/TR/xml-entity-names/.

I expect that it is correct to change all "left" into "right" and vice versa. For example "integral with leftwards arrow with hook" is changed into "integral with rightwards arrow with hook".

I don't know why "division slash" is the only slash that should be mirrored?

The remaining conflicts are given below. They are for clockwise/anticlockwise integrals.

[conflict][stretching] - operator.\u005F.infix (low line)
-lspace:1 rspace:1 stretchy
+lspace:1 rspace:1

[conflict] - operator.\u2231.prefix (clockwise integral)
-lspace:0 rspace:1 largeop symmetric
+lspace:0 rspace:1 largeop symmetric mirrorable

[conflict] - operator.\u2232.prefix (clockwise contour integral)
-lspace:0 rspace:1 largeop symmetric
+lspace:0 rspace:1 largeop symmetric mirrorable

[conflict] - operator.\u2233.prefix (anticlockwise contour integral)
-lspace:0 rspace:1 largeop symmetric
+lspace:0 rspace:1 largeop symmetric mirrorable

[conflict] - operator.\u2A11.prefix (anticlockwise integration)
-lspace:1 rspace:2 largeop movablelimits symmetric
+lspace:1 rspace:2 largeop movablelimits symmetric mirrorable
Assignee: nobody → fred.wang
Status: NEW → ASSIGNED
(Assignee)

Updated

5 years ago
Attachment #627597 - Flags: review?(karlt)
(Assignee)

Updated

5 years ago
Keywords: dev-doc-needed
Comment on attachment 627595 [details] [diff] [review]
Make updateOperatorDictionary.pl read mirrorable property

I don't claim to know about XSL, but here's my rubber stamp.
Attachment #627595 - Flags: review?(karlt) → review+
Attachment #627597 - Flags: review?(karlt) → review+
(Assignee)

Updated

5 years ago
Keywords: helpwanted → checkin-needed
https://hg.mozilla.org/integration/mozilla-inbound/rev/57819b266920
https://hg.mozilla.org/integration/mozilla-inbound/rev/f0c3e8edc333
Flags: in-testsuite-
Keywords: checkin-needed
Target Milestone: --- → mozilla15

Comment 6

5 years ago
https://hg.mozilla.org/mozilla-central/rev/57819b266920
https://hg.mozilla.org/mozilla-central/rev/f0c3e8edc333
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Added a note to
https://developer.mozilla.org/en-US/docs/Firefox_15_for_developers#MathML

I don't think this needs more documentation than that. Feel free to add more if you want to, though.
Keywords: dev-doc-needed → dev-doc-complete
You need to log in before you can comment on or make changes to this bug.