Re: Proposed Modifications to Collation in light of 14651 changes
From: Mark Davis
The following changes simplify the collation specification, and bring it in line with other changes that we were able to get the ISO 14651 group to accept.
1. Change conformance
Drop requirements for minimum levels, backwards secondaries on level 2, requirement for appending string.
Reason: embedded systems may not require supporting languages that require those features. Clarify strong recommendation to support 3 levels, backwards at level 2.
Add informative section on
- technique of appending string where "determinism" is required.
- technique of appending ignorable primary weights as fourth level.
2. Drop mixing directions in a single level
Reason: doesn't work anyway.
3. Drop tailoring syntax
Reason: Define any tailoring syntax as allowed, as long as it is unambiguous and the results of the tailoring is equivalent to a well-formed table. Allows considerable simplification of the document, and provides equivalent results.
4. Add syntax to the collation table
Reason: Provides for required tailoring features, so we can drop the rest of tailoring.
Use semicolon notation for consistency. Main changes:
<data> := <version> <rearrange>* <backward>* <entry>*
<rearrange> := '@rearrange' <S> <charList> <eol>
<backward> := '@backward' <S> <level_number> <eol>
<entry> := <charList> ';' <collationList> ';' <comment> <eol>
<charList> := <char> (<S> <char>)*
<collationList> := <collElement> (<S> <collElement>)*
1. Add section on compressing sort keys using position.
2. Editorial fixes, as approved by the editorial committee.