On Thu, 03 Apr 2008 11:22:30 -0700, Carl Worth wrote: > On Thu, 03 Apr 2008 11:09:21 -0700, Carl Worth wrote: > > Meanwhile, there's an independent bug that's perhaps even more > > concerning. Namely, with cairo 1.5.16 (or current git master), the > > results of running fntsample are totally wrong, (with the large glyphs > > all misplaced by a consistent offset). The incorrect output can be > > seen here: ... > But I'm definitely still flailing blindly here. > > Quick, Adrian, come save me.
And he did, too! Here's the fix that's in cairo now. So this will go out into the next snapshot (if there is one) or into the cairo 1.6.0 release. And Chris's fixes should make it so that cairo (again as of the next 1.5.x snapshot or the 1.6.0 release) no longer presents an assertion failure in the cases that we've seen here. It may still be that there's a totally bogus font here. And if so, cairo will start reporting an out-of-memory error rather than asserting. So that underlying bug should still be investigated and fixed wherever it is. But I'm quite glad to see the glpyh-positioning bug fixed. So many thanks for the report. -Carl commit f6509933a4e0abde3b7bca861f65e433b7e8dcf0 Author: Adrian Johnson <[EMAIL PROTECTED]> Date: Fri Apr 4 08:41:08 2008 +1030 PDF: Fix glyph positioning bug diff --git a/src/cairo-pdf-operators.c b/src/cairo-pdf-operators.c index 1dbb08c..1198b4e 100644 --- a/src/cairo-pdf-operators.c +++ b/src/cairo-pdf-operators.c @@ -946,7 +946,7 @@ _cairo_pdf_operators_show_glyphs (cairo_pdf_operators_t _cairo_output_stream_printf (word_wrap_stream, "%f %f Td ", (glyphs[i].x - Tlm_x)/scaled_ - (glyphs[i].y - Tlm_y)/-scaled + (glyphs[i].y - Tlm_y)/scaled_ Tlm_x = glyphs[i].x; Tlm_y = glyphs[i].y; Tm_x = Tlm_x;
pgp3P1GtXcWRE.pgp
Description: PGP signature