Files
zeekay 868f59fe92 Arabic companions hold rather than swap; 1.9.5
A swap paints the platform's Arabic and then the companion, and Kufi is
wider and taller than Geeza Pro, Segoe UI or DejaVu Sans, so every Arabic
line re-wraps when the face lands. font-display: block holds the Arabic
a moment and paints it once. Zen's own faces keep swap.
2026-10-22 19:57:36 -07:00

39 lines
3.8 KiB
CSS

/* Zen — the Hanzo type family, as plain CSS. Generated by scripts/next.mjs.
Do not edit.
Every other entry in this package is a next/font binding, so the faces were
reachable only from a Next app. A font is not a framework feature: this file
is @font-face and nothing else, so Vite, Tauri, Astro, a plain <link> and any
bundler load the same faces from the same package.
Import it once at your root: import '@hanzo/font/css'
The two text families are variable over wght 100-900, so one file covers
every weight. Pixel is five separate shapes rather than a weight axis.
Arabic comes from companions that are not ours, in fonts/arabic:
Noto Kufi Arabic, Noto Sans Arabic. Each is declared under its own
family, and the default under 'Zen' and 'Zen Mono' too, for the Arabic blocks
only: a page with no Arabic on it never requests one. */
@font-face{font-family:'Zen';src:url('./fonts/zen-sans/Zen-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Zen';src:url('./fonts/zen-sans/Zen-Italic-Variable.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Zen';src:url('./fonts/arabic/NotoKufiArabic-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block;unicode-range:U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC}
@font-face{font-family:'Zen Mono';src:url('./fonts/zen-mono/ZenMono-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Zen Mono';src:url('./fonts/zen-mono/ZenMono-Italic-Variable.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Zen Mono';src:url('./fonts/arabic/NotoKufiArabic-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block;unicode-range:U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC}
@font-face{font-family:'Noto Kufi Arabic';src:url('./fonts/arabic/NotoKufiArabic-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block;unicode-range:U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC}
@font-face{font-family:'Noto Sans Arabic';src:url('./fonts/arabic/NotoSansArabic-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block;unicode-range:U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFC}
@font-face{font-family:'Zen Pixel Circle';src:url('./fonts/zen-pixel/ZenPixel-Circle.woff2') format('woff2');font-style:normal;font-display:swap}
@font-face{font-family:'Zen Pixel Grid';src:url('./fonts/zen-pixel/ZenPixel-Grid.woff2') format('woff2');font-style:normal;font-display:swap}
@font-face{font-family:'Zen Pixel Line';src:url('./fonts/zen-pixel/ZenPixel-Line.woff2') format('woff2');font-style:normal;font-display:swap}
@font-face{font-family:'Zen Pixel Square';src:url('./fonts/zen-pixel/ZenPixel-Square.woff2') format('woff2');font-style:normal;font-display:swap}
@font-face{font-family:'Zen Pixel Triangle';src:url('./fonts/zen-pixel/ZenPixel-Triangle.woff2') format('woff2');font-style:normal;font-display:swap}
/* Bound as custom properties too, so a consumer can hand a family to a design
system without spelling its name — and so a CSS-only consumer reads the same
two properties the next/font bindings generate. Dropping this block is what
1.9.0 did, and it turned every `var(--font-zen-sans)` in a non-Next app into
an invalid value, i.e. the OS default, silently. */
:root{--font-zen-sans:'Zen';--font-zen-mono:'Zen Mono';--font-zen-arabic:'Noto Kufi Arabic';--font-zen-pixel-circle:'Zen Pixel Circle';--font-zen-pixel-grid:'Zen Pixel Grid';--font-zen-pixel-line:'Zen Pixel Line';--font-zen-pixel-square:'Zen Pixel Square';--font-zen-pixel-triangle:'Zen Pixel Triangle'}