Normative: Allow Locale.p.getNumberingSystems to return >1 item - #1074
Normative: Allow Locale.p.getNumberingSystems to return >1 item#1074ptomato wants to merge 1 commit into
Conversation
This seems to be a regression from tc39/proposal-intl-locale-info#92 that went unnoticed, accidentally removing the ability to return more than one numbering system from Intl.Locale.prototype.getNumberingSystems. The sorting criterion added here matches the one that was removed in that change. Closes: tc39#1071
|
Tests in tc39/test262#5067 |
|
For example |
|
Good point. Perhaps it should be allowed to return a subset of the full list. https://tc39.es/ecma402/#sec-intl.numberformat-internal-slots |
|
@anba Where are you finding the data for numbering systems not in common use? I don't see anywhere in CLDR that |
|
If not just the default numbering system should be returned, then a similar wording as in CalendarsOfLocale can be used. "native", "traditio", or "finance" should be explicitly excluded, because these aren't allowed for If the numbering systems should be returned which are in common use and additionally also supported by
The assertion Returning all elements of Also: ICU4C doesn't provide any public API to get all numbering systems in common use. There's only unumsys_open which returns the default numbering system. I haven't yet checked if it's possible to retrieve other numbering systems through the UResourceBundle API, similar to how Firefox supports returning all hour-cycles for a locale, so that |
|
I'm talking about data like https://github.com/unicode-org/cldr/blob/2ae632be7a630983fa454e4202ab8ca388e304f8/common/main/ar.xml#L5875-L5879 The structure of the data in CLDR is generally <defaultNumberingSystem>XXXX</defaultNumberingSystem>
<otherNumberingSystems>
<native>XXXX</native>
<traditional>XXXX</traditional>
<finance>XXXX</finance>
</otherNumberingSystems>(specified in https://www.unicode.org/reports/tr35/tr35-numbers.html#Number_Elements) So my question still stands, but let me ask it differently: is there anything in CLDR that specifically says If yes, then we indeed have a problem with the text in this PR and we need to adjust it to distinguish between "supported" and "in common use" systems. If no, then I'm assuming that all combinations of |
We don't want ICU4C-based implementations support all numbering systems with simple digit mappings for any locale. IIRC no browser currently supports algorithmic numbering systems, cf. https://github.com/unicode-org/cldr/blob/main/common/bcp47/number.xml. But ECMA-402 allows that implementations support for example |
This seems to be a regression from tc39/proposal-intl-locale-info#92 that went unnoticed, accidentally removing the ability to return more than one numbering system from Intl.Locale.prototype.getNumberingSystems.
The sorting criterion added here matches the one that was removed in that change.
Closes: #1071