From 77c2b584ac4ef594bc9851b2c79c5bbf7dac8dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Mon, 27 Mar 2023 23:55:54 -0300 Subject: [PATCH] Improved font fallback when glyph isn't available in the fallback font. --- src/eepp/graphics/fonttruetype.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/eepp/graphics/fonttruetype.cpp b/src/eepp/graphics/fonttruetype.cpp index 39fa8b536..3dbda2d76 100644 --- a/src/eepp/graphics/fonttruetype.cpp +++ b/src/eepp/graphics/fonttruetype.cpp @@ -412,10 +412,12 @@ const Glyph& FontTrueType::getGlyph( Uint32 codePoint, unsigned int characterSiz FontManager::instance()->getFallbackFont()->getType() == FontType::TTF ) { FontTrueType* fallbackFont = static_cast( FontManager::instance()->getFallbackFont() ); - if ( mIsMonospace && mEnableDynamicMonospace ) - mIsMonospace = false; - return fallbackFont->getGlyph( codePoint, characterSize, bold, outlineThickness, - getPage( characterSize ), maxWidth ); + if ( 0 != fallbackFont->getGlyphIndex( codePoint ) ) { + if ( mIsMonospace && mEnableDynamicMonospace ) + mIsMonospace = false; + return fallbackFont->getGlyph( codePoint, characterSize, bold, outlineThickness, + getPage( characterSize ), maxWidth ); + } } return getGlyphByIndex( glyphIndex, characterSize, bold, outlineThickness );