Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
b371b01
core: reintroduce bot-scan-converter functions
metux Dec 29, 2015
047ba66
core: dropped unnecessary local variable in _cairo_composite_rectangl…
metux Dec 29, 2015
968f8c7
core: some in-code documentation
metux Dec 29, 2015
af42fc7
drm: fix importing of libdrm
metux Dec 29, 2015
3538ac3
Fix data race in freed_pool
wantehchang Mar 2, 2016
72c9a02
scaled-font: don't store pointer in hash value
adrianjohnson Feb 20, 2016
c5ee3f1
Add CAIRO_STATUS_PNG_ERROR for errors returned by libpng
adrianjohnson Mar 25, 2016
8f67901
Adding missing error status to utils
adrianjohnson Mar 26, 2016
cdd5c92
Add CAIRO_STATUS_FREETYPE_ERROR for errors returned by libfreetype
adrianjohnson Mar 26, 2016
747cab7
Add CAIRO_STATUS_WIN32_GDI_ERROR for GDI errors
adrianjohnson Mar 26, 2016
d2f1ebf
Use surface_transform in replay_and_create_regions
liZe Jan 14, 2016
11667ec
pdf2png: fix deprecated warning
adrianjohnson Apr 16, 2016
00a36e4
svg2png: fix deprecated warning
adrianjohnson Apr 16, 2016
9fff6f0
test: add record-neg-extents
adrianjohnson Jun 4, 2016
58df191
Add recording-ink-extents test
adrianjohnson Jun 4, 2016
d2dc2e9
Fix test failures when recording surface extents has negative x,y
adrianjohnson Jun 4, 2016
1e07ced
pdf: change from pdf coordinates to cairo coordinates
adrianjohnson Jun 4, 2016
a736fd8
Fix PDF record-neg-extents test failure
adrianjohnson Jun 4, 2016
8e4d4de
test: replay record surface with negative extents for each extend mode
adrianjohnson Jun 4, 2016
e7b1cb0
image: fix record-replay-extend test failures
adrianjohnson Jun 4, 2016
14fa88f
pdf: fix record-replay-extend test failures
adrianjohnson Jun 4, 2016
a14d319
ps: change from ps coordinates to cairo coordinates
adrianjohnson Jun 4, 2016
1c5ec6e
Fix PS record-neg-extents test failure
adrianjohnson Jun 4, 2016
113ba5f
Update ref images
adrianjohnson Jun 5, 2016
eb808aa
image: only cache analyzed transparency/color for snapshot surfaces
adrianjohnson Jun 19, 2016
d69dd6b
xlib: Fix double free in _get_image_surface()
psychon Jun 18, 2016
90d50cd
win32-print: fix unbounded surface assertion
adrianjohnson Jun 19, 2016
1272db9
win32: gcc 5.4 build fix
adrianjohnson Jun 21, 2016
ae40344
core: fix compiler warnings
metux Jun 30, 2016
b23c229
core: helper inline for rect->box conversion
metux Jun 30, 2016
5bb43c9
core: dropped actually unused parameter of _cairo_boxes_to_array()
metux Jun 30, 2016
f212db2
core: fixed code duplication
metux Jun 30, 2016
97d8b2b
qt: replaced calls to _cairo_clip_init_copy() by _cairo_clip_copy()
metux Jun 30, 2016
c2dc5aa
recording: Remove unused function
adrianjohnson Jul 3, 2016
1ada65c
pdf: remove unused variable
adrianjohnson Jul 3, 2016
d92015e
add test text-unhinted-metrics
adrianjohnson Jun 18, 2016
bb45951
ft: set font size to em size when retrieving unhinted metrics
adrianjohnson Jun 18, 2016
deb9944
test: refresh text-rotate ref images
adrianjohnson Jun 18, 2016
38fdcc3
cairo-misc: Whitespace cleanup
bryceharrington Jul 6, 2016
b73c082
truetype: Don't write glyph if num_contours == 0
adrianjohnson Jul 9, 2016
0e6f7de
ps: flush ASCII85Decode file after use
adrianjohnson Jul 15, 2016
1a380ef
ps/pdf: remove debug and commented out code
adrianjohnson Jul 15, 2016
190678f
pattern: don't round extents to 0 on vector surfaces
adrianjohnson Jul 16, 2016
16a8c13
pdf: Don't fail subsetting if unable to convert utf8 to utf16
adrianjohnson Jul 17, 2016
8a921e6
truetype: reverse cmap search should end when 0xffff- 0xffff range re…
adrianjohnson Jul 17, 2016
d28b6d9
pattern: revert an unintentional change added in 190678f
adrianjohnson Jul 18, 2016
56ad58a
pdf: fix combined image/smask
adrianjohnson Jul 19, 2016
3f8241f
cairo-xcb: Remove a wrong optimisation
psychon Jul 17, 2016
1057487
scaled-font: Fix deadlock when recursing in _cairo_scaled_font_reset_…
hpjansson Jan 27, 2016
35a1761
Pull -lz for the script backend
blino Nov 26, 2015
66205ad
Remove closed poppler bugs from test/README
Aug 18, 2016
cbbd02f
Add example to run specific tests by name to the test/README
Jul 26, 2016
0aad04a
Bug 29319 - Modules are built as versioned shared objects
behdad Sep 2, 2016
efc40a9
Prevent observer surfaces from writing to stdout
EdSchouten Sep 4, 2016
a69e5af
Write debugging information to the debugging file
EdSchouten Sep 4, 2016
b207a93
Correctly decode Adobe CMYK JPEGs in PDF export
peter-b Sep 9, 2016
4e70815
Add tag functions to cairo_t and cairo_surface_t
adrianjohnson Oct 1, 2016
3bd5efa
Add tag functions to recording surface and surface-wrapper
adrianjohnson Oct 1, 2016
25da407
Support tag operations in analysis and paginated surface
adrianjohnson Oct 1, 2016
dcbfb72
pdf: structured text and hyperlink support
adrianjohnson Oct 1, 2016
dfc7b9e
pdf: add document outline API
adrianjohnson Oct 1, 2016
5bfadd5
pdf: metadata API
adrianjohnson Oct 1, 2016
26b3f83
pdf: page label API
adrianjohnson Oct 1, 2016
2d6a0f5
pdf: thumbnail API
adrianjohnson Oct 1, 2016
23fd706
add test for PDF document interchange features such as tagged text an…
adrianjohnson Oct 1, 2016
3c33d97
fix make check
adrianjohnson Oct 4, 2016
55f8c6d
fix compiler warnings
adrianjohnson Oct 4, 2016
4790a36
strndup is not avuilable with MSVC
adrianjohnson Oct 6, 2016
9d29831
Fix grammar in cairo_*_reference() function documentation.
bryceharrington Sep 16, 2016
b7b6803
pattern: Fix incorrect grammar in cairo_pattern_get_type.
bryceharrington Sep 16, 2016
cd1040e
build: Don't rely on non-POSIX 'strings -' behavior
bryceharrington Oct 10, 2016
eb52320
gl: Treat GLES v2 as a separate flavor from GLES v3
bryceharrington Oct 13, 2016
3f1a6f7
gl: Fix one more CAIRO_GL_FLAVOR_ES3 enum
bryceharrington Nov 3, 2016
68bbb69
NEWS: Fix a couple typos
bryceharrington Dec 9, 2016
9fe6683
1.15.4 release
bryceharrington Dec 9, 2016
3c5868a
Bump version for new development tree, 1.15.5
bryceharrington Dec 9, 2016
55e0b21
RELEASING: Fix tabbing
bryceharrington Dec 20, 2016
c7e87cd
pdf: Remove duplicated item
kou Jan 4, 2017
dd4706d
pdf: Fix wrong cairo_pdf_outline_flags_t item prefix
kou Jan 4, 2017
5a8a9c9
quartz: Restore 10.4-specific font code
ranma42 Jan 18, 2017
5854dd9
pdf: don't return uninitialized status
adrianjohnson Feb 1, 2017
1a30712
pdf-operators: fix bug in line wrapping
adrianjohnson Mar 2, 2017
f02ee3d
xlib: Remove unused variable
psychon Mar 7, 2017
10e4103
xlib: Call XSync() before ignoring errors
psychon Mar 7, 2017
b1f219a
fix cmap over 65535
aguai Mar 14, 2017
687c3ed
ignore some
aguai Mar 14, 2017
bf6046a
fix typo
aguai Mar 14, 2017
578f7c9
fix
aguai Mar 14, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
130 changes: 128 additions & 2 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,129 @@
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:

