mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-05 18:19:57 +00:00
The warning from #2190 looked only at the attributes passed. A composite font made by style.compositeFont.set isn't an installed family, so applying one warned "Missing font: Mixed" even when its entries were installed. And a fontStyle-only call, or a family change that kept a style the new family lacks, said nothing. After a call that sets or clears fontFamily or fontStyle, type.char now tallies the fonts the formatted text resolves to, with the code font.list uses (composite entries per character), and warns about the missing ones and substitute styles. At a caret it checks the font the next typing gets. tally_story becomes tally_range over a byte range, and describe_fonts is the part of used_fonts that type.char reuses.