d11 theme
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

120 lines
5.2 KiB

/**
* @file
* @font-face declarations for the druid theme.
*
* Two families are registered: Adelle (serif, headings) and Open Sans
* (sans, body). All files are self-hosted under /fonts — no external
* requests at runtime. The token mapping (`--font-serif`, `--font-sans`)
* lives in css/tokens.css; rules that *apply* the fonts live in
* css/base.css.
*
* @font-face is intentionally NOT wrapped in a cascade layer. @font-face
* registers a font resource — it does not produce cascade rules that
* compete with anything, so layer membership is irrelevant.
*
* ─────────────────────────────────────────────────────────────────────────
* Adelle
* ─────────────────────────────────────────────────────────────────────────
*
* Self-hosted from /fonts/adelle/. Four weights/styles registered to keep
* the per-page font payload reasonable: Regular, Italic, Bold, BoldItalic.
* The /fonts/adelle/ folder ships additional weights (Light, Semibold,
* ExtraBold, Heavy, etc.) — to enable one, add a matching @font-face
* block below, pointing at the corresponding _.woff2 file.
*
* ─────────────────────────────────────────────────────────────────────────
* Open Sans
* ─────────────────────────────────────────────────────────────────────────
*
* Self-hosted from /fonts/open-sans/. Each .woff2 is a VARIABLE font —
* a single file covers the full weight range (300 to 800), so we declare
* the weight as a range and let the browser pick a weight per element.
*
* Two unicode-range subsets are registered per style: `latin` for English
* and standard western glyphs, `latin-ext` for accented characters,
* Esperanto, etc. The browser only downloads the subset it needs, based
* on the actual code points used on the page.
*
* To re-vendor (or add subsets like cyrillic/greek/vietnamese):
* 1. Visit https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap
* with a modern browser UA (curl -A "Mozilla/5.0 ... Chrome/...").
* 2. Download the woff2 URLs Google returns for the subsets you want.
* 3. Save into /fonts/open-sans/ and add @font-face blocks below
* matching the unicode-range from Google's CSS.
*/
/* Adelle — Regular */
@font-face {
font-family: 'Adelle';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('../fonts/adelle/Adelle_Reg.woff2') format('woff2');
}
/* Adelle — Italic */
@font-face {
font-family: 'Adelle';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url('../fonts/adelle/Adelle_Italic.woff2') format('woff2');
}
/* Adelle — Bold */
@font-face {
font-family: 'Adelle';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('../fonts/adelle/Adelle_Bold.woff2') format('woff2');
}
/* Adelle — Bold Italic */
@font-face {
font-family: 'Adelle';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url('../fonts/adelle/Adelle_BoldItalic.woff2') format('woff2');
}
/* Open Sans — Upright, latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300 800;
font-display: swap;
src: url('../fonts/open-sans/OpenSans-Latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Open Sans — Upright, latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300 800;
font-display: swap;
src: url('../fonts/open-sans/OpenSans-LatinExt.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Open Sans — Italic, latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300 800;
font-display: swap;
src: url('../fonts/open-sans/OpenSans-Italic-Latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Open Sans — Italic, latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300 800;
font-display: swap;
src: url('../fonts/open-sans/OpenSans-Italic-LatinExt.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}