http://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
Expand Down Expand Up @@ -30,7 +156,7 @@ None

Bug Fixes
---------
* All the bug fixes from 1.14.2, 1.14.4, and 14.6
* 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.
Expand All @@ -55,7 +181,7 @@ Bug Fixes
doing anything.
(Bug #90984)

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


Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Supported, "platform" surface backends

quartz backend
--------------
MacOS X >= 10.5 with Xcode >= 3.0
MacOS X >= 10.4 with Xcode >= 2.5

win32 backend
-------------
Expand Down
10 changes: 5 additions & 5 deletions RELEASING
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ Here are the steps to follow to create a new cairo release:

1) Ensure that there are no local, uncommitted/unpushed mods.

You're probably in a good state if both "git diff
HEAD" and "git log master..origin/master" give no output. Also make
sure you have libglib2.0-doc installed (else you'll get
excessive gtk-doc cross reference warnings in the next step).
You're probably in a good state if both "git diff
HEAD" and "git log master..origin/master" give no output. Also make
sure you have libglib2.0-doc installed (else you'll get
excessive gtk-doc cross reference warnings in the next step).

2) Verify that the code passes "make distcheck"

Expand Down Expand Up @@ -38,7 +38,7 @@ Here are the steps to follow to create a new cairo release:
suite passing, here's the magic env vars to set when doing
'make distcheck' and 'make release-publish' that will let you
get away with it. At any cost, never ever release without
(implied) distchecking. Every time we got around it, it turned
(implied) distchecking. Every time we got around it, it turned
out to be a disaster. Anyway, here's the pass code:

