// Self-hosted web fonts — Pylon's next/font-parity primitive. // // At build time, for each `font({...})` declared in app.ts the bundler calls // `buildFonts`, which: // 1. fetches the family's CSS from the Google Fonts CSS2 API (modern UA → woff2), // 2. downloads each woff2 face and self-hosts it under the client-build outdir // (served same-origin at `/_pylon/build/.woff2`, immutable-cached), // 3. parses the real sfnt metrics out of the woff2 (no third-party dep), // 4. computes a size-adjusted fallback `@font-face` (size-adjust + // ascent/descent/line-gap overrides) against the local system font so the // web font swaps in with ZERO layout shift, // 5. emits structured faces + the CSS variable into the bundle manifest. // // `renderFontFaceCss` (used by the SSR head injector) turns the structured faces // back into a `