[cairo-commit] src/cairo-output-stream.c
Behdad Esfahbod
behdad at kemper.freedesktop.org
Tue Oct 30 23:42:09 PDT 2007
src/cairo-output-stream.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 8297daff896ca9d803959edb3c1955977594fab9
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Oct 31 02:41:33 2007 -0400
[cairo-output-stream] Write out floats to 18 digits after decimal point
We write floats using %f as the scientific format used by smarter %g is
invalid in PS/PDF. %f however by default rounds to five digits after
decimal point. This was causing precision loss and making the newly
added degenerate-pen test fail for PDF. We now print up to 18 digits
which is as many bits doubles can accomodate. We can be smarter, but
that's for another commit.
diff --git a/src/cairo-output-stream.c b/src/cairo-output-stream.c
index 5bce0e3..6d9c733 100644
--- a/src/cairo-output-stream.c
+++ b/src/cairo-output-stream.c
@@ -236,7 +236,7 @@ _cairo_dtostr (char *buffer, size_t size, double d)
if (d == 0.0)
d = 0.0;
- snprintf (buffer, size, "%f", d);
+ snprintf (buffer, size, "%.18f", d);
locale_data = localeconv ();
decimal_point = locale_data->decimal_point;
More information about the cairo-commit
mailing list