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.
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
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.
Adrian, can you find out which commit fixed the bug, so that one can provide a patch for Ubuntu Precise?
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.