w3c / w3c/mathml-core

Native MathML rendering problems

Open
#229 18 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

browser-tracking
Dominant language
HTML
Stars
56
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Native MathML rendering differs from TeX/MathJax/Word in a number of ways. Here's a short list of differences.

status rendering problem
resolved <​math display="block"> often doesn't center the equation
𝑎²+𝑏² displays the superscript ² for the 𝑏 too high (should be at the same height as for the 𝑎). Also, a subscript for a character with a descender is too low. E.g., for 𝑎₂+𝑞₃, the ₃ is displayed too low (should have the same descent as the ₂)
Adjacent fractions need to be separated by a small space instead of being contiguous
𝑎 sin 𝜃 needs a space between the 𝑎 and the sin 𝜃 and between the sin and the 𝜃
|x| displays the vertical bars too high
√𝜋 displays the square root too low
Parentheses around matrices are too large
Unicode spaces have incorrect widths, e.g., U+2009 (thin space) is a very thick space. U+2061 should have a thin-space width but has 0 width.
The tilde combining mark U+303 should stretch over its base
resolved In <math display="block">, ∫'s should be larger as in TeX
resolved Displaying a fraction in block mode is centered, but the fraction bar length equals the display width instead of the width of the larger argument

Here's a link to a document that illustrates the differences:
Native MathML Display Bugs.docx

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Native MathML Display Bugs.docx attachment and compare its examples with the unresolved differences listed in the issue. Review the MathML Core draft to identify the relevant rendering behavior; done would require addressing the remaining discrepancies and documenting which cases are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
computer-graphics, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.