diff options
author | bunnei <bunneidev@gmail.com> | 2022-08-09 10:05:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-09 10:05:47 -0700 |
commit | ada667060ae81c49583ec8441d4330c31016b24c (patch) | |
tree | 25072e45075f40635c91bd35d3f32deca977012c | |
parent | b1d61cd02534a421feee75fd2a1c2e6dea8e54b0 (diff) | |
parent | 63673dcf9833f3e9a8bdcd6fc90a92e2dd9bf1ae (diff) |
Merge pull request #8715 from Docteh/suzhou
Qt5 work around for suzhou numerals
-rw-r--r-- | src/yuzu/main.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 653280642..378b40205 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -4072,6 +4072,15 @@ int main(int argc, char* argv[]) { QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); QApplication app(argc, argv); + // Workaround for QTBUG-85409, for Suzhou numerals the number 1 is actually \u3021 + // so we can see if we get \u3008 instead + // TL;DR all other number formats are consecutive in unicode code points + // This bug is fixed in Qt6, specifically 6.0.0-alpha1 + const QLocale locale = QLocale::system(); + if (QStringLiteral("\u3008") == locale.toString(1)) { + QLocale::setDefault(QLocale::system().name()); + } + // Qt changes the locale and causes issues in float conversion using std::to_string() when // generating shaders setlocale(LC_ALL, "C"); |