Commit graph

88 commits

Author SHA1 Message Date
kleink
7a8a3d4ef0 cairo: Update to 1.16.0.
Release 1.16.0 (2018-10-19 Bryce Harrington <bryce@bryceharrington.org>)
========================================================================
This new stable release incorporates a number of improvements made in
the four years since 1.14.0.

Of particular note is a wealth of work by Adrian Johnson to enhance PDF
functionality, including restoring support for MacOSX 10.4, metadata,
hyperlinks, and more.

Much attention also went into fonts, including new colored emoji glyph
support, variable fonts, and fixes for various font idiosyncrasies.

Other noteworthy changes include GLESv3 support for the cairo_gl
backend, tracking of SVG units in generated SVG documents, and cleanups
for numerous test failures and related issues in the PDF and Postscript
backends.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.16.0


Features and Enhancements
-------------------------
* Add support for OpenGL ES 3.0 to the gl backend.
* 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.  For details on this new PDF
  functionality, see:
    https://lists.cairographics.org/archives/cairo/2016-June/027427.html
* 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.
* 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.
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.
* Skia backend is removed
* 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
  (Bug #90166)
* Use UTF-8 filenames on Windows


API Changes
-----------
Several new APIs were added.  No existing APIs were altered.

New PDF functionality:

  * cairo_pdf_surface_add_outline
  * cairo_pdf_surface_set_metadata
  * cairo_pdf_surface_set_page_label
  * cairo_pdf_surface_set_thumbnail_size
  * cairo_tag_begin
  * cairo_tag_end
  * CAIRO_STATUS_TAG_ERROR

New error status items for problems relating to PDF tagging:

  * CAIRO_STATUS_WIN32_GDI_ERROR
  * CAIRO_STATUS_FREETYPE_ERROR
  * CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.


Setting up Win32 surfaces for HDC with alpha channels:

  * cairo_win32_surface_create_with_format

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

Variable fonts:

  * cairo_font_options_get_variations
  * cairo_font_options_set_variations

Tracking units in SVG documents:

  * cairo_svg_surface_set_document_unit
  * cairo_svg_surface_get_document_unit



Dependency Changes
------------------
None


Performance Optimizations
-------------------------
None


Notable Bug Fixes
-----------------
* Fix thin lines that don't show up when printing in Inkscape due to
  overly aggressive culling.
  (Bug #77298)
* 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.
  (Bug #89232)
* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)
* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #94615)
* Fix other oddities caused by variously idiosyncratic fonts.
* 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.  (Bug #90318)
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #102661)
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
  (Bug #103249)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #103071)
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
  (Bug #103335)
* Prevent invalid ptr access for > 4GB images.
  (Bug #98165)
* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.
* 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.
* Clarify documentation regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  (Bug #99094)
* 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 regression with text containing space character on Win32.
  (Bug: https://gitlab.freedesktop.org/cairo/cairo/issues/339)

For a more comprehensive listing of fixed bugs, see the release notes for the
individual 1.15.x releases.


Release 1.15.14    (2018-09-19 Bryce Harrington <bryce@bryceharrington.org>)
============================================================================
We're nearly ready to finalize the 1.16.0 release, so this snapshot
can be considered a beta for 1.16.

The most notable change this release is a performance optimization for
windows, discussed below.  Other than that, much of the development
focus was on final polish and stability as we prepare for 1.16.

Some attention went into getting the testsuite passing at least for the
image backend.  The Cairo testsuite depends on external software like
Pixman, and changes in the rendering behavior of these dependencies
change test behavior, leading to false positives.

Results from the Coverity static testing tool were also reviewed.  Most
of the issues flagged were false positives, but there were several
legitimate problems found and fixed.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.12

Features and Enhancements
-------------------------
* Add more FreeeType font color conversions to support COLR/CPAL
* Update test reference images against current pixman

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
Vasily Galkin introduced a Win32 performance optimization for
CAIRO_OPERATOR_SOURCE when copying data from a backbuffer to an argb32
surface corresponding to a Win32 DC.  With this, argb32 drawing should
perform as fast as typical dibsection-buffered GDI drawing.  See the
Cairo mailing list for April 2018 for data and discussion of the
performance improvements.


Bug Fixes
---------
* 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 (Bug #101547) (CVE-2017-9814)
* Fix assertion failure in the freetype backend (Bug #105746)


Release 1.15.12    (2018-04-04 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
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.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.12

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.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* 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
  (Bug #91271)
* Fix improper initialization of memory in
  _cairo_ft_font_face_create_for_pattern()
  (Bug #105084)
* Fix multi-monitor virtual desktop with negative coords on Win32
  (Bug #100793)
* Fix issues occuring with older FreeType versions.


Release 1.15.10    (2017-12-07 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This release adds GLESv3 support to the cairo_gl backend, adds
tracking of SVG units in generated svg documents, and cleans up numerous
test failures and related issues in the PDF and Postscript backends.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.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
  (Bug #90166)
* Use UTF-8 filenames on Windows

API Changes
-----------
* cairo_svg_surface_set_document_unit() and
  cairo_svg_surface_get_document_unit()

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix regression in gles version detection
* Fix undefined-behavior with integer math.
* Handle SOURCE and CLEAR operators when painting color glyphs.
  (Bug #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.
  (Bug #102922)
* Prevent curved strokes in small ctms from being culled from vector
  surfaces
  (Bug #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.
  (Bug #103249)
* Fix handling of truetype fonts with excessively long font names
  (Bug #103249)
* Fix race conditions with cairo_mask_compositor_t
  (Bug #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.
  (Bug #103335)
* Set default creation date for PDFs
* Prevent invalid ptr access for > 4GB images.
  (Bug #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
  (Bug #103559)
* Fix various compilation warnings and errors.
* Fix various distcheck errors with private symbols, doxygen formatting,
  etc.

Release 1.15.8     (2017-08-29 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This small snapshot provides new colored emoji glyph support, and a
handful of minor fixes.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.8

Features and Enhancements
-------------------------
* Support colored emoji glyphs, stored as PNG images in OpenType fonts.


API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------

* pdf: Fix internal links pointing to other pages, by pre-calculating
  page heights so that link positions can be calculated more accurately.

* image: Fix crash on negative lengths

* win32: Fix initialization of mutexes for static builds

* pdf: Don't emit /PageLabel dict when no labels defined

* font: Fix color font loading on big-endian systems

* font:	Fix color font support infinite-loop with empty glyphs

* Fix off by one check in cairo-image-info.c



Release 1.15.6     (2017-06-13 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This new snapshot incorporates changes over the past half-year since the
1.15.4 snapshot, including all the fixes from the 1.14 release series.

The PDF code continues to be enhanced, and we're restored MacOSX 10.4
support.  Font-related fixes and improved error handling for X round out
the release.

For a complete log of changes, please see

    https://cairographics.org/releases/ChangeLog.1.15.6


Features and Enhancements
-------------------------
* 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.


API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* 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.
  Bug #99094.


Release 1.15.4     (2016-12-9 Bryce Harrington <bryce@osg.samsung.com>)
=======================================================================
This new snapshot incorporates changes over the past year since the
1.15.2 snapshot, including all the fixes from the 1.14 release series.

Of particular note in this snapshot is a wealth of work by Adrian
Johnson to enhance PDF support, as well as numerous bug fixes provided
by him and other contributors.

For a complete log of changes since the last release, please see:

    https://cairographics.org/releases/ChangeLog.1.15.4

Features
--------
* 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.  For details on this new PDF
  functionality, see:

    https://lists.cairographics.org/archives/cairo/2016-June/027427.html


API Changes
-----------

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

  cairo_pdf_surface_add_outline
  cairo_pdf_surface_set_metadata
  cairo_pdf_surface_set_page_label
  cairo_pdf_surface_set_thumbnail_size
  cairo_tag_begin
  cairo_tag_end
  CAIRO_STATUS_TAG_ERROR

    New API for added PDF functionality (see above), and new error
    status item for problems relating to PDF tagging.

  CAIRO_STATUS_WIN32_GDI_ERROR
  CAIRO_STATUS_FREETYPE_ERROR
  CAIRO_STATUS_PNG_ERROR

    New error status items for handling of GDI, libfreetype, and libpng
    errors, respectively.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Bug fixes from 1.15.2 (see the 1.15.2 NEWS for details)

* 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.
  (Bug #89232)

* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)

* Fix missing glyphs such as thin dashes, which get scaled to 0 in
  userspace and thus have their drawing operations culled.  (Bug #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.  (Bug #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.
  (Bug #84330)

* Fix crash when dealing with an XShmGetImage() failure, caused by a
  double free in _get_image_surface().  (Bug #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.  (Bug #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.  (Bug #90318)

* Cleanup debugging text sent to stdout instead of log.  (Bug #95227)

* Fix build issue when using non-GNU strings utility.  (Bug #88639)

* Fix build of cairo modules as regular modules, not as versioned shared
  libaries.  (Bug #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.


Release 1.15.2     (2015-12-10 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
This release is largely a rollup to include a variety of fixes that
didn't make the cut for the stable 1.14.2 and 1.14.4 releases, as well
as all the fixes from those releases.  Notably this includes a highly
requested new API for Win32 surfaces.

For a complete log of changes since the last release, please see:

    https://cairographics.org/releases/ChangeLog.1.15.2

Features
--------
None

API Changes
-----------

  cairo_win32_surface_create_with_format

    Added a cairo API to set up Win32 surfaces for HDC with alpha channels.

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* All the bug fixes from 1.14.2, 1.14.4, and 1.14.6

* 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.
  (Bug #77298)

* Fix broken printing via pdf when glyph 0 is used for rendering,
  resulting in missing spaces and letters.
  (Bug #89082)

* Fix crash for certain glyphs in opentype fonts.
  (Bug #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.
  (Bug #90984)

* Improve rendering with Quartz to better match pixman's blending and
  filtering behavior.


Release 1.14.6    (2015-12-09  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Simple bugfix release to fix one Windows issue.

For a complete log of changes since 1.14.4, please see:

    https://cairographics.org/releases/ChangeLog.1.14.6

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix failure on Windows due to reference of the function
  cairo_win32_surface_create_with_format(), which isn't included in the
  1.14.4 release. (Bug #92771)


Release 1.14.4    (2015-10-28  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Just in time for Halloween we see another bug-fix release for Cairo.
This brings a few dozen straightforward bug fixes with no API changes.

In addition, this includes a typical assortment of fixes to tests,
cleanup of warnings and memory leaks, correction of misspellings,
updates to documentation, etc.

For a complete log of changes since 1.14.2, please see:

    https://cairographics.org/releases/ChangeLog.cairo-1.14.4

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* 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.  (Bug #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. (Bug #90538)

* Fix crash when using a complex path for clip and stroke due to
  discarding the intersection exactly at the top edge.
  (Bug #74779)

* Fix cairo_get_locale_decimal_point() on Android

* Fix compilation problem on AIX due to conflicting usage of symbol
  'jmpbuf'.  (Bug #89339)

* Fix broken rendering with XCB due to snapshotting of uploaded part of
  surfaces.  (Bug #67505)

* Fix loss of alpha when copying a mask for a cairo recording surface,
  resulting in a double copy.  (Bugs #73038, #73901)

* Fix incorrect recording of certain paths with script surfaces.
  (Bug #91054)

* Fix typo in definition of MAYBE_WARN in configure script.
  (Bug #89750)

* Fix use of filename variable after it's been freed.
  (Bug #91206)

* Fix out of bounds access when printing pattern.
  (Bug #91266)

* Fix incorrect size calculation in glyph cache unlocking for Cairo GL
  compositor.
  (Bug #91321)

* Fix memory leak in _cairo_gl_pattern_texture_setup()
  (Bug #91537)

* Fix transparent images in win32-print.
  (Bug #91835)

* Fix _put_shm_image_boxes and _put_image_boxes when no SHM available
  with XCB.
2018-11-14 17:14:52 +00:00
adam
03c335a354 cairo: updated to 1.14.12
Release 1.14.12:
Another bugfix release rolling up backported fixes for the past half year.

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix assertion hit with PDFs using Type 4 fonts rendered with user
  fonts, due to error when destroying glyph page.
* Fix build error with util/font-view
* Fix handling of truetype fonts with excessively long font names
* Fix falling back to system font with PDFs using certain embedded
  fonts, due to truncated font names.
* Fix sigabrt printing documents with fonts lacking the mandatory .nodef
  glyph.
* Fix undefined-behavior with integer math.
* Fix various warnings and typos
2018-01-06 11:30:56 +00:00
spz
0ad3645b1f patches for CVE-2016-9082, CVE-2017-7475 and CVE-2017-9814 from the
upstream bug database
2017-09-28 00:57:25 +00:00
wiz
9e3d3f2658 Updated cairo to 1.14.10.
Release 1.14.10   (2017-06-13  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Bugfix release rolling up backported fixes for the past half year.

Bug Fixes
---------
* Clarify documentation	regarding device scale inheritance and the units
  used in cairo_surface_create_similar_image.
  Bug #99094.

* 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.

* For opentype fonts, always use gid to lookup glyph.

* If glyph 0 used for rendering, remap to different index.

* Set font size to em size when retrieving unhinted metrics.

* Flush ASCII85Decode file after use with Postscript files.

* pdf: Don't fail subsetting if unable to convert utf8 to utf16.

* For truetype, reverse cmap search should end when 0xffff- 0xffff range
  reached.

* Fix bug in line wrapping with the PDF operators.

* Fix an off by one check in cairo-image-info.c.
2017-06-20 11:19:14 +00:00
wiz
331da18ee4 Update cairo{,-gobject} to 1.14.8.
Release 1.14.8    (2016-12-07  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Bugfix release rolling up backported fixes for the past year.

For a complete log of changes since 1.14.6, please see:

    http://cairographics.org/releases/ChangeLog.cairo-1.14.8

Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* Fix "invalidfont" error on some printers when printing PDFs with
  embedded fonts that have glyphs (such as spaces) with
  num_contours == 0.  (Bug #79897)
* Fix deadlock when destruction of a scaled font indirectly triggers
  destruction of a second scaled font, causing the global cache to be
  locked twice.  (Bug #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.
  (Bug #84330)
* Fix crash when dealing with an XShmGetImage() failure, caused by a
  double free in _get_image_surface().  (Bug #91967)
* Fix build issue when using non-GNU strings utility.  (Bug #88639)
* Cleanup debugging text sent to stdout instead of log.  (Bug #95227)
2016-12-12 13:56:07 +00:00
wiz
d1a642d130 Update cairo* to 1.14.6:
Release 1.14.6    (2015-12-09  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Simple bugfix release to fix one Windows issue.

Bug Fixes
---------
* Fix failure on Windows due to reference of the function
  cairo_win32_surface_create_with_format(), which isn't included in the
  1.14.4 release. (Bug #92771)
2015-12-13 21:20:15 +00:00
wiz
4d3371fa99 Update cairo* to 1.14.4:
Release 1.14.4    (2015-10-28  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Just in time for Halloween we see another bug-fix release for Cairo.
This brings a few dozen straightforward bug fixes with no API changes.

In addition, this includes a typical assortment of fixes to tests,
cleanup of warnings and memory leaks, correction of misspellings,
updates to documentation, etc.

For a complete log of changes since 1.14.2, please see:

    http://cairographics.org/releases/ChangeLog.1.14.4


Features
--------
None

API Changes
-----------
None

Dependency Changes
------------------
None

Performance Optimizations
-------------------------
None

Bug Fixes
---------
* 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.  (Bug #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. (Bug #90538)

* Fix crash when using a complex path for clip and stroke due to
  discarding the intersection exactly at the top edge.
  (Bug #74779)

* Fix cairo_get_locale_decimal_point() on Android

* Fix compilation problem on AIX due to conflicting usage of symbol
  'jmpbuf'.  (Bug #89339)

* Fix broken rendering with XCB due to snapshotting of uploaded part of
  surfaces.  (Bug #67505)

* Fix loss of alpha when copying a mask for a cairo recording surface,
  resulting in a double copy.  (Bugs #73038, #73901)

* Fix incorrect recording of certain paths with script surfaces.
  (Bug #91054)

* Fix typo in definition of MAYBE_WARN in configure script.
  (Bug #89750)

* Fix use of filename variable after it's been freed.
  (Bug #91206)

* Fix out of bounds access when printing pattern.
  (Bug #91266)

* Fix incorrect size calculation in glyph cache unlocking for Cairo GL
  compositor.
  (Bug #91321)

* Fix memory leak in _cairo_gl_pattern_texture_setup()
  (Bug #91537)

* Fix transparent images in win32-print.
  (Bug #91835)

* Fix _put_shm_image_boxes and _put_image_boxes when no SHM available
  with XCB.
2015-11-06 11:15:51 +00:00
agc
7f810a359f Add SHA512 digests for distfiles for graphics category
Problems found with existing digests:
	Package fotoxx distfile fotoxx-14.03.1.tar.gz
	ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
	118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
	Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
	34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
	Package pgraf: missing distfile pgraf-20010131.tar.gz
	Package qvplay: missing distfile qvplay-0.95.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 21:33:50 +00:00
wiz
875bb5aa92 Remove outdated patch after 1.14.2 update. 2015-03-15 21:09:24 +00:00
wiz
ae320c5565 Update to 1.14.2:
Release 1.14.2 (2014-03-09 Bryce Harrington <bryce@osg.samsung.com>)
====================================================================
This release provides collected bug fixes, along with one feature
enhancement for the xcb backend, and a small performance improvement for
fonts.

The running theme of the bug fixes is platform-specific issues, both
build and run-time.  Platforms with fixes include Sparc, AIX, Windows
(mingw), and Windows (MSVC8).  Memory leaks, valgrind issues, and PDF
issues round out our list.

It's come to light that changes in cairo 1.14 resulted in breakage on
MacOS X 10.4.  We've not yet determined whether to fix up the support,
or excise the 10.4-specific code and support only OS X 10.5 or newer.
Meantime, we'll only advertise cairo as working on OS X 10.5.

Features
--------
 * Improve xcb's handling of per-screen subpixel ordering.  If no
   Xft.rgba property is specified, default to the screen's subpixel
   order.

API Changes
-----------
None

Dependency Changes
------------------
None

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
2015-03-15 21:05:37 +00:00
mef
a6835e33e4 New file patch-src_cairo-tor-scan-converter_c.
Dot command segfaults easily to output *.png.
See http://mail-index.netbsd.org/pkgsrc-users/2014/10/28/msg020603.html
And this patch is at:
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1272017.html
Thanks joerg@ and wiz@,
2014-11-15 00:38:08 +00:00
wiz
205fb4159b Update cairo to 1.14.0:
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.
2014-10-22 09:55:36 +00:00
adam
5222ad9472 Changes 1.12.16:
Bug fixes
* Set the correct orientation for simple boxes with a negative scale factor.
* Fix the creation of the shading dictionary in PDF.
* Fix a crash in PDF when incorporating an image with CAIRO_EXTEND_PAD.
* 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.
* Fix a double free in the Quartz backend.
* Fix origin of GDI StretchBlits for the Windows backend
* Fix error propagation for requests to create a similar surface with
  negative size.
* Fix complex clipping of trapezoids with regions
* Stop leaking the image data when loading PNGs
* Fix unbounded operations with a clip mask through the span compositor
* Add missing checks before rendering to a finished surface - so we return
  an error rather than hit an assert.
* Prevent an assertion failure when creating similar GL surfaces larger
  than supported by hardware.
* Prevent a double free of a similar image under Windows.
2013-08-31 22:19:32 +00:00
wiz
308fbe0b75 Update cairo* to 1.12.14:
Release 1.12.14 (2013-02-10 Chris Wilson <chris@chris-wilson.co.uk>)
====================================================================
In the last week we had a few more bugs reported and promptly resolved.
As these are a combination of regressions and stability issues, it is
time for a prompt update and release. Many thanks to everyone for
testing and reporting issues, and helping to make Cairo better.

Bug fixes
---------

  Prevent user callbacks accessing user-data during destroy to prevent
  use-after-free bugs.
  https://bugzilla.mozilla.org/show_bug.cgi?id=722975

  Use standard names for glyphs in subset fonts (PDF).
  https://bugs.freedesktop.org/show_bug.cgi?id=60248

  Fix detection of Win98. The logic for detecting Win98 (and its broken
  AlphaBlend()) was inverted, disabling AlphaBlend() for everyone.

  Prevent numeric overflow from extrapolating polygon edges to the clip
  boundary and causing severe render artifacts.
  https://bugs.freedesktop.org/show_bug.cgi?id=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.
  https://bugs.freedesktop.org/show_bug.cgi?id=60519
2013-02-12 20:08:29 +00:00
wiz
5382549ba1 Update to 1.12.12:
Release 1.12.12 (2013-01-31 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
The goal of this release is to fix the synchronisation problems that
were exhibited in the SHM transport for cairo-xlib. This cropped up
any place that tried to rapidly push fresh pixel data to the X server
through an ordinary image surface, such as gimp-2.9 and evince.

Bug fixes
---------

   Avoid replacing the entire image when uploading subimages
   https://bugs.freedesktop.org/show_bug.cgi?id=59635

   Force synchronisation for scratch SHM image buffers, so that we do
   not overwrite data as it is being read by X.
   https://bugs.freedesktop.org/show_bug.cgi?id=59635 (also)

   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.
2013-02-03 16:58:16 +00:00
wiz
173c930de9 Update to 1.12.10:
Release 1.12.10 (2013-01-16 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
A heap of bug fixes everywhere, and the gradual completion of the MSAA
backend for cairo-gl. Perhaps the most noteworthy set of the bugfixes
was the crusage lead by Behdad Eshfabod to make font handling by
pango/cairo/fontconfig fully threadsafe. This testing revealed a couple
of races that needed fixing in Cairo's scaled-font and glyph cache.

Bug fixes
---------

  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 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.
  https://bugs.freedesktop.org/show_bug.cgi

  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.
  https://bugs.freedesktop.org/show_bug.cgi?id=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. Note that there are still a few
  regressions remaining.
2013-01-21 14:15:16 +00:00
wiz
00df48c38f Add comments to patches. 2012-11-04 23:48:54 +00:00
wiz
73bd8c7efe Update to 1.12.8:
Release 1.12.8 (2012-11-24 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
Another couple of weeks and a few more bugs have been found and fixed,
it is time to push the next point release. Many thanks to everyone who
reported their issues and helped us track down the bugs and helped
testing the fixes.

Bug fixes
---------

  Expand the sanity checking for broken combinations of XSendEvent and
  ShmCompletionEvent.

  Notice that "The X.Org Foundation" sometimes also identifies itself
  as "The Xorg Foundation".

  Handle various ages of libXext and its Shm headers.

  Fix the invalid clipping of the source drawable when using SHM
  transport to upload images.
  https://bugs.freedesktop.org/show_bug.cgi?id=56547

  Handle all Type1 postscript operators for better font compatibility.
  https://bugs.freedesktop.org/show_bug.cgi?id=56265

  Fix a couple of memory leaks in Type1 font subsetting
  https://bugs.freedesktop.org/show_bug.cgi?id=56566

  Tighten the evaluation of the start/stop pen vertices, and catch a few
  instances where we would use a fan instead of a bevel.
  https://bugs.freedesktop.org/show_bug.cgi?id=56432

  Fix assumption that geometric clipping always succeeds with the
  span-compositor.
  https://bugs.freedesktop.org/show_bug.cgi?id=56574

  Fix call to spline intersection when evaluating whether a stoke is
  visible.

  Remember to copy inferior sources when using SHM to readback the
  surface for use as a source.
2012-11-04 23:44:27 +00:00
wiz
a8563be5d8 Bring back previous patch in correct version to fix SHM part of
build on NetBSD-5 with native Xorg.

Additionally, disable GL support since NetBSD-5's MesaLib is too old and,
according to upstream, cairo-gl "is only really being experimented
with currently by toy applications".

Bump PKGREVISION.

Tested by Andreas Gustafsson and David Brownlee.
2012-11-01 08:54:46 +00:00
wiz
c32d20dfbb Remove previous two patches again, since they make cairo fail on NetBSD-6.
Reported by abs.
Bump PKGREVISION.
2012-10-31 13:06:22 +00:00
wiz
2afe804296 Add more patches from upstream to get further in build on NetBSD-5. 2012-10-30 23:30:19 +00:00
wiz
ccdd711e9d Add another patch from upstream fixing martin's firefox problem,
tested by martin. Bump PKGREVISION.
2012-10-26 21:49:23 +00:00
wiz
c28d99fdf7 Update to 1.12.6:
Release 1.12.6 (2012-10-22 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
Thanks to everyone who download cairo-1.12.4 and gave us their feedback.
It truly was invaluable and has helped us to fix many portability issues
that crept in with some of the new features. This release aims to fix
those stability issues and run on a wider range of systems.

Bug fixes
---------

  Fix the recording surface to actually snapshot the source and so fix
  PDF drawing.

  Calling XSendEvent with an XShmCompletionEvent is incompatabile with
  older Xorg servers.

  Reorder CloseDisplay chain so that XShm is not reinstantiated after
  shutdown, causing a potential crash if the Display was immediately
  recreated using the same memory address.

  Make sure that the Xserver has attached to the SHM segment before
  deleting it from the global namespace on systems that do not support
  deferred deletion.

  Type1 subsetting support for PDF (and PS) was once again improved to
  work with a larger number of PDF readers.

  GLESv2 build fixes and improved support for embedded GPUs.

  Tweak the invisible pen detection for applications that are currently
  using too large values for geometric tolerance.

  A build fix for older freetype libraries.
2012-10-22 14:53:58 +00:00
wiz
f825477768 Second try at updating to 1.12.4 with an additional patch from
Chris Wilson (upstream).

Fixes problems on NetBSD and OS X.

Bump PKGREVISION compared to last 1.12.4 version.
2012-10-20 00:55:05 +00:00
wiz
7077c68a86 Downgrade cairo back to yesterday's version.
1.12.4 causes SHM problems on OS X and NetBSD.

E.g. for firefox, during startup, on 6.99.12/amd64:
###!!! ABORT: X_ShmAttach: BadAccess (attempt to access private resource denied); 11 requests ago: file /scratch/devel/xulrunner/work/mozilla-release/toolkit/xre/nsX11ErrorHandler.cpp, line 157
###!!! ABORT: X_ShmAttach: BadAccess (attempt to access private resource denied); 11 requests ago: file /scratch/devel/xulrunner/work/mozilla-release/toolkit/xre/nsX11ErrorHandler.cpp, line 157
zsh: segmentation fault (core dumped)  firefox

Or for xchat on OS X Lion:
The program 'xchat' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
  (Details: serial 5738 error_code 10 request_code 133 minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
2012-10-08 21:54:05 +00:00
tron
670b9d44f3 Add patch from cairo's GIT repository to fix crashes with older versions
of X.org. XChat now works again under Mac OS X Lion.
2012-10-08 12:29:08 +00:00
wiz
fc23f56fdf Update to 1.12.4:
Release 1.12.4 (2012-10-05 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
More bugs, and more importantly, more fixes. On the cairo-gl side, we
have refinements to the MSAA compositor which enables hardware
acceleration of comparitively low-quality antialiasing - which is useful
in animations and on very high density screens. For cairo-xlib, we have
finally enabled SHM transport for image transfers to and from the X
server. A long standing required feature, SHM transport offers a notable
reduction in rendering latency by reducing the number of copies
required to upload image data - given hardware and driver support,
cairo-xlib can now perform zero copy uploads onto the GPU. And as usual
Adrian Johnson has been very busy fixing many different corner cases in
cairo-pdf, impoving opacity groups and font subsetting. Last, but not
least, for cairo-image Søren Sandmann Pedersen added support for
rendering glyphs to pixman and using that from within cairo. The new
glyph rendering facility reduces the overhead for setting up the
compositing operation, improving glyph thoughput for the image backend
by a factor of about 4. And before he did so, he also fixed up a few
bugs in the existing glyph rendering code. So many thanks to Andrea
Canciani, Adrian Johnson, Chuanbo Weng, Dongyeon Kim, Henry Song, Martin
Robinson, Søren Sandmann Pedersen and Uli Schlachter for their
contributions, finding and fixing bugs.

Bug fixes
---------

 Interior boxes were being dropped when amalgamating regions during
 tesselation.
 https://bugs.freedesktop.org/show_bug.cgi?id=49446

 Allow building without gtk-doc installed

 Invalid edge generation whilst reducing complex polygons.
 https://bugs.freedesktop.org/show_bug.cgi?id=50852

 Stroking around tight cusps

 Use locale correct formats for reading font subsetting and valid
 buffers.
 https://bugs.freedesktop.org/show_bug.cgi?id=51443

 Ensure that the type1 subset includes all the glyph encodings
 https://bugs.freedesktop.org/show_bug.cgi?id=53040

 Upload the whole source for a repeating pattern.
 https://bugs.freedesktop.org/show_bug.cgi?id=51910

 Fix damage tracking to handle continuation chunks corectly and so
 prevent crashes on win32.
 https://bugs.freedesktop.org/show_bug.cgi?id=53384

 Avoid emitting miter joins for degenerate line segments
 https://bugzilla.mozilla.org/show_bug.cgi?id=407107

 Convert the relative path semgents into the backend coordinates
 and then back again to user coordinates (cairo_copy_path,
 cairo_append_path)
 https://bugs.freedesktop.org/show_bug.cgi?id=54732

 Fix extents computations for a degenerate path consisting only of a
 move-to
 https://bugs.freedesktop.org/show_bug.cgi?id=54549

 Prevent crashing on a degenerate project edge after polygon
 intersection
 https://bugs.freedesktop.org/show_bug.cgi?id=54822
2012-10-07 22:17:54 +00:00
jperkin
ed42e3fce2 The Solaris linker requires an archive contain at least one symbol, so
provide one.

Fixes Solaris build.
2012-09-13 15:50:08 +00:00
adam
0b831003b0 Changes 1.12.2:
After such a long gestation period for the release of Cairo 1.12, we
inevitably accumulated a few bugs that were flushed out by broadening the
test base. Thanks to everybody who tried the release, apologies to any one
unfortunate enough to encounter a bug and many thanks for reporting it.
2012-09-07 15:24:03 +00:00
tron
039e4f8fd6 Fix 32 bit build under Mac OS X Lion. 2012-06-16 20:52:18 +00:00
drochner
5b6f97a3a1 make cairo-gobject usable for clients 2011-02-15 11:30:47 +00:00
drochner
e2ff4d7460 put the cairo gobject into its own pkg to avoid the heavy glib dependency
in the base pkg
2011-02-12 13:40:53 +00:00
wiz
016a35a74c Update to 1.10.2:
Release 1.10.2 (2010-12-25 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
The cairo community is pleased to announce the 1.10.2 release of the
cairo graphics library. This is the first update to cairo's stable 1.10
series and contains a large number of bug fixes.

While many people have contributed and have help to test the release,
2 people deserve special recognition for their efforts in tracking down
and fixing bugs, Andrea Canciani and Adrian Johnson. Thanks to their
tremendous efforts, and of all cairo contributors, it is much
appreciated.

We recommend everyone upgrade to cairo 1.10.2 and hope that everyone
will continue to have lots of fun with cairo!

-Chris

Bug fixes
---------

  Fix embedding of grayscale jpegs in PS.
  https://bugs.freedesktop.org/show_bug.cgi?id=31632

  Fix the reported path of extents containing a curve.

  Fix the compositing of unaligned boxes.

  Reset the clipper in PDF upon finish.

  Fix degenerates arcs to become a degenerate line.

  Build support for autoconf 2.67

  Fix painting of transformed patterns in PS

  Fix the EPS bounding box for PS
  https://bugs.freedesktop.org/show_bug.cgi?id=24688

  Fix the missing content for EPS
  https://bugs.freedesktop.org/show_bug.cgi?id=24688

  Fix regression upon changing page size in PS/PDF
  https://bugs.freedesktop.org/show_bug.cgi?id=24691

  Only use ActualText with PDF-1.5 documents

  Fix the bbox for type1 fallbacks.

  Reset the color after ending the context in PDF
  https://bugs.freedesktop.org/show_bug.cgi?id=31140

  Fix the advance of subsetted type1 fonts
  https://bugs.freedesktop.org/show_bug.cgi?id=31062

  Fix handling of EXTEND_NONE gradients for PDF

  Restrict in-place optimisation for a8 image masks with SOURCE
2010-12-26 14:58:43 +00:00
joerg
4178860445 Fix build on DragonFly. 2010-10-12 19:50:34 +00:00
wiz
27d3b9035d Add upstream bug report that was already filed by someone else. Problem is
fixed in upstream git.
2010-09-15 18:35:38 +00:00
wiz
c63d1cba3b Remove comma at end of enumeration -- breaks e.g. snes9x-gtk compilation.
Bump PKGREVISION.
2010-09-15 12:02:27 +00:00
wiz
cc1bf37073 Update to 1.10.0. Add default-on xcb option (implying x11 option).
Release 1.10.0 (2010-09-06 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
The cairo community is astounded (and flabbergast) to finally announce
the 1.10.0 release of the cairo graphics library. This is a major update
to cairo, with new features and enhanced functionality which maintains
compatibility for applications written using any previous major cairo
release, (1.8, 1.6, 1.4, 1.2, or 1.0). We recommend that anybody using
a previous version of cairo upgrade to cairo 1.10.0.

One of the more interesting departures for cairo for this release is the
inclusion of a tracing utility, cairo-trace. cairo-trace generates a
human-readable, replayable, compact representation of the sequences of
drawing commands made by an application. This can be used to inspecting
applications to understand issues and as a means for profiling
real-world usage of cairo.

The traces generated by cairo-trace have been collected in

  git://git.cairographics.org/git/cairo-traces

and have driven the performance tuning of cairo over the last couple of
years. In particular, the image backend is much faster with a new
polygon rasterisation and a complete overhaul of the tessellator. Not
only is this faster, but also eliminates visual artifacts from
self-intersecting strokes. Not only has cairo-trace been driving
performance improvements within cairo, but as a repeatable means of
driving complex graphics it has been used to tune OpenGL, DDX, and
pixman.

Cairo's API has been extended to better support printing, notably
through the ability to include a single compressed representation of an
image for patterns used throughout a document, leading to dramatic file
size reductions. Also the meta-surface used to record the vector
commands compromising a drawing sequence is now exposed as a
CAIRO_SURFACE_TYPE_RECORDING, along with a new surface that is a child of a
larger surface, CAIRO_SURFACE_TYPE_SUBSURFACE. One typical usage of a
subsurface would be as a source glyph in a texture atlas, or as a
restricted subwindow within a canvas.

Cairo's API has also resurrected the RGB16 format from the past as
the prevalence of 16-bit framebuffers has not diminished and is a
fore-taste of the extended format support we anticipate in the future.
Increasing cairo's utility, we introduce the cairo_region_t for handling
sets of pixel aligned rectangles commonly used in graphics applications.
This is a merger of the GdkRegion and the pixman_region_t, hopefully
providing the utility of the former with the speed of the latter.

Furthermore cairo has been reworked to interoperate more closely with
various acceleration architectures, gaining the ability to share
those hardware resources through the new cairo_device_t. For instance,
with the new OpenGL backend that supersedes the Glitz backend, hardware
and rendering operations can be shared between a classic OpenGL
application mixing libVA for the hardware assisted video decode with
cairo for high quality overlays all within the same OpenGL canvas.

Many thanks for the hard work of Adrian Johnson, Andrea Canciani, Behdad
Esfahbod, Benjamin Otte, Carl Worth, Carlos Garcia Campos, Chris Wilson,
Eric Anholt, Jeff Muizelaar, Karl Tomlinson, M Joonas Pihlaja, Søren
Sandmann Pedersen and many others that have contributed over the last
couple of years to cairo. Thank you all!

Snapshot 1.9.14 (2010-07-26)
============================

  A quiet couple of weeks, hopefully Cairo is seeing widescale deployment and
  we are being to see the results of the stabilisation effort. Clipping bugs
  seems to have been the order of the last couple of weeks, with a couple
  reported and duly fixed. Thank you Igor Nikitin and Karl Tomlinsion for
  finding those regressions. At this point all that seems to remain to do is
  to fix the outstanding regressions in the PDF backend...

Bugs fixes
----------

    Clip doesn't work for text on the image backend
    https://bugs.freedesktop.org/show_bug.cgi?id=29008

    Add explicit dependency for cxx
    https://bugs.freedesktop.org/show_bug.cgi?id=29114

    Fix regressions in reporting clip extents
    https://bugs.freedesktop.org/show_bug.cgi?id=29120
    https://bugs.freedesktop.org/show_bug.cgi?id=29121
    https://bugs.freedesktop.org/show_bug.cgi?id=29122
    https://bugs.freedesktop.org/show_bug.cgi?id=29124
    https://bugs.freedesktop.org/show_bug.cgi?id=29125


Snapshot 1.9.12 (2010-07-12)
============================

  A couple of weeks spent fixing those annoying bugs and cleaning up the build
  system; the list of outstanding tasks to complete for the stable release is
  finally shrinking. The chief bug fixer has been Benjamin Otte who not only
  made sure that the public API is consistent and being tested for its
  consistency, but also ensured that the documentation was up-to-date and
  spent time clarifying cases where even the Cairo developers have come
  unstuck in the past. Many thanks, Benjamin. However, he was not alone,
  as Andrea Canciani continued his fine work in isolating broken corner cases
  and proceeding to fix them, and tidying up the quartz backend. And last, but
  definitely not least, M Joonas Pihlaja tried building Cairo across a
  perverse range of systems and fixed up all the loose bits of code that came
  unravelled. Thanks everybody!

API Changes
-----------

  cairo_surface_set_mime_data, cairo_surface_get_mime_data:

    The length parameter is now an unsigned long (as opposed to an unsigned
    int). The parameter is intended to be an equivalent to a size_t without
    requiring POSIX types and be large enough to store the size of the
    largest possible allocation.

  cairo_gl_surface_create_for_texture:

    This a new surface constructor for cairo-gl that explicitly enables
    render-to-texture for foreign, i.e. application, textures.

  cairo_region_xor, cairo_region_xor_rectangle

    A couple of utility routines add to the region handling interface for
    the purpose of replacing existing GdkRegion functionality.

Bugs fixes
----------

  https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622

    Inkscape was caught in the act of attempting to modify a finished surface.
    Unfortunately, we had the ordering of our guards and assertions wrong and
    so an ordinary application error was triggering an assert in Cairo. This
    lead Benjamin to add a test case to ensure that the entire public API
    could handle erroneous input and then proceeded to fix a whole slew of
    uncovered bugs.


  https://bugs.freedesktop.org/show_bug.cgi?id=28888

    A regression introduced by the special casing of uploading images to an
    xlib surface in-place which was ignoring the translation applied to the
    image.


Snapshot 1.9.10 (2010-06-26)
============================

   The first "quick" snapshot in the run up to the stable release.  The
   last snapshot was picked up by the bleeding edge distributions and so the
   bug reports have to started to roll in.  The most frequent of these are the
   introduction of rendering errors by applications that modify a surface
   without subsequently calling cairo_surface_mark_dirty(). Make sure the
   application developers are aware of increased reliance on strict use of the
   Cairo API before 1.10 is released!

   The usual slew of bugs reported and we would like to thank Zoxc for
   contributing the WGL interface for cairo-gl, and finding more build
   failures on win32.  And it just wouldn't be a 1.9 snapshot unless
   Benjamin Otte improved the error handling within cairo-gl, as well as
   isolating and fixing some more errors in the test suite. The biggest bug of
   the snapshot turned out to be a major sign extension issue that had lain
   hidden for many years and was suddenly exposed by incorrectly rounding
   rectangles when performing non-antialiased rendering.  Also to the relief
   of many we have included the downstream patch to honour the user's LCD
   filtering preferences for subpixel rendering of fonts.  The interface
   remains private for the time being, whilst the proposed public API is
   finalized.

API changes
-----------
   None.

Snapshot 1.9.8 (2010-06-12)
===========================

   One major API changes since the last snapshot, and a whole slew of bugs
   fixed and inconsistencies eliminated. Far too many bugs fixed to
   individually identify. We need to thank Benjamin Otte for his fantastic
   work on the cairo-gl backend making it faster and more robust, Andrea
   Canciani for finding so many bugs and developing test cases for them, as
   well fixing them. And last but not least we must all thank Adrian Johnson for
   continuing to eliminate bugs and improving the PostScript and PDF backends.

   This snapshot represents almost 4 months of bug fixing, bringing Cairo to
   a point where we consider it almost ready to be a candidate for release.
   There are a few known bugs left to be fixed, being tracked in
   https://bugs.freedesktop.org/show_bug.cgi?id=24384, so please give Cairo a
   whirl and report any regressions. The plan is to release a new snapshot
   every other week leading to a 1.10 release with a target date of
   2010-08-16.

API additions
-------------
  CAIRO_FORMAT_RGB16_565

    16 bit devices still remain popular, and so with great demand,
    CAIRO_FORMAT_RGB16_565 has been restored enabling applications to create
    and use 16 bit images as sources and render targets.

  cairo_surface_create_for_rectangle()

    It is common practice to cut an image up into many smaller pieces and use
    each of those as a source - a technique called texture atlasing.
    cairo_surface_create_for_rectangle() extends Cairo to directly support use
    of these subregions of another cairo_surface_t both as a source and as a
    render target.

  cairo_region_create()
  cairo_region_create_rectangle()
  cairo_region_create_rectangles()
  cairo_region_copy()
  cairo_region_reference()
  cairo_region_destroy()
  cairo_region_equal()
  cairo_region_status()
  cairo_region_get_extents()
  cairo_region_num_rectangles()
  cairo_region_get_rectangle()
  cairo_region_is_empty()
  cairo_region_contains_rectangle()
  cairo_region_contains_point()
  cairo_region_translate()
  cairo_region_subtract()
  cairo_region_subtract_rectangle()
  cairo_region_intersect()
  cairo_region_intersect_rectangle()
  cairo_region_union()
  cairo_region_union_rectangle()

    The Cairo region API was actually added a couple of snapshots ago, but we
    forgot to mention it at the time. A simple API for the handling of
    rectangular pixel-aligned regions by Soeren Sandmann.


Backend-specific improvements
-----------------------------
cairo-gl

  Benjamin Otte made more than 200 commits in which he refactored the cairo-gl
  backend, reducing a lot of code duplication and enabled him to begin working
  on improving performance by reducing state changes and associated overhead.

cairo-xlib

  Access to the underlying connection to the Display is now thread-safe
  enabling cairo-xlib to be used in a multi-threaded application without fear
  of random corruption. Thanks Benjamin Otte!

  cairo-xlib will now attempt to use PolyModeImprecise when compositing
  trapezoids (i.e. a fill or a stroke operation with a non-trivial path) which
  should allow hardware drivers more scope for accelerating the operation at
  the cost of potentially incurring minute rendering errors. The mode can be
  forced back to PolyModePrecise by setting the antialias parameter to
  CAIRO_ANTIALIAS_SUBPIXEL.

cairo-svg

  A notable improvement was contributed by Alexander Shulgin to enable SVG to
  reference external image through the use an extended MIME data type.

Snapshot 1.9.6 (2010-02-19)
===========================
API additions
-------------
    Add cairo_device_t

    The device is a generic method for accessing the underlying interface
    with the native graphics subsystem, typically the X connection or
    perhaps the GL context. By exposing a cairo_device_t on a surface and
    its various methods we enable finer control over interoperability with
    external interactions of the device by applications. The use case in
    mind is, for example, a multi-threaded gstreamer which needs to serialise
    its own direct access to the device along with Cairo's across many
    threads.

    Secondly, the cairo_device_t is a unifying API for the mismash of
    backend specific methods for controlling creation of surfaces with
    explicit devices and a convenient hook for debugging and introspection.

    The principal components of the API are the memory management of:

      cairo_device_reference(),
      cairo_device_finish() and
      cairo_device_destroy();

    along with a pair of routines for serialising interaction:

      cairo_device_acquire() and
      cairo_device_release()

    and a method to flush any outstanding accesses:

      cairo_device_flush().

    The device for a particular surface may be retrieved using:

      cairo_surface_get_device().

    The device returned is owned by the surface.

API changes (to API new in the cairo 1.9.x series)
--------------------------------------------------
  cairo_recording_surface_create()
  cairo_recording_surface_ink_extents()

    These are the replacement names for the functions previously named
    cairo_meta_surface_create and cairo_meta_surface_ink_extents.

  cairo_surface_set_mime_data

    This interface is now changed such that the MIME data will be
    detached if the surface is modified at all. This guarantees that
    the MIME data will not become out of synch due to surface
    modifications, and also means that for the MIME data to be useful,
    it must be set after all modifications to the surface are
    complete.

API removal (of experiment API)
-------------------------------
  The cairo-glitz backend is removed entirely, (in favor of the new
  cairo-gl backend). See below for more on cairo-gl.

Generic fixes
-------------

  Many improvements for drawing of dashed strokes

	Fix incorrect handling of negative offset
	Faster computation of first dash (avoids near-infinite looping)
	Approximate extremely fine dash patterns with appropriate alpha value

  Optimize spans-based renderers for repeated rows, (such as in a rounded rectangle)

Backend-specific improvements
-----------------------------
cairo-drm

  This is a new, direct-rendering backend that supports Intel graphics
  chipsets in the i915 and i965 families. It's still experimental and
  will likely remain that way for a while. It's already got extremely
  good performance on the hardware it supports, so if nothing else
  provides a working proof and performance target for the cairo-gl
  work for Intel graphics.

cairo-gl

  Start using GLSL to accelerate many operations. Many thanks to Eric
  Anholt and T. Zachary Laine for this work. For the first time, we
  have what looks like what will be a very compelling OpenGL-based
  backend for cairo (in terms of both quality and performance).

  See this writeup from Eric for more details on recent progress of
  cairo-gl (which he presented at FOSDEM 2010):

	http://anholt.livejournal.com/42146.html

cairo-image

  The image backend is made dramatically faster (3-5 times faster for
  benchmarks consisting primarily of glyph rendering).

cairo-quartz fixes:

  Many fixes from Robert O'Callahan and Andrea Canciani including:

	Fixed gradient pattern painting
	Improved A8 image handling
	Fixes for "unbounded" and other compositing operators

cairo-pdf fixes:

  Improvements to embedding of JPEG and JPEG2000 data.

cairo-ps fixes:

  Fix printing of rotated user fonts.

Snapshot 1.9.4 (2009-10-15)
===========================
API additions:

  cairo_meta_surface_create()
  cairo_meta_surface_ink_extents()

    Finally exporting the internal meta-surface so that applications
    have a method to record and replay a sequence of drawing commands.

  cairo_in_clip()

    Determines whether a given point is inside the current clip.
    ??? Should this be called cairo_in_paint() instead? in-clip is the test
    that is performed, but in-paint would be similar to in-fill and in-stroke.

New utilities:

  cairo-test-trace

    A companion to cairo-perf-trace, this utility replays a trace against
    multiple targets in parallel and looks for differences in the output,
    and then records any drawing commands that cause a failure.
    Future plans:
      Further minimisation of the fail trace using "delta debugging".
      More control over test/reference targets.

Backend improvements:

  xlib

     Server-side gradients. The theory is that we can offload computation
     of gradients to the GPU and avoid pushing large images over the
     connection. Even if the driver has to fallback and use pixman to render
     a temporary source, it should be able to do so in a more efficient manner
     than Cairo itself. However, cairo-perf suggests otherwise:

     On tiny, Celeron/i915:

      before: firefox-20090601 211.585
       after: firefox-20090601 270.939

     and on tiger, CoreDuo/nvidia:

      before: firefox-20090601 70.143
       after: firefox-20090601 87.326

     In particular, looking at tiny:

     xlib-rgba paint-with-alpha_linear-rgba_over-512   47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%):  2.62x slowdown
     █▋
     xlib-rgba paint-with-alpha_linear3-rgba_over-512   47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%):  2.62x slowdown
     █▋


New experimental backends:

   QT

   OpenVG - The initial work was done by Øyvind Kolås, and made ready for
            inclusion by Pierre Tardy.

   OpenGL - An advanced OpenGL compositor. The aim is to write a integrate
            directed rendering using OpenGL at a high-level into Cairo. In
	    contrast to the previous attempt using Glitz which tried to
	    implement the RENDER protocol on top of OpenGL, using the
	    high-level interface should permit greater flexibility and
	    more offloading onto the GPU.
	    The initial work on the backend was performed by Eric Anholt.

Long standing bugs fixed:

  Self-intersecting strokes.

    A long standing bug where the coverage from overlapping semi-opaque
    strokes (including neighbouring edges) was simply summed in lieu of
    a costly global calculation has been fixed (by performing the costly
    global calculation!) In order to mitigate the extra cost, the
    tessellator has been overhauled and tune, which handles the fallback
    for when we are unable to use the new span rasteriser on the stroke
    (e.g. when using the current RENDER protocol). The large number of
    pixel artefacts that implementing self-intersection elimination
    removes is ample justification for the potential performance
    regression. If you unfortunately do suffer a substantial performance
    regression in your application, please consider obtaining a
    cairo-trace and submitting it to us for analysis and inclusion into
    our performance suite.

Special thanks:

   To the AuroraUX team for providing access to one of their OpenSolaris
   machines for cairo and pixman development.  http://www.auroraux.org/

Snapshot 1.9.2 (2009-06-12)
===========================
API additions:

  cairo_surface_set_mime_data()
  cairo_surface_get_mime_data()

    Should this take unsigned int, unsigned long or size_t for the length
    parameter? (Some datasets may be >4GiB in size.)

    Associate an alternate, compressed, representation for a surface.
    Currently:
     "image/jp2" (JPEG2000) is understood by PDF >= 1.5
     "image/jpeg" is understood by PDF,PS,SVG,win32-printing.
     "image/png" is understood by SVG.

  cairo_pdf_version_t
  cairo_pdf_surface_restrict_to_version()
  cairo_pdf_get_versions()
  cairo_pdf_version_to_string()

    Similar to restrict to version and level found in SVG and PS,
    these limit the features used in the output to comply with the PDF
    specification for that version.

  CAIRO_STATUS_INVALID_SIZE
    Indicates that the request surface size is not supported by the
    backend.  This generally indicates that the request is too large.

  CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED
    Indicates that a required callback for a user-font was not implemented.

  CAIRO_STATUS_LAST_STATUS
    This is a special value to indicate the number of status values enumerated
    at compile time. (This may differ to the number known at run-time.)

  The built-in twin font is now called "@cairo:" and supports a limited set
  of options like "@cairo:mono". Where are these specified?

  cairo_in_fill() now uses HTML Canvas semantics, all edges are inside.

New experimental backends:

   CairoScript

New utility:

  cairo-trace and cairo-perf-trace

    cairo-trace generates a human-readable, replayable, compact(-ish!)
    representation of the sequences of drawing commands made by an
    application.

    Under the util/cairo-script directory is a library to replay traces.

    perf/cairo-perf-trace replays traces against multiple backends
    and makes useful benchmark reports. This is integrated with
    'make perf'. You may collect your own traces or take advantage
    of traces collected by the community:

      git://git.cairographics.org/git/cairo-traces

    (Put this into perf/cairo-traces to run these as part of "make perf".)

    There is additional WIP in building a debugging tool for cairo applications
    based on CairoScript (currently very preliminary, mostly serves to show
    that GtkSourceView is too slow) :

      people.freedesktop.org:~ickle/sphinx

Test suite overhaul:

  The test suite is undergoing an overhaul, primarily to improve its speed
  and utility. (Expect more changes in the near future to improve XFAIL
  handling.)

Optimisations:
  polygon rasterisation! Joonas implemented the Tor polygon scan converter,
  on typical geometry is about 30% faster for the image backend.

  Bovine Polaroids! For those not in on the joke, this is the long
  awaited "copy-on-write snapshot" or "COW snapshot" support. The
  user-visible feature is that including the same image multiple times
  into a PDF file should result in only a single instance of that
  image in the final output. This is unlike previous versions of cairo
  which would generate very large PDF files with multiple copies of
  the same image. Adrian says that the PDF is not quite working as
  well as it should yet, so we hope for futher improvements before
  cairo 1.10.

Bug fixes:

  EXTEND_PAD.

  Better handling of large scale-factors on image patterns.

  Emit /Interpolate for PS,PDF images.

  Global glyph cache - cap on the total number of inactive glyphs,
  should prove fairer for fonts with larger glyph sets.

  Compilation without fontconfig

  Improved handling of low-bitdepth sources (e.g. copying the contents
  of 16-bit xserver windows)

Regressions:

  cairo_traps_extract_region >10x slower. Fix pending.

Still to come:

  Region tracking API (ssp) for damage tracking, hit testing etc
  mime-surface

  An expiremental OpenGL backend?

  Tweaks to tessellator, allocations of patterns, delayed
  initialisation of the xlib backend (reduce the cairo overhead of
  render_bench by ~80%).
2010-09-13 12:23:01 +00:00
wiz
7d0c8ddaf6 Update to 1.8.10:
Release 1.8.10 (2010-02-19 Carl Worth <cworth@cworth.org>)
==========================================================
The cairo community is pleased to announce the 1.8.10 release of the
cairo graphics library. This is the fifth update to cairo's stable 1.8
series. This release consists of about a dozen hand-picked fixes
compared to 1.8.8 (which was released about 8 months ago).

We recommend that everyone using cairo upgrade to 1.8.10.

-Carl

General Bug fixes
=================
* Fix path construction for the case of cairo_curve_to immediately
  after cairo_new_sub_path followed at some point by
  cairo_close_path. (Previously, the final point for the close_path
  was computed incorrectly.)

* Fix for cairo_push_group or cairo_pop_group with a non-empty current
  path. (Previously the path may have been erroneously translated when
  either of these functions was called.)

* Fix to correctly report an error if
  cairo_surface_set_fallback_resolution is called with a value of 0
  (in either axis). Previously, an assertion would occur later rather
  than an error being properly reported when the original, invalid
  value was passed.

	Bug 23067: Using clear drawing operator crashes printing
	http://bugs.freedesktop.org/show_bug.cgi?id=23067

* Fix to handle a cairo_arc of radius 0 as equivalent to a
  cairo_line_to to the center coordinate, (previously cairo would do
  nothing for a cairo_arc call with a radius of 0).

Backend-specific bug fixes
==========================
cairo-xlib
----------
* Fix to correctly copy from a Window source. Previously, cairo was
  failing to include the contents of any sub-windows when copying from
  a Window source.

	Bug 12996: Xlib source surface fast-paths do not use
	IncludeInferiors, while slow paths do

	https://bugs.freedesktop.org/show_bug.cgi?id=12996

cairo-ft
--------
* Fix conversion of freetype index to UCS4 value, (which would
  previously miss the first character and cause the space glyph to map
  to 0x00A0 instead of 0x0020).

cairo-pdf
---------
* Fix Type 1 subsetting to avoid generating corrupt data.

	Launchpad Ubuntu/cups bug 419143: Printing from evince (and
	perhaps other GTK apps) to PostScript printers is broken

	https://bugs.launchpad.net/ubuntu/+source/cups/+bug/419143

* Fix Type 1 subsetting to correctly identify binary eexec data.

* Fix Type 1 subsetting to include fixed-content portion in the
  embedded font, (since some fonts may contain additional PostScript
  code after the cleartomark).

* Fix Type 1 subsetting to append "cleartomark" operator for binary
  fonts that don't include it.

Build fixes
===========
* Fix to compile on OpenBSD, (which has a libpng.pc file but none of
  libpng10.pc, libpng12.pc, or libpng13.pc which cairo was looking for
  previously).
2010-02-21 13:02:46 +00:00
drochner
ddd00d88a6 update to 1.8.8
changes:
small number of bug fixes (in particular a
few corrections to the documentation and a few fixes in the FreeType font
backend)
2009-07-09 17:27:56 +00:00
wiz
68477d9d4c Update to 1.8.6:
Release 1.8.6 (2008-12-13 Chris Wilson <chris@chris-wilson.co.uk>)
=========================================================
The cairo community is pleased to announce the 1.8.6 release of the
cairo graphics library. This is the third update to cairo's stable
1.8 series and contains a small number of bug fixes (in particular a
few fixes for failures of cairo 1.8.4 on Quartz and PDF, and build fixes for
a couple of backends). This is being released just under a month after
cairo 1.8.4.

We recommend that everyone using cairo upgrade to 1.8.6.

-Chris

Build fixes
-----------
Fix build of DirectFB backend with debugging enabled:

   Bug in _cairo_directfb_surface_release_source_image function
   http://bugs.freedesktop.org/show_bug.cgi?id=18322

Fix build on OS/2.

Bug fixes
---------
Workaround a mis-compilation of cairo_matrix_invert() that generated invalid
matrices and triggered assertion failures later. The issue was reported by
Peter Hercek.

Invalid computation of the modulus:

   https://bugzilla.mozilla.org/show_bug.cgi?id=466258

Invalid referencing of patterns in the Quartz backend:

   Failed assertion `CAIRO_REFERENCE_COUNT_HAS_REFERENCE
   (&pattern->ref_count)' when using cairo quartz backend
   http://bugs.freedesktop.org/show_bug.cgi?id=18632

Invalid references to glyphs after early culling, causing segmentation faults
in the PDF backend:

   http://lists.cairographics.org/archives/cairo/2008-December/015976.html

Check for XRender in the XCB backend, or else we may attempt an invalid memory
access:

    XCB backend fails with missing render.
    https://bugs.freedesktop.org/show_bug.cgi?id=18588
2009-01-07 16:39:10 +00:00
drochner
b6680c5fad fix an uninitialized variable, from upstream CVS, bump PKGREVISION
This should fix the "transmission" crash reported by Jared D. McNeill
on pkgsrc-changes.
2008-11-26 15:55:32 +00:00
wiz
ba82622a2d Update to 1.8.4:
Release 1.8.4 (2008-11-14 Carl Worth <cworth@cworth.org>)
=========================================================
The cairo community is pleased to announce the 1.8.4 release of the
cairo graphics library. This is the second update to cairo's stable
1.8 series and contains a small number of bug fixes, (in particular a
few fixes for build failures of cairo 1.8.2 on various systems). This
is being released just over two weeks after cairo 1.8.2.

We recommend that everyone using cairo upgrade to 1.8.4.

-Carl

Build fixes
-----------
Fix build with older XRender that doesn't define RepeatNone:

   Build of xlib backend fails against old XRender (RepeatNone undeclared)
   https://bugs.freedesktop.org/show_bug.cgi?id=18385

Fix build with bash version <= 3.0:

   doltlibtool broken on linux with bash 3.00.0
   https://bugs.freedesktop.org/show_bug.cgi?id=18363

Bug fixes
---------
Avoid triggering a bug in X.org server 6.9 resulting in a hung machine
requiring a reboot:

    https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2

Fix display of user fonts as exercised by proposed support for type3
fonts in poppler (unsigned promotion fixes):

    Use cairo user-font for Type 3 fonts
    http://lists.freedesktop.org/archives/poppler/2008-October/004181.html

Avoid miscomputing size of fallback images required when rendering
with CLEAR, IN, or SOURCE operator to vector surfaces, (PS, PDF, SVG,
etc.).

Be more tolerant of broken fonts when subsetting type1 fonts:

   Error handling in cairo_type1_font_subset_get_glyph_names_and_widths
   http://lists.cairographics.org/archives/cairo/2008-October/015569.html

Fix cairo_fill_extents, cairo_stroke_extents, cairo_path_extents, to
correctly allow NULL parameters as documented.

Fix potential crash on emitting a type3 glyph after having drawn text
paths from the same font, (for example with cairo_text_path).
2008-11-16 17:20:14 +00:00
wiz
e3ad79e4d7 Update to 1.8.2:
Release 1.8.2 (2008-10-29 Carl Worth <cworth@cworth.org>)
=========================================================
The cairo community is pleased to announce the 1.8.2 release of the
cairo graphics library. This is the first update to cairo's stable 1.8
series and contains a large number of bug fixes. It is being released
just over one month since cairo 1.8.0.

This release consists primarily of bug fixes, but there is one notable
new feature, (the ability to build cairo without an external font
backend), and there are a few optimizations as well. See below for
details on these changes and the most important bug fixes.

While many people have contributed to this release, Chris Wilson
deserves particular mention. He has contributed well over twice as
many changes to cairo since 1.8.0 than everyone else combined. We
greatly appreciate the tremendous efforts of Chris and all cairo
contributors.

We recommend everyone upgrade to cairo 1.8.2 and hope that everyone
will have lots of fun with cairo!

-Carl

New feature
-----------
It is now possible to build cairo without any font backend, (such as
freetype, win32 or quartz). This is most useful when the application
provides custom font rendering through the user-font API. But in the
case where no external font backend is available, and no user-font is
provided, cairo will render with a failsafe font, (a stroked font
covering visible ASCII character). (Behdad Esfahbod)

Optimizations
-------------
Dramatically speed up compilation with dolt (removes much of the
libtool overhead) (Behdad Esfahbod with thanks to Josh Triplett).

Several minor optimizations to tessellator (special-cased comparisons,
faster insert for skiplist, etc.) (Chris Wilson).

Optimize away fractional translation component when doing
EXTEND_NEAREST filtering, (for better performance).

General bug fixes
-----------------
Allow cloning sub-regions of similar surfaces to fix this bug
(Chris Wilson):

	Crafted gif file will crash firefox
	[XError: 'BadAlloc (insufficient resources for operation)']
	https://bugzilla.mozilla.org/show_bug.cgi?id=424333

Fix some matrix confusion to fix this regression (Chris Wilson):

	Translucent star exports in a wrong way to PDF
	https://bugs.launchpad.net/inkscape/+bug/234546

Fix some long-standing bugs with respect to properly computing the
extents of transformed, filtered surfaces (Owen Taylor, Carl Worth,
and Chris Wilson):

	Bad clipping with EXTEND_NONE
	http://bugs.freedesktop.org/show_bug.cgi?id=15349

	Improve filtering handling in cairo-pattern.c
	http://bugs.freedesktop.org/show_bug.cgi?id=15367

	Many thanks to Chris Wilson for digging out and cleaning up
	these fixes.

Fix compilation on Solaris 10 (Chris Wilson):

	Cairo requires -DREENTRANT (along with	-D_POSIX_THREAD_SEMANTICS)
	to compile on Solaris 10 with pthreads
	https://bugs.freedesktop.org/show_bug.cgi?id=18010

Fix very old bug causing dashes to be rendered at the wrong length in
fallback images (Adrian Johnson)

	Dashed strokes too long in fallback images
	https://bugs.freedesktop.org/show_bug.cgi?id=9189

Fix broken dashing when a dashed path starts outside the clip region
(Chris Wilson).

Avoid range overflow when computing large patterns (Benjamin Otte and
Chris Wilson).

Avoid crashing due to an invalid font with an incorrect entry in its
CMAP table (Adrian Johnson).

Fix bugs in computing maximum size of text requests that can be sent
with the Render extension, (avoiding potential crashes when rendering
large amounts of text) (Behdad Esfahbod and Chris Wilson).

Fix rendering of operators unbounded by the mask (Chris Wilson).

Fix compilation on systems without compiler support for a native
64-bit type (Chris Wilson).

Fix several cases of missing error-status propagation. (Chris Wilson,
doing the work he seems to never tire of).

Fix several locking issues found with the lockdep valgrind skin (Chris
Wilson).

Backend-specific bug fixes
--------------------------
xlib: Avoid crash due to attempting XRender calls on pixmaps with
formats not supported by the Render extension (Chris Wilson):

	XRender crashes due to NULL pointer from Cairo on SGI O2
	https://bugs.freedesktop.org/show_bug.cgi?id=1173

xlib: Add support for XImages with depth of 4, 20, 24, or 28 bits
(Chris Wilson):

	cairo doesn't support 24 bits per pixel mode on X11
	https://bugs.freedesktop.org/show_bug.cgi?id=9102

xlib: Avoid mistakenly considering two surfaces as similar just
because their depths match (while their Render formats do not) (Karl
Tomlinson).

ps: Fix slight mis-scaling of bitmapped fonts (Adrian Johnson)

svg: Correctly emit comp-op for paint, mask, and show_glyphs
operations (Emmanuel Pacaud).

svg: Use finer-grained fallbacks for SVG 1.2 (as PS and PDF backends
have been doing since 1.6.0) (Chris Wilson).
2008-10-30 21:44:54 +00:00
drochner
e23f517170 add two patches from wiz: fix build with "ssp", "make test" fix 2008-10-16 12:22:10 +00:00
drochner
a640febe7b update to 1.8.0
from the announcement:
The dominant theme of this release is improvements to cairo's ability
to handle text. The highlights include a new "user fonts" feature as
well as a new cairo_show_text_glyphs API which allows glyphs to be
embedded in PDF output along with their original text, (for searching,
selection, and copy-and-paste). Another major feature is a revamp of
cairo's build system making it much easier to build cairo on various
platforms.
2008-10-16 10:55:08 +00:00
joerg
7c15ccf613 Fix png backend with libpng 1.2.30. Older libpng versions flushed the
output at the end of the write and this was restored with 1.2.30, but
cairo didn't override the flush function, resulting in fflush on a
non-stream. This in turn resulted in crashes of graphviz when compiling
doxygen. Bump revision.
2008-08-25 15:36:18 +00:00
obache
83736207a8 Fix to instal cairo-quartz-font.pc.
(and while here, enable quartz-image)

Then atsui support for pango again.

Bump pkgrevision.
2008-05-14 15:26:14 +00:00
yyamano
ad4cb358fc Make this build on OS X 10.4.x/ppc. 2008-05-05 06:53:00 +00:00
tnn
aece2f338c Update to cairo-1.6.4.
Major changes between the 1.4 and 1.6 branch:
- Now uses external "pixman" library instead of a bundled one.
- Improvements to PDF, SVG and PostScript output
- New support for arbitrary X server visuals
  (the 8-bit display support patch (patch-ae in pkgsrc) is integrated)
- rendering backend improvements
- various new API additions, while maintaining ABI compatibility
- New Quartz backend
- bug fixes
2008-04-21 11:29:33 +00:00
drochner
6f648db2bf update to 1.4.14
changes:
-minor bugfixes
-make PostScript output more conformant wrt Type 3 fonts
2008-03-12 20:48:11 +00:00