Bug 757125 - Make more MathML operators mirrorable. r=karlt
authorFrédéric Wang <fred.wang@free.fr>
Mon, 28 May 2012 21:09:43 -0400
changeset 95136 f0c3e8edc333d54052d87df47d4035519cc81bfc
parent 95135 57819b266920075e840a976ef14fd1f439eb488e
child 95137 9cc3b4fc60c545be2f7060cbcc192eff26727cbd
push id9961
push userryanvm@gmail.com
push dateTue, 29 May 2012 01:10:20 +0000
treeherdermozilla-inbound@9cc3b4fc60c5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskarlt
bugs757125
milestone15.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 757125 - Make more MathML operators mirrorable. r=karlt
layout/mathml/mathfont.properties
--- a/layout/mathml/mathfont.properties
+++ b/layout/mathml/mathfont.properties
@@ -160,20 +160,20 @@ operator.\u02DA.postfix = lspace:0 rspac
 operator.\u02DC.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &DiacriticalTilde; small tilde
 operator.\u02DD.postfix = lspace:0 rspace:0 accent # &DiacriticalDoubleAcute;
 operator.\u02F7.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # modifier letter low tilde
 operator.\u0302.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # combining circumflex accent
 operator.\u0311.postfix = lspace:0 rspace:0 accent # &DownBreve;
 operator.\u03F6.infix = lspace:5 rspace:5 # greek reversed lunate epsilon symbol
 operator.\u2016.prefix = lspace:0 rspace:0 stretchy fence direction:vertical # &Vert; &Verbar;
 operator.\u2016.postfix = lspace:0 rspace:0 stretchy fence direction:vertical # &Vert; &Verbar;
-operator.\u2018.prefix = lspace:0 rspace:0 fence # &OpenCurlyQuote;
-operator.\u2019.postfix = lspace:0 rspace:0 fence # &CloseCurlyQuote;
-operator.\u201C.prefix = lspace:0 rspace:0 fence # &OpenCurlyDoubleQuote;
-operator.\u201D.postfix = lspace:0 rspace:0 fence # &CloseCurlyDoubleQuote;
+operator.\u2018.prefix = lspace:0 rspace:0 fence mirrorable # &OpenCurlyQuote;
+operator.\u2019.postfix = lspace:0 rspace:0 fence mirrorable # &CloseCurlyQuote;
+operator.\u201C.prefix = lspace:0 rspace:0 fence mirrorable # &OpenCurlyDoubleQuote;
+operator.\u201D.postfix = lspace:0 rspace:0 fence mirrorable # &CloseCurlyDoubleQuote;
 operator.\u2022.infix = lspace:4 rspace:4 # bullet
 operator.\u2026.infix = lspace:0 rspace:0 # horizontal ellipsis
 operator.\u2032.postfix = lspace:0 rspace:2 # prime
 operator.\u203E.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # overline
 operator.\u2044.infix = lspace:4 rspace:4 stretchy direction:vertical # fraction slash
 operator.\u2061.infix = lspace:0 rspace:0 # &ApplyFunction;
 operator.\u2062.infix = lspace:0 rspace:0 # &InvisibleTimes;
 operator.\u2063.infix = lspace:0 rspace:0 separator # &InvisibleComma;
@@ -307,17 +307,17 @@ operator.\u220E.infix = lspace:3 rspace:
 operator.\u220F.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &Product;
 operator.\u2210.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &Coproduct;
 operator.\u2211.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical mirrorable # &Sum;
 operator.\u2212.infix = lspace:4 rspace:4 # official Unicode minus sign
 operator.\u2212.prefix = lspace:0 rspace:1 # official Unicode minus sign
 operator.\u2213.infix = lspace:4 rspace:4 # &MinusPlus;
 operator.\u2213.prefix = lspace:0 rspace:1 # &MinusPlus;
 operator.\u2214.infix = lspace:4 rspace:4 # dot plus
-operator.\u2215.infix = lspace:4 rspace:4 stretchy direction:vertical # division slash
+operator.\u2215.infix = lspace:4 rspace:4 stretchy mirrorable direction:vertical # division slash
 operator.\u2216.infix = lspace:4 rspace:4 direction:vertical # set minus
 operator.\u2217.infix = lspace:4 rspace:4 # asterisk operator
 operator.\u2218.infix = lspace:4 rspace:4 # &SmallCircle;
 operator.\u2219.infix = lspace:4 rspace:4 # bullet operator
 operator.\u221A.prefix = lspace:1 rspace:1 stretchy direction:vertical mirrorable # &Sqrt;
 operator.\u221B.prefix = lspace:1 rspace:1 # cube root
 operator.\u221C.prefix = lspace:1 rspace:1 # fourth root
 operator.\u221D.infix = lspace:5 rspace:5 # &Proportional;
@@ -552,20 +552,20 @@ operator.\u22F7.infix = lspace:5 rspace:
 operator.\u22F8.infix = lspace:5 rspace:5 # element of with underbar
 operator.\u22F9.infix = lspace:5 rspace:5 # element of with two horizontal strokes
 operator.\u22FA.infix = lspace:5 rspace:5 # contains with long horizontal stroke
 operator.\u22FB.infix = lspace:5 rspace:5 # contains with vertical bar at end of horizontal stroke
 operator.\u22FC.infix = lspace:5 rspace:5 # small contains with vertical bar at end of horizontal stroke
 operator.\u22FD.infix = lspace:5 rspace:5 # contains with overbar
 operator.\u22FE.infix = lspace:5 rspace:5 # small contains with overbar
 operator.\u22FF.infix = lspace:5 rspace:5 # z notation bag membership
-operator.\u2308.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &LeftCeiling;
-operator.\u2309.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &RightCeiling;
-operator.\u230A.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &LeftFloor;
-operator.\u230B.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &RightFloor;
+operator.\u2308.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &LeftCeiling;
+operator.\u2309.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &RightCeiling;
+operator.\u230A.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &LeftFloor;
+operator.\u230B.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &RightFloor;
 operator.\u23B4.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &OverBracket;
 operator.\u23B5.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &UnderBracket;
 operator.\u23DC.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &OverParenthesis; (Unicode)
 operator.\u23DD.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &UnderParenthesis; (Unicode)
 operator.\u23DE.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &OverBrace; (Unicode)
 operator.\u23DF.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # &UnderBrace; (Unicode)
 operator.\u23E0.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # top tortoise shell bracket
 operator.\u23E1.postfix = lspace:0 rspace:0 stretchy accent direction:horizontal # bottom tortoise shell bracket
@@ -606,28 +606,28 @@ operator.\u25CE.infix = lspace:4 rspace:
 operator.\u25CF.infix = lspace:4 rspace:4 # black circle
 operator.\u25D6.infix = lspace:4 rspace:4 # left half black circle
 operator.\u25D7.infix = lspace:4 rspace:4 # right half black circle
 operator.\u25E6.infix = lspace:4 rspace:4 # white bullet
 operator.\u266D.postfix = lspace:0 rspace:2 # music flat sign
 operator.\u266E.postfix = lspace:0 rspace:2 # music natural sign
 operator.\u266F.postfix = lspace:0 rspace:2 # music sharp sign
 operator.\u2758.infix = lspace:5 rspace:5 direction:vertical # light vertical bar 
