diff --git a/data/resources/fonts/NotoSansHebrew-VariableFont_wdth,wght.ttf b/data/resources/fonts/NotoSansHebrew-VariableFont_wdth,wght.ttf new file mode 100644 index 000000000..5f5ba19a8 Binary files /dev/null and b/data/resources/fonts/NotoSansHebrew-VariableFont_wdth,wght.ttf differ diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp index 70d7d9943..ef4b14bc0 100644 --- a/src/duckstation-qt/qthost.cpp +++ b/src/duckstation-qt/qthost.cpp @@ -2798,11 +2798,13 @@ void QtHost::UpdateFontOrder(std::string_view language) ImGuiManager::LanguageFontOrder font_order; #define TF(name) ImGuiManager::LanguageFont::name if (language == "ja") - font_order = {TF(Default), TF(Japanese), TF(Chinese), TF(Korean)}; + font_order = {TF(Default), TF(Japanese), TF(Chinese), TF(Korean), TF(Default)}; else if (language == "ko") - font_order = {TF(Default), TF(Korean), TF(Japanese), TF(Chinese)}; + font_order = {TF(Default), TF(Korean), TF(Japanese), TF(Chinese), TF(Default)}; else if (language == "zh-CN") - font_order = {TF(Default), TF(Chinese), TF(Japanese), TF(Korean)}; + font_order = {TF(Default), TF(Chinese), TF(Japanese), TF(Korean), TF(Default)}; + else if (language == "he") + font_order = {TF(Default), TF(Hebrew), TF(Japanese), TF(Chinese), TF(Korean)}; else font_order = ImGuiManager::GetLanguageTextFontOrder(); #undef TF diff --git a/src/util/imgui_manager.cpp b/src/util/imgui_manager.cpp index 65ce06fb8..d38e827d0 100644 --- a/src/util/imgui_manager.cpp +++ b/src/util/imgui_manager.cpp @@ -122,10 +122,11 @@ static constexpr float OSD_FADE_IN_TIME = 0.1f; static constexpr float OSD_FADE_OUT_TIME = 0.4f; static constexpr std::array(LanguageFont::MaxCount)> LANGUAGE_FONT_NAMES = {{ - nullptr, // Default - "NotoSansSC-VariableFont_wght.ttf", // Chinese - "NotoSansJP-VariableFont_wght.ttf", // Japanese - "NotoSansKR-VariableFont_wght.ttf", // Korean + nullptr, // Default + "NotoSansSC-VariableFont_wght.ttf", // Chinese + "NotoSansJP-VariableFont_wght.ttf", // Japanese + "NotoSansKR-VariableFont_wght.ttf", // Korean + "NotoSansHebrew-VariableFont_wdth,wght.ttf", // Hebrew }}; #define ENUMERATE_TEXT_FONT_NAMES(X) \ @@ -258,7 +259,8 @@ static State s_state; ImGuiManager::LanguageFontOrder ImGuiManager::GetLanguageTextFontOrder() { - return {LanguageFont::Default, LanguageFont::Japanese, LanguageFont::Chinese, LanguageFont::Korean}; + return {LanguageFont::Default, LanguageFont::Japanese, LanguageFont::Chinese, LanguageFont::Korean, + LanguageFont::Default}; } void ImGuiManager::SetLanguageFontOrder(const LanguageFontOrder& order) diff --git a/src/util/imgui_manager.h b/src/util/imgui_manager.h index 0e43a7ed6..2e0838426 100644 --- a/src/util/imgui_manager.h +++ b/src/util/imgui_manager.h @@ -87,6 +87,7 @@ enum class LanguageFont : u8 Chinese, Japanese, Korean, + Hebrew, MaxCount };