diff options
Diffstat (limited to 'gui/ThemeEngine.cpp')
-rw-r--r-- | gui/ThemeEngine.cpp | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp index 3a50b2c69c..9cc98d83ce 100644 --- a/gui/ThemeEngine.cpp +++ b/gui/ThemeEngine.cpp @@ -337,6 +337,9 @@ const ThemeEngine::Renderer ThemeEngine::_rendererModes[] = { { _s("Antialiased Renderer (16bpp)"), "aa_16bpp", kGfxAntialias16bit } #endif }; + +DECLARE_TRANSLATION_ADDITIONAL_CONTEXT("Standard Renderer (16bpp)", "lowres") +DECLARE_TRANSLATION_ADDITIONAL_CONTEXT("Antialiased Renderer (16bpp)", "lowres") const uint ThemeEngine::_rendererModesSize = ARRAYSIZE(ThemeEngine::_rendererModes); @@ -575,15 +578,26 @@ bool ThemeEngine::addFont(TextData textId, const Common::String &file) { if (!_texts[textId]->_fontPtr) { // First try to load localized font _texts[textId]->_fontPtr = loadFont(localized); + + if (_texts[textId]->_fontPtr) + FontMan.assignFontToName(file, _texts[textId]->_fontPtr); // Fallback to non-localized font - if (!_texts[textId]->_fontPtr) - _texts[textId]->_fontPtr = loadFont(file); - - if (!_texts[textId]->_fontPtr) - error("Couldn't load font '%s'", file.c_str()); - - FontMan.assignFontToName(file, _texts[textId]->_fontPtr); + else { + // Try built-in fonts + _texts[textId]->_fontPtr = FontMan.getFontByName(file); + + // Try to load it + if (!_texts[textId]->_fontPtr) { + _texts[textId]->_fontPtr = loadFont(file); + + if (!_texts[textId]->_fontPtr) + error("Couldn't load font '%s'", file.c_str()); + + FontMan.assignFontToName(file, _texts[textId]->_fontPtr); + } + warning("Failed to load localized font '%s'. Using non-localized font instead", file.c_str()); + } } } |