[1] [DFN@en[[ABBR[NFC]]]] ([DFN[[RUBY[正規化形] [せいきかけい] @en[normalization form]] C]]) は、[[Unicode]][[文字列]]の[[正規形]]の1つです。 NFKC は、大まかには、[[互換分解]]を行った後に[[正準結合]]を行います。 ([[NFC]] は[[正準分解]]を行いますが、 NFKC は互換分解を行います。 NFC も NFKC も、 分解の後には''正準''結合を行います。 (「互換結合」はありません。)) [3] 仕様書: - [[UAX #15]] -- [2] 詳しい定義はこうです。 (実装はこれと同じ結果が得られるなら、他の方法を使ってもかまいません。) = 原始文字列[VAR@en[S]]の[[''互換''分解]]を、 実装が対応している最新版の [[UCD]] の[[互換写像]]に従って生成する。 = 分解中の最初から最後までのそれぞれの文字 [VAR[C]] について、次の操作を繰り返す。 == [VAR[C]] が最後の[[開始子]] [VAR[L]] から[[妨害]]されておらず、 [VAR[L]] と[[初等結合]]できるなら、 [VAR[L]] を合成 [VAR[L-C]] で置換し、 [VAR[C]] を削除する。 = これによって得られた文字列 [VAR[S']] が [VAR[S]] の [ABBR[NFKC]] である。 [4] ①②345 ([[名無しさん]] [WEAK[2008-05-08 03:15:41 +00:00]])