[cairo-announce] cairo snapshot 1.3.10 now available

Carl Worth cworth at cworth.org
Sat Dec 23 00:51:53 PST 2006


A new cairo snapshot 1.3.10 is now available from:

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

    which can be verified with:

        http://cairographics.org/snapshots/cairo-1.3.10.tar.gz.sha1
        0a899378673bfda49d1b7530405d62c24b9e051a  cairo-1.3.10.tar.gz

        http://cairographics.org/snapshots/cairo-1.3.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.3.10 tag which points to a commit named:
        b35cfde7f0e2896ccc1453f9716cb9b61c42cf94

    which can be verified with:
        git verify-tag 1.3.10

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

Santa Claus is coming just a little bit early this year, and he's
bringing a shiny new cairo snapshot for all the good little boys and
girls to play with.

This is the fifth development snapshot in the 1.3 series. It comes 9
days after the 1.3.8 snapshot, and still well within our goal of
having a new snapshot every week, (though don't expect one next
week---we'll all be too stuffed with sugar plums).

Speaking of sugar plums, there's a sweet treat waiting in this cairo
snapshot---greatly improved performance for stroking rectilinear
shapes, like the ever common rectangle:

image-rgb          box-outline-stroke-100 0.18 -> 0.01: 25.58x speedup
████████████████████████▋
image-rgba         box-outline-stroke-100 0.18 -> 0.01: 25.57x speedup
████████████████████████▋
xlib-rgb          box-outline-stroke-100 0.49 -> 0.06:  8.67x speedup
███████▋
xlib-rgba         box-outline-stroke-100 0.22 -> 0.04:  5.39x speedup
████▍

In past releases of cairo, some people had noticed that using
cairo_stroke to draw rectilinear shapes could be awfully slow. Many
people had worked around this by using cairo_fill with a more complex
path and gotten a 5-15x performance benefit from that.

If you're one of those people, please rip that workaround out, as now
the more natural use of cairo_stroke should be 1.2-2x faster than the
unnatural use of cairo_fill.

And if you hadn't ever implemented that workaround, then you just
might get to see your stroked rectangles now get drawn 5-25x faster.

Beyond that performance fix, there are a handful of bug fixes in this
snapshot:

 * Fix for glyph cache race condition in glitz backend (Jinghua Luo)

 * Many fixes for ATSUI text rendering (Brian Ewins)

 * Un-break recent optimization-triggered regression in rendering text
   with a translation in the font matrix (Behdad Esfahbod)

 * Fix make check to work on OPD platforms (IA64 or PPC64)
   (Frederic Crozat)

 * Fix a couple of character spacing issues on Windows
    (Jonathan Watt)

Have fun with that, everybody, and we'll be back for more in the new
year, (with a plan to add the last of our performance improvements in
this round, fix a few bad, lingering bugs, and then finish off a nice,
stable 1.4 release before the end of January).

-Carl

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 including 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,
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

Log of change from 1.3.8 to 1.3.10
==================================
Behdad Esfahbod (12):
      [pdiff] Fix compiler warnings, that were causing crashes
      [pdiff] Use CAIRO_CFLAGS, to make sure warnings are enabled
      [cairo-gstate] Don't bypass glyph transformation if font_matrix has translation (#9365)
      [test] Fix typo in test comment
      [test] Add ft-text-vertical-layout-type3-ps-argb32-ref.png
      [configure] Use AC_C_INLINE to correctly define inline
      [pdiff] Don't use float math functions if not using gcc with C99
      [pdiff] Define _GNU_SOURCE to get correct symbols out of <math.h>
      [PS] Fix typo in comment emitted for Type1 fallback font subsets
      [type1-subset] Return UNSUPPORTED for vertical fonts
      [tests/ft-text-vertical-layout-type3] Remove comment that this emits Type3 font
      [test] Fix typo in test comment, again

Brian Ewins (3):
      [ATSUI] Support disabling antialiased text
      [ATSUI] Round glyph locations to nearest pixel
      [ATSUI] Use screen metrics instead of ideal metrics to compute glyph extents

Carl Worth (14):
      Bump cairo version to 1.3.9 after making 1.3.8 snapshot
      Merge branch 'master' of git.cairographics.org:/git/cairo into cairo
      test/.gitignore: Ignore binarries for some recently added tests
      Rename cairo-path.c to cairo-path-fixed.c
      Rename cairo-path-data.c to cairo-path.c (and similar)
      Rename remaining cairo_path_data to cairo_path in function names, etc.
      Add new rectilinear-stroke test
      Reimplement path.has_current point as a 1-bit bitfield
      Put ft-text-vertical-layout-type1 back on the XFAIL list
      Add optimization for rectilinear stroke
      Ignore another test case binary
      Annoying template churn
      NEWS: Add notes for 1.3.10 snapshot
      Increment cairo version to 1.3.10 (and libtool versioning to 12:3:10)

Frederic Crozat (1):
      [check-defs.sh] Fix make check for OPD platforms

Jinghua Luo (1):
      Glitz: fix a potential use after free bug in _cairo_glitz_surface_old_show_glyphs.

Jonathan Watt (3):
      revert accidental mode changes in my previous commit
      Fix a couple of character spacing issues on Windows
      Merge branch 'master' of git://git.cairographics.org/git/cairo

M Joonas Pihlaja (1):
      New performance test case "mosaic" for splines.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo-announce/attachments/20061223/6828962a/attachment.pgp


More information about the cairo-announce mailing list