summaryrefslogtreecommitdiff
path: root/target/targen.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/targen.c')
-rw-r--r--target/targen.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/target/targen.c b/target/targen.c
index 74bbe96..96cda6c 100644
--- a/target/targen.c
+++ b/target/targen.c
@@ -725,9 +725,19 @@ double xpow /* Extra device power, default = none */
/* Get details of conversion (Arguments may be NULL if info not needed) */
s->luo->spaces(s->luo, &ins, NULL, &outs, NULL, NULL, NULL, NULL, NULL, NULL);
+//printf("~1 xmask = 0x%x, ins = %s\n",xmask,icm2str(icmColorSpaceSignature, ins));
if (icx_colorant_comb_match_icc(xmask, ins) == 0) {
- s->luo->del(s->luo);
- error("ICC profile doesn't match device!");
+
+ /* Should really see if ICC profile has ColorantTable tag, */
+ /* and match them against targen specs. For now, */
+ /* simply make sure the channel counts match and issue */
+ /* a warning. */
+ if (icx_noofinks(xmask) != icmCSSig2nchan(ins)) {
+ s->luo->del(s->luo);
+ error("ICC profile doesn't match device!");
+ } else {
+ warning("Profile '%s' no. channels match, but colorant types have not been checked",profName);
+ }
}
/* Grab any device calibration curves */