diff --git a/src/strings.cpp b/src/strings.cpp index c9af43e548..5f71f64d6d 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1799,10 +1799,11 @@ static bool FindMissingGlyphs(const char **str) * mean it might use characters that are not in the * font, which is the whole reason this check has * been added. + * @param base_font Whether to look at the base font as well. */ -void CheckForMissingGlyphsInLoadedLanguagePack() +void CheckForMissingGlyphsInLoadedLanguagePack(bool base_font) { - bool bad_font = FindMissingGlyphs(NULL); + bool bad_font = !base_font || FindMissingGlyphs(NULL); #ifdef WITH_FREETYPE if (bad_font) { /* We found an unprintable character... lets try whether we can find @@ -1814,7 +1815,7 @@ void CheckForMissingGlyphsInLoadedLanguagePack() memcpy(&_freetype, &backup, sizeof(backup)); - if (bad_font) { + if (bad_font && base_font) { /* Our fallback font does miss characters too, so keep the * user chosen font as that is more likely to be any good than * the wild guess we made */ diff --git a/src/strings_func.h b/src/strings_func.h index a52c268be0..ffced1f857 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -196,6 +196,6 @@ const char *GetCurrentLanguageIsoCode(); int CDECL StringIDSorter(const StringID *a, const StringID *b); -void CheckForMissingGlyphsInLoadedLanguagePack(); +void CheckForMissingGlyphsInLoadedLanguagePack(bool base_font = true); #endif /* STRINGS_FUNC_H */