**L2/08-079**

Source: Mark Davis

Subject: Actions on Normalization and Casing Stability

Date: 2008-01-30

A173 Draft a revision of stability policies to include casing stability and NPSS_related changes to normalization stability and post as L2 doc.

Here is my draft (see also
http://www.unicode.org/L2

*Proposed changes for:
http://www.unicode.org/policies/stability_policy.html*

*Between "**Normalization Stability" **and ***
"**

If a string X contains only characters from a given version of the Unicode, and in accordance with that version of Unicode X is put into a normalized form, then in accordance with any subsequent version of Unicode, X will be put into an identical normalized form.

In particular, once a character is encoded, its canonical combining class and decomposition mapping will not be changed in a way that will destabilize normalization. Thus the following constraints will be maintained under all circumstances:

*Decomposition Mapping*

Once a character is assigned, the decomposition mapping will not change.

*Canonical Combining Class*

Once a character is assigned, the canonical combining class will not change.

*Add at the end, after " Case Folding Stability":*

**Case Pair
Stability**

*Applicable Version: Unicode XX
(TODO - set XX to the earliest applicable version)*

*Once two characters are
assigned, whether or not they are a case pair remains stable.
*

More formally, for given versions
V and U of Unicode, and two characters X and Y that are both assigned according to both V and U:

toLowercase(X) = Y AND toUppercase(Y) = X according to V

if and only if

toLowercase(X) = Y AND toUppercase(Y) = X according to U.

Note that one-way mappings do not have this guarantee.

if and only if

toLowercase(X) = Y AND toUppercase(Y) = X according to U.

Note that one-way mappings do not have this guarantee.