diff options
-rw-r--r-- | gs/base/gxiscale.c | 16 | ||||
-rw-r--r-- | gs/base/lib.mak | 2 |
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 | ||
47 | static void | 48 | static void |
48 | decode_sample_frac_to_float(gx_image_enum *penum, frac sample_value, gs_client_color *cc, int i); | 49 | decode_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 ---------------- # |