"Ingredients for an NFD (or NFW3D) canonical normalization algorithm"
Last updated at 4:38 pm UTC on 10 December 2015
1. Check every character to ensure it a member of the set of characters whose NFD_Quick_Check property matched NO (13,215 code points) [for either every character used for markup or every character depending on the extent of normalization].
2. For NFD_Quick_Check=NO character encountered, replace the character with the decomposed NFD normalized character or character sequence.
3. All combining characters must be reordered according to their canonical combining class integer value (preserving their order otherwise).