Skip to content

Prototype deterministic bundled-font artifact formats #319

Description

@Happypig375

Parent: #191

Build the reproducible offline artifact foundation before changing the runtime font backend.

Scope

  • add a deterministic repository tool for all three bundled OTF sources
  • emit a versioned, little-endian compact binary table container with magic/schema and each source font's SHA-256
  • emit a generator-only C# representation prototype from the same logical input
  • exclude only tables proven unused by CSharpMath (currently GSUB/GPOS), documenting that decision
  • check in reproducible artifacts and a manifest; this issue does not switch production rendering yet

Acceptance criteria

  • repeated generation is byte-for-byte identical and a verify command regenerates/compares the checked-in outputs
  • schema, endian, truncated payload, tampered content, and source-hash mismatches fail clearly
  • tests cover all three faces and deterministic ordering
  • record binary versus generated-C# sizes, build/startup implications, and trimming/AOT tradeoffs using the Benchmark math-font startup allocations and retained memory #293 methodology
  • artifacts preserve every source table needed by the later renderer-data extraction/runtime migration sub-issues
  • no runtime behavior or custom LocalTypefaces behavior changes in this phase

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area/RenderingTypesetting, measurement, fonts, text layout, and drawing.Type/HousekeepingRepository, build, dependency, or internal maintenance.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions