A new cairo snapshot 1.5.4 is now available from: http://cairographics.org/snapshots/cairo-1.5.4.tar.gz which can be verified with: http://cairographics.org/snapshots/cairo-1.5.4.tar.gz.sha1 74f01fcea59631b077a823afd3a5146f63cb1c59 cairo-1.5.4.tar.gz http://cairographics.org/snapshots/cairo-1.5.4.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.4 tag which points to a commit named: e0c0275e1764502cfd1d0e93e374b4ed396f0073 which can be verified with: git verify-tag 1.5.4 and can be checked out with a command such as: git checkout -b build 1.5.4 This is the second snapshot in cairo's unstable 1.5 series. It comes just over 1 month after the 1.5.2 snapshot. There are no API changes or additions in 1.5.4 compared to 1.5.2, but there are several bug fixes, and some optimizations. Most of these apply to particular backends. See below for details. -Carl Description of major changes from 1.5.2 to 1.5.4 ================================================ General improvements -------------------- Use less memory for spline approximation calculations. Change how the tolerance value is interpreted with regard to fallback-resolution. [XXX: Is this user-visible? If so, how? Will follow up on the cairo mailing list for more details.] Fix precision of floating-point values in vector-output backends to avoid rounding errors with very small numbers. Xlib improvements ----------------- Fix bug in glyph rendering with xlib, (due to everything being clipped out). This was a regression in the 1.5.2 snapshot that was visible in the GIMP, for example. See: cairo 1.5.2 causes font problems in GIMP 2.4 status bar and evolution 2.12.1 https://bugs.freedesktop.org/show_bug.cgi?id=13084 [XXX: Are we interpreting "cairo_new_path;cairo_clip" as a request to clip everything? That wouldn't be consistent with how we treat cairo_new_path;cairo_fill, for example. Will follow up on cairo mailing list for more details.] PostScript improvements ----------------------- Fix bug leading to invalid PostScript files when rendering text, (need "0 0 xyshow" instead of "0 xyshow"). Fix many issues with Type 3 fonts, including making the resulting text extractable. Quartz improvements ------------------- Fix font metrics height value for ATSUI, (helps webkit on GTK+ OS X layout nicely). Fix gradients. Fix EXTEND_NONE mode for patterns. Fix cairo_quartz_surface_create to properly clear the new surface in cairo_quartz_surface_create. Fix to correctly handle 0x0 sized surfaces. Optimize drawing of EXTEND_REPEAT patterns for OS X 10.5. 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 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.5.2 to 1.5.4 ========================================== Adrian Johnson (10): Round floats in output-stream to 6 significant digits after decimal ROADMAP: Mark set PS level complete PS: Ensure that xyshow operator has a pair of offsets for each glyph PS: Make Type 3 fonts text selectable PS: Fix the bounding boxes of Type 3 glyphs PS: Don't emit an image for Type 3 .notdef glyph PS: Fix the Type 3 FontBBox PS: Use correct glyphs widths for Type 3 fonts Fix regression in Type1 Fallback win32: Implement _cairo_win32_scaled_font_init_glyph_surface() Behdad Esfahbod (8): [cairo-output-stream] Write out floats to 18 digits after decimal point [meta-surface] Adjust tolerance when replaying to surfaces with device scale [test] fallback-resolution: center text [test/fallback-resolution] set tolerance to a large value to see how it performs [PS] Fix compiler warnings Convert bash scripts to regular sh ones for greater portability [configure.in] Bump freetype required version to 2.1.9 (#13482) [README] Remove the Dependencies section as it falls out of date easily Brian Ewins (12): [configure.in] fix atsui experimental warning [test] log tested paths so that they can be parsed. [test] Link to the correct reference image. [test] support using a previous build as a reference [quartz] handle 0x0 surfaces. Revert "[quartz] handle 0x0 surfaces." [quartz] fix for cairo_reset_clip() [quartz] fix leak in show_glyphs [quartz] typo checking for malloc failure [quartz] remove double malloc in dashing code. [quartz] fill with alpha for EXTEND_NONE [quartz] zero memory on bitmap creation Carl Worth (5): Increment cairo version to 1.5.3 after the 1.5.2 snapshot Mention cairo_new_sub_path in documentation of cairo_arc Explicitly call bash for bash-specific scripts NEWS: Add notes for 1.5.4 Increment version to 1.5.4 and to 14:1:12 Chris Wilson (20): [cairo-png] Handle missing PNG_SETJMP_SUPPORTED [cairo-png] Check for feof whilst reading. [cairo-atomic] Rearrange code under the correct ifdefs. [cairo-paginated-surface] Mark the backend static. [cairo-scaled-font] Zero extents on early error. [cairo] Use NULL instead of a bare 0. [cairo-spline] Reduce stack requirements during recursive refinement. [cairo-spline] Eliminate redundant _cairo_fixed_to_double(). [test/degenerate-pen] Add missing return value. [cairo-atomic] Check whether we can access int/pointers atomically. [cairo-surface] Avoid allocation for common case of 1 box. [cairo-path-fixed] Exponentially enlarge cairo_path_buf_t. [cairo-atomic] Declare the mutex for NEEDS_MEMORY_BARRIER. [cairo-atomic] Add a few more cpus that are known to have atomic access. [test/clip-all] Combine text and everything clipped out. [cairo-surface] Handle the all clipped out case. [cairo-clip] Special case using an empty clip path. [cairo-pdf-surface] Create a new path for an empty clip. [Makefile.am] Wrap lcov make targets within an AM_CONDITIONAL. [Makefile.am] Add lcov-clean to distclean. Emmanuel Pacaud (7): [SVG] Fix opacity of combined stroke and fill. [SVG] Remove spurious semicolon when emitting mask url. Merge branch 'master' of git+ssh://emmanuel git cairographics org/git/cairo [SVG] Indentation fixes. [SVG] Add missing image to REFERENCE_IMAGES list. Fix _cairo_path_fixed_init_copy. Compilation warning suppression (char as array subscript). Richard Hult (1): [atsui] Use ascent+descent+leading to get the distance between baselines Vladimir Vukicevic (14): Handle overflow/underflow gracefully when converting to 16.16 fixed [quartz] Fix for 10.5 SDK; the FloatToFixed macro started doing strange things [win32] Skip doing some work if we can't call StretchDIBits Use correct surface resolution when creating paginated fallback image [quartz] work around Quartz bugs with images bigger than a certain size [win32] Don't use GetGlyphOutline on non-TrueType fonts [win32] Fix FIXED_to_fixed when cairo's fixed format isn't 16.16 [win32-printing] bail out early if we don't have anything to do in paint_surf [quartz] Fix gradients; the wrong color field was being used [win32] Remove double-free in win32 font code in init_glyph_path [quartz] Handle creating 0x0 surfaces [quartz] Use CGContextDrawTiledImage if available [quartz] cleanup: remove trailing whitespace [quartz] use rectangle_int_t, not rectangle_int16_t
Attachment:
pgpaDccgmdmYz.pgp
Description: PGP signature