Implement Paperjet updates
Some checks failed
CI / Backend (Python) (push) Failing after 27s
CI / Frontend (TypeScript) (push) Successful in 14s
CI / Container (Docker) (push) Has been skipped

This commit is contained in:
Elijah 2026-08-15 14:08:24 -07:00
parent 5e19b78259
commit 4569dea864
19 changed files with 1622 additions and 151 deletions

View file

@ -0,0 +1,50 @@
"""Convert the browser's bundled WOFF2 fonts to PDF-embeddable TTF files."""
from pathlib import Path
import sys
from fontTools.ttLib import TTFont
FONT_SPECS = (
("outfit", "outfit-latin-400-normal.woff2", "outfit-400.ttf"),
("outfit", "outfit-latin-700-normal.woff2", "outfit-700.ttf"),
("plus-jakarta-sans", "plus-jakarta-sans-latin-400-normal.woff2", "plus-jakarta-sans-400.ttf"),
("plus-jakarta-sans", "plus-jakarta-sans-latin-700-normal.woff2", "plus-jakarta-sans-700.ttf"),
(
"plus-jakarta-sans",
"plus-jakarta-sans-latin-400-italic.woff2",
"plus-jakarta-sans-400-italic.ttf",
),
(
"plus-jakarta-sans",
"plus-jakarta-sans-latin-700-italic.woff2",
"plus-jakarta-sans-700-italic.ttf",
),
("allura", "allura-latin-400-normal.woff2", "allura-400.ttf"),
("caveat", "caveat-latin-400-normal.woff2", "caveat-400.ttf"),
(
"dancing-script",
"dancing-script-latin-400-normal.woff2",
"dancing-script-400.ttf",
),
("great-vibes", "great-vibes-latin-400-normal.woff2", "great-vibes-400.ttf"),
("sacramento", "sacramento-latin-400-normal.woff2", "sacramento-400.ttf"),
)
def main(source_root: Path, output_root: Path) -> None:
output_root.mkdir(parents=True, exist_ok=True)
for package, source_name, output_name in FONT_SPECS:
source = source_root / package / "files" / source_name
if not source.is_file():
raise FileNotFoundError(source)
font = TTFont(source)
font.flavor = None
font.save(output_root / output_name)
if __name__ == "__main__":
if len(sys.argv) != 3:
raise SystemExit("usage: convert_frontend_fonts.py SOURCE_ROOT OUTPUT_ROOT")
main(Path(sys.argv[1]), Path(sys.argv[2]))