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

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 2014-04-11T02:43:50+00:00 Jürgen Weigert wrote:

Since 1.12.3, cairo cannot render fine lines to pdf. 1.12.2 was the last
version that worked.


http://cgit.freedesktop.org/cair/diff/?id=bdf83008f4b2c723fd8e65e2a92bc47a2e7bc442

introduced this code in cairo-compositor.c:_cairo_compositor_stroke

   if (_cairo_pen_vertices_needed (tolerance, style->line_width/2, ctm) <= 1)
        return CAIRO_INT_STATUS_NOTHING_TO_DO;

The idea was to avoid lines that would be invisible when rasterized.
While this is a valid logic for raster backends, it is a bad idea for
PDF output. There we want to see all fine lines.

My specific use case is generating a lasercutter drawing for an Epilog
Zing laser with inkscape. There the hardware would raster anything
thicker than 0.02mm, and cut 0.01mm or below. 1.12.3 skips lines below
0.036mm, 1.13.1 skips lines below 0.018mm -- which is still not enough
to safely drive my lasercutter.

See also https://bugs.launchpad.net/inkscape/+bug/1174909

Check out the attached reproducer.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/0

------------------------------------------------------------------------
On 2014-04-11T02:45:43+00:00 Jürgen Weigert wrote:

Created attachment 97205
reproducer

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/1

------------------------------------------------------------------------
On 2014-04-11T02:48:52+00:00 Jürgen Weigert wrote:

Created attachment 97206
Example output from the reproducer with missing objects.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/2

------------------------------------------------------------------------
On 2014-04-11T02:51:20+00:00 Jürgen Weigert wrote:

Created attachment 97207
Example output from the reproducer when good.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/3

------------------------------------------------------------------------
On 2014-04-11T12:43:41+00:00 Jürgen Weigert wrote:

Created attachment 97220
suggested fix.

Please double check if num_vertices == 1 should never be done (for PDF).

I am not sure why this was introduced at all. With 1.12.2 the lowest
num_vertices value was 4, which assured that all objects are rendered to
the PDF.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/4

------------------------------------------------------------------------
On 2014-04-12T00:44:29+00:00 Jürgen Weigert wrote:

Created attachment 97247
Suggested fix. Different approach.

Contributed by Patrick Himmelmann. Now we have something to discuss.
Maybe we find a third alternative, so that the logic for raster backends
continues to discard small objects, but the logic for vector backends
includes everything?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1306846/comments/5


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

** Changed in: libcairo
   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/1306846

Title:
  Inkscape (using cairo) fails to print thin lines to PDF

Status in libcairo  -  cairo vector graphics library:
  Confirmed
Status in “cairo” package in Ubuntu:
  Triaged

Bug description:
  Since 1.12.3, cairo cannot render fine lines to pdf. 1.12.2 was the
  last version that worked.

  
http://cgit.freedesktop.org/cair/diff/?id=bdf83008f4b2c723fd8e65e2a92bc47a2e7bc442

  introduced code to avoid lines that would be invisible when
  rasterized. While this is a valid logic for raster backends, it is a
  bad idea for PDF output. There we want to see all fine lines.

  My specific use case is generating a lasercutter drawing for an Epilog
  Zing laser with inkscape. There the hardware would raster anything
  thicker than 0.02mm, and cut 0.01mm or below. 1.12.3 skips lines below
  0.036mm, 1.13.1 skips lines below 0.018mm -- which is still not enough
  to safely drive my lasercutter.

  Previously reported against inkscape:
  https://bugs.launchpad.net/inkscape/+bug/1174909

  Also reported agains cairo upstream with a suggested fix: 
https://bugs.freedesktop.org/show_bug.cgi?id=77298
  Check out the attached reproducer and fix.

  I'd suggest to circulate patched ubuntu packages, until upstream
  releases an official fix.

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to