diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2021-02-16 22:35:57 -0800 |
---|---|---|
committer | Michael Vrhel <michael.vrhel@artifex.com> | 2021-02-17 10:12:55 -0800 |
commit | 7a3df79b2b0e0725753a0eac84fb205341cc9fed (patch) | |
tree | 28c7d75e568dd001a08068b2294e4a4bab037234 /xps/xpstop.c | |
parent | 66200b6fafe8b4de6fd11d1b38ccb85eb3d37d83 (diff) | |
download | ghostpdl-7a3df79b2b0e0725753a0eac84fb205341cc9fed.tar.gz |
Bug 703404: XPS to pdfwrite patterns
Patterns that are filled with glyphs and then subsequently
filled with another pattern (Visual brush in XPS) was not
working when going to pdfwrite due to the fact that
gs_text_begin gets called by the XPS interpreter
before we have finished the pattern fill of the glyph.
This ends up referencing the pattern that is not done
which ends badly for high level patterns. Instead
if we are already in a high level pattern, set the color
to just a gray. Then after the gs_text_begin, the XPS
interpreter sets the brush to the visual brush which is
subsequently collected. Fixing this, has revealed another
XPS to PDF bug where we are not doing shading fills of glyphs
correctly (at least when dealing with patterns).
Diffstat (limited to 'xps/xpstop.c')
-rw-r--r-- | xps/xpstop.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xps/xpstop.c b/xps/xpstop.c index 5c0c335d1..e3b949beb 100644 --- a/xps/xpstop.c +++ b/xps/xpstop.c @@ -142,6 +142,7 @@ xps_impl_allocate_interp_instance(pl_interp_implementation_t *impl, ctx->file = NULL; ctx->zip_count = 0; ctx->zip_table = NULL; + ctx->in_high_level_pattern = false; /* Gray, RGB and CMYK profiles set when color spaces installed in graphics lib */ ctx->gray_lin = gs_cspace_new_ICC(ctx->memory, ctx->pgs, -1); |