ports/97559: py24-freetype is broken with CJK unicode.
Aho K.F.Li
thinker at branda.to
Sun May 21 14:20:19 UTC 2006
>Number: 97559
>Category: ports
>Synopsis: py24-freetype is broken with CJK unicode.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun May 21 14:20:16 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Aho K.F. Li
>Release: FreeBSD 5.2-CURRENT i386
>Organization:
thinker at branda.to
>Environment:
System: FreeBSD heaven 5.2-CURRENT FreeBSD 5.2-CURRENT #4: Thu May 13 22:51:48 CST 2004 root at heaven:/usr/src/sys/i386/compile/heaven i386
>Description:
py-freetype is broken when call TT_Char_Index() with charcode bigger
than 0x8000. Freetype thinks charcode as a unsigned short type, but
py-freetype parses it as signed short type. Since charcode that bigger
than 0x8000 is out of range of unsigned short, it triger a overflow
exception that should not happen.
>How-To-Repeat:
invoke PyFT.TT_Char_Index() with charcode that bigger than 0x8000.
>Fix:
apply following patch.
--- patch-freetype_wrap.c begins here ---
--- freetype_wrap.c.orig Sun May 21 15:32:10 2006
+++ freetype_wrap.c Sun May 21 15:32:36 2006
@@ -3410,7 +3410,7 @@
PyObject * _argo0 = 0;
self = self;
- if(!PyArg_ParseTuple(args,"Oh:TT_Char_Index",&_argo0,&_arg1))
+ if(!PyArg_ParseTuple(args,"OH:TT_Char_Index",&_argo0,&_arg1))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
--- patch-freetype_wrap.c ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list