Huw Davies (@huw) commented about dlls/riched20/wrap.c:
- WORD *glyphs;
- int len;
- if (!run->script_tag)
return FALSE;
- len = run->len;
- if (!(glyphs = heap_calloc( len, sizeof( *glyphs ) )))
return FALSE;
- text = get_text( run, 0 );
- if (ScriptGetCMap( dc, &script_cache, text, len, 0, glyphs ) != S_OK)
- {
heap_free( glyphs );
return TRUE;
- }
This doesn't seem like the right way to do this. I'd have expected a fallback font to be used if `ScriptShape(OpenType)()` returned missing glyphs.