1# This Source Code Form is subject to the terms of the Mozilla Public
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5#  LOCALIZATION NOTE: FILE
6#  Do not translate anything in this file
7
8# This file contains the list of all stretchy MathML chars that
9# can be rendered using only Unicode code points.
10
11#        [ T/L |  M  | B/R |  G  | size0 ... size{N-1} ]
12\u0028 = \u239B\uFFFD\u239D\u239C\u0028 # (
13\u0029 = \u239E\uFFFD\u23A0\u239F\u0029 # )
14\u005B = \u23A1\uFFFD\u23A3\u23A2\u005B # [
15\u005D = \u23A4\uFFFD\u23A6\u23A5\u005D # ]
16\u007B = \u23A7\u23A8\u23A9\u23AA\u007B # {
17\u007C = \uFFFD\uFFFD\uFFFD\u007C\u007C # |
18\u007D = \u23AB\u23AC\u23AD\u23AA\u007D # }
19
20# OverBar is stretched with U+0305 COMBINING OVERLINE which "connects on left and right"
21\u00AF = \uFFFD\uFFFD\uFFFD\u0305\u00AF # OverBar
22#\u0305 doesn't appear to be referenced by the MathML spec
23\u203E = \uFFFD\uFFFD\uFFFD\u0305\u00AF # overline
24\u0332 = \uFFFD\uFFFD\uFFFD\u0332\u0332 # COMBINING LOW LINE, UnderBar
25\u005F = \uFFFD\uFFFD\uFFFD\u0332\u0332 # _ low line
26\u003D = \uFFFD\uFFFD\uFFFD\u003D\u003D # = equal sign
27
28\u2016 = \uFFFD\uFFFD\uFFFD\u2016\u2016 # DOUBLE VERTICAL LINE, Vert, Verbar
29
30\u2190 = \u2190\uFFFD\uFFFD\u23AF\u2190\u27F5 # LeftArrow, larr, leftarrow
31\u2191 = \u2191\uFFFD\uFFFD\u23D0\u2191 # UpArrow, uarr, uparrow
32\u2192 = \uFFFD\uFFFD\u2192\u23AF\u2192\u27F6 # RightArrow, rarr, rightarrow
33\u2193 = \uFFFD\uFFFD\u2193\u23D0\u2193 # DownArrow, darr, downarrow
34\u2194 = \u2190\uFFFD\u2192\u23AF\u2194\u27F7 # LeftRightArrow, harr, leftrightarrow
35\u2195 = \u2191\uFFFD\u2193\u23D0\u2195 # UpDownArrow, updownarrow, varr
36
37# For STIXGeneral U+22A2/U+22A3 RIGHT/LEFT TACK are different heights to U+23AF.
38# Could use LONG RIGHT/LEFT TACK instead, but STIXNonUnicode provides
39# E0B6 stix-maps-to-relation tail
40#\u21A4 = \u2190\uFFFD\u27DE\u23AF\u21A6\u27FB # LeftTeeArrow, mapstoleft
41#\u21A6 = \u27DD\uFFFD\u2192\u23AF\u21A6\u27FC # RightTeeArrow, map, mapsto
42#\u295A = \u21BC\uFFFD\u27DE\u23AF\u295A # LeftTeeVector
43#\u295B = \u27DD\uFFFD\u21C0\u23AF\u295B # RIGHTWARDS HARPOON WITH BARB UP FROM BAR, RightTeeVector
44#\u295E = \u21BD\uFFFD\u27DE\u23AF\u295E # DownLeftTeeVector
45#\u295F = \u27DD\uFFFD\u21C1\u23AF\u295F # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR, DownRightTeeVector
46# Cambria Math does not have U+27DD/U+27DE
47\u21A4 = \u2190\uFFFD\u22A3\u23AF\u21A6\u27FB # LeftTeeArrow, mapstoleft
48\u21A6 = \u22A2\uFFFD\u2192\u23AF\u21A6\u27FC # RightTeeArrow, map, mapsto
49\u295A = \u21BC\uFFFD\u22A3\u23AF\u295A # LeftTeeVector
50\u295B = \u22A2\uFFFD\u21C0\u23AF\u295B # RIGHTWARDS HARPOON WITH BARB UP FROM BAR, RightTeeVector
51\u295E = \u21BD\uFFFD\u22A3\u23AF\u295E # DownLeftTeeVector
52\u295F = \u22A2\uFFFD\u21C1\u23AF\u295F # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR, DownRightTeeVector
53
54\u21C0 = \uFFFD\uFFFD\u21C0\u23AF\u21C0 # RightVector, rharu, rightharpoonup
55\u21C1 = \uFFFD\uFFFD\u21C1\u23AF\u21C1 # DownRightVector, rhard, rightharpoon down
56\u21BC = \u21BC\uFFFD\uFFFD\u23AF\u21BC # LeftVector, leftharpoonup, lharu
57\u21BD = \u21BD\uFFFD\uFFFD\u23AF\u21BD # DownLeftVector, leftharpoondown, lhard
58\u21D0 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D0\u27F8 # DoubleLeftArrow, Leftarrow, lArr
59\u21D2 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D2\u27F9 # DoubleRightArrow, Implies, Rightarro
60\u21D4 = \uFFFD\uFFFD\uFFFD\uFFFD\u21D4\u27FA # DoubleLeftRightArrow, Leftrightarrow, hArr, iff
61
62# \u221A radical may be made from RADICAL SYMBOL BOTTOM U+23B7 but few fonts
63# support this character and it is not clear what the appropriate vertical
64# glue whould be.
65
66\u2223 = \uFFFD\uFFFD\uFFFD\u2223\u2223 # VerticalBar, mid
67\u2225 = \uFFFD\uFFFD\uFFFD\u2225\u2225 # DoubleVerticalBar, par, parallel
68
69# If fonts have U+23AE INTEGRAL EXTENSION:
70# (STIXSize1, Cambria Math, DejaVu Sans/Serif, Apple's Symbol)
71\u222B = \u2320\uFFFD\u2321\u23AE\u222B # Integral, int
72# Many fonts don't have U+23AE.  For these fonts, a rule can be used as glue:
73# \u222B = \u2320\uFFFD\u2321\uFFFD\u222B # Integral, int
74
75# Using parts of [ and ] (could use box drawings instead)
76\u2308 = \u23A1\uFFFD\uFFFD\u23A2\u2308 # LeftCeiling, lceil
77\u2309 = \u23A4\uFFFD\uFFFD\u23A5\u2309 # RightCeiling, rceil
78\u230A = \uFFFD\uFFFD\u23A3\u23A2\u230A # LeftFloor, lfloor
79\u230B = \uFFFD\uFFFD\u23A6\u23A5\u230B # RightFloor, rfloor
80
81# Support for l/r moustache from the parts of lbrace { and rbrace }
82\u23B0 = \u23A7\uFFFD\u23AD\u23AA\u23B0 # lmoustache, lmoust
83\u23B1 = \u23AB\uFFFD\u23A9\u23AA\u23B1 # rmoustache, rmoust
84
85# Using normal arrows as heads instead of long arrows for the sake of
86# Apple's Symbol font.
87\u27F5 = \u2190\uFFFD\uFFFD\u23AF\u27F5 # LongLeftArrow
88\u27F6 = \uFFFD\uFFFD\u2192\u23AF\u27F6 # LongRightArrow
89\u27F7 = \u2190\uFFFD\u2192\u23AF\u27F7 # LongLeftRightArrow
90
91\u294E = \u21BC\uFFFD\u21C0\u23AF\u294E #LEFT BARB UP RIGHT BARB UP HARPOON, LeftRightVector
92\u2950 = \u21BD\uFFFD\u21C1\u23AF\u2950 #LEFT BARB DOWN RIGHT BARB DOWN HARPOON , DownLeftRightVector
93