nfkc.rb
=======

Unicode正規化(NFKC)を高速に実行するC言語プログラムを生成します。

- ICU(http://ibm.com/software/globalization/icu)の出力に基づいて
  同一の正規化処理をより高速に実行するコードを生成します。

- case(大文字/小文字)の正規化を含む正規化文字列に直接変換できます。

- NFKCでは(変換後に空白を挿入するために)実現できない一部の正規合成処理をサポートします。
  例: 「は゛」→「ば」

使用方法

nfkc.rb [-s] [-c]

オプション

 -s  正規化語の文字列の先頭の空白を除去する処理を抑止します

 -c  case正規化を抑止します。

(両方のオプションを指定すると、ICUのNFKCと完全に同一の正規化処理を行います)

動作条件

- Cコンパイラが必要(添付のicudump.cをコンパイルするため)

- ICUライブラリが必要
  (nfkc.rbの実行時にのみ必要です。生成したnfkc.cの実行時には必要ありません)

出力

  nfkc.cを生成します。

  nfkc.cを用いて実際にUnicode正規化処理を行う関数の例として以下があります。
  senna/lib/str.c:normalize_utf8()

