diff --git a/src/guiengine/scalable_font.cpp b/src/guiengine/scalable_font.cpp index 6b0ea6f16..9e760f80e 100644 --- a/src/guiengine/scalable_font.cpp +++ b/src/guiengine/scalable_font.cpp @@ -71,6 +71,11 @@ ScalableFont::~ScalableFont() if (SpriteBank) SpriteBank->drop(); } } + +void ScalableFont::updateRTL() +{ + m_rtl = translations->isRTLLanguage(); +} void ScalableFont::setShadow(irr::video::SColor col) { diff --git a/src/guiengine/scalable_font.hpp b/src/guiengine/scalable_font.hpp index 678528500..7eb051f6d 100644 --- a/src/guiengine/scalable_font.hpp +++ b/src/guiengine/scalable_font.hpp @@ -134,6 +134,8 @@ public: void setScale(const float scale); float getScale() const { return m_scale; } + void updateRTL(); + private: struct SFontArea diff --git a/src/states_screens/main_menu_screen.cpp b/src/states_screens/main_menu_screen.cpp index 313e36d13..48d81eb7d 100644 --- a/src/states_screens/main_menu_screen.cpp +++ b/src/states_screens/main_menu_screen.cpp @@ -237,6 +237,10 @@ void MainMenuScreen::eventCallback(Widget* widget, const std::string& name, cons translations = new Translations(); GUIEngine::getStateManager()->hardResetAndGoToScreen(); + GUIEngine::getFont()->updateRTL(); + GUIEngine::getTitleFont()->updateRTL(); + GUIEngine::getSmallFont()->updateRTL(); + UserConfigParams::m_language = selection.c_str(); user_config->saveConfig(); }