Skip to content

fix(fonts): preserve quoted family names in rendering - #3853

Closed
jrusso1020 wants to merge 1 commit into
mainfrom
fix/font-parsing-current
Closed

jrusso1020 wants to merge 1 commit into
mainfrom
fix/font-parsing-current

Conversation

@jrusso1020

Copy link
Copy Markdown
Collaborator

Quoted CSS family names are literals: "serif" names a font, while serif is a generic keyword. Current rendering loses that distinction, inserts Inter ahead of authored literal names, rejects them in distributed plan validation, and skips fetching literal generic or "var(...)" names.

Preserve quote information through the existing font-family splitter and custom-property resolution, then use it in normalization, deterministic injection, and plan validation. The existing unquoted generic guard remains covered. This follows the CSS Fonts specification.

Carries forward the quote-provenance portion of #2778 on current main. That PR stays open for its separate scoped custom-property, fallback, and lint parsing work; this change does not claim to replace those parts.

Validation: 74 focused producer tests pass, including regressions for CSS, inline styles, data attributes, root aliases, literal generic names, and function-shaped names. Producer typecheck, repository commit hooks, and independent adversarial review pass.

Carry forward the quote-provenance fix identified in #2778 on current main.
Preserve literal generic and function-shaped names through normalization,
deterministic font collection, and distributed validation.
@jrusso1020

Copy link
Copy Markdown
Collaborator Author

Closing to prioritize demonstrated user impact. This fixes valid but unusual quoted font names; we have no identified customer failure requiring it. The more practical variable-resolution and lint issues remain tracked in #2778. We can revisit this focused patch if a real composition reproduces the need.

@jrusso1020 jrusso1020 closed this Sep 10, 2026
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