Copyright © 2025 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
This specification defines a core subset of Mathematical Markup Language, or MathML, that is suitable for browser implementation. MathML is a markup language for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text.
This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index.
This document was published by the Math Working Group as an Editor's Draft.
Publication as an Editor's Draft does not imply endorsement by W3C and its Members.
This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.
This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 18 August 2025 W3C Process Document.
This section is non-normative.
The [MATHML3] specification has several shortcomings that make it hard to implement consistently across web rendering engines or to extend with user-defined constructions, e.g.:
This MathML Core specification intends to address these issues by being as accurate as possible on the visual rendering of mathematical formulas using additional rules from the TeXBook’s Appendix G [TEXBOOK] and from the Open Font Format [OPEN-FONT-FORMAT], [OPEN-TYPE-MATH-ILLUMINATED]. It also relies on modern browser implementations and web technologies [HTML] [SVG] [CSS2] [DOM], clarifying interactions with them when needed or introducing new low-level primitives to improve the web platform layering.
Parts of MathML3 that do not fit well in this framework or are less fundamental have been omitted. Instead, they are described in a separate and larger [MATHML4] specification. The details of which math feature will be included in future versions of MathML Core or implemented as polyfills is still open. This question and other potential improvements are tracked on GitHub.
By increasing the level of implementation details, focusing on a workable subset, following a browser-driven design and relying on automated web platform tests, this specification is expected to greatly improve MathML interoperability. Moreover, effort on MathML layering will enable users to implement the rest of the MathML 4 specification, or more generally to extend MathML Core, using modern web technologies such as shadow trees, custom elements or APIs from [HOUDINI].
The term MathML element refers to any element in the MathML namespace. The MathML elements defined in this specification are called the MathML Core elements and are listed below. Any MathML element that is not listed below is called an Unknown MathML element.
annotationannotation-xmlmactionmathmerrormfracmimmultiscriptsmnmomovermpaddedmphantommprescriptsmrootmrowmsmspacemsqrtmstylemsubmsubsupmsupmtablemtdmtextmtrmundermunderoversemanticsThe grouping elements are
          maction,
          math,
          merror,
          mphantom,
          mprescripts,
          mrow,
          mstyle,
          semantics and unknown MathML elements.
The scripted elements are
          mmultiscripts,
          mover,
          msub,
          msubsup,
          msup,
          munder and
          munderover.
        
The radical elements are
          mroot and msqrt.
        
The attributes defined in this specification have no namespace and are called MathML attributes:
maction attributesmo attributesmpadded attributesmspace attributesmunderover attributesmtd attributesencodingdisplaylinethicknessMathML specifies a single top-level or root
            math element, which encapsulates each
            instance of MathML markup within a document. All other MathML content
            must be contained in a <math> element.
          
            The <math>
            element accepts the attributes described
            in 2.1.3 Global Attributes as well as the
            following attributes:
          
            The
            display
            attribute, if present,
            must be an
            ASCII case-insensitive
            match
            to block or inline.
            The user agent stylesheet
            described in A. User Agent Stylesheet
            contains rules for this attribute that affect the
            default values for the display
            (block math or inline math)
            and math-style
            (normal or compact) properties.
            If the display
            attribute is absent or has an invalid value, the User Agent
            stylesheet treats it the same as inline.
          
This specification does not define any observable behavior that is specific to the alttext attribute.
alttext attribute may be used as
	  alternative text by some legacy systems that do not
	  implement math layout.
            If the <math> element does not have its computed
            display property equal to
            block math or inline math
            then it is laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise the layout algorithm of the
            mrow element is used to produce a
            math content box. That math content box is used as the content for the layout of
            the element, as described by CSS for display: block
            (if the computed value is block math) or
            display: inline
            (if the computed value is inline math).
            Additionally, if the computed
            display property is equal to
            block math then that math content box is rendered
            horizontally centered within the content box.
          
$$...$$
            and inline mode $...$ correspond to
            display="block" and display="inline"
            respectively.
          In the following example, a math formula
              is rendered in display mode on a new line and taking full width,
              with the math content centered within the container:
<div style="width: 15em;">
  This mathematical formula with a big summation and the number pi
  <math display="block" style="border: 1px dotted black;">
    <mrow>
      <munderover>
        <mo>∑</mo>
        <mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow>
        <mrow><mo>+</mo><mn>∞</mn></mrow>
      </munderover>
      <mfrac>
        <mn>1</mn>
        <msup><mi>n</mi><mn>2</mn></msup>
      </mfrac>
    </mrow>
    <mo>=</mo>
    <mfrac>
      <msup><mi>π</mi><mn>2</mn></msup>
      <mn>6</mn>
    </mfrac>
  </math>
  is easy to prove.
</div> 
            As a comparison, the same formula would look as follows in
              inline mode. The formula is embedded in the paragraph of text
              without forced line breaking.
              The baselines specified by the layout algorithm of the
              mrow are used for vertical
              alignment. Note that
              the middle of sum and equal symbols or fractions are all aligned,
              but not with the alphabetical baseline of the surrounding
              text.
 
          Because good mathematical rendering requires use of mathematical
            fonts, the
            user agent stylesheet
            should set the
            font-family
            to the
            math
            value on the <math> element instead of inheriting
            it. Additionally, several CSS properties that can be set on
            a parent container such as
            font-style, font-weight,
            direction or text-indent etc
            are not expected to apply to the math formula and so the
            user agent stylesheet
            has rules to reset them by default.
          
math {
  direction: ltr;
  text-indent: 0;
  letter-spacing: normal;
  line-height: normal;
  word-spacing: normal;
  font-family: math;
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  display: inline math;
  math-shift: normal;
  math-style: compact;
  math-depth: 0;
}
math[display="block" i] {
  display: block math;
  math-style: normal;
}
math[display="inline" i] {
  display: inline math;
  math-style: compact;
}In addition to CSS data types, some MathML attributes rely on the following MathML-specific types:
true or
              false.
            The following attributes are common to and may be specified on all MathML elements:
autofocusclassdata-*dirdisplaystyleidmathbackgroundmathcolormathsizenoncescriptlevelstyletabindexon* event handler attributes
            The
            id,
            class,
            style,
            data-*,
            autofocus and
            nonce and
            tabindex
            attributes have the same syntax and semantics as defined for
            id,
            class,
	    style,
            data-*,
            autofocus,
            nonce and
            tabindex
            attributes on HTML elements.
          
            The
            dir
            attribute, if present,
            must be an
            ASCII case-insensitive match
            to ltr or rtl.
            In that case, the user agent is expected to treat the attribute as a
            presentational hint setting the element's
            direction
            property to the corresponding value.
            More precisely, an
            ASCII case-insensitive match
            to rtl is mapped to rtl while
            an ASCII case-insensitive match to ltr is mapped to ltr.
          
rtl in Arabic speaking world.
            However, languages written from right to left often embed math
            written from left to right and so the
            user agent stylesheet resets
            the
            direction
            property accordingly on the math
            elements.
          In the following example, the dir attribute is used to render "𞸎 plus 𞸑 raised to the power of (٢ over, 𞸟 plus ١)" from right-to-left.
<math dir="rtl">
  <mrow>
    <mi>𞸎</mi>
    <mo>+</mo>
    <msup>
      <mi>𞸑</mi>
      <mfrac>
        <mn>٢</mn>
        <mrow>
          <mi>𞸟</mi>
          <mo>+</mo>
          <mn>١</mn>
        </mrow>
      </mfrac>
    </msup>
  </mrow>
</math> 
          All MathML elements support event handler content attributes, as described in event handler content attributes in HTML.
All event handler content attributes noted by HTML as being supported by all HTMLElements are supported by all MathML elements as well, as defined in the MathMLElement IDL.
            The
            mathcolor
            and
            mathbackground
            attributes, if present, must
            have a value that is a
            <color>.
            In that case, the user agent is expected to treat these attributes as a
            presentational hint setting the element's
            color and
            background-color
            properties to the corresponding values.
            The mathcolor attribute describes the foreground fill
            color of MathML text, bars etc
            while the mathbackground
            attribute describes the background color of an element.
          
            The
            mathsize
            attribute, if present, must
            have a value that is a valid <length-percentage>.
            In that case, the user agent is expected to treat the attribute as a
            presentational hint setting the element's
            font-size
            property to the corresponding value.
            The mathsize property indicates the desired height
            of glyphs in math formulas but also scales other parts (spacing, shifts,
            line thickness of bars etc) accordingly.
          
            The
            displaystyle
            attribute, if present, must have a value that is a boolean.
            In that case, the user agent is expected to treat the attribute as a
            presentational hint setting the element's
            math-style
            property to the corresponding value.
            More precisely, an
            ASCII case-insensitive match
            to true is mapped to normal while
            an ASCII case-insensitive match to false is mapped to compact.
            This attribute indicates whether formulas should try to minimize
            the logical height (value is false) or not
            (value is true) e.g. by changing the size of content or
            the layout of scripts.
          
            The
            scriptlevel
            attribute, if present, must have value
            +<U>, -<U> or <U>
            where <U> is an
            unsigned-integer.
            In that case
            the user agent is expected to treat the scriptlevel
            attribute as a
            presentational hint setting the element's
            math-depth
            property to the corresponding value.
            More precisely,
            +<U>, -<U> and
            <U>
            are respectively mapped to
            add(<U>)
            add(<-U>)
            and <U>.
          
            displaystyle and scriptlevel values
            are automatically adjusted within MathML elements.
            To fully implement these attributes, additional CSS properties must be
            specified in the user agent stylesheet
            as described in A. User Agent Stylesheet.
            In particular, for all MathML elements a default
            font-size: math is specified to ensure that
            scriptlevel changes are taken into account.
          
              In this example, an munder
              element is used to attach a
              script "A" to a base "∑". By default, the summation
              symbol is rendered with the font-size inherited from its
              parent and the A as a scaled down subscript.
              If displaystyle is true, the summation symbol is drawn
              bigger and the "A" becomes an underscript.
              If scriptlevel is reset to 0 on the "A", then it will
              use the same font-size as the top-level math root.
            
<math>
  <munder>
    <mo>∑</mo>
    <mi>A</mi>
  </munder>
  <munder displaystyle="true">
    <mo>∑</mo>
    <mi>A</mi>
  </munder>
  <munder>
    <mo>∑</mo>
    <mi scriptlevel="0">A</mi>
  </munder>
</math> 
          \displaystyle, \textstyle,
            \scriptstyle, and \scriptscriptstyle correspond
            to displaystyle and scriptlevel as
            true and 0,
            false and 0,
            false and 1,
            and false and 2, respectively.
          The attributes intent and arg are reserved as valid attributes.
           This specification does not define any observable behavior that is
           specific to the intent and arg attributes.
          
MathML can be mixed with HTML and SVG as described in the relevant specifications [HTML] [SVG].
            When evaluating the SVG requiredExtensions
            attribute, user agents must claim support for the language extension
            identified by the
            MathML namespace.
          
              In this example, inline MathML and SVG elements are used inside
              an HTML document. SVG elements <switch> and
              <foreignObject> (with
              proper <requiredExtensions>) are used to
              embed a MathML formula with a text fallback, inside a diagram.
              HTML input element is used within the
              mtext
              to include an interactive input field inside a mathematical
              formula. See also 3.7 Semantics and Presentation
              for an example of SVG and HTML inside an annotation-xml
              element.
            
<svg style="font-size: 20px" width="400px" height="220px" viewBox="0 0 200 110">
  <g transform="translate(10,80)">
    <path d="M 0 0 L 150 0 A 75 75 0 0 0 0 0
             M 30 0 L 30 -60 M 30 -10 L 40 -10 L 40 0"
          fill="none" stroke="black"></path>
    <text transform="translate(10,20)">1</text>
    <switch transform="translate(35,-40)">
      <foreignObject width="200" height="50"
                     requiredExtensions="http://www.w3.org/1998/Math/MathML">
        <math>
          <msqrt>
            <mn>2</mn>
            <mi>r</mi>
            <mo>−</mo>
            <mn>1</mn>
          </msqrt>
        </math>
      </foreignObject>
      <text>\sqrt{2r - 1}</text>
    </switch>
  </g>
</svg>
<p>
  Fill the blank:
  <math>
    <msqrt>
      <mn>2</mn>
      <mtext><input onchange="..." size="2" type="text"></mtext>
      <mo>−</mo>
      <mn>1</mn>
    </msqrt>
    <mo>=</mo>
    <mn>3</mn>
  </math>
</p> 
          User agents must support various CSS features mentioned in this specification, including new ones described in 4. CSS Extensions for Math Layout. They must follow the computation rule for display: contents.
              In this example, the MathML formula inherits the CSS color of its
              parent and uses the font-family specified via the
              style attribute.
            
<div style="width: 15em; color: blue">
  This mathematical formula with a big summation and the number pi
  <math display="block" style="font-family: STIX Two Math">
    <mrow>
      <munderover>
        <mo>∑</mo>
        <mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow>
        <mrow><mo>+</mo><mn>∞</mn></mrow>
      </munderover>
      <mfrac>
        <mn>1</mn>
        <msup><mi>n</mi><mn>2</mn></msup>
      </mfrac>
    </mrow>
    <mo>=</mo>
    <mfrac>
      <msup><mi>π</mi><mn>2</mn></msup>
      <mn>6</mn>
    </mfrac>
  </math>
  is easy to prove.
</div> 
          
            All documents containing MathML Core elements must include
            CSS rules described in A. User Agent Stylesheet
            as part of user-agent level style sheet defaults.
            In particular, this adds !important rules to force
            writing mode
            to horizontal-lr on all MathML elements.
          
            The float
            property does
            not create floating of elements whose parent's computed
            display value is
            block math or inline math,
            and does not take them out-of-flow.
          
            The ::first-line and
            ::first-letter
            pseudo-elements do not apply to elements whose computed
            display value is
            block math or inline math, and such
            elements do not contribute a first formatted line or first letter
            to their ancestors.
          
The following CSS features are not supported and must be ignored:
white-space
              is treated as nowrap on all MathML elements.
            align-content, justify-content,
              align-self, justify-self have
              no effects on MathML elements.
            User agents supporting Web application APIs must ensure that they keep the visual rendering of MathML synchronized with the [DOM] tree, in particular perform necessary updates when MathML attributes are modified dynamically.
            All the nodes representing MathML elements in the DOM
            must implement, and expose to scripts, the following
            MathMLElement interface.
          
WebIDL[Exposed=Window]
interface MathMLElement : Element { };
MathMLElement includes GlobalEventHandlers;
MathMLElement includes HTMLOrForeignElement;
          The GlobalEventHandlers and
            HTMLOrForeignElement
            interfaces are defined in [HTML].
In the following example, a MathML formula is used to render the fraction "α over 2". When clicking the red α, it is changed into a blue β.
<script>
  function ModifyMath(mi) {
      mi.style.color = 'blue';
      mi.textContent = 'β';
  }
</script>
<math>
  <mrow>
    <mfrac>
      <mi style="color: red" onclick="ModifyMath(this)">α</mi>
      <mn>2</mn>
    </mfrac>
  </mrow>
</math> 
          Because math fonts generally contain very tall glyphs such as big integrals, using typographic metrics is important to avoid excessive line spacing of text. As a consequence, user agents must take into account the USE_TYPO_METRICS flag from the OS/2 table [OPEN-FONT-FORMAT] when performing text layout.
            MathML provides the ability for authors to allow for
            interactivity in supporting interactive user agents
            using the same concepts, approach and guidance to
            Focus
            as described in HTML, with modifications or
            clarifications regarding application
            for MathML as described in this section.
          
When an element is focused, all applicable CSS focus-related pseudo-classes as defined in Selectors Level 3 apply, as defined in that specification.
            The contents of embedded math elements
            (including HTML elements inside token elements)
            contribute to the sequential focus order of the containing owner HTML
            document (combined sequential focus order).
          
            The default display property
            is described in A. User Agent Stylesheet:
          
<math> root,
              it is equal to inline math or block math
              according to the value of the display attribute.
            mtable,
              mtr,
              mtd it is respectively equal to
              inline-table,
              table-row and
              table-cell.
            maction
              and semantics elements, it is equal to
              none.
            block math.
            In order to specify math layout in different writing modes, this specification uses concepts from [CSS-WRITING-MODES-4]:
horizontal-lr and ltr.
            See Figure 4,
            Figure 5 and
            Figure 6 for examples of other
            writing modes that are sometimes used for math layout.
          Boxes used for MathML elements rely on several parameters in order to perform layout in a way that is compatible with CSS but also to take into account very accurate positions and spacing within math formulas:
Block metrics. The block size, first baseline set and last baseline set. The following baselines are defined for MathML boxes:
Given a MathML box, the following offsets are defined:
horizontal-tb and rtl that may be used in e.g. Arabic math.vertical-lr and ltr that may be used in e.g. Mongolian math.vertical-rl and ltr that may be used in e.g. Japanese math.Here are examples of offsets obtained from line-relative metrics:
ltr and
                is the inline size of the box −
                (line-left offset + inline size of
                the child box) otherwise.
              horizontal-lr,
                vertical-rl or sideways-rl
                and is the line-descent otherwise.
              Each MathML element has an associated math content box, which is calculated as described in this chapter's layout algorithms using the following structure:
The following extra steps must be performed:
The box metrics and offsets of the padding box are obtained from the content box by taking into account the corresponding padding properties as described in CSS.
The baselines of the padding box are the same as the one of the content box.
If the content box has a top accent attachment then the padding box has the same property, increased by the inline-start padding. If the content box has an italic correction then the padding box has the same property, increased by the inline-end padding.
The box metrics and offsets of the border box are obtained from the padding box by taking into account the corresponding border-width property as described in CSS.
In general, the baselines of the border box are the same as the one of the padding box. However, if the line-over border is positive then the ink-over baseline is set to the line-over edge of the border box and if the line-under border is positive then the ink-under baseline is set to the line-under edge of the border box.
If the padding box has a top accent attachment then the border box has the same property, increased by the border-width of its inline-start egde. If the padding box has an italic correction then the border box has the same property, increased by the border-width of its inline-end egde.
The box metrics and offsets of the margin box are obtained from the border box by taking into account the corresponding margin properties as described in CSS.
The baselines of the margin box are the same as the one of the border box.
If the padding box has a top accent attachment then the margin box has the same property, increased by the inline-start margin. If the padding box has an italic correction then the margin box has the same property, increased by the inline-end margin.
During box layout, optional inline stretch size constraint and block stretch size constraint parameters may be used on embellished operators. The former indicates a target size that a core operator stretched along the inline axis should cover. The latter indicates an ink line-ascent and ink line-descent that a core operator stretched along the block axis should cover. Unless specified otherwise, these parameters are ignored during box layout and child boxes are laid out without any stretch size constraint.
An anonymous box is a box without any associated
            element in the DOM tree and which is generated for layout purpose
            only. The properties of anonymous boxes are inherited from the
            enclosing non-anonymous box while non-inherited properties have
            their initial value.
            An anonymous <mrow> box is
            an anonymous box with display equal to
            block math and which is laid out as
            described in section 3.3.1.2 Layout of <mrow>.
          
If a MathML element generates an anonymous <mrow> box then it wraps its children in an anonymous <mrow> box. I.e., its subtree in the visual formatting model is made of an anonymous <mrow> box which itself contains the boxes associated to the children of this MathML element.
In the following example, the math and
              mrow elements are laid out as described in section
              3.3.1.2 Layout of <mrow>. In particular, the
              <math> element adds proper spacing around its
              <mo>≠</mo> child and the
              <mrow> element stretches its
              <mo>|</mo> children vertically.
            
The mtd element has
              display: table-cell and the
              msqrt element displays a radical symbol around its
              children. However, they also place their children in a way that
              is similar to what is described in section
              3.3.1.2 Layout of <mrow>: the
              <msqrt> element adds proper spacing around its
              <mo>+</mo> child while the
              <mtd> element stretches its
              <mo> children vertically.
              In order to make this possible,
              each of these two elements
              generates an anonymous <mrow> box.
            
<math>
  <mrow>
    <mo>|</mo>
    <mtable>
      <mtr>
        <mtd>
          <mi>x</mi>
        </mtd>
        <mtd>
          <mo>(</mo>
          <mfrac linethickness="0">
            <mn>5</mn>
            <mn>3</mn>
          </mfrac>
          <mo>)</mo>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <msqrt>
            <mn>7</mn>
            <mo>+</mo>
            <mn>2</mn>
          </msqrt>
        </mtd>
        <mtd>
          <mi>y</mi>
        </mtd>
      </mtr>
    </mtable>
    <mo>|</mo>
  </mrow>
  <mo>≠</mo>
  <mn>0</mn>
</math> 
          MathML elements can overlap due to various spacing rules. They
            can as well contain extra graphical items
            (bars, radical symbol, etc).
            A MathML element with computed style
            display: block math
            or display: inline math generates a new stacking
            context. The painting order
            of in-flow children of such a MathML element
            is exactly the same as block elements. The extra graphical
            items are painted after text and background (right after
            step 7.2.4 for display: inline math and right after
            step 7.2 for display: block math).
          
Token elements in presentation markup are broadly intended to represent the smallest units of mathematical notation which carry meaning. Tokens are roughly analogous to words in text. However, because of the precise, symbolic nature of mathematical notation, the various categories and properties of token elements figure prominently in MathML markup. By contrast, in textual data, individual words rarely need to be marked up or styled specially.
            The
            mtext
            element is used to represent arbitrary text
            that should be rendered as itself. In general, the
            <mtext> element is intended to denote
            commentary text.
          
            The <mtext> element accepts the attributes described
            in 2.1.3 Global Attributes.
          
In the following example, mtext is used
              to put conditional words in a definition:
<math>
  <mi>y</mi>
  <mo>=</mo>
  <mrow>
    <msup>
      <mi>x</mi>
      <mn>2</mn>
    </msup>
    <mtext> if </mtext>
    <mrow>
      <mi>x</mi>
      <mo>≥</mo>
      <mn>1</mn>
    </mrow>
    <mtext> and </mtext>
    <mn>2</mn>
    <mtext> otherwise.</mtext>
  </mrow>
</math> 
          
              If the element does not have its computed
              display property equal to
              block math or inline math
              then it is laid out according to the CSS specification where
              the corresponding value is described.
              Otherwise, the layout below is performed.
            
              If the <mtext> element contains only text
              content without
              forced line break
              or
              soft wrap opportunity
              then, the anonymous child node generated for that text is
              laid out as defined in the relevant CSS specification and:
            
<mtext> element.
	      
              Otherwise, the mtext element is laid out as a
              block box
              and corresponding min-content inline size,
              max-content inline size,
              inline size, block size,
              first baseline set and last baseline set are
              used for the math content box.
            
The mi element represents a symbolic name or arbitrary text that should be rendered as an identifier. Identifiers can include variables, function names, and symbolic constants.
            The <mi> element accepts the attributes described
            in 2.1.3 Global Attributes as well as the following attribute:
          
The layout algorithm is the same as the mtext element. The
            user agent stylesheet
            must contain the following property in order to implement automatic
            italic via the text-transform value introduced in 4.2 The math-auto transform:
          
mi {
  text-transform: math-auto;
}
              The
              mathvariant
              attribute,
              if present, must be an
              ASCII case-insensitive
              match of normal.
              In that case, the user agent is expected to treat the attribute as a
              presentational hint setting the element's
              text-transform
              property to none. Otherwise it has no effects.
            
In [MathML3], the mathvariant attribute was used
                to define logical classes of token elements, each class providing
                a collection of typographically-related symbolic tokens with
                specific meaning within a given mathematical expression.
                In MathML Core, this attribute is only used to cancel automatic
                italic of the mi element. For other use cases, the proper
                Mathematical Alphanumeric Symbols [UNICODE] should be used
                instead. See also section C. Mathematical Alphanumeric Symbols.
              
In the following example, mi is used to render
              variables and function names. Note that per
              4.2 The math-auto transform the default
              style text-transform: math-auto has
              no effect on the first <mi> ("cos" is made of three characters),
              makes the second <mi> render as math italic ("c" is made of a single
              character U+0063 Latin Small Letter C which is
              mapped to
              U+1D450 Mathematical Italic Small C per the
              italic table), has no effect
              on the third <mi> (overridden by
              mathvariant="normal", setting
              text-transform to none) or on the fourth
              <mi> (no mapping defined for U+221E Infinity
              in the italic table).
            
<math>
  <mi>cos</mi>
  <mo>,</mo>
  <mi>c</mi>
  <mo>,</mo>
  <mi mathvariant="normal">c</mi>
  <mo>,</mo>
  <mi>∞</mi>
</math> 
          The mn element represents a "numeric literal" or other data that should be rendered as a numeric literal. Generally speaking, a numeric literal is a sequence of digits, perhaps including a decimal point, representing an unsigned integer or real number.
            The <mn> element accepts the attributes described
            in 2.1.3 Global Attributes. Its layout algorithm is
            the same as the
            mtext element.
          
In the following example, mn is used to
              write a decimal number.
<math>
  <mn>3.141592653589793</mn>
