Unicode-Casing-Algorithmus
Unicode-Casing-Algorithmus

== Schreibweisen-unabhängiger Vergleich ==
Um zwei Texte unabhängig von ihrer Schreibweise auf Gleichheit zu überprüfen, werden beide in eine spezielle Normalform überführt. Diese ''casefold'' genannte Normalform basiert im Wesentlichen auf der Kleinschreibung. Auch hier werden alle Zeichen einzeln durch ihre Case_Folding-Entsprechung ersetzt.
Anschließend sollten beide Texte in dieselbe Unicode-Normalform überführt werden, bevor sie verglichen werden. Tatsächlich ist es in einigen seltenen Fällen notwendig, die verschiedenen Normalisierungen mehrfach abwechselnd zu wiederholen.
Eine spezielle Variante ist für schreibweisen-unabhängige Bezeichner in Programmiersprachen gedacht: Hier werden zusätzlich alle Zeichen entfernt, die als Default_Ignorable gekennzeichnet sind (etwa Steuerzeichen zur Formatierung), und die Zeichenkette anschließend in die Normalform NFKC überführt. Zur Vereinfachung gibt es die Eigenschaft NFKC_Casefold, die eine einfache Umwandlung der einzelnen Zeichen erlaubt, sodass am Ende nur noch die Umordnung der kombinierenden Zeichen und die Überführung in die kombinierte Normalform separat erfolgen muss.
Will man beispielsweise prüfen, ob die beiden Wörter „MASSE“ und „Maße“ unabhängig von der Schreibweise übereinstimmen, so überführt man beide in die Casefold-Normalform, indem man für jeden Buchstaben die Case_Folding-Eigenschaft nachschlägt und die Buchstaben entsprechend ersetzt. Für das erste Wort ergibt sich „masse“, da alle Großbuchstaben durch Kleinbuchstaben ersetzt werden. Auch das zweite Wort wird zu „masse“ normalisiert, da für das ß die Normalisierung „ss“ angegeben ist. Die beiden Wörter stimmen also bis auf die Schreibweise überein.