Discount Relative+BPC ink limiting for CMYK and cmsSigNcolorData color spaces #528
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi! I am working in the digital textile printing space where
CMYK+Nprinter profiles are common (CMYK+Orange+Violet,CMYK+Red+Green+Blue, etc.). I've run into an issue where lcms fails to detect the black point for the Relative Colorimetric intent onCMYK+NICC profiles.For example, converting the colors
RGB8(0,0,0)(black) andRGB8(36,36,36)(dark gray) fromsRGBto aCMYK+3profile usingRelative+BPCshould produce 2 distinct grays, but lcms outputs the same color for both samples. This is in contrast to the Adobe BPC implementation in Photoshop that does the same transform but produces 2 distinct grays.I believe I have traced the issue to the
cmsDetectBlackPointfunction incmssamp.c: it appears as though lcms currently uses the Perceptual black point forRelative+BPCtransforms only on CMYK profiles. I believe the Perceptual black point should also be used forRelative+BPCtransforms onCMYK+Nprofiles as well.In this patch, I have extended the
cmsDetectBlackPointfunction to use the Perceptual black point forcmsSigCmykDatacolor spaces AND all thecmsSigNcolorDatacolor spaces. However, I'm not sure if all of these color spaces should be included or if any additional color spaces should be included as well.I have tested this patch on
cmsSig6-8colorDataoutput profiles (CMYK+2..CMYK+4) and found the results to be congruent with Adobe Photoshop. I am happy to provideCMYK+Nprofiles for testing if it is helpful.