[issue5791] title information of unicodedata is wrong in some cases

Carl Friedrich Bolz report at bugs.python.org
Sun Apr 19 12:57:48 CEST 2009


New submission from Carl Friedrich Bolz <cfbolz at gmx.de>:

There seems to be a problem with some unicode character's title information:

$ python2.6
Python 2.6.2c1 (release26-maint, Apr 14 2009, 08:02:48)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> unichr(453)
u'\u01c5'
>>> unichr(453).title()
u'\u01c4'

But the title should return the same character, according to this:

http://www.fileformat.info/info/unicode/char/01c5/index.htm

(I also checked the files that unicode.org provides). I tried to follow
the problem a bit, it seems to come from _PyUnicode_ToTitlecase in
unicodetype.c. The unicode record contains the offset of the character
to its titled version. If the character is its own titled version, then
the offset is zero. But zero is also used for when there is no
information available, so the offset to the upper-case version of the
character is used. If this is a different character (as for the example
above), the result of .title() is wrong.

----------
components: Interpreter Core
messages: 86163
nosy: cfbolz
severity: normal
status: open
title: title information of unicodedata is wrong in some cases
type: behavior
versions: Python 2.4, Python 2.5, Python 2.6, Python 3.0

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5791>
_______________________________________


More information about the Python-bugs-list mailing list