summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'base/gxcmap.c')
-rw-r--r--base/gxcmap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/base/gxcmap.c b/base/gxcmap.c
index 7e92621d..cba4908e 100644
--- a/base/gxcmap.c
+++ b/base/gxcmap.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2020 Artifex Software, Inc.
+/* Copyright (C) 2001-2021 Artifex Software, Inc.
All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
@@ -2276,7 +2276,9 @@ gx_get_cmapper(gx_cmapper_t *data, const gs_gstate *pgs,
data->direct = 0;
if (has_transfer && dev->color_info.opmode == GX_CINFO_OPMODE_UNKNOWN)
check_cmyk_color_model_comps(dev);
- if (pgs->effective_transfer_non_identity_count == 0)
+ /* Per spec. Images with soft mask, and the mask, do not use transfer function */
+ if (pgs->effective_transfer_non_identity_count == 0 ||
+ (dev_proc(dev, dev_spec_op)(dev, gxdso_in_smask, NULL, 0)) > 0)
has_transfer = 0;
if (has_transfer) {
if (dev->color_info.polarity == GX_CINFO_POLARITY_ADDITIVE) {