From 8a929dcccafe142a8b67dc37182c497675e66418 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 5 Nov 2026 14:30:51 +0000 Subject: [PATCH] Decompile 2 functions in Source/Utility/Text/LanguageCharset.cpp Batch #12311 by cremane: 0 byte-identical, 2 confirmed by peer review. - fn_17771 LanguageCharset: logic confirmed by peer review - fn_17773 LanguageCodePage: logic confirmed by peer review (already on main) Peer-reviewed-by: Yommy, Tanke, Toshiro Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Utility/Text/LanguageCharset.cpp | 48 ++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Source/Utility/Text/LanguageCharset.cpp b/Source/Utility/Text/LanguageCharset.cpp index 887fd835..548657f2 100644 --- a/Source/Utility/Text/LanguageCharset.cpp +++ b/Source/Utility/Text/LanguageCharset.cpp @@ -6,21 +6,37 @@ // FUNCTION: fn_17771 unsigned LanguageCharset(std::uint16_t language) { switch (PRIMARYLANGID(language)) { + case LANG_JAPANESE: + return SHIFTJIS_CHARSET; + case LANG_KOREAN: + return HANGUL_CHARSET; + case LANG_CHINESE: + switch (SUBLANGID(language)) { + case SUBLANG_CHINESE_TRADITIONAL: + return CHINESEBIG5_CHARSET; + case SUBLANG_CHINESE_SIMPLIFIED: + return GB2312_CHARSET; + } + return GREEK_CHARSET; + case LANG_GREEK: + return GREEK_CHARSET; + case LANG_TURKISH: + return TURKISH_CHARSET; + case LANG_HEBREW: + return HEBREW_CHARSET; case LANG_ARABIC: return ARABIC_CHARSET; + case LANG_ESTONIAN: + case LANG_LATVIAN: + case LANG_LITHUANIAN: + return BALTIC_CHARSET; case LANG_BULGARIAN: case LANG_RUSSIAN: case LANG_UKRAINIAN: case LANG_BELARUSIAN: return RUSSIAN_CHARSET; - case LANG_CHINESE: - if (SUBLANGID(language) == SUBLANG_CHINESE_TRADITIONAL) { - return CHINESEBIG5_CHARSET; - } - if (SUBLANGID(language) == SUBLANG_CHINESE_SIMPLIFIED) { - return GB2312_CHARSET; - } - return GREEK_CHARSET; + case LANG_THAI: + return THAI_CHARSET; case LANG_CZECH: case LANG_HUNGARIAN: case LANG_POLISH: @@ -30,22 +46,6 @@ unsigned LanguageCharset(std::uint16_t language) { case LANG_SLOVENIAN: case LANG_MACEDONIAN: return EASTEUROPE_CHARSET; - case LANG_GREEK: - return GREEK_CHARSET; - case LANG_HEBREW: - return HEBREW_CHARSET; - case LANG_JAPANESE: - return SHIFTJIS_CHARSET; - case LANG_KOREAN: - return HANGUL_CHARSET; - case LANG_THAI: - return THAI_CHARSET; - case LANG_TURKISH: - return TURKISH_CHARSET; - case LANG_ESTONIAN: - case LANG_LATVIAN: - case LANG_LITHUANIAN: - return BALTIC_CHARSET; case LANG_VIETNAMESE: return VIETNAMESE_CHARSET; default: