🌐 US-Proxy
class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
Skip to content

Look into making combining accents work in Chrome #311

Open

Description

@NSoiffer

There is a problem with knowing what characters to use for accents. See https://mathfonts.github.io/math-accents for how they render in a browser. For Chrome, you can see that the combining characters are not centered properly. Appendix B3 lists some equivalences, but that is currently not referenced in the spec

@eerii: can that be fixed in Chrome so that the spec can say "use the combining characters" for accents?

Appendix B3 is the minimal list that should be supported if they can be supported. For reference, there are the ranges where math-relevant combining characters live in Unicode:

  • Combining Diacritical Marks: U+0300–U+036F
    The most common block, containing standard European diacritics (acute, grave, circumflex, etc.) and IPA extensions.  

  • Combining Diacritical Marks for Symbols: U+20D0–U+20FF
    Contains combining marks for mathematical and technical symbols, such as enclosing circles, squares, or arrows.

There is also a question about which characters should stretch, but we should resolve this first before moving on to stretchy chars.

Activity

  1. ronkok commented on Mar 3, 2026

    @ronkok

    A working combining accent character is most needed for the rightwards arrow, to emulate the LaTeX function \vec, as in $\vec{F}$. Appendix B3 says that Unicode U+2192, rightwards arrow, is an equivalent to U+20D7, combining right arrow above. But those two glyphs actually look quite different from each other.

    It's U+20D7 that is needed, but people use U+2192 because the combining character does not render well.

  2. MurrayIII commented on Sep 7, 2026

    @MurrayIII

    The common combining marks in the range U+0300..U+036F should be supported. Currently they are displayed displaced to the left of the base character. The combining marks that MathJax supports can be a guide. The most important ones are U+0302 (\hat), U+0303 (\tilde), U+0307 (\dot), and U+0308 (\ddot). But the code to support these probably supports many characters in the range U+0300..U+036F.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions