On Saturday, 11 January 2014 at 12:47:12 UTC, Michel Fortin wrote:
On 2014-01-11 07:50:54 +0000, "Brad Anderson" <[email protected]>
said:
1. They have case-insensitive versions of pretty much
everything.
It's not hard to do a map!toLower/toUpper in D but it's also
not
obvious (nor do I know if that's actually correct in languages
outside of english).
Uppercase, lowercase, and case-insensitive comparison is
locale-dependent for Unicode. In the general case you can't
just compare the lowercase/uppercase versions. For instance,
look at the Turkish i/İ and ı/I (dot-less i), or the German
ß/SS ss/SS pairs. Also, if you're sorting in alphabetical order
you probably want to do something special with diacritics.
The correct way to to this is to implement the Unicode
Collation Algorithm:
http://www.unicode.org/reports/tr10/
I thought it was probably more complicated than that.
Looks like Dmitry put it in the tracker:
http://d.puremagic.com/issues/show_bug.cgi?id=10566