-operator.\u2772.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # light left tortoise shell bracket ornament
-operator.\u2773.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # light right tortoise shell bracket ornament
-operator.\u27E6.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &LeftDoubleBracket;
-operator.\u27E7.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &RightDoubleBracket;
-operator.\u27E8.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &LeftAngleBracket;
-operator.\u27E9.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &RightAngleBracket;
-operator.\u27EA.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical left double angle bracket
-operator.\u27EB.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical right double angle bracket
-operator.\u27EC.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical left white tortoise shell bracket
-operator.\u27ED.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical right white tortoise shell bracket
-operator.\u27EE.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical left flattened parenthesis
-operator.\u27EF.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # mathematical right flattened parenthesis
+operator.\u2772.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # light left tortoise shell bracket ornament
+operator.\u2773.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # light right tortoise shell bracket ornament
+operator.\u27E6.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &LeftDoubleBracket;
+operator.\u27E7.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &RightDoubleBracket;
+operator.\u27E8.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &LeftAngleBracket;
+operator.\u27E9.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # &RightAngleBracket;
+operator.\u27EA.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical left double angle bracket
+operator.\u27EB.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical right double angle bracket
+operator.\u27EC.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical left white tortoise shell bracket
+operator.\u27ED.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical right white tortoise shell bracket
+operator.\u27EE.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical left flattened parenthesis
+operator.\u27EF.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # mathematical right flattened parenthesis
 operator.\u27F0.infix = lspace:5 rspace:5 stretchy direction:vertical # upwards quadruple arrow
 operator.\u27F1.infix = lspace:5 rspace:5 stretchy direction:vertical # downwards quadruple arrow
 operator.\u27F5.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &LongLeftArrow;
 operator.\u27F6.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &LongRightArrow;
 operator.\u27F7.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &LongLeftRightArrow;
 operator.\u27F8.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &DoubleLongLeftArrow;
 operator.\u27F9.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &DoubleLongRightArrow;
 operator.\u27FA.infix = lspace:5 rspace:5 stretchy accent direction:horizontal # &DoubleLongLeftRightArrow;
@@ -761,38 +761,38 @@ operator.\u297B.infix = lspace:5 rspace:
 operator.\u297C.infix = lspace:5 rspace:5 accent # left fish tail
 operator.\u297D.infix = lspace:5 rspace:5 accent # right fish tail
 operator.\u297E.infix = lspace:5 rspace:5 # up fish tail
 operator.\u297F.infix = lspace:5 rspace:5 # down fish tail
 operator.\u2980.prefix = lspace:0 rspace:0 stretchy fence direction:vertical # triple direction:vertical bar delimiter
 operator.\u2980.postfix = lspace:0 rspace:0 stretchy fence direction:vertical # triple direction:vertical bar delimiter
 operator.\u2981.infix = lspace:3 rspace:3 # z notation spot
 operator.\u2982.infix = lspace:3 rspace:3 # z notation type colon
-operator.\u2983.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left white curly bracket
-operator.\u2984.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right white curly bracket
-operator.\u2985.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left white parenthesis
-operator.\u2986.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right white parenthesis
-operator.\u2987.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # z notation left image bracket
-operator.\u2988.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # z notation right image bracket
-operator.\u2989.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # z notation left binding bracket
-operator.\u298A.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # z notation right binding bracket
-operator.\u298B.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left square bracket with underbar
-operator.\u298C.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right square bracket with underbar
-operator.\u298D.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left square bracket with tick in top corner
-operator.\u298E.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right square bracket with tick in bottom corner
-operator.\u298F.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left square bracket with tick in bottom corner
-operator.\u2990.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right square bracket with tick in top corner
-operator.\u2991.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left angle bracket with dot
-operator.\u2992.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right angle bracket with dot
-operator.\u2993.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left arc less-than bracket
-operator.\u2994.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right arc greater-than bracket
-operator.\u2995.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # double left arc greater-than bracket
-operator.\u2996.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # double right arc less-than bracket
-operator.\u2997.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left black tortoise shell bracket
-operator.\u2998.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right black tortoise shell bracket
+operator.\u2983.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left white curly bracket
+operator.\u2984.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right white curly bracket
+operator.\u2985.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left white parenthesis
+operator.\u2986.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right white parenthesis
+operator.\u2987.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # z notation left image bracket
+operator.\u2988.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # z notation right image bracket
+operator.\u2989.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # z notation left binding bracket
+operator.\u298A.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # z notation right binding bracket
+operator.\u298B.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left square bracket with underbar
+operator.\u298C.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right square bracket with underbar
+operator.\u298D.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left square bracket with tick in top corner
+operator.\u298E.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right square bracket with tick in bottom corner
+operator.\u298F.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left square bracket with tick in bottom corner
+operator.\u2990.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right square bracket with tick in top corner
+operator.\u2991.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left angle bracket with dot
+operator.\u2992.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right angle bracket with dot
+operator.\u2993.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left arc less-than bracket
+operator.\u2994.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right arc greater-than bracket
+operator.\u2995.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # double left arc greater-than bracket
+operator.\u2996.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # double right arc less-than bracket
+operator.\u2997.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left black tortoise shell bracket
+operator.\u2998.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right black tortoise shell bracket
 operator.\u2999.infix = lspace:3 rspace:3 # dotted fence
 operator.\u299A.infix = lspace:3 rspace:3 # vertical zigzag line
 operator.\u299B.infix = lspace:3 rspace:3 # measured angle opening left
 operator.\u299C.infix = lspace:3 rspace:3 # right angle variant with square
 operator.\u299D.infix = lspace:3 rspace:3 # measured right angle with dot
 operator.\u299E.infix = lspace:3 rspace:3 # angle with s inside
 operator.\u299F.infix = lspace:3 rspace:3 # acute angle
 operator.\u29A0.infix = lspace:3 rspace:3 # spherical angle opening left
