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
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; |
|
}
|
|
|