Bug 97103

Summary: Poppler incorrectly renders CMYK black color
Product: poppler Reporter: Igor Liferenko <igor.liferenko>
Component: generalAssignee: poppler-bugs <poppler-bugs>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: in this patch we simply use "no light" for full black ink

Description Igor Liferenko 2016-07-28 08:38:32 UTC
Created attachment 125362 [details] [review]
in this patch we simply use "no light" for full black ink

Hello,

If in pdf document black color is set to full black ink as CMYK(0,0,0,1), it is displayed on monitor as RGB(35,31,32), which makes the text greyish and thus somewhat harder to read. I checked the color by making screenshot of pdf document and using color picker tool in GIMP. You can check this yourself by compiling the following example by pdftex:

\pdfliteral{0 0 0 1 k}
\vrule width 1cm height 1cm
\bye

In contrast, CMYK(0,0,0,0) produces pure white color RGB(255,255,255), as it should be.
This means that we use "full light" for no ink.
Then why we do not use "no light" for full black ink?

Please consider applying the attached patch or explain why it should not be applied.

Regards,
Igor
Comment 1 Adrian Johnson 2016-07-28 09:19:31 UTC
The reason CMYK(0,0,0,1) does not map to RGB(0,0,0) is CMYK(0,0,0,1) is not the darkest CMYK color. CMYK(1,1,1,1) is the darkest (see https://en.wikipedia.org/wiki/Rich_black).

Testing with CMYK(0,0,0,1):

Adobe Reader: RGB(35,31,32)
Ghostscript: RGB(34,31,32)
Poppler: RGB(35,31,32)


Testing with CMYK(1,1,1,1):

Adobe Reader: RGB(0,0,0)
Ghostscript: RGB(0,0,0)
Poppler: RGB(0,0,0)


Poppler is outputting exactly the same colors as Adobe Reader.
Comment 2 Igor Liferenko 2016-07-29 00:52:20 UTC
No. Default black will start only black ink. No CMY inks. It is normally used for printing text.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.