From 4b2433d4f0c5da31f322219ce0f5af96819926dc Mon Sep 17 00:00:00 2001 From: kateleet Date: Fri, 26 Nov 2021 22:38:47 +0800 Subject: [PATCH] SettingsDaemon: Improve language settings --- settings-daemon/language/language.cpp | 9 ++++++++- settings-daemon/theme/thememanager.cpp | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/settings-daemon/language/language.cpp b/settings-daemon/language/language.cpp index 019c331..a42df9b 100644 --- a/settings-daemon/language/language.cpp +++ b/settings-daemon/language/language.cpp @@ -49,11 +49,18 @@ void Language::setLanguage(const QString &code) } QSettings settings(QStringLiteral("cutefishos"), QStringLiteral("theme")); - // 中文语言下更换字体 + + // Change fonts if (code == "zh_CN") { settings.setValue("Font", "Noto Sans CJK SC"); } else if (code.contains("en_")) { settings.setValue("Font", "Noto Sans"); + } else if (code == "zh_TW") { + settings.setValue("Font", "Noto Sans CJK TC"); + } else if (code == "zh_HK") { + settings.setValue("Font", "Noto Serif CJK HK"); + } else if (code == "ja_JP") { + settings.setValue("Font", "Noto Serif CJK JP"); } m_settings->setValue("language", code); diff --git a/settings-daemon/theme/thememanager.cpp b/settings-daemon/theme/thememanager.cpp index 4987e38..ee1fa07 100644 --- a/settings-daemon/theme/thememanager.cpp +++ b/settings-daemon/theme/thememanager.cpp @@ -370,6 +370,10 @@ void ThemeManager::updateFontConfig() const QString &fimilyFont = systemFont(); const QString &fixedFont = systemFixedFont(); + QSettings settings(QSettings::UserScope, "cutefishos", "theme"); + bool hinting = settings.value("XftAntialias", 1).toBool(); + QString hintStyle = settings.value("XftHintStyle", "hintslight").toString(); + QString content = QString("" "" "" @@ -404,11 +408,22 @@ void ThemeManager::updateFontConfig() "" "rgb" "" + "" + "" + "%8" + "" + "" + "" + "" + "%9" + "" + "" "" ).arg(fimilyFont).arg(fimilyFont) .arg(fimilyFont).arg(fimilyFont) .arg(fixedFont).arg(fixedFont) - .arg(fimilyFont); + .arg(fimilyFont).arg(hinting ? "true" : "false") + .arg(hintStyle); QString targetPath(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + QLatin1String("fontconfig"));