diff options
author | Henry Stiles <henry.stiles@artifex.com> | 2010-05-13 03:25:44 +0000 |
---|---|---|
committer | Henry Stiles <henry.stiles@artifex.com> | 2010-05-13 03:25:44 +0000 |
commit | d5545b24ea7d84d676d44d9a561f40a29221b377 (patch) | |
tree | 4f866d885a5c0c8221023af9ec7cb30d40d58e7e /pxl | |
parent | b8215a537e950b949374e3ef426ad014f3c7858b (diff) |
Fixes bug #690877, update the PXL default fill algorithm to use
any-part-of-pixel not center-of-pixel. Unfortunately we expect
differences in most the pxl test files with this change.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11231 a1074d23-0009-0410-80fe-cf8c14f379e6
Diffstat (limited to 'pxl')
-rw-r--r-- | pxl/pxgstate.c | 3 | ||||
-rw-r--r-- | pxl/pxpaint.c | 17 |
2 files changed, 1 insertions, 19 deletions
diff --git a/pxl/pxgstate.c b/pxl/pxgstate.c index 2255141d5..fcbca0669 100644 --- a/pxl/pxgstate.c +++ b/pxl/pxgstate.c @@ -247,8 +247,7 @@ px_initgraphics(px_state_t *pxs) px_gstate_reset(pxs->pxgs); gs_initgraphics(pgs); - /* PCL XL uses the center-of-pixel rule. */ - gs_setfilladjust(pgs, 0.0, 0.0); + gs_setfilladjust(pgs, 0.5, 0.5); { gs_point inch; float dpi; diff --git a/pxl/pxpaint.c b/pxl/pxpaint.c index c233696d7..b70188e08 100644 --- a/pxl/pxpaint.c +++ b/pxl/pxpaint.c @@ -442,22 +442,6 @@ paint_path(px_state_t *pxs, bool reset) need_restore_rop = true; } pxs->have_page = true; - /* - * The H-P printers thicken very thin strokes slightly. - * We do the same here. - */ - { - float width = gs_currentlinewidth(pgs); - gs_matrix mat; - float sx, sy; - - gs_currentmatrix(pgs, &mat); - sx = fabs(mat.xx) + fabs(mat.xy); - sy = fabs(mat.yx) + fabs(mat.yy); - width *= min(sx, sy); - if ( width < 5 ) - gs_setfilladjust(pgs, 0.5, 0.5); - } if ( (code = px_set_paint(&pxgs->pen, pxs)) < 0 || (code = gs_stroke(pgs)) < 0 ) @@ -466,7 +450,6 @@ paint_path(px_state_t *pxs, bool reset) gs_setrasterop(pgs, save_rop); gs_settexturetransparent(pgs, save_transparent); } - gs_setfilladjust(pgs, 0.0, 0.0); } rx: if ( save_path ) { gx_path_assign_free(ppath, save_path); /* path without a Current point! */ |