Unicode 6.2.0 introduces the notion of "Title case", making the trio of: "Lower case" => "Title case" => "Upper case" Example: 01c6 01c5 01c4 dž Dž DŽ This means that functions such as "capitalize" are wrong because they make the assumption that "Capitalize" == "Uppercase" Also, the tests such as: if(std.uni.isLower(c)) c = std.uni.toUpper(c); are wrong, as non lower case characters may have upper case representations...
Partially fixed here: https://github.com/D-Programming-Language/phobos/pull/1322 Fixes only to[Upper|Lower](InPlace). however, "capitalize" is still broken.
I don't completely understand the problem. Could you provide an example which produces a wrong output together with a note, what it should produce?
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/9979 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB