In javascript:
"ß".toUpperCase().length !== "ß".length;
Does weiss == weiß ?In javascript:
"ß".toUpperCase().length !== "ß".length;
Does weiss == weiß ?2) Ligatures (e.g. ffi as ffi) are deprecated in Unicode;
3) weiss ≠ weiß in any sense
Edit: 4) x.toUpperCase().length ≢ x.length, upcasing can change length;
5) length in JS (in 100000 other languages) count codepoints (at best), it's useful for nothing here
Yes and no. The swiss would write the former, other German speaking (writing) countries would write the latter. It is incorrect in Germany (after ie, au, eu, ... you must not write ss, unless it's a name, such as the city Neuss)
The upper case of weiß would be WEISS. But it's hard from the upper case WEISS to determine if the lower case is weiss or weiß. (This is why one should never write people's names in bibliographies in small caps.)
Technically, Unicode has a capital sharp s since 5.1.0, so we could write WEIẞ.
And I am glad that U+1E9E (LATIN CAPITAL LETTER SHARP S) is not official part of German orthography.
You need a case folding function/method to check for this.
For eg. in Perl, see the fc function - http://perldoc.perl.org/functions/fc.html
fc("weiss") eq fc("weiß"); # trueBut \u00DF appears to be a special case, as there's no uppercase for it. If I had to guess, I'd say it should return \u00DF. I mean, if I uppercase "+", do I expect something else back? Doubtful.
• Special Casing: Lowercase: 00DF [ ß ] Uppercase: 0053 0053 [ S S ] Titlecase: 0053 0073 [ S s ]
• NamesList: = Eszett • German • uppercase is "SS" • in origin a ligature of 017F and 0073 → (greek small letter beta - 03B2) → (latin capital letter sharp s - 1E9E)
(in origin a ligature of 017F and 0073 is not undisputed)
U+1E9E (LATIN CAPITAL LETTER SHARP S ẞ) is not officially allowed in German orthography • NamesList: • lowercase is 00DF → (latin small letter sharp s - 00DF) • Designated in Unicode 5.1