[cairo-announce] cairo snapshot 1.5.16 now available

Carl Worth cworth at cworth.org
Tue Apr 1 16:25:32 PDT 2008

A new cairo snapshot 1.5.16 is now available from:


    which can be verified with:

        46e08f540f0abf18dea4b889c82455c556c50f2e  cairo-1.5.16.tar.gz

        (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.16 tag which points to a commit named:

    which can be verified with:
        git verify-tag 1.5.16

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

This is the eighth snapshot in cairo's unstable 1.5 series. It comes
less than two weeks after the 1.5.14 snapshot and it really is a
legitimate snapshot, (in spite of sharing this date with that of many
bogus announcements). The major change in this snapshot is that the
cairo-quartz backend is now officially "supported", including new API
to construct a font face from a CGFontRef . Also several bug fixes
have been fixed in many backends. See below for details.

This is definitely a "release candidate" snapshot for cairo 1.6.0. At
this point all significant items from the cairo 1.6.0 roadmap are
already in this snapshot. See:


At this point, the only change we are planning to make before cairo
1.6 is to change the setting of the infamous buggy_repeat flag,
(depending on what we learn from characterizing which X server/driver
versions exhibit bugs). We don't anticipate any other changes unless
people identify bugs. So please let us know if you find anything. We
plan to release cairo 1.6 by the end of this week.

Have fun with cairo!


What's new in cairo 1.5.16 compared to cairo 1.5.14
Cairo now depends on pixman 0.10.0 which was recently released. The
latest pixman release can always be found alongside cairo releases at:


Increase the precision of color stops for gradients. This fixes a
regression in gradient rendering that had been present since the
1.5.12 snapshot.

paginated (all of ps, pdf, svg, and win32-printing)
Fix assertion failure when some drawing elements are outside the page
boundaries, (this bug was noticed when using Inkscape to print a
drawing with landscape orientation to a portrait-oriented piece of

Fix of bug causing incorrect glyph positioning.


More reduction of unnecessary digits of precision in PDF output.


Fix bug in usage of libpng that was preventing cairo_mask from working
with the svg backend.

Fix transformation of source pattern for cairo_stroke().

Fix fallback resolution, (thanks again to inkscape users/developers
for helping us find this one).

Mark the cairo-quartz backend as "supported" rather than
"experimental". This means the following:

    * The backend will now be built by default (if possible).

    * We are committing that the backend-specific API (as published in
      cairo-quartz.h) are stable and will be supported in all future
      cairo 1.x releases.

    * We are committing that the output quality of this backend
      compares favorably with other cairo backends, (and that quality
      is ensured by good results from the cairo test suite).

    * We recommend that distributions build and distribute this
      backend when possible.

Note that the cairo_quartz_image API (in cairo-quartz-image.h) is
still experimental, will not build by default, (pass
--enable-quartz-image to configure to build it), and may see API
changes before it is marked as "supported" in a future release.

Put the CAIRO_FONT_TYPE_ATSUI name back into
cairo-deprecated.h. Without this, the cairo 1.5.14 snapshot broke all
builds for applications using the C++ cairomm bindings (and perhaps
others) which have the CAIRO_FONT_TYPE_ATSUI name in their header
files. This breakage happened even for applications not using
cairo-quartz at all.

    Note: Even though the CAIRO_FONT_TYPE_ATSUI name is provided to
    avoid this build breakage, we still recommend that bindings and
    applications move to the new, and more accurate,

Replace the implementation of cairo-quartz-font to use CGFont instead
of ATSUI. The CGFont API is a better fit than ATSUI, and this new
implementation is also more correct than the old one as well.

This also adds the following new API call:

	cairo_public cairo_font_face_t *
	cairo_quartz_font_face_create_for_cgfont (CGFontRef font);

The previous cairo_quartz_font_face_create_for_atsu_font_id function
continues to exist and is part of the supported API going
forward. (However, the old name of that same function, which was
cairo_atsui_font_face_create_for_atsu_font_id is officially
deprecated. Any source code using the old name should be updated to
use the new name.)

Fix transformation of source pattern for cairo_stroke().

Avoid crash in create_similar is cairo_win32_surface_create fails.

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, OS/2, 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 include stroking and filling
cubic Bézier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,

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

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


The latest versions of cairo can always be found at:


Documentation on using cairo and frequently-asked questions:


Mailing lists for contacting cairo users and developers:


Roadmap and unscheduled things to do, (please feel free to help out):


Log of all changes from cairo 1.5.14 to cairo 1.5.16
Adrian Johnson (19):
      Add ft-show-glyphs-positioning test
      Fix PS glyph positioning bug in PDF operator emulation
      Finish the PDF text operator decimal reduction commit
      Add PS/PDF ref images for ft-show-glyphs-positioning
      Update PS reference images
      Add finer-grained-fallbacks test
      Fix assertion in PS/PDF/Win32-print when fallback image is off the page
      Add PS reference images for finer-grained-fallbacks test
      Update REFERENCE_IMAGES with PS ref images
      Win32-Printing: Fix fallback resolution when DC ctm is not identity
      Win32: Fix bug in cairo_win32_font_face_create_for_hfont()
      Bump poppler version required for testing to 0.8.0
      PS/PDF: Save/Restore surface clip when emitting a meta-surface pattern
      PS: Clear pattern background to when using OPERATOR_SOURCE
      Update operator-source PS ref images
      Fix PDF analysis of OPERATOR_SOURCE surface patterns
      Add operator-source PDF ref images
      Add clip-operator PS/PDF rgb24 ref images
      Add stroke-image PS/PDF ref images

Benjamin Otte (1):

Carl Worth (23):
      Increment cairo version to 1.5.15 after the 1.5.14 snapshot
      Add new text-transform test
      Document performance advantage of cairo_path_extents
      Quiet warnings about unhandled enum values in _cairo_surface_create_in_error
      Quiet warning about signed vs. unsigned comparison
      Rename _popcount to _cairo_popcount and make it available for internal use
      Depend on pixman 0.9.7 for new pixman_format_supported_destination function
      Quiet compiler warnings about unhandled PIXMAN_yuy2 and PIXMAN_yv12
      Remove unused variable
      Use floating-point offsets for color stops
      Update clip-operator and operator-clear reference images
      Add svg-specific reference image for ft-show-glyphs-positioning test
      Update ps-specifc reference image for ft-text-vertical-layout-type1
      Update pixman dependency to recent 0.10.0 release
      Add some reference images that were missing from the distribution list
      Quiet some trivial unused and potentially-uninitialized compiler warnings
      Quiet a more subtle potentially-uninitialized warning
      More quieting of subtle potentially-uninitialized warnings
      Include cairoint.h first to satisfy the test suite
      Mark cairo-quartz as officially supported
      Doc SGML template churn
      NEWS: Add notes for the cairo 1.5.16 snapshot
      Increment version to 1.5.16 and library versioning to 19:0:17

Chris Wilson (3):
      [cairo-png] Set bKGD gray value.
      [cairo-gstate] Remove dead code.
      [cairo] Fixup make check.

Emmanuel Pacaud (1):
      [SVG] Fix stroke-image test failure.

Vladimir Vukicevic (12):
      [quartz] When stroking with an image source, use the right CTM for the image
      [osx] additional fix to configure for multi-arch OSX builds
      [win32] Prevent crash in create_similar if win32_surface_create fails
      [cgfont] Add start of CGFont font backend to replace ATSUI
      [cgfont] Add CGFont backend to replace deprecated ATSUI backend
      [cgfont] Fix whitespace errors
      [cgfont] Round surface rectangle outwards to ensure whole-pixel dimensions
      [quartz] Handle further 10.4 vs. 10.5 differences; fix text AA handling
      [quartz] Update Quartz test reference images
      [doc] Add some Quartz/CGFont documentation templates
      [quartz] Update documentation
      [quartz] Remove cairo-atsui-font.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.cairographics.org/archives/cairo-announce/attachments/20080401/4f877580/attachment.pgp 

More information about the cairo-announce mailing list