Skip to content

chore(font-system): upgrade @docfonts/fallbacks to 0.3.0#3671

Merged
caio-pizzol merged 1 commit into
mainfrom
caio-pizzol/fallbacks-0.3-bump
Jun 6, 2026
Merged

chore(font-system): upgrade @docfonts/fallbacks to 0.3.0#3671
caio-pizzol merged 1 commit into
mainfrom
caio-pizzol/fallbacks-0.3-bump

Conversation

@caio-pizzol
Copy link
Copy Markdown
Contributor

Pins @superdoc/font-system to the face-scope-safe docfonts release. The integration itself already happened (the vendored evidence is a wrapper over @docfonts/fallbacks, the resolver derives asset-gated maps from it); this is just the version bump to 0.3.0.

0.3.0 is additive for SuperDoc: it adds the face-aware lookups, a faces field on every result, and the category-fallback face fix. SuperDoc reads only policyAction/substituteFamily off getRenderableFallback (unchanged at 0.3.0), and the SUBSTITUTION_EVIDENCE data-row shape is unchanged, so the drift-guard const in substitution-evidence.ts still compiles. No behavior change.

One deliberate call worth flagging: I did not switch resolveFace to getFallbackDecisionForFace, even though that helper now exists. #resolveFaceLadder is already face-safe via runtime hasFace - a bundled substitute applies only when hasFace(bundled, weight, style), so a Regular-only substitute asked for bold already falls through to fallback_face_absent. The live FontFaceSet is more accurate than the package's static faces data, so delegating to the package helper would be a step back. The 0.3.0 helper stays available for the later verdict-aware reporting pass (per-face verdicts), which is out of scope here.

Net effect: makes 0.3.0 the baseline so a future Regular-only bundled substitute (e.g. Caprasimo for Cooper Black) is handled correctly with no further resolver change.

Lockfile diff is scoped to the one dependency (integrity verified against npm); no other versions churned.

Pin the font-system to the face-scope-safe docfonts release. 0.3.0 adds the
face-aware lookups (getRenderableFallbackForFace / getFallbackDecisionForFace),
a faces field on every result, and the category-fallback face fix - all
additive. The vendored wrapper and the resolver are unchanged: the resolver
reads only policyAction/substituteFamily from getRenderableFallback (same at
0.3.0), and the SUBSTITUTION_EVIDENCE data-row shape is unchanged so the
drift-guard const still compiles.

No behavior change. resolveFace stays face-safe via runtime hasFace, which is
more accurate than the package's static faces; this just makes 0.3.0 the
baseline so a future Regular-only bundled substitute is handled correctly.
@caio-pizzol caio-pizzol requested a review from a team as a code owner June 6, 2026 00:35
@caio-pizzol caio-pizzol merged commit 5c7e0d1 into main Jun 6, 2026
27 checks passed
@caio-pizzol caio-pizzol deleted the caio-pizzol/fallbacks-0.3-bump branch June 6, 2026 00:37
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants