Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
This library contains GType declarations for Cairo types. It is also
meant to support gobject-introspection binding creation.
Provides
Requires
License
LGPL-2.1-or-later OR MPL-1.1
Changelog
* Fri Sep 20 2024 bjorn.lie@gmail.com
- Add b9eed915f9a67380e7ef9d8746656455c43f67e2.patch: cff: Don't
fail if no local subs. Fix regression when writing PDFs with
fonts.
* Mon Sep 02 2024 bjorn.lie@gmail.com
- Update to version 1.18.2:
+ The malloc-stats code has been removed from the tests directory
the canonical location for it is:
https://github.com/behdad/malloc-stats
+ Cairo now requires a version of pixman equal to, or newer than,
0.40.
+ There have been multiple build fixes for newer versions of GCC
for MSVC; for Solaris; and on macOS 10.7.
+ PNG errors caused by loading malformed data are correctly
propagated to callers, so they can handle the case.
+ Both stroke and fill colors are now set when showing glyphs on
a PDF surface.
+ All the font options are copied when creating a fallback font
object.
+ When drawing text on macOS, Cairo now tries harder to select
the appropriate font name.
+ Cairo now prefers the COLRv1 table inside a font, if one is
available.
+ Cairo requires a C11 toolchain when building.
* Sat Sep 23 2023 bjorn.lie@gmail.com
- Update to version 1.18.0:
+ The first stable cairo release in five years should be cause
for celebration.
+ All the API added in the 1.17 development cycle is now
considered stable, and will not change.
+ Many thanks to all the contributors for this release.
+ The cairo-sphinx tool has been removed; we could not find any
instruction on how to use it, and no user answered our call for
help. If you were using cairo-sphinx, please reach out to the
cairo maintainers.
+ Cairo now implements Type 3 color fonts for PDF.
+ Multiple documentation fixes, to ensure that the cairo API
reference is up to date. Also fixed multiple compiler warnings
generated when building cairo.
+ The XML surface has been removed; it was disabled by default
when building cairo, and we could not find any downstream
distributor that would enable it.
+ The Tee surface is now automatically enabled. Downstream
distributors of cairo have been enabling for years it in order
to build Firefox.
+ Fixed multiple issues with the DWrite font backend.
+ Improved the Quartz surface; mainly, Quartz surfaces now use
the main display ColorSpace, speeding up rendering operations.
+ Cairo now hides all private symbols by default on every
platform; the old "slim" symbols hack to alias internally used
symbols has been dropped, in favor of using
`-Bsymbolic-functions` with toolchains that support it.
+ Fixed multiple memory leaks in the code base and test suite,
and general maintenance.
+ Added new API to expose the Pixman dithering filter to cairo
patterns; this is currently implemented only for image
surfaces.
- Drop patches fixed upstream:
+ cairo-1.17.8-fix-tee-compilation.patch
+ cairo-1.17.8-ft-font-missing-glyph.patch
- Rebase patches with quilt.
- Stop passing xml=disabled to meson setup, xml backend is dropped.
* Fri Mar 17 2023 bjorn.lie@gmail.com
- Update to version 1.17.8:
+ In a continuing effort to reduce the amount of legacy code, and
increase the long-term maintainability of cairo, the following
backends have been removed:
- GL and GLES drawing
+ Additionally, cairo's Autotools build system has been removed;
from now on, cairo will only support the Meson build system.
While the end result should be identical, further testing is
appreciated.
+ In this snapshot, cairo gained support for rendering COLRv1
fonts, and rendering SVG and COLRv1 fonts with custom palettes.
+ Support for macOS and Windows has been improved, with lots of
build and bug fixes.
+ Lots of safety issues have been fixed, with array bounds
checking and plugging memory leaks, as well as fixes for bugs
identified via fuzzying.
+ This is going to be the last snapshot of the 1.17 development
cycle; we only expect minor bug fixing and improvements until
the 1.18.0 release.
- Switch to meson buildsystem: Add meson BuildRequires and macros.
- Update Source Url to new home.
- Drop build_gl_backend define and conditional pkgconfig(egl) and
pkgconfig(gl) BuildRequires: No longer supported.
- Add generic c++_compiler and c_compiler BuildRequires: New
dependencies.
- Drop 0001-Set-default-LCD-filter-to-FreeType-s-default.patch:
Fixed upstream.
- Add upstream bug fix patches:
+ cairo-1.17.8-fix-tee-compilation.patch
+ cairo-1.17.8-ft-font-missing-glyph.patch
* Wed Aug 31 2022 bjorn.lie@gmail.com
- Update to version 1.17.6:
+ This snapshot sees the removal of the following backends and
platform support: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl, OpenVG.
+ Thanks to all past contributors for their work on them. If you
were using any of these backends then you will need to stick to
Cairo 1.16.
+ This snapshot is going to be the **last** release of Cairo with
the Autotools build system. The Meson build has seen many
improvements and it is considerably easier to maintain and
faster to build.
- Changes from version 1.17.4:
+ A particularly noteworthy improvement in this release is the
addition of the meson build system as an alternative to
autotools.
+ The cogl Cairo backend underwent significant development this
cycle.
+ Subpixel positioning support allows improved glyph outlines
with the Freetype font backend.
+ For a complete log of changes, please see
https://cairographics.org/releases/ChangeLog.1.17.4
- Changes from version 1.17.2:
+ This snapshot provides the new support for writing floating
point formats as 16 bpc PNGs, with support for RGBA128F and
RGB96F formats. This new feature increases Cairo's pixman
version requirement to 0.36.0.
+ Beyond this are a range of bugfixes.
For a complete log of changes, please see
https://cairographics.org/releases/ChangeLog.1.17.2
- Drop patches fixed upstream:
+ cairo-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
+ cairo-composite_color_glyphs.patch
+ cairo-pdf-add-missing-flush.patch
+ cairo-do-not-override-explicitly-requested-grayscale-aa.patch
- Rebase remaining patches with quilt.
- Add 0001-Set-default-LCD-filter-to-FreeType-s-default.patch: Set
default LCD filter to FreeType's default (patch merged upstream).
- Use ldconfig_scriptlets macro for post(un) handling.
* Fri Oct 22 2021 rpm@fthiessen.de
- Add upstream patch
+ cairo-do-not-override-explicitly-requested-grayscale-aa.patch
Do not replace explicitly set applications settings by user
settings for font antialiasing.
See: https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/114
* Sun Feb 23 2020 mwilck@suse.com
- Add an upstream bug fix
+ cairo-pdf-add-missing-flush.patch: Fixes PDF generation
see https://gitlab.freedesktop.org/cairo/cairo/issues/342
* Wed Sep 04 2019 bjorn.lie@gmail.com
- Add 2 upstream bug fix patches:
+ cairo-Use-FT_Done_MM_Var-instead-of-free-when-available.patch:
ft: Use FT_Done_MM_Var instead of free when available in
cairo_ft_apply_variations. Fixes a crash when using freetype
>= 2.9
+ cairo-composite_color_glyphs.patch: Fix a thinko in
composite_color_glyphs. We can't just move around the contents
of the passed-in string, we need to make a copy. This was
showing up as memory corruption in pango.
* Sun Oct 21 2018 bjorn.lie@gmail.com
- Update to version 1.16.0:
+ test: Free resources in pdf2png.
+ Drop skia backend.
+ Revert "Correctly decode Adobe CMYK JPEGs in PDF export".
* Fri Oct 05 2018 bjorn.lie@gmail.com
- Update to version 1.15.14:
+ Features and Enhancements:
- Add more FreeeType font color conversions to support
COLR/CPAL.
- Update test reference images against current pixman.
+ Bugs fixed:
- Fix crash when rendering Microsoft's Segoe UI Emoji Regular
font.
- Fix build breakage with glesv3 enabled due to non-existant
glesv3.pc.
- Fix memory leaks found by Coverity.
- Fix incorrect null ptr handling found by Coverity.
- Fix test compilation when font-config is disabled.
- Use _cairo_malloc instead of malloc
(fdo#101547, CVE-2017-9814).
- Fix assertion failure in the freetype backend (fdo#105746).
- Drop upstream fixed patches:
+ cairo-fix-assertion-failure-in-freetype-backend.patch.
+ cairo-CVE-2017-9814.patch.
* Wed Jun 20 2018 qzheng@suse.com
- Add cairo-CVE-2017-9814.patch: Replace malloc with _cairo_malloc
and check cmap size before allocating (boo#1049092,
CVE-2017-9814, fdo#101547).
* Tue Apr 24 2018 bjorn.lie@gmail.com
- Add cairo-fix-assertion-failure-in-freetype-backend.patch: Fix
assertion failure in the freetype backend (fdo#105746).
* Thu Apr 12 2018 bjorn.lie@gmail.com
- Update to version 1.15.12:
+ The main focus for this release is the addition of Variable
Font support. Variable fonts are single font files with various
typography characteristics, such as weight or slant, that users
of the font can adjust between two points. Effectively this
enables a single font to behave as multiple fonts.
+ The Skia backend is disabled in this release, due to severe
bitrot, and will be removed in future releases. Contact the
cairo team if you have a need of this backend.
+ Features and Enhancements:
- Variable font support.
- Skia backend is disabled.
+ API Changes: cairo_font_options_get_variations() and
cairo_font_options_set_variations() are added.
+ Bugs fixed:
- Fix errors in csi-trace --help and --version options.
- Fix a 'memory leak' in the image compositor, with
pixman_glyph_cache_t.
- Fix access of uninitialized memory found by valgrind
(fdo#91271).
- Fix improper initialization of memory in
_cairo_ft_font_face_create_for_pattern() (fdo#105084).
- Fix multi-monitor virtual desktop with negative coords on
Win32 (fdo#100793).
- Fix issues occuring with older FreeType versions.
* Wed Feb 28 2018 dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
* Fri Feb 16 2018 crrodriguez@opensuse.org
- Add explicit pkgconfig(zlib) and (conditionalized on
build_xcb_backend) pkgconfig(xcb-render) BuildRequires: closer
alignment with what configure checks for.
* Mon Dec 18 2017 zaitor@opensuse.org
- Update to version 1.15.10:
+ Features and Enhancements:
- Add support for OpenGL ES 3.0 to the gl backend.
- Use Reusable streams for forms in Level 3 Postscript.
- Add CAIRO_MIME_TYPE_EPS mime type for embedding EPS files.
- Add CCITT_FAX mime type for PDF and PS surfaces.
- svg: add a new function to specify the SVG document unit
(fdo#90166).
- Use UTF-8 filenames on Windows.
+ API Changes: cairo_svg_surface_set_document_unit() and
cairo_svg_surface_get_document_unit().
+ Bugs fixed:
- Fix regression in gles version detection.
- Fix undefined-behavior with integer math.
- Handle SOURCE and CLEAR operators when painting color glyphs
(fdo#102661).
- Convert images to rgba or a8 formats when uploading with
GLESv2.
- Use _WIN32 instead of windows.h to check for windows build.
- Fix sigabrt printing documents with fonts lacking the
mandatory .nodef glyph (fdo#102922).
- Prevent curved strokes in small ctms from being culled from
vector surfaces (fdo#103071).
- Fix painting an unbounded recording surface with the SVG
backend.
- Fix falling back to system font with PDFs using certain
embedded fonts, due to truncated font names (fdo#103249).
- Fix handling of truetype fonts with excessively long font
names (fdo#103249).
- Fix race conditions with cairo_mask_compositor_t
(fdo#103037).
- Fix build error with util/font-view.
- Fix assertion hit with PDFs using Type 4 fonts rendered with
user fonts, due to error when destroying glyph page
(fdo#103335).
- Set default creation date for PDFs.
- Prevent invalid ptr access for > 4GB images (fdo#98165).
- Prevent self-copy infinite loop in Postscript surface.
- Fix padded image crash in Postscript surface.
- Fix annotation bugs in PDFs and related memory leaks.
- Fix test failures and other assorted issues in ps and pdf
code.
- Fix code generation when using GCC legacy atomic operations
(fdo#103559).
- Fix various compilation warnings and errors.
- Fix various distcheck errors with private symbols, doxygen
formatting etc.
- Drop cairo-image-prevent-invalid-ptr-access.patch
* Tue Dec 12 2017 msrb@suse.com
- Depend on pkgconfig(gl) and pkgconfig(egl) instead of Mesa-devel.
* The pkgconfig(gl) and pkgconfig(egl) are what cairo really
needs. Mesa-devel is too general and is a bottleneck in
distribution build. (bnc#1071297)
* Wed Aug 30 2017 zaitor@opensuse.org
- Update to version 1.15.8:
+ This small snapshot provides new colored emoji glyph support,
and a handful of minor fixes. For a complete log of changes,
please see
http://cairographics.org/releases/ChangeLog.1.15.8
+ Features and Enhancements: Support colored emoji glyphs, stored
as PNG images in OpenType fonts.
+ Bug Fixes:
- pdf:
. Fix internal links pointing to other pages, by
pre-calculating page heights so that link positions can be
calculated more accurately.
. Don't emit /PageLabel dict when no labels defined.
- image: Fix crash on negative lengths.
- win32: Fix initialization of mutexes for static builds.
- font:
. Fix color font loading on big-endian systems.
. Fix color font support infinite-loop with empty glyphs.
- Fix off by one check in cairo-image-info.c.
- Drop cairo-fix-off-by-one-check.patch: Fixed upstream.
- Run spec-cleaner, modernize spec.
- Rename 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch
to cairo-image-prevent-invalid-ptr-access.patch.
- Pass enable-gtk-doc instead of disable-gtk-doc to configure, we
already have the gtk-doc BuildRequires in place so I can only
assume that this was an honest error.
* Tue Jun 20 2017 alarrosa@suse.com
- Add 0001-image-prevent-invalid-ptr-access-for-4GB-images.patch to
fix a segfault when using >4GB images since int values were used
for pointer operations (bsc#1007255, fdo#98165, CVE-2016-9082).
* Fri Jun 16 2017 zaitor@opensuse.org
- Update to version 1.15.6:
+ Detect if variable fonts have synthesized bold/italic or
non-default variants, and use a fallback font where needed.
+ Restore MacOSX 10.4 support. Cairo had dropped 10.4 support
when moving to the CoreText API. Now we automatically detect
which API to use via dynamic linking, so can resume supporting
this older version of MacOSX.
+ Fix error reporting in the xcb backend if fallback fails.
Instead of returning NULL when the X11 server can't do some
operation, return a surface in an error state.
+ Call XSync in the xlib backend before setting the error handler
to ignore errors for certain requests, to make sure all pending
errors are handled first.
+ Fix text-glyph-range for quartz-font. Use 0xFFFF instead of 0
for invalid index tracking.
+ Fix handling of Supplementary Multilingual Plane (SMP) Unicode
characters in quartz-font.
+ Fix various issues in the drm backend including updating API
usage and general code cleanup.
+ Clarify documentation regarding device scale inheritance and
the units used in cairo_surface_create_similar_image
(fdo#99094).
- Drop cairo-pdf-fixes.patch: Fixed upstream.
- Add cairo-fix-off-by-one-check.patch: Fix off by one check in
cairo-image-info.c (fdo#101427).
* Wed Jun 07 2017 alarrosa@suse.com
- Add cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff to
fix a segfault in get_bitmap_surface due to malformed font
(bsc#1036789, fdo#100763, CVE-2017-7475).
* Wed Mar 08 2017 zaitor@opensuse.org
- Rebase cairo-pdf-fixes.patch: Add commit to fix fdo#100029.
* Mon Feb 13 2017 zaitor@opensuse.org
- Add cairo-pdf-fixes.patch: Three minor pdf fixes from upstream
git (fdo#99630).
* Sat Feb 11 2017 jengelh@inai.de
- Fix RPM groups; update summaries.
Remove useless --with-pic which is only for static libs.
* Sun Dec 11 2016 zaitor@opensuse.org
- Update to version 1.15.4:
+ 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.
+ API Changes:
- Added a cairo API to set up Win32 surfaces for HDC with alpha
channels.
- New API for added PDF functionality (see above), and new
error status item for problems relating to PDF tagging.
- New error status items for handling of GDI, libfreetype, and
libpng errors, respectively.
+ 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 (fdo#89232).
+ Fix "invalidfont" error on some printers when printing PDFs
with embedded fonts that have glyphs (such as spaces) with
num_contours == 0 (fdo#79897).
+ Fix missing glyphs such as thin dashes, which get scaled to 0
in userspace and thus have their drawing operations culled
(fdo#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 (fdo#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 (fdo#84330).
+ Fix crash when dealing with an XShmGetImage() failure, caused
by a double free in _get_image_surface() (fdo#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 (fdo#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 (fdo#90318).
+ Cleanup debugging text sent to stdout instead of log
(fdo#95227).
+ Fix build issue when using non-GNU strings utility (fdo#88639).
+ Fix build of cairo modules as regular modules, not as versioned
shared libaries (fdo#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.
- Drop cairo-modules-no-version.patch,
cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch and
cairo-xlib-double-free.patch: Fixed upstream.
- Drop libtool BuildRequires and stop passing autoreconf, we no
longer have any patches touching the buildsystem.
* Mon Sep 05 2016 badshah400@gmail.com
- Add cairo-xlib-double-free.patch to fix double free in
_get_image_surface(); patch taken from upstream git (fdo#91967,
boo#997189).
* Wed Jul 20 2016 hpj@suse.com
- Add back cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch
(bsc#958844, fdo#93891). This is still not fixed upstream.
* Wed Apr 13 2016 idonmez@suse.com
- Update to GNOME 3.20 Fate#318572
- Remove patch:
cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch.
* Mon Dec 21 2015 hpj@suse.com
- Add cairo-bsc958844-deadlock-on-scaled-font-cache-reset.patch
to fix mutex deadlocks on certain documents (bsc#958844).
* Sun Dec 13 2015 zaitor@opensuse.org
- Update to version 1.15.2:
+ Fix xcb/xlib compilation and calls. Make image boxes behave
when SHM is not available.
+ Fix various issues with printing and transparent images on
Win32.
+ Fix thin lines that don't show up when printing in Inkscape due
to overly aggressive culling (fdo#77298).
+ Fix broken printing via pdf when glyph 0 is used for rendering,
resulting in missing spaces and letters (fdo#89082).
+ Fix crash for certain glyphs in opentype fonts (fdo#91902).
+ Fix incorrect rendering of SVG paths with more than one
subpath. If more than one trap is passed in then it's
guaranteed that the returned traps will have their left edge to
the left of their right edge, but if only one trap is passed in
then the function always returns without doing anything
(fdo#90984).
+ Improve rendering with Quarts to better match pixman's blending
and filtering behavior.
- Drop cairo-render-thin-lines.patch: Fixed upstream.
* Sun Dec 13 2015 zaitor@opensuse.org
- Update to version 1.14.6:
+ Simple bugfix release to fix one Windows issue.
* Mon Nov 02 2015 zaitor@opensuse.org
- Update to version 1.14.4:
+ Avoid appending empty slots to user data arrays. Fixes a memory
consumption regression since commit 9341c254a.
+ Return a better error (file-not-found) when setting up pango on
devices where the font files don't have read permissions.
+ Fix regression in the font size of canvas text in Inkscape when
compiled with the Quartz backend (fdo#84324).
+ Fix _cairo_gl_shader_bind_matrix() to maintain compatibility
with OpenGL ES 2.0. Manually transpose the matrix.
+ Fix incorrect font descriptor conversion when the font matrix
yy is negative (fdo#90538).
+ Fix crash when using a complex path for clip and stroke due to
discarding the intersection exactly at the top edge
(fdo#74779).
+ Fix cairo_get_locale_decimal_point() on Android.
+ Fix compilation problem on AIX due to conflicting usage of
symbol 'jmpbuf' (fdo#89339).
+ Fix broken rendering with XCB due to snapshotting of uploaded
part of surfaces (fdo#67505).
+ Fix loss of alpha when copying a mask for a cairo recording
surface, resulting in a double copy (fdo#73038, fdo#73901).
+ Fix incorrect recording of certain paths with script surfaces
(fdo#91054).
+ Fix typo in definition of MAYBE_WARN in configure script
(fdo#89750).
+ Fix use of filename variable after it's been freed (fdo#91206).
+ Fix out of bounds access when printing pattern (fdo#91266).
+ Fix incorrect size calculation in glyph cache unlocking for
Cairo GL compositor (fdo#91321).
+ Fix memory leak in _cairo_gl_pattern_texture_setup()
(fdo#91537).
+ Fix transparent images in win32-print (fdo#91835).
+ Fix _put_shm_image_boxes and _put_image_boxes when no SHM
available with XCB.
* Sat May 16 2015 ro@suse.de
- drop cairo-disable-lto.patch: lto was dropped upstream
* Sat Mar 14 2015 opensuse@mirell.de
- Update to version 1.14.2:
+ Features:
- Improve xcb's handling of per-screen subpixel ordering. If
no Xft.rgba property is specified, default to the screen's
subpixel order.
+ Performance Optimizations:
- Improve performance of cpu_to_be32 and be32_to_cpu, making
truetype subsetting of large fonts run about 15% faster.
+ Bug fixes:
- Fix unaligned access on sparc with the compact font format
(CFF).
Unlike truetype, all data in CFF is not aligned.
(Debian bug #712836)
- Fix unaligned access on sparc with tor-scan-converter's
memory pool.
- Fix crash when loading a PDF with a transformed image.
(fdo bug #85151)
- Fix regression on mingw for bigendian test due to removal of
file extension for executables. (fdo bug #85120)
- Fix handling of backslash in PDF interpreter (fdo bug #85662)
- Fix crash in xlib and xcb renderers when swapping a 0-sized
glyph
- Fix bug with RTL text in PDF operators (fdo bug #86461)
- Fix compilation 'cairo-path-stroke-traps.c' with MSVC8
(fdo bug #84908)
- Fix crash in _fill_xrgb32_lerp_opaque_spans when a span
length is negative.
- Fix valgrind error by releasing pattern created by
cairo_pattern_create_rgb().
- Fix valgrind errors when running cairo-test-suite.
- Fix memory leak in recording surface replays (fdo bug #87898)
- Fix destruction of fonts in api-special-cases test.
(fdo bug #87567)
- Fix duplicated surface push on similar-image, preventing
trivial GTK3 program traces from being replayable, with an
error message about invalid values for the size of the input.
(fdo bug #73580)
- Fix crash when win32 surface's image size does not cover the
entire
surface. (fdo bug #53121)
- Fix crash due to obsolete CGFontGetGlyphPath call
(fdo bug #84324)
- Fix several build issues on AIX (fdo bugs #89338, #89340,
[#89356], #89354)
- Fix various documentation warnings and errors
- Remove cairo-tor-scan-convertor.patch. It was upstreamed.
* Fri Jan 09 2015 tchvatal@suse.com
- Spec-cleanify
- Remove the obsoletes for sle10 64bit subpackages on ppc
- Remove libtool archive always
* Wed Jan 07 2015 dimstar@opensuse.org
- Add cairo-tor-scan-convertor.patch: tor-scan-converter: can't
do_fullrow when intersection in row + 0.5subrow (fdo#85151).
* Wed Oct 15 2014 zaitor@opensuse.org
- Update to version 1.14.0:
+ 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.
- 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.
- Drop Link-Time Optimization (LTO) support from build system.
- Optimize VBO size on GL to 1M and to 16k for EGL.
+ API changes:
- cairo_surface_set_device_scale,
cairo_surface_get_device_scale.
- cairo_egl_device_get_display, cairo_egl_device_get_context.
+ 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 (fdo#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 (fdo#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
(fdo#69485).
- Fix whitespace in font names.
- Fix page size in generated PDFs (fdo#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 (fdo#63257).
- Fix spelling of "tessellator" throughout code (fdo#50411).
- Fix crash in pixman_image_composite32.
- Fix crash when trying to modify a (const) all-clipped
cairo_clip_t (fdo#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.
- 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.
* Tue Jul 08 2014 fcrozat@suse.com
- Add cairo-xlib-endianness.patch: fix crash when client and server
have different endianness [bnc#882951, fdo#63461]
* Fri Apr 11 2014 jw@suse.com
- Add cairo-render-thin-lines.patch: Fix rendering of thin lines,
so that inkscape can export 0.01mm lines again to PDF. Regression
introduced with 1.12.3.
* Wed Aug 28 2013 idonmez@suse.com
- Add cairo-disable-lto.patch to disable LTO on s390{x} to fix the
build.
* Tue Aug 27 2013 dimstar@opensuse.org
- Update to version 1.12.16:
+ Set the correct orientation for simple boxes with a negative
scale factor.
+ Fix the creation of the shading dictionary in PDF.
+ Avoid upscaling bitmap fonts if possible.
+ Fix an assertion failure within the mempool allocator for
shared memory.
+ Fix allocation size for CFF subsets.
+ Export cairo_matrix_t for GObject bindings.
+ Stop leaking the image data when loading PNGs.
+ Prevent an assertion failure when creating similar GL surfaces
larger than supported by hardware.
+ Bugs fixed: fdo#61451, fdo#62885, fdo#61876, fdo#63196,
fdo#697357, fdo#61592, fdo#68014, fdo#63787.
- Drop cairo-reduce-buddy-assertion.patch: fixed upstream.
* Mon Jul 08 2013 sbrabec@suse.cz
- Add cairo-reduce-buddy-assertion.patch: Fix eog crash on
assertion, after pressing Next (bnc#828074).
* Sat May 25 2013 dimstar@opensuse.org
- Drop cairo-libpng16-v2.patch: in its current form, this patch
causes issues as that cairo.ImageSurface.create_from_png errors
out with 'MemoryError' in all cases (bnc#821766).
* Tue Apr 02 2013 pgajdos@suse.com
- Add cairo-libpng16-v2.patch: Fix png usage with libpng 1.6:
call png_set_read_user_transform_fn() before
png_read_update_info() (bnc#810701).
* Thu Feb 14 2013 zaitor@opensuse.org
- Update to version 1.12.14:
+ Prevent user callbacks accessing user-data during destroy to
prevent use-after-free bugs (mozilla#722975).
+ Use standard names for glyphs in subset fonts (PDF) (fdo#60248)
+ Fix detection of Win98. The logic for detecting Win98
AlphaBlend() was inverted, disabling AlphaBlend() for everyone.
+ Prevent numeric overflow from extrapolating polygon edges to
the clip boundary and causing severe render artifacts.
(fdo#60489).
+ Fix computation of glyph string coordinates when breaking up
runs for xlib.
+ Fix an assertion in the win32 backend for failing to clear its
similar-images (fdo#60519).
- Changes from version 1.12.12:
+ Avoid replacing the entire image when uploading subimages
(fdo#59635).
+ Force synchronisation for scratch SHM image buffers, so that we
do not overwrite data as it is being read by X (fdo#59635).
+ Fix typos in detecting multisampling for the GL (MSAA) backend.
+ Fix a memory leak in the GL (MSAA) backend.
+ Fix a reference counting bug when mapping a GL surface to an
image.
- Changes from version 1.12.10:
+ Append coincident elements to the recording's surface bbtree so
that the list is not corrupted and the overlapping elements
lost.
+ Fix cairo-trace to correctly record map-to-image/unmap-image
and then replay them.
+ Ignore MappingNotifies when running the XCB testsuite as they
are sent to all clients when the keyboard changes. The
testsuite would detect the unexpected event and complain.
+ Handle very large images in the XCB backend.
+ Fix a memory leak in the xlib/shm layer, and prevent use of
the SHM surfaces after the display is closed (fdo#58253).
+ Handle resizing of bitmap fonts, in preparation for a fix to
fontconfig to correctly pass on the user request for scaling.
+ Always include subroutine 4 (hint replacement idion) when
subsetting type 1 fonts in order to prevent a crash in
cgpdftops on Mac OS/X.
+ Fix a couple of typos in the cairo-gobject.h header files for
introspection.
+ Prevent a mutex deadlock when freeing a scaled-glyph containing
a recording-surface that itself references another scaled-glyph
(fdo#54950).
+ Make scaled-font cache actually thread-safe and prevent
use-after-frees.
+ Restore support for older versions of XRender. A couple of
typos and a few forgotten chunks prevented the xlib
compositor from running correctly with XRender < 0.10.