[1] [[Unicode]] の [DFN[[ABBR[NFC]]]] ([DFN[正規化形 C]]) は、 で規定されている Unicode 文字列の正規形のひとつです。 NFC は、大まかには、[[正準分解]]を行った後に[[正準結合]]を行います。 これによって、ひとつの[[文字]]に複数種類の表現が対応するときに、 ''(Unicode 的に)'' 等価でもっとも短い形にすることができます。 [2] 詳しい定義はこうです。 (実装はこれと同じ結果が得られるなら、他の方法を使ってもかまいません。) = 原始文字列 [VAR[S]] の正準分解を、 実装が対応している最新版の [[UCD]] の[[正準写像]]に従って生成する。 = 分解中の最初から最後までのそれぞれの文字 [VAR[C]] について、次の操作を繰り返す。 == [VAR[C]] が最後の[[開始子]] [VAR[L]] から[[妨害]]されておらず、 [VAR[L]] と[[初等結合]]できるなら、 [VAR[L]] を合成 [VAR[L-C]] で置換し、 [VAR[C]] を削除する。 = これによって得られた文字列 [VAR[S']] が [VAR[S]] の [ABBR[NFC]] である。 [5] 仕様書: -[UTR #15-18] [CITE[UTR #15: Unicode Normalization]] -[Cor. #2] [CITE[Corrigendum #2: Yod with Hiriq Normalization]] [4] 第18版 ([[Unicode 3.0]] に対応) [SRC[UTR #15-18]] を採用する応用仕様: - [CITE[XML Encryption Syntax and Processing]] ([Q['''[[MUST]]''']]) [3] 第18版 ([[Unicode 3.0]] に対応) [SRC[UTR #15-18]] と正誤表2 [SRC[Cor. #2]] を採用する応用仕様: - [CITE[XML Encryption Syntax and Processing]] ([Q['''[[SHOULD]]''']]) [6] 最新版を採用する応用仕様: - [CITE@en[Web Forms 2.0]] ([Q@en['''[[SHOULD]]''']])