[1] 既定 case 変換、既定 case folding、既定無 case 一致は、 Unicode 文字列に関する言語に依存しない大文字と小文字の変換や大文字と小文字を区別しない比較の方法です。
[12] 既定 case 変換は次の3つの演算 >>4 です。
toUppercase(X)
: 各文字に対して Uppercase_Mapping(C)
toLowercase(X)
: 各文字に対して Lowercase_Mapping(C)
toTitlecase(X)
:Titlecase_Mapping(C)
を適用しLowercase_Mapping(C)
を適用する[2] 既定 Case Foldingは
toCasefold(X)
と表記され、各文字に対して
Case_Folding(X)
を適用することをいいます >>4。
[20] 既定 case 変換には文脈依存の写像の適用も含まれていますが、既定 Case Folding には含まれていません。
という点で既定 Case Folding の方が単純な演算です。
toCasefold(X)
は小文字へと変換しますが、 toLowercase(X)
と同じではありません。
[21] 入力が正規化形だとしても、既定 Case Folding の結果が正規化形とは限りません >>4。 これはたとえ入力が小文字のみであったとしてもです。
[22] 既定無 Case 一致は、2つの文字列の比較演算で、
両者に toCasefold(X)
を適用した結果が等しいことをいいます >>4。
[32] IDNA2008 の Unstable
は toCase
を使っています。
[3] PRECIS は Default Case Foloding を推奨しています。
[9] 完全 case 写像、完全 case folding は SpecialCasing.txt と UnicodeData.txt に含まれるデータから決まる写像で、次のように表記されます >>4。
[5] Case_Folding(C)
は CaseFolding.txt (>>6) に含まれていて、状態欄の値が「C」
か「F」のもの (それ以外は無変換) です。
[24] 1対多の写像は SpecialCasing.txt に、1対1の写像は UnicodeData.txt に含まれています。 重複する場合は前者が採用されることになっています >>4。
[25] U+0130
の小文字は UnicodeData.txt によれば U+0069
ですが、 SpecialCasing.txt によれば U+0069 U+0307
で、後者が
Lowercase_Mapping(C)
の値です。
[29] 写像 Case_Folding
の一覧は >>28 にあります。
[10] 文字だけではなくその文脈によって決まる大文字と小文字の関係として、次のものが定義されています >>4。
[23] これらの定義は Unicode Standard 本体に規定があります。どの文字がどのように変換されるかは SpecialCasing.txt (>>7) にあります。
[26] Unicode Standard は他に正規化を伴う比較として正準無case一致、 互換性無case一致、識別子無case一致を定義しています。
[27] XPath and XQuery Functions and Operators 3.0 ( ( 版)) http://www.w3.org/TR/xpath-functions-3/#func-upper-case
[30] XPath and XQuery Functions and Operators 3.1 () https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-lang