commit 6df3183859c6e0b860892253d37ada156063e6d9
parent a6c3f92a538f2304c8bb9139f8bbb5a288466637
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sat, 26 Sep 2026 00:11:54 -0400
common: IBM Plex Sans is requested variable — Google at times cuts static weights through its l/font instancer, whose &-joined URL Turbopack's next/font/google cannot load (brand S3)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/common/styles/fonts.ts b/common/styles/fonts.ts
@@ -29,10 +29,19 @@ export const fontDisplay = Archivo({
// A humanist sans built for long documentation — which is most of what the
// archives and the project site are.
+//
+// VARIABLE weight (no `weight` list), not the four static weights the UI uses
+// (400–700). Google Fonts serves Plex Sans from a variable master, and a
+// request for static weights is cut from it: usually a cached `/s/…` file, but
+// at times through its dynamic instancer, `https://fonts.gstatic.com/l/font?
+// kit=…&skey=…&v=v23`. Turbopack's next/font/google cannot carry a font URL
+// with `&` in it ("next/font/google queries have exactly one entry" → Module
+// not found), so `next dev` and `next build` failed whenever Google answered
+// that way (twice on 2026-09-25). The variable file itself is always a
+// pre-built `/s/…` URL. Same outlines, and one file per style.
export const fontSans = IBM_Plex_Sans({
variable: "--font-sans",
subsets: ["latin"],
- weight: ["400", "500", "600", "700"],
style: ["normal", "italic"],
});