assets: eight more mark faces from google/fonts

VT323, Alex Brush, Tilt Warp, Hahmlet, Pinyon Script, Allura, Dancing
Script and Amatic SC join the two the bundle already carried, each
subset to the same latin / latin-ext / vietnamese ranges and pinned to
its upright 400 instance where it is variable.
This commit is contained in:
2026-10-06 20:59:34 +07:00
parent 96b4dcce5b
commit 9fc03e28f7
9 changed files with 14 additions and 1 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+14 -1
View File
@@ -10,12 +10,25 @@ let assets: RenderAssets | null = null;
// font service in a browser, so the list is exactly what the bundle carries —
// and each family is ONE file, because drawText has no glyph fallback: a name
// mapped to only the latin subset would print a Vietnamese place name as tofu.
// The two here are the site's own self-hosted faces (styles/fonts.css, SIL OFL),
// The first two are the site's own self-hosted faces (styles/fonts.css, SIL OFL),
// with their latin / latin-ext / vietnamese woff2 subsets decompressed, pinned
// to weight 400 @ opsz 14 and merged into one TTF per family (fontTools).
// The rest come from google/fonts (SIL OFL), subset to the same latin /
// latin-ext / vietnamese ranges with pyftsubset (fontTools); the variable ones
// (Hahmlet, Dancing Script @ wght 400, Tilt Warp @ XROT 0 YROT 0) are pinned to
// that one named instance first. Every file keeps whatever glyph its source had
// inside those ranges — no invented ones: Tilt Warp has no U+0111, the rest do.
export const MARK_FACES: { family: string; file: string }[] = [
{ family: 'Inter', file: '/assets/Inter-Regular.ttf' },
{ family: 'Fraunces', file: '/assets/Fraunces-Regular.ttf' },
{ family: 'VT323', file: '/assets/VT323-Regular.ttf' },
{ family: 'Alex Brush', file: '/assets/AlexBrush-Regular.ttf' },
{ family: 'Tilt Warp', file: '/assets/TiltWarp-Regular.ttf' },
{ family: 'Hahmlet', file: '/assets/Hahmlet-Regular.ttf' },
{ family: 'Pinyon Script', file: '/assets/PinyonScript-Regular.ttf' },
{ family: 'Allura', file: '/assets/Allura-Regular.ttf' },
{ family: 'Dancing Script', file: '/assets/DancingScript-Regular.ttf' },
{ family: 'Amatic SC', file: '/assets/AmaticSC-Regular.ttf' },
];
// The two frame sheets are drawn by hand and dropped over the file of the same