From ff2c30103b16d71722cb8cd0b6cedc7223a15c91 Mon Sep 17 00:00:00 2001 From: Alex Dunmow Date: Mon, 6 Jul 2026 19:33:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(gotham):=20activate=20bundled=20display=20f?= =?UTF-8?q?aces=20=E2=80=94=20@font-face=20in=20theme=20CSS=20+=20preset?= =?UTF-8?q?=20typography?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The host never consumes bundled_fonts (LoadedPlugin.BundledFonts is dead), so Antonio/Cormorant rendered as system sans. Declare @font-face against the served artifact paths (/templates/gotham/fonts/) and set typography.fontHeading/body/mono (template:gotham:*) on all five presets. Co-Authored-By: Claude Fable 5 --- manifest.yaml | 14 ++++++++++++++ presets.json | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/manifest.yaml b/manifest.yaml index 653c7aa..ab4a4c8 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -126,6 +126,20 @@ css: * come from var(--font-heading|body|mono, ). No literal colours * except black scrims layered over IMAGES (letterbox effect). */ + + /* Bundled display faces. The host does not yet emit @font-face for + * bundled_fonts (LoadedPlugin.BundledFonts is unconsumed), so the theme + * declares its own faces against the served artifact paths + * (/templates/gotham/fonts/...). Presets set typography.fontHeading/body + * to template:gotham: so --font-heading/--font-body resolve to + * these families. */ + @font-face { font-family: 'Antonio'; src: url('/templates/gotham/fonts/antonio-latin.woff2') format('woff2'); font-weight: 100 700; font-style: normal; font-display: swap; } + @font-face { font-family: 'Cormorant Garamond'; src: url('/templates/gotham/fonts/cormorant-garamond-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'Cormorant Garamond'; src: url('/templates/gotham/fonts/cormorant-garamond-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; } + @font-face { font-family: 'Cormorant Garamond'; src: url('/templates/gotham/fonts/cormorant-garamond-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } + @font-face { font-family: 'Cormorant Garamond'; src: url('/templates/gotham/fonts/cormorant-garamond-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } + @font-face { font-family: 'IBM Plex Mono'; src: url('/templates/gotham/fonts/ibm-plex-mono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @layer utilities { /* reel-rule — brass hairline, 1px ascending to 2px. */ .reel-rule { border: none; border-top: 1px solid hsl(var(--primary)); margin: 0; } diff --git a/presets.json b/presets.json index d9b76f3..83913f8 100644 --- a/presets.json +++ b/presets.json @@ -5,6 +5,13 @@ "description": "Deep matte black lifted by brass gilt. The house palette. Silver-screen platinum by day, velvet black after dark.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:gotham:Antonio", + "fontBody": "template:gotham:Cormorant Garamond", + "fontMono": "template:gotham:IBM Plex Mono", + "fontSizeBase": "17", + "lineHeightBase": "1.6" + }, "lightColors": { "background": "40 20% 96%", "foreground": "28 16% 9%", @@ -55,6 +62,13 @@ "description": "Cool blue-black steel with bright brass. A colder, later room.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:gotham:Antonio", + "fontBody": "template:gotham:Cormorant Garamond", + "fontMono": "template:gotham:IBM Plex Mono", + "fontSizeBase": "17", + "lineHeightBase": "1.6" + }, "lightColors": { "background": "220 16% 95%", "foreground": "222 22% 10%", @@ -105,6 +119,13 @@ "description": "Near-black warmed with rose-gold. The velvet-rope room.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:gotham:Antonio", + "fontBody": "template:gotham:Cormorant Garamond", + "fontMono": "template:gotham:IBM Plex Mono", + "fontSizeBase": "17", + "lineHeightBase": "1.6" + }, "lightColors": { "background": "20 20% 95%", "foreground": "18 18% 10%", @@ -155,6 +176,13 @@ "description": "Graphite and cool silver. Restrained, low on gold. The quiet booth.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:gotham:Antonio", + "fontBody": "template:gotham:Cormorant Garamond", + "fontMono": "template:gotham:IBM Plex Mono", + "fontSizeBase": "17", + "lineHeightBase": "1.6" + }, "lightColors": { "background": "210 8% 95%", "foreground": "210 13% 10%", @@ -205,6 +233,13 @@ "description": "Espresso black and whisky amber. The last-pour palette.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:gotham:Antonio", + "fontBody": "template:gotham:Cormorant Garamond", + "fontMono": "template:gotham:IBM Plex Mono", + "fontSizeBase": "17", + "lineHeightBase": "1.6" + }, "lightColors": { "background": "36 24% 94%", "foreground": "28 22% 9%",