205fb4159b
Release 1.14.0 (2014-10-13 Bryce Harrington <bryce@osg.samsung.com>) ==================================================================== Hard to believe it's been over a year since our last release, but it's not for lack of activity. This release includes contributions of a wide assortment of bug fixes, build system improvements, warnings cleanups, codebase refactoring, test suite repairs, and static analysis work. This release is lighter on features (compared with 1.12.10) but includes a highly demanded rehaul of our image downscaling functionality, which solves a serious problem experienced by Inkscape users when shrinking embedded bitmaps in SVG files. The new scaling algorithms are used by the image backend and by other backends as needed for fallbacks. Features -------- Filtering improvements for the image backend, in particular down-scaling of images produces filtered images that depend on all the pixels of the source. When using the image backend you get the following settings: CAIRO_FILTER_GOOD: uses a box filter for scales less than .75 in either direction. For scales larger than this, the same filter as CAIRO_FILTER_BILINEAR is used. CAIRO_FILTER_BEST: uses a Catmull-Rom filter always. When upscaling more than 2x this will produce anti-aliased square pixels, similar to OS/X. CAIRO_FILTER_GAUSSIAN: uses PIXMAN_FILTER_BEST, which in current pixman is the same as BILINEAR. (This is subject to change in the future). xlib and xcb also use the image fallback for GOOD/BEST filters, but note that other backends do not implement these filtering fixes yet, however other actions may cause them to use an image fallback which will cause these filters to be used. Improve handling of device transformation and scaling, allowing Cairo to now support scaling at a device level, permitting easier, more transparent HiDPI support. Support JBIG2 mime data in PDF. This allows embedding of more compressed JPEG formats within PDF, rather than including the full uncompressed image. Also, reduce the number of transparency groups used by PDF to keep the file size small and viewing/printing of the PDF fast. Expand the embedding section to include stencil mask support. Reorder font declarations to be in natural order. Update the Skia backend to build against current Skia (as of June 2014). Drop Link-Time Optimization (LTO) support from build system. This seems to have caused much trouble for unclear benefit, and most distros are reverting or disabling it anyway. Optimize VBO size on GL to 1M and to 16k for EGL. This improves (theoretical) performance for desktop GLX use cases while avoiding hitting VBO memory size limitations on embedded devices. API Changes ----------- cairo_surface_set_device_scale, cairo_surface_get_device_scale: Sets a scale that is multiplied to the device coordinates determined by the CTM when drawing to @surface. One common use for this is to render to very high resolution display devices at a scale factor, so that code that assumes 1 pixel will be a certain size will still work. cairo_egl_device_get_display, cairo_egl_device_get_context: Support get/set of EGLContext and EGLDisplay for egl-based cairo devices, similar to GLX. Dependency Changes ------------------ Cairo now requires glib 2.14 for its gobject helper functions, and pixman 0.30 for downscaling. Bug fixes --------- Don't embed CMYK Jpeg images in svg. Fix tests to place output in proper location. Fix determination of alpha for all surfaces when recording. Extend oversize check to cairo_gl_surface_create_for_texture, so an error surface is returned if the texture is too large to render to. Fix embedding of mime data in PDF and PS files. Remove useless error handling in *_reply() functions in XCB. Fix a double-free exposed by multithreaded apps creating and destroying the same font concurrently. https://bugs.freedesktop.org/show_bug.cgi?id=69470 Fix corrupt stacks produced by bugs in operand emission for trace. Fix out of bounds array access in format cache for xlib Don't rename glyphs used by seac operator. This can cause certain combined characters to use their decorations (e.g. umlauts on ö) to be lost during printing of PDFs using evince. https://bugs.freedesktop.org/show_bug.cgi?id=70364 Fix crash on calling cairo_create with a finished surface Fix SSIZE_T definition problem when making with MSYS on Windows7 Fix one off issue in gl context cleanup Fix usage of CAIRO_STACK_ARRAY_LENGTH Fix rectangle stroke with non rectilinear pen Fix imagemask with pattern source failure on some printers. This bug could cause files converted using pdftops to fail for example on Ricoh printers, or opening in Adobe Distiller on Windows. https://bugs.freedesktop.org/show_bug.cgi?id=69485 Fix whitespace in font names Fix page size in generated PDFs. When printing using pdftocairo on larger page sizes, such as 11x17, the image would be cropped to letter size. https://bugs.freedesktop.org/show_bug.cgi?id=73452 Fix path-currentpoint test by preserving current-point in copy_path()/append_path() sequence Fix generation of HTML in code docs for cairo-format-stride-for-width. Raw HTML code was being passed to the browser, instead of displaying normally. https://bugs.freedesktop.org/show_bug.cgi?id=63257 Fix spelling of "tessellator" throughout code. We're using the American rather than British spelling of this word. https://bugs.freedesktop.org/show_bug.cgi?id=50411 Fix crash in pixman_image_composite32 Fix crash when trying to modify a (const) all-clipped cairo_clip_t https://bugs.freedesktop.org/show_bug.cgi?id=75819 Add check_composite method to all compositors, to fix crashes in the test suite. Fix crash in Firefox when scrolling on certain pages. Fix memory leaks found by static analysis. Fix build of any2ppm if fork is not available. Fix broken build for Qt backend, due to missing libstdc++. Fix typo in two cairo_uint128 functions. Fixes potential build issues on systems without a uint128 type. Fix build when --enable-pdf=no Fix cache_frozen assertions for Win32 print. Correctly check for xcb image surface for inplace upload Fix webkit-based web browser crashes due to empty boxes by skipping over them when tesselating. Make pixman, libpng, and zlib paths commandline configurable for win32 builds. Fix image scale on Win32 when GDI scale is not identity. Fix float endian configure test when using clang -O4 Fix compilation with Android bionic libc Don't try to build util/sphinx on Windows Fix loss of precision when emitting joins. This was caused by discrepancies in line gradients when passing trapezoids around. Fix loss of precision and associated rendering issues in cairo-tor-scan-converter from projection onto sample grid. Fix pixman oversampling of neighbouring edges within a cell by eliminating self-intersections for the pixman traps compositor. Fix multi-line string splitting in PDFs Various cleanups and fixes to warnings, documentation, tests, and build system. Improve error handling and return value checks. Cleanup XFAIL tests and reference images. Cover recently added functionality. |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
Makefile | ||
PLIST |