cairo/cairo-render-thin-lines.patch

27 lines
1.0 KiB
Diff

diff --git a/src/cairo-pen.c b/src/cairo-pen.c
index 61be0e8..8eed775 100644
--- a/src/cairo-pen.c
+++ b/src/cairo-pen.c
@@ -284,7 +284,20 @@ _cairo_pen_vertices_needed (double tolerance,
radius);
int num_vertices;
- if (tolerance >= 4*major_axis) { /* XXX relaxed from 2*major for inkscape */
+ if (tolerance >= 100*major_axis) { /* XXX relaxed from 2*major for inkscape */
+ /*
+ * When we decide for num_vertices = 1, the object is not drawn.
+ * To avoid https://bugs.freedesktop.org/show_bug.cgi?id=77298
+ * we use 100*major -- this just helps us to the 0.001mm line width.
+ *
+ * The author of the 'XXX relaxed' comment above, originally used 4*major,
+ * which is not sufficient for my inkscape lasercutter usecase.
+ *
+ * Please double check if num_vertices == 1 should never be done (for PDF).
+ *
+ * jnweiger@gmail.com
+ */
+ // fprintf(stderr, "tolerance=%g major_axis=%g -> num_vertices = 1\n", tolerance, major_axis);
num_vertices = 1;
} else if (tolerance >= major_axis) {
num_vertices = 4;