Bug 98650 - Invisible pattern hatching in some cases
Summary: Invisible pattern hatching in some cases
Status: NEW
Alias: None
Product: poppler
Classification: Unclassified
Component: cairo backend (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: poppler-bugs
QA Contact:
Depends on:
Reported: 2016-11-09 02:40 UTC by Elliott Sales de Andrade
Modified: 2016-11-09 19:07 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Hatching pattern example (2.39 KB, application/empty)
2016-11-09 02:40 UTC, Elliott Sales de Andrade

Note You need to log in before you can comment on or make changes to this bug.
Description Elliott Sales de Andrade 2016-11-09 02:40:18 UTC
Created attachment 127861 [details]
Hatching pattern example

In the attached file, all four rectangles should be painted with a Pattern with the same diagonal lines. Using poppler-glib-demo to render this file, the rectangle in the bottom left does not show any lines. The same thing occurs in evince (as expected, I guess, since it's using poppler-glib as well.)

If I use okular (which uses poppler-qt, if I'm not mistaken), then the bottom-left rectangle shows the lines.

If I use pdftocairo, the lines do not appear in any of the outputs.

If I use pdftops or pdftoppm and view the result in evince/eog, the lines *do* appear.

Additionally, I can round-trip through ghostscript with `pdftops hatching.pdf - | ps2pdf - test.pdf` and _that_ file does work.

In summary:

 Method           | Works?
poppler-glib-demo | No
evince            | No
okular            | Yes
pdftocairo -png   | No
pdftops + evince  | Yes
pdftoppm + eog    | Yes
pdftops + ps2pdf  | Yes

This fails with both Fedora's poppler-0.41.0-3.fc24.x86_64 and the poppler-0.48 tag from git that I compiled myself.

The file was created with Matplotlib and if there's some way to easily tweak the file to get it working in all cases, I can make that adjustment.

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.