Unicode 正規化の実装 Decompose

Unicode の正規化の実装。まずは簡単な(?)Decompose から。
Decompose は Compose の逆なので分解。


マッピング情報に従い、1文字=>2文字 へと分解していく。
1文字=>3文字 などのマッピングも存在するが 1文字=>2文字 の分解を再帰的にすることで対応する。
分解した後に、Canonical Combining Class に従い正規順序にソートして終了。

string-normalize-nfd/string-normalize-nfkd 実装完了。次は Compose(合成)。