#?SuikaWiki/0.9 [1] [[Unicode]] の [DFN[[ABBR[NFC]]]] ([DFN[正規化形 C]]) は、 で規定されている Unicode 文字列の正規形のひとつです。 NFKC は、大まかには、[[互換分解]]を行った後に[[正準結合]]を行います。 ([[NFC]] は[[正準分解]]を行いますが、 NFKC は互換分解を行います。 NFC も NFKC も、 分解の後には''正準''結合を行います。 (「互換結合」はありません。)) [2] 詳しい定義はこうです。 (実装はこれと同じ結果が得られるなら、他の方法を使ってもかまいません。) = 原始文字列 [VAR[S]] の正準分解を、 実装が対応している最新版の [[UCD]] の[[互換写像]]に従って生成する。 = 分解中の最初から最後までのそれぞれの文字 [VAR[C]] について、次の操作を繰り返す。 == [VAR[C]] が最後の[[開始子]] [VAR[L]] から[[妨害]]されておらず、 [VAR[L]] と[[初等結合]]できるなら、 [VAR[L]] を合成 [VAR[L-C]] で置換し、 [VAR[C]] を削除する。 = これによって得られた文字列 [VAR[S']] が [VAR[S]] の [ABBR[NFKC]] である。