XojoでUnicode正規化をするメソッドです。
XojoにはNSStringクラスがないのですけど、CFStringRefで代用できるんですね。
String型からとくに変換する必要もないので、かなり便利。
Function toNFC (s as String) As String
// NFCの場合
If s.LenB=0 then Return ""
Declare function precomposedStringWithCanonicalMapping lib "Cocoa" selector "precomposedStringWithCanonicalMapping" (targetStr as CFStringRef) as CFStringRef
Return precomposedStringWithCanonicalMapping(s)
End Function
4種類の正規化形式は以下の通り。
* NFC -> precomposedStringWithCanonicalMapping
* NFD -> decomposedStringWithCanonicalMapping
* NFKC -> precomposedStringWithCompatibilityMapping
* NFKD -> decomposedStringWithCompatibilityMapping