On Thu, 03 Apr 2008 17:43:38 -0700, Carl Worth wrote: > /Td { moveto } bind def > /Tj { show } bind def ... > I'll probably have to do some more specification reading before I can > be of any more help here, (unless Adrian has the bug fixed before I > get around to that).
Which of course, he did (see below). Many thanks, Adrian! -Carl PS. The original assertion failure doesn't seem to exist on 1.5.x now, and we've added guards to make sure it should instead report an out-of-memory error even if some bogus font data is provided. So, from a mainline cairo-development point of view, I think we're done here. Thanks for the report! commit e50324d3cc66df83120f908845657382e0020868 Author: Adrian Johnson <[EMAIL PROTECTED]> Date: Fri Apr 4 19:21:40 2008 +1030 PS: Fix emulation of 'Td' pdf operator diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index e78e247..54f5afe 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -183,7 +183,8 @@ _cairo_ps_surface_emit_header (cairo_ps_surface_t *surface) " { show } { -0.001 mul 0 cairo_font_matrix dtr " } forall\n" "} bind def\n" - "/Td { moveto } bind def\n" + "/Td { matrix translate cairo_font_matrix matrix c + " /cairo_font_matrix exch def cairo_font exch se "/Tm { 6 array astore dup /cairo_font_matrix exch " cairo_font exch selectfont 0 0 moveto } bin "/g { setgray } bind def\n"
pgpWm5Lr2qyWR.pgp
Description: PGP signature