Skip to content

feat: prototype deterministic bundled font artifacts - #325

Open
Happypig375 wants to merge 2 commits into
issue-293-font-startup-benchmarkfrom
issue-191-precomputed-fonts
Open

feat: prototype deterministic bundled font artifacts#325
Happypig375 wants to merge 2 commits into
issue-293-font-startup-benchmarkfrom
issue-191-precomputed-fonts

Conversation

@Happypig375

Copy link
Copy Markdown
Collaborator

Summary

  • add a deterministic build-time generator for all three bundled OTF sources
  • emit versioned little-endian CSMF1 blobs with source and payload hashes plus a stable manifest
  • preserve every SFNT table byte except GSUB/GPOS, which CSharpMath does not consume for shaping
  • provide an optional generated-C# prototype for the binary/source-size and AOT tradeoff study
  • keep this phase offline only; production rendering and custom LocalTypefaces are unchanged
  • verify regeneration and byte-for-byte checked-in output in a dedicated CI workflow

Validation

  • FontBlobTests: 4 passed
  • strict magic/schema/endian/name/length/source-hash/payload-hash/trailing-data failures covered
  • all non-shaping table bytes and sorted table order compared directly for every face
  • manifest face order and complete artifact-set determinism verified
  • CLI verify regenerates and compares every blob plus manifest
  • Release build, scoped format checks, and git diff checks passed

Evidence

This is stacked on #317.

Closes #319

@Happypig375 Happypig375 added Type/Housekeeping Repository, build, dependency, or internal maintenance. Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. Type/Housekeeping Repository, build, dependency, or internal maintenance.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant