mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1104589 - Improve the mapping of lang tags to langGroup codes. r=smontagu
This commit is contained in:
parent
96cf2f603e
commit
bec275021c
@ -181,11 +181,15 @@ xh=x-western
|
||||
yi=he
|
||||
yo=x-western
|
||||
zh-cn=zh-CN
|
||||
# XXX : The following two entries are added as a quick fix (bug 251241).
|
||||
# XXX : The following five entries are added as a quick fix (bug 251241, bug 1104589).
|
||||
# When we have a general solution for ISO 15924 (script codes), the issue has
|
||||
# to be revisited.
|
||||
zh-hans=zh-CN
|
||||
zh-hant=zh-TW
|
||||
zh-latn=x-western
|
||||
ja-latn=x-western
|
||||
ko-latn=x-western
|
||||
#
|
||||
zh-tw=zh-TW
|
||||
zh-hk=zh-HK
|
||||
zh=zh-CN
|
||||
|
@ -105,25 +105,21 @@ nsLanguageAtomService::GetLanguageGroup(nsIAtom *aLanguage,
|
||||
}
|
||||
}
|
||||
|
||||
nsString langStr;
|
||||
nsAutoString langStr;
|
||||
aLanguage->ToString(langStr);
|
||||
|
||||
nsXPIDLString langGroupStr;
|
||||
res = mLangGroups->GetStringFromName(langStr.get(),
|
||||
getter_Copies(langGroupStr));
|
||||
if (NS_FAILED(res)) {
|
||||
int32_t hyphen = langStr.FindChar('-');
|
||||
if (hyphen >= 0) {
|
||||
nsAutoString truncated(langStr);
|
||||
truncated.Truncate(hyphen);
|
||||
res = mLangGroups->GetStringFromName(truncated.get(),
|
||||
getter_Copies(langGroupStr));
|
||||
if (NS_FAILED(res)) {
|
||||
langGroupStr.AssignLiteral("x-unicode");
|
||||
}
|
||||
} else {
|
||||
while (NS_FAILED(res)) {
|
||||
int32_t hyphen = langStr.RFindChar('-');
|
||||
if (hyphen <= 0) {
|
||||
langGroupStr.AssignLiteral("x-unicode");
|
||||
break;
|
||||
}
|
||||
langStr.Truncate(hyphen);
|
||||
res = mLangGroups->GetStringFromName(langStr.get(),
|
||||
getter_Copies(langGroupStr));
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIAtom> langGroup = do_GetAtom(langGroupStr);
|
||||
|
Loading…
Reference in New Issue
Block a user