shape a stretchy glyph : step 1. is incorrect
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/#algorithms-for-glyph-stretching
- If there is not any MathGlyphConstruction table in the MathVariants.horizGlyphConstructionOffsets table (respectively MathVariants.vertGlyphConstructionOffsets table) for the given glyph the exit with failure.
But 1. is actually only required by steps 3. and 4. not by 2. I believe this whole list should instead be written the same way as https://w3c.github.io/mathml-core/#dfn-preferred-inline-size-of-a-glyph-stretched-along-the-block-axis :
- If the glyph's advance width (respectively height) is at least T ...
- If there is a MathGlyphConstruction table ...
- Browse the list of MathGlyphVariantRecord...
- If there is valid GlyphAssembly subtable then use the bounding ...
- If none of the stretch option above allowed to cover the target ...
Then the returned success/failure does not make any sense and can be removed. Checking quickly, it seems it's only used in https://w3c.github.io/mathml-core/#layout-of-operators for two occurrences "If it is not possible to shape a stretchy glyph" but instead they should really check that a glyph exists for character c with the first available font.
Additionally, the two places "If there is valid GlyphAssembly subtable" should probably be more accurately stated as "if MathGlyphConstruction.glyphAssemblyOffset points to a valid GlyphAssembly subtable.".
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the glyph-stretching algorithm in the MathML Core specification, then compare it with the preferred inline-size algorithm and the two references in layout of operators. Update the ordering and wording for MathGlyphConstruction and GlyphAssembly checks, and ensure the success/failure behavior and glyph-existence checks are consistent.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100