diff --git a/docker/frontend/public/assets/AlexBrush-Regular.ttf b/docker/frontend/public/assets/AlexBrush-Regular.ttf new file mode 100644 index 0000000..e7333d3 Binary files /dev/null and b/docker/frontend/public/assets/AlexBrush-Regular.ttf differ diff --git a/docker/frontend/public/assets/Allura-Regular.ttf b/docker/frontend/public/assets/Allura-Regular.ttf new file mode 100644 index 0000000..2042e97 Binary files /dev/null and b/docker/frontend/public/assets/Allura-Regular.ttf differ diff --git a/docker/frontend/public/assets/AmaticSC-Regular.ttf b/docker/frontend/public/assets/AmaticSC-Regular.ttf new file mode 100644 index 0000000..426143f Binary files /dev/null and b/docker/frontend/public/assets/AmaticSC-Regular.ttf differ diff --git a/docker/frontend/public/assets/DancingScript-Regular.ttf b/docker/frontend/public/assets/DancingScript-Regular.ttf new file mode 100644 index 0000000..bbf05dd Binary files /dev/null and b/docker/frontend/public/assets/DancingScript-Regular.ttf differ diff --git a/docker/frontend/public/assets/Hahmlet-Regular.ttf b/docker/frontend/public/assets/Hahmlet-Regular.ttf new file mode 100644 index 0000000..8f81126 Binary files /dev/null and b/docker/frontend/public/assets/Hahmlet-Regular.ttf differ diff --git a/docker/frontend/public/assets/PinyonScript-Regular.ttf b/docker/frontend/public/assets/PinyonScript-Regular.ttf new file mode 100644 index 0000000..5261a84 Binary files /dev/null and b/docker/frontend/public/assets/PinyonScript-Regular.ttf differ diff --git a/docker/frontend/public/assets/TiltWarp-Regular.ttf b/docker/frontend/public/assets/TiltWarp-Regular.ttf new file mode 100644 index 0000000..1dd4b17 Binary files /dev/null and b/docker/frontend/public/assets/TiltWarp-Regular.ttf differ diff --git a/docker/frontend/public/assets/VT323-Regular.ttf b/docker/frontend/public/assets/VT323-Regular.ttf new file mode 100644 index 0000000..d0fe2f5 Binary files /dev/null and b/docker/frontend/public/assets/VT323-Regular.ttf differ diff --git a/docker/frontend/src/engine/assets.ts b/docker/frontend/src/engine/assets.ts index 49c3ab7..46c01da 100644 --- a/docker/frontend/src/engine/assets.ts +++ b/docker/frontend/src/engine/assets.ts @@ -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