Aric Stewart (@aricstewart) commented about dlls/gdi32/uniscribe/usp10.c:
return FALSE; }
-static void find_fallback_font(enum usp10_script scriptid, WCHAR *FaceName) +static INT CALLBACK is_font_installed_proc(const LOGFONTW *elf, const TEXTMETRICW *ntm, DWORD type, LPARAM lParam) +{ + return 0; +} + +static BOOL is_font_installed(HDC hdc, const WCHAR *name) +{ + BOOL ret = FALSE; + + if(!EnumFontFamiliesW(hdc, name, is_font_installed_proc, 0))
`EnumFontFamiliesW` is deprecated and really you should be calling `EnumFontFamiliesEx`. I am also thinking there is a flaw in this logic. `EnumFontFamilies` returns the last value returned from the callback or 0 if nothing matches. Your call back returns 0, which while it stops enumeration it also means that return value from `EnumFontFamilies` is identical on success and failure. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10672#note_137974