drop support for long-obsolete locale ID variants: preeuro, pinyin, ...

Description

ICU locale canonicalization (and some other code) handles variants like EURO, PREEURO, and PINYIN that either we or someone else invented long ago, before we got script codes and "u" extensions added to BCP 47.

I suspect that no one uses EURO and PREEURO variants any more.

"pinyin" is a valid language subtag, but its registered meaning is "Pinyin romanization" while ICU turns it into @collation=pinyin (= -u-co-pinyin). We cannot know which one a user means, so we should probably drop this mapping.

I assume that we still need (some of?) the .Net and POSIX locale ID mappings.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 static const CanonicalizationMap CANONICALIZE_MAP[] = { { "", "en_US_POSIX", NULL, NULL }, /* .NET name */ { "c", "en_US_POSIX", NULL, NULL }, /* POSIX name */ { "posix", "en_US_POSIX", NULL, NULL }, /* POSIX name (alias of C) */ { "art_LOJBAN", "jbo", NULL, NULL }, /* registered name */ { "az_AZ_CYRL", "az_Cyrl_AZ", NULL, NULL }, /* .NET name */ { "az_AZ_LATN", "az_Latn_AZ", NULL, NULL }, /* .NET name */ { "ca_ES_PREEURO", "ca_ES", "currency", "ESP" }, { "de__PHONEBOOK", "de", "collation", "phonebook" }, /* Old ICU name */ { "de_AT_PREEURO", "de_AT", "currency", "ATS" }, { "de_DE_PREEURO", "de_DE", "currency", "DEM" }, ... static const VariantMap VARIANT_MAP[] = { { "EURO", "currency", "EUR" }, { "PINYIN", "collation", "pinyin" }, /* Solaris variant */ { "STROKE", "collation", "stroke" } /* Solaris variant */ };

Status

Assignee

Markus Scherer

Reporter

Markus Scherer

Labels

None

Reviewer

None

Time Needed

Hours

Start date

None

Components

Fix versions

Priority

medium