/* The six families src/fonts.ts offers, bound to the variable files in fonts/. * * The URLs are absolute site paths, so each app serves these out of its own `public/fonts`. The * copies there are vendored from this package and kept honest by `bin/sync-fonts.mjs`; they are not * imported from node_modules, because both apps' `src-tauri/src/pdf.rs` reads the same files with * `include_bytes!` and a cargo build must not depend on an npm install having run first. * * Every one is a variable file with an upright and an italic cut, so a weight anywhere in the * declared range is a real instance rather than a synthesised one, and italic is the designer's * italic rather than a slant applied by the browser. * * `font-display: block` throughout, and that is the unusual choice. The alternative is a first * paint in Georgia that reflows into Literata a moment later, and a page of prose that resets its * line breaks under the caret is worse than a page that arrives a beat late. The files are local to * the bundle, so the beat is a disk read. */ @font-face { font-family: "Hanken Grotesk"; src: url("/fonts/HankenGrotesk-VF.ttf") format("truetype-variations"); font-weight: 100 900; font-style: normal; font-display: block; } @font-face { font-family: "Hanken Grotesk"; src: url("/fonts/HankenGrotesk-Italic-VF.ttf") format("truetype-variations"); font-weight: 100 900; font-style: italic; font-display: block; } @font-face { font-family: "Literata"; src: url("/fonts/Literata-VF.ttf") format("truetype-variations"); font-weight: 200 900; font-style: normal; font-display: block; } @font-face { font-family: "Literata"; src: url("/fonts/Literata-Italic-VF.ttf") format("truetype-variations"); font-weight: 200 900; font-style: italic; font-display: block; } @font-face { font-family: "EB Garamond"; src: url("/fonts/EBGaramond-VF.ttf") format("truetype-variations"); font-weight: 400 800; font-style: normal; font-display: block; } @font-face { font-family: "EB Garamond"; src: url("/fonts/EBGaramond-Italic-VF.ttf") format("truetype-variations"); font-weight: 400 800; font-style: italic; font-display: block; } @font-face { font-family: "Lora"; src: url("/fonts/Lora-VF.ttf") format("truetype-variations"); font-weight: 400 700; font-style: normal; font-display: block; } @font-face { font-family: "Lora"; src: url("/fonts/Lora-Italic-VF.ttf") format("truetype-variations"); font-weight: 400 700; font-style: italic; font-display: block; } @font-face { font-family: "Source Serif 4"; src: url("/fonts/SourceSerif4-VF.ttf") format("truetype-variations"); font-weight: 200 900; font-style: normal; font-display: block; } @font-face { font-family: "Source Serif 4"; src: url("/fonts/SourceSerif4-Italic-VF.ttf") format("truetype-variations"); font-weight: 200 900; font-style: italic; font-display: block; } @font-face { font-family: "Fraunces"; src: url("/fonts/Fraunces-VF.ttf") format("truetype-variations"); font-weight: 100 900; font-style: normal; font-display: block; } @font-face { font-family: "Fraunces"; src: url("/fonts/Fraunces-Italic-VF.ttf") format("truetype-variations"); font-weight: 100 900; font-style: italic; font-display: block; }