3 ms·
Yet, for example, it distinguishes upper and lower case versions iota[1] from "upper case i" and "lower case dotless i". A similar provision could have been mad
by nanis 4y ago
Yet, for example, it distinguishes upper and lower case versions iota[1] from "upper case i" and "lower case dotless i". A similar provision could have been made for upper and lower case versions of "Turkish dotless i" and "Turkish dotted i". But it wasn't.
That means "ι".upper().lower() produces "ι" but "ı".upper().lower() produces "i" (unless you do it on a computer set to a Turkish locale:
>>> "ι".upper().lower()
'ι'
>>> "ı".upper().lower()
'i'
Note we have:
LATIN CAPITAL LETTER IOTA
LATIN SMALL LETTER IOTA
GREEK CAPITAL LETTER IOTA
GREEK SMALL LETTER IOTA
MODIFIER LETTER SMALL IOTA
TURNED GREEK SMALL LETTER IOTA
CYRILLIC CAPITAL LETTER IOTA
CYRILLIC SMALL LETTER IOTA
APL FUNCTIONAL SYMBOL IOTA
MATHEMATICAL CAPITAL IOTA
MATHEMATICAL BOLD SMALL IOTA
MATHEMATICAL ITALIC CAPITAL IOTA
MATHEMATICAL ITALIC SMALL IOTA
MATHEMATICAL BOLD ITALIC CAPITAL IOTA
MATHEMATICAL BOLD ITALIC SMALL IOTA
MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
That's lotta iotas[1]. There's more[2]:
GREEK SMALL LETTER IOTA WITH DASIA
GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
...
The point is that almost all of these variations on the theme with explicit duplicates get their upper and lower case distinct codepoints, yet "lower case Turkish dotted i" needs to for some reason map to 0x69 in ASCII and "upper case Turkish dotless i" needs to map to 0x49 ASCII.
It is stupid and directly contradicts the statement:
> The Unicode Standard provides a unique number for every character, no matter what platform, device, application or language.[3]
The statement on the Unicode.org web site cannot be attributed to ignorance.
[1]: https://en.wikipedia.org/wiki/Iota https://en.wikipedia.org/wiki/Iota
[2]: https://www.unicode.org/charts/PDF/U1F00.pdf https://www.unicode.org/charts/PDF/U1F00.pdf
[3]: https://unicode.org/standard/WhatIsUnicode.html https://unicode.org/standard/WhatIsUnicode.html