[cairo-announce] cairo snapshot 1.11.2 now available
Chris Wilson
chris at chris-wilson.co.uk
Sun Jan 23 08:59:00 PST 2011
A new cairo snapshot 1.11.2 is now available from:
http://cairographics.org/snapshots/cairo-1.11.2.tar.gz
which can be verified with:
http://cairographics.org/snapshots/cairo-1.11.2.tar.gz.sha1
40b9e1066fcd33c2aeecd800764b1aa5a0ac7bde cairo-1.11.2.tar.gz
http://cairographics.org/snapshots/cairo-1.11.2.tar.gz.sha1.asc
(signed by Chris Wilson)
Additionally, a git clone of the source tree:
git clone git://git.cairographics.org/git/cairo
will include a signed 1.11.2 tag which points to a commit named:
ac9ee388faf3c8c5df502f6cc7b039f043154954
which can be verified with:
git verify-tag 1.11.2
and can be checked out with a command such as:
git checkout -b build 1.11.2
Snapshot 1.11.2 (2011-01-23)
===========================
In this first snapshot along the way to cairo-1.12.0, we are very excited
to announce the introduction of Bezier surface gradients, known as type
6/7 gradients in PS/PDF parlance. This is the culmination of much work by
the dynamic duo: Adrian Johnson and Andrea Canciani. Thanks guys!
Also, I want to warmly welcome Uli Schlachter who recently joined the
Cairo community on a mission. That mission is to make cairo-xcb a
supported backend for 1.12. And for this snapshot he has made great
strides in fixing all the bugs I had left behind. Thanks Uli!
And we have also seen a new contributor, Alexandros Frantzis, who has
begun bringing up cairo-gl for GLESv2 devices. Thanks Alex!
And lastly, I must also thank Adrian and Andrea for the vast numbers of
bugs that they have tackled between them, fixing all those little corner
cases that lie hidden until too late.
-Chris
API additions:
The ability to construct piece-wise Bezier surface gradients:
cairo_pattern_create_mesh
constructs a pattern of type CAIRO_PATTERN_TYPE_MESH using
cairo_pattern_mesh_begin_patch
cairo_pattern_mesh_end_patch
cairo_pattern_mesh_curve_to
cairo_pattern_mesh_line_to
cairo_pattern_mesh_move_to
cairo_pattern_mesh_set_control_point
cairo_pattern_mesh_set_corner_color_rgb
cairo_pattern_mesh_set_corner_color_rgba
cairo_pattern_mesh_get_patch_count
cairo_pattern_mesh_get_path
cairo_pattern_mesh_get_corner_color_rgba
cairo_pattern_mesh_get_control_point
The introduction of a unique ID accessible via the mime data type:
CAIRO_MIME_TYPE_UNIQUE_ID
List of all changes between 1.10.0 and 1.11.2
---------------------------------------------
Adrian Johnson (74):
Fix font metrics in PDF Type 1 fonts
Add capability for font subsets to put latin glyphs in a separate subset
pdf-operators: output (abc) style strings when font is latin
Return latin to glyph mapping in cairo_scaled_font_subset_t
Add winansi glyph names
Type 1 subsetting: add support for latin subsets
Type 1 fallback: add support for latin subsets
PS: Enable support for latin subsets
TrueType subsetting: embed a cmap for latin subsets
PDF: Add support for latin subsets
pdf-operators: fix bug that was causing unnecessary repositioning of text
Fix font metrics in PDF Type 1 fonts
pdf-operators: fix bug that was causing unnecessary repositioning of text
pdf-operators: word wrap latin text strings
Don't embed cmap in TrueType fonts embedded in PostScript
CFF subset: add support for latin subsets
PS: Allow %%BoundingBox and %%PageBoundingBox to be overriden using DSC comments
remove unused variable
Fix bug in subsetting check for winansi characters
Don't put Type3 glyphs in latin subsets
Refresh ft-show-glyphs-positioning pdf ref image
Rewrite pdf-operators word wrapping
PDF: Fix regression in EXTEND_NONE gradients
PS: Remove redundant code
PDF: Remove radial gradient fallback
PS: Remove radial gradient fallback
Type 1 subset: Fix glyph advance
PDF: Fix regression in EXTEND_NONE gradients
Type 1 subset: Fix glyph advance
PDF: Don't use the currently set color after a 'Q' operator
PDF: Don't use the currently set color after a 'Q' operator
PDF: Use correct bfchar size in toUnicode for latin fonts
CFF Subset: Remove debug code
configure.ac.features: s/Meta/Recording/
Fix type1-fallback bbox
Move glyph names into separate file
Type 1 glyph names: Do not use an array of pointers for winansi glyph names
PDF: Fix toUnicode for CID fonts
PDF: Restrict ActualText to PDF version >= 1.5
win32: Use a font_face hash table to provide unique font faces
win32-print: print as unicode where possible
win32: fix font_face hashing
PS/PDF: Fix regression when changing page size to a larger size
PS: Fix regression - missing page content in EPS output
PS: Fix regression - incorrect EPS bounding box
Fix regression in fallback-resolution test
configure.ac.features: s/Meta/Recording/ (cherry picked from commit 8f2f5e5ad4f8e5f18da903865bb2d2afce3a544e)
Fix type1-fallback bbox (cherry picked from commit 74873c82242e9c124b69e05d0f8abdf78983d62d)
PDF: Restrict ActualText to PDF version >= 1.5
PS/PDF: Fix regression when changing page size to a larger size
PS: Fix regression - missing page content in EPS output
PS: Fix regression - incorrect EPS bounding box
Add unique_id mime type
Use fallback font for synthetic fonts
win32: add synthetic font subsetting support
Document load_truetype_table function and ensure ft-font and Win32-font are compliant
Check table size in cairo_truetype_get_style()
Automate error checking for ps-eps test
Fix xml-surface use of load_truetype_font
Check is_synthetic() font backend exists before calling it
PDF: Add missing clipper_reset
Truetype subset: add missing unicode ranges to cmap
PDF: Add missing clipper_reset (cherry picked from commit 2ae2be36d4551906fd4edbc8bf07aaa7fe0c93cf)
Fix fallback-resolution test
Boilerplate: Set fallback resolution using force_fallbacks function
Change fallback resolution test to use resolutions in multiples of 72
CFF subset: fix subsetting of Euro glyph
CFF subset: fix bug with euro glyph in fallback fonts
CFF Subsetting: Subset subroutines
PDF: Output a stencil mask for cairo_mask() with solid source and A1 mask
mesh: Add mesh pattern type and enum values
pdf,ps: Add native mesh pattern support
pattern: Add public mesh pattern API
test: Add tests for mesh patterns
Alexandros Frantzis (10):
gl: Add functions to query GL version and extensions
gl: Add infrastructure for calling GL functions using a dispatch table
gl: Embed the GL dispatch table in the cairo-gl context and initialize it.
gl: Add definitions for the core variant names of used GL constants
gl: Use the dispatch table for calling ARB/EXT functions
gl: Use the GL core 2.0 shader implementation for both GL 1.x ARB and GL 2.x
gl: Remove GL 1.x ARB shader implementation
gl: Replace GLEW by using the facilities provided by cairo-gl-info
gl: Remove GLEW from the build system and the source tree
gl: Fix condition that prevents setting the size of window surfaces
Andrea Canciani (179):
test: do not leak resources
image: add _cairo_image_reset_static_data
test: do not leak resources
xcb: Do not return value in void function
quartz: Remove unused argument from _cairo_surface_to_cgimage
quartz: Assert upon invalid enum values
quartz: Check for valid patterns
quartz: Don't typecast surfaces
quartz: Fix function call coding style
quartz: Mark failures as unlikely
quartz: Whitespace cleanup
quartz: Beautify code
quartz: Use NOTHING_TO_DO instead of SUCCESS where appropriate
quartz: Simplify cairo_quartz_surface_create_for_cg_context
quartz: Remove useless code
quartz: Improve handling of surface creation failure
quartz: Improve _cg function types
quartz: Handle failures in _cairo_quartz_setup_fallback_source
test: Make tests run in natural order
test: Add a new test result html page
test: Remove old html infrastructure
test: Update ref images for radial tests
quartz: Remove linear gradient fallback
quartz: Make radial gradients follow PDF specification
quartz: Remove unused code
Add _cairo_rectangle_union
quartz: Improve gradient consistency
quartz: Fix EXTEND_PAD gradients
quartz: Improve gradient quality
quartz: Remove DO_NOTHING and DO_UNSUPPORTED actions
quartz: Set operator when setting up source
quartz: Unify DO_SOLID and DO_PATTERN
quartz: Unify DO_SHADING, DO_IMAGE and DO_TILED_IMAGE
quartz: Move drawing state out of surface
quartz: Cleanup gradient setup functions
quartz: Remove unused imageSurface field
test: Add romedalen images copyright information
test: Fix get-path-extents
path: Replace _cairo_path_fixed_is_equal with _cairo_path_fixed_equal
path: Do not access flags directly
path: Improve hashing
path: Make path equality independent of flags
path: Rename _cairo_path_last_op to _cairo_path_fixed_last_op
path: Add utility functions
path: Simplify close_path
path: Cleanup _cairo_path_fixed_line_to
box: Add box header
box: Add _cairo_box_add_curve_to
path: Move _cairo_path_fixed_add at the end of line_to and curve_to
path: Drop degenerate line_to in _cairo_path_fixed_curve_to
path: New path construction logic
path: Add stroke_is_rectilinear flag
path: Rename fill optimization flags
path: Log flags
path: Cleanup _cairo_path_fixed_transform
path: Cleanup _cairo_path_fixed_iter_at_end
path: Make _cairo_path_fixed_last_op assert on empty path
path: Cleanup close_path
path: Recompute flags in _cairo_path_fixed_translate
path: Transform current_point and last_move_to in _cairo_path_fixed_scale_and_offset
path: Recompute flags in _cairo_path_fixed_scale_and_offset
path: Fix _cairo_path_fixed_transform
path: Replace _cairo_path_fixed_extents_add with _cairo_box_add_point
Fix degenerate arcs
path: Tighten curve_to extents
path-bounder: Simplify code
path: Tighten transformed extents
drm: Do not access path flags directly
path: Solve co-dependency problem
cff: Fixes for 'make check'
script: Fix compilation
quartz-font: Add truetype font table tags accessor
quartz-font: Do not leak CFDataRef's
image: Use correct size for allocation
image: Use correct size for allocation
configure: Correct reporting of tee backend
quartz-font: Implement new load_truetype_table semantics
ps: Fix painting
ps: Fix painting
array: Remove snapshot support
array: Add read-only accessor
array: Cleanup types
configure: Correct reporting of tee backend
Fix degenerate arcs
test: Add romedalen images copyright information
xcb: Do not return value in void function
array: Silence warnings
pdf: Silence compiler warnings
array: Fix comment
test: Add rectilinear-grid
image: Fix compositing of unaligned boxes
image: Fix _pixel_to_solid
test: Fix ref images
test: Add rectilinear-grid
image: Fix compositing of unaligned boxes
test: Fix ref images
test: Handle crashed tests
arc: Avoid infinite loop
arc: Clamp to 65536 full circles
test: Add arc-looping-dash
test: Add arc-infinite-loop
surface: Remove _cairo_surface_fill_rectangle
pdf: Use composite rectangles in fill_stroke
surface: Remove _cairo_surface_*_extents
path: Cleanup unused current_point
path: Always interpret in forward direction
path: Remove support for inverse direction interpretation
fill: Simplify path to polygon conversion
polygon: Merge _cairo_polygon_init and _cairo_polygon_limit
test: Update reference images list
pdf: Use switch instead of multiple if's
ps: Use switch instead of multiple if's
pattern: Specialise signatures of pattern specific functions
pattern: Improve extents computation of radial gradients.
ps, pdf, pattern: Implement _cairo_pattern_alpha_range to analyse patterns.
ps: Avoid unneeded fallbacks for gradients with opaque stops.
pattern: Compute a covering parameter range of a gradient for a box.
pattern: Use pattern parameter range when analysing all gradients.
pattern: Add a function to interpolate gradient objects.
quartz: Unify gradient construction and fix radial gradients.
pdf: Unify gradient emitters and support all extend modes.
ps: Unify gradient emitters and support all extend modes.
ps,pdf: Deal with empty domain gradients.
test: Update ref images
path: Silence warnings
test: Add bug-extents
path-bounder: Update current point after curve_to op
test: Add bug-extents
gl: Fix #include's to pass 'make check'
quartz: Clean up dynamically loaded functions
quartz: Don't dynamically load unused functions
quartz: Use native PDF blend modes
Keep makefiles in alphabetical order
gstate: Disallow incomplete mesh gradient sources
Add mesh gradient rasterizer
script: Add support for mesh patterns
test: Extend pattern-get-type and pattern-getters for mesh patterns
doc: Add documentation for the mesh API
pattern: Remove unused 'opaque' variable
pattern: Use cairo_color_stop_t when hashing gradient stops
pattern: Make functions not used elsewhere static
test: New radial-gradient tests
matrix: Cairo matrix to pixman transform/offset conversion
test: Make huge-* test gradients not within pixed_fixed_t range
pattern: Factor out pattern rescaling
test: Huge means more than MAX_INT
pattern: Use double precision for gradient extreme objects
matrix: Fix warnings about documentation by 'make check'
pattern: Remove unused _cairo_pattern_size function
xcb: Correct handling of index 0 glyphs
xcb: Stricter glyph validation
xcb: Handle a wider range of glyph positions
xlib: Handle a wider range of glyph positions
doc: Add links to flush() and mark_dirty() in direct access functions
test: Add white-in-noop
test: Add missing ref image to REFERENCE_IMAGES
Fix optimization of white IN dest compositing
xcb: Add a short comment to the Picture cache
mesh: Do not declare min and max functions
gl: Ensure that gl surface resizes are properly applied
gl: Update radial gradient implementation
gl: Don't ignore offset for gradient sources
pdf,ps,quartz: Use correct tolerance for gradient domain computation
Add a results.tar.gz target to the test Makefile
test: Fix operator-alpha-alpha
test: Update quartz ref images
quartz: Use standard stack allocation size
quartz: Make huge domain handling more stable
quartz: Do not use opaque patterns as masks
quartz: Cleanup extents computation
quartz: Use CGLayer to implement unbounded operators
quartz: Avoid using private APIs
quartz: Respect pattern filter settings
test: Workaround pixman limits in large-source-roi
Bump pixman requirements to 0.20.2 for radial gradients
clip: Improve _cairo_clip_contains_*
test: Add group-state
gstate: Set an error status when restoring a push_group
gstate: Remove unused code
Behdad Esfahbod (2):
Fix typo
Add note re gtk-doc.make
Benjamin Otte (4):
build: Don't build cairo-fdr when the tee surface is off
build: Don't build cairo-fdr when the tee surface is off
xlib: Add more _cairo_error() calls
xcb: Add more _cairo_error() calls
Carlos Garcia Campos (4):
doc: Add section for recording surface
recording: Add section doc comments
recording: Fix cairo_recording_surface_create() doc comments
recording: Document CAIRO_HAS_RECORDING_SURFACE macro
Chris Wilson (31):
version: 1.10.1 open for bugfixing
configure: Fix typo "(requires both --enable-xcb)"
cairo: Remove trailing comma from cairo_device_t
drm: Add missing header file for tarball
version: 1.11.1
image: Silence a compile warning
test: Add a8-clear
image: The a8 in-place span compositing is only valid for SOURCE
Merge branch '1.10'
xcb: Correct a minor typo prevent an assert from firing
xcb: Fix reduction of clipping for bounded glyphs.
xcb,image: Fix a missing clip fini
xcb: Pass clip to composite_glyphs_via_mask
perf: Only print description once per backend
configure: Remove noisy -Wlogical-op
drm/intel: Drop the bo cache.
pdf: Silence compiler for an impossible case
wgl: Use CreateWindowA with an ASCII string
scaled-font: assert that we hold the scaled-font mutex when looking up glyphs
test/arc-infinite-loop: Random return value fun.
gl: Enable PLT symbol hiding for dispatch entries
Add a KNOWN_ISSUES file to track WONTFIX(?) bugs
NEWS: Add entry for 1.10.2
version: Bump for 1.10.2 release
version: Post release version bump
xcb: Apply a clip region for compositing many-pixel-aligned-boxes
xcb: Prefer RenderFillRectangles to perform the deferred clear
Makefile: add missing cairo-box-private.h
Merge branch '1.10' into tmp
NEWS: 1.11.2 snapshot
version: Bump for 1.11.2 snapshot
Eric Anholt (1):
gl: Avoid using gl_FragCoord for linear gradients.
Erik Zeek (2):
Fix build on gentoo
Fix build on gentoo
Jeff Muizelaar (2):
Fix degenerate vertical path bounds.
Sync get-path-extents test with the one on 1.10.
Joerg Sonnenberger (2):
LD_PRELOAD is supported on DragonFly.
LD_PRELOAD is supported on DragonFly.
Koji Otani (2):
PS: fix embedding of grayscale jpegs
PS: fix embedding of grayscale jpegs
Kouhei Sutou (1):
xml: fix a typo to correct the indentation after <path></path>
Maarten Bosmans (2):
doc: Add a remark about toy status of the PNG API
doc: Fix some broken references and gtk-doc warnings
Markus Stange (2):
Fix type of _cairo_memory_stream_destroy parameter
Fix type of _cairo_memory_stream_destroy parameter
Mats Palmgren (1):
win32: Improve error logging
Robert O'Callahan (1):
tee: Do not apply two times the master device transform
Tim Janik (1):
cairo: docu fix for cairo_set_source_surface
Tomá\u0161 Chvátal (1):
Fix posix calls in configure.ac test code.
Uli Schlachter (40):
XCB: Fix some weird code
xcb: Fix CAIRO_OPERATOR_IN
xcb: Fix compiler warning about unused result
xcb: Correctly clear the composite surface
_cairo_xcb_surface_ensure_picture: Check fallback
_cairo_xcb_surface_picture: Check for fallback
xcb: Correctly handle ARGB visuals
Add myself to AUTHORS
XCB: Remove an incorrect clipping optimizations
XCB: Move the assert from 5a0f8f7320c916c
XCB: Fix for all unbounded operators
XCB: Use consistent rounding modes for a1 rasterisation.
font options: Add private round_glpyh_positions field
Actually implement round_glpyh_positions
raster backends: Set round_glpyh_positions to ON
Other backends: Set round_glyph_positions to OFF
xcb: Do not access flags directly
xcb: Fix transformation matrix setting
XCB: Check screen size in boilerplate
_cairo_round: Fix documentation
Make both versions of _cairo_lround consistent again
test/README: Change suggested screen size
xcb: Handle deferred_clear in _copy_to_picture
Avoid some unneeded 'is_clear = FALSE'
xcb: Work around wrong extent computation in the X server
xcb: Remove a wrong optimization
XCB: Stop taking the xcb socket
Verify that surfaces leak no snapshots
Detach snapshots after flushing in cairo_surface_finish()
Remove an unused field from cairo_xcb_shm_info_t
Switch the order of two functions in the C file
XCB: Make sure SHM memory isn't reused too early
xcb: Handle events in boilerplate
xcb: Add a define for some magic number
xcb: Only print the first error and ignore subsequent ones
xcb: Check harder for X11 errors in boilerplate
xcb: Check the check for errors in boilerplate
xcb: Fix premature pixmap free in boilerplate cleanup
Add a test case for a bug in the xcb backend
xcb: Don't finish snapshots when they are detached
What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, quartz, win32, and image buffers, as well as PDF, PostScript,
and SVG file output. Experimental backends include OpenGL, 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,
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 versions of cairo can always be found at:
http://cairographics.org/download
Documentation on using cairo and frequently-asked questions:
http://cairographics.org/documentation
http://cairographics.org/FAQ
Mailing lists for contacting cairo users and developers:
http://cairographics.org/lists
Roadmap and unscheduled things to do, (please feel free to help out):
http://cairographics.org/roadmap
http://cairographics.org/todo
--
Chris Wilson, Intel Open Source Technology Centre
More information about the cairo-announce
mailing list