aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/fontman.cpp27
-rw-r--r--graphics/fontman.h9
-rw-r--r--gui/ThemeEngine.cpp28
-rw-r--r--gui/ThemeEngine.h1
4 files changed, 37 insertions, 28 deletions
diff --git a/graphics/fontman.cpp b/graphics/fontman.cpp
index 08f2ce990b..27fe21ab97 100644
--- a/graphics/fontman.cpp
+++ b/graphics/fontman.cpp
@@ -21,6 +21,7 @@
#include "graphics/font.h"
#include "graphics/fontman.h"
+#include "common/translation.h"
DECLARE_SINGLETON(Graphics::FontManager);
@@ -90,4 +91,30 @@ const Font *FontManager::getFontByUsage(FontUsage usage) const {
return 0;
}
+Common::String FontManager::genLocalizedFontFilename(const Common::String &filename) const {
+#ifndef USE_TRANSLATION
+ return filename;
+#else
+ // We will transform the font filename in the following way:
+ // name.bdf
+ // will become:
+ // name-charset.bdf
+ // Note that name should not contain any dot here!
+
+ // In the first step we look for the dot. In case there is none we will
+ // return the normal filename.
+ Common::String::const_iterator dot = Common::find(filename.begin(), filename.end(), '.');
+ if (dot == filename.end())
+ return filename;
+
+ // Put the translated font filename string back together.
+ Common::String result(filename.begin(), dot);
+ result += '-';
+ result += TransMan.getCurrentCharset();
+ result += dot;
+
+ return result;
+#endif
+}
+
} // End of namespace Graphics
diff --git a/graphics/fontman.h b/graphics/fontman.h
index a388c64bf6..e502c9517e 100644
--- a/graphics/fontman.h
+++ b/graphics/fontman.h
@@ -74,6 +74,15 @@ public:
*/
const Font *getFontByUsage(FontUsage usage) const;
+ /**
+ * Get the localized font for the current TranslationManager charset from the
+ * non localized font name
+ *
+ * @param filename the non-localized font file name.
+ * @return The localized font file name.
+ */
+ Common::String genLocalizedFontFilename(const Common::String &filename) const;
+
//const Font *getFontBySize(int size???) const;
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index f8e94ade97..73c1835c9e 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -561,7 +561,7 @@ bool ThemeEngine::addFont(TextData textId, const Common::String &file) {
if (file == "default") {
_texts[textId]->_fontPtr = _font;
} else {
- Common::String localized = genLocalizedFontFilename(file);
+ Common::String localized = FontMan.genLocalizedFontFilename(file);
// Try built-in fonts
_texts[textId]->_fontPtr = FontMan.getFontByName(localized);
@@ -1468,32 +1468,6 @@ Common::String ThemeEngine::genCacheFilename(const Common::String &filename) con
return Common::String();
}
-Common::String ThemeEngine::genLocalizedFontFilename(const Common::String &filename) const {
-#ifndef USE_TRANSLATION
- return filename;
-#else
- // We will transform the font filename in the following way:
- // name.bdf
- // will become:
- // name-charset.bdf
- // Note that name should not contain any dot here!
-
- // In the first step we look for the dot. In case there is none we will
- // return the normal filename.
- Common::String::const_iterator dot = Common::find(filename.begin(), filename.end(), '.');
- if (dot == filename.end())
- return filename;
-
- // Put the translated font filename string back together.
- Common::String result(filename.begin(), dot);
- result += '-';
- result += TransMan.getCurrentCharset();
- result += dot;
-
- return result;
-#endif
-}
-
/**********************************************************
* Static Theme XML functions
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index cc446ac6b0..5fbea7e301 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -539,7 +539,6 @@ protected:
const Graphics::Font *loadFontFromArchive(const Common::String &filename);
const Graphics::Font *loadCachedFontFromArchive(const Common::String &filename);
Common::String genCacheFilename(const Common::String &filename) const;
- Common::String genLocalizedFontFilename(const Common::String &filename) const;
/**
* Actual Dirty Screen handling function.