Skip to content

Report the codepoints a label could not draw - #6

Merged
beetlebugorg merged 1 commit into
mainfrom
feat/missing-glyphs
Sep 9, 2026
Merged

Report the codepoints a label could not draw#6
beetlebugorg merged 1 commit into
mainfrom
feat/missing-glyphs

Conversation

@beetlebugorg

Copy link
Copy Markdown
Owner

A codepoint absent from the glyph atlas advances half an em and draws no ink, so labels come out blank where a chart's names are in a script the atlas has no glyphs for. A host has no way to learn which characters it needs. CJK alone is around 20,000 glyphs, so preloading a script is not the answer either: the atlas caps out near 18,000 cells at 1024x16384.

Built.missing_glyphs holds them, deduplicated, beside missing_images, and layoutSymbolFeature threads the set the same way. layoutText scans the run's codepoints before the wrap drops any of it, so a label cut short for want of a glyph still asks for the glyph that lets it fit. Both build and the concat path report the set.

Nothing here bakes or loads a glyph. A host reads the set, rasterizes those characters from whatever face its platform has for the script, and calls addSdfSheet or addRange.

zig build and zig build test pass. Spec conformance is 575/577, the same two output failures as the base.

A codepoint absent from the glyph atlas advances half an em and draws no
ink. Labels come out blank where a chart's names are in a script the
atlas has no glyphs for, and a host has no way to learn which characters
it needs.

Built.missing_glyphs holds them, deduplicated, beside missing_images.
layoutText scans the run before the wrap drops any of it, so a label cut
short for want of a glyph still asks for the glyph that lets it fit.
build and the concat path both report the set.
@beetlebugorg
beetlebugorg merged commit 013bd53 into main Sep 9, 2026
6 checks passed
@beetlebugorg
beetlebugorg deleted the feat/missing-glyphs branch September 9, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant