Re: Fix for 687534 Unable to determine equivalent CMYKfor spot colors that are only used with overprint

"Igor V. Melichev" <[email protected]> Wed, 23 Jun 2004 12:16:43 +0400
Newsgroups gmane.comp.printing.ghostscript.patches
Message-ID <[email protected]>
Dan,

I have one objection :

+#define dev_t_proc_update_spot_equivalent_colors(proc, dev_t)\
+  void proc(dev_t *dev, const gs_state * pgs)

The return type 'void' isn't safe, because
some implementations will write to the output file
and may fail with an IO error.

> The high level drawing handlers in the
> psdcmyk devices were removed

This closes the recent discussion about them.

Igor.

----- Original Message ----- 
From: "Dan Coby" <[email protected]>
To: "Gs-Code-Review" <[email protected]>
Sent: Wednesday, June 23, 2004 10:47 AM
Subject: [gs-code-review] Fix for 687534 Unable to determine equivalent CMYKfor spot colors that are only used with overprint


>
> Fix for 687534 Unable to determine equivalent CMYK for spot colors
> that are only used with overprint.
>
> DETAILS:
>
> The given test file uses spot colors.  However the psdcmyk device
> was creating output files which did not contain equivalent CMYK
> colors for the spot colors.  The cause was that the previous
> version of the logic was capturing the equivalent CMYK colors
> when the psdcmyk device's high drawing procs were called.  However
> if overprinting is enabled, then the overprint device was inserting
> its own versions of these routines.  Since it only took one call
> to a high level drawing handler, the previous logic would capture
> the equivalent CMYK colors if there were any drawing operations
> with a spot color that did not have overprinting enabled.
>
> The fix consists of moving the capturing of the equivalent CMYK
> colors to a new device proc.  This new device proc is called
> update_spot_equivalent_colors.  This device proc is called whenever
> a Separation or a DeviceN color space is installed.
>
> The default version of the proc does nothing.  Thus there is only
> a small amount of overhead added for the installation of Separation
> and DeviceN color spaces for devices which do not need the equivalent
> CMYK colors for spot colors.
>
> Most of the change consists of the standard details of adding a
> new device proc.  There are several places that have to be updated
> when this is done.  The documentation in doc/Drivers.htm was updated
> to include this new proc.  The high level drawing handlers in the
> psdcmyk devices were removed and a new psd_update_spot_equivalent_colors
> procedure was added.  Some minor changes were made in the logic in
> gsequivc.c since it is no longer necessary to scan through base and
> alternate color spaces looking for Separation and DeviceN color spaces.
> The comments at the beginning of gsequivc.c was changed to reflect
> the changes in the logic for capturing equivalent CMYK colors for
> spot colors.
>
>
> Dan
>
>


--------------------------------------------------------------------------------


> _______________________________________________
> gs-code-review mailing list
> [email protected]
> http://www.ghostscript.com/mailman/listinfo/gs-code-review
>