mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-26 19:37:03 -06:00
On Linux the run fallback loaded the script's preferred family (Noto Sans Thai, which has no Latin letters) and stopped: every character had a face, so an installed font mapping the whole run (IBM Plex Sans Thai) was never tried, and a Thai + Latin run was split across two faces. Three Thai tests failed on machines with Noto Sans Thai installed. When no loaded face covers the run, the search now looks through the coverage index for the first installed file mapping the whole run. It loads that file's whole family, since path order can reach the Bold file before the Regular. It also looks at the loaded faces again even when it loaded nothing itself: a concurrent search may just have loaded the font and taken its files off the index, and the miss would otherwise be cached. Regression test: a_run_no_preferred_face_covers_whole_loads_an_installed_font_that_does (synthetic fonts, independent of what is installed).