[cairo] cairo snapshot 1.15.4 now available
Bryce Harrington
bryce at osg.samsung.com
Sat Dec 10 00:37:43 UTC 2016
A new cairo snapshot 1.15.4 is now available from:
http://cairographics.org/snapshots/cairo-1.15.4.tar.xz
which can be verified with:
http://cairographics.org/snapshots/cairo-1.15.4.tar.xz.sha1
4e5d28697ac5a750a071edcf4a99e8af8d7c04b2 cairo-1.15.4.tar.xz
http://cairographics.org/snapshots/cairo-1.15.4.tar.xz.sha1.asc
(signed by Bryce Harrington)
Additionally, a git clone of the source tree:
git clone git://git.cairographics.org/git/cairo
will include a signed 1.15.4 tag which points to a commit named:
9fe6683cb105354e86ea649ba7a13052c7edc757
which can be verified with:
git verify-tag 1.15.4
and can be checked out with a command such as:
git checkout -b build 1.15.4
This new snapshot incorporates changes over the past year since the
1.15.2 snapshot, including all the fixes from the 1.14 release series.
Of particular note in this snapshot is a wealth of work by Adrian
Johnson to enhance PDF support, as well as numerous bug fixes provided
by him and other contributors.
For a complete log of changes since the last release, please see:
http://cairographics.org/releases/ChangeLog.1.15.4
Features
--------
* The PDF backend has gained support for a range of widely used
features, including thumbnails, page labels, metadata, document
outlines, structured text, hyperlinks, and tags. Tags permit adding
logical info such as headings, tables, figures, etc. that facilitates
indexing, accessibility, text reflow, searching, and extraction of the
tagged items to other software. For details on this new PDF
functionality, see:
https://lists.cairographics.org/archives/cairo/2016-June/027427.html
API Changes
-----------
cairo_win32_surface_create_with_format
Added a cairo API to set up Win32 surfaces for HDC with alpha
channels.
cairo_pdf_surface_add_outline
cairo_pdf_surface_set_metadata
cairo_pdf_surface_set_page_label
cairo_pdf_surface_set_thumbnail_size
cairo_tag_begin
cairo_tag_end
CAIRO_STATUS_TAG_ERROR
New API for added PDF functionality (see above), and new error
status item for problems relating to PDF tagging.
CAIRO_STATUS_WIN32_GDI_ERROR
CAIRO_STATUS_FREETYPE_ERROR
CAIRO_STATUS_PNG_ERROR
New error status items for handling of GDI, libfreetype, and libpng
errors, respectively.
Dependency Changes
------------------
None
Performance Optimizations
-------------------------
None
Bug Fixes
---------
* Bug fixes from 1.15.2 (see the 1.15.2 NEWS for details)
* Fix playback of recording surfaces into PDF surfaces, where objects
with negative coordinates were not getting drawn. To address this,
the coordinate systems for PDF and PS have been changed to match
cairo's coordinate system. This allows recording surfaces to be
emitted in cairo coordinates, and results in the same origin being
used for all operations when using the recording surface XObject.
Test cases for PDF and PS have also been updated accordingly.
(Bug #89232)
* Fix "invalidfont" error on some printers when printing PDFs with
embedded fonts that have glyphs (such as spaces) with
num_contours == 0. (Bug #79897)
* Fix missing glyphs such as thin dashes, which get scaled to 0 in
userspace and thus have their drawing operations culled. (Bug #94615)
* Fix other oddities caused by variously idiosyncratic fonts.
* Fix deadlock when destruction of a scaled font indirectly triggers
destruction of a second scaled font, causing the global cache to be
locked twice. (Bug #93891)
* Fix X errors reported to applications when shmdt() is called before
the Attach request is processed, due to missing xcb and xlib calls.
* Fix random failure in record-paint-alpha-clip-mast test case, caused
by an incorrect assumption that a deferred clear can be skipped.
(Bug #84330)
* Fix crash when dealing with an XShmGetImage() failure, caused by a
double free in _get_image_surface(). (Bug #91967)
* Fix invalid execution of ASCII85 data by the PS interpreter that the
image operator didn't use, by flushing the extraneous data after
drawing the image. (Bug #84811)
* Fix decoding of Adobe Photoshop's inverted CMYK JPEG files in PDF
export.
* Fix unbounded surface assertion in win32-print code.
* Fix a data race in freed_pool discovered by Firefox's cairo usage.
The patch adads atomic int load and store functions, with relaxed
memory ordering. (Bug #90318)
* Cleanup debugging text sent to stdout instead of log. (Bug #95227)
* Fix build issue when using non-GNU strings utility. (Bug #88639)
* Fix build of cairo modules as regular modules, not as versioned shared
libaries. (Bug #29319)
* Fix build on win32 using gcc 5.4.
* Fix build of script backend to require zlib.
* Update test suite reference images using Debian Jessie 64-bit and
poppler current as of June, 2016.
* Various improvements to documentation and tests, compiler warning
fixes, and an assortment of code refactoring and cleanup.
What is cairo
-------------
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System (via both Xlib and XCB), quartz, win32, and image buffers,
as well as PDF, PostScript, and SVG file output. Experimental backends
include OpenGL, BeOS, OS/2, and DirectFB.
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
Changelog
---------
Adrian Johnson (46):
scaled-font: don't store pointer in hash value
Add CAIRO_STATUS_PNG_ERROR for errors returned by libpng
Adding missing error status to utils
Add CAIRO_STATUS_FREETYPE_ERROR for errors returned by libfreetype
Add CAIRO_STATUS_WIN32_GDI_ERROR for GDI errors
pdf2png: fix deprecated warning
svg2png: fix deprecated warning
test: add record-neg-extents
Add recording-ink-extents test
Fix test failures when recording surface extents has negative x,y
pdf: change from pdf coordinates to cairo coordinates
Fix PDF record-neg-extents test failure
test: replay record surface with negative extents for each extend mode
image: fix record-replay-extend test failures
pdf: fix record-replay-extend test failures
ps: change from ps coordinates to cairo coordinates
Fix PS record-neg-extents test failure
Update ref images
image: only cache analyzed transparency/color for snapshot surfaces
win32-print: fix unbounded surface assertion
win32: gcc 5.4 build fix
recording: Remove unused function
pdf: remove unused variable
add test text-unhinted-metrics
ft: set font size to em size when retrieving unhinted metrics
test: refresh text-rotate ref images
truetype: Don't write glyph if num_contours == 0
ps: flush ASCII85Decode file after use
ps/pdf: remove debug and commented out code
pattern: don't round extents to 0 on vector surfaces
pdf: Don't fail subsetting if unable to convert utf8 to utf16
truetype: reverse cmap search should end when 0xffff- 0xffff range reached
pattern: revert an unintentional change added in 190678f
pdf: fix combined image/smask
Add tag functions to cairo_t and cairo_surface_t
Add tag functions to recording surface and surface-wrapper
Support tag operations in analysis and paginated surface
pdf: structured text and hyperlink support
pdf: add document outline API
pdf: metadata API
pdf: page label API
pdf: thumbnail API
add test for PDF document interchange features such as tagged text and links
fix make check
fix compiler warnings
strndup is not avuilable with MSVC
Behdad Esfahbod (1):
Bug 29319 - Modules are built as versioned shared objects
Bryce Harrington (10):
RELEASING: Fix documentation of proper ChangeLog path
cairo-misc: Whitespace cleanup
Fix grammar in cairo_*_reference() function documentation.
pattern: Fix incorrect grammar in cairo_pattern_get_type.
build: Don't rely on non-POSIX 'strings -' behavior
gl: Treat GLES v2 as a separate flavor from GLES v3
gl: Fix one more CAIRO_GL_FLAVOR_ES3 enum
NEWS: Fix a couple typos
1.15.4 release
Bump version for new development tree, 1.15.5
Ed Schouten (2):
Prevent observer surfaces from writing to stdout
Write debugging information to the debugging file
Enrico Weigelt, metux IT consult (10):
core: updated .gitignore
core: reintroduce bot-scan-converter functions
core: dropped unnecessary local variable in _cairo_composite_rectangles_intersect()
core: some in-code documentation
drm: fix importing of libdrm
core: fix compiler warnings
core: helper inline for rect->box conversion
core: dropped actually unused parameter of _cairo_boxes_to_array()
core: fixed code duplication
qt: replaced calls to _cairo_clip_init_copy() by _cairo_clip_copy()
Guillaume Ayoub (1):
Use surface_transform in replay_and_create_regions
Hans Petter Jansson (1):
scaled-font: Fix deadlock when recursing in _cairo_scaled_font_reset_cache()
Olivier Blin (1):
Pull -lz for the script backend
Peter TB Brett (1):
Correctly decode Adobe CMYK JPEGs in PDF export
Uli Schlachter (2):
xlib: Fix double free in _get_image_surface()
cairo-xcb: Remove a wrong optimisation
Wan-Teh Chang (1):
Fix data race in freed_pool
darxus at chaosreigns.com (2):
Remove closed poppler bugs from test/README
Add example to run specific tests by name to the test/README
---
Bryce Harrington <bryce at osg.samsung.com>
More information about the cairo
mailing list