summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/strings.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/strings.cpp b/src/strings.cpp
index 7ff1cee31..bfbde9b0d 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -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. */