[1] [DFN[case folding]] は、主に[[文字列]]の[[比較]]を目的として、[[大文字]]と[[小文字]]の違いを正規化する操作です。 * 仕様書 [REFS[ - [4] - [8] [CITE@en-us[UAX #44: Unicode Character Database]] ([TIME[2013-09-27 22:15:15 +09:00]] 版) ]REFS] * 完全 case 写像、完全 case folding [9] [DFN[[RUBYB[完全 case 写像]@en[full case mapping]]]]、[DFN[[RUBYB[完全 case folding]@en[full case folding]]]] は [[SpecialCasing.txt]] と [[UnicodeData.txt]] に含まれるデータから決まる[[写像]]で、次のように表記されます [SRC[>>4]]。 - [DFN[[CODE@en[Lowercase_Mapping([VAR[C]])]]]] - [DFN[[CODE@en[Titlecase_Mapping([VAR[C]])]]]] - [DFN[[CODE@en[Uppercase_Mapping([VAR[C]])]]]] - [DFN[[CODE@en[Case_Folding([VAR[C]])]]]] [5] [CODE[Case_Folding([VAR[C]])]] は [[CaseFolding.txt]] にも含まれていて、状態欄の値が「[[C]]」 か「[[F]]」のもの (それ以外は無変換) です。 [REFS[ - [6] ]REFS] ;; [11] ここでいう「完全」とは、文脈依存 (>>10) のものに対して文脈なく常に成立する変換関係のことを指しているようです。 * 文脈依存の case 変換 [10] [[文字]]だけではなくその文脈によって決まる大文字と小文字の関係として、次のものが定義されています [SRC[>>4]]。 [FIG[ - [CODE[[[Final_Sigma]]]] - [CODE[[[After_Soft_Dotted]]]] - [CODE[[[More_Above]]]] - [CODE[[[Before_Dot]]]] - [CODE[[[After_I]]]] ]FIG] * [CODE[toCasefold([VAR[X]])]] [2] [DFN[[CODE[toCasefold([VAR[X]])]]]] は、[[文字列]] [VAR[X]] に含まれる各[[文字]] [VAR[C]] を [CODE[Case_Folding([VAR[X]])]] に[[写像]]することを表します。 これは [DFN[Default Case Folding]] と呼ばれます。 [SRC[>>4]] * [CODE@en[SpecialCasing]] [REFS[ - [7] ]REFS]