mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:37:35 +00:00
LibUnicode: Parse alternate default numbering systems
Some locales in the CLDR have alternate default numbering systems listed under "defaultNumberingSystem-alt-*", e.g.: "defaultNumberingSystem": "arab", "defaultNumberingSystem-alt-latn": "latn", "otherNumberingSystems": { "native": "arab" }, We were previously only parsing "defaultNumberingSystem" and "otherNumberingSystems". This odd format appears to be an artifact of converting from XML.
This commit is contained in:
parent
ae66188d43
commit
d3e83c9934
1 changed files with 9 additions and 0 deletions
|
@ -454,6 +454,15 @@ static void parse_numeric_keywords(String locale_numbers_path, UnicodeLocaleData
|
||||||
keyword_values.append(move(keyword_value));
|
keyword_values.append(move(keyword_value));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
locale_numbers_object.as_object().for_each_member([&](auto const& key, JsonValue const& value) {
|
||||||
|
if (!key.starts_with("defaultNumberingSystem-alt-"sv))
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto keyword_value = value.as_string();
|
||||||
|
if (!keyword_values.contains_slow(keyword_value))
|
||||||
|
keyword_values.append(move(keyword_value));
|
||||||
|
});
|
||||||
|
|
||||||
StringBuilder builder;
|
StringBuilder builder;
|
||||||
builder.join(',', keyword_values);
|
builder.join(',', keyword_values);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue