[cairo] Error when creating pdf charts for new FreeSerifItalic.ttf

Carl Worth cworth at cworth.org
Thu Apr 3 15:28:04 PDT 2008


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 <ajohnson at redneon.com>
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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo/attachments/20080403/0ddaf669/attachment.pgp 


More information about the cairo mailing list