DISPLAY= CAIRO_TEST_TARGET=" "
Expand Down
3 changes: 3 additions & 0 deletions boilerplate/cairo-boilerplate-win32.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@

#include <cairo-win32.h>

#include <errno.h>
#include <limits.h>

static const cairo_user_data_key_t win32_closure_key;

typedef struct _win32_target_closure {
Expand Down
4 changes: 2 additions & 2 deletions build/aclocal.float.m4
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ int main() { return 0; }

]])], [

if strings - conftest$ac_exeext | grep noonsees >/dev/null ; then
if strings -a conftest$ac_exeext | grep noonsees >/dev/null ; then
ax_cv_c_float_words_bigendian=yes
fi
if strings - conftest$ac_exeext | grep seesnoon >/dev/null ; then
if strings -a conftest$ac_exeext | grep seesnoon >/dev/null ; then
if test "$ax_cv_c_float_words_bigendian" = unknown; then
ax_cv_c_float_words_bigendian=no
else
Expand Down
2 changes: 1 addition & 1 deletion cairo-version.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

#define CAIRO_VERSION_MAJOR 1
#define CAIRO_VERSION_MINOR 15
#define CAIRO_VERSION_MICRO 2
#define CAIRO_VERSION_MICRO 5

#endif
5 changes: 4 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(beos, BeOS/Zeta, no, [
dnl ===========================================================================

CAIRO_ENABLE_SURFACE_BACKEND(drm, DRM, no, [
drm_REQUIRES="libudev >= 136"
drm_REQUIRES="libudev >= 136, libdrm >= 2.4"
PKG_CHECK_MODULES(drm, $drm_REQUIRES, ,
[use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"])
])
Expand Down Expand Up @@ -470,6 +470,9 @@ dnl ===========================================================================
any2ppm_cs=no
CAIRO_ENABLE_SURFACE_BACKEND(script, script, yes, [
any2ppm_cs=yes
# The script backend requires zlib.
use_script=$have_libz
script_NONPKGCONFIG_LIBS=-lz
])

dnl ===========================================================================
Expand Down
1 change: 1 addition & 0 deletions doc/public/cairo-docs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<xi:include href="xml/cairo-transforms.xml"/>
<xi:include href="xml/cairo-text.xml"/>
<xi:include href="xml/cairo-raster-source.xml"/>
<xi:include href="xml/cairo-tag.xml"/>
</chapter>
<chapter id="cairo-fonts">
<title>Fonts</title>
Expand Down
15 changes: 15 additions & 0 deletions doc/public/cairo-sections.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,20 @@ cairo_image_surface_get_stride
<SECTION>
<FILE>cairo-pdf</FILE>
CAIRO_HAS_PDF_SURFACE
CAIRO_PDF_OUTLINE_ROOT
cairo_pdf_outline_flags_t
cairo_pdf_metadata_t
cairo_pdf_surface_create
cairo_pdf_surface_create_for_stream
cairo_pdf_surface_restrict_to_version
cairo_pdf_version_t
cairo_pdf_get_versions
cairo_pdf_version_to_string
cairo_pdf_surface_set_size
cairo_pdf_surface_add_outline
cairo_pdf_surface_set_metadata
cairo_pdf_surface_set_page_label
cairo_pdf_surface_set_thumbnail_size
</SECTION>

<SECTION>
Expand Down Expand Up @@ -407,6 +414,14 @@ cairo_raster_source_copy_func_t
cairo_raster_source_finish_func_t
</SECTION>

<SECTION>
<FILE>cairo-tag</FILE>
CAIRO_TAG_DEST
CAIRO_TAG_LINK
cairo_tag_begin
cairo_tag_end
</SECTION>

<SECTION>
<FILE>cairo-matrix</FILE>
cairo_matrix_t
Expand Down
4 changes: 4 additions & 0 deletions src/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,7 @@ headers-standalone
!cairo-uninstalled.pc.in
!cairo-features.pc.in
!cairo-features-uninstalled.pc.in
.history
.history/*
.gitignore

4 changes: 2 additions & 2 deletions src/Makefile.sources
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,8 @@ _cairo_deflate_stream_sources = cairo-deflate-stream.c
cairo_sources += $(_cairo_deflate_stream_sources)

cairo_pdf_headers = cairo-pdf.h
cairo_pdf_private = cairo-pdf-surface-private.h
cairo_pdf_sources = cairo-pdf-surface.c
cairo_pdf_private = cairo-pdf-surface-private.h cairo-tag-stack-private.h cairo-tag-attributes-private.h
cairo_pdf_sources = cairo-pdf-surface.c cairo-pdf-interchange.c cairo-tag-stack.c cairo-tag-attributes.c

cairo_svg_headers = cairo-svg.h
cairo_svg_private = cairo-svg-surface-private.h
Expand Down
Loading