A new cairo snapshot 1.5.14 is now available from: http://cairographics.org/snapshots/cairo-1.5.14.tar.gz which can be verified with: http://cairographics.org/snapshots/cairo-1.5.14.tar.gz.sha1 af40870b3ec62bbdeaecdf3ea4cce23919fedc42 cairo-1.5.14.tar.gz http://cairographics.org/snapshots/cairo-1.5.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.5.14 tag which points to a commit named: f4d4d7b3d0bd62af6ffd50ba9cd8df0b9a12be71 which can be verified with: git verify-tag 1.5.14 and can be checked out with a command such as: git checkout -b build 1.5.14 This is the seventh snapshot in cairo's unstable 1.5 series. It comes 3 weeks after the 1.5.12 snapshot. This snapshot includes support for arbitrary X server visuals, (including PseudoColor), which was the final remaining cairo-specific item on the cairo 1.6 roadmap. It also includes a huge number of improvements to the cairo-quartz backend. So this is effectively a cairo 1.6 release candidate. We expect very few changes from now until 1.6 and only for specific bug fixes. See below for more about what's new in cairo 1.5.14. We do appreciate any testing and feedback you can provide. In particular, if you know of a bug in cairo 1.5.14 that you'd like to see fixed before 1.6.0 and that bug isn't exercised by the cairo test suite, then please make loud noises on the cairo mailing list so that we know about it. Have fun with cairo! -Carl Changes from cairo 1.5.12 to 1.5.14 =================================== API Change ---------- Rename ATSUI font backend to Quartz font backend. This affects the following usage: --enable-atsui -> --enable-quartz-font CAIRO_HAS_ATSUI_FONT -> CAIRO_HAS_QUARTZ_FONT CAIRO_FONT_TYPE_ATSUI -> CAIRO_FONT_TYPE_QUARTZ cairo_atsui_font_face_create_for_atsu_font_id -> cairo_quartz_font_font_create_for_atsu_font_id This API change is justified by the cairo-quartz backend still be marked as "experimental" rather than "supported", (though this is one step toward making the change to "supported" before 1.6). Cairo will still provide ABI compatibility with the old symbol name, however. paginated (all of ps, pdf, svg, and win32-printing) --------------------------------------------------- Optimize by not analyzing an image surface for transparency more than once, (previously all images were analyzed twice). cairo-ps and cairo-pdf ---------------------- Avoiding emitting a matrix into the stroke output when unnecessary, (making output size more efficient). Reduce rounding error of path shapes by factoring large scale factors out of the path matrix, (ensuring that a fixed-number of printed digits for path coordinates contains as much information as possible). Reduce excess digits for text position coordinates. This makes the output file size much smaller without making the result any less correct. cairo-ps -------- Eliminate bug causing extraneous text repetition on Linux PostScript output in some cases. See: Mozilla Bug 419917 – Printed page contents are reflected inside bordered tables (Linux-only) https://bugzilla.mozilla.org/show_bug.cgi?id=419917 Optimize output when EXTEND_PAD is used. cairo-pdf --------- Fix to not use fill-stroke operator with transparent fill, (else PDF output doesn't match the cairo-defined correct result). See: https://bugs.launchpad.net/inkscape/+bug/202096 cairo-svg --------- Fix stroke of path with a non-solid-color source pattern: http://bugs.freedesktop.org/show_bug.cgi?id=14556 cairo-quartz ------------ Fix text rendering with gradient or image source pattern. Handling antialiasing correctly for cairo_stroke(), cairo_clip(), and cairo_show_text()/cairo_show_glyphs(). Correctly handle gradients with non-identity transformations: Fixes http://bugs.freedesktop.org/show_bug.cgi?id=14248 Add native implementation of REPEAT and REFLECT extend modes for gradients. Fix implementation for the "unbounded" operators, (CAIRO_OPERATOR_OUT, _IN, _DEST_IN, and _DEST_ATOP). Correctly handle endiannees in multi-architecture compiles on Mac OS X. Avoid behavior which would cause Core Graphics to print warnings to the console in some cases. cairo-win32 ----------- Fix handling of miter limit. cairo-win32-printing -------------------- Fix to not use a 1bpp temporary surface in some cases while printing, (so grayscale data is preserved rather than just becoming black and white). cairo-xlib ---------- Add support for rendering to arbitrary TrueColor X server visuals. This fixes at least the following bugs: cairo doesn't support 8-bit truecolor visuals https://bugs.freedesktop.org/show_bug.cgi?id=7735 cairo doesn't support 655 xlib format https://bugs.freedesktop.org/show_bug.cgi?id=9719 Add support for rendering to 8-bit PseudoColor X server visuals. This 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. 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 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 Log of all changes from 1.5.12 to 1.5.14 ======================================== Adrian Johnson (21): Round fallback image size up instead of down Add fallback image comment to PS output Move analyze_image_transparency in to cairo-image-surface.c Remember the results of _cairo_image_analyze_transparency PDF: Use cairo_image_analyse_transparency during analysis win32-printing: Don't scale the miter limit Use the correct glyph metrics in Type1 fallback Add PS reference image for stroke-ctm-caps PDF/PS: Optimize away the stroke ctm when not required Do not use PDF fill-stroke operator with transparent fill Fix bug in _cairo_path_fixed_is_equal Don't use fill-stroke during analysis Improve the PDF operators word wrapping Add stroke-ctm-caps to .gitignore Factor out common stroke code in pdf-operators Optimize generated PostScript when EXTEND_PAD is used Rescale CTM used for PS/PDF stroking to reduce rounding error Make _cairo_dtostr() static Add %g conversion specifer to output-stream for limited precision Use %g for printing path coordinates in pdf-operators PDF: Reduce excess decimals in text position offsets Antoine Azar (1): fixed compilation typo on win32 Behdad Esfahbod (1): [cairo-scaled-font] Pedantic check for zero-area glyphs Carl Worth (21): Increment version to 1.5.13 after the 1.5.12 snapshot Merge branch 'master' of git.cairographics.org:/git/cairo Remove unnecessary cairo_set_tolerance call from get-path-extents test get-path-extents: Use APPROX_EQUALS instead of EQUALS for text path tests get-path-extents: Fix APPROX_EQUALS to round values on both sides of the comparison INSTALL: Add notes on running autogen.sh if there is no configure script Move assertion failure for unsupported masks up one level Make _pixman_format_to_masks accept a cairo_format_masks_t structure Make CAIRO_FORMAT_STRIDE_FOR_WIDTH_BPP available to the cairo internals. xlib: Add support for arbitrary TrueColor visuals Add support for 8-bit PseudoColor visuals Track minor change in pixman filtering sample location RELEASING: Clarify steps for verifying no unpushed modifications Fix the REFERENCE_IMAGES list, (like always before a snapshot) NEWS: Add notes for 1.5.14 snapshot Doc template churn Increment cairo version to 1.5.14 and libtool versioning to 18:1:16 Mark new cairo_xlib_visual_info functions as private. Disable enum_regexp test in check-doc-syntax.h Enable PLT avoidance for cairo_image_surface_get_data/stride Cleanup up png-test.png file in 'make clean' Chris Wilson (18): [cairo-truetype-subset] Remove duplicate _cairo_error(). [cairo-type1-fallback] Propagate original error status. [cairo-cff-subset] Propagate error status. [cairo-clip] Raise _cairo_error() at original error site. [cairo-ft-font] Simplify return of the nil font face during construction. [cairo-pattern] Tidy usage of _cairo_error(). [cairo-xlib] Tidy usage of _cairo_error(). [cairo-png] Further hardening against malloc failures. [cairo-image-surface] Harden cairo_format_stride_for_width(). [test/a8-mask] Check negative strides as well. [cairo-png] Use cairo_format_stride_for_width() [cairo-png] Support generating CAIRO_FORMAT_RGB24 from PNGs. [cairo-hull] Propagate error during hull computation. [cairo-pattern] Raise an error for _cairo_pattern_create_solid() failure. [win32] make check doc fixup. [cairo-png] Revert accidental chunk from FORMAT_A1 support. Define _BSD_SOURCE to enable prototypes for strdup, snprintf. [cairoint.h] Mark _cairo_image_analyze_transparency as private. Claudio Ciccani (1): [cairo-directfb] Fixed bug in clone_similar() (src_x added twice). Emmanuel Pacaud (1): [SVG] Replace the color property by stroke. Jeremy Huddleston (1): [mac] Correctly handle endianness in multi-architecture compiles on MacOS X Vladimir Vukicevic (28): [quartz] use CGContextGetType API if available [win32] Treat all incoming HDCs as RGB24, regardless of depth [quartz] compilation fix Fix msvc compilation issue in cairo-compiler-private.h [meta] always copy glyph array before passing to _cairo_surface_show_glyphs [quartz] fix text rendering with gradient or image source [quartz] split out (experimental) quartz-image into separate file [quartz] look up the right symbol name for CGContextGetType [quartz] handle antialiasing correctly in stroke() and clip() [quartz] Correctly handle gradients with non-identity pattern transform [quartz] Update a bunch of reference images [quartz] some more quartz ref images [quartz] implement REPEAT/REFLECT for gradients [quartz] properly honor text antialiasing modes in show_glyphs [quartz] Don't try to call CGBitmapContextCreateImage on non-bitmap contexts [quartz] align strides to 16 bytes, as per apple docs [quartz] Don't force interpolation off for images [quartz] Apply fixup to unbounded operators to clear area outside of mask [quartz] correctly force subpixel AA on a context, even if defaults say otherwise [win32] Use a DIB when cloning a surface for a WIN32_PRINTING dest Correctly pass the device-space vector through to stroker [quartz] remove some compiler warnings [test] Add testcase for previous stroker regression fix [quartz] compare gradient stops as doubles, not as fixed point [quartz] don't say we forced subpixel AA when we didn't [quartz] Rename ATSUI font to Quartz font [quartz] Fix bogus CGContextGetType warning that's printed on the console [quartz] Additional test reference images for quartz
Attachment:
pgpuFdeB2L7O2.pgp
Description: PGP signature