From: Tarcísio Ladeia de Oliveirawyrquill@gmail.com
Windows manages to handle this gracefully, but it may have some unforeseen side-effects. Make it warn when ppem == 0 so it may be logged. I'm not using ERR because compatibility-wise this should work correctly. --- dlls/win32u/freetype.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/win32u/freetype.c b/dlls/win32u/freetype.c index d911039647b..3dfd8c5070f 100644 --- a/dlls/win32u/freetype.c +++ b/dlls/win32u/freetype.c @@ -1951,6 +1951,13 @@ static LONG calc_ppem_for_height(FT_Face ft_face, LONG height) ppem = 1; }
+ /* + * It's possible for EM to be 0 for some fonts, and it should be handled + * gracefully, but it can cause problems, so warn when it happens. + */ + if(ppem == 0) + WARN("Font family %s with style %s and height %i has EM == 0\n", ft_face->family_name, ft_face->style_name, height); + return ppem; }