feat(companion): self-host charte fonts (Space Grotesk + JetBrains Mono woff2, latin, offline)

Co-Authored-By: Gerald KERMA <devel@cybermind.fr>
This commit is contained in:
CyberMind-FR 2026-07-15 12:15:29 +02:00
parent 597446ed29
commit c4e4b784b6
9 changed files with 16 additions and 5 deletions

View File

@ -12,6 +12,7 @@
<link rel="apple-touch-icon" href="./assets/icon-192.png">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<link rel="stylesheet" href="./styles/fonts.css">
<link rel="stylesheet" href="./styles/charte.css">
</head>
<body>

View File

@ -1,9 +1,8 @@
/* SPDX-License-Identifier: LicenseRef-CMSD-1.0 */
/* SecuBox Companion SecuBox_Charte_Light_3
* Fonts are referenced by family name with self-contained fallback stacks
* (no external font CDN the app talks only to the box). Bundle the real
* Space Grotesk / JetBrains Mono woff2 into styles/fonts/ to pixel-match.
* TODO(fonts): drop woff2 + @font-face here for exact charte rendering.
* Charte fonts (Space Grotesk + JetBrains Mono) are self-hosted latin woff2,
* declared in styles/fonts.css no external font CDN, fully offline. The
* family names below resolve to those @font-face rules, with system fallbacks.
*/
:root {
--font-ui: 'Space Grotesk', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

View File

@ -0,0 +1,8 @@
/* SPDX-License-Identifier: LicenseRef-CMSD-1.0 */
/* SecuBox Companion bundled charte fonts (latin, self-hosted; no external CDN).
Space Grotesk (UI/titles) + JetBrains Mono (data/code). SIL Open Font License. */
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/space-grotesk-400.woff2') format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/space-grotesk-500.woff2') format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/space-grotesk-700.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/jetbrains-mono-400.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/jetbrains-mono-700.woff2') format('woff2'); }

View File

@ -10,7 +10,10 @@
const VERSION = 'sbx-companion-v1';
const SHELL = [
'./', './index.html', './manifest.webmanifest',
'./styles/charte.css',
'./styles/charte.css', './styles/fonts.css',
'./styles/fonts/space-grotesk-400.woff2', './styles/fonts/space-grotesk-500.woff2',
'./styles/fonts/space-grotesk-700.woff2', './styles/fonts/jetbrains-mono-400.woff2',
'./styles/fonts/jetbrains-mono-700.woff2',
'./core/app.js', './core/api.js', './core/store.js',
'./core/registry.js', './core/auth.js', './core/ui.js',
'./modules/index.json',