A new cairo snapshot 1.3.14 is now available from: http://cairographics.org/snapshots/cairo-1.3.14.tar.gz which can be verified with: http://cairographics.org/snapshots/cairo-1.3.14.tar.gz.sha1 648981b1e04eb231a82befea8eaf39e01502001c cairo-1.3.14.tar.gz http://cairographics.org/snapshots/cairo-1.3.14.tar.gz.sha1.asc (signed by Carl Worth) Additionally, a git clone of the source tree: git clone git://git.cairographics.org/git/cairo will include a signed 1.3.14 tag which points to a commit named: 90e453fc22398f31996a6fdbeec6da98e25a160e which can be verified with: git verify-tag 1.3.14 and can be checked out with a command such as: git checkout -b build 1.3.14 This is the seventh development snapshot in the 1.3 series, (and there likely won't be many more before the 1.4.0 release). It comes just over 3 weeks after the 1.3.12 snapshot. Since we're so close to the 1.4.0 release, there are not a lot of new features nor even a lot of new performance improvements in this snapshot. Instead, there are a great number of bug fixes. Some are long-standing bugs that we're glad to say goodbye to, and several are fixes for regressions that were introduced as part of the optimization efforts during the 1.3.x series. Major improvements between 1.3.12 and 1.3.14 ============================================ PDF text selection fixed ------------------------ The inability to correctly select text in cairo-generated PDF has been a defect ever since the initial support for the PDF backend in the cairo 1.2.0 release. With the 1.3.14 snapshot, in most situations, and with most PDF viewer applications, the PDF generated by cairo will allow text to be correctly selected for copy-and-paste, (as well as searching). We're very excited about this new functionality, (and very grateful to Adrian Johnson, Behdad Esfahbod, and others that have put a lot of work into this lately). Please test this new ability and give feedback on the cairo cairographics org list. Many thread-safety issues fixed ------------------------------- We've discovered that no release of cairo has ever provided safe text rendering from a multi-threaded application. With the 1.3.14 snapshot a huge number of the bugs in this area have been fixed, and multiple application developers have now reported success at writing multi-threaded applications with cairo. Other fixes ----------- Fixed a bug that was causing glyph spacing to be 32 times larger than desired when using cairo-win32. Fixed a regression in the rendering of linear gradients that had been present since the 1.3.8 snapshot. Fixed several problems in cairo-atsui that were leading to assertion failures when rendering text. Fix corrupted results when rendering a transformed source image surface to an xlib surface. This was a regression that had been present since the 1.3.2 snapshot. Fixed PDF output to prevent problems printing from some versions of Acrobat Reader, (a single glyph was being substituted for every glyph). And many other fixes as well, (see the log below for more details). What is cairo ============= Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, win32, and image buffers, as well as PDF, PostScript, and SVG file output. Experimental backends include OpenGL (through glitz), Quartz, 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 including 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 releases of cairo can be found at: http://cairographics.org/releases Snapshots of in-development versions of cairo: http://cairographics.org/snapshots The programming manual for using cairo: http://cairographics.org/manual Mailing lists for contacting cairo users and developers: http://cairographics.org/lists Answers to some frequently asked questions about cairo: http://cairographics.org/FAQ Summary of all changes from 1.3.12 to 1.3.14 ============================================ Adrian Johnson (16): TrueType Subsetting: Add comment TrueType Subsetting: Whitespace change TrueType: Include notdef glyph in the subset PDF: Add Encoding dictionary to TrueType fonts PDF: Fix TrueType font metrics PS: Correct the TrueType Encoding and Charstrings PDF: Correct the y value of Td in show_glyphs PDF: Make text selection and extraction work PDF: Another fix for TrueType metrics PDF: Fix Type3 font metrics to make text selection work PDF: Compress Type3 fonts Output-stream: Omit the minus sign from negative zero PDF: Remove dead code CFF: Fix Visual C++ compile problem output-stream: coding style fix PDF: Add missing character code to Differences array Behdad Esfahbod (4): PDF: Fix approximate diagonal in recent commit [pixman/src/fbmmx.c] Hide "dereferencing type-punned pointer" warnings [configure.in] Use AC_MSG_RESULT in PKG_CHECK_MODULES's second branch [pixman/src/fbmmx.c] Add comment around M64 Brian Ewins (5): [ATSUI] Handle deleted glyphs correctly. (#9530) [ATSUI] out-of-range glyphs should be treated as deleted. (#9530) [ATSUI] Some glyph operations cannot be 'unsupported'. (#9530) Unreleased lock typo in cairo-scaled-font.c [ATSUI] scale fonts using font size not font matrix Carl Worth (32): configure.in: Increment version to 1.3.13 after making the 1.3.12 snapshot doc tmpl churn Add rotate-image-surface-paint test case Fix _cairo_pattern_acquire_surface_for_surface to not clone outside surface extents Add two tests of cairo_surface_finish to test/nil-surface.c Fix crashes in cairo_surface_finish for NULL or nil Don't finish a finished surface in cairo_surface_destroy ROADMAP: Add bug about broken cairo_show_text on win32 ROADMAP: Note that linear gradient bug is fixed. Don't hold mutex over backend->scaled_font_create Avoid holding lock when calling _cairo_scaled_font_fini Move scaled font holdovers magic from reference to create to fix race condition Add scaled_font->mutex to allow locking for all subordinate objects Remove half-leftover debugging code from previous commit Remove dead cff_dict_remove function ROADMAP: Note that the 8801 locking bug is fixed. ROADMAP: Drop 1.3.6 which is already in the past and note 8379 fix and pixman gradient improvements test/pthread-show-text: Increease iterations to expose locking bug Expand font_map locking to cover call to backend->scaled_font_create Add missing locking to _cairo_scaled_font_text_to_glyphs Add missing _cairo_ft_unscaled_font_unlock_face to _cairo_ft_scaled_font_create Avoid public cairo_ft_scaled_font_lock_face for internal use Add mutex to implement _cairo_ft_unscaled_font_lock_face and _cairo_ft_unscaled_font_unlock_face Increase pthread-show-text thread count and add cairo_select_font_face to expose more bugs. Add locking to cairo_font_face_reference/destroy Rename cairo_toy_font_face_hash_table_mutex to cairo_font_face_mutex ROADMAP: Note that text spacing issues for win32 are fixed Add missing call to set_scale of unscaled_font in scaled_glyph init Fix cairo_ft_unscaled_font_t to have a lock_count again not an is_locked Boolean Mark test/rotate-image-surface-paint as XFAIL NEWS: Add notes for the 1.3.14 snapshot Increment cairo version to 1.3.14 (and libtool versioning to 12:4:10) Dan Amelang (3): Add "rectangles" perf test Fix Win32 text spacing problem Update Win32 makefiles David Turner (1): fixing gradient repeat mode computations Eugeniy Meshcheryakov (7): [PDF-CFF] Fix bad /LastChar value for CFF fonts in PDF backend CFF Subsetting: Add charset data to embedded font TrueType Subsetting : Correct the checksum calculation TrueType Subsetting: Correct the checksum calculation of 'head' table TrueType Subsetting: Sort table directory [cairo-surface] Use a macro definition for all nil surfaces [PS/PDF/SVG] Return a write_error nil surface on write errors Jinghua Luo (1): type1-subset: fix error handling. Kalle Vahlman (1): [cairoint] Make it compile with libpng disabled Michael Emmel (2): Turned off acclerated rectangle drawing in dfb backend Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo Peter Weilbacher (2): Correct scaled font mutex definitions for OS/2 Oops, correct typo in previous commit Soren Sandmann Pedersen (2): Remove left-over assert and some alpha checks from Apply patch from Marco Gritti and Jordan Crouse to correctly detect T Rowley (1): Add linear-gradient-reflect test case Vladimir Vukicevic (3): [atsui] add function prototype for a public 10.4 function that's [win32] regression with win32 glyph y-offsets (mozbug#365021) [mmx] avoid casts between int32 and __m64 types
Attachment:
pgpworZhV82k9.pgp
Description: PGP signature