diff --git a/src/fontcache.cpp b/src/fontcache.cpp index bed9bc4b09..a8448be4bf 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -974,6 +974,14 @@ void UninitFreeType() _library = NULL; } +/** + * Reset cached glyphs. + */ +void ClearFontCache() +{ + ResetGlyphCache(true); + ResetGlyphCache(false); +} static FT_Face GetFontFace(FontSize size) { diff --git a/src/fontcache.h b/src/fontcache.h index bfb5473326..32cfdb9b6b 100644 --- a/src/fontcache.h +++ b/src/fontcache.h @@ -44,6 +44,7 @@ extern FreeTypeSettings _freetype; void InitFreeType(bool monospace); void UninitFreeType(); +void ClearFontCache(); const Sprite *GetGlyph(FontSize size, uint32 key); uint GetGlyphWidth(FontSize size, uint32 key); bool GetDrawGlyphShadow(); diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index b2feb63a8b..50efd9ad8d 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -256,6 +256,7 @@ void GfxLoadSprites() DEBUG(sprite, 2, "Loading sprite set %d", _settings_game.game_creation.landscape); SwitchNewGRFBlitter(); + ClearFontCache(); GfxInitSpriteMem(); LoadSpriteTables(); GfxInitPalettes();