← Back to team overview

desktop-packages team mailing list archive

[Bug 657094] Re: Evince when printing a pdf creates strange gapping.

 

Launchpad has imported 1 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=89406.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2015-03-03T09:52:59+00:00 John McPherson wrote:

cairo version 1.13.0

When printing via CUPS (which uses cairo to create pdf files), sometimes
several spaces occur in the middle of words, pushing the rest of the
sentence to the right.

(as reported at
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/657094):

######

This happens because cairo is putting newline "\n" characters into the
stream when creating PDF files (before compressing the stream), in an
attempt to do word-wrapping to keep the line size short (I think 72
columns?).

PDFs created like this appear ok on screen in evince, ghostscript etc,
but some printers don't like this - our institution has big Fuji Xerox
machines and these newline characters get turned into several spaces,
which screws up the horizontal spacing at what looks like random
character positions.

For example, here is an extract of a deflated stream from one such PDF
file:

[(M358)-10( )]TJ
-13.196 -1.15 Td
[(The Univ)-6(er)3(s)-4(i)-4(t)-8(y)11( of)-9( W)-3(es)-4(tern Aus)-4(tra\
li)-5(a )]TJ

on screen it looks like
"M358
The University of Western Australia"

but printed it becomes
"M358
The University of Western Austra lia"

The original PDF file doesn't have this, but evince uses libcairo to
create the print data, so the file sent to CUPS has the "\\\n" added to
the middle of strings in the stream. Printing the original PDF file
directly with lpr does not have this problem.

The code that is doing this is the
_word_wrap_stream_count_string_up_to() function in src/cairo-pdf-
operators.c

            } else if (stream->column > stream->max_column) {
                newline = TRUE;
                break;
            }
...
    if (newline) {
        _cairo_output_stream_printf (stream->output, "\\\n");
        stream->column = 0;
    }

if either of these bits of code is disabled, then the problem is fixed.

######

ie please don't word wrap if we are inside an open text (...) element.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/657094/comments/11


** Changed in: cairo
       Status: Unknown => Confirmed

** Changed in: cairo
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to cairo in Ubuntu.
https://bugs.launchpad.net/bugs/657094

Title:
  Evince when printing a pdf creates strange gapping.

Status in Cairo Graphics Library:
  Confirmed
Status in cairo package in Ubuntu:
  Triaged

Bug description:
  When trying to print a pdf file with Evince Document Viewer 2.30.3 in Ubuntu 10.04 it creates strange gapping that seems to be due to Courier font. 
  These gaps show up when I print this file to pdf. Example file is attached.
  They do not show when I print to pdf from within Acrobat Reader.
  I never had this problem before, but I recently upgraded to Ubuntu 10.04 from 8.04, and I can't recall which version
  of Evince I was using before.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cairo/+bug/657094/+subscriptions