mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-06 12:00:22 +01:00
NEWS: Add notes for 1.6.0 release
This commit is contained in:
parent
aadbaf7d99
commit
709805c26f
1 changed files with 190 additions and 8 deletions
198
NEWS
198
NEWS
|
|
@ -1,3 +1,193 @@
|
|||
Release 1.6.0 (2008-04-10 Carl Worth <cworth@cworth.org>)
|
||||
=========================================================
|
||||
The cairo community is quite pleased to announce the 1.6.0 release of
|
||||
the cairo graphics library. 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.
|
||||
|
||||
The most significant new features in this release are dramatically
|
||||
improved PDF and PostScript[*] output, support for arbitrary X server
|
||||
visuals (including PseudoColor), a new Quartz backend, and and a new
|
||||
"win32 printing" backend. See below for more details on these and
|
||||
other new features.
|
||||
|
||||
New dependency on external pixman library (Thanks, Søren!)
|
||||
----------------------------------------------------------
|
||||
As of cairo 1.6, cairo now depends on the pixman library, for which
|
||||
the latest release can be obtained alongside cairo:
|
||||
|
||||
http://cairographics.org/releases/pixman-0.10.0.tar.gz
|
||||
|
||||
This library provides all software rendering for cairo, (the
|
||||
implementation of the image backend as well as any image fallbacks
|
||||
required for other backends). This is the same code that was
|
||||
previously included as part of cairo itself, but is now an external
|
||||
library so that it can be shared by both cairo and by the X server,
|
||||
(which is where the code originated).
|
||||
|
||||
Improved PDF, PostScript, and SVG output (Thanks, Adrian!)
|
||||
----------------------------------------------------------
|
||||
Users of the cairo-pdf, cairo-ps, and cairo-svg should see a dramatic
|
||||
improvement from cairo 1.2/1.4 to 1.6. With this release there are now
|
||||
almost no operations that will result in unnecessary rasterization in
|
||||
the PDF and PostScript. Rasterized "image fallbacks" are restricted
|
||||
only to minimal portions of the document where something is being
|
||||
drawn with cairo that is beyond the native capabilities of the
|
||||
document, (this is rare for PDF or SVG, but occurs when blending
|
||||
translucent objects for PostScript).
|
||||
|
||||
This means that the final output will be of higher quality, and will
|
||||
also be much smaller, and therefore will print more quickly. The
|
||||
machinery for doing analysis and minimal fallbacks also benefits the
|
||||
win32-printing surface described below.
|
||||
|
||||
In addition to doing less rasterization, the PostScript and PDF output
|
||||
also has several other improvements to make the output more efficient
|
||||
and more compatible with specifications.
|
||||
|
||||
[*] Note: Just before this release, a bug has been reported that the
|
||||
PostScript output from cairo can crash some printers, (so far the
|
||||
following models have been reported as problematic Xerox Workcentre
|
||||
7228 or 7328 and Dell 5100cn). We will implement a workaround as soon
|
||||
as we can learn exactly what in cairo's output these printers object
|
||||
to, (and we could use help from users that have access to misbehaving
|
||||
printers). This bug is being tracked here:
|
||||
|
||||
Printing some PDFs from evince is crashing our Xerox printer
|
||||
http://bugs.freedesktop.org/show_bug.cgi?id=15348
|
||||
|
||||
New support for arbitrary X server visuals (Thanks, Keith and Behdad!)
|
||||
----------------------------------------------------------------------
|
||||
As of cairo 1.6, cairo should now work with an arbitrary TrueColor or
|
||||
8-bit PseudoColor X server visual. Previous versions of cairo did not
|
||||
support these X servers and refused to draw anything. We're pleased to
|
||||
announce that this limitation has been lifted and people stuck with
|
||||
ancient display systems need no longer be stuck with ancient software
|
||||
just because of cairo.
|
||||
|
||||
New, supported Quartz backend for Mac OS X (Thanks, Brian and Vladimir!)
|
||||
------------------------------------------------------------------------
|
||||
As of cairo 1.6, the cairo-quartz backend is now marked as "supported"
|
||||
rather than "experimental" as in previous cairo releases. Its API now
|
||||
has guarantees of API stability into future cairo releases, and its
|
||||
output quality is comparable to other backends. There have been
|
||||
significant improvements to cairo-quartz since 1.4. It now uses many
|
||||
fewer image fallbacks, (meaning better performance), and has greatly
|
||||
improved text rendering.
|
||||
|
||||
New, "win32 printing" backend (Thanks, Adrian and Vladimir!)
|
||||
------------------------------------------------------------
|
||||
A new win32-printing surface has been added with an interface very
|
||||
similar to the original win32 surface, (both accept an HDC
|
||||
parameter). But this new surface should only be called with a printing
|
||||
DC, and will result in all drawing commands being stored into a
|
||||
meta-surface and emitted after each page is complete. This allows
|
||||
cairo to analyze the contents, (as it does with PDF, PostScript, and
|
||||
SVG backends), and to do minimal image-based fallbacks as
|
||||
necessary. The analysis keeps things as efficient as possible, while
|
||||
the presence of fallbacks, (when necessary), ensure the consistent,
|
||||
high-quality output expected from cairo.
|
||||
|
||||
Robustness fixes (Thanks, Chris!)
|
||||
---------------------------------
|
||||
There has been a tremendous number of improvements to cairo's
|
||||
robustness. Areas that have been improved include:
|
||||
|
||||
* Proper reporting of errors
|
||||
|
||||
* Responding correctly to invalid input
|
||||
|
||||
* Avoiding integer overflows
|
||||
|
||||
* Avoiding memory leaks on error-recovery paths
|
||||
|
||||
* Making reference counting thread safe
|
||||
|
||||
* Exhaustive testing of memory allocation points
|
||||
|
||||
Other fixes (Thanks, everybody!)
|
||||
--------------------------------
|
||||
Cairo's internal fixed-point representation has been changed from
|
||||
16.16 to 24.8. This has a direct impact on applications as it allows
|
||||
much larger objects to be drawn before internal limits in cairo make
|
||||
the drawing not work.
|
||||
|
||||
The CAIRO_EXTEND_PAD mode is now fully supported by surface
|
||||
patterns. This mode allows applications to use cairo_rectangle and
|
||||
cairo_fill to draw scaled images with high-quality bilinear filtering
|
||||
for the internal of the image, but without any objectionably blurry
|
||||
edges, (as would happen with the default EXTEND_NONE and cairo_paint).
|
||||
|
||||
Rendering with CAIRO_ANTIALIAS_NONE has been fixed to be more
|
||||
predictable, (previously image rendering and geometry rendering would
|
||||
be slightly misaligned with respect to each other).
|
||||
|
||||
The reference manual at http://cairographics.org/manual now documents
|
||||
100% of the functions and types in cairo's public API.
|
||||
|
||||
API additions
|
||||
-------------
|
||||
Several small features have been added to cairo with new API functions:
|
||||
|
||||
cairo_format_stride_for_width
|
||||
|
||||
Must be called to compute a properly aligned stride value before
|
||||
calling cairo_image_surface_create_for_data.
|
||||
|
||||
cairo_has_current_point
|
||||
|
||||
Allows querying if there is a current point defined for the
|
||||
current path.
|
||||
|
||||
cairo_path_extents
|
||||
|
||||
Allows querying for path extents, (independent of any fill or
|
||||
stroke parameters).
|
||||
|
||||
cairo_surface_copy_page
|
||||
cairo_surface_show_page
|
||||
|
||||
Allow beginning a new document page without requiring a cairo_t
|
||||
object.
|
||||
|
||||
cairo_ps_surface_restrict_to_level
|
||||
cairo_ps_get_levels
|
||||
cairo_ps_level_to_string
|
||||
cairo_ps_surface_set_eps
|
||||
|
||||
Allow controlling the Post PostScript level, (2 or 3), to
|
||||
target, as well as to generate Encapsulated PostScript (EPS).
|
||||
|
||||
cairo_quartz_font_face_create_for_cgfont
|
||||
|
||||
Create a quartz-specific cairo_font_face_t from a CGFontRef.
|
||||
|
||||
cairo_win32_font_face_create_for_logfontw_hfont
|
||||
|
||||
Create a win32-specific cairo_font_face from a LOGFONTW and an
|
||||
HFONT together.
|
||||
|
||||
Thanks, Everyone!
|
||||
-----------------
|
||||
I've accounted for 32 distinct people with attributed code added to
|
||||
cairo between 1.4.14 and 1.6.0, (their names are below). That's an
|
||||
impressive number, but there are certainly dozens more that
|
||||
contributed with testing, suggestions, clarifying questions, and
|
||||
encouragement. I'm grateful for the friendships that have developed as
|
||||
we have worked on cairo together. Thanks to everyone for making this
|
||||
all so much fun!
|
||||
|
||||
Adrian Johnson, Alp Toker, Antoine Azar, Behdad Esfahbod,
|
||||
Benjamin Otte, Bernardo Innocenti, Bertram Felgenhauer,
|
||||
Boying Lu, Brian Ewins, Carl Worth, Chris Heath, Chris Wilson,
|
||||
Claudio Ciccani, Emmanuel Pacaud, Jeff Muizelaar, Jeremy Huddleston,
|
||||
Jim Meyering, Jinghua Luo, Jody Goldberg, Jonathan Gramain,
|
||||
Keith Packard, Ken Herron, Kouhei Sutou, Kristian Høgsberg,
|
||||
Larry Ewing, Martin Ejdestig, Nis Martensen, Peter Weilbacher,
|
||||
Richard Hult, Shailendra Jain, Søren Sandmann Pedersen,
|
||||
Vladimir Vukicevic
|
||||
|
||||
Snapshot 1.5.20 (2008-04-04 Carl Worth <cworth@cworth.org>)
|
||||
===========================================================
|
||||
This is the tenth snapshot in cairo's unstable 1.5 series. It comes
|
||||
|
|
@ -155,7 +345,6 @@ lack of coverage in our test suite):
|
|||
CGFont backend returns 0 font extents
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=15319
|
||||
|
||||
|
||||
Snapshot 1.5.16 (2008-04-01 Carl Worth <cworth@cworth.org>)
|
||||
===========================================================
|
||||
This is the eighth snapshot in cairo's unstable 1.5 series. It comes
|
||||
|
|
@ -385,13 +574,6 @@ fixes the following bug:
|
|||
Cairo doesn't support 8-bit pseudocolor visuals
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=4945
|
||||
|
||||
Unresolved issues (must be fixed before cairo 1.6)
|
||||
--------------------------------------------------
|
||||
XXX: Need to decide if cairo_image_surface_create_for_data should be
|
||||
documented and tested as supporting an image with a negative
|
||||
stride. Also need to decide the correct return value for
|
||||
cairo_format_stride_for_width in case of any error.
|
||||
|
||||
Snapshot 1.5.12 (2008-02-28 Carl Worth <cworth@cworth.org>)
|
||||
===========================================================
|
||||
This is the sixth snapshot in cairo's unstable 1.5 series. It comes 1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue