[cairo-bugs] [Bug 17223] New: cairo_set_dash and fallback resolution dependency
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Aug 20 05:39:43 PDT 2008
http://bugs.freedesktop.org/show_bug.cgi?id=17223
Summary: cairo_set_dash and fallback resolution dependency
Product: cairo
Version: 1.7.5
Platform: x86 (IA32)
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: pdf backend
AssignedTo: ajohnson at redneon.com
ReportedBy: paul at inet.co.za
QAContact: cairo-bugs at cairographics.org
I have done a bugzilla search and cannot find a similar report. I hope that
this report is helpful.
cairo_set_dash() and subsequent stroking only seems to work properly when the
target surface fallback resolution matches the actual device resolution. For
example, with PDF & postscript surfaces,
cairo_surface_set_fallback_resolution(s, 72, 72) works, while the default
300x300 does not. For win32 printers, the fallback resolution must be set to
the actual printer resolution. Again, the default 300x300 does not work.
The effect of this behaviour is that the output differs completely when
outputting to PDF (eg. Linux) versus output to a win32 printer. It also means
that for some high res printers a spool file size of >100Meg (under win32) is
not uncommon. The unnecessarily large resolution of the spool file slows
things down considerably both in generation as well as production.
To demonstrate the problem, apply the following 2-liner patch to
test/fallback_resolution.c. The overshoot in stroking the dashed lines is very
evident.
--- old/fallback-resolution.c 2008-08-20 14:06:39.000000000 +0200
+++ new/fallback-resolution.c 2008-08-20 14:06:33.000000000 +0200
@@ -50,9 +50,10 @@
cairo_text_extents_t extents;
cairo_save (cr);
-
+ double dash[] = {1.0,2.0,3.0};
+ cairo_set_dash(cr, dash, 3, 0);
cairo_new_path (cr);
-
+
cairo_set_line_width (cr, .05 * SIZE / 2.0);
cairo_arc (cr, SIZE / 2.0, SIZE / 2.0,
0.75 * SIZE / 2.0,
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the cairo-bugs
mailing list