What has to be stable?

Patrik Fältström patrik at frobbit.se
Mon Dec 17 09:19:55 CET 2007


In the current tables document, the algorithm defined take for granted  
the following things are stable for all future versions of Unicode.  
I.e. if for a specific codepoint one of the things below is valid in  
Unicode version N, the same has to be valid in Unicode version N+1.  
What has to be stable is what leads to a codepoint be in NEVER or  
ALWAYS.

1. Codepoint that is in one of the general categories {Ll, Lu, Lo, Nd,  
Lm, Mn, Mc} is not to be moved away from that category.

2. If NFKC(cp) != cp, then it has to stay like that.

(If NFKC(cp) == cp and script is {latin, greek, cyrillic}, then that  
is not to be changed either.)

3. If casefold(cp) != cp, then it has to stay like that.

(If casefold(cp) == cp and script is {latin, greek, cyrillic}, then  
that is not to be changed either.)

4. If the codepoint has one of the properties  
{Other_Default_Ignorable_Code_Point, Noncharacter_Code_Point}, then  
that property is not to be removed from the codepoint.

5. If the codepoint is in one of the scripts {Cuneiform, Ugaritic,  
Old_Persian, Gothic, Old_Italic, Cypriot, Linear_B, Phoenician,  
Kharoshthi, Phags_Pa, Glagolitic, Shavian, Deseret, Osmanya, Ogham},  
then the codepoint is not to be away from those script.

6. If the codepoint is in one of the blocks  
{Combining_Diacritical_Marks_for_Symbols, Musical_Symbols,  
Ancient_Greek_Musical_Notation}, then the codepoint is not to be moved  
away from those blocks.

7. If the codepoint is in one of the scripts {latin, greek, cyrillic,  
han}, then it is not to be removed from one of those scripts.

8. If the codepoint is not in one of the scripts {latin, greek,  
cyrillic, han}, then it is not to be moved to one of those scripts.

9. If the codepoint is one of {0061..007A, 0030..0039, 002D, 3005,  
3007}, then nothing of that codepoint can change.

    Patrik



More information about the Idna-update mailing list