[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #5016(closed enhancement: fixed)

Opened 3 years ago

Last modified 13 months ago

replace variableTop with maxVariable (collation attributes)

Reported by: markus Owned by: markus
Component: xxx-spec Data Locale:
Phase: Review: pedberg
Weeks: 0.1 Data Xpath:


For UCA/LDML collation, the variableTop attribute specifies which characters (via their primary weights) are “variable” when the alternate-handling is not non-ignorable.

Problem: The value for variableTop is a code point sequence. For common usage it requires knowledge of which character is the last in the Punctuation or Symbols or similar range, in DUCET order, which changes with every UCA version.

  1. Please add a new attribute “maxVariable” for easy, reliable setting of which characters are “variable”. Its set of values should be the special below-letter reorder_code values: space, punct, symbol, currency, digit. maxVariable=punct would be the CLDR/LDML default, while maxVariable=symbol would be the UCA DUCET default.
  1. I propose “kv” as the language tag key for “maxVariable”.
  1. Please deprecate the variableTop attribute, in favor of maxVariable.

(For more details see IcuBug:8032, especially comment #7)


Change History

comment:1 Changed 3 years ago by mark

  • Owner changed from anybody to markus
  • Priority changed from assess to major
  • Status changed from new to assigned
  • Component changed from unknown to spec

Willing to do this, but would need to have corresponding changes in ICU.

In CLDR side would be spec and bcp47/...

comment:2 Changed 3 years ago by markus

  • Weeks set to 0.1
  • Type changed from unknown to enhancement
  • Milestone changed from UNSCH to 23

For BCP 47 language tags, we intend to use the key "kv" and relevant values copied from kr.

I think the addition to source:trunk/common/bcp47/collation.xml would be something like

<key name="kv" description="Collation parameter key for maxVariable, the last reordering group to be affected by ka-shifted" since="23">
<type name="space" description="Only spaces are affected by ka-shifted"/>
<type name="punct" description="Spaces and punctuation are affected by ka-shifted (CLDR default)"/>
<type name="symbol" description="Spaces, punctuation and symbols except for currency symbols are affected by ka-shifted"/>
<type name="currency" description="Spaces, punctuation and all symbols are affected by ka-shifted"/>
<type name="digit" description="Spaces, punctuation, symbols, currency symbols and digits are affected by ka-shifted"/>

I omitted aliases; if they are not required, I would prefer not to introduce them.

For old-style CLDR/ICU locale IDs, I think we should use the same attribute and values, rather than introducing separate ones for that. For example, "de@kv=symbol".

comment:3 Changed 3 years ago by markus

We should also deprecate the tailorability of [last variable]/<last_variable/>, see LDML table "Specifying Last-Variable" in section 5.14.10 "Logical Reset Positions".

comment:4 Changed 3 years ago by Richard Wordingham <richard.wordingham@…>

Why do we need a *new* attribute? Can we not allow the value of variableTop to be a character sequence or special block name? With two attributes, we have the complexity of specifying which takes priority. With one attributes, it becomes part of the checking of syntax (or similar), which is already necessary.

comment:5 Changed 3 years ago by markus

  • Keywords collation added

comment:6 Changed 2 years ago by markus

Some second thoughts: I think no one would use maxVariable=currency or digit; I think we should initially limit the set of values to only three: space, punct, symbol.

comment:7 Changed 2 years ago by markus

  • Milestone changed from 23 to 24

The latest proposal to icu-design (2012-dec-10) was to have four values: space, punct, symbol, currency

comment:8 Changed 2 years ago by markus

ICU will pin the variable top to the next-higher maxVariable, and no higher than the highest maxVariable value (currency). Consider adding this to the LDML spec.

comment:9 Changed 21 months ago by markus

  • Milestone changed from 24final to 25dsub

comment:10 Changed 18 months ago by emmons

  • Milestone changed from 25dsub to 25M1

Moving all 25dsub to 25M1. Please adjust the milestone if you are not planning to complete the item in the 25M1 time frame.

comment:11 Changed 17 months ago by emmons

  • Milestone changed from 25M1 to 25rc

Moving all Markus's 25M1 to 25rc

comment:12 Changed 15 months ago by markus

  • Cc mark, yoshito, emmons added
  • Status changed from assigned to reviewing
  • Review set to pedberg

comment:13 Changed 15 months ago by pedberg

  • Status changed from reviewing to closed
  • Resolution set to fixed

comment:14 Changed 13 months ago by emmons

  • Milestone 25rc deleted

Milestone 25rc deleted


Add a comment

Modify Ticket

as closed
The ticket will be disowned. The resolution will be deleted. Next status will be 'new'
Next status will be 'closed'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.