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: