Feat: Basic font sanity checks

This commit is contained in:
2025-11-08 22:50:29 -08:00
parent 90860335a2
commit 9a267c7ee5

33
scripts/validate-font.js Normal file
View File

@@ -0,0 +1,33 @@
import fs from "fs";
import path from "path";
import { fileURLToPath } from "url";
import opentype from "opentype.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const fontPath = path.join(__dirname, "..", "dist", "Stain-Regular.ttf");
if (!fs.existsSync(fontPath)) {
console.error("Font not found:", fontPath);
process.exit(1);
}
try {
const font = opentype.loadSync(fontPath);
if (!font.glyphs || font.glyphs.length === 0) {
console.error("Font has no glyphs");
process.exit(1);
}
const required = ["A", "B", "C", "D", "E", "F", "G"];
for (const ch of required) {
const g = font.charToGlyph(ch);
if (!g || !g.path || g.path.commands.length === 0) {
console.error("Missing or empty glyph for", ch);
process.exit(1);
}
}
console.log("Font validation passed.");
} catch (e) {
console.error("Error validating font:", e);
process.exit(1);
}