[cairo-commit] [cairo-www] src/news

Carl Worth cworth at freedesktop.org
Wed Feb 20 10:33:37 PST 2008


 src/news/cairo-1.5.10.mdwn |  146 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)

New commits:
commit 8af4744d354865c0e1a0d00f2191f8d65ff89e08
Author: Carl Worth <cworth at cworth.org>
Date:   Wed Feb 20 10:33:10 2008 -0800

    Add news/cairo-1.5.10

diff --git a/src/news/cairo-1.5.10.mdwn b/src/news/cairo-1.5.10.mdwn
new file mode 100644
index 0000000..e504641
--- /dev/null
+++ b/src/news/cairo-1.5.10.mdwn
@@ -0,0 +1,146 @@
+[[meta title="cairo 1.5.10 snapshot available"]]
+[[meta data="2008-02-20"]]
+
+	From: Carl Worth <cworth at cworth.org>
+	Date: Wed, 20 Feb 2008 10:22:17 -0800
+	To: cairo-announce at cairographics.org
+	Cc: gnome-announce-list at gnome.org
+	Subject: cairo snapshot 1.5.10 now available
+
+	A new cairo snapshot 1.5.10 is now available from:
+
+	        http://cairographics.org/snapshots/cairo-1.5.10.tar.gz
+
+	    which can be verified with:
+
+	        http://cairographics.org/snapshots/cairo-1.5.10.tar.gz.sha1
+	        8c97a24f3297bade49508d833cf9218f42e88b8c  cairo-1.5.10.tar.gz
+
+	        http://cairographics.org/snapshots/cairo-1.5.10.tar.gz.sha1.asc
+	        (signed by Carl Worth)
+
+	  Additionally, a git clone of the source tree:
+
+	        git clone git://git.cairographics.org/git/cairo
+
+	    will include a signed 1.5.10 tag which points to a commit named:
+	        0f2ecb5ec65ff13c3aafbe57600c1906f3fe7978
+
+	    which can be verified with:
+	        git verify-tag 1.5.10
+
+	    and can be checked out with a command such as:
+	        git checkout -b build 1.5.10
+
+	This is the fifth snapshot in cairo's unstable 1.5 series. It comes 3
+	weeks after the 1.5.8 snapshot. This snapshot adds one new API
+	function, (cairo_has_current_point), and the usual mix of
+	improvements, (more efficient PostScript/PDF output, optimized
+	stroking), and fixes (more robust error-handling, etc.).
+
+	With this snapshot we're getting *really* close to cairo 1.6. The
+	number of test-suite failures is rapidly approaching zero and the
+	list of things still needing to be done is getting very short.
+
+	I am a bit disappointed to not have the change from 16.16 fixed point
+	to 24.8 fixed point in this snapshot. We did a ton of work to make
+	this possible, (including fixing the infinite loop bug it was exposing
+	earlier), and I even had the change in place just before releasing the
+	snapshot. But at the last moment we noticed that the change caused
+	some regressions in PS/PDF/SVG rendering, (pattern offsets are wrong
+	at least), so we pulled it out. But look for another snapshot soon
+	with that change. And see details below on what *did* make it in.
+
+	Do have fun with this. And try your best to break it. We're especially
+	interested in learning of any regressions in quality or performance of
+	1.5.10 compared to any 1.4.x release of cairo.
+
+	Enjoy,
+
+	-Carl
+
+	What's new in cairo 1.5.10 compared to cairo 1.5.8
+	==================================================
+	New API
+	-------
+	Add a new function to query if there is a current point:
+
+		cairo_bool_t
+		cairo_has_current_point (cairo_t *cr);
+
+	There is no current point immediately after cairo_create(), nor after
+	cairo_new_path() or cairo_new_sub_path(). There is a current point
+	after any of the path-creation functions, (cairo_move_to,
+	cairo_line_to, cairo_curve_to, etc.).
+
+	With this new function, we also revert the change of the return type
+	of cairo_get_current_point from cairo 1.5.8, (it's now a void function
+	again).
+
+	Optimizations
+	-------------
+	Optimize stroking code to avoid repeated calculation of redundant
+	values, (particularly significant for very large, offscreen paths).
+
+	General fixes
+	-------------
+	Patch a few more potential buffer overruns, (due to integer
+	overflow).
+
+	Many fixes and improvements to cairo's error-handling, (ensure that
+	correct error values are returned, clean up memory leaks on
+	error-handling paths, etc.).
+
+	Fix a potential infinite loop when stroking a spline with a pen that
+	has been transformed to a line segment.
+
+	Remove treating NULL as a synonym for a valid cairo_font_options_t*
+	with default values, (a change that had been introduced as of cairo
+	1.5.8).
+
+	Remove the altered handling of tolerance and fallback-resolution that
+	had been introduced as of cairo 1.5.4.
+
+	cairo-xlib
+	----------
+	Pass the original Drawable, (as opposed to the root window), to
+	XCreatePixmap when creating a similar surface. This gives the X server
+	more information so that it can be clever and efficient.
+
+	cairo-pdf
+	---------
+	Fix the rendering of repeating and reflecting patterns.
+
+	Ensure miter limit is always >= 1, (smaller limits are not meaningful,
+	but they can cause some PDF viewers to fail to display pages).
+
+	Generate more efficient output when the same path is used for both
+	fill and stroke.
+
+	cairo-ps
+	--------
+	Start sharing much of the cairo-pdf code rather than implementing very
+	similar code in cairo-ps.
+
+	Implement native support for repeating and reflecting linear
+	gradients.
+
+	Implement reflected surface patterns.
+
+	Ensure miter limit is always >= 1, (smaller limits are not meaningful,
+	but they can cause some PostScript viewers to crash).
+
+	Generate PostScript that will perform more efficiently and use less
+	memory on printers, (use currentfile instead of a giant string array
+	for image data, and avoid using PostScript patterns for paint() and
+	fill() when possible).
+
+	cairo-svg
+	---------
+	Avoid unnecessary rasterization when copying a "similar" surface to
+	another svg surface, (allow the SOURCE operator to be implemented with
+	all-vector operations if there are no underlying objects).
+
+	cairo-atsui
+	-----------
+	Eliminate infinite loop when attempting to render an empty string.


More information about the cairo-commit mailing list