互換性case folding

互換性case folding

[1] 互換性無case一致 (compatibility caseless matching) とは、 互換分解をも等しいとみなした上で大文字小文字を無視した比較です。

仕様書

定義

[6] 互換性無case一致 (compatibility caseless matching) とは、2つの文字列に対する比較演算であり、 両者にそれぞれ NFDtoCasefoldNFKDtoCasefoldNFKD をこの順に適用した結果が等しいことをいいます >>5

[7] 互換性無case (compatibility caseless) な形で比較するとは、 互換性無case一致を、言語依存の仕立てなしで適用することをいいます >>2

[8] Unicode Standard>>6 の定義が言語依存の仕立てを認めているかは曖昧で、 認めていると解釈できなくもありませんが、 HTML Standard は禁止しています。

歴史

HTML

[3] HTML互換性大文字・小文字不区別な比較が使われるのは、

... の2箇所だけで、他はすべてASCII大文字・小文字比較を使っています。

[4] この2箇所でだけ互換性大文字・小文字不区別が使われているのは、既存の実装および文書との互換性を保つために必要と判断されたからです。ただし、WinIE 等の既存の実装による大文字小文字の同一視は必ずしも互換性大文字・小文字不区別と一緒ではありません。 ただ、新たに WinIE の挙動をリバースエンジニアリングして新しい仕様を作る必要が認められるほどには互換性の問題は深刻ではなく、Unicode が規定する一致演算で十分としているようです。

[10] 、実態を調査した結果不要であることが判明したとして、 大文字と小文字を区別する比較に改められました。