From e82325e5c6393069ce6c2ab9caa24f355e54a8de Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 20 Nov 2011 12:01:42 +0000 Subject: [PATCH] (svn r23276) -Codechange: add the answer for the question whether we're looking for monospace fonts in the searcher --- src/strings.cpp | 9 +++++++-- src/strings_func.h | 6 ++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/strings.cpp b/src/strings.cpp index eadde4edc9..c44e2f9129 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 19c374e6df..3f98ad48d9 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -222,6 +222,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.