Python [ 2.3.x series ] can handle wide chars, but current ebuilds not use this functions properly. For example in tr_TR.UTF-8 locale, upper case of "i" is differ than "I" ( correct one is I WITH THE DOT ABOVE ), and lower case of "I" is differ than "i" ( correct one is LATIN SMALL LETTER DOTLESS I ) but if wide char support is not enabled then python converts them into "I" and "i" respectively, which is wrong.
Maybe a local USE flag can be implemented and used in ebuild. ( Patch is written by Baris Metin <firstname.lastname@example.org> )
Created attachment 42802 [details, diff]
written by Baris Metin (email@example.com)
i'd support adding it as a default option and not underneath a useflag. we'll consider this for python-2.4
what's the status of this?
well, upon further investigation, there were soem comments about wctype causing problems for certain locales, and a proposal to remove that switch for later versions of python.
so i'm not so sure about adding this switch in now.
Because of this problem, i suggested to implement a use flag, so decision may made by user( all Turkish spoken users need this to correct case operations ). I think "unicode" flag suitable for this situation like this;
if use unicode; then
what u think?
unicode isn't a suitable flag in this case, if it is only for the turkish locale. the problems that they describe seem to be quite serious (toupper() and tolower() giving the wrong output), but i'm not sure whether it applies to the turkish locale.
i'm not quite sure what the status of linguas support is, but maybe using that to enable it would be better. the unicode is used for many other languages like chinese and japanese that don't require wctype support for normal operations.
After talked with kloeri in irc, i just send an email to python-dev to get status of wctype support in Python. As soon as they reply, ill also update here...
There was never a suitable conclusion to this. One possible solution would
probably be only enabling this for the turkish locale, but I really don't
want to do that.
REOPEN if a suitable solution can be found.