</math> 
          
            The
            mo
            element represents an
            operator or anything that should be rendered as an operator.
            In general, the notational conventions for mathematical operators
            are quite complicated, and therefore MathML provides a relatively
            sophisticated mechanism for specifying the rendering behavior of an
            <mo> element.
As a consequence, in MathML the list of things that should "render as an operator" includes a number of notations that are not mathematical operators in the ordinary sense. Besides ordinary operators with infix, prefix, or postfix forms, these include fence characters such as braces, parentheses, and "absolute value" bars; separators such as comma and semicolon; and mathematical accents such as a bar or tilde over a symbol. This chapter uses the term "operator" to refer to operators in this broad sense.
            The <mo> element accepts the attributes described
            in 2.1.3 Global Attributes as well as the following
            attributes:
          
This specification does not define any observable behavior that is specific to the fence and separator attributes.
fence and separator
            to describe specific semantics of operators.
            The default values may be determined from the
            Operators_fence and Operators_separator tables, or equivalently
            the human-readable version
            of the operator dictionary.
          
              In the following example, the mo element
              is used for the binary operator +. Default spacing is symmetric
              around that operator. A tighter spacing is used if you rely
              on the form attribute to force it to be
              treated as a prefix operator.
              Spacing can also be specified explicitly using the
              lspace and
              rspace attributes.
            
<math>
  <mn>1</mn>
  <mo>+</mo>
  <mn>2</mn>
  <mo form="prefix">+</mo>
  <mn>3</mn>
  <mo lspace="2em">+</mo>
  <mn>4</mn>
  <mo rspace="3em">+</mo>
  <mn>5</mn>
</math> 
            
              Another use case is for big operators such as summation.
              When displaystyle is true, such an operator is drawn
              larger but one can change that with the largeop attribute.
              When displaystyle is false, underscripts are actually
              rendered as subscripts but one can change that with the
              movablelimits attribute.
            
<math>
  <mrow displaystyle="true">
  <munder>
    <mo>∑</mo>
    <mn>5</mn>
  </munder>
  <munder>
    <mo largeop="false">∑</mo>
    <mn>6</mn>
  </munder>
  </mrow>
  <mrow>
    <munder>
      <mo>∑</mo>
      <mn>5</mn>
    </munder>
    <munder>
      <mo movablelimits="false">∑</mo>
      <mn>7</mn>
    </munder>
  </mrow>
</math> 
            Operators are also used for stretchy symbols such as fences,
              accents, arrows etc. In the following example, the vertical arrow
              stretches to the height of the mspace element.
              One can override default stretch behavior with the
              stretchy attribute e.g. to force an unstretched arrow.
              The symmetric attribute allows to indicate whether
              the operator
              should stretch symmetrically above and below the math axis
              (fraction bar).
              Finally the minsize and maxsize attributes add
              additional constraints over the stretch size.
            
<math>
  <mfrac>
    <mspace height="50px" depth="50px" width="10px" style="background: blue"/>
    <mspace height="25px" depth="25px" width="10px" style="background: green"/>
  </mfrac>
  <mo>↑</mo>
  <mo stretchy="false">↑</mo>
  <mo symmetric="true">↑</mo>
  <mo minsize="250px">↑</mo>
  <mo maxsize="50px">↑</mo>
</math> 
            Note that the default properties of operators are dictionary-based, as explained in 3.2.4.2 Dictionary-based attributes. For example a binary operator typically has default symmetric spacing around it while a fence is generally stretchy by default.
A MathML Core element is an embellished operator if it is:
mo element;mfrac,
                whose first in-flow child exists and is an
                embellished operator;
              mpadded,
                whose in-flow children consist (in any order) of one
                embellished operator and zero or more
                space-like elements.
              
              The core operator of an embellished operator
              is the <mo> element defined recursively as
              follows:
            
mo
                element; is the element itself.mfrac
                element is the core operator of its first in-flow child.
              mpadded
                is the core operator of its unique embellished operator
                in-flow child.
              
              The stretch axis of an embellished operator
                is inline if its
              core operator contains only text content
              made of a single character c, and that character has
              inline intrinsic stretch axis.
              Otherwise, the stretch axis of the embellished operator
              is block.
            
The same definitions apply for boxes in the visual formatting model where an anonymous <mrow> box is treated as a grouping element.
              The form
              property of an embellished operator is either
              infix, prefix or
              postfix.
              The corresponding form attribute on the
              mo element, if present, must be an
              ASCII case-insensitive
              match to one of these values.
            
              The algorithm for determining the form of an embellished operator is as follows:
            
form attribute is present and valid
                on the core operator, then its
                ASCII lowercased value
                is used.
              mpadded or
                msqrt with more than one in-flow child
                (ignoring all space-like children) then it has
                form prefix.
              mpadded or
                msqrt
                with more than one in-flow child
                (ignoring all space-like children) then it has
                form postfix.
              postfix.
              infix.
              
              The
              stretchy,
              symmetric,
              largeop,
              movablelimits
              properties of an embellished operator are
              either false or true. In the latter
              case, it
              is said that the embellished operator has the
              property.
              The corresponding stretchy, symmetric, largeop, movablelimits attributes on the
              mo element, if present, must be a
              boolean.
            
              The
              lspace,
              rspace,
              minsize
              properties of an embellished operator are
              <length-percentage>.
              The maxsize property
              of an embellished operator is either a
              <length-percentage> or ∞.
              The
              lspace,
              rspace,
              minsize and
              maxsize attributes on the
              mo element, if present,
              must be a <length-percentage>.
            
The algorithm for determining the properties of an embellished operator is as follows:
stretchy,
                symmetric,
                largeop,
                movablelimits,
                lspace,
                rspace,
                maxsize or
                minsize
                attribute is present and valid
                on the core operator, then the
                ASCII lowercased value
                of this property is used.form of an embellished operator.Content, then set Category
                to the result of the
                algorithm to determine the category of an operator
                (Content, Form)
                where Form is the form
                calculated at the previous step.
              Category is Default and
                the form
                of embellished operator was not explicitly specified
                as an attribute on its core operator:
                Category to the result of the
                  algorithm to determine the category of an operator
                  (Content, Form) where Form is
                  infix.Category is Default, then
                    run the algorithm again with Form set to
                    postfix.Category is Default, then
                    run the algorithm again with Form set to
                    prefix.Category.
              When used during layout,
              the values of stretchy,
              symmetric,
              largeop,
              movablelimits,
              lspace,
              rspace,
              minsize are
              obtained by the
              algorithm for determining the properties of an embellished operator with the following extra resolutions:
lspace,
              rspace are interpreted
              relative to the value read from the dictionary
              or to the fallback value above.
              minsize
              and maxsize are described in
              3.2.4.3 Layout of operators.
            lspace, rspace,
              minsize and maxsize rely on the
              font style of the core operator, not the one of the
              embellished operator.
            
              If the <mo> element does not have its computed
              display property equal to
              block math or inline math
              then it is laid out according to the CSS specification where
              the corresponding value is described.
              Otherwise, the layout below is performed.
            
              The text of the operator must only be painted if the
              visibility of
              the <mo> element is visible.
              In that case, it must be painted with the
              color
              of the <mo> element.
            
              Let dir be the element's computed
              direction.
            
Operators are laid out as follows:
<mo> element is not
                made
                of a single character c then fall back to the
                layout algorithm of 3.2.1.1 Layout of <mtext>.
                If it is not possible to get a glyph corresponding to
                c given directionality dir, then
                fall back to the layout algorithm of 3.2.1.1 Layout of <mtext>.
                Otherwise, let g be the result of running
                get a glyph corresponding to c
                given directionality dir.
              stretchy property:
                g in the inline direction with the
                        first available font then fall back to the
                        layout algorithm of 3.2.1.1 Layout of <mtext>.
                      <mtext>.
                      Tinline
                        then
                        fall back to the
                        layout algorithm of 3.2.1.1 Layout of <mtext>.
                      g to
                        inline dimension Tinline.
                      g
                        stretched to inline dimension
                        Tinline and
                        at position determined by the previous box metrics.
                      g in the block direction with the
                        first available font then fall back to the
                        layout algorithm of 3.2.1.1 Layout of <mtext>.
                      (Uascent, Udescent)
                        then
                        fall back to the
                        layout algorithm of 3.2.1.1 Layout of <mtext>.
                      symmetric property
                        then set the target sizes
                        Tascent and
                        Tdescent to
                        Sascent and
                        Sdescent respectively:
                        Sascent =
                            max(
                            Uascent − AxisHeight,
                            Udescent + AxisHeight
                            ) + AxisHeight
                          Sdescent =
                            max(
                            Uascent − AxisHeight,
                            Udescent + AxisHeight
                            ) − AxisHeight
                          Uascent and
                        Udescent respectively.
                        Tascent − AxisHeight = Tdescent + AxisHeight means that
                          an operator stretching exactly
                          Tascent above the baseline
                          and Tdescent below the
                          baseline would actually stretch symmetrically above
                          and below the math axis.
                          Sascent and
                          Sdescent are the minimal
                          values, that are respectively not less than
                          Uascent and
                          Udescent, which satisfy
                          this property.
                        minsize and maxsize
                        be the minsize and maxsize properties on the
                        operator. Percentage values are interpreted relative
                        to the height of g.
                        Let T =
                        Tascent +
                        Tdescent be the target size.
                        If minsize < 0 then set minsize
                        to 0.
                        If maxsize < minsize then
                        set maxsize to minsize.
                        With 0 ≤ minsize ≤ maxsize:
                        T ≤ 0 then set
                            Tascent to
                            minsize / 2 + AxisHeight and
                            then set Tdescent
                            to minsize −
                            Tascent.                            
                          T < minsize
                            then set Tascent to
                            max(0, (Tascent − AxisHeight) × minsize / T + AxisHeight) and
                            Tdescent
                            to minsize −
                            Tascent.
                          maxsize < T
                            then set Tascent to
                            max(0, (Tascent − AxisHeight) × maxsize / T + AxisHeight) and
                            Tdescent
                            to maxsize −
                            Tascent.
                          maxsize is value ∞ is
                          interpreted above as being larger than any other size,
                          i.e.
                          minsize ≤ maxsize is always true while
                          maxsize < minsize and
                          maxsize < T are always false.
                        minsize ≤ T ≤ maxsize holds.
                          Additionnally, if the target values correspond to symmetric stretching with respect to the math axis then property
                          Tascent − AxisHeight = Tdescent + AxisHeight is preserved.
                        g
                        to block dimension
                        Tascent +
                        Tdescent.
                        The inline size of the math content is the width of
                        the stretchy glyph. The stretchy glyph is shifted
                        towards the line-under by a value Δ so that its
                        center aligns with the center of the target:
                        the ink ascent of the math content is
                        the ascent of the stretchy glyph − Δ
                        and the ink descent of the math content is
                        the descent of the stretchy glyph + Δ.
                        These centers have coordinates "½(ascent − descent)"
                        so Δ = [(ascent of stretchy glyph − descent of stretchy glyph) − (Tascent − Tdescent)] / 2.
                      g
                        stretched to block dimension
                        Tascent +
                        Tdescent
                        and at position determined by the previous box metrics
                        shifted by Δ towards the line-over.
                      largeop property and
                if math-style on
                the <mo> element is normal,
                then:
                g in the block direction with the
                    first available font then fall back to the
                    layout algorithm of 3.2.1.1 Layout of <mtext>.
                    stretchy largeop
                      glyph as stretchy with target dimension DisplayOperatorMinHeight.
                    g
                    to block dimension
                    DisplayOperatorMinHeight.
                    The inline size of the math content is the width of
                    the stretchy glyph. The stretchy glyph is shifted
                    towards the line-under by a value Δ so that its
                    center aligns with the center of the target when
                    symmetric:
                    the ink ascent of the math content is
                    the ascent of the stretchy glyph − Δ
                    and the ink descent of the math content is
                    the descent of the stretchy glyph + Δ.
                    symmetric property,
                        then
                        Δ = [(ascent of stretchy glyph − descent of stretchy glyph) − 2 * AxisHeight] / 2.
                      symmetric.
                    g
                    stretched to block dimension
                    DisplayOperatorMinHeight
                    and at position determined by the previous box metrics
                    shifted by Δ towards the line-over.
                  <mtext>.
              If the algorithm to shape a stretchy glyph has been used for one of the step above, then the italic correction of the math content is set to the value returned by that algorithm.
The mspace empty element represents a blank space of any desired size, as set by its attributes.
            The <mspace> element accepts the attributes described
            in 2.1.3 Global Attributes as well as the following
            attributes:
          
The width, height, depth, if present, must have a value that is a valid <length-percentage>.
width
              attribute is present, valid and not a percentage then
              that attribute is used as a
              presentational hint
              setting the element's
              width
              property to the corresponding value.
            height
              attribute is absent, invalid or a percentage then the requested
              line-ascent is 0.
              Otherwise the requested line-ascent is the resolved
              value of the height attribute, clamping
              negative values to 0.
            height and depth attributes
              are present, valid and not a percentage then they are used as a
              presentational hint
              setting the element's
              height
              property to the concatenation of the strings
              "calc(", the height attribute value,
              " + ", the depth attribute value,
              and ")".
              If only one of these attributes is
              present, valid and not a percentage then it is treated as a
              presentational hint
              setting the element's
              height
              property to the corresponding value.
            In the following example, mspace is used to
              force spacing within the formula (a 1px blue border is
              added to easily visualize the space):
<math>
  <mn>1</mn>
  <mspace width="1em"
          style="border-top: 1px solid blue"/> 
  <mfrac>
    <mrow>
      <mn>2</mn>
      <mspace depth="1em"
              style="border-left: 1px solid blue"/>
    </mrow>
    <mrow>
      <mn>3</mn>
      <mspace height="2em"
              style="border-left: 1px solid blue"/>
    </mrow>
  </mfrac>
</math> 
          
            If the <mspace> element does not have its
            computed
            display property equal to
            block math or inline math
            then it is laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise,
            the <mspace> element is laid out as shown on
            Figure 9.
            The min-content inline size,
            max-content inline size and inline size of the math
            content are equal to the resolved value of the
            width property.
            The block size of the math content is equal to the resolved
            value of the height property.
            The line-ascent of the math content is equal to the
            requested line-ascent determined above.
          
<mspace> elementA number of MathML presentation elements are "space-like" in the sense that they typically render as whitespace, and do not affect the mathematical meaning of the expressions in which they appear. As a consequence, these elements often function in somewhat exceptional ways in other MathML expressions.
A MathML Core element is a space-like element if it is:
mtext or
                mspace;
              mpadded
                all of whose in-flow children are space-like.
              The same definitions apply for boxes in the visual formatting model where an anonymous <mrow> box is treated as a grouping element.
mphantom is not
              automatically defined to be space-like, unless its content is
              space-like. This is because operator spacing is affected by
              whether adjacent elements are space-like.
              Since the <mphantom> element is
              primarily intended as an aid in aligning expressions, operators
              adjacent to an <mphantom> should behave
              as if they were adjacent to the contents of the
              <mphantom>, rather than to an equivalently
              sized area of whitespace.
            ms element is used to represent "string literals" in expressions meant to be interpreted by computer algebra systems or other systems containing "programming languages".
            The <ms> element accepts the attributes described
            in 2.1.3 Global Attributes.  Its layout algorithm is
            the same as the mtext element.
          
In the following example, ms is used to
              write a literal string of characters:
<math>
  <mi>s</mi>
  <mo>=</mo>
  <ms>"hello world"</ms>
</math> 
          lquote and
            rquote attributes to respectively specify the strings
            to use as opening and closing quotes. These are no longer supported
            and the quotes must instead be specified as part of the text of the
            <ms> element. One can add CSS rules to legacy
            documents in order to preserve visual rendering. For example,
            in left-to-right direction:
            ms:before, ms:after {
  content: "\0022";
}
ms[lquote]:before {
  content: attr(lquote);
}
ms[rquote]:after {
  content: attr(rquote);
}Besides tokens there are several families of MathML presentation elements. One family of elements deals with various "scripting" notations, such as subscript and superscript. Another family is concerned with matrices and tables. The remainder of the elements, discussed in this section, describe other basic notations such as fractions and radicals, or deal with general functions such as setting style properties and error handling.
            The
            mrow
            element is used to group together any number of sub-expressions, usually
            consisting of one or more <mo> elements acting as
            "operators" on one or more other expressions that are their "operands".
          
In the following example, mrow is used to
              group a sum "1 + 2/3" as a fraction numerator (first child
              of mfrac) and to construct a fenced expression
              (first child of msup) that is raised to the power of 5.
              Note that mrow alone does not add visual fences
              around its grouped content, one has to explicitly specify them
              using the mo element.
            
              Within the mrow elements, one can see that
              vertical alignment of children (according to the
              alphabetic baseline or the mathematical baseline)
              is properly performed, fences are vertically stretched and
              spacing around the binary + operator automatically calculated.
            
<math>
  <msup>
    <mrow>
      <mo>(</mo>
      <mfrac>
        <mrow>
          <mn>1</mn>
          <mo>+</mo>
          <mfrac>
            <mn>2</mn>
            <mn>3</mn>
          </mfrac>
        </mrow>
        <mn>4</mn>
      </mfrac>
      <mo>)</mo>
    </mrow>
    <mn>5</mn>
  </msup>
</math> 
          
            The <mrow> element accepts the attributes described
            in 2.1.3 Global Attributes. An <mrow>
            element with in-flow children
            child1, child2, …, childN
            is laid out as shown on Figure 10. The child boxes
            are put in a row one after the other with all their
            alphabetic baselines
            aligned.
          
<mrow> elementThe algorithm for stretching operators along the block axis consists in the following steps:
LToStretch containing
                embellished operators with
                a stretchy property and block stretch axis;
                and a second list LNotToStretch.
              LNotToStretch.
                If LToStretch is empty then stop.
                If LNotToStretch is empty, perform
                layout with block stretch size constraint
                (0, 0) for
                all the items of LToStretch.
              Uascent
                and Udescent as respectively the maximum
                ink ascent and maximum ink descent of the margin boxes of
                in-flow children that
                have been laid out in the previous step.
              LToStretch with
                block stretch size constraint
                (Uascent, Udescent).
              
              If the box is not an anonymous <mrow> box
              and the associated element does not have its computed
              display property equal to
              block math or inline math
              then it is laid out according to the CSS specification where
              the corresponding value is described.
              Otherwise, the layout below is performed.
            
A child box is slanted if it is not an embellished operator and has nonzero italic correction.
lspace and
              rspace.
            The min-content inline size (respectively max-content inline size) are calculated using the following algorithm:
add-space to true if
                the box corresponds to a math element
                or is not an
                embellished operator; and to false otherwise.
              inline-offset to 0.previous-italic-correction to 0.inline-offset by
                    previous-italic-correction.
                  add-space is true then
                    increment inline-offset by
                    its lspace property.
                  inline-offset by
                    the min-content inline size
                    (respectively max-content inline size) of
                    the child's margin box.
                  previous-italic-correction to
                    its italic correction. Otherwise set it to 0.
                  add-space is true then
                    increment inline-offset by
                    its rspace property.
                  inline-offset by
                previous-italic-correction.
              inline-offset.
              The in-flow children are laid out using the algorithm for stretching operators along the block axis.
The inline size of the math content is calculated like the min-content inline size and max-content inline size of the math content, using the inline size of the in-flow children's margin boxes instead.
The ink line-ascent (respectively line-ascent) of the math content is the maximum of the ink line-ascents (respectively line-ascents) of all the in-flow children's margin boxes. Similarly, the ink line-descent (respectively line-descent) of the math content is the maximum of the ink line-descents (respectively ink line-ascents) of all the in-flow children's margin boxes.
The in-flow children are positioned using the following algorithm:
add-space to true if
                the box corresponds to a math element
                or is not an
                embellished operator; and to false otherwise.
              inline-offset to 0.previous-italic-correction to 0.inline-offset by
                    previous-italic-correction.
                  add-space is true then
                    increment inline-offset by
                    its lspace property.
                  inline-offset and its block offset such
                    that the alphabetic baseline of the child is aligned with the alphabetic baseline.
                  inline-offset by
                    the inline size of the child's margin box.
                  previous-italic-correction to
                    its italic correction. Otherwise set it to 0.
                  add-space is true then
                    increment inline-offset by
                    its rspace property.
                  The italic correction of the math content is set to the italic
              correction of the last in-flow child, which is
              the final value of previous-italic-correction.
The mfrac element is used for fractions. It can also be used to mark up fraction-like objects such as binomial coefficients and Legendre symbols.
            If the <mfrac> element does not have its computed
            display property equal to block math
            or inline math
            then it is laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise, the layout below is performed.
          
            The <mfrac> element accepts the attributes described
            in 2.1.3 Global Attributes as well as the
            following attribute:
          
The linethickness attribute indicates the fraction line thickness to use for the fraction bar. If present, it must have a value that is a valid <length-percentage>. If the attribute is absent or has an invalid value, FractionRuleThickness is used as the default value. A percentage is interpreted relative to that default value. A negative value is interpreted as 0.
The following example contains four fractions
              with different linethickness values. The bars are always
              aligned with the middle of plus and minus signs.
              The numerator and denominator are horizontally centered.
              The fractions that are not in displaystyle
              use smaller gaps and font-size.
<math>
  <mn>0</mn>
  <mo>+</mo>
  <mfrac displaystyle="true">
    <mn>1</mn>
    <mn>2</mn>
  </mfrac>
  <mo>−</mo>
  <mfrac>
    <mn>1</mn>
    <mn>2</mn>
  </mfrac>
  <mo>+</mo>
  <mfrac linethickness="200%">
    <mn>1</mn>
    <mn>234</mn>
  </mfrac>
  <mo>−</mo>
  <mrow>
    <mo>(</mo>
    <mfrac linethickness="0">
      <mn>123</mn>
      <mn>4</mn>
    </mfrac>
    <mo>)</mo>
  </mrow>
</math> 
          
            The <mfrac> element sets
            displaystyle to false,
            or if it was already false increments
            scriptlevel by 1, within its children.
            It sets math-shift to
            compact within its second child.
            To avoid visual confusion between the fraction bar and another
            adjacent items (e.g. minus sign or another fraction's bar),
            a default 1-pixel space is added around the element.
            The user agent stylesheet
            must contain the following rules:
          
mfrac {
  padding-inline: 1px;
}
mfrac > * {
  math-depth: auto-add;
  math-style: compact;
}
mfrac > :nth-child(2) {
  math-shift: compact;
}
            If the <mfrac> element
            has less or more than two in-flow children, its layout algorithm
            is the same as the mrow element.
            Otherwise, the first in-flow child is called
            numerator, the second in-flow child is called
            denominator and the layout algorithm is explained below.
          
<mfrac> element has two children
            that are in-flow. Hence the CSS rules basically perform
            scriptlevel, displaystyle
            and math-shift
            changes for the numerator and
            denominator.
          
              If the fraction line thickness is nonzero, the
              <mfrac>
              element is laid out as shown on Figure 12.
              The fraction bar must only be painted if the
              visibility of
              the <mfrac> element is visible.
              In that case, the fraction bar must be painted with the
              color
              of the <mfrac> element.
            
<mfrac> elementThe min-content inline size (respectively max-content inline size) of content is the maximum between the min-content inline size (respectively max-content inline size) of the numerator's margin box and the min-content inline size (respectively max-content inline size) of the denominator's margin box.
If there is an inline stretch size constraint or a block stretch size constraint then the numerator is also laid out with the same stretch size constraint, otherwise it is laid out without any stretch size constraint. The denominator is always laid out without any stretch size constraint.
The inline size of the math content is the maximum between the inline size of the numerator's margin box and the inline size of the denominator's margin box.
NumeratorShift is the maximum between:
compact
                (respectively normal).
              compact
                (respectively normal) +
                the ink line-descent of the numerator's margin box.
              DenominatorShift is the maximum between:
compact
                (respectively normal).
              compact
                (respectively normal) +
                the ink line-ascent of the denominator's margin box −
                the AxisHeight.
              The line-ascent of the math content is the maximum between:
Numerator Shift +
                 the line-ascent of the numerator's margin box.
              Denominator Shift +
                the line-ascent of the denominator's margin box
              The line-descent of the math content is the maximum between:
Numerator Shift
                + the line-descent of the numerator's margin box.
              Denominator Shift
                + the line-descent of the denominator's margin box.
              The inline offset of the numerator (respectively denominator) is half the inline size of the math content − half the inline size of the numerator's margin box (respectively denominator's margin box).
              The alphabetic baseline of the numerator (respectively denominator)
              is shifted away from the alphabetic baseline by a distance of
              NumeratorShift (respectively
              DenominatorShift)
              towards the line-over (respectively line-under).
            
The math content box is placed within the content box so that their block-start edges are aligned and the middles of these edges are at the same position.
The inline size of the fraction bar is the inline size of the content box and its inline-start edge is the aligned with the one the content box. The center of the fraction bar is shifted away from the alphabetic baseline of the math content box by a distance of AxisHeight towards the line-over. Its block size is the fraction line thickness.
              If the fraction line thickness is zero,
              the <mfrac> element is instead laid out as
              shown on Figure 13.
            
