By Forrest Cook
April 15, 2008
The cairo project is producing
a cross-platform universal vector graphics library:
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), Quartz, and XCB.
Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension).
Cairo is used by the GNOME and desktop environment and some
KDE applications.
The Wikipedia
article
on cairo has more background information on the project.
LWN investigated
cairo back in August, 2005 at the time of the 0.9.0 release.
Progress on cairo has been steady since then, with releases coming out
frequently.
Major version 1.6.0 of cairo was recently
announced:
This is a major update to cairo, with new
features and enhanced functionality which maintains compatibility for
applications written using cairo 1.4, 1.2, or 1.0. We recommend that
anybody using a previous version of cairo upgrade to cairo 1.6.0.
A list of the major changes in cairo 1.6.X includes:
- The pdf generation has been greatly improved, the number of rasterized image fallbacks has been greatly reduced.
- The PostScript and PDF output code have had a number of efficiency and portability improvements.
- The pixman library has been split out so that it can be shared by cairo and the X server.
- Cairo 1.6.X now supports arbitrary X trueColor and 8-bit PseudoColor visuals.
- The Mac OS X Quartz backend is now an official part of cairo and the API has been stabilized.
- A new win32 printing backend has been added.
- There have been a number of minor API additions to cairo.
- Numerous "robustness fixes" have been added.
- Other enhancements and bug fixes have been added.
As is typical with major releases, several bug fix releases quickly
followed. The first was
version 1.6.2
which addressed a problem with certain PostScript printers.
That was followed by
version 1.6.4:
"The cairo community is wildly embarrassed to announce the 1.6.4
release of the cairo graphics library. This release reverts the xlib
locking change introduced in 1.6.[2], (and the application crashes that
it caused)." Hopefully the code will now stabilize and be
adopted by the upstream applications.
Congratulations go out to Carl Worth and the other cairo developers
for this major release and their continued work on this important project.
(
Log in to post comments)