Context
nauth.dev uses Red Hat Text and it reads noticeably better in body copy. Worth considering here.
What that site actually does:
|
nauth.dev |
this theme |
| Base / UI |
Red Hat Text (variable 300-700 + italics) |
Outfit |
| Headings |
inherits Red Hat Text |
Outfit |
| Mono |
system stack (SFMono / Menlo / Consolas) |
IBM Plex Mono |
| Loading |
Google Fonts CDN |
self-hosted woff2 |
Important caveat before deciding
The live demo was not rendering Outfit at all between v2.2.2 and v2.2.4. future.v4.useCssCascadeLayers made Lightning CSS inflate Infima's specificity (:not(#\#):not(#\#)), so Infima's --ifm-font-family-base: system-ui, ... outranked the theme's :root declaration. The self-hosted fonts were fine the whole time (6 @font-face, all woff2 served 200), but nothing ever requested Outfit, so the browser never downloaded it.
Fixed in #64 / v2.2.4. So any "Red Hat Text looks better" impression formed on the live site was comparing it against system-ui, not against Outfit. Re-judge once the demo redeploys before committing to a swap.
Why Red Hat Text could still win
Outfit is a geometric display face: strong for headings, less comfortable for long paragraphs. Red Hat Text is a humanist face designed for running text at small sizes. That is a real readability argument independent of the bug above.
Feasibility
- License: SIL OFL 1.1 (Copyright 2024 The Red Hat Project Authors), same as Outfit and IBM Plex Mono, so it can be bundled under the existing self-hosting setup.
- Variable font (weight axis 300-700), so one woff2 per subset, same shape as the current Outfit bundle. Added weight is comparable.
Options
- Split (preferred): keep Outfit for headings, Red Hat Text for body. Preserves the theme's visual identity, gains readability.
- Full swap: Red Hat Text everywhere, closest to nauth.dev, loses Outfit's display character.
- Opt-in: bundle both, switch via a variable. More package weight and more surface for little gain.
Impact
Any of these changes the default rendering for every consumer, so it warrants a minor release (v2.3.0) with an explicit CHANGELOG entry, not a quiet patch.
Next step
Re-check the demo after the v2.2.4 redeploy (Outfit actually visible), then decide between options 1 and 2. Happy to prototype option 1 on a branch for a side-by-side.
Context
nauth.dev uses Red Hat Text and it reads noticeably better in body copy. Worth considering here.
What that site actually does:
Important caveat before deciding
The live demo was not rendering Outfit at all between v2.2.2 and v2.2.4.
future.v4.useCssCascadeLayersmade Lightning CSS inflate Infima's specificity (:not(#\#):not(#\#)), so Infima's--ifm-font-family-base: system-ui, ...outranked the theme's:rootdeclaration. The self-hosted fonts were fine the whole time (6@font-face, all woff2 served 200), but nothing ever requested Outfit, so the browser never downloaded it.Fixed in #64 / v2.2.4. So any "Red Hat Text looks better" impression formed on the live site was comparing it against
system-ui, not against Outfit. Re-judge once the demo redeploys before committing to a swap.Why Red Hat Text could still win
Outfit is a geometric display face: strong for headings, less comfortable for long paragraphs. Red Hat Text is a humanist face designed for running text at small sizes. That is a real readability argument independent of the bug above.
Feasibility
Options
Impact
Any of these changes the default rendering for every consumer, so it warrants a minor release (v2.3.0) with an explicit CHANGELOG entry, not a quiet patch.
Next step
Re-check the demo after the v2.2.4 redeploy (Outfit actually visible), then decide between options 1 and 2. Happy to prototype option 1 on a branch for a side-by-side.