Message25187
Logged In: YES
user_id=858447
No, im not. These rules defined in
http://www.unicode.org/Public/UNIDATA/CaseFolding.txt and
http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt.
Note that there is a comments says;
# T: special case for uppercase I and dotted uppercase I
# - For non-Turkic languages, this mapping is normally
not used.
# - For Turkic languages (tr, az), this mapping can be
used instead of the normal mapping for these characters.
# Note that the Turkic mappings do not maintain
canonical equivalence without additional processing.
# See the discussions of case mapping in the Unicode
Standard for more information.
So without wctype functions support, python can't convert
these. This _is_ the problem. As a side effect of this,
another huge problem occurs, keywords can't be locale
dependent. If Python compiled with wctype support functions,
all "i".upper() turns into "0" which is wrong for keyword
comparision ( like quit v.s QU0T )
So i suggest implement two new functions like
localeAwareLower()/localeAwareUpper() for python and let
lower()/upper() locale independent. And as you wrote locale
module may be a perfect home for these :)
|
|
Date |
User |
Action |
Args |
2007-08-23 14:31:23 | admin | link | issue1193061 messages |
2007-08-23 14:31:23 | admin | create | |
|