/*
- * "$Id: image-colorspace.c,v 1.31 2003/01/24 20:39:42 mike Exp $"
+ * "$Id: image-colorspace.c,v 1.32 2003/02/05 03:10:20 mike Exp $"
*
* Colorspace conversions for the Common UNIX Printing System (CUPS).
*
*out++ = *in;
*out++ = *in++;
- if (ImageColorSpace == CUPS_CSPACE_CIELab)
+ if (ImageColorSpace >= CUPS_CSPACE_CIELab)
rgb_to_lab(out - 3);
- else if (ImageColorSpace >= CUPS_CSPACE_CIEXYZ)
+ else if (ImageColorSpace == CUPS_CSPACE_CIEXYZ)
rgb_to_xyz(out - 3);
count --;
{
while (count > 0)
{
- if (ImageColorSpace == CUPS_CSPACE_CIELab)
+ if (ImageColorSpace >= CUPS_CSPACE_CIELab)
rgb_to_lab(out);
else
rgb_to_xyz(out);
else
*out++ = 0;
- if (ImageColorSpace == CUPS_CSPACE_CIELab)
+ if (ImageColorSpace >= CUPS_CSPACE_CIELab)
rgb_to_lab(out - 3);
- else if (ImageColorSpace >= CUPS_CSPACE_CIEXYZ)
+ else if (ImageColorSpace == CUPS_CSPACE_CIEXYZ)
rgb_to_xyz(out - 3);
count --;
/*
- * End of "$Id: image-colorspace.c,v 1.31 2003/01/24 20:39:42 mike Exp $".
+ * End of "$Id: image-colorspace.c,v 1.32 2003/02/05 03:10:20 mike Exp $".
*/
/*
- * "$Id: imagetoraster.c,v 1.69 2002/12/17 18:59:28 swdev Exp $"
+ * "$Id: imagetoraster.c,v 1.70 2003/02/05 03:10:20 mike Exp $"
*
* Image file to raster filter for the Common UNIX Printing System (CUPS).
*
primary = IMAGE_RGB;
secondary = IMAGE_RGB;
+ /*
+ * Ensure that colorimetric colorspaces use at least 8 bits per
+ * component...
+ */
+
+ if (header.cupsColorSpace >= CUPS_CSPACE_CIEXYZ &&
+ header.cupsBitsPerColor < 8)
+ header.cupsBitsPerColor = 8;
+
if (header.cupsColorOrder == CUPS_ORDER_CHUNKED)
{
if (header.cupsBitsPerColor >= 8)
/*
- * End of "$Id: imagetoraster.c,v 1.69 2002/12/17 18:59:28 swdev Exp $".
+ * End of "$Id: imagetoraster.c,v 1.70 2003/02/05 03:10:20 mike Exp $".
*/
/*
- * "$Id: gdevcups.c,v 1.60 2003/01/07 16:54:32 mike Exp $"
+ * "$Id: gdevcups.c,v 1.61 2003/02/05 03:10:21 mike Exp $"
*
* GNU Ghostscript raster output driver for the Common UNIX Printing
* System (CUPS).
ciey = 0.212671 * rr + 0.715160 * rg + 0.072169 * rb;
ciez = 0.019334 * rr + 0.119193 * rg + 0.950227 * rb;
- if (cups->header.cupsColorSpace != CUPS_CSPACE_CIELab)
+ if (cups->header.cupsColorSpace == CUPS_CSPACE_CIEXYZ)
{
/*
* Convert to an integer XYZ color value...
if (cups->header.cupsColorOrder != CUPS_ORDER_CHUNKED)
cups->header.cupsBitsPerPixel = cups->header.cupsBitsPerColor;
else
- {
- if (cups->header.cupsColorSpace < CUPS_CSPACE_ICC1)
- cups->header.cupsBitsPerPixel = 3 * cups->header.cupsBitsPerColor;
- else
- cups->header.cupsBitsPerPixel =
- (cups->header.cupsColorSpace - CUPS_CSPACE_ICC1 + 1) *
- cups->header.cupsBitsPerColor;
- }
+ cups->header.cupsBitsPerPixel = 3 * cups->header.cupsBitsPerColor;
cups->color_info.depth = 24;
cups->color_info.num_components = 3;
/*
- * End of "$Id: gdevcups.c,v 1.60 2003/01/07 16:54:32 mike Exp $".
+ * End of "$Id: gdevcups.c,v 1.61 2003/02/05 03:10:21 mike Exp $".
*/