Files
semi-libc/src/ctype
Rich Felker 4674809bdf fix case mapping for U+00DF (ß)
U+00DF ('ß') has had an uppercase form (U+1E9E) available since
Unicode 5.1, but Unicode lacks the case mappings for it due to
stability policy. when I added support for the new character in commit
1a63a9fc30, I omitted the mapping in the
lowercase-to-uppercase direction. this choice was not based on any
actual information, only assumptions.

this commit adds bidirectional case mappings between U+00DF and
U+1E9E, and removes the special-case hack that allowed U+00DF to be
identified as lowecase despite lacking a mapping. aside from strong
evidence that this is the "right" behavior for real-world usage of
these characters, several factors informed this decision:

- the other "potentially correct" mapping, to "SS", is not
  representable in the C case-mapping system anyway.

- leaving one letter in lowercase form when transforming a string to
  uppercase is obviously wrong.

- having a character which is nominally lowercase but which is fixed
  under case mapping violates reasonable invariants.
2014-09-05 03:28:00 -04:00
..
2011-02-12 00:22:29 -05:00
2014-09-05 03:28:00 -04:00
2011-02-12 00:22:29 -05:00
2014-09-05 03:28:00 -04:00
2011-02-12 00:22:29 -05:00
2013-02-02 03:19:25 +01:00
2012-06-20 15:22:03 -04:00