Bug 52010

Summary: Annotation is rendered with wrong color
Product: poppler Reporter: Fabio D'Urso <fabiodurso>
Component: generalAssignee: poppler-bugs <poppler-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: gpoo+bfdo, oliver.sander
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Testcase
Simplified testcase

Description Fabio D'Urso 2012-07-12 12:28:56 UTC
Created attachment 64138 [details]
Testcase

In the attached file, the caret annotation is rendered yellow by poppler, but acroread renders it blue.
The annotation color (ie its /C property) is blue, but the appearance stream draws yellow. It seems that we ignore the blend mode (Difference), which should turn yellow into blue (they're complementary colors).

From https://bugs.kde.org/show_bug.cgi?id=300615
Comment 1 Fabio D'Urso 2012-08-23 17:27:26 UTC
Created attachment 66025 [details]
Simplified testcase

PDF document based on the first testcase

On the left side there's a yellow box drawn in blend-multiply mode. Since there's nothing in the background, it is correctly shown in yellow.
On the right side there's another yellow box drawn in blend-multiply mode, but this time it is contained in an annotation appearance stream. Poppler paints it yellow like the other one, acroread paints it blue.

In comparison with the original document, I've stripped the fields that do not affect this behavior. In particular I've noticed that this behavior does not depend on the annotation's properties and not even on its type: instead of a "Caret", in this document I used a "Circle" annotation.
Note that you see a box because that's what the appearance stream says, and annotation's type and properties are ignored during rendering if there's an appearance stream available like in this case.
Comment 2 Fabio D'Urso 2012-08-23 23:21:36 UTC
Oops. Sorry, it's blend mode difference, not multiply as I erroneously wrote in the previous comment. The attached file is sane.

Apart from this, I've found that acroread's output-to-ps feature also draws the annotation in yellow color. At the moment, I have no hardware to test what happens with a real printer.
It's kind of weird: the annotation is blue on screen, but yellow when printed to postscript.
Maybe we've hit an acroread bug, what do you think?

(acroread version 9.4.7 on Linux)
Comment 3 Albert Astals Cid 2012-08-24 17:42:55 UTC
Maybe someone can try on a newer acrobat on windows?
Comment 4 Thomas Freitag 2012-08-25 06:19:30 UTC
Same on WIndows with Acrobat Reader 10.1.4
If I use Acrobat Pro (also 10.1.4) and save it as EPS, the blue square disapears completely.
Comment 5 GitLab Migration User 2018-08-20 21:53:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/poppler/poppler/issues/111.

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.