[PATCH] gdi32: Fix font rendering issue when child font is used.

Akihiro Sagawa sagawa.aki at gmail.com
Fri Nov 6 06:16:35 CST 2020


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 at gmail.com>
---
 dlls/gdi32/freetype.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-gdi32-Fix-font-rendering-issue-when-child-font-is-us.patch
Type: text/x-patch
Size: 580 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20201106/a8bed0d2/attachment.bin>


More information about the wine-devel mailing list