GNOME 3591 Published by

A new cairo snapshot 1.3.6 is now available from:

http://cairographics.org/snapshots/cairo-1.3.6.tar.gz

which can be verified with:

http://cairographics.org/snapshots/cairo-1.3.6.tar.gz.sha1
c69339afca1115815be50b32c3a733d272aaa84c cairo-1.3.6.tar.gz

http://cairographics.org/snapshots/cairo-1.3.6.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.3.6 tag which points to a commit named:
648ef4487dfa43f20fb2c73e7b8e567f8a25497a

which can be verified with:
git verify-tag 1.3.6

and can be checked out with a command such as:
git checkout -b build 1.3.6

This is the third development snapshot in the 1.3 series. It comes two
weeks after the 1.3.4 snapshot.

We don't have fancy performance charts this week as the primary
changes in this snapshot are bug fixes. The performance work continues
and the next snapshot (planned for one week from today) should include
several improvements.

-Carl

Summary of changes since 1.3.4
=========================
=====
* Fix undesirable rounding in glyph positioning (Dan Amelang)

This bug was noticed by several users, most commonly by seeing
improper text spacing or scrambled glyphs as drawn by nautilus. For
example:

Update to cairo-1.3.4 worsen font rendering
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217819

* Fix reduced range of valid input coordinates to tessellator
(M Joonas Pihlaja)

This bug was causing lots of assertion failures in mozilla as
mentioned here:

CAIRO_BO_GUARD_BITS and coordinate space?
http://lists.freedesktop.org/archives/cairo/2006-December/008743.html

* Fix several regressions in new tessellator (M Joonas Pihlaja)

Joonas just had a good eye for detail here. I don't think any
external cairo users had noticed any of these bugs yet.

* Fix compilation problems of cairo "wideint" code on some platforms
(Mathieu Lacage)

* Fix failed configure due to broken grep (Dan Amelang)

This bug was reported here:

AX_C_FLOAT_WORDS_BIGENDIAN doesn't work because grep doesn't
work with binary file
https://bugs.freedesktop.org/show_bug.cgi?id=9124

* Remove the pkg-config minimum version requirement (Behdad Esfahbod)

Some systems ship with pkg-config 0.15 and there was really no good
reason for cairo to insist on having version 0.19 before it would
build.

There is also one new (but inert) feature in this snapshot. There's a
new option that can be passed to cairo's configure script:

--disable-some-floating-point

Disable certain code paths that rely heavily on double precision
floating-point calculation. This option can improve
performance on systems without a double precision floating-point
unit, but might degrade performance on those that do.

As of this snapshot, this option does not make any change to cairo,
but it is possible that future versions of cairo will respect this
option and change the implementation of various functions as
appropriate.

Summary of each commit since 1.3.4
=========================
=========
Behdad Esfahbod (2):
[test|perf|boilerplate/Makefile.am] Add -I$(top_builddir)/src to INCL
UDES
[configure] Remove the pkg-config minimum version requirement

Carl Worth (15):
Bump version to 1.3.5 after making 1.3.4 snapshot
RELEASING: Fix typo
Add an initial BIBLIOGRAPHY for cairo
Add perceptualdiff program totest/pdiff.
Use uint32_t instead of the non-standard uint32
Remove all libtiff-related code by #ifdef
Hook up Makefiles for perceptualdiff.
pdiff: Add missing newlins at end of files.
Add a textbook recommendation to the bibliography
BIBLIOGRAPHY: Add Joseph O'Rourke's book as recommended by Rafael Vil
lar Burke
ROADMAP: Add _cairo_lround bug for 1.3.6. Note some completed items f
or 1.4.0
ROADMAP: Note that the Banker's rounding bug is fixed
Fix 'make distcheck' by mentioning test/pdiff in DIST_SUBDIRS
NEWS: Add notes for 1.3.6 snapshot
Increment cairo version to 1.3.6 (and libtool versioning to 12:1:10)

Dan Amelang (6):
Add configure option --disable-some-floating-point
Purge cairo-test of all calls to round()
[perf] Provide watered-down implementations of getline and strndup for
[configure] Add -a option to grep calls in AX_C_FLOAT_WORDS_BIGENDIAN
[configure] Fix --disable-some-floating-point to force value to 'no'
if none given
Change _cairo_lround to use arithmetic rounding

M Joonas Pihlaja (9):
cairo-perf-diff-files: Don't segfault reading cooked perf reports.
test: tessellator event comparator test case for degenerate edges.
test: check if cairo_in_fill() is reporting false positives for empty
trapezoids.
test: check for tessellator regression from missed stop events
tessellator bug fix: fill-degenerate-sort-order
tessellator bug fix: fill-missed-stop
tessellator bug fix: in-fill-empty-trapezoid
tessellator: offset working coordinates to be nonnegative
tessellator: input validation and guard bit removal

Mathieu Lacage (1):
bugfix: fix cairo-wideint.c uint64_t usage and const return qualifiers

What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, win32, and image buffers, as well as PDF, PostScript, and SVG
file output. Experimental backends include OpenGL (through glitz),
Quartz, XCB, BeOS, and DirectFB.

Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling
cubic B=E9zier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,
etc.).

Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface. At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.

Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL) version
1.1.

Where to get more information about cairo
=========================
================
The primary source of information about cairo is:

http://cairographics.org/

The latest releases of cairo can be found at:

http://cairographics.org/releases

Snapshots of in-development versions of cairo:

http://cairographics.org/snapshots

The programming manual for using cairo:

http://cairographics.org/manual

Mailing lists for contacting cairo users and developers:

http://cairographics.org/lists

Answers to some frequently asked questions about cairo:

http://cairographics.org/FAQ