ImGuiManager: Support rendering Hebrew text

pull/3782/head
Stenzek 1 month ago
parent 89fb3ad338
commit d59fcfb9d5
No known key found for this signature in database

@ -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

@ -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<const char*, static_cast<size_t>(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)

@ -87,6 +87,7 @@ enum class LanguageFont : u8
Chinese,
Japanese,
Korean,
Hebrew,
MaxCount
};

Loading…
Cancel
Save