Fix: don't complain when the sprite font is missing glyphs. (#9692)

Silently auto-pick a suitable font.
This commit is contained in:
frosch 2021-11-13 21:01:16 +01:00 committed by Patric Stout
parent 280f54c0f7
commit ec816c5746
1 changed files with 5 additions and 4 deletions

View File

@ -2116,6 +2116,7 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher)
if (bad_font) {
/* We found an unprintable character... lets try whether we can find
* a fallback font that can print the characters in the current language. */
bool any_font_configured = !_freetype.medium.font.empty();
FreeTypeSettings backup = _freetype;
_freetype.mono.os_handle = nullptr;
@ -2125,10 +2126,10 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher)
_freetype = backup;
if (!bad_font) {
/* Show that we loaded fallback font. To do this properly we have
* to set the colour of the string, otherwise we end up with a lot
* of artifacts.* The colour 'character' might change in the
if (!bad_font && any_font_configured) {
/* If the user configured a bad font, and we found a better one,
* show that we loaded the better font instead of the configured one.
* The colour 'character' might change in the
* future, so for safety we just Utf8 Encode it into the string,
* which takes exactly three characters, so it replaces the "XXX"
* with the colour marker. */