Bug 55463 - wavy lines of pdf exported by inkscape does not render in evince
Summary: wavy lines of pdf exported by inkscape does not render in evince
Status: RESOLVED DUPLICATE of bug 33364
Alias: None
Product: poppler
Classification: Unclassified
Component: cairo backend (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-30 09:22 UTC by Jonathan
Modified: 2015-12-23 03:14 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
pdf with wavy lines (23.52 KB, application/pdf)
2012-09-30 09:22 UTC, Jonathan
Details
evince rendering, wavy lines incorrect (23.71 KB, image/png)
2012-09-30 09:23 UTC, Jonathan
Details
xpdf rendering, wavy lines correct (31.35 KB, image/png)
2012-09-30 09:23 UTC, Jonathan
Details

Description Jonathan 2012-09-30 09:22:52 UTC
Created attachment 67869 [details]
pdf with wavy lines

In the attached pdf file, generated from inkscape, there are wavy lines in one section that do not render correctly in evince.  I have tried different versions of both inkscape and evince, and have generated the pdf as pdf 1.4 and 1.5 from inkscape—all with the same result.  Other pdf viewers, including xpdf and acroread, display the pdf correctly.

I am attaching the pdf, and will add screenshots of a correct rendering of the wavy lines in xpdf and the incorrect rendering in evince.

The latest version of evince I have tested this with is 3.4.0 using poppler/cairo 0.18.4.
Comment 1 Jonathan 2012-09-30 09:23:19 UTC
Created attachment 67871 [details]
evince rendering, wavy lines incorrect
Comment 2 Jonathan 2012-09-30 09:23:40 UTC
Created attachment 67872 [details]
xpdf rendering, wavy lines correct
Comment 3 Benjamin Berg 2013-08-10 15:57:09 UTC
The trouble seems to be that pixman refuses to render the image because its internal coordinate representation would overflow.

The wavy lines are rendered into an 3007x518 pixel temporary surface, which is then rendered to the screen. This is done using a matrix of (0.008, 0, 0, 0.008, X0, Y0) where X0 and Y0 are the offsets. It may even be possible to get things to work sometimes, if you choose certain offsets instead of the ones given (ie. you center the origin of the pattern inside the target area).

The 0.008 means that the transformation has the value "2^15/0.008" ie. 4096000. This multiplied with the extends of the destination surface (or clip region really) overflows the 32bit integer representation. Because of this pixman refuses to proceed.
Comment 4 Jason Crain 2015-12-23 03:14:02 UTC

*** This bug has been marked as a duplicate of bug 33364 ***


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.