diff options
-rw-r--r-- | src/strings.cpp | 9 | ||||
-rw-r--r-- | src/strings_func.h | 6 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/strings.cpp b/src/strings.cpp index eadde4edc..c44e2f912 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1750,7 +1750,7 @@ const char *GetCurrentLanguageIsoCode() */ bool MissingGlyphSearcher::FindMissingGlyphs(const char **str) { - InitFreeType(false); + InitFreeType(this->Monospace()); const Sprite *question_mark[FS_END]; for (FontSize size = FS_BEGIN; size < FS_END; size++) { @@ -1813,6 +1813,11 @@ class LanguagePackGlyphSearcher : public MissingGlyphSearcher { return ret; } + /* virtual */ bool Monospace() + { + return false; + } + /* virtual */ void SetFontNames(FreeTypeSettings *settings, const char *font_name) { #ifdef WITH_FREETYPE @@ -1856,7 +1861,7 @@ void CheckForMissingGlyphs(bool base_font, MissingGlyphSearcher *searcher) /* 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 */ - InitFreeType(false); + InitFreeType(searcher->Monospace()); } } #endif diff --git a/src/strings_func.h b/src/strings_func.h index 19c374e6d..3f98ad48d 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -223,6 +223,12 @@ public: virtual void Reset() = 0; /** + * Whether to search for a monospace font or not. + * @return True if searching for monospace. + */ + virtual bool Monospace() = 0; + + /** * Set the right font names. * @param settings The settings to modify. * @param font_name The new font name. |