summaryrefslogtreecommitdiff
path: root/xicc/xlut.c
diff options
context:
space:
mode:
Diffstat (limited to 'xicc/xlut.c')
-rwxr-xr-x[-rw-r--r--]xicc/xlut.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xicc/xlut.c b/xicc/xlut.c
index 5b07ca5..8b7699c 100644..100755
--- a/xicc/xlut.c
+++ b/xicc/xlut.c
@@ -50,6 +50,8 @@
/*
+ ~~~~~!!!!! This has all been fixed ?
+
NOTE :- an alternative to the way display profile absolute is handled here
would be to always chromatically adapt the illuminant to D50, and encode
that in the Chromatic adapation tag. To make absolute colorimetric
@@ -2267,6 +2269,7 @@ icxInk *ink /* inking details (NULL for default) */
) {
icxLuLut *p; /* Object being created */
icmLuLut *luluto = (icmLuLut *)plu; /* Lookup Lut type object */
+ icmLookupFunc fnc;
int i;
@@ -2314,7 +2317,7 @@ fprintf(stderr,"~1 Internal optimised 4D separations not yet implemented!\n");
p->intent = intent;
/* Get the effective spaces of underlying icm */
- plu->spaces(plu, &p->ins, NULL, &p->outs, NULL, NULL, NULL, NULL, &p->pcs, NULL);
+ plu->spaces(plu, &p->ins, NULL, &p->outs, NULL, NULL, NULL, &fnc, &p->pcs, NULL);
/* Override with pcsor */
/* We assume that any profile that has a CIE color as a "device" color */
@@ -2460,7 +2463,8 @@ fprintf(stderr,"~1 Internal optimised 4D separations not yet implemented!\n");
/* Setup all the clipping, ink limiting and auxiliary stuff, */
/* in case a reverse call is used. Only do this if we know */
/* the reverse stuff isn't going to fail due to channel limits. */
- if (p->clutTable->within_restrictedsize(p->clutTable)) {
+ if (fnc != icmGamut && fnc != icmPreview
+ && p->clutTable->within_restrictedsize(p->clutTable)) {
if (setup_ink_icxLuLut(p, ink, 1) != 0) {
p->del((icxLuBase *)p);