diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2017-11-22 23:03:07 -0800 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-11-23 11:42:45 +0000 |
commit | 2a15410f58b389c5ea19965722e1c4f07202c3b5 (patch) | |
tree | 5c0aabccae6abf551a07ecb7ce8441687cb63b38 /source | |
parent | 55815c3b4f27cb977b4c7dabedcce65d463ff952 (diff) | |
download | mupdf-2a15410f58b389c5ea19965722e1c4f07202c3b5.tar.xz |
Allow RGB based proofing profile and output intent
Also do not do the extra group push if the destination pixmap
is in the proper color space and has all the required sep support.
Diffstat (limited to 'source')
-rw-r--r-- | source/fitz/draw-device.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/fitz/draw-device.c b/source/fitz/draw-device.c index 706ff33a..55c9e408 100644 --- a/source/fitz/draw-device.c +++ b/source/fitz/draw-device.c @@ -570,21 +570,21 @@ push_group_for_separations(fz_context *ctx, fz_draw_device *dev, const fz_color_ fz_colorspace *dcs = fz_device_cmyk(ctx); /* Pick sep target CMYK based upon proof and output intent settings. Priority - * is oi, proof, devicecmyk. */ - /* FIXME: Look into non-CMYK proofing profiles */ - if (dev->proof_cs && fz_colorspace_n(ctx, dev->proof_cs) == 4) + * is oi, proof, devicecmyk. */ + if (dev->proof_cs) { dcs = dev->proof_cs; } - /* FIXME : We need to create a file with an RGB output intent at some point and test a few things */ - if (oi && fz_colorspace_n(ctx, oi) == 4) + + if (oi) { dcs = oi; } - /* Not needed */ - if (clone == NULL && dev->proof_cs == NULL && fz_colorspace_n(ctx, dev->stack[0].dest->colorspace) == 4) + /* Not needed if dest has the seps, and we are not using a proof or the target is the same as the prooof and we don't have an oi or the target is the same as the oi */ + if ((clone == dev->stack[0].dest->seps) && (dev->proof_cs == NULL || dev->proof_cs == dev->stack[0].dest->colorspace) && (oi == NULL || oi == dev->stack[0].dest->colorspace)) { + fz_drop_separations(ctx, clone); dev->resolve_spots = 0; return &dev->stack[0]; } |