From: Matthias Kramm Date: Thu, 6 Aug 2009 07:50:33 +0000 (+0200) Subject: Merge branch 'master' of kramm@git.swftools.org:/home/git/swftools-internal X-Git-Tag: version-0-9-1~319 X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=68ee0262b3e9b0523c1390bb6b70471937885619;hp=fe451fc0f568e240d446584774b86dbb0feaf768;p=swftools.git Merge branch 'master' of kramm@git.swftools.org:/home/git/swftools-internal --- diff --git a/lib/devices/polyops.c b/lib/devices/polyops.c index 416797c..9893d1d 100644 --- a/lib/devices/polyops.c +++ b/lib/devices/polyops.c @@ -305,6 +305,9 @@ void polyops_drawchar(struct _gfxdevice*dev, gfxfont_t*font, int glyphnr, gfxcol if(i->clip && i->clip->poly) { gfxbbox_t bbox = gfxline_getbbox(glyph); gfxpoly_t*dummybox = gfxpoly_createbox(bbox.xmin,bbox.ymin,bbox.xmax,bbox.ymax, DEFAULT_GRID); + gfxline_t*dummybox2 = gfxline_from_gfxpoly(dummybox); + bbox = gfxline_getbbox(dummybox2); + gfxline_free(dummybox2); char ok=0; gfxline_t*gfxline = handle_poly(dev, dummybox, &ok); @@ -313,8 +316,8 @@ void polyops_drawchar(struct _gfxdevice*dev, gfxfont_t*font, int glyphnr, gfxcol double w = bbox2.xmax - bbox2.xmin; double h = bbox2.ymax - bbox2.ymin; if(w < 0.001 || h < 0.001) /* character was clipped completely */ { - } else if(fabs((bbox.xmax - bbox.xmin) - w) > 0.05 || - fabs((bbox.ymax - bbox.ymin) - h) > 0.05) { + } else if(fabs((bbox.xmax - bbox.xmin) - w) > DEFAULT_GRID*2 || + fabs((bbox.ymax - bbox.ymin) - h) > DEFAULT_GRID*2) { /* notable change in character size: character was clipped TODO: how to deal with diagonal cuts? */