[gs-bugs] [Bug 691870] Difference in banded versus banded rendering

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Wed Feb 23 20:21:23 UTC 2011


http://bugs.ghostscript.com/show_bug.cgi?id=691870

--- Comment #2 from Henry Stiles <henry.stiles at artifex.com> 2011-02-23 20:21:22 UTC ---
Below is a "fix" for the problem.  As it turns out the non-banding code never
installs the ICC procedures, the high level image code does this for all
images, so banding used icc and non banding used device rgb.  Is I read the ICC
code it would probably complete the initialization of the color space if
"setcolorspace" were called.  PCL and XL can't do that for image color spaces. 

As I said before,  this business of initializing the color space members here
is not ideal. Perhaps the routines gx_install_Device[Gray|RGB]and friends could
could be made public and we could call those routines from this code, I believe
that would set all the colorspace members we need.

Index: pxgstate.c
===================================================================
--- pxgstate.c    (revision 12196)
+++ pxgstate.c    (working copy)
@@ -28,6 +28,7 @@
 #include "gscoord.h"
 #include "gxcspace.h"            /* must precede gscolor2.h */
 #include "gscie.h"
+#include "gsicc.h"
 #include "gsicc_manage.h"
 #include "gsimage.h"
 #include "gspath.h"
@@ -333,6 +334,7 @@
     pbase_pcs = gs_cspace_new_DeviceGray(pgs->memory);
 #ifdef ICCBRANCH
         pbase_pcs->cmm_icc_profile_data = pgs->icc_manager->default_gray;
+        pbase_pcs->type = &gs_color_space_type_ICC;
         rc_increment(pbase_pcs->cmm_icc_profile_data);
 #endif
     break;
@@ -340,6 +342,7 @@
         pbase_pcs = gs_cspace_new_DeviceRGB(pgs->memory);
 #ifdef ICCBRANCH
         pbase_pcs->cmm_icc_profile_data = pgs->icc_manager->default_rgb;
+        pbase_pcs->type = &gs_color_space_type_ICC;
         rc_increment(pbase_pcs->cmm_icc_profile_data);
 #endif
         break;
@@ -351,6 +354,7 @@
         cie_space = true;
 #ifdef ICCBRANCH
         pbase_pcs->cmm_icc_profile_data = pgs->icc_manager->default_rgb;
+        pbase_pcs->type = &gs_color_space_type_ICC;
         rc_increment(pbase_pcs->cmm_icc_profile_data);
 #endif
     break;

-- 
Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the gs-bugs mailing list