///|
/// Unicode default full case folding (section 3.13, R4).
/// Locale-independent: uses the C and F mappings in CaseFolding.txt, including
/// expansions such as ß -> ss. Does not normalize or apply Turkic tailoring.
pub fn case_fold(s : StringView) -> String {
let out = StringBuilder(size_hint=s.length())
for c in s {
if lookup_case_folding(c) is Some(mapping) {
out.write_string(mapping)
} else {
out.write_char(c)
}
}
out.to_string()
}