michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: # LOCALIZATION NOTE: FILE michael@0: # Do not translate anything in this file michael@0: michael@0: # This file contains the list of all stretchy MathML chars that michael@0: # can be rendered using only Unicode code points. michael@0: michael@0: # [ T/L | M | B/R | G | size0 ... size{N-1} ] michael@0: \u0028 = \u239B\uFFFD\u239D\u239C\u0028 # ( michael@0: \u0029 = \u239E\uFFFD\u23A0\u239F\u0029 # ) michael@0: \u005B = \u23A1\uFFFD\u23A3\u23A2\u005B # [ michael@0: \u005D = \u23A4\uFFFD\u23A6\u23A5\u005D # ] michael@0: \u007B = \u23A7\u23A8\u23A9\u23AA\u007B # { michael@0: \u007C = \uFFFD\uFFFD\uFFFD\u007C\u007C # | michael@0: \u007D = \u23AB\u23AC\u23AD\u23AA\u007D # } michael@0: michael@0: # OverBar is stretched with U+0305 COMBINING OVERLINE which "connects on left and right" michael@0: \u00AF = \uFFFD\uFFFD\uFFFD\u0305\u00AF # OverBar michael@0: #\u0305 doesn't appear to be referenced by the MathML spec michael@0: \u203E = \uFFFD\uFFFD\uFFFD\u0305\u00AF # overline michael@0: \u0332 = \uFFFD\uFFFD\uFFFD\u0332\u0332 # COMBINING LOW LINE, UnderBar michael@0: \u005F = \uFFFD\uFFFD\uFFFD\u0332\u0332 # _ low line michael@0: \u003D = \uFFFD\uFFFD\uFFFD\u003D\u003D # = equal sign michael@0: michael@0: \u2016 = \uFFFD\uFFFD\uFFFD\u2016\u2016 # DOUBLE VERTICAL LINE, Vert, Verbar michael@0: michael@0: \u2190 = \u2190\uFFFD\uFFFD\u23AF\u2190\u27F5 # LeftArrow, larr, leftarrow michael@0: \u2191 = \u2191\uFFFD\uFFFD\u23D0\u2191 # UpArrow, uarr, uparrow michael@0: \u2192 = \uFFFD\uFFFD\u2192\u23AF\u2192\u27F6 # RightArrow, rarr, rightarrow michael@0: \u2193 = \uFFFD\uFFFD\u2193\u23D0\u2193 # DownArrow, darr, downarrow michael@0: \u2194 = \u2190\uFFFD\u2192\u23AF\u2194\u27F7 # LeftRightArrow, harr, leftrightarrow michael@0: \u2195 = \u2191\uFFFD\u2193\u23D0\u2195 # UpDownArrow, updownarrow, varr michael@0: michael@0: # For STIXGeneral U+22A2/U+22A3 RIGHT/LEFT TACK are different heights to U+23AF. michael@0: # Could use LONG RIGHT/LEFT TACK instead, but STIXNonUnicode provides michael@0: # E0B6 stix-maps-to-relation tail michael@0: #\u21A4 = \u2190\uFFFD\u27DE\u23AF\u21A6\u27FB # LeftTeeArrow, mapstoleft michael@0: #\u21A6 = \u27DD\uFFFD\u2192\u23AF\u21A6\u27FC # RightTeeArrow, map, mapsto michael@0: #\u295A = \u21BC\uFFFD\u27DE\u23AF\u295A # LeftTeeVector michael@0: #\u295B = \u27DD\uFFFD\u21C0\u23AF\u295B # RIGHTWARDS HARPOON WITH BARB UP FROM BAR, RightTeeVector michael@0: #\u295E = \u21BD\uFFFD\u27DE\u23AF\u295E # DownLeftTeeVector michael@0: #\u295F = \u27DD\uFFFD\u21C1\u23AF\u295F # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR, DownRightTeeVector michael@0: # Cambria Math does not have U+27DD/U+27DE michael@0: \u21A4 = \u2190\uFFFD\u22A3\u23AF\u21A6\u27FB # LeftTeeArrow, mapstoleft michael@0: \u21A6 = \u22A2\uFFFD\u2192\u23AF\u21A6\u27FC # RightTeeArrow, map, mapsto michael@0: \u295A = \u21BC\uFFFD\u22A3\u23AF\u295A # LeftTeeVector michael@0: \u295B = \u22A2\uFFFD\u21C0\u23AF\u295B # RIGHTWARDS HARPOON WITH BARB UP FROM BAR, RightTeeVector michael@0: \u295E = \u21BD\uFFFD\u22A3\u23AF\u295E # DownLeftTeeVector michael@0: \u295F = \u22A2\uFFFD\u21C1\u23AF\u295F # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR, DownRightTeeVector michael@0: michael@0: \u21C0 = \uFFFD\uFFFD\u21C0\u23AF\u21C0 # RightVector, rharu, rightharpoonup michael@0: \u21C1 = \uFFFD\uFFFD\u21C1\u23AF\u21C1 # DownRightVector, rhard, rightharpoon down michael@0: \u21BC = \u21BC\uFFFD\uFFFD\u23AF\u21BC # LeftVector, leftharpoonup, lharu michael@0: \u21BD = \u21BD\uFFFD\uFFFD\u23AF\u21BD # DownLeftVector, leftharpoondown, lhard michael@0: \u21D0 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D0\u27F8 # DoubleLeftArrow, Leftarrow, lArr michael@0: \u21D2 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D2\u27F9 # DoubleRightArrow, Implies, Rightarro michael@0: \u21D4 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D4\u27FA # DoubleLeftRightArrow, Leftrightarrow, hArr, iff michael@0: michael@0: # \u221A radical may be made from RADICAL SYMBOL BOTTOM U+23B7 but few fonts michael@0: # support this character and it is not clear what the appropriate vertical michael@0: # glue whould be. michael@0: michael@0: \u2223 = \uFFFD\uFFFD\uFFFD\u2223\u2223 # VerticalBar, mid michael@0: \u2225 = \uFFFD\uFFFD\uFFFD\u2225\u2225 # DoubleVerticalBar, par, parallel michael@0: michael@0: # If fonts have U+23AE INTEGRAL EXTENSION: michael@0: # (STIXSize1, Cambria Math, DejaVu Sans/Serif, Apple's Symbol) michael@0: \u222B = \u2320\uFFFD\u2321\u23AE\u222B # Integral, int michael@0: # Many fonts don't have U+23AE. For these fonts, a rule can be used as glue: michael@0: # \u222B = \u2320\uFFFD\u2321\uFFFD\u222B # Integral, int michael@0: michael@0: # Using parts of [ and ] (could use box drawings instead) michael@0: \u2308 = \u23A1\uFFFD\uFFFD\u23A2\u2308 # LeftCeiling, lceil michael@0: \u2309 = \u23A4\uFFFD\uFFFD\u23A5\u2309 # RightCeiling, rceil michael@0: \u230A = \uFFFD\uFFFD\u23A3\u23A2\u230A # LeftFloor, lfloor michael@0: \u230B = \uFFFD\uFFFD\u23A6\u23A5\u230B # RightFloor, rfloor michael@0: michael@0: # Support for l/r moustache from the parts of lbrace { and rbrace } michael@0: \u23B0 = \u23A7\uFFFD\u23AD\u23AA\u23B0 # lmoustache, lmoust michael@0: \u23B1 = \u23AB\uFFFD\u23A9\u23AA\u23B1 # rmoustache, rmoust michael@0: michael@0: # Using normal arrows as heads instead of long arrows for the sake of michael@0: # Apple's Symbol font. michael@0: \u27F5 = \u2190\uFFFD\uFFFD\u23AF\u27F5 # LongLeftArrow michael@0: \u27F6 = \uFFFD\uFFFD\u2192\u23AF\u27F6 # LongRightArrow michael@0: \u27F7 = \u2190\uFFFD\u2192\u23AF\u27F7 # LongLeftRightArrow michael@0: michael@0: \u294E = \u21BC\uFFFD\u21C0\u23AF\u294E #LEFT BARB UP RIGHT BARB UP HARPOON, LeftRightVector michael@0: \u2950 = \u21BD\uFFFD\u21C1\u23AF\u2950 #LEFT BARB DOWN RIGHT BARB DOWN HARPOON , DownLeftRightVector