Bug 50496

Summary: Cairo-generated PDF displays incorrectly with Adobe Reader and Ghostscript
Product: cairo Reporter: Till Kamppeter <till.kamppeter>
Component: pdf backendAssignee: Adrian Johnson <ajohnson>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: medium    
Version: 1.10.2   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Till Kamppeter 2012-05-30 02:50:08 UTC
See the following Ubuntu bug

https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1006263

The file attached there (also attached here) is printed with evince, which uses Cairo to generate the PDF output stream which gets sent to CUPS. There Ghostscript renders it and on the printout symbols in the formulas are missing.

I have reproduced it as follows:

Opened the original PDF file (attached) with evince, File/Print, "Print to file", PDF as output format, only page 60. This gives the (also attached) sample page. If you display this page with Adobe Reader or Ghostscript you will see the missing symbols ("(", ")", "-", ",") in the formulas, especially S(t) in the upper left part, or S(i_0, i_1, i_2, i_3) in the middle-left.

Only Poppler displays the sample page correctly.

As even the Adobe software does not display the page correctly, we assume the PDF to be broken and therefore a bug in Cairo.
Comment 1 Till Kamppeter 2012-05-30 02:57:31 UTC
As attachment sizes are restricted on this bug tracker, here are the links to the files on Ubuntu's bug tracker:

Original PDF file:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1006263/+attachment/3168809/+files/DDGCourse2006.pdf

Sample page:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1006263/+attachment/3168803/+files/DDGCourse2006-evince-page60.pdf
Comment 2 Adrian Johnson 2012-05-30 03:11:32 UTC
I tested the file with both 1.10.2 and 1.12.2. I can reproduce the bug with 1.10.2 but not with 1.12.2. So the bug is fixed in the current stable release.
Comment 3 Till Kamppeter 2012-05-30 03:18:10 UTC
Adrian, can you find out which commit fixed the bug, so that one can provide a patch for Ubuntu Precise?
Comment 4 Adrian Johnson 2012-05-30 03:41:12 UTC
You can use git bisect to find the commit. Unfortunately I don't have the time to support old versions of cairo. A lot has changed in the font subsetting since 1.10.

There is unlikely to be a simple commit that fixed the problem. It is more likely the result of the changes to support latin subsets or the changes to Type 1 fonts (which the test file uses a lot of) to support subsetting subroutines. None of this can be easily backported.

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.