Huw Davies (@huw) commented about dlls/gdi32/uniscribe/usp10.c:
fuOptions &= ETO_CLIPPED | ETO_OPAQUE; fuOptions |= ETO_IGNORELANGUAGE;
- if (!psa->fNoGlyphIndex && *psc && ((ScriptCache *)*psc)->sfnt)
- if (!psa->fNoGlyphIndex && (*psc ? ((ScriptCache *)*psc)->sfnt : NtGdiGetFontData(hdc, MS_MAKE_TAG('h','e','a','d'), 0, NULL, 0) != GDI_ERROR))
This looks like a hack to me. Shouldn't we just call `init_script_cache()` to ensure the cache is initialised?