w3c / w3c/mathml-core

Be more explicit about how to get a largeop glyph

Open
#253 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

From https://w3c.github.io/mathml-core/#layout-of-operators

If the operator has the largeop property and if math-style on the element is normal, then:
Use the MathVariants table to try and find a glyph of height at least DisplayOperatorMinHeight. If none is found, fall back to the largest non-base glyph. If none is found, fall back to the layout algorithm of 3.2.1.1 Layout of .

There is a separate issue #126 about how to actually interpret DisplayOperatorMinHeight, and it seems the conclusion is that MathML Core is correct but Cambria Math font is not.

But even without that, "use the MathVariants table" is vague. First the base glyph is obtained from the "single character c". Then I'm not sure, maybe we can just shape the base glyph to block dimension DisplayOperatorMinHeight which seems to be what Chromium does or maybe we need to introduce a similar "find a display operator glyph" algorithm if it needs to be different.

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 MathML Core's “Layout of operators” and “shape a stretchy glyph” definitions, then compare Chromium's math_operator_layout_algorithm.cc around line 131. Review issue #126's DisplayOperatorMinHeight discussion; done means the specification explicitly defines how the base glyph and MathVariants or display-operator selection are determined.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.