From 5bc5c1bb0c8100422251e7596c58388c61a3f28b Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Mon, 18 Jul 2022 09:57:20 +0400 Subject: [PATCH] Use our fonts as a fallback --- apps/openmw/mwgui/windowmanagerimp.cpp | 9 ++------- apps/openmw/mwgui/windowmanagerimp.hpp | 1 - components/fontloader/fontloader.cpp | 8 +++++++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index 623c46fedc..5c780d764e 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -234,7 +234,7 @@ namespace MWGui MyGUI::FactoryManager::getInstance().registerFactory("Resource", "ResourceImageSetPointer"); MyGUI::FactoryManager::getInstance().registerFactory("Resource", "AutoSizedResourceSkin"); MyGUI::ResourceManager::getInstance().load("core.xml"); - WindowManager::loadUserFonts(); + mFontLoader->loadTrueTypeFonts(); bool keyboardNav = Settings::Manager::getBool("keyboard navigation", "GUI"); mKeyboardNavigation = std::make_unique(); @@ -290,11 +290,6 @@ namespace MWGui mStatsWatcher = std::make_unique(); } - void WindowManager::loadUserFonts() - { - mFontLoader->loadTrueTypeFonts(); - } - void WindowManager::initUI() { // Get size info from the Gui object @@ -1179,7 +1174,7 @@ namespace MWGui window->onResChange(x, y); // We should reload TrueType fonts to fit new resolution - loadUserFonts(); + mFontLoader->loadTrueTypeFonts(); // TODO: check if any windows are now off-screen and move them back if so } diff --git a/apps/openmw/mwgui/windowmanagerimp.hpp b/apps/openmw/mwgui/windowmanagerimp.hpp index a48847de3f..090a2b52f9 100644 --- a/apps/openmw/mwgui/windowmanagerimp.hpp +++ b/apps/openmw/mwgui/windowmanagerimp.hpp @@ -143,7 +143,6 @@ namespace MWGui void setStore (const MWWorld::ESMStore& store); void initUI(); - void loadUserFonts(); Loading::Listener* getLoadingScreen() override; diff --git a/components/fontloader/fontloader.cpp b/components/fontloader/fontloader.cpp index 00c029216f..b906554cc5 100644 --- a/components/fontloader/fontloader.cpp +++ b/components/fontloader/fontloader.cpp @@ -628,9 +628,15 @@ namespace Gui if (lowerName == Misc::StringUtils::lowerCase(Fallback::Map::getString("Fonts_Font_0"))) return "DefaultFont"; + if (lowerName == Misc::StringUtils::lowerCase(Fallback::Map::getString("Fonts_Font_2"))) + return "ScrollFont"; if (lowerName == "dejavusansmono") return "MonoFont"; // We need to use a TrueType monospace font to display debug texts properly. - if (lowerName == Misc::StringUtils::lowerCase(Fallback::Map::getString("Fonts_Font_2"))) + + // Use our TrueType fonts as a fallback. + if (!MyGUI::ResourceManager::getInstance().isExist("DefaultFont") && name == "pelagiad") + return "DefaultFont"; + if (!MyGUI::ResourceManager::getInstance().isExist("ScrollFont") && name == "ayembedt") return "ScrollFont"; return name;