Otherwise, freetype_get_glyph_outline() fails at FT_Load_Glyph due to combination of base_font's ft_face and child font's glyph index.
i.e., ft_face was updated at the following point: static DWORD CDECL freetype_get_glyph_outline( struct gdi_font *incoming_gdi_font, UINT glyph, UINT format, GLYPHMETRICS *lpgm, ABC *abc, DWORD buflen, void *buf, const MAT2 *lpmat ) { : : : FT_Face ft_face = incoming_font->ft_face; : : : if(format & GGO_GLYPH_INDEX) { : : : } else { BOOL vert; get_glyph_index_linked(incoming_gdi_font, glyph, &gdi_font, &glyph_index, &vert); font = get_font_ptr( gdi_font ); ft_face = font->ft_face; // <-------- HERE if (!vert && tategaki) tategaki = check_unicode_tategaki(glyph); } : : : }
Fixes a regression introduced by 044315c0b3890676d9fd751d8191b0b7381e0b97.
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com --- dlls/gdi32/freetype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)