NEWS: Add notes for cairo 1.5.12

This commit is contained in:
Carl Worth 2008-02-28 14:36:47 -08:00
parent fbd29a4025
commit 81175110ab

94
NEWS
View file

@ -1,3 +1,97 @@
Snapshot 1.5.12 (2008-02-28 Carl Worth <cworth@cworth.org>)
===========================================================
This is the sixth snapshot in cairo's unstable 1.6 series. It comes 1
week after the 1.5.10 snapshot. This snapshot includes the
long-awaited change from 16.16 to 24.8 fixed-point values, (see below
for why you should care). It also includes several backend-specific
bug fixes.
24.8 fixed-point format
-----------------------
Cairo has always converted path coordinates to a fixed-point
representation very early in its processing. Historically, this has
been a 32-bit representation with 16 bits of integer for the
device-pixel grid and 16 bits of sub-pixel positioning. The choice of
16 bits for the integer coordinate space was based on the 16-bit limit
for X Window drawables.
This 16-bit limit has proven problematic for many applications. It's
an especially vexing problem when targeting non-X backends that don't
have any 16-bit restriction. But even when targeting cairo-xlib, it's
often desirable to draw a large shape, (say a background rectangle),
that extends beyond the surface bounds and expect it to fill the
surface completely, (rather than overflowing and triggering random
behavior).
Meanwhile, nobody has ever really needed 16 bits of sub-pixel precision.
With this snapshot, the fixed-point system is still in place and is
still using a 32-bit representation, (future versions of cairo might
move entirely to floating-point when targeting PDF output for
example). But the representation now provides 24 bits of pixel
addressing and only 8 bits of sub-pixel positioning. It is hoped that
this larger space is adequate to avoid pain for many application
developers.
Note that the 24-bit limitation is only on the range of the allowable
device space. It is still legitimate to arrange a transformation
matrix that provides an arbitrarily large user-space, (the space in
which floating-point values are provided to cairo), as long as the
post-transformed values fit within the 24.8 representation.
generic fixes
-------------
Add a few tests to the test suite to increase coverage.
Cleanup a few error-handling paths, (propagate error correctly).
cairo-ft
--------
Fix handling of font sizes smaller than 1 device pixel.
cairo-pdf
---------
Fix to properly save/restore clip when analyzing meta-surface
patterns, (fixing a couple of test-suite failures).
Implement native support for CAIRO_OPERATOR_SOURCE when the source
pattern is opaque.
Emit rectangles as PDF rectangles ("re" operator) rather than as
general paths.
cairo-ps
--------
Fix to work properly with the 16.16->24.8 change.
cairo-svg
---------
Fix CAIRO_EXTEND_REFLECT by using an image fallback, (there's no
direct SVG support for reflected patterns).
Fix the use of alpha-only masks, (such as CAIRO_FORMAT_A8).
cairo-quartz
------------
Add new API for efficiently using image data as a source:
cairo_surface_t *
cairo_quartz_image_surface_create (cairo_surface_t *image_surface);
cairo_surface_t *
cairo_quartz_image_surface_get_image (cairo_surface_t *surface);
For full documentation, see:
http://cairographics.org/manual/cairo-Quartz-Surfaces.html#cairo-quartz-image-surface-create
Several fixes for cairo_mask().
cairo-atsui
-----------
Change default from from Monaco to Helvetica to be more consistent
with other font backends.
Snapshot 1.5.10 (2008-02-20 Carl Worth <cworth@cworth.org>)
===========================================================
This is the fifth snapshot in cairo's unstable 1.5 series. It comes 3