Source: Michael Kaplan
Subject: Microsoft casing stability
Date: May 9, 2006>

Currently there is a casing stability policy that exists in Unicode that does not cover all aspects of casing stability that are needed by Microsoft. Over time, this could lead to differences that we would like to avoid, if possible (specially now that we are explicitly working to try to use the latest version of the standard).

The specific requirements Microsoft has in regard to casing stability:

For the letters U and L, where U represents an Uppercase letter and L represents the corresponding Lowercase letter:

One-way mappings between U and L do not directly affect Microsoft's stability requirements, but since they are captured in various folding/conversion operations, as few of such changes as possible would be preferred -- to maximize the appearance of stability between versions.

While strictly speaking these requirements do not need to be picked up by Unicode, any change that does not meet these requirements in one that Microsoft will not be able to pick up (in order to keep stability in the file system and object namespace in Windows and the .NET Framework).

For this reason, Microsoft would like to request that these requirements be considered for a future version of the Unicode Standard, in order to make sure that we avoid intentionally engineering permanent differences between the standard and our implementation.