mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-24 18:26:50 -06:00
FontDb cataloged the system fonts only when a character needed a fallback (nothing else calls load_system_fonts), so a document set in an installed family was composed in Source Sans 3, and font.list and preflight reported the family missing (#22). Every lookup by family name now waits for one scan of the font folders per session, as VectorCraft does since #130: the app starts the scan in the background at startup, other processes run it on first use. The scan reads only each file's table directory and name table, and skips folders it has already read, so a symlink loop can't hang it. has_family counts installed families. FontDb::with_font_dirs and system_font_dirs let tests use their own font folder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>