diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2020-11-14 18:26:21 -0800 |
---|---|---|
committer | Michael Vrhel <michael.vrhel@artifex.com> | 2021-02-05 22:27:23 -0800 |
commit | 813b5f48e845d528d3070d9168aa51035a614c1c (patch) | |
tree | 538e0f4d2edbeab31c8b1ea982de44d617868128 /base/gxcldev.h | |
parent | 0bd6877f480a84657696a80adc13f9c5485dd996 (diff) | |
download | ghostpdl-813b5f48e845d528d3070d9168aa51035a614c1c.tar.gz |
Bug 695925: Implement overprint simulation for all devices
This adds the capability to simulate overprint including that of
spot colors for all devices including gray and RGB devices. This
is achieved by having the PDF interpreter look if overprint
is present, the seting of -dOverprint (/simulate /enable /disable),
if the page has transparency, and if the page has spot colors. Depending upon
the color model of the device, and if transparency is present,
a special push of the pdf14 device may occur. The pdf14 device
buffer collects the data in a CMYK or CMYK+spots buffer and the
put_image method in the pdf14 device will map the buffer to
the target device color space. The code was tested with
devices that support and do not support spot colors, those that
support and do not support alpha channels, tag based devices,
gray, RGB, and CMYK devices. A special test file to check
multiple cases was added to the regression suite. By default
-dOverprint is set to /enable, which should result in the existing
behavior where by RGB and Gray devices do no show overprint or spot
colors and CMYK devices will handle CMYK overprinting and separation
devices will show spots and overprint of all colorants. With
-dOverprint set to /disable no device will show overprinting. With
-dOverprint set to /simulate all devices will show overprint and
spot colors. Ray Johnston did the work in the interpreter as
well as the device parameter default setup. I did the pdf14 device
changes and testing. Changes in a variety of locations were required
due to the fact that new combinations were encountered, for example
we had cases where devn colors were being used with a device that
supports tags (bitrgbtags device and pdf14 compositor setup for CMYK+spots).
One file:
tests_private/xps/xpsfts-a4/fts_34xx.xps.pdf ppmraw 72 now produces
an error. This file should have been throwing an error all
along but was being quietly swallowed. Acrobat will not open
the created pdf file and throws and error. I will open a bug
for the issue as it is a problem with the XPS interpreter.
Diffstat (limited to 'base/gxcldev.h')
-rw-r--r-- | base/gxcldev.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/base/gxcldev.h b/base/gxcldev.h index 621dca445..8d632e702 100644 --- a/base/gxcldev.h +++ b/base/gxcldev.h @@ -689,6 +689,8 @@ int clist_writer_pop_cropping(gx_device_clist_writer *cdev); int clist_writer_check_empty_cropping_stack(gx_device_clist_writer *cdev); int clist_read_icctable(gx_device_clist_reader *crdev); int clist_read_color_usage_array(gx_device_clist_reader *crdev); +int clist_read_op_equiv_cmyk_colors(gx_device_clist_reader *crdev, + equivalent_cmyk_color_params *op_equiv); /* Special write out for the serialized icc profile table */ @@ -699,9 +701,9 @@ int cmd_write_icctable(gx_device_clist_writer * cldev, unsigned char *pbuf, int may later include compressed image data */ typedef enum { - COLOR_USAGE_OFFSET = 1, - ICC_TABLE_OFFSET = 2 + SPOT_EQUIV_COLORS = 2, + ICC_TABLE_OFFSET = 3 } psuedoband_offset; |