On Mon, Mar 06, 2006 at 01:01:28AM -0800, Steve Langasek wrote: > On Sun, Mar 05, 2006 at 11:26:52PM -0800, Steve Langasek wrote: > > - gimp segfaults in pango_fc_font_create_metrics_for_context(); this version > > of pango is built against freetype 2.1.10, but it's pango 1.10.3 and that > > was reported to be new enough that it no longer uses the freetype internal > > APIs?
> Follow-up on this one: the segfault happens even if libfontconfig1 and > libpango1.0-0 are both rebuilt against freetype 2.2rc4 (using the fontconfig > 2.3.2 patch from > http://www.freetype.org/freetype2/patches/rogue-patches.html). > Score! > Still digging into it, but it evidently isn't just an issue of ABI skew > between 2.1.7 and 2.2rc4. Aaaaaaand here we go with a patch. This proved to be an issue with accidentally requesting allocation of a zero-element array in sfnt/ttmtx.c; given that there is code directly above this point that explicitly handles the case of an empty set of short metrics, I can only assume this was an oversight, which is corrected by the attached diff. Turns out this was the problem with both gnustep and gimp on my system, as both were trying to load the same font (BitStream Vera) with metrics that triggered this problem. So at this point, 2.2rc4 looks pretty good in terms of compatibility with both Debian sarge (2.1.7) and etch (2.1.10). Unfortunately, I do have to report that there seems to be a substantial difference in the rendering of fonts relative to 2.1.7/2.1.10, with the default fonts (i.e., BitStream Vera) now being rendered much wider than before. I haven't looked at them side-by-side yet to figure out exactly what the difference is; perhaps this is an intentional change, but to me it looks like a regression... Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
Index: src/sfnt/ttmtx.c =================================================================== RCS file: /sources/freetype/freetype2/src/sfnt/ttmtx.c,v retrieving revision 1.11 diff -u -r1.11 ttmtx.c --- src/sfnt/ttmtx.c 22 Feb 2006 08:23:35 -0000 1.11 +++ src/sfnt/ttmtx.c 6 Mar 2006 11:27:30 -0000 @@ -169,7 +169,7 @@ } if ( FT_QNEW_ARRAY( *longs, num_longs ) || - FT_QNEW_ARRAY( *shorts, num_shorts ) ) + (num_shorts > 0 && FT_QNEW_ARRAY( *shorts, num_shorts ) ) ) goto Fail; if ( FT_FRAME_ENTER( table_len ) )
signature.asc
Description: Digital signature
_______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel