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