<mfrac> element without barThe min-content inline size, max-content inline size and inline size of the math content are calculated the same as in 3.3.2.1 Fraction with nonzero line thickness.
If there is an inline stretch size constraint or a block stretch size constraint then the numerator is also laid out with the same stretch size constraint and otherwise it is laid out without any stretch size constraint. The denominator is always laid out without any stretch size constraint.
              If the math-style is compact then
              TopShift and
              BottomShift are respectively
              set to StackTopShiftUp and StackBottomShiftDown.
              Otherwise math-style is normal and
              they are respectively set to StackTopDisplayStyleShiftUp
              and StackBottomDisplayStyleShiftDown.
            
              The Gap is defined to be
              (BottomShift −
              the ink line-ascent of the denominator's margin box) +
              (TopShift −
              the ink line-descent of the numerator's margin box).
              If math-style is compact
              then GapMin
              is StackGapMin,
              otherwise math-style is normal
              and it is StackDisplayStyleGapMin.
              If Δ = GapMin − Gap is positive then
              TopShift and BottomShift
              are respectively increased by Δ/2 and Δ − Δ/2.
            
The line-ascent of the math content is the maximum between:
TopShift +
                 the line-ascent of the numerator's margin box.
              BottomShift
                + the line-ascent of the denominator's margin box.
              The line-descent of the math content is the maximum between:
TopShift
                + the line-descent of the numerator's margin box.
              BottomShift
                + the line-descent of the denominator's margin box.
              The inline offsets of the numerator and denominator are calculated the same as in 3.3.2.1 Fraction with nonzero line thickness.
              The alphabetic baseline of the numerator (respectively denominator) is
              shifted away from the alphabetic baseline by a distance of
              TopShift (respectively −
              BottomShift) towards the
              line-over (respectively line-under).
            
The math content box is placed within the content box so that their block-start edges are aligned and the middles of these edges are at the same position.
The radical elements construct an expression with a root symbol √ with a line over the content. The msqrt element is used for square roots, while the mroot element is used to draw radicals with indices, e.g. a cube root.
            The <msqrt> and <mroot>
            elements accept the attributes described
            in 2.1.3 Global Attributes.
          
The following example contains a square root
              written with msqrt and a cube root written
              with mroot.
              Note that msqrt has several children and the
              square root applies to all of them.
              mroot has exactly two children: it is a
              root of index the second child (the number 3), applied to the
              first child (the square root).
              Also note these elements only change the font-size within the
              mroot index, but it is scaled down more than
              within the numerator and denumerator of the fraction.
            
<math>
  <mroot>
    <msqrt>
      <mfrac>
        <mn>1</mn>
        <mn>2</mn>
      </mfrac>
      <mo>+</mo>
      <mn>4</mn>
    </msqrt>
    <mn>3</mn>
  </mroot>
  <mo>+</mo>
  <mn>0</mn>
</math> 
          
            The <msqrt> and <mroot>
            elements sets math-shift to
            compact.
            The <mroot> element
            increments scriptlevel by 2, and sets displaystyle to "false" in all
            but its first child.
            The user agent stylesheet
            must contain the following rule in order to implement that behavior:
          
mroot > :not(:first-child) {
  math-depth: add(2);
  math-style: compact;
}
mroot, msqrt {
  math-shift: compact;
}
            If the <msqrt> or <mroot>
            element do not have their computed
            display property equal to block math
            or inline math
            then they are laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise, the layout below is performed.
          
            If the <mroot> has less or more than two
            in-flow children,
            its layout algorithm
            is the same as the mrow element.
            Otherwise, the first in-flow child is called
            mroot base and
            the second in-flow child is called
            mroot index
            and its layout algorithm is explained below.
          
<mroot> element has two children
            that are in-flow. Hence the CSS rules basically perform
            scriptlevel and displaystyle changes for the index.
          
            The <msqrt> element
            generates an anonymous <mrow> box
            called the msqrt base.
          
              The radical symbol must only be painted if the
              visibility of
              the <msqrt> or <mroot>
              element is visible.
              In that case, the radical symbol must be painted with the
              color
              of that element.
            
              Let dir be the computed direction
              of the <msqrt> or <mroot> element.
              The radical glyph is the glyph obtained as a result of running
              get a glyph corresponding to the U+221A SQUARE ROOT character
              given dir.
            
              The radical gap is given by
              RadicalVerticalGap
              if the math-style is compact and
              RadicalDisplayStyleVerticalGap
              if the math-style is normal.
            
The radical target size for the stretchy radical glyph is the sum of RadicalRuleThickness, radical gap and the ink height of the base.
The box metrics of the radical glyph and painting of the surd are given by the algorithm to shape a stretchy glyph to the target size for the radical glyph in the block dimension.
              The <msqrt> element is laid out as shown on
              Figure 14.
            
<msqrt> elementThe min-content inline size (respectively max-content inline size) of the math content is the sum of the preferred inline size of a glyph stretched along the block axis for the radical glyph and of the min-content inline size (respectively max-content inline size) of the msqrt base's margin box.
The inline size of the math content is the sum of the advance width of the box metrics of the radical glyph and of the inline size of the msqrt base's margin's box.
The line-ascent of the math content is the maximum between:
The line-descent of the math content is the maximum between:
The inline size of the overbar is the inline size of the msqrt base's margin's box. The inline offsets of the msqrt base and overbar are also the same and equal to the width of the box metrics of the radical glyph.
The alphabetic baseline of the msqrt base is aligned with the alphabetic baseline. The block size of the overbar is RadicalRuleThickness. Its vertical center is shifted away from the alphabetic baseline by a distance towards the line-over equal to the line-ascent of the math content, minus the RadicalExtraAscender, minus half the RadicalRuleThickness.
Finally, the painting of the surd is performed:
              The <mroot> element is laid out as shown on
              Figure 15.
              The mroot index is first ignored and the mroot base
              and
              radical glyph are laid out as
              shown on figure Figure 14
              using the same algorithm as in
              3.3.3.2 Square root
              in order to produce a margin box B (represented in green).
            
<mroot> elementThe min-content inline size (respectively max-content inline size) of the math content is the sum of max(0, RadicalKernBeforeDegree), the mroot index's min-content inline size (respectively max-content inline size) of the mroot index's margin box, max(−min-content inline size, RadicalKernAfterDegree) (respectively max(−max-content inline size of the mroot index's margin box, RadicalKernAfterDegree)) and of the min-content inline size (respectively max-content inline size) of B.
Using the same clamping, AdjustedRadicalKernBeforeDegree and AdjustedRadicalKernAfterDegree are respectively defined as max(0, RadicalKernBeforeDegree) and is max(−inline size of the index's margin box, RadicalKernAfterDegree).
The inline size of the math content is the sum of AdjustedRadicalKernBeforeDegree, the inline size of the index's margin box, AdjustedRadicalKernAfterDegree and of the inline size of B.
The line-ascent of the math content is the maximum between:
The line-descent of the math content is the maximum between:
The inline offset of the index is AdjustedRadicalKernBeforeDegree. The inline-offset of the mroot base is the same + the inline size of the index's margin box.
The alphabetic baseline of B is aligned with the alphabetic baseline. The alphabetic baseline of the index is shifted away from the line-under edge by a distance of RadicalDegreeBottomRaisePercent × the block size of B + the line-descent of the index's margin box.
Historically, the mstyle element was introduced to make style changes that affect the rendering of its contents.
            The <mstyle> element accepts the attributes described in
            2.1.3 Global Attributes. Its layout algorithm is the
            same as the mrow element.
          
<mstyle> is implemented for compatibility with full MathML. Authors whose only target is MathML Core are encouraged to use CSS for styling.
          In the following example,
              mstyle is used to set the scriptlevel
              and displaystyle.
              Observe this is respectively affecting the
              font-size and placement of subscripts of their
              descendants. In MathML Core, one could just have used
              mrow elements instead.
            
<math>
  <munder>
    <mo movablelimits="true">*</mo>
    <mi>A</mi>
  </munder>
  <mstyle scriptlevel="1">
    <mstyle displaystyle="true">
      <munder>
        <mo movablelimits="true">*</mo>
        <mi>B</mi>
      </munder>
      <munder>
        <mo movablelimits="true">*</mo>
        <mi>C</mi>
      </munder>
    </mstyle>
    <munder>
      <mo movablelimits="true">*</mo>
      <mi>D</mi>
    </munder>
  </mstyle>
</math> 
          The merror element displays its contents as an ”error message”. The intent of this element is to provide a standard way for programs that generate MathML from other input to report syntax errors in their input.
In the following example,
              merror is used to indicate a parsing error
              for some LaTeX-like input:
            
<math>
  <mfrac>
    <merror>
      <mtext>Syntax error: \frac{1}</mtext>
    </merror>
    <mn>3</mn>
  </mfrac>
</math> 
          
            The <merror> element accepts the attributes described in
            2.1.3 Global Attributes. Its layout algorithm is the
            same as the mrow element.
            The user agent stylesheet
            must contain the following rule in order to visually highlight the error
            message:
          
merror {
  border: 1px solid red;
  background-color: lightYellow;
}
            The
            mpadded
            element renders the same as its in-flow child content, but with the
            size and relative positioning point of its
            content modified according to <mpadded>’s attributes.
          
            The <mpadded> element accepts the attributes described
            in 2.1.3 Global Attributes as well as the following
            attributes:
          
The width, height, depth, lspace and voffset if present, must have a value that is a valid <length-percentage>.
In the following example, mpadded is used to
              tweak spacing around a fraction
              (a blue background is used to visualize it).
              Without attributes, it behaves like an mrow but
              the attributes allow to specify the size of the box
              (width, height, depth) and position of the fraction within that
              box (lspace and voffset).
            
<math>
  <mrow>
    <mn>1</mn>
    <mpadded style="background: lightblue;">
      <mfrac>
        <mn>23456</mn>
        <mn>78</mn>
      </mfrac>
    </mpadded>
    <mn>9</mn>
  </mrow>
  <mo>+</mo>
  <mrow>
    <mn>1</mn>
    <mpadded lspace="2em" voffset="-1em" height="1em" depth="3em" width="7em"
             style="background: lightblue;">
      <mfrac>
        <mn>23456</mn>
        <mn>78</mn>
      </mfrac>
    </mpadded>
    <mn>9</mn>
  </mrow>
</math> 
          
              The mpadded element
              generates an anonymous <mrow> box called the
              mpadded inner box with parameters called
              inner inline size, inner line-ascent and inner line-descent.
            
              The requested <mpadded>
              parameters are determined as follows:
            
width
                attribute is present, valid and not a percentage then
                that attribute is used as a
                presentational hint
                setting the element's
                width
                property to the corresponding value.
              height
                attribute is absent, invalid or a percentage then the requested
                height is the inner line-ascent.
                Otherwise the requested height is the resolved
                value of the height attribute, clamping
                negative values to 0.
              depth
                attribute is absent, invalid or a percentage then the requested
                depth is the inner line-ascent.
                Otherwise the requested depth is the resolved
                value of the depth attribute, clamping
                negative values to 0.
              lspace
                attribute is absent, invalid or a percentage then the requested
                lspace is 0. Otherwise the requested lspace is the resolved
                value of the lspace attribute, clamping
                negative values to 0.
              voffset
                attribute is absent, invalid or a percentage then the requested
                voffset is 0. Otherwise the requested voffset is the resolved
                value of the voffset attribute.
                voffset values are not clamped to
                  0.
                
              If the <mpadded> element does not have its
              computed
              display property equal to block math
              or inline math
              then it is laid out according to the CSS specification where
              the corresponding value is described.
              Otherwise, it is laid out as shown on
              Figure 16.
            
<mpadded> elementThe min-content inline size (respectively max-content inline size) of the math content is the requested width calculated in 3.3.6.1 Inner box and requested parameters but using the min-content inline size (respectively max-content inline size) of the mpadded inner box instead of the "inner inline size".
The inline size of the math content is the requested width calculated in 3.3.6.1 Inner box and requested parameters.
The line-ascent of the math content is the requested height. The line-descent of the math content is the requested depth.
The mpadded inner box is placed so that its alphabetic baseline is shifted away from the alphabetic baseline by the requested voffset towards the line-over.
Historically, the mphantom element was introduced to render its content invisibly, but with the same metrics size and other dimensions, including alphabetic baseline position that its contents would have if they were rendered normally.
In the following example,
              mphantom is used to ensure alignment of
              corresponding parts of the numerator and denominator of a
              fraction:
            
<math>
  <mfrac>
    <mrow>
      <mi>x</mi>
      <mo>+</mo>
      <mi>y</mi>
      <mo>+</mo>
      <mi>z</mi>
    </mrow>
    <mrow>
      <mi>x</mi>
      <mphantom>
        <mo form="infix">+</mo>
        <mi>y</mi>
      </mphantom>
      <mo>+</mo>
      <mi>z</mi>
    </mrow>
  </mfrac>
</math> 
          
            The <mphantom> element accepts the attributes described
            in 2.1.3 Global Attributes. Its layout algorithm is
            the same as the mrow element.
            The user agent stylesheet
            must contain the following rule in order to hide the content:
          
mphantom {
  visibility: hidden;
}<mphantom> is implemented for compatibility with full MathML. Authors whose only target is MathML Core are encouraged to use CSS for styling.
          The elements described in this section position one or more scripts around a base. Attaching various kinds of scripts and embellishments to symbols is a very common notational device in mathematics. For purely visual layout, a single general-purpose element could suffice for positioning scripts and embellishments in any of the traditional script locations around a given base. However, in order to capture the abstract structure of common notation better, MathML provides several more specialized scripting elements.
In addition to sub-/superscript elements, MathML has overscript and underscript elements that place scripts above and below the base. These elements can be used to place limits on large operators, or for placing accents and lines above or below the base.
The msub, msup and msubsup elements are used to attach subscript and superscript to a MathML expression. They accept the attributes described in 2.1.3 Global Attributes.
The following example shows basic use of subscripts and superscripts. The font-size is automatically scaled down within the scripts.
<math>
  <msub>
    <mn>1</mn>
    <mn>2</mn>
  </msub>
  <mo>+</mo>
  <msup>
    <mn>3</mn>
    <mn>4</mn>
  </msup>
  <mo>+</mo>
  <msubsup>
    <mn>5</mn>
    <mn>6</mn>
    <mn>7</mn>
  </msubsup>
</math> 
          
            If the
            <msub>,
            <msup> or
            <msubsup> elements do not have their
            computed
            display property equal to block math
            or inline math
            then they are laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise, the layout below is performed.
          
              If the <msub> element
              has less or more than two in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              msub base, the second in-flow child is called the
              msub subscript and the layout algorithm is explained
              in 3.4.1.2 Base with subscript.
            
              If the <msup> element
              has less or more than two in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              msup base, the second in-flow child is called the
              msup superscript and the layout algorithm is explained
              in 3.4.1.3 Base with superscript.
            
              If the <msubsup> element
              has less or more than three in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              msubsup base, the second in-flow child
              is called the msubsup subscript,
              its third in-flow child is called
              the msubsup superscript and the layout algorithm is explained
              in 3.4.1.4 Base with subscript and superscript.
            
              The <msub> element is laid out as shown on
              Figure 17.
              LargeOpItalicCorrection
              is the italic correction of the msub base
              if it is an embellished operator with
              the largeop property and 0 otherwise.
            
<msub> element
              The
              min-content inline size (respectively max-content inline size) of the math content is the
              min-content inline size (respectively max-content inline size) of the msub base's margin box −
              LargeOpItalicCorrection +
              min-content inline size (respectively max-content inline size) of
              the msub subscript's margin box + SpaceAfterScript.
            
If there is an inline stretch size constraint or a block stretch size constraint then the msub base is also laid out with the same stretch size constraint and otherwise it is laid out without any stretch size constraint. The scripts are always laid out without any stretch size constraint.
              The inline size of the math content
              is the inline size of the msub base's margin box −
              LargeOpItalicCorrection +
              the inline size of
              the msub subscript's margin box + SpaceAfterScript.
            
              SubShift is the maximum between:
            
The line-ascent of the math content is the maximum between:
SubShift.The line-descent of the math content is the maximum between:
SubShift.
              The inline offset of the msub base is 0 and the inline offset of the
              msub subscript is the inline size of the msub base's margin box −
              LargeOpItalicCorrection.
            
              The msub base is placed so that its alphabetic baseline
              matches the alphabetic baseline. The msub subscript is placed so that its alphabetic baseline
              is shifted away from the alphabetic baseline by SubShift
              towards the line-under.
            
              The <msup> element is laid out as shown on
              Figure 18.
              ItalicCorrection
              is the italic correction of the msup base
              if it is not an embellished operator with
              the largeop property and 0 otherwise.
            
<msup> element
              The
              min-content inline size (respectively max-content inline size)
              of the math content
              is the
              min-content inline size (respectively max-content inline size) of
              the msup base's margin box +
              ItalicCorrection +
              the min-content inline size (respectively max-content inline size) of
              the msup superscript's margin box + SpaceAfterScript.
            
If there is an inline stretch size constraint or a block stretch size constraint then the msup base is also laid out with the same stretch size constraint and otherwise it is laid out without any stretch size constraint. The scripts are always laid out without any stretch size constraint.
              The inline size of the math content
              is the inline size of the msup base's margin box +
              ItalicCorrection +
              the inline size of
              the msup superscript's margin box + SpaceAfterScript.
            
              SuperShift is the maximum between:
            
compact, or
                SuperscriptShiftUp otherwise.The line-ascent of the math content is the maximum between:
SuperShift.The line-descent of the math content is the maximum between:
SuperShift.
              The inline offset of the msup base is 0 and the inline offset of
              msup superscript is the inline size of the msup base's margin box +
              ItalicCorrection.
            
              The msup base is placed so that its alphabetic baseline
              matches the alphabetic baseline. The msup superscript is placed so that its
              alphabetic baseline
              is shifted away from the alphabetic baseline by SuperShift
              towards the line-over.
            
              The <msubsup> element is laid out as shown on
              Figure 18.
              LargeOpItalicCorrection and SubShift
              are set as in 3.4.1.2 Base with subscript.
              ItalicCorrection and SuperShift
              are set as in 3.4.1.3 Base with superscript.
            
<msubsup> elementThe min-content inline size (respectively max-content inline size and inline size) of the math content is the maximum between the min-content inline size (respectively max-content inline size and inline size) of the math content calculated in 3.4.1.2 Base with subscript and 3.4.1.3 Base with superscript.
If there is an inline stretch size constraint or a block stretch size constraint then the msubsup base is also laid out with the same stretch size constraint and otherwise it is laid out without any stretch size constraint. The scripts are always laid out without any stretch size constraint.
If there is an inline stretch size constraint or a block stretch size constraint then the msubsup base is also laid out with the same stretch size constraint and otherwise it is laid out without any stretch size constraint. The scripts are always laid out without any stretch size constraint.
              SubSuperGap is the gap between the two scripts
              along the block axis and is defined by
              (SubShift − the ink line-ascent of the msubsup subscript's
              margin box) +
              (SuperShift − the ink line-descent of the
              msubsup superscript's margin box).
              If SubSuperGap is not at least
              SubSuperscriptGapMin then the following steps are
              performed to ensure that the condition holds:
            
SuperShift − the ink line-descent of the
                msubsup superscript's margin box).
                If Δ > 0 then set Δ to the minimum between Δ set
                SubSuperscriptGapMin − SubSuperGap and
                increase SuperShift (and so
                SubSuperGap too) by Δ.
              SubSuperGap.
                If Δ > 0 then
                increase SubscriptShift (and so
                SubSuperGap too) by Δ.
              
              The ink line-ascent (respectively line-ascent, ink line-descent,
              line-descent) of the math content
              is set to the maximum
              of the
              ink line-ascent (respectively line-ascent, ink line-descent,
              line-descent) of the math content
              calculated in
              3.4.1.2 Base with subscript and
              3.4.1.3 Base with superscript
              but using the adjusted values SubShift and
              SuperShift above.
            
The inline offset and block offset of the msubsup base and scripts are performed the same as described in 3.4.1.2 Base with subscript and 3.4.1.3 Base with superscript.
                Even when the msubsup subscript (respectively msubsup superscript) is an empty
                box, <msubsup>
                does not generally render the same as
                3.4.1.3 Base with superscript
                (respectively 3.4.1.2 Base with subscript)
                because of the additional constraint on
                SubSuperGap.
                Moreover, positioning the empty msubsup subscript
                (respectively msubsup superscript)
                may also change the total size.
              
In order to keep the algorithm simple, no attempt is made to handle empty scripts in a special way.
The munder, mover and munderover elements are used to attach accents or limits placed under or over a MathML expression.
            The <munderover> element accepts the attribute
            described in 2.1.3 Global Attributes as well as the
            following attributes:
          
            Similarly, the <mover> element
            (respectively <munder> element) accepts the
            attribute described in 2.1.3 Global Attributes
            as well as the accent
            attribute (respectively the
            accentunder attribute).
          
            accent,
            accentunder
            attributes, if present, must have values that are booleans.
            If these attributes are absent or invalid, they are treated as
            equal to false.
            User agents must implement them as described in
            3.4.4 Displaystyle, scriptlevel and math-shift in scripts.
          
The following example shows basic use of under- and overscripts. The font-size is automatically scaled down within the scripts, unless they are meant to be accents.
<math>
  <munder>
    <mn>1</mn>
    <mn>2</mn>
  </munder>
  <mo>+</mo>
  <mover>
    <mn>3</mn>
    <mn>4</mn>
  </mover>
  <mo>+</mo>
  <munderover>
    <mn>5</mn>
    <mn>6</mn>
    <mn>7</mn>
  </munderover>
  <mo>+</mo>
  <munderover accent="true">
    <mn>8</mn>
    <mn>9</mn>
    <mn>10</mn>
  </munderover>
  <mo>+</mo>
  <munderover accentunder="true">
    <mn>11</mn>
    <mn>12</mn>
    <mn>13</mn>
  </munderover>
</math> 
          
            If the
            <munder>,
            <mover> or
            <munderover> elements do not have their
            computed
            display property equal to block math
            or inline math
            then they are laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise, the layout below is performed.
          
              If the <munder> element
              has less or more than two in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              munder base and the second in-flow child is called the
              munder underscript.
            
              If the <mover> element
              has less or more than two in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              mover base and the second in-flow child is called the
              mover overscript.
            
              If the <munderover> element
              has less or more than three in-flow children, its layout algorithm
              is the same as the mrow element.
              Otherwise, the first in-flow child is called the
              munderover base, the second in-flow child
              is called the munderover underscript
              and its third in-flow child is called
              the munderover overscript.
            
              If the
              <munder>, <mover> or
              <munderover> elements have a computed
              math-style property equal to compact
              and their base is an embellished operator with the
              movablelimits property, then
              their layout algorithms are respectively
              the same as the ones described for
              <msub>, <msup> and
              <msubsup> in
              3.4.1.2 Base with subscript,
              3.4.1.3 Base with superscript and
              3.4.1.4 Base with subscript and superscript.
            
              Otherwise, the
              <munder>, <mover> and
              <munderover> layout algorithms are respectively
              described in
              3.4.2.3 Base with underscript,
              3.4.2.4 Base with overscript and
              3.4.2.5 Base with underscript and overscript.
            
The algorithm for stretching operators along the inline axis is as follows.
LToStretch containing
                embellished operators with
                a stretchy property and inline stretch axis;
                and a second list LNotToStretch.
              LNotToStretch.
                If LToStretch is empty then stop.
                If LNotToStretch is empty, perform
                layout with inline stretch size constraint 0 for
                all the items of LToStretch.
              T to
                the maximum inline size of the
                margin boxes of child boxes that have been laid out in the
                previous step.
              LToStretch
                with inline stretch size constraint T.
              
              The <munder> element is laid out as shown on
              Figure 20.
              LargeOpItalicCorrection
              is the italic correction of the munder base
              if it is an embellished operator with
              the largeop property and 0 otherwise.
            
<munder> elementThe min-content inline size (respectively max-content inline size) of the math content are calculated like the inline size of the math content below but replacing the inline sizes of the munder base's margin box and munder underscript's margin box with the min-content inline size (respectively max-content inline size) of the munder base's margin box and munder underscript's margin box.
The in-flow children are laid out using the algorithm for stretching operators along the inline axis.
The inline size of the math content is calculated by determining the absolute difference between:
LargeOpItalicCorrection.LargeOpItalicCorrection.
              If m is the minimum calculated in the second item above then the
              inline offset
              of the munder base is −m − half the inline size of the base's margin box.
              The inline offset of the munder underscript is
              −m − half the inline size of the munder underscript's margin box −
              half LargeOpItalicCorrection.
            
              Parameters
              UnderShift and UnderExtraDescender
              are determined by considering three cases in the following order:
            
                  The munder base is an
                  embellished operator with the
                  largeop property.
                  UnderShift is the maximum of
                
                  UnderExtraDescender is 0.
                
                  The munder base is an
                  embellished operator with the
                  stretchy property
                  and stretch axis inline.
                  UnderShift is the maximum of:
                
UnderExtraDescender is 0.
              UnderShift is equal to UnderbarVerticalGap
                if the accentunder attribute is not an
                ASCII case-insensitive match to true
                and to zero otherwise.
                UnderExtraAscender is
                UnderbarExtraDescender.
              The line-ascent of the math content is the maximum between:
UnderShift.The line-descent of the math content is the maximum between:
UnderShift + UnderExtraAscender.
              The alphabetic baseline of the munder base is aligned with the alphabetic baseline.
              The alphabetic baseline of the munder underscript is shifted away from the alphabetic baseline
              and towards the line-under by a distance equal to
              the ink line-descent of the munder base's margin box
              + UnderShift.
            
The math content box is placed within the content box so that their block-start edges are aligned and the middles of these edges are at the same position.
              The <mover> element is laid out as shown on
              Figure 21.
              LargeOpItalicCorrection
              is the italic correction of the mover base
              if it is an embellished operator with
              the largeop property and 0 otherwise.
            
<mover> elementThe min-content inline size (respectively max-content inline size) of the math content are calculated like the inline size of the math content below but replacing the inline sizes of the mover base's margin box and mover overscript's margin box with the min-content inline size (respectively max-content inline size) of the mover base's margin box and mover overscript's margin box.
The in-flow children are laid out using the algorithm for stretching operators along the inline axis.
              The TopAccentAttachment is the
              top accent attachment of the mover overscript or
              half the inline size of the mover overscript's margin box
              if it is undefined.
            
The inline size of the math content is calculated by applying the algorithm for stretching operators along the inline axis for layout and determining the absolute difference between:
TopAccentAttachment +
                    half LargeOpItalicCorrection.TopAccentAttachment +
                    half LargeOpItalicCorrection.
              If m is the minimum calculated in the second item above then the
              inline offset
              of the mover base is −m − half the inline size of the base's margin.
              The inline offset of the mover overscript is
              −m − half the inline size of the mover overscript's margin box +
              half LargeOpItalicCorrection.
            
              Parameters
              OverShift and OverExtraDescender
              are determined by considering three cases in the following order:
            
                  The mover base is an
                  embellished operator with the
                  largeop property.
                  OverShift is the maximum of
                
                  OverExtraAscender is 0.
                
                  The mover base is an
                  embellished operator with the
                  stretchy property and
                  stretch axis inline.
                  OverShift is the maximum of:
                
OverExtraDescender is 0.
              
                  Otherwise, OverShift is equal to
accent attribute is not an
                    ASCII case-insensitive match to true.
                  OverExtraAscender is OverbarExtraAscender.
                
The line-ascent of the math content is the maximum between:
OverShift + OverExtraAscender.The line-descent of the math content is the maximum between:
OverShift.
              The alphabetic baseline of the mover base is aligned with the alphabetic baseline.
              The alphabetic baseline of the mover overscript is shifted away from the alphabetic baseline
              and towards the line-over by a distance equal to
              the ink line-ascent of the base + OverShift.
            
The math content box is placed within the content box so that their block-start edges are aligned and the middles of these edges are at the same position.
              The general layout of <munderover> is shown on
              Figure 22. The
              LargeOpItalicCorrection,
              UnderShift,
              UnderExtraDescender,
              OverShift,
              OverExtraDescender parameters
              are calculated the same as in
              3.4.2.3 Base with underscript and
              3.4.2.4 Base with overscript.
            
<munderover> elementThe min-content inline size, max-content inline size and inline size of the math content are calculated as an absolute difference between a maximum inline offset and minimum inline offset. These extrema are calculated by taking the extremum value of the corresponding extrema calculated in 3.4.2.3 Base with underscript and 3.4.2.4 Base with overscript. The inline offsets of the munderover base, munderover underscript and munderover overscript are calculated as in these sections but using the new minimum m (minimum of the corresponding minima).
Like in these sections, the in-flow children are laid out using the algorithm for stretching operators along the inline axis.
The line-ascent and line-descent of the math content are also calculated by taking the extremum value of the extrema calculated in 3.4.2.3 Base with underscript and 3.4.2.4 Base with overscript.
Finally, the alphabetic baselines of the munderover base, munderover underscript and munderover overscript are calculated as in sections 3.4.2.3 Base with underscript and 3.4.2.4 Base with overscript.
The math content box is placed within the content box so that their block-start edges are aligned and the middles of these edges are at the same position.
When the underscript (respectively overscript) is an empty box, the base and overscript (respectively underscript) are laid out similarly to 3.4.2.4 Base with overscript (respectively 3.4.2.3 Base with underscript) but the position of the empty underscript (respectively overscript) may add extra space. In order to keep the algorithm simple, no attempt is made to handle empty scripts in a special way.
Presubscripts and tensor notations are represented by the mmultiscripts element. The mprescripts element is used as a separator between the postscripts and prescripts. These two elements accept the attributes described in 2.1.3 Global Attributes.
              The following example shows basic use of prescripts
              and postscripts, involving a mprescripts.
	      Empty mrow elements are used at positions where
              no scripts are rendered.
              The font-size is automatically scaled down within the scripts.
            
<math>
  <mmultiscripts>
    <mn>1</mn>
    <mn>2</mn>
    <mn>3</mn>
    <mrow></mrow>
    <mn>5</mn>
    <mprescripts/>
    <mn>6</mn>
    <mrow></mrow>
    <mn>8</mn>
    <mn>9</mn>
  </mmultiscripts>
</math> 
          
            If the
            <mmultiscripts> or
            <mprescripts>
            elements do not have their
            computed
            display property equal to block math
            or inline math
            then they are laid out according to the CSS specification where
            the corresponding value is described.
            Otherwise, the layout below is performed.
          
            The
            <mprescripts>
            element is laid out as an mrow
            element.
          
            A valid <mmultiscripts> element contains the
            following in-flow children:
          
mprescripts element.
            mprescripts element.
              These scripts form a (possibly empty) list
              subscript, superscript, subscript, superscript,
              subscript, superscript, etc.
              Each consecutive couple of children subscript, superscript
              is called a
              subscript/superscript pair.
            mprescripts element and
              an even number of in-flow children called
              mmultiscripts prescripts, none of them being a
              mprescripts element.
              These scripts form a (possibly empty) list of
              subscript/superscript pair.
            
            If an <mmultiscripts> element is not valid then
            it is laid out the same as the
            mrow element.
            Otherwise the layout algorithm is performed as in
            3.4.3.1 Base with prescripts and postscripts.
          
              The <mmultiscripts> element is laid out as
              shown on Figure 23.
              For each subscript/superscript pair of
              mmultiscripts postscripts,
              the ItalicCorrection
              LargeOpItalicCorrection are defined as
              in 3.4.1.2 Base with subscript
              and 3.4.1.3 Base with superscript.
            
<mmultiscripts> elementThe min-content inline size (respectively max-content inline size) of the math content is calculated the same as the inline size of the math content below, but replacing "inline size" with "min-content inline size" (respectively "max-content inline size") for the mmultiscripts base's margin box and scripts' margin boxes.
If there is an inline stretch size constraint or a block stretch size constraint the mmultiscripts base is also laid out with the same stretch size constraint. Otherwise it is laid out without any stretch size constraint. The other elements are always laid out without any stretch size constraint.
The inline size of the math content is calculated with the following algorithm:
inline-offset to 0.
                  For each subscript/superscript pair of
                  mmultiscripts prescripts, increment
                  inline-offset by SpaceAfterScript + the
                  maximum of
                
inline-offset by the inline size of the
                mmultiscripts base's margin box and
                set inline-size to inline-offset.
              
                  For each subscript/superscript pair of
                  mmultiscripts postscripts, modify
                  inline-size to be at least:
                
LargeOpItalicCorrection.
                  ItalicCorrection.
                  Increment inline-offset to the maximum of:
                  Increment inline-offset by
                  SpaceAfterScript.
                
inline-size.
              SubShift (respectively SuperShift)
              is calculated by taking the maximum of all subshifts
              (respectively supershifts) of each
              subscript/superscript pair as described in
              3.4.1.4 Base with subscript and superscript.
            
              The line-ascent of the math content is calculated
              by taking the maximum of all the line-ascent
              of each subscript/superscript pair as described in
              3.4.1.4 Base with subscript and superscript
              but using the SubShift and
              SuperShift values calculated above.
            
              The line-descent of the math content is calculated
              by taking the maximum of all the line-descent
              of each subscript/superscript pair as described in
              3.4.1.4 Base with subscript and superscript
              but using the SubShift and
              SuperShift values calculated above.
            
Finally, the placement of the in-flow children is performed using the following algorithm:
inline-offset to 0.For each subscript/superscript pair of mmultiscripts prescripts:
inline-offset by
                    SpaceAfterScript.
                  pair-inline-size to the maximum of
                    inline-offset + pair-inline-size
                    − the inline size of the subscript's margin box.
                  inline-offset + pair-inline-size
                    − the inline size of the superscript's margin box.
                  SubShift (respectively SuperShift)
                    towards the line-under (respectively line-over).
                  inline-offset by
                    pair-inline-size.
                  <mprescripts> boxes
                at inline offsets
                inline-offset and with their alphabetic baselines
                aligned with the alphabetic baseline.
              For each subscript/superscript pair of mmultiscripts postscripts:
pair-inline-size to the maximum of
                    inline-offset
                    − LargeOpItalicCorrection.
                  inline-offset
                    + ItalicCorrection.
                  SubShift (respectively SuperShift)
                    towards the line-under (respectively line-over).
                  inline-offset by
                    pair-inline-size.
                  inline-offset by
                    SpaceAfterScript.
                  
                An <mmultiscripts> with only one
                subscript/superscript pair of
                mmultiscripts postscripts is laid out the same as a
                <msubsup> with the same in-flow children.
                However, as
                noticed for
                  <msubsup>,
                if additionally the subscript (respectively superscript) is an
                empty box then it is not necessarily laid out the same as an
                <msub>
                (respectively <msup>) element.
                In order to keep the algorithm simple, no attempt is made to
                handle empty scripts in a special
                way.
              
            For all scripted elements, the rule of thumb is to set
            displaystyle to false and
            to increment scriptlevel in all child
            elements but the first one.
            However, an mover (respectively
            munderover)
            element with an accent
            attribute that is an
            ASCII case-insensitive
            match to true does not increment scriptlevel within
            its second child (respectively third child). Similarly,
            mover and
            munderover elements
            with an accentunder
            attribute that is an
            ASCII case-insensitive
            match to true do not increment scriptlevel within
            their second child.
          
<mmultiscripts> sets
            math-shift to
            compact on its children at even position if they are
            before an mprescripts, and on those at odd position
            if they are after
            an mprescripts.
            The <msub> and <msubsup>
            elements set math-shift to
            compact on their second child.
            mover and
            munderover
            elements with an accent
            attribute that is an
            ASCII case-insensitive
            match to true also set math-shift to
            compact within their first child.
          
The A. User Agent Stylesheet must contain the following style in order to implement this behavior:
msub > :not(:first-child),
msup > :not(:first-child),
msubsup > :not(:first-child),
mmultiscripts > :not(:first-child),
munder > :not(:first-child),
mover > :not(:first-child),
munderover > :not(:first-child) {
  math-depth: add(1);
  math-style: compact;
}
munder[accentunder="true" i] > :nth-child(2),
mover[accent="true" i] > :nth-child(2),
munderover[accentunder="true" i] > :nth-child(2),
munderover[accent="true" i] > :nth-child(3) {
  font-size: inherit;
}
msub > :nth-child(2),
msubsup > :nth-child(2),
mmultiscripts > :nth-child(even),
mmultiscripts > mprescripts ~ :nth-child(odd),
mover[accent="true" i] > :first-child,
munderover[accent="true" i] > :first-child {
  math-shift: compact;
}
mmultiscripts > mprescripts ~ :nth-child(even) {
  math-shift: inherit;
}<mprescripts> is empty.
            Hence the CSS rules essentially perform automatic displaystyle and
            scriptlevel changes for the scripts; and
            math-shift changes for
            subscripts and sometimes the base.
          
          Matrices, arrays and other table-like mathematical notation are marked up
          using
          mtable
          mtr
          mtd
          elements.  These  elements are similar to the
          table,
          tr
          and
          td
          elements of [HTML].
        
The following example shows how tabular layout allows to write a matrix. Note that it is vertically centered with the fraction bar and the middle of the equal sign.
<math>
  <mfrac>
    <mi>A</mi>
    <mn>2</mn>
  </mfrac>
  <mo>=</mo>
  <mrow>
    <mo>(</mo>
    <mtable>
      <mtr>
        <mtd><mn>1</mn></mtd>
        <mtd><mn>2</mn></mtd>
        <mtd><mn>3</mn></mtd>
      </mtr>
      <mtr>
        <mtd><mn>4</mn></mtd>
        <mtd><mn>5</mn></mtd>
        <mtd><mn>6</mn></mtd>
      </mtr>
      <mtr>
        <mtd><mn>7</mn></mtd>
        <mtd><mn>8</mn></mtd>
        <mtd><mn>9</mn></mtd>
      </mtr>
    </mtable>
    <mo>)</mo>
  </mrow>
</math> 
        The mtable is laid out as an
            inline-table and sets
            displaystyle to false. The
            user agent stylesheet must contain
            the following rules in order to implement these properties:
          
mtable {
  display: inline-table;
  math-style: compact;
}
            The mtable element is as a CSS
            table
            and the
            min-content inline size, max-content inline size,
            inline size, block size,
            first baseline set and last baseline set
            sets are determined
            accordingly.
            The center of the table is aligned with the math axis.
          
            The <mtable> accepts the attributes described
            in 2.1.3 Global Attributes.
          
            The mtr is laid out as
            table-row. The
            user agent stylesheet must contain
            the following rules in order to implement that behavior:
          
mtr {
  display: table-row;
}
            The <mtr> accepts the attributes described
            in 2.1.3 Global Attributes.
          
            The mtd is laid out as
            a table-cell with content centered in the cell and
            a default padding. The
            user agent stylesheet must contain
            the following rules:
          
mtd {
  display: table-cell;
  /* Centering inside table cells should rely on box alignment properties.
     See https://github.com/w3c/mathml-core/issues/156 */
  text-align: center;
  padding: 0.5ex 0.4em;
}
            The <mtd> accepts the attributes described
            in 2.1.3 Global Attributes as well as the following attributes:
          
            The columnspan (respectively
            rowspan) attribute has the same
            syntax and semantics as the
            colspan
            (respectively
            rowspan<td> element from [HTML].
            In particular, the parsing of these attributes is handled as
            described in the
            algorithm for processing rows, always reading "colspan" as
            "columnspan".
          
columnspan and is preserved for backward
            compatibility reasons.
          
            The <mtd> element
            generates an anonymous <mrow> box.
          
Historically, the maction element provides a mechanism for binding actions to expressions.
          The <maction> element accepts the attributes described
          in 2.1.3 Global Attributes as well as the following
          attributes:
        
This specification does not define any observable behavior that is specific to the actiontype and selection attributes.
The following example shows the "toggle" action type from [MathML3] where the renderer alternately displays the selected subexpression, starting from "one third" and cycling through them when there is a click on the selected subexpression ("one quarter", "one half", "one third", etc). This is not part of MathML Core but can be implemented using JavaScript and CSS polyfills. The default behavior is just to render the first child.
<math>
  <maction actiontype="toggle" selection="2">
    <mfrac>
      <mn>1</mn>
      <mn>2</mn>
    </mfrac>
    <mfrac>
      <mn>1</mn>
      <mn>3</mn>
    </mfrac>
    <mfrac>
      <mn>1</mn>
      <mn>4</mn>
    </mfrac>
  </maction>
</math> 
        
          The layout algorithm of the <maction> element
          is the same as the <mrow> element.
          The user agent stylesheet
          must contain the following rules in order to hide all but
          its first child element,
          which is the default behavior for the legacy actiontype
          values:
        
maction > :not(:first-child) {
  display: none;
}<maction> is implemented for compatibility with full MathML. Authors whose only target is MathML Core are encouraged to use other HTML, CSS and JavaScript mechanisms to implement custom actions. They may
          rely on maction attributes defined in [MathML3].
        
          The
          semantics
          element is the container element that associates
          annotations with a MathML expression. Typically, the
          <semantics> element has as its first child element
          a MathML expression to be annotated while subsequent child elements
          represent
          text annotations within an annotation
          element, or more complex markup annotations within
          an annotation-xml element.
        
The following example shows how the fraction "one half" can be annotated with a textual annotation (LaTeX) or an XML annotation (content MathML), which are not intended to be rendered by the user agent. This fraction is also annotated with equivalent SVG and HTML markup.
<math>
  <semantics>
    <mfrac>
      <mn>1</mn>
      <mn>2</mn>
    </mfrac>
    <annotation encoding="application/x-tex">\frac{1}{2}</annotation>
    <annotation-xml encoding="application/mathml-content+xml">
      <apply>
        <divide/>
         <cn>1</cn>
         <cn>2</cn>
      </apply>
    </annotation-xml>
    <annotation-xml>
      <svg width="25" height="75" xmlns="http://www.w3.org/2000/svg">
        <path stroke-width="5.8743"
              d="m5.9157 27.415h6.601v-22.783l-7.1813 1.4402v-3.6805l7.1408
                 -1.4402h4.0406v26.464h6.601v3.4005h-17.203z"/>
        <path stroke="#000000" stroke-width="2.3409"
              d="m0.83496 39.228h23.327"/>
        <path stroke-width="5.8743"
              d="m8.696 70.638h14.102v3.4005h-18.963v-3.4005q2.3004-2.3804
                 6.2608-6.3813 3.9806-4.0206 5.0007-5.1808 1.9403-2.1803
                 2.7004-3.6805 0.78011-1.5202 0.78011-2.9804 0-2.3804
                 -1.6802-3.8806-1.6603-1.5002-4.3406-1.5002-1.9003 0-4.0206
                 0.6601-2.1003 0.6601-4.5007 2.0003v-4.0806q2.4404-0.98013
                 4.5607-1.4802 2.1203-0.50007 3.8806-0.50007 4.6407 0 7.401
                 2.3203 2.7604 2.3203 2.7604 6.2009 0 1.8403-0.7001 3.5006
                 -0.68013 1.6402-2.5004 3.8806-0.50007 0.58009-3.1805 3.3605
                 -2.6804 2.7604-7.5614 7.7412z"/>
      </svg>
    </annotation-xml>
    <annotation-xml encoding="application/xhtml+xml">
      <div style="display: inline-flex;
                  flex-direction: column; align-items: center;">
        <div>1</div>
        <div>―</div>
        <div>2</div>
      </div>
    </annotation-xml>
  </semantics>
</math> 
        
          The <semantics> element accepts the attributes
          described in 2.1.3 Global Attributes. Its layout algorithm
          is the same as the mrow element.
          The user agent stylesheet
          must contain the following rule in order to only render the annotated
          MathML expression:
        
semantics > :not(:first-child) {
  display: none;
}
          The <annotation-xml> and
          <annotation> element accepts the attributes
          described in 2.1.3 Global Attributes as well as the
          following attribute:
        
This specification does not define any observable behavior that is specific to the encoding attribute.
          The layout algorithm of the <annotation-xml>
          and <annotation>
          element is the same as the mtext element.
        
encoding attribute to distinguish
          annotations
          for HTML integration point,
          clipboard copy, alternative rendering, etc.
          In particular, CSS can be used to render alternative annotations, e.g.
          /* Hide the annotated child. */
semantics > :first-child { display: none; }
 /* Show all text annotations. */
semantics > annotation { display: inline; }
/* Show all HTML annotations. */
semantics > annotation-xml[encoding="text/html" i],
semantics > annotation-xml[encoding="application/xhtml+xml" i] {
  display: inline-block;
}The display property
          from CSS Display Module Level 3
          is extended with a new inner display type:
        
| Name: | display | 
|---|---|
| New values: | <display-outside> || [ <display-inside> | math ] | 
          For elements that are not MathML elements, if the specified
          value of display is block math or
          inline math then the computed value is
          block flow and inline flow respectively.
          For the mtable element
          the computed value is block table and
          inline table respectively.
          For the mtr element, the computed value
          is table-row.
          For the mtd element, the computed value
          is table-cell.
        
          MathML elements with a
          computed display value equal to
          block math or inline math
          control box generation and layout according to their tag name, as
          described in the relevant sections.
          Unknown MathML elements
          behave the same as the mrow element.
        
display: block math and
          display: inline math values provide a default
          layout for MathML elements while at the same time allowing
          to override it with either native display values or
          custom values.
          This allows authors or polyfills to define their own custom notations
          to tweak or extend MathML Core.
        
            In the following example, the default layout of the
            MathML mrow element is overridden to render its
            content as a grid.
          
<math>
  <msup>
    <mrow>
      <mo symmetric="false">[</mo>
      <mrow style="display: block; width: 4.5em;">
        <mrow style="display: grid;
                     grid-template-columns: 1.5em 1.5em 1.5em;
                     grid-template-rows: 1.5em 1.5em;
                     justify-items: center;
                     align-items: center;">
          <mn>12</mn>
          <mn>34</mn>
          <mn>56</mn>
          <mn>7</mn>
          <mn>8</mn>
          <mn>9</mn>
        </mrow>
      </mrow>
      <mo symmetric="false">]</mo>
    </mrow>
    <mi>α</mi>
  </msup>
</math> 
        The text-transform property
          from CSS Text Module Level 4
          has  a new value math-auto.
          On text nodes containing a single character, if the computed value
          is math-auto and the character is present in the
          "Original" column of C.1 italic mappings
          then it is converted to the corresponding character from the "italic"
          column.
        
A common style convention is to render
            identifiers with multiple letters (e.g. the function name "exp")
            with normal style and identifiers with a single letter
            (e.g. the variable "n") with italic style. The
            math-auto property is intended to implement this
            default behavior, which can be overridden by authors if necessary.
            Note that mathematical fonts are designed with a special kind
            of italic glyphs located at the
            Unicode positions of
            C.1 italic mappings, which  differ from the shaping
            obtained via italic font style. Compare this
            mathematical formula
            rendered with the Latin Modern Math font using
            font-style: italic (left) and
            text-transform: math-auto (right):
          
 
        | Name: | math-style | 
|---|---|
| Value: | normal | compact | 
| Initial: | normal | 
| Applies to: | All elements | 
| Inherited: | yes | 
| Percentages: | n/a | 
| Computed value: | specified keyword | 
| Canonical order: | n/a | 
| Animation type: | by computed value type | 
| Media: | visual | 
          When math-style is compact,
          the math layout on descendants tries to minimize the
          logical height by
          applying the following rules:
        
math and
            the computed value of math-depth is
            auto-add (default for mfrac)
            as described in 4.5 The math-depth property.largeop property
            do not follow rules from 3.2.4.3 Layout of operators
            to make them bigger.movablelimits property are actually drawn as sub-/superscripts
            as described in 3.4.2.1 Children of <munder>,
            <mover>, <munderover>.The following example shows a
              mathematical formula rendered with
              its math root styled with
              math-style: compact (left) and
              math-style: normal (right).
              In the former case, the font-size is automatically scaled down
              within the fractions and the summation limits are rendered as
              subscript and superscript of the ∑. In the latter case, the ∑ is
              drawn bigger than normal text and
              vertical gaps within fractions (even relative to current
              font-size) are larger.
            
 
            These two math-style values typically correspond to
              mathematical expressions in inline and display
              mode respectively [TeXBook].
              A mathematical formula in display mode
              may automatically switch to inline mode within some subformulas
              (e.g. scripts, matrix elements, numerators and denominators, etc)
              and it is sometimes desirable to override this default behavior.
              The math-style property allows to easily implement these
              features for MathML in the
              user agent stylesheet
              and with the displaystyle attribute; and also exposes
              them to polyfills.
            
| Name: | math-shift | 
|---|---|
| Value: | normal | compact | 
| Initial: | normal | 
| Applies to: | All elements | 
| Inherited: | yes | 
| Percentages: | n/a | 
| Computed value: | specified keyword | 
| Canonical order: | n/a | 
| Animation type: | by computed value type | 
| Media: | visual | 
          If the value of math-shift is compact, the math layout on descendants will use the
          superscriptShiftUpCramped parameter to place superscript.
          If the value of math-shift is normal, the math
          will use the superscriptShiftUp parameter instead.
        
          This property is used for positioning superscript during the layout
          of MathML scripted elements.
          See § 3.4.1 Subscripts and Superscripts <msub>, <msup>, <msubsup>,
          3.4.3 Prescripts and Tensor Indices <mmultiscripts> and
          3.4.2 Underscripts and Overscripts <munder>, <mover>, <munderover>.
        
In the following example, the two "x squared" are rendered with
              compact math-style and the same font-size.
              However, the one within the square root is rendered with
              compact math-shift while
              the other one is rendered with
              normal math-shift, leading
              to subtle different shift of the superscript "2".
            
 
            Per [TeXBook], a mathematical formula uses normal style by default but may switch to compact style ("cramped" in TeX's terminology) within some subformulas (e.g. radicals, fraction denominators, etc). The math-shift property allows to easily implement these rules for MathML in the user agent stylesheet. Page authors or developers of polyfills may also benefit from having access to this property to tweak or refine the default implementation.
          A new math-depth property is introduced to describe a notion
          of "depth" for each element of a mathematical formula, with respect to
          the top-level container of that formula. Concretely, this is used to
          determine the computed value of the
          font-size
          property when its specified value is math.
        
| Name: | math-depth | 
|---|---|
| Value: | auto-add | add(<integer>) | <integer> | 
| Initial: | 0 | 
| Applies to: | All elements | 
| Inherited: | yes | 
| Percentages: | n/a | 
| Computed value: | an integer, see below | 
| Canonical order: | n/a | 
| Animation type: | by computed value type | 
| Media: | visual | 
The computed value of the math-depth value is determined as follows:
auto-add and
            the inherited value of math-style
            is compact then the computed value of
            math-depth of the element is its inherited value plus one.
          add(<integer>) then the computed value
            of math-depth of the element is its inherited value plus
            the specified integer.
          <integer> then the computed value
            of math-depth of the element is the specified integer.
	  
          If the specified value of 
          font-size
          is math then the
          computed value of
          font-size
          is obtained by multiplying the inherited value of
          font-size
          by a nonzero scale factor calculated by the
          following procedure:
        
InvertScaleFactor to true.InvertScaleFactor to false.InvertScaleFactor is false and 1/S otherwise.The following example shows a mathematical formula with normal math-style rendered with the Latin Modern Math font. When entering subexpressions like scripts or fractions, the font-size is automatically scaled down according to the values of MATH table contained in that font. Note that font-size is scaled down when entering the superscripts but even faster when entering a root's prescript. Also it is scaled down when entering the inner fraction but not when entering the outer one, due to automatic change of math-style in fractions.
 
            These rules from [TeXBook] are subtle and it's worth having a
              separate math-depth mechanism to express and
              handle them. They can be implemented in MathML using the
              user agent stylesheet.
              Page authors or developers of polyfills may also benefit from
              having access to this property to tweak or refine the default
              implementation. In particular, the scriptlevel attribute
              from MathML provides a way to perform math-depth
              changes.
            
        This chapter describes features provided by MATH table
        of an OpenType font [OPEN-FONT-FORMAT]. Throughout this chapter,
        a C-like notation
        Table.Subtable1[index].Subtable2.Parameter is used to
        denote OpenType parameters.
        Such parameters may not be available (e.g. if the font lacks one of the
        subtable, has an invalid offset, etc) and so fallback options are
        provided.
      
        OpenType values expressed in design units (perhaps indirectly via a
        MathValueRecord entry) are scaled to appropriate values
        for layout purpose, taking into account
        head.unitsPerEm, CSS
        font-size
        or zoom level.
      
These are global layout constants for the first available font:
post.underlineThickness or
            Default fallback constant if the constant is not available.
          MATH.MathConstants.scriptPercentScaleDown / 100 or
            0.71 if MATH.MathConstants.scriptPercentScaleDown is
            null or not available.
          MATH.MathConstants.scriptScriptPercentScaleDown / 100 or
            0.5041 if
            MATH.MathConstants.scriptScriptPercentScaleDown is
            null or not available.
          MATH.MathConstants.displayOperatorMinHeight or
            Default fallback constant
            if the constant is not available.MATH.MathConstants.axisHeight or half
             OS/2.sxHeight if the constant is not available.MATH.MathConstants.accentBaseHeight or OS/2.sxHeight if the constant is not available.MATH.MathConstants.subscriptShiftDown or OS/2.ySubscriptYOffset if the constant is not available.MATH.MathConstants.subscriptTopMax or ⅘ × OS/2.sxHeight if the constant is not available.MATH.MathConstants.subscriptBaselineDropMin or
            Default fallback constant if the constant is not available.MATH.MathConstants.superscriptShiftUp or OS/2.ySuperscriptYOffset if the constant is not available.MATH.MathConstants.superscriptShiftUpCramped or
            Default fallback constant if the constant is not available.MATH.MathConstants.superscriptBottomMin or ¼ × OS/2.sxHeight if the constant is not available.MATH.MathConstants.superscriptBaselineDropMax or
            Default fallback constant if the constant is not available.MATH.MathConstants.subSuperscriptGapMin or 4 × default rule thickness if the constant is not available.MATH.MathConstants.superscriptBottomMaxWithSubscript or ⅘ × OS/2.sxHeight if the constant is not available.MATH.MathConstants.spaceAfterScript or 1/24em if the constant is not available.MATH.MathConstants.upperLimitGapMin or
            Default fallback constant if the constant is not available.MATH.MathConstants.upperLimitBaselineRiseMin or Default fallback constant if the constant is not available.MATH.MathConstants.lowerLimitGapMin or Default fallback constant if the constant is not available.MATH.MathConstants.lowerLimitBaselineDropMin or Default fallback constant if the constant is not available.MATH.MathConstants.stackTopShiftUp or Default fallback constant if the constant is not available.MATH.MathConstants.stackTopDisplayStyleShiftUp or Default fallback constant if the constant is not available.MATH.MathConstants.stackBottomShiftDown or Default fallback constant if the constant is not available.MATH.MathConstants.stackBottomDisplayStyleShiftDown or Default fallback constant if the constant is not available.MATH.MathConstants.stackGapMin or 3 × default rule thickness if the constant is not available.MATH.MathConstants.stackDisplayStyleGapMin or 7 × default rule thickness if the constant is not available.MATH.MathConstants.stretchStackTopShiftUp or Default fallback constant if the constant is not available.MATH.MathConstants.stretchStackBottomShiftDown or Default fallback constant if the constant is not available.MATH.MathConstants.stretchStackGapAboveMin or Default fallback constant if the constant is not available.MATH.MathConstants.stretchStackGapBelowMin or Default fallback constant if the constant is not available.MATH.MathConstants.fractionNumeratorShiftUp or Default fallback constant if the constant is not available.MATH.MathConstants.fractionNumeratorDisplayStyleShiftUp or Default fallback constant if the constant is not available.MATH.MathConstants.fractionDenominatorShiftDown or Default fallback constant if the constant is not available.MATH.MathConstants.fractionDenominatorDisplayStyleShiftDown or Default fallback constant if the constant is not available.MATH.MathConstants.fractionNumeratorGapMin or default rule thickness if the constant is not available.MATH.MathConstants.fractionNumDisplayStyleGapMin or 3 × default rule thickness if the constant is not available.MATH.MathConstants.fractionRuleThickness or default rule thickness if the constant is not available.MATH.MathConstants.fractionDenominatorGapMin or default rule thickness if the constant is not available.MATH.MathConstants.fractionDenomDisplayStyleGapMin or 3 × default rule thickness if the constant is not available.MATH.MathConstants.overbarVerticalGap or 3 × default rule thickness if the constant is not available.MATH.MathConstants.overbarExtraAscender or default rule thickness if the constant is not available.MATH.MathConstants.underbarVerticalGap or 3 × default rule thickness if the constant is not available.MATH.MathConstants.underbarExtraDescender or default rule thickness if the constant is not available.MATH.MathConstants.radicalVerticalGap or 1¼ × default rule thickness if the constant is not available.MATH.MathConstants.radicalDisplayStyleVerticalGap or default rule thickness + ¼ OS/2.sxHeight if the constant is not available.MATH.MathConstants.radicalRuleThickness or default rule thickness if the constant is not available.MATH.MathConstants.radicalExtraAscender or default rule thickness if the constant is not available.MATH.MathConstants.radicalKernBeforeDegree or 5/18em if the constant is not available.MATH.MathConstants.radicalKernAfterDegree or −10/18em if the constant is not available.MATH.MathConstants.radicalDegreeBottomRaisePercent / 100.0 or 0.6 if the constant is not available.These are per-glyph tables for the first available font:
MATH.MathGlyphInfo.MathItalicsCorrectionInfo
            of italics correction values. Use the corresponding value in
            MATH.MathGlyphInfo.MathItalicsCorrectionInfo.italicsCorrection
            if there is one for the requested glyph or
            0 otherwise.
          MATH.MathGlyphInfo.MathTopAccentAttachment
            of positioning top math accents along the inline axis.
            Use the corresponding value in
            MATH.MathGlyphInfo.MathTopAccentAttachment.topAccentAttachment
            if there is one for the requested glyph or
            half the advance width of the glyph otherwise.
          
          This section describes how to handle stretchy glyphs of arbitrary
          size using the MATH.MathVariants table.
        
This section is based on [OPEN-TYPE-MATH-IN-HARFBUZZ]. For convenience, the following definitions are used:
MATH.MathVariant.minConnectorOverlap.
            GlyphPartRecord is an extender
              if and only if
              GlyphPartRecord.partFlags has the
              fExtender flag set.
            GlyphAssembly is horizontal
              if it is obtained from
              MathVariant.horizGlyphConstructionOffsets.
              Otherwise it is vertical (and obtained from
              MathVariant.vertGlyphConstructionOffsets).
	    GlyphAssembly table,
              NExt (respectively
              NNonExt) is the number of extenders
              (respectively non-extenders) in
              GlyphAssembly.partRecords.
            GlyphAssembly table,
              SExt (respectively
              SNonExt) is the sum of
              GlyphPartRecord.fullAdvance
              for all extenders (respectively non-extenders) in
              GlyphAssembly.partRecords.
            
            User agents must treat the GlyphAssembly as invalid
            if the following conditions are not satisfied:
          
GlyphPartRecord
              in GlyphAssembly.partRecords,
              the values of
              GlyphPartRecord.startConnectorLength and
              GlyphPartRecord.endConnectorLength
              must be at least omin.
              Otherwise, it is not possible to satisfy the condition of
              MathVariant.minConnectorOverlap.
            In this specification, a glyph assembly is built by repeating each extender r times and using the same overlap value o between each glyph. The number of glyphs in such an assembly is AssemblyGlyphCount(r) = NNonExt + r NExt while the stretch size is AssembySize(o, r) = SNonExt + r SExt − o (AssemblyGlyphCount(r) − 1).
rmin is the minimal number of repetitions needed to obtain an assembly of size at least T, i.e. the minimal r such that AssembySize(omin, r) ≥ T. It is defined as the maximum between 0 and the ceiling of ((T − SNonExt + omin (NNonExt − 1)) / SExt,NonOverlapping).
omax,theorical = (AssembySize(0, rmin) − T) / (AssemblyGlyphCount(rmin) − 1) is the theorical overlap obtained by splitting evenly the extra size of an assembly built with null overlap.
omax is the maximum overlap possible to build an assembly of size at least T by repeating each extender rmin times. If AssemblyGlyphCount(rmin) ≤ 1, then the actual overlap value is irrelevant. Otherwise, omax is defined to be the minimum of:
GlyphPartRecord.startConnectorLength for all
              the entries in
              GlyphAssembly.partRecords, excluding the
              last one if it is not an extender.
            GlyphPartRecord.endConnectorLength for all
              the entries in
              GlyphAssembly.partRecords, excluding the
              first one if it is not an extender.
            The glyph assembly stretch size for a target size T is AssembySize(omax, rmin).
The glyph assembly width, glyph assembly ascent and glyph assembly descent are defined as follows:
GlyphAssembly is vertical,
              the width is the maximum advance width of the glyphs of ID
              GlyphPartRecord.glyphID for all the
              GlyphPartRecord in
              GlyphAssembly.partRecords,
              the ascent is the
              glyph assembly stretch size
              for a given target size T
              and the descent is 0.
            GlyphAssembly is horizontal,
              the width is glyph assembly stretch size
              for a given target size T while
              the ascent (respectively descent) is the
              maximum ascent (respectively descent) of the glyphs of ID
              GlyphPartRecord.glyphID for all the
              GlyphPartRecord in
              GlyphAssembly.partRecords.
            The glyph assembly height is the sum of the glyph assembly ascent and glyph assembly descent.
T.
          The shaping of the glyph assembly is performed with the following algorithm:
(x, y) to (0, 0),
              RepetitionCounter to 0 and
              PartIndex to -1.
            RepetitionCounter is 0:
                  PartIndex.PartIndex is
                      GlyphAssembly.partCount
                      then stop.Part to
                      GlyphAssembly.partRecords[PartIndex].
                      Set RepetitionCounter to
                      rmin if
                      Part is an extender and to 1 otherwise.
                    Part.glyphID
                      so that its (left, baseline) coordinates
                      are at position (x, y).
                      Set x to
                      x + Part.fullAdvance −
                        omax.
                    Part.glyphID
                      so that its (left, bottom) coordinates
                      are at position (x, y).
                      Set y to
                      y − Part.fullAdvance +
                        omax.
                    RepetitionCounter.The preferred inline size of a glyph stretched along the block axis is calculated using the following algorithm:
S to the glyph's advance width.
            MathGlyphConstruction table
              in the MathVariants.vertGlyphConstructionOffsets
              table for the given glyph:
              MathGlyphVariantRecord in
                  MathGlyphConstruction.mathGlyphVariantRecord,
                  ensure that S is at least
                  the advance width of the glyph of id
                  MathGlyphVariantRecord.variantGlyph.
                GlyphAssembly subtable,
                  then ensure
                  that S is at least the
                  glyph assembly width.
                S.
            The algorithm to shape a stretchy glyph to inline
            (respectively block) dimension T
            is the following:
          
MathGlyphConstruction table
              in the MathVariants.horizGlyphConstructionOffsets
              table  (respectively
              MathVariants.vertGlyphConstructionOffsets table)
              for the given glyph then exit with failure.
            T
              then use normal shaping and bounding box for that glyph,
              the MathItalicsCorrectionInfo for that glyph as
              italic correction and exit with success.
            MathGlyphVariantRecord in
              MathGlyphConstruction.mathGlyphVariantRecord.
              If one MathGlyphVariantRecord.advanceMeasurement
              is at least T then use
              normal shaping and bounding box
              for MathGlyphVariantRecord.variantGlyph,
              the MathItalicsCorrectionInfo for that glyph as
              italic correction and exit with success.
            GlyphAssembly subtable
              then use the bounding box given by
              glyph assembly width,
              glyph assembly height,
              glyph assembly ascent,
              glyph assembly descent, the value
              GlyphAssembly.italicsCorrection as italic
              correction, perform shaping of the glyph assembly and
              exit with success.
            T, then choose last one that was tried and exit
              with success.
            
            The algorithm to get a glyph corresponding to a character c given a directionality dir
            is the following:
          
g be the glyph corresponding to c
              in the first available font.
              If it is not possible to find such a glyph, then exit with failure.
            dir is rtl:
                g in the first available font,
                    then return it and exit with success. [OPEN-FONT-FORMAT]
                  c has the Bidi_Mirrored property [BIDI]:
                    c has a corresponding mirrored codepoint,
                        c', then return the glyph corresponding
                        to c' and exit with success.
                        If it is not possible to find such a glyph, then exit with failure.
                      g and exit with success.
                  dir is ltr.
              g and exit with success.
              @namespace url(http://www.w3.org/1998/Math/MathML);
/* Universal rules */
* {
  font-size: math;
  display: block math;
  writing-mode: horizontal-tb !important;
}
/* The <math> element */
math {
  direction: ltr;
  text-indent: 0;
  letter-spacing: normal;
  line-height: normal;
  word-spacing: normal;
  font-family: math;
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  display: inline math;
  math-shift: normal;
  math-style: compact;
  math-depth: 0;
}
math[display="block" i] {
  display: block math;
  math-style: normal;
}
math[display="inline" i] {
  display: inline math;
  math-style: compact;
}
/* <mrow>-like elements */
semantics > :not(:first-child) {
  display: none;
}
maction > :not(:first-child) {
  display: none;
}
merror {
  border: 1px solid red;
  background-color: lightYellow;
}
mphantom {
  visibility: hidden;
}
/* Token elements */
mi {
  text-transform: math-auto;
}
/* Tables */
mtable {
  display: inline-table;
  math-style: compact;
}
mtr {
  display: table-row;
}
mtd {
  display: table-cell;
  /* Centering inside table cells should rely on box alignment properties.
     See https://github.com/w3c/mathml-core/issues/156 */
  text-align: center;
  padding: 0.5ex 0.4em;
}
/* Fractions */
mfrac {
  padding-inline: 1px;
}
mfrac > * {
  math-depth: auto-add;
  math-style: compact;
}
mfrac > :nth-child(2) {
  math-shift: compact;
}
/* Other rules for scriptlevel, displaystyle and math-shift */
mroot > :not(:first-child) {
  math-depth: add(2);
  math-style: compact;
}
mroot, msqrt {
  math-shift: compact;
}
msub > :not(:first-child),
msup > :not(:first-child),
msubsup > :not(:first-child),
mmultiscripts > :not(:first-child),
munder > :not(:first-child),
mover > :not(:first-child),
munderover > :not(:first-child) {
  math-depth: add(1);
  math-style: compact;
}
munder[accentunder="true" i] > :nth-child(2),
mover[accent="true" i] > :nth-child(2),
munderover[accentunder="true" i] > :nth-child(2),
munderover[accent="true" i] > :nth-child(3) {
  font-size: inherit;
}
msub > :nth-child(2),
msubsup > :nth-child(2),
mmultiscripts > :nth-child(even),
mmultiscripts > mprescripts ~ :nth-child(odd),
mover[accent="true" i] > :first-child,
munderover[accent="true" i] > :first-child {
  math-shift: compact;
}
mmultiscripts > mprescripts ~ :nth-child(even) {
  math-shift: inherit;
}The algorithm to set the properties of an operator from its category is as follows:
minsize to 100%.maxsize to ∞.lspace and rspace to the
            value specified in the corresponding column.stretchy,
            symmetric, largeop,
            movablelimits, set that property to true
            if it is listed in the last column or to false
            otherwise.The algorithm to determine the category of an operator
          (Content, Form) is as folllows:
        
Content as an UTF-16 string does not have length
            or 1 or 2 then exit with category Default.
          Content is a single character in the
            range U+0320–U+03FF
            then exit with category Default. Otherwise,
            if it has two characters:
            Content is the surrogate pairs corresponding
                to
                U+1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
                or U+1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL and
                Form is postfix, exit with category
                I.Content with the first character and move to step
                3.Content is listed in
                Operators_2_ascii_chars then
                replace Content with the
                Unicode character
                "U+0320 plus the index of Content in
                Operators_2_ascii_chars" and move to step
                3.
              Default.Form is infix and Content corresponds
            to one of U+007C VERTICAL LINE or U+223C TILDE OPERATOR then exit
            with category ForceDefault. If the category of
            (Content, Form)
            provided by table
            Figure 25
            has N/A encoding in table
            Figure 26
            (namely if it has category L or M), then
            exit with that category.
            Otherwise:
                Key to Content if it is in
                    range U+0000–U+03FF; or to Content − 0x1C00
                    if it is in range U+2000–U+2BFF. Otherwise, exit with
                    category Default.
                  Key according to whether Form
                    is infix, prefix,
                    postfix respectively.
                  Key is at most 0x2FFF.Entry in table
                    Figure 27
                    such that Entry % 0x4000 is equal to
                    Key. If one is found then return the category
                    corresponding to encoding Entry / 0x1000 in
                    Figure 26.
                    Otherwise, return category Default.
		  | Special Table | Entries | 
|---|---|
| Operators_2_ascii_chars | 18 entries (2-characters ASCII strings): '!!', '!=', '&&', '**', '*=', '++', '+=', '--', '-=', '->', '//', '/=', ':=', '<=', '<>', '==', '>=', '||',  | 
| Operators_fence | 61 entries (16 Unicode ranges): [U+0028–U+0029], {U+005B}, {U+005D}, [U+007B–U+007D], {U+0331}, {U+2016}, [U+2018–U+2019], [U+201C–U+201D], [U+2308–U+230B], [U+2329–U+232A], [U+2772–U+2773], [U+27E6–U+27EF], {U+2980}, [U+2983–U+2999], [U+29D8–U+29DB], [U+29FC–U+29FD],  | 
| Operators_separator | 3 entries: U+002C, U+003B, U+2063,  | 
| (Content, Form) keys | Category | 
|---|---|
| 313 entries (35 Unicode ranges)  in infix form: [U+2190–U+2195], [U+219A–U+21AE], [U+21B0–U+21B5], {U+21B9}, [U+21BC–U+21D5], [U+21DA–U+21F0], [U+21F3–U+21FF], {U+2794}, {U+2799}, [U+279B–U+27A1], [U+27A5–U+27A6], [U+27A8–U+27AF], {U+27B1}, {U+27B3}, {U+27B5}, {U+27B8}, [U+27BA–U+27BE], [U+27F0–U+27F1], [U+27F4–U+27FF], [U+2900–U+2920], [U+2934–U+2937], [U+2942–U+2975], [U+297C–U+297F], [U+2B04–U+2B07], [U+2B0C–U+2B11], [U+2B30–U+2B3E], [U+2B40–U+2B4C], [U+2B60–U+2B65], [U+2B6A–U+2B6D], [U+2B70–U+2B73], [U+2B7A–U+2B7D], [U+2B80–U+2B87], {U+2B95}, [U+2BA0–U+2BAF], {U+2BB8},  | A | 
| 108 entries (31 Unicode ranges)  in infix form: {U+002B}, {U+002D}, {U+00B1}, {U+00F7}, {U+0322}, {U+2044}, [U+2212–U+2216], [U+2227–U+222A], {U+2236}, {U+2238}, [U+228C–U+228E], [U+2293–U+2296], {U+2298}, [U+229D–U+229F], [U+22BB–U+22BD], [U+22CE–U+22CF], [U+22D2–U+22D3], [U+2795–U+2797], {U+29B8}, {U+29BC}, [U+29C4–U+29C5], [U+29F5–U+29FB], [U+2A1F–U+2A2E], [U+2A38–U+2A3A], {U+2A3E}, [U+2A40–U+2A4F], [U+2A51–U+2A63], {U+2ADB}, {U+2AF6}, {U+2AFB}, {U+2AFD},  | B | 
| 64 entries (33 Unicode ranges)  in infix form: {U+0025}, {U+002A}, {U+002E}, [U+003F–U+0040], {U+005E}, {U+00B7}, {U+00D7}, {U+0323}, {U+032E}, {U+2022}, {U+2043}, [U+2217–U+2219], {U+2240}, {U+2297}, [U+2299–U+229B], [U+22A0–U+22A1], {U+22BA}, [U+22C4–U+22C7], [U+22C9–U+22CC], [U+2305–U+2306], {U+27CB}, {U+27CD}, [U+29C6–U+29C8], [U+29D4–U+29D7], {U+29E2}, [U+2A1D–U+2A1E], [U+2A2F–U+2A37], [U+2A3B–U+2A3D], {U+2A3F}, {U+2A50}, [U+2A64–U+2A65], [U+2ADC–U+2ADD], {U+2AFE},  | C | 
| 52 entries (22 Unicode ranges)  in prefix form: {U+0021}, {U+002B}, {U+002D}, {U+00AC}, {U+00B1}, {U+0331}, {U+2018}, {U+201C}, [U+2200–U+2201], [U+2203–U+2204], {U+2207}, [U+2212–U+2213], [U+221F–U+2222], [U+2234–U+2235], {U+223C}, [U+22BE–U+22BF], {U+2310}, {U+2319}, [U+2795–U+2796], {U+27C0}, [U+299B–U+29AF], [U+2AEC–U+2AED],  | D | 
| 40 entries (21 Unicode ranges)  in postfix form: [U+0021–U+0022], [U+0025–U+0027], {U+0060}, {U+00A8}, {U+00B0}, [U+00B2–U+00B4], [U+00B8–U+00B9], [U+02CA–U+02CB], [U+02D8–U+02DA], {U+02DD}, {U+0311}, {U+0320}, {U+0325}, {U+0327}, {U+0331}, [U+2019–U+201B], [U+201D–U+201F], [U+2032–U+2037], {U+2057}, [U+20DB–U+20DC], {U+23CD},  | E | 
| 30 entries in prefix form: U+0028, U+005B, U+007B, U+007C, U+2016, U+2308, U+230A, U+2329, U+2772, U+27E6, U+27E8, U+27EA, U+27EC, U+27EE, U+2980, U+2983, U+2985, U+2987, U+2989, U+298B, U+298D, U+298F, U+2991, U+2993, U+2995, U+2997, U+2999, U+29D8, U+29DA, U+29FC,  | F | 
| 30 entries in postfix form: U+0029, U+005D, U+007C, U+007D, U+2016, U+2309, U+230B, U+232A, U+2773, U+27E7, U+27E9, U+27EB, U+27ED, U+27EF, U+2980, U+2984, U+2986, U+2988, U+298A, U+298C, U+298E, U+2990, U+2992, U+2994, U+2996, U+2998, U+2999, U+29D9, U+29DB, U+29FD,  | G | 
| 27 entries (2 Unicode ranges)  in prefix form: [U+222B–U+2233], [U+2A0B–U+2A1C],  | H | 
| 22 entries (13 Unicode ranges)  in postfix form: [U+005E–U+005F], {U+007E}, {U+00AF}, [U+02C6–U+02C7], {U+02C9}, {U+02CD}, {U+02DC}, {U+02F7}, {U+0302}, {U+203E}, [U+2322–U+2323], [U+23B4–U+23B5], [U+23DC–U+23E1],  | I | 
| 22 entries (6 Unicode ranges)  in prefix form: [U+220F–U+2211], [U+22C0–U+22C3], [U+2A00–U+2A0A], [U+2A1D–U+2A1E], {U+2AFC}, {U+2AFF},  | J | 
| 8 entries (5 Unicode ranges)  in infix form: {U+002F}, {U+005C}, {U+005F}, [U+2061–U+2064], {U+2206},  | K | 
| 6 entries (3 Unicode ranges)  in prefix form: [U+2145–U+2146], {U+2202}, [U+221A–U+221C],  | L | 
| 3 entries in infix form: U+002C, U+003A, U+003B,  | M | 
| Category | Form | Encoding | lspace | rspace | properties | 
|---|---|---|---|---|---|
| Default | N/A | N/A | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ForceDefault | N/A | N/A | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| A | infix | 0x0 | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| B | infix | 0x4 | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| C | infix | 0x8 | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| D | prefix | 0x1 | 0 | 0 | N/A | 
| E | postfix | 0x2 | 0 | 0 | N/A | 
| F | prefix | 0x5 | 0 | 0 | stretchy symmetric | 
| G | postfix | 0x6 | 0 | 0 | stretchy symmetric | 
| H | prefix | 0x9 | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| I | postfix | 0xA | 0 | 0 | stretchy | 
| J | prefix | 0xD | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| K | infix | 0xC | 0 | 0 | N/A | 
| L | prefix | N/A | 0.16666666666666666em | 0 | N/A | 
| M | infix | N/A | 0 | 0.16666666666666666em | N/A | 
{0x8025}, {0x802A}, {0x402B}, {0x402D}, {0x802E}, {0xC02F}, [0x803F–0x8040], {0xC05C}, {0x805E}, {0xC05F}, {0x40B1}, {0x80B7}, {0x80D7}, {0x40F7}, {0x4322}, {0x8323}, {0x832E}, {0x8422}, {0x8443}, {0x4444}, [0xC461–0xC464], [0x0590–0x0595], [0x059A–0x05A9], [0x05AA–0x05AE], [0x05B0–0x05B5], {0x05B9}, [0x05BC–0x05CB], [0x05CC–0x05D5], [0x05DA–0x05E9], [0x05EA–0x05F0], [0x05F3–0x05FF], {0xC606}, [0x4612–0x4616], [0x8617–0x8619], [0x4627–0x462A], {0x4636}, {0x4638}, {0x8640}, [0x468C–0x468E], [0x4693–0x4696], {0x8697}, {0x4698}, [0x8699–0x869B], [0x469D–0x469F], [0x86A0–0x86A1], {0x86BA}, [0x46BB–0x46BD], [0x86C4–0x86C7], [0x86C9–0x86CC], [0x46CE–0x46CF], [0x46D2–0x46D3], [0x8705–0x8706], {0x0B94}, [0x4B95–0x4B97], {0x0B99}, [0x0B9B–0x0BA1], [0x0BA5–0x0BA6], [0x0BA8–0x0BAF], {0x0BB1}, {0x0BB3}, {0x0BB5}, {0x0BB8}, [0x0BBA–0x0BBE], {0x8BCB}, {0x8BCD}, [0x0BF0–0x0BF1], [0x0BF4–0x0BFF], [0x0D00–0x0D0F], [0x0D10–0x0D1F], {0x0D20}, [0x0D34–0x0D37], [0x0D42–0x0D51], [0x0D52–0x0D61], [0x0D62–0x0D71], [0x0D72–0x0D75], [0x0D7C–0x0D7F], {0x4DB8}, {0x4DBC}, [0x4DC4–0x4DC5], [0x8DC6–0x8DC8], [0x8DD4–0x8DD7], {0x8DE2}, [0x4DF5–0x4DFB], [0x8E1D–0x8E1E], [0x4E1F–0x4E2E], [0x8E2F–0x8E37], [0x4E38–0x4E3A], [0x8E3B–0x8E3D], {0x4E3E}, {0x8E3F}, [0x4E40–0x4E4F], {0x8E50}, [0x4E51–0x4E60], [0x4E61–0x4E63], [0x8E64–0x8E65], {0x4EDB}, [0x8EDC–0x8EDD], {0x4EF6}, {0x4EFB}, {0x4EFD}, {0x8EFE}, [0x0F04–0x0F07], [0x0F0C–0x0F11], [0x0F30–0x0F3E], [0x0F40–0x0F4C], [0x0F60–0x0F65], [0x0F6A–0x0F6D], [0x0F70–0x0F73], [0x0F7A–0x0F7D], [0x0F80–0x0F87], {0x0F95}, [0x0FA0–0x0FAF], {0x0FB8}, {0x1021}, {0x5028}, {0x102B}, {0x102D}, {0x505B}, [0x507B–0x507C], {0x10AC}, {0x10B1}, {0x1331}, {0x5416}, {0x1418}, {0x141C}, [0x1600–0x1601], [0x1603–0x1604], {0x1607}, [0xD60F–0xD611], [0x1612–0x1613], [0x161F–0x1622], [0x962B–0x9633], [0x1634–0x1635], {0x163C}, [0x16BE–0x16BF], [0xD6C0–0xD6C3], {0x5708}, {0x570A}, {0x1710}, {0x1719}, {0x5729}, {0x5B72}, [0x1B95–0x1B96], {0x1BC0}, {0x5BE6}, {0x5BE8}, {0x5BEA}, {0x5BEC}, {0x5BEE}, {0x5D80}, {0x5D83}, {0x5D85}, {0x5D87}, {0x5D89}, {0x5D8B}, {0x5D8D}, {0x5D8F}, {0x5D91}, {0x5D93}, {0x5D95}, {0x5D97}, {0x5D99}, [0x1D9B–0x1DAA], [0x1DAB–0x1DAF], {0x5DD8}, {0x5DDA}, {0x5DFC}, [0xDE00–0xDE0A], [0x9E0B–0x9E1A], [0x9E1B–0x9E1C], [0xDE1D–0xDE1E], [0x1EEC–0x1EED], {0xDEFC}, {0xDEFF}, [0x2021–0x2022], [0x2025–0x2027], {0x6029}, {0x605D}, [0xA05E–0xA05F], {0x2060}, [0x607C–0x607D], {0xA07E}, {0x20A8}, {0xA0AF}, {0x20B0}, [0x20B2–0x20B4], [0x20B8–0x20B9], [0xA2C6–0xA2C7], {0xA2C9}, [0x22CA–0x22CB], {0xA2CD}, [0x22D8–0x22DA], {0xA2DC}, {0x22DD}, {0xA2F7}, {0xA302}, {0x2311}, {0x2320}, {0x2325}, {0x2327}, {0x2331}, {0x6416}, [0x2419–0x241B], [0x241D–0x241F], [0x2432–0x2437], {0xA43E}, {0x2457}, [0x24DB–0x24DC], {0x6709}, {0x670B}, [0xA722–0xA723], {0x672A}, [0xA7B4–0xA7B5], {0x27CD}, [0xA7DC–0xA7E1], {0x6B73}, {0x6BE7}, {0x6BE9}, {0x6BEB}, {0x6BED}, {0x6BEF}, {0x6D80}, {0x6D84}, {0x6D86}, {0x6D88}, {0x6D8A}, {0x6D8C}, {0x6D8E}, {0x6D90}, {0x6D92}, {0x6D94}, {0x6D96}, [0x6D98–0x6D99], {0x6DD9}, {0x6DDB}, {0x6DFD}, Key is Entry % 0x4000, category encoding is Entry / 0x1000.
          The intrinsic stretch axis a Unicode character
          c is inline if it belongs to the list below.
          Otherwise, the intrinsic stretch axis of c is
          block.
        
U+003D,
U+005E,
U+005F,
U+007E,
U+00AF,
U+02C6,
U+02C7,
U+02C9,
U+02CD,
U+02DC,
U+02F7,
U+0302,
U+0332,
U+203E,
U+20D0,
U+20D1,
U+20D6,
U+20D7,
U+20E1,
U+2190,
U+2192,
U+2194,
U+2198,
U+2199,
U+219A,
U+219B,
U+219C,
U+219D,
U+219E,
U+21A0,
U+21A2,
U+21A3,
U+21A4,
U+21A6,
U+21A9,
U+21AA,
U+21AB,
U+21AC,
U+21AD,
U+21AE,
U+21B4,
U+21B9,
U+21BC,
U+21BD,
U+21C0,
U+21C1,
U+21C4,
U+21C6,
U+21C7,
U+21C9,
U+21CB,
U+21CC,
U+21CD,
U+21CE,
U+21CF,
U+21D0,
U+21D2,
U+21D4,
U+21DA,
U+21DB,
U+21DC,
U+21DD,
U+21E0,
U+21E2,
U+21E4,
U+21E5,
U+21E6,
U+21E8,
U+21F0,
U+21F4,
U+21F6,
U+21F7,
U+21F8,
U+21F9,
U+21FA,
U+21FB,
U+21FC,
U+21FD,
U+21FE,
U+21FF,
U+2322,
U+2323,
U+23B4,
U+23B5,
U+23DC,
U+23DD,
U+23DE,
U+23DF,
U+23E0,
U+23E1,
U+2500,
U+2794,
U+2799,
U+279B,
U+279C,
U+279D,
U+279E,
U+279F,
U+27A0,
U+27A1,
U+27A5,
U+27A6,
U+27A8,
U+27A9,
U+27AA,
U+27AB,
U+27AC,
U+27AD,
U+27AE,
U+27AF,
U+27B1,
U+27B3,
U+27B5,
U+27B8,
U+27BA,
U+27BB,
U+27BC,
U+27BD,
U+27BE,
U+27F4,
U+27F5,
U+27F6,
U+27F7,
U+27F8,
U+27F9,
U+27FA,
U+27FB,
U+27FC,
U+27FD,
U+27FE,
U+27FF,
U+2900,
U+2901,
U+2902,
U+2903,
U+2904,
U+2905,
U+2906,
U+2907,
U+290C,
U+290D,
U+290E,
U+290F,
U+2910,
U+2911,
U+2914,
U+2915,
U+2916,
U+2917,
U+2918,
U+2919,
U+291A,
U+291B,
U+291C,
U+291D,
U+291E,
U+291F,
U+2920,
U+2942,
U+2943,
U+2944,
U+2945,
U+2946,
U+2947,
U+2948,
U+294A,
U+294B,
U+294E,
U+2950,
U+2952,
U+2953,
U+2956,
U+2957,
U+295A,
U+295B,
U+295E,
U+295F,
U+2962,
U+2964,
U+2966,
U+2967,
U+2968,
U+2969,
U+296A,
U+296B,
U+296C,
U+296D,
U+2970,
U+2971,
U+2972,
U+2973,
U+2974,
U+2975,
U+297C,
U+297D,
U+2B04,
U+2B05,
U+2B0C,
U+2B30,
U+2B31,
U+2B32,
U+2B33,
U+2B34,
U+2B35,
U+2B36,
U+2B37,
U+2B38,
U+2B39,
U+2B3A,
U+2B3B,
U+2B3C,
U+2B3D,
U+2B3E,
U+2B40,
U+2B41,
U+2B42,
U+2B43,
U+2B44,
U+2B45,
U+2B46,
U+2B47,
U+2B48,
U+2B49,
U+2B4A,
U+2B4B,
U+2B4C,
U+2B60,
U+2B62,
U+2B64,
U+2B6A,
U+2B6C,
U+2B70,
U+2B72,
U+2B7A,
U+2B7C,
U+2B80,
U+2B82,
U+2B84,
U+2B86,
U+2B95,
U+FE35,
U+FE36,
U+FE37,
U+FE38,
U+1EEF0,
U+1EEF1,
This section is non-normative.
          The following dictionary provides a human-readable version
          of B.1 Operator Dictionary. Please refer to
          3.2.4.2 Dictionary-based attributes for explanation about
          how to use this dictionary and how to
          determine the values Content and Form
          indexing together
          the dictionary.
        
          The values for rspace and lspace are indicated
          in the corresponding columns.
          The values of
          stretchy,
          symmetric,
          largeop,
          movablelimits
          are true
          if they are listed in the "properties" column.
        
| Content | Stretch Axis | form | lspace | rspace | properties | 
|---|---|---|---|---|---|
| < U+003C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| = U+003D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| > U+003E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| | U+007C | block | infix | 0.2777777777777778em | 0.2777777777777778em | fence | 
| ↖ U+2196 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↗ U+2197 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↘ U+2198 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↙ U+2199 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↯ U+21AF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↶ U+21B6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↷ U+21B7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↸ U+21B8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↺ U+21BA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ↻ U+21BB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇖ U+21D6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇗ U+21D7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇘ U+21D8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇙ U+21D9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇱ U+21F1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⇲ U+21F2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∈ U+2208 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∉ U+2209 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∊ U+220A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∋ U+220B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∌ U+220C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∍ U+220D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∝ U+221D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∣ U+2223 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∤ U+2224 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∥ U+2225 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∦ U+2226 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∷ U+2237 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∹ U+2239 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∺ U+223A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∻ U+223B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∼ U+223C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∽ U+223D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ∾ U+223E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≁ U+2241 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≂ U+2242 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≃ U+2243 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≄ U+2244 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≅ U+2245 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≆ U+2246 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≇ U+2247 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≈ U+2248 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≉ U+2249 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≊ U+224A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≋ U+224B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≌ U+224C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≍ U+224D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≎ U+224E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≏ U+224F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≐ U+2250 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≑ U+2251 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≒ U+2252 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≓ U+2253 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≔ U+2254 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≕ U+2255 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≖ U+2256 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≗ U+2257 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≘ U+2258 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≙ U+2259 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≚ U+225A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≛ U+225B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≜ U+225C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≝ U+225D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≞ U+225E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≟ U+225F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≠ U+2260 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≡ U+2261 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≢ U+2262 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≣ U+2263 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≤ U+2264 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≥ U+2265 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≦ U+2266 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≧ U+2267 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≨ U+2268 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≩ U+2269 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≪ U+226A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≫ U+226B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≬ U+226C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≭ U+226D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≮ U+226E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≯ U+226F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≰ U+2270 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≱ U+2271 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≲ U+2272 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≳ U+2273 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≴ U+2274 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≵ U+2275 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≶ U+2276 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≷ U+2277 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≸ U+2278 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≹ U+2279 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≺ U+227A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≻ U+227B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≼ U+227C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≽ U+227D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≾ U+227E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ≿ U+227F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊀ U+2280 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊁ U+2281 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊂ U+2282 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊃ U+2283 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊄ U+2284 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊅ U+2285 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊆ U+2286 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊇ U+2287 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊈ U+2288 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊉ U+2289 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊊ U+228A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊋ U+228B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊏ U+228F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊐ U+2290 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊑ U+2291 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊒ U+2292 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊜ U+229C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊢ U+22A2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊣ U+22A3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊦ U+22A6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊧ U+22A7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊨ U+22A8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊩ U+22A9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊪ U+22AA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊫ U+22AB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊬ U+22AC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊭ U+22AD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊮ U+22AE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊯ U+22AF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊰ U+22B0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊱ U+22B1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊲ U+22B2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊳ U+22B3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊴ U+22B4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊵ U+22B5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊶ U+22B6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊷ U+22B7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⊸ U+22B8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋈ U+22C8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋍ U+22CD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋐ U+22D0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋑ U+22D1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋔ U+22D4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋕ U+22D5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋖ U+22D6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋗ U+22D7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋘ U+22D8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋙ U+22D9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋚ U+22DA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋛ U+22DB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋜ U+22DC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋝ U+22DD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋞ U+22DE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋟ U+22DF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋠ U+22E0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋡ U+22E1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋢ U+22E2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋣ U+22E3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋤ U+22E4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋥ U+22E5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋦ U+22E6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋧ U+22E7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋨ U+22E8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋩ U+22E9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋪ U+22EA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋫ U+22EB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋬ U+22EC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋭ U+22ED | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋲ U+22F2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋳ U+22F3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋴ U+22F4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋵ U+22F5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋶ U+22F6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋷ U+22F7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋸ U+22F8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋹ U+22F9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋺ U+22FA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋻ U+22FB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋼ U+22FC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋽ U+22FD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋾ U+22FE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⋿ U+22FF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⌁ U+2301 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⍼ U+237C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⎋ U+238B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➘ U+2798 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➚ U+279A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➧ U+27A7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➲ U+27B2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➴ U+27B4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➶ U+27B6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➷ U+27B7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ➹ U+27B9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⟂ U+27C2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⟲ U+27F2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⟳ U+27F3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤡ U+2921 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤢ U+2922 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤣ U+2923 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤤ U+2924 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤥ U+2925 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤦ U+2926 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤧ U+2927 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤨ U+2928 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤩ U+2929 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤪ U+292A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤫ U+292B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤬ U+292C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤭ U+292D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤮ U+292E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤯ U+292F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤰ U+2930 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤱ U+2931 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤲ U+2932 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤳ U+2933 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤸ U+2938 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤹ U+2939 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤺ U+293A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤻ U+293B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤼ U+293C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤽ U+293D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤾ U+293E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⤿ U+293F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥀ U+2940 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥁ U+2941 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥶ U+2976 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥷ U+2977 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥸ U+2978 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥹ U+2979 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥺ U+297A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⥻ U+297B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⦁ U+2981 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⦂ U+2982 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⦶ U+29B6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⦷ U+29B7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⦹ U+29B9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧀ U+29C0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧁ U+29C1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧎ U+29CE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧏ U+29CF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧐ U+29D0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧑ U+29D1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧒ U+29D2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧓ U+29D3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧟ U+29DF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧡ U+29E1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧣ U+29E3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧤ U+29E4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧥ U+29E5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧦ U+29E6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⧴ U+29F4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩦ U+2A66 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩧ U+2A67 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩨ U+2A68 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩩ U+2A69 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩪ U+2A6A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩫ U+2A6B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩬ U+2A6C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩭ U+2A6D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩮ U+2A6E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩯ U+2A6F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩰ U+2A70 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩱ U+2A71 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩲ U+2A72 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩳ U+2A73 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩴ U+2A74 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩵ U+2A75 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩶ U+2A76 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩷ U+2A77 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩸ U+2A78 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩹ U+2A79 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩺ U+2A7A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩻ U+2A7B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩼ U+2A7C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩽ U+2A7D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩾ U+2A7E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⩿ U+2A7F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪀ U+2A80 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪁ U+2A81 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪂ U+2A82 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪃ U+2A83 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪄ U+2A84 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪅ U+2A85 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪆ U+2A86 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪇ U+2A87 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪈ U+2A88 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪉ U+2A89 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪊ U+2A8A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪋ U+2A8B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪌ U+2A8C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪍ U+2A8D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪎ U+2A8E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪏ U+2A8F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪐ U+2A90 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪑ U+2A91 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪒ U+2A92 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪓ U+2A93 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪔ U+2A94 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪕ U+2A95 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪖ U+2A96 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪗ U+2A97 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪘ U+2A98 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪙ U+2A99 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪚ U+2A9A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪛ U+2A9B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪜ U+2A9C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪝ U+2A9D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪞ U+2A9E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪟ U+2A9F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪠ U+2AA0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪡ U+2AA1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪢ U+2AA2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪣ U+2AA3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪤ U+2AA4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪥ U+2AA5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪦ U+2AA6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪧ U+2AA7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪨ U+2AA8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪩ U+2AA9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪪ U+2AAA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪫ U+2AAB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪬ U+2AAC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪭ U+2AAD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪮ U+2AAE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪯ U+2AAF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪰ U+2AB0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪱ U+2AB1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪲ U+2AB2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪳ U+2AB3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪴ U+2AB4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪵ U+2AB5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪶ U+2AB6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪷ U+2AB7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪸ U+2AB8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪹ U+2AB9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪺ U+2ABA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪻ U+2ABB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪼ U+2ABC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪽ U+2ABD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪾ U+2ABE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⪿ U+2ABF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫀ U+2AC0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫁ U+2AC1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫂ U+2AC2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫃ U+2AC3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫄ U+2AC4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫅ U+2AC5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫆ U+2AC6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫇ U+2AC7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫈ U+2AC8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫉ U+2AC9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫊ U+2ACA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫋ U+2ACB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫌ U+2ACC | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫍ U+2ACD | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫎ U+2ACE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫏ U+2ACF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫐ U+2AD0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫑ U+2AD1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫒ U+2AD2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫓ U+2AD3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫔ U+2AD4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫕ U+2AD5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫖ U+2AD6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫗ U+2AD7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫘ U+2AD8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫙ U+2AD9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫚ U+2ADA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫞ U+2ADE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫟ U+2ADF | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫠ U+2AE0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫡ U+2AE1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫢ U+2AE2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫣ U+2AE3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫤ U+2AE4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫥ U+2AE5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫦ U+2AE6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫧ U+2AE7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫨ U+2AE8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫩ U+2AE9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫪ U+2AEA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫫ U+2AEB | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫮ U+2AEE | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫲ U+2AF2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫳ U+2AF3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫴ U+2AF4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫵ U+2AF5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫷ U+2AF7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫸ U+2AF8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫹ U+2AF9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⫺ U+2AFA | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬀ U+2B00 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬁ U+2B01 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬂ U+2B02 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬃ U+2B03 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬈ U+2B08 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬉ U+2B09 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬊ U+2B0A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬋ U+2B0B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⬿ U+2B3F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭍ U+2B4D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭎ U+2B4E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭏ U+2B4F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭚ U+2B5A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭛ U+2B5B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭜ U+2B5C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭝ U+2B5D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭞ U+2B5E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭟ U+2B5F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭦ U+2B66 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭧ U+2B67 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭨ U+2B68 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭩ U+2B69 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭮ U+2B6E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭯ U+2B6F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭶ U+2B76 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭷ U+2B77 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭸ U+2B78 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⭹ U+2B79 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮈ U+2B88 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮉ U+2B89 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮊ U+2B8A | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮋ U+2B8B | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮌ U+2B8C | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮍ U+2B8D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮎ U+2B8E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮏ U+2B8F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮔ U+2B94 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮰ U+2BB0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮱ U+2BB1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮲ U+2BB2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮳ U+2BB3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮴ U+2BB4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮵ U+2BB5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮶ U+2BB6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⮷ U+2BB7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| ⯑ U+2BD1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String != U+0021 U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String *= U+002A U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String += U+002B U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String -= U+002D U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String -> U+002D U+003E | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String // U+002F U+002F | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String /= U+002F U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String := U+003A U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String <= U+003C U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String == U+003D U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String >= U+003E U+003D | block | infix | 0.2777777777777778em | 0.2777777777777778em | N/A | 
| String || U+007C U+007C | block | infix | 0.2777777777777778em | 0.2777777777777778em | fence | 
| ← U+2190 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↑ U+2191 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| → U+2192 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↓ U+2193 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↔ U+2194 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↕ U+2195 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↚ U+219A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↛ U+219B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↜ U+219C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↝ U+219D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↞ U+219E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↟ U+219F | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↠ U+21A0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↡ U+21A1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↢ U+21A2 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↣ U+21A3 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↤ U+21A4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↥ U+21A5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↦ U+21A6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↧ U+21A7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↨ U+21A8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↩ U+21A9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↪ U+21AA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↫ U+21AB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↬ U+21AC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↭ U+21AD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↮ U+21AE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↰ U+21B0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↱ U+21B1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↲ U+21B2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↳ U+21B3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↴ U+21B4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↵ U+21B5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↹ U+21B9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↼ U+21BC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↽ U+21BD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↾ U+21BE | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ↿ U+21BF | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇀ U+21C0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇁ U+21C1 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇂ U+21C2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇃ U+21C3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇄ U+21C4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇅ U+21C5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇆ U+21C6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇇ U+21C7 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇈ U+21C8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇉ U+21C9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇊ U+21CA | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇋ U+21CB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇌ U+21CC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇍ U+21CD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇎ U+21CE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇏ U+21CF | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇐ U+21D0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇑ U+21D1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇒ U+21D2 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇓ U+21D3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇔ U+21D4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇕ U+21D5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇚ U+21DA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇛ U+21DB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇜ U+21DC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇝ U+21DD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇞ U+21DE | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇟ U+21DF | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇠ U+21E0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇡ U+21E1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇢ U+21E2 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇣ U+21E3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇤ U+21E4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇥ U+21E5 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇦ U+21E6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇧ U+21E7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇨ U+21E8 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇩ U+21E9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇪ U+21EA | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇫ U+21EB | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇬ U+21EC | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇭ U+21ED | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇮ U+21EE | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇯ U+21EF | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇰ U+21F0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇳ U+21F3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇴ U+21F4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇵ U+21F5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇶ U+21F6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇷ U+21F7 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇸ U+21F8 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇹ U+21F9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇺ U+21FA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇻ U+21FB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇼ U+21FC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇽ U+21FD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇾ U+21FE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⇿ U+21FF | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➔ U+2794 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➙ U+2799 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➛ U+279B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➜ U+279C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➝ U+279D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➞ U+279E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➟ U+279F | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➠ U+27A0 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➡ U+27A1 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➥ U+27A5 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➦ U+27A6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➨ U+27A8 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➩ U+27A9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➪ U+27AA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➫ U+27AB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➬ U+27AC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➭ U+27AD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➮ U+27AE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➯ U+27AF | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➱ U+27B1 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➳ U+27B3 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➵ U+27B5 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➸ U+27B8 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➺ U+27BA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➻ U+27BB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➼ U+27BC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➽ U+27BD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ➾ U+27BE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟰ U+27F0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟱ U+27F1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟴ U+27F4 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟵ U+27F5 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟶ U+27F6 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟷ U+27F7 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟸ U+27F8 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟹ U+27F9 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟺ U+27FA | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟻ U+27FB | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟼ U+27FC | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟽ U+27FD | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟾ U+27FE | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⟿ U+27FF | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤀ U+2900 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤁ U+2901 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤂ U+2902 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤃ U+2903 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤄ U+2904 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤅ U+2905 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤆ U+2906 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤇ U+2907 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤈ U+2908 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤉ U+2909 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤊ U+290A | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤋ U+290B | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤌ U+290C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤍ U+290D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤎ U+290E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤏ U+290F | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤐ U+2910 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤑ U+2911 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤒ U+2912 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤓ U+2913 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤔ U+2914 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤕ U+2915 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤖ U+2916 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤗ U+2917 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤘ U+2918 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤙ U+2919 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤚ U+291A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤛ U+291B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤜ U+291C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤝ U+291D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤞ U+291E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤟ U+291F | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤠ U+2920 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤴ U+2934 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤵ U+2935 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤶ U+2936 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⤷ U+2937 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥂ U+2942 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥃ U+2943 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥄ U+2944 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥅ U+2945 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥆ U+2946 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥇ U+2947 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥈ U+2948 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥉ U+2949 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥊ U+294A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥋ U+294B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥌ U+294C | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥍ U+294D | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥎ U+294E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥏ U+294F | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥐ U+2950 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥑ U+2951 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥒ U+2952 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥓ U+2953 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥔ U+2954 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥕ U+2955 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥖ U+2956 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥗ U+2957 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥘ U+2958 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥙ U+2959 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥚ U+295A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥛ U+295B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥜ U+295C | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥝ U+295D | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥞ U+295E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥟ U+295F | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥠ U+2960 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥡ U+2961 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥢ U+2962 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥣ U+2963 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥤ U+2964 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥥ U+2965 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥦ U+2966 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥧ U+2967 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥨ U+2968 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥩ U+2969 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥪ U+296A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥫ U+296B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥬ U+296C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥭ U+296D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥮ U+296E | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥯ U+296F | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥰ U+2970 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥱ U+2971 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥲ U+2972 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥳ U+2973 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥴ U+2974 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥵ U+2975 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥼ U+297C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥽ U+297D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥾ U+297E | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⥿ U+297F | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬄ U+2B04 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬅ U+2B05 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬆ U+2B06 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬇ U+2B07 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬌ U+2B0C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬍ U+2B0D | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬎ U+2B0E | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬏ U+2B0F | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬐ U+2B10 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬑ U+2B11 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬰ U+2B30 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬱ U+2B31 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬲ U+2B32 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬳ U+2B33 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬴ U+2B34 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬵ U+2B35 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬶ U+2B36 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬷ U+2B37 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬸ U+2B38 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬹ U+2B39 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬺ U+2B3A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬻ U+2B3B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬼ U+2B3C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬽ U+2B3D | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⬾ U+2B3E | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭀ U+2B40 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭁ U+2B41 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭂ U+2B42 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭃ U+2B43 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭄ U+2B44 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭅ U+2B45 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭆ U+2B46 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭇ U+2B47 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭈ U+2B48 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭉ U+2B49 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭊ U+2B4A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭋ U+2B4B | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭌ U+2B4C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭠ U+2B60 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭡ U+2B61 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭢ U+2B62 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭣ U+2B63 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭤ U+2B64 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭥ U+2B65 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭪ U+2B6A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭫ U+2B6B | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭬ U+2B6C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭭ U+2B6D | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭰ U+2B70 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭱ U+2B71 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭲ U+2B72 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭳ U+2B73 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭺ U+2B7A | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭻ U+2B7B | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭼ U+2B7C | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⭽ U+2B7D | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮀ U+2B80 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮁ U+2B81 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮂ U+2B82 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮃ U+2B83 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮄ U+2B84 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮅ U+2B85 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮆ U+2B86 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮇ U+2B87 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮕ U+2B95 | inline | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮠ U+2BA0 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮡ U+2BA1 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮢ U+2BA2 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮣ U+2BA3 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮤ U+2BA4 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮥ U+2BA5 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮦ U+2BA6 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮧ U+2BA7 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮨ U+2BA8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮩ U+2BA9 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮪ U+2BAA | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮫ U+2BAB | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮬ U+2BAC | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮭ U+2BAD | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮮ U+2BAE | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮯ U+2BAF | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| ⮸ U+2BB8 | block | infix | 0.2777777777777778em | 0.2777777777777778em | stretchy | 
| + U+002B | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| - U+002D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ± U+00B1 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ÷ U+00F7 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⁄ U+2044 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| − U+2212 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∓ U+2213 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∔ U+2214 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∕ U+2215 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∖ U+2216 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∧ U+2227 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∨ U+2228 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∩ U+2229 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∪ U+222A | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∶ U+2236 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ∸ U+2238 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊌ U+228C | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊍ U+228D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊎ U+228E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊓ U+2293 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊔ U+2294 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊕ U+2295 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊖ U+2296 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊘ U+2298 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊝ U+229D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊞ U+229E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊟ U+229F | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊻ U+22BB | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊼ U+22BC | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⊽ U+22BD | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⋎ U+22CE | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⋏ U+22CF | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⋒ U+22D2 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⋓ U+22D3 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ➕ U+2795 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ➖ U+2796 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ➗ U+2797 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⦸ U+29B8 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⦼ U+29BC | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧄ U+29C4 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧅ U+29C5 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧵ U+29F5 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧶ U+29F6 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧷ U+29F7 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧸ U+29F8 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧹ U+29F9 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧺ U+29FA | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⧻ U+29FB | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨟ U+2A1F | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨠ U+2A20 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨡ U+2A21 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨢ U+2A22 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨣ U+2A23 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨤ U+2A24 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨥ U+2A25 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨦ U+2A26 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨧ U+2A27 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨨ U+2A28 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨩ U+2A29 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨪ U+2A2A | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨫ U+2A2B | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨬ U+2A2C | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨭ U+2A2D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨮ U+2A2E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨸ U+2A38 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨹ U+2A39 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨺ U+2A3A | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⨾ U+2A3E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩀ U+2A40 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩁ U+2A41 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩂ U+2A42 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩃ U+2A43 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩄ U+2A44 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩅ U+2A45 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩆ U+2A46 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩇ U+2A47 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩈ U+2A48 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩉ U+2A49 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩊ U+2A4A | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩋ U+2A4B | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩌ U+2A4C | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩍ U+2A4D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩎ U+2A4E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩏ U+2A4F | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩑ U+2A51 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩒ U+2A52 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩓ U+2A53 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩔ U+2A54 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩕ U+2A55 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩖ U+2A56 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩗ U+2A57 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩘ U+2A58 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩙ U+2A59 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩚ U+2A5A | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩛ U+2A5B | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩜ U+2A5C | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩝ U+2A5D | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩞ U+2A5E | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩟ U+2A5F | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩠ U+2A60 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩡ U+2A61 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩢ U+2A62 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⩣ U+2A63 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⫛ U+2ADB | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⫶ U+2AF6 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⫻ U+2AFB | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| ⫽ U+2AFD | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| String && U+0026 U+0026 | block | infix | 0.2222222222222222em | 0.2222222222222222em | N/A | 
| % U+0025 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| * U+002A | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| . U+002E | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ? U+003F | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| @ U+0040 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ^ U+005E | inline | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| · U+00B7 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| × U+00D7 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| • U+2022 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⁃ U+2043 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ∗ U+2217 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ∘ U+2218 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ∙ U+2219 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ≀ U+2240 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊗ U+2297 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊙ U+2299 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊚ U+229A | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊛ U+229B | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊠ U+22A0 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊡ U+22A1 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⊺ U+22BA | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋄ U+22C4 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋅ U+22C5 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋆ U+22C6 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋇ U+22C7 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋉ U+22C9 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋊ U+22CA | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋋ U+22CB | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⋌ U+22CC | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⌅ U+2305 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⌆ U+2306 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⟋ U+27CB | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⟍ U+27CD | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧆ U+29C6 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧇ U+29C7 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧈ U+29C8 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧔ U+29D4 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧕ U+29D5 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧖ U+29D6 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧗ U+29D7 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⧢ U+29E2 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨝ U+2A1D | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨞ U+2A1E | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨯ U+2A2F | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨰ U+2A30 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨱ U+2A31 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨲ U+2A32 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨳ U+2A33 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨴ U+2A34 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨵ U+2A35 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨶ U+2A36 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨷ U+2A37 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨻ U+2A3B | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨼ U+2A3C | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨽ U+2A3D | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⨿ U+2A3F | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⩐ U+2A50 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⩤ U+2A64 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⩥ U+2A65 | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⫝̸ U+2ADC | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⫝ U+2ADD | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ⫾ U+2AFE | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| String ** U+002A U+002A | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| String <> U+003C U+003E | block | infix | 0.16666666666666666em | 0.16666666666666666em | N/A | 
| ! U+0021 | block | prefix | 0 | 0 | N/A | 
| + U+002B | block | prefix | 0 | 0 | N/A | 
| - U+002D | block | prefix | 0 | 0 | N/A | 
| ¬ U+00AC | block | prefix | 0 | 0 | N/A | 
| ± U+00B1 | block | prefix | 0 | 0 | N/A | 
| ‘ U+2018 | block | prefix | 0 | 0 | fence | 
| “ U+201C | block | prefix | 0 | 0 | fence | 
| ∀ U+2200 | block | prefix | 0 | 0 | N/A | 
| ∁ U+2201 | block | prefix | 0 | 0 | N/A | 
| ∃ U+2203 | block | prefix | 0 | 0 | N/A | 
| ∄ U+2204 | block | prefix | 0 | 0 | N/A | 
| ∇ U+2207 | block | prefix | 0 | 0 | N/A | 
| − U+2212 | block | prefix | 0 | 0 | N/A | 
| ∓ U+2213 | block | prefix | 0 | 0 | N/A | 
| ∟ U+221F | block | prefix | 0 | 0 | N/A | 
| ∠ U+2220 | block | prefix | 0 | 0 | N/A | 
| ∡ U+2221 | block | prefix | 0 | 0 | N/A | 
| ∢ U+2222 | block | prefix | 0 | 0 | N/A | 
| ∴ U+2234 | block | prefix | 0 | 0 | N/A | 
| ∵ U+2235 | block | prefix | 0 | 0 | N/A | 
| ∼ U+223C | block | prefix | 0 | 0 | N/A | 
| ⊾ U+22BE | block | prefix | 0 | 0 | N/A | 
| ⊿ U+22BF | block | prefix | 0 | 0 | N/A | 
| ⌐ U+2310 | block | prefix | 0 | 0 | N/A | 
| ⌙ U+2319 | block | prefix | 0 | 0 | N/A | 
| ➕ U+2795 | block | prefix | 0 | 0 | N/A | 
| ➖ U+2796 | block | prefix | 0 | 0 | N/A | 
| ⟀ U+27C0 | block | prefix | 0 | 0 | N/A | 
| ⦛ U+299B | block | prefix | 0 | 0 | N/A | 
| ⦜ U+299C | block | prefix | 0 | 0 | N/A | 
| ⦝ U+299D | block | prefix | 0 | 0 | N/A | 
| ⦞ U+299E | block | prefix | 0 | 0 | N/A | 
| ⦟ U+299F | block | prefix | 0 | 0 | N/A | 
| ⦠ U+29A0 | block | prefix | 0 | 0 | N/A | 
| ⦡ U+29A1 | block | prefix | 0 | 0 | N/A | 
| ⦢ U+29A2 | block | prefix | 0 | 0 | N/A | 
| ⦣ U+29A3 | block | prefix | 0 | 0 | N/A | 
| ⦤ U+29A4 | block | prefix | 0 | 0 | N/A | 
| ⦥ U+29A5 | block | prefix | 0 | 0 | N/A | 
| ⦦ U+29A6 | block | prefix | 0 | 0 | N/A | 
| ⦧ U+29A7 | block | prefix | 0 | 0 | N/A | 
| ⦨ U+29A8 | block | prefix | 0 | 0 | N/A | 
| ⦩ U+29A9 | block | prefix | 0 | 0 | N/A | 
| ⦪ U+29AA | block | prefix | 0 | 0 | N/A | 
| ⦫ U+29AB | block | prefix | 0 | 0 | N/A | 
| ⦬ U+29AC | block | prefix | 0 | 0 | N/A | 
| ⦭ U+29AD | block | prefix | 0 | 0 | N/A | 
| ⦮ U+29AE | block | prefix | 0 | 0 | N/A | 
| ⦯ U+29AF | block | prefix | 0 | 0 | N/A | 
| ⫬ U+2AEC | block | prefix | 0 | 0 | N/A | 
| ⫭ U+2AED | block | prefix | 0 | 0 | N/A | 
| String || U+007C U+007C | block | prefix | 0 | 0 | fence | 
| ! U+0021 | block | postfix | 0 | 0 | N/A | 
| " U+0022 | block | postfix | 0 | 0 | N/A | 
| % U+0025 | block | postfix | 0 | 0 | N/A | 
| & U+0026 | block | postfix | 0 | 0 | N/A | 
| ' U+0027 | block | postfix | 0 | 0 | N/A | 
| ` U+0060 | block | postfix | 0 | 0 | N/A | 
| ¨ U+00A8 | block | postfix | 0 | 0 | N/A | 
| ° U+00B0 | block | postfix | 0 | 0 | N/A | 
| ² U+00B2 | block | postfix | 0 | 0 | N/A | 
| ³ U+00B3 | block | postfix | 0 | 0 | N/A | 
| ´ U+00B4 | block | postfix | 0 | 0 | N/A | 
| ¸ U+00B8 | block | postfix | 0 | 0 | N/A | 
| ¹ U+00B9 | block | postfix | 0 | 0 | N/A | 
| ˊ U+02CA | block | postfix | 0 | 0 | N/A | 
| ˋ U+02CB | block | postfix | 0 | 0 | N/A | 
| ˘ U+02D8 | block | postfix | 0 | 0 | N/A | 
| ˙ U+02D9 | block | postfix | 0 | 0 | N/A | 
| ˚ U+02DA | block | postfix | 0 | 0 | N/A | 
| ˝ U+02DD | block | postfix | 0 | 0 | N/A | 
| ̑ U+0311 | block | postfix | 0 | 0 | N/A | 
| ’ U+2019 | block | postfix | 0 | 0 | fence | 
| ‚ U+201A | block | postfix | 0 | 0 | N/A | 
| ‛ U+201B | block | postfix | 0 | 0 | N/A | 
| ” U+201D | block | postfix | 0 | 0 | fence | 
| „ U+201E | block | postfix | 0 | 0 | N/A | 
| ‟ U+201F | block | postfix | 0 | 0 | N/A | 
| ′ U+2032 | block | postfix | 0 | 0 | N/A | 
| ″ U+2033 | block | postfix | 0 | 0 | N/A | 
| ‴ U+2034 | block | postfix | 0 | 0 | N/A | 
| ‵ U+2035 | block | postfix | 0 | 0 | N/A | 
| ‶ U+2036 | block | postfix | 0 | 0 | N/A | 
| ‷ U+2037 | block | postfix | 0 | 0 | N/A | 
| ⁗ U+2057 | block | postfix | 0 | 0 | N/A | 
| ⃛ U+20DB | block | postfix | 0 | 0 | N/A | 
| ⃜ U+20DC | block | postfix | 0 | 0 | N/A | 
| ⏍ U+23CD | block | postfix | 0 | 0 | N/A | 
| String !! U+0021 U+0021 | block | postfix | 0 | 0 | N/A | 
| String ++ U+002B U+002B | block | postfix | 0 | 0 | N/A | 
| String -- U+002D U+002D | block | postfix | 0 | 0 | N/A | 
| String || U+007C U+007C | block | postfix | 0 | 0 | fence | 
| ( U+0028 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| [ U+005B | block | prefix | 0 | 0 | stretchy symmetric fence | 
| { U+007B | block | prefix | 0 | 0 | stretchy symmetric fence | 
| | U+007C | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ‖ U+2016 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⌈ U+2308 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⌊ U+230A | block | prefix | 0 | 0 | stretchy symmetric fence | 
| 〈 U+2329 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ❲ U+2772 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⟦ U+27E6 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⟨ U+27E8 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⟪ U+27EA | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⟬ U+27EC | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⟮ U+27EE | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦀ U+2980 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦃ U+2983 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦅ U+2985 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦇ U+2987 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦉ U+2989 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦋ U+298B | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦍ U+298D | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦏ U+298F | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦑ U+2991 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦓ U+2993 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦕ U+2995 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦗ U+2997 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⦙ U+2999 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⧘ U+29D8 | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⧚ U+29DA | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ⧼ U+29FC | block | prefix | 0 | 0 | stretchy symmetric fence | 
| ) U+0029 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ] U+005D | block | postfix | 0 | 0 | stretchy symmetric fence | 
| | U+007C | block | postfix | 0 | 0 | stretchy symmetric fence | 
| } U+007D | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ‖ U+2016 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⌉ U+2309 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⌋ U+230B | block | postfix | 0 | 0 | stretchy symmetric fence | 
| 〉 U+232A | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ❳ U+2773 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⟧ U+27E7 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⟩ U+27E9 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⟫ U+27EB | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⟭ U+27ED | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⟯ U+27EF | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦀ U+2980 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦄ U+2984 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦆ U+2986 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦈ U+2988 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦊ U+298A | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦌ U+298C | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦎ U+298E | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦐ U+2990 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦒ U+2992 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦔ U+2994 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦖ U+2996 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦘ U+2998 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⦙ U+2999 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⧙ U+29D9 | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⧛ U+29DB | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ⧽ U+29FD | block | postfix | 0 | 0 | stretchy symmetric fence | 
| ∫ U+222B | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∬ U+222C | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∭ U+222D | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∮ U+222E | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∯ U+222F | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∰ U+2230 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∱ U+2231 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∲ U+2232 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ∳ U+2233 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨋ U+2A0B | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨌ U+2A0C | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨍ U+2A0D | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨎ U+2A0E | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨏ U+2A0F | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨐ U+2A10 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨑ U+2A11 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨒ U+2A12 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨓ U+2A13 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨔ U+2A14 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨕ U+2A15 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨖ U+2A16 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨗ U+2A17 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨘ U+2A18 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨙ U+2A19 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨚ U+2A1A | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨛ U+2A1B | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ⨜ U+2A1C | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop | 
| ^ U+005E | inline | postfix | 0 | 0 | stretchy | 
| _ U+005F | inline | postfix | 0 | 0 | stretchy | 
| ~ U+007E | inline | postfix | 0 | 0 | stretchy | 
| ¯ U+00AF | inline | postfix | 0 | 0 | stretchy | 
| ˆ U+02C6 | inline | postfix | 0 | 0 | stretchy | 
| ˇ U+02C7 | inline | postfix | 0 | 0 | stretchy | 
| ˉ U+02C9 | inline | postfix | 0 | 0 | stretchy | 
| ˍ U+02CD | inline | postfix | 0 | 0 | stretchy | 
| ˜ U+02DC | inline | postfix | 0 | 0 | stretchy | 
| ˷ U+02F7 | inline | postfix | 0 | 0 | stretchy | 
| ̂ U+0302 | inline | postfix | 0 | 0 | stretchy | 
| ‾ U+203E | inline | postfix | 0 | 0 | stretchy | 
| ⌢ U+2322 | inline | postfix | 0 | 0 | stretchy | 
| ⌣ U+2323 | inline | postfix | 0 | 0 | stretchy | 
| ⎴ U+23B4 | inline | postfix | 0 | 0 | stretchy | 
| ⎵ U+23B5 | inline | postfix | 0 | 0 | stretchy | 
| ⏜ U+23DC | inline | postfix | 0 | 0 | stretchy | 
| ⏝ U+23DD | inline | postfix | 0 | 0 | stretchy | 
| ⏞ U+23DE | inline | postfix | 0 | 0 | stretchy | 
| ⏟ U+23DF | inline | postfix | 0 | 0 | stretchy | 
| ⏠ U+23E0 | inline | postfix | 0 | 0 | stretchy | 
| ⏡ U+23E1 | inline | postfix | 0 | 0 | stretchy | 
| 𞻰 U+1EEF0 | inline | postfix | 0 | 0 | stretchy | 
| 𞻱 U+1EEF1 | inline | postfix | 0 | 0 | stretchy | 
| ∏ U+220F | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ∐ U+2210 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ∑ U+2211 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⋀ U+22C0 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⋁ U+22C1 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⋂ U+22C2 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⋃ U+22C3 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨀ U+2A00 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨁ U+2A01 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨂ U+2A02 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨃ U+2A03 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨄ U+2A04 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨅ U+2A05 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨆ U+2A06 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨇ U+2A07 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨈ U+2A08 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨉ U+2A09 | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨊ U+2A0A | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨝ U+2A1D | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⨞ U+2A1E | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⫼ U+2AFC | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| ⫿ U+2AFF | block | prefix | 0.16666666666666666em | 0.16666666666666666em | symmetric largeop movablelimits | 
| / U+002F | block | infix | 0 | 0 | N/A | 
| \ U+005C | block | infix | 0 | 0 | N/A | 
| _ U+005F | inline | infix | 0 | 0 | N/A | 
|  U+2061 | block | infix | 0 | 0 | N/A | 
|  U+2062 | block | infix | 0 | 0 | N/A | 
|  U+2063 | block | infix | 0 | 0 | separator | 
|  U+2064 | block | infix | 0 | 0 | N/A | 
| ∆ U+2206 | block | infix | 0 | 0 | N/A | 
| ⅅ U+2145 | block | prefix | 0.16666666666666666em | 0 | N/A | 
| ⅆ U+2146 | block | prefix | 0.16666666666666666em | 0 | N/A | 
| ∂ U+2202 | block | prefix | 0.16666666666666666em | 0 | N/A | 
| √ U+221A | block | prefix | 0.16666666666666666em | 0 | N/A | 
| ∛ U+221B | block | prefix | 0.16666666666666666em | 0 | N/A | 
| ∜ U+221C | block | prefix | 0.16666666666666666em | 0 | N/A | 
| , U+002C | block | infix | 0 | 0.16666666666666666em | separator | 
| : U+003A | block | infix | 0 | 0.16666666666666666em | N/A | 
| ; U+003B | block | infix | 0 | 0.16666666666666666em | separator | 
This section is non-normative.
The following table gives mappings between spacing and non spacing characters when used in MathML accent constructs.
| Non Combining | Style | Combining | ||
|---|---|---|---|---|
| U+002B | plus sign | below | U+031F | combining plus sign below | 
| U+002D | hyphen-minus | above | U+0305 | combining overline | 
| U+002D | hyphen-minus | below | U+0320 | combining minus sign below | 
| U+002D | hyphen-minus | below | U+0332 | combining low line | 
| U+002E | full stop | above | U+0307 | combining dot above | 
| U+002E | full stop | below | U+0323 | combining dot below | 
| U+005E | circumflex accent | above | U+0302 | combining circumflex accent | 
| U+005E | circumflex accent | below | U+032D | combining circumflex accent below | 
| U+005F | low line | below | U+0332 | combining low line | 
| U+0060 | grave accent | above | U+0300 | combining grave accent | 
| U+0060 | grave accent | below | U+0316 | combining grave accent below | 
| U+007E | tilde | above | U+0303 | combining tilde | 
| U+007E | tilde | below | U+0330 | combining tilde below | 
| U+00A8 | diaeresis | above | U+0308 | combining diaeresis | 
| U+00A8 | diaeresis | below | U+0324 | combining diaeresis below | 
| U+00AF | macron | above | U+0304 | combining macron | 
| U+00AF | macron | above | U+0305 | combining overline | 
| U+00B4 | acute accent | above | U+0301 | combining acute accent | 
| U+00B4 | acute accent | below | U+0317 | combining acute accent below | 
| U+00B8 | cedilla | below | U+0327 | combining cedilla | 
| U+02C6 | modifier letter circumflex accent | above | U+0302 | combining circumflex accent | 
| U+02C7 | caron | above | U+030C | combining caron | 
| U+02C7 | caron | below | U+032C | combining caron below | 
| U+02D8 | breve | above | U+0306 | combining breve | 
| U+02D8 | breve | below | U+032E | combining breve below | 
| U+02D9 | dot above | above | U+0307 | combining dot above | 
| U+02D9 | dot above | below | U+0323 | combining dot below | 
| U+02DB | ogonek | below | U+0328 | combining ogonek | 
| U+02DC | small tilde | above | U+0303 | combining tilde | 
| U+02DC | small tilde | below | U+0330 | combining tilde below | 
| U+02DD | double acute accent | above | U+030B | combining double acute accent | 
| U+203E | overline | above | U+0305 | combining overline | 
| U+2190 | leftwards arrow | above | U+20D6 | |
| U+2192 | rightwards arrow | above | U+20D7 | combining right arrow above | 
| U+2192 | rightwards arrow | above | U+20EF | combining right arrow below | 
| U+2212 | minus sign | above | U+0305 | combining overline | 
| U+2212 | minus sign | below | U+0332 | combining low line | 
| U+27F6 | long rightwards arrow | above | U+20D7 | combining right arrow above | 
| U+27F6 | long rightwards arrow | above | U+20EF | combining right arrow below | 
| Combining | Style | Non Combining | ||
|---|---|---|---|---|
| U+0300 | combining grave accent | above | U+0060 | grave accent | 
| U+0301 | combining acute accent | above | U+00B4 | acute accent | 
| U+0302 | combining circumflex accent | above | U+005E | circumflex accent | 
| U+0302 | combining circumflex accent | above | U+02C6 | modifier letter circumflex accent | 
| U+0303 | combining tilde | above | U+007E | tilde | 
| U+0303 | combining tilde | above | U+02DC | small tilde | 
| U+0304 | combining macron | above | U+00AF | macron | 
| U+0305 | combining overline | above | U+002D | hyphen-minus | 
| U+0305 | combining overline | above | U+00AF | macron | 
| U+0305 | combining overline | above | U+203E | overline | 
| U+0305 | combining overline | above | U+2212 | minus sign | 
| U+0306 | combining breve | above | U+02D8 | breve | 
| U+0307 | combining dot above | above | U+02E | |
| U+0307 | combining dot above | above | U+002E | full stop | 
| U+0307 | combining dot above | above | U+02D9 | dot above | 
| U+0308 | combining diaeresis | above | U+00A8 | diaeresis | 
| U+030B | combining double acute accent | above | U+02DD | double acute accent | 
| U+030C | combining caron | above | U+02C7 | caron | 
| U+0312 | combining turned comma above | above | U+0B8 | |
| U+0316 | combining grave accent below | below | U+0060 | grave accent | 
| U+0317 | combining acute accent below | below | U+00B4 | acute accent | 
| U+031F | combining plus sign below | below | U+002B | plus sign | 
| U+0320 | combining minus sign below | below | U+002D | hyphen-minus | 
| U+0323 | combining dot below | below | U+002E | full stop | 
| U+0323 | combining dot below | below | U+02D9 | dot above | 
| U+0324 | combining diaeresis below | below | U+00A8 | diaeresis | 
| U+0327 | combining cedilla | below | U+00B8 | cedilla | 
| U+0328 | combining ogonek | below | U+02DB | ogonek | 
| U+032C | combining caron below | below | U+02C7 | caron | 
| U+032D | combining circumflex accent below | below | U+005E | circumflex accent | 
| U+032E | combining breve below | below | U+02D8 | breve | 
| U+0330 | combining tilde below | below | U+007E | tilde | 
| U+0330 | combining tilde below | below | U+02DC | small tilde | 
| U+0332 | combining low line | below | U+002D | hyphen-minus | 
| U+0332 | combining low line | below | U+005F | low line | 
| U+0332 | combining low line | below | U+2212 | minus sign | 
| U+0338 | combining long solidus overlay | over | U+02F | |
| U+20D7 | combining right arrow above | above | U+2192 | rightwards arrow | 
| U+20D7 | combining right arrow above | above | U+27F6 | long rightwards arrow | 
| U+20EF | combining right arrow below | above | U+2192 | rightwards arrow | 
| U+20EF | combining right arrow below | above | U+27F6 | long rightwards arrow | 
This section is non-normative.
          The following table provides fallback that user agents may use for
          stretching a given base character when the font does not
          provide a MATH.MathVariants table.
          The algorithms of
          5.3 Size variants for operators (MathVariants)
          work the same except with some adjustments:
        
MathVariants.horizGlyphConstructionOffsets[] item;
            if it is vertical it corresponds to
            a MathVariants.vertGlyphConstructionOffsets[] item.
          MathGlyphConstruction.mathGlyphVariantRecord is
            always empty.
          MathVariants.minConnectorOverlap,
            GlyphPartRecord.startConnectorLength and
            GlyphPartRecord.endConnectorLength
            are treated as 0.
          MathGlyphConstruction.GlyphAssembly.partRecords is built
            from each table row as follows:
            | Base Character | Glyph Construction | Extender Character | Bottom/Left Character | Middle Character | Top/Right Character | 
|---|---|---|---|---|---|
| U+0028 ( | Vertical | U+239C ⎜ | U+239D ⎝ | N/A | U+239B ⎛ | 
| U+0029 ) | Vertical | U+239F ⎟ | U+23A0 ⎠ | N/A | U+239E ⎞ | 
| U+003D = | Horizontal | U+003D = | U+003D = | N/A | N/A | 
| U+005B [ | Vertical | U+23A2 ⎢ | U+23A3 ⎣ | N/A | U+23A1 ⎡ | 
| U+005D ] | Vertical | U+23A5 ⎥ | U+23A6 ⎦ | N/A | U+23A4 ⎤ | 
| U+005F _ | Horizontal | U+005F _ | U+005F _ | N/A | N/A | 
| U+007B { | Vertical | U+23AA ⎪ | U+23A9 ⎩ | U+23A8 ⎨ | U+23A7 ⎧ | 
| U+007C | | Vertical | U+007C | | U+007C | | N/A | N/A | 
| U+007D } | Vertical | U+23AA ⎪ | U+23AD ⎭ | U+23AC ⎬ | U+23AB ⎫ | 
| U+00AF ¯ | Horizontal | U+00AF ¯ | U+00AF ¯ | N/A | N/A | 
| U+2016 ‖ | Vertical | U+2016 ‖ | U+2016 ‖ | N/A | N/A | 
| U+203E ‾ | Horizontal | U+203E ‾ | U+203E ‾ | N/A | N/A | 
| U+2190 ← | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+23AF ⎯ | 
| U+2191 ↑ | Vertical | U+23D0 ⏐ | U+23D0 ⏐ | N/A | U+2191 ↑ | 
| U+2192 → | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+2192 → | 
| U+2193 ↓ | Vertical | U+23D0 ⏐ | U+2193 ↓ | N/A | U+23D0 ⏐ | 
| U+2194 ↔ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+2192 → | 
| U+2195 ↕ | Vertical | U+23D0 ⏐ | U+2193 ↓ | N/A | U+2191 ↑ | 
| U+21A4 ↤ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+22A3 ⊣ | 
| U+21A6 ↦ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+2192 → | 
| U+21BC ↼ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+23AF ⎯ | 
| U+21BD ↽ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+23AF ⎯ | 
| U+21C0 ⇀ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+21C0 ⇀ | 
| U+21C1 ⇁ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+21C1 ⇁ | 
| U+2223 ∣ | Vertical | U+2223 ∣ | U+2223 ∣ | N/A | N/A | 
| U+2225 ∥ | Vertical | U+2225 ∥ | U+2225 ∥ | N/A | N/A | 
| U+2308 ⌈ | Vertical | U+23A2 ⎢ | U+23A2 ⎢ | N/A | U+23A1 ⎡ | 
| U+2309 ⌉ | Vertical | U+23A5 ⎥ | U+23A5 ⎥ | N/A | U+23A4 ⎤ | 
| U+230A ⌊ | Vertical | U+23A2 ⎢ | U+23A3 ⎣ | N/A | N/A | 
| U+230B ⌋ | Vertical | U+23A5 ⎥ | U+23A6 ⎦ | N/A | N/A | 
| U+23B0 ⎰ | Vertical | U+23AA ⎪ | U+23AD ⎭ | N/A | U+23A7 ⎧ | 
| U+23B1 ⎱ | Vertical | U+23AA ⎪ | U+23A9 ⎩ | N/A | U+23AB ⎫ | 
| U+27F5 ⟵ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+23AF ⎯ | 
| U+27F6 ⟶ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+2192 → | 
| U+27F7 ⟷ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+2192 → | 
| U+294E ⥎ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+21C0 ⇀ | 
| U+2950 ⥐ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+21C1 ⇁ | 
| U+295A ⥚ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+22A3 ⊣ | 
| U+295B ⥛ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+21C0 ⇀ | 
| U+295E ⥞ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+22A3 ⊣ | 
| U+295F ⥟ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+21C1 ⇁ | 
This section is non-normative.
As detailed in [xml-entity-names] mathematical alphanumeric symbols with form bold, italic, fraktur, monospace, double-struck etc are available in Unicode.
These alphanumeric
	symbols should be accessed using their Unicode code points.
	It is sometimes needed to distinguish between
        Chancery and Roundhand style for MATHEMATICAL SCRIPT characters.
        These are notably used in LaTeX for the
        \mathcal and \mathscr commands.
      One way to do that is to rely on
        Chapter 23.4 Variation Selectors of
        Unicode which describes a way to
        specify selection of particular glyph variants [UNICODE].
        Indeed, the
        StandardizedVariants.txt file from the
        Unicode Character Database indicates that variant selectors
        U+FE00 and U+FE01 can be used on capital script to specify
        Chancery and Roundhand respectively.
salt or
        ssXY properties from [OPEN-FONT-FORMAT]
        to provide both styles. Page authors may use the
        font-variant-alternates property with corresponding OpenType font features
        to access these glyphs.
In addition, the italic math alphanumeric characters may be accessed as described above using the CSS
  text-transform: math-auto transform which is applied by default to single character <mi> elements.
    As a convenience the mapping to math italic is shown below.
| Original | italic | Δcode point | 
|---|---|---|
| A U+0041 | 𝐴 U+1D434 | 1D3F3 | 
| B U+0042 | 𝐵 U+1D435 | 1D3F3 | 
| C U+0043 | 𝐶 U+1D436 | 1D3F3 | 
| D U+0044 | 𝐷 U+1D437 | 1D3F3 | 
| E U+0045 | 𝐸 U+1D438 | 1D3F3 | 
| F U+0046 | 𝐹 U+1D439 | 1D3F3 | 
| G U+0047 | 𝐺 U+1D43A | 1D3F3 | 
| H U+0048 | 𝐻 U+1D43B | 1D3F3 | 
| I U+0049 | 𝐼 U+1D43C | 1D3F3 | 
| J U+004A | 𝐽 U+1D43D | 1D3F3 | 
| K U+004B | 𝐾 U+1D43E | 1D3F3 | 
| L U+004C | 𝐿 U+1D43F | 1D3F3 | 
| M U+004D | 𝑀 U+1D440 | 1D3F3 | 
| N U+004E | 𝑁 U+1D441 | 1D3F3 | 
| O U+004F | 𝑂 U+1D442 | 1D3F3 | 
| P U+0050 | 𝑃 U+1D443 | 1D3F3 | 
| Q U+0051 | 𝑄 U+1D444 | 1D3F3 | 
| R U+0052 | 𝑅 U+1D445 | 1D3F3 | 
| S U+0053 | 𝑆 U+1D446 | 1D3F3 | 
| T U+0054 | 𝑇 U+1D447 | 1D3F3 | 
| U U+0055 | 𝑈 U+1D448 | 1D3F3 | 
| V U+0056 | 𝑉 U+1D449 | 1D3F3 | 
| W U+0057 | 𝑊 U+1D44A | 1D3F3 | 
| X U+0058 | 𝑋 U+1D44B | 1D3F3 | 
| Y U+0059 | 𝑌 U+1D44C | 1D3F3 | 
| Z U+005A | 𝑍 U+1D44D | 1D3F3 | 
| a U+0061 | 𝑎 U+1D44E | 1D3ED | 
| b U+0062 | 𝑏 U+1D44F | 1D3ED | 
| c U+0063 | 𝑐 U+1D450 | 1D3ED | 
| d U+0064 | 𝑑 U+1D451 | 1D3ED | 
| e U+0065 | 𝑒 U+1D452 | 1D3ED | 
| f U+0066 | 𝑓 U+1D453 | 1D3ED | 
| g U+0067 | 𝑔 U+1D454 | 1D3ED | 
| h U+0068 | ℎ U+0210E | 20A6 | 
| i U+0069 | 𝑖 U+1D456 | 1D3ED | 
| j U+006A | 𝑗 U+1D457 | 1D3ED | 
| k U+006B | 𝑘 U+1D458 | 1D3ED | 
| l U+006C | 𝑙 U+1D459 | 1D3ED | 
| m U+006D | 𝑚 U+1D45A | 1D3ED | 
| n U+006E | 𝑛 U+1D45B | 1D3ED | 
| o U+006F | 𝑜 U+1D45C | 1D3ED | 
| p U+0070 | 𝑝 U+1D45D | 1D3ED | 
| q U+0071 | 𝑞 U+1D45E | 1D3ED | 
| r U+0072 | 𝑟 U+1D45F | 1D3ED | 
| s U+0073 | 𝑠 U+1D460 | 1D3ED | 
| t U+0074 | 𝑡 U+1D461 | 1D3ED | 
| u U+0075 | 𝑢 U+1D462 | 1D3ED | 
| v U+0076 | 𝑣 U+1D463 | 1D3ED | 
| w U+0077 | 𝑤 U+1D464 | 1D3ED | 
| x U+0078 | 𝑥 U+1D465 | 1D3ED | 
| y U+0079 | 𝑦 U+1D466 | 1D3ED | 
| z U+007A | 𝑧 U+1D467 | 1D3ED | 
| ı U+0131 | 𝚤 U+1D6A4 | 1D573 | 
| ȷ U+0237 | 𝚥 U+1D6A5 | 1D46E | 
| Α U+0391 | 𝛢 U+1D6E2 | 1D351 | 
| Β U+0392 | 𝛣 U+1D6E3 | 1D351 | 
| Γ U+0393 | 𝛤 U+1D6E4 | 1D351 | 
| Δ U+0394 | 𝛥 U+1D6E5 | 1D351 | 
| Ε U+0395 | 𝛦 U+1D6E6 | 1D351 | 
| Ζ U+0396 | 𝛧 U+1D6E7 | 1D351 | 
| Η U+0397 | 𝛨 U+1D6E8 | 1D351 | 
| Θ U+0398 | 𝛩 U+1D6E9 | 1D351 | 
| Ι U+0399 | 𝛪 U+1D6EA | 1D351 | 
| Κ U+039A | 𝛫 U+1D6EB | 1D351 | 
| Λ U+039B | 𝛬 U+1D6EC | 1D351 | 
| Μ U+039C | 𝛭 U+1D6ED | 1D351 | 
| Ν U+039D | 𝛮 U+1D6EE | 1D351 | 
| Ξ U+039E | 𝛯 U+1D6EF | 1D351 | 
| Ο U+039F | 𝛰 U+1D6F0 | 1D351 | 
| Π U+03A0 | 𝛱 U+1D6F1 | 1D351 | 
| Ρ U+03A1 | 𝛲 U+1D6F2 | 1D351 | 
| ϴ U+03F4 | 𝛳 U+1D6F3 | 1D2FF | 
| Σ U+03A3 | 𝛴 U+1D6F4 | 1D351 | 
| Τ U+03A4 | 𝛵 U+1D6F5 | 1D351 | 
| Υ U+03A5 | 𝛶 U+1D6F6 | 1D351 | 
| Φ U+03A6 | 𝛷 U+1D6F7 | 1D351 | 
| Χ U+03A7 | 𝛸 U+1D6F8 | 1D351 | 
| Ψ U+03A8 | 𝛹 U+1D6F9 | 1D351 | 
| Ω U+03A9 | 𝛺 U+1D6FA | 1D351 | 
| ∇ U+2207 | 𝛻 U+1D6FB | 1B4F4 | 
| α U+03B1 | 𝛼 U+1D6FC | 1D34B | 
| β U+03B2 | 𝛽 U+1D6FD | 1D34B | 
| γ U+03B3 | 𝛾 U+1D6FE | 1D34B | 
| δ U+03B4 | 𝛿 U+1D6FF | 1D34B | 
| ε U+03B5 | 𝜀 U+1D700 | 1D34B | 
| ζ U+03B6 | 𝜁 U+1D701 | 1D34B | 
| η U+03B7 | 𝜂 U+1D702 | 1D34B | 
| θ U+03B8 | 𝜃 U+1D703 | 1D34B | 
| ι U+03B9 | 𝜄 U+1D704 | 1D34B | 
| κ U+03BA | 𝜅 U+1D705 | 1D34B | 
| λ U+03BB | 𝜆 U+1D706 | 1D34B | 
| μ U+03BC | 𝜇 U+1D707 | 1D34B | 
| ν U+03BD | 𝜈 U+1D708 | 1D34B | 
| ξ U+03BE | 𝜉 U+1D709 | 1D34B | 
| ο U+03BF | 𝜊 U+1D70A | 1D34B | 
| π U+03C0 | 𝜋 U+1D70B | 1D34B | 
| ρ U+03C1 | 𝜌 U+1D70C | 1D34B | 
| ς U+03C2 | 𝜍 U+1D70D | 1D34B | 
| σ U+03C3 | 𝜎 U+1D70E | 1D34B | 
| τ U+03C4 | 𝜏 U+1D70F | 1D34B | 
| υ U+03C5 | 𝜐 U+1D710 | 1D34B | 
| φ U+03C6 | 𝜑 U+1D711 | 1D34B | 
| χ U+03C7 | 𝜒 U+1D712 | 1D34B | 
| ψ U+03C8 | 𝜓 U+1D713 | 1D34B | 
| ω U+03C9 | 𝜔 U+1D714 | 1D34B | 
| ∂ U+2202 | 𝜕 U+1D715 | 1B513 | 
| ϵ U+03F5 | 𝜖 U+1D716 | 1D321 | 
| ϑ U+03D1 | 𝜗 U+1D717 | 1D346 | 
| ϰ U+03F0 | 𝜘 U+1D718 | 1D328 | 
| ϕ U+03D5 | 𝜙 U+1D719 | 1D344 | 
| ϱ U+03F1 | 𝜚 U+1D71A | 1D329 | 
| ϖ U+03D6 | 𝜛 U+1D71B | 1D345 | 
This section is non-normative.
MathML Core is based on MathML3. See the appendix E of [MathML3] for the people that contributed to that specification.
MathML Core was initially developed by the MathML Community Group, and then by the Math Working Group. Working Group or Community Group members who regularly participated in MathML Core meetings during the development of this specification: Brian Kardell, Bruce Miller, Daniel Marques, David Carlisle, David Farmer, Deyan Ginev, Frédéric Wang, Louis Mahler, Moritz Schubotz, Murray Sargent, Neil Soiffer, Patrick Ion, Rob Buis, Steve Noble and Sam Dooley.
In addition, we would like to extend special thanks to Brian Kardell, Neil Soiffer and Rob Buis for help with the editing.
Many thanks also to the following people for their help with the test suite: Brian Kardell, Frédéric Wang, Neil Soiffer and Rob Buis. Several tests are also based on MathML tests from browser repositories and we are grateful to the Mozilla and WebKit contributors.
We would like to thank the people who, through their input and feedback on public communication channels, have helped us with the creation of this specification: André Greiner-Petter, Anne van Kesteren, Boris Zbarsky, Brian Smith, Elika Etemad, Emilio Cobos Álvarez, ExE Boss, Ian Kilpatrick, Koji Ishii, L. David Baron, Michael Kohlhase, Michael Smith, Ryosuke Niwa, Sergey Malkin, Tab Atkins Jr., Viktor Yaffle and frankvel.
This section is non-normative.
This specification adds script execution mechanisms via the MathML event handler attributes described in 2.1.3 Global Attributes. UAs may decide to prevent execution of scripts specified in these attributes, following the same security restrictions as those applying to HTML or SVG elements.
In [MathML3], it was possible to make any element linkable
          via href or xlink:href attributes, with
          an URL pointing to an untrusted resource or even
          javascript: execution. These attributes are not
          available in MathML Core. However, as described in
          2.2.1 HTML and SVG it is possible to embed
          HTML or SVG content inside MathML, including HTML or SVG links.
        
In [MathML3], it was possible to use the
        maction element with
        the actiontype value set to "statusline"
        in order to override the text of the browser statusline. In particular,
        an attacker could use this
        to hide the URL text of an untrusted link e.g.
<math>
  <maction actiontype="statusline">
    <mtext><a href="javascript:alert('JS execution')">Click me!</a></mtext>
    <mtext>./this-is-a-safe-link.html</mtext>
  </maction>
</math>This feature is not available in MathML Core, where
        the maction element essentially behaves
        like an mrow container with extra style.
An attacker can try to hang the UA by inserting very large
        stretchy operators, effectively making the algorithm
        shaping of the glyph assembly deal with a huge amount of
        glyphs. UAs may work around this issue
        by limiting rmin and
        GlyphAssembly.partCount to
        maximum values.
As described in CSS Fonts Module, an attacker can try to rely on malformed or malicious fonts to exploit potential security faults in browser implementations. Because the OpenType MATH table is used extensively in this specification, UAs should ensure their font sanitization mechanisms are able to deal with that table.
Finally, in order to reduce attack surface, some UAs expose runtime options to disable part of the web platform. Disabling MathML layout can essentially be achieved by forcing elements in the DOM tree to be put in the HTML namespace and disabling 4. CSS Extensions for Math Layout.
This section is non-normative.
        As explained in 2.2.1 HTML and SVG,
        MathML can be embedded into an SVG image via the
        <foreignObject>
        element which can thus be used in a
        canvas
        element.
        UA may decide to implement any measure to prevent potential
        information leakage
        such as tainting the canvas and returning a
        "SecurityError"
        when one tries to access the canvas' content via JavaScript APIs.
      
          In the following example, the canvas image is set to the image of
          some MathML content with an HTML link to https://example.org/.
          It should not be possible for an attacker to determine whether that
          link was visited by reading pixels via context..
          For more about links in MathML, see
          E. Security Considerations.
        getImageData()
let svg = `
  <svg xmlns="http://www.w3.org/2000/svg" width="100px" height="100px">
    <foreignObject width="100" height="100"
                   requiredExtensions="http://www.w3.org/1998/Math/MathML">
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <msqrt style="font-size: 25px">
          <mtext>■</mtext>
          <mtext><a href="https://example.org/">■</a></mtext>
        </msqrt>
      </math>
    </foreignObject>
  </svg>`;
let image = new Image();
image.width = 100;
image.height = 100;
image.onload = () => {
  let canvas = document.createElement('canvas');
  canvas.width = 100;
  canvas.height = 100;
  canvas.style = "border: 1px solid black";
  document.body.appendChild(canvas);
  let context = canvas.getContext("2d");
  context.drawImage(image, 0, 0);
};
image.src = `data:image/svg+xml;base64,${window.btoa(svg)}`;
        This specification describes layout of DOM
        elements which may involve system
        fonts. Like for HTML/CSS layout,
        it is thus possible to use JavaScript APIs
        (e.g.
        context. on content embedded in a canvas context, or even just
        getImageData()getBoundingClientRect())
        to measure box sizes and positions and infer data from system fonts.
        By combining miscellaneous tests on such fonts and
        comparing measurements against results of well-known fonts, an attacker
        can try and determine the default fonts of the user.
      
The following
        HTML+CSS+JavaScript document relies on a Web font with exotic metrics
        to try and determine whether A Well Known System Font
        is available by default.
<style>
  @font-face {
    font-family: MyWebFontWithVeryWideGlyphs;
    src: url("/fonts/my-web-fonts-with-very-wide-glyphs.woff");
  }
  #container {
    font-family: AWellKnownSystemFont, MyWebFontWithVeryWideGlyphs;
  }
</style>
<div id="container">SOMETEXT</div>
<div id="reference">SOMETEXT</div>
<script>
document.fonts.ready.then(() => {
  let containerWidth =
    document.getElementById("container").getBoundingClientRect().width;
  let referenceWidth =
    document.getElementById("reference").getBoundingClientRect().width;
  let isWellKnownSystemFontAvailable =
    Math.abs(containerWidth - referenceWidth) < 1;
});
</script>The following HTML+CSS+JavaScript document tries to determine whether the UI serif font provides Asian glyphs:
<style>
  @font-face {
    font-family: MyWebFontWithVeryWideAsianGlyphs;
    src: url("/fonts/my-web-fonts-with-very-wide-asian-glyphs.woff");
  }
  #container {
    font-family: ui-serif, MyWebFontWithVeryWideAsianGlyphs
  }
  #reference {
    font-family: MyWebFontWithVeryWideAsianGlyphs;
  }
</style>
<div id="container">王</div>
<div id="reference">王</div>
<script>
document.fonts.ready.then(() => {
  let containerWidth =
    document.getElementById("container").getBoundingClientRect().width;
  let referenceWidth =
    document.getElementById("reference").getBoundingClientRect().width;
  let uiSerifFontDoesNotContainAsianGlyph =
    Math.abs(containerWidth - referenceWidth) < 1;
});
</script>The following
        HTML+CSS document contains the same text rendered with
        text-decoration-thickness set to from-font and 1em (here
        100 pixels)
        respectively. By comparing the heights of the two underlines,
        one can calculate a good approximation of the
        underlineThickness value from the PostScript Table
        [OPEN-FONT-FORMAT].
        
<style>
  #test {
    font-size: 100px;
  }
  #container {
    text-decoration-line: underline;
    text-decoration-thickness: from-font;
  }
  #reference {
    text-decoration-line: underline;
    text-decoration-thickness: 1em;
  }
</style>
<div id="test">
  <div id="container">SOMETEXT</div>
  <div id="reference">SOMETEXT</div>
</div>This specification relies on information from
        5. OpenType MATH table to render MathML content. One
        can get good approximation of most
        layout parameters from MathConstants and
        MathGlyphInfo using measurement
        techniques similar to what is described above for
        HTML+CSS+JavaScript document. The use of the MathVariants
        table for MathML rendering can also be observed by putting stretchy
        operators of different sizes inside a canvas context.
Although none of these parameters taken individually are personal, implementing this specification increases the set of exposed font information that can be used by an attacker to implement fingerprinting techniques. Typically, they could help determine available and preferred math fonts for a user.
Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.
All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]
          Examples in this specification are introduced with the words
          “for example” or are set apart from the normative text with
          class="example", like this:
        
This is an example of an informative example.
          Informative notes begin with the word “Note” and are set apart from
          the normative text with class="note", like this:
        
Note, this is an informative note.
          Advisements are normative sections styled to evoke special attention
          and are set apart from other normative text with
          <strong class="advisement">, like this:
          UAs MUST provide an accessible alternative. 
        
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: