# HG changeset patch # User rubidium # Date 2011-11-20 12:01:42 # Node ID 91195beac0acc77a1fb3f2f9b96be3c1821ff4e6 # Parent 1b7a6e33cc33fb1e6c7c4a1f7d76f9852ac0c44a (svn r23276) -Codechange: add the answer for the question whether we're looking for monospace fonts in the searcher diff --git a/src/strings.cpp b/src/strings.cpp --- 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 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_fon /* 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 --- 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.