summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gs/base/gxiscale.c16
-rw-r--r--gs/base/lib.mak2
2 files changed, 15 insertions, 3 deletions
diff --git a/gs/base/gxiscale.c b/gs/base/gxiscale.c
index 5720a0d39..3c15ba312 100644
--- a/gs/base/gxiscale.c
+++ b/gs/base/gxiscale.c
@@ -43,6 +43,7 @@
43#include "gscspace.h" /* Needed for checking is space is CIE */ 43#include "gscspace.h" /* Needed for checking is space is CIE */
44#include "gsicc_cache.h" 44#include "gsicc_cache.h"
45#include "gsicc_manage.h" 45#include "gsicc_manage.h"
46#include "gsicc.h"
46 47
47static void 48static void
48decode_sample_frac_to_float(gx_image_enum *penum, frac sample_value, gs_client_color *cc, int i); 49decode_sample_frac_to_float(gx_image_enum *penum, frac sample_value, gs_client_color *cc, int i);
@@ -712,8 +713,19 @@ image_render_interpolate(gx_image_enum * penum, const byte * buffer,
712 decode_sample_frac_to_float(penum, psrc[j], &cc, j); 713 decode_sample_frac_to_float(penum, psrc[j], &cc, j);
713 } 714 }
714 } 715 }
715 code = (pactual_cs->type->remap_color) 716 /* If the source colors are LAB then use the mapping
716 (&cc, pactual_cs, &devc, pis, dev, gs_color_select_source); 717 that does not rescale the source colors */
718 if (gs_color_space_is_ICC(pactual_cs) &&
719 pactual_cs->cmm_icc_profile_data != NULL &&
720 pactual_cs->cmm_icc_profile_data->islab) {
721 code = gx_remap_ICC_imagelab (&cc, pactual_cs, &devc,
722 pis, dev,
723 gs_color_select_source);
724 } else {
725 code = (pactual_cs->type->remap_color)
726 (&cc, pactual_cs, &devc, pis, dev,
727 gs_color_select_source);
728 }
717 } 729 }
718 if (code < 0) 730 if (code < 0)
719 return code; 731 return code;
diff --git a/gs/base/lib.mak b/gs/base/lib.mak
index abb7b853d..b2fcd10e0 100644
--- a/gs/base/lib.mak
+++ b/gs/base/lib.mak
@@ -2590,7 +2590,7 @@ $(GLOBJ)gxiscale.$(OBJ) : $(GLSRC)gxiscale.c $(AK) $(gx_h)\
2590 $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\ 2590 $(gxdevmem_h) $(gxfixed_h) $(gxfrac_h) $(gximage_h) $(gxistate_h)\
2591 $(gxmatrix_h) $(siinterp_h) $(siscale_h) $(stream_h) $(vdtrace_h)\ 2591 $(gxmatrix_h) $(siinterp_h) $(siscale_h) $(stream_h) $(vdtrace_h)\
2592 $(gscindex_h) $(gxcolor2_h) $(gscspace_h) $(gsicc_cache_h)\ 2592 $(gscindex_h) $(gxcolor2_h) $(gscspace_h) $(gsicc_cache_h)\
2593 $(gsicc_manage_h) $(MAKEDIRS) 2593 $(gsicc_manage_h) $(gsicc_h) $(MAKEDIRS)
2594 $(GLCC) $(GLO_)gxiscale.$(OBJ) $(C_) $(GLSRC)gxiscale.c 2594 $(GLCC) $(GLO_)gxiscale.$(OBJ) $(C_) $(GLSRC)gxiscale.c
2595 2595
2596# ---------------- Display Postscript / Level 2 support ---------------- # 2596# ---------------- Display Postscript / Level 2 support ---------------- #