@@ -883,44 +883,44 @@ operator.\u29F3.infix = lspace:3 rspace:
 operator.\u29F4.infix = lspace:5 rspace:5 # rule-delayed
 operator.\u29F5.infix = lspace:4 rspace:4 # reverse solidus operator
 operator.\u29F6.infix = lspace:4 rspace:4 # solidus with overbar
 operator.\u29F7.infix = lspace:4 rspace:4 # reverse solidus with horizontal stroke
 operator.\u29F8.infix = lspace:3 rspace:3 # big solidus
 operator.\u29F9.infix = lspace:3 rspace:3 # big reverse solidus
 operator.\u29FA.infix = lspace:3 rspace:3 # double plus
 operator.\u29FB.infix = lspace:3 rspace:3 # triple plus
-operator.\u29FC.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # left-pointing curved angle bracket
-operator.\u29FD.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # right-pointing curved angle bracket
+operator.\u29FC.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # left-pointing curved angle bracket
+operator.\u29FD.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right-pointing curved angle bracket
 operator.\u29FE.infix = lspace:4 rspace:4 # tiny
 operator.\u29FF.infix = lspace:4 rspace:4 # miny
 operator.\u2A00.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigodot;
 operator.\u2A01.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigoplus;
 operator.\u2A02.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigotimes;
 operator.\u2A03.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary union operator with dot
 operator.\u2A04.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &biguplus;
 operator.\u2A05.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary square intersection operator
 operator.\u2A06.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &bigsqcup;
 operator.\u2A07.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # two logical and operator
 operator.\u2A08.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # two logical or operator
 operator.\u2A09.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary times operator
-operator.\u2A0A.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # modulo two sum
+operator.\u2A0A.prefix = lspace:1 rspace:2 largeop movablelimits symmetric mirrorable # modulo two sum
 operator.\u2A0B.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # summation with integral
 operator.\u2A0C.prefix = lspace:0 rspace:1 largeop symmetric direction:vertical integral mirrorable # quadruple integral operator
 operator.\u2A0D.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # finite part integral
 operator.\u2A0E.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with double stroke
 operator.\u2A0F.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral average with slash
 operator.\u2A10.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical integral mirrorable # circulation function
 operator.\u2A11.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical integral # anticlockwise integration
 operator.\u2A12.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical integral mirrorable # line integration with rectangular path around pole
 operator.\u2A13.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical integral mirrorable # line integration with semicircular path around pole
 operator.\u2A14.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical integral mirrorable # line integration not including the pole
 operator.\u2A15.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral around a point operator
 operator.\u2A16.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # quaternion integral operator
-operator.\u2A17.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral # integral with leftwards arrow with hook
+operator.\u2A17.prefix = lspace:1 rspace:2 largeop symmetric integral mirrorable direction:vertical # integral with leftwards arrow with hook
 operator.\u2A18.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with times sign
 operator.\u2A19.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with intersection
 operator.\u2A1A.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with union
 operator.\u2A1B.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with overbar
 operator.\u2A1C.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # integral with underbar
 operator.\u2A1D.infix = lspace:3 rspace:3 # join
 operator.\u2A1E.infix = lspace:3 rspace:3 # large left triangle operator
 operator.\u2A1F.infix = lspace:3 rspace:3 # z notation schema composition