[cairo-commit] 8 commits - build/Makefile.am.releasing NEWS src/cairo-version.h
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Jan 16 15:18:54 UTC 2021
NEWS | 40 ++++++++++++++++++++++++++++++++++++++++
build/Makefile.am.releasing | 2 +-
src/cairo-version.h | 2 +-
3 files changed, 42 insertions(+), 2 deletions(-)
New commits:
commit 4258fbd3b7accf053a383aa9356fe987d91a8751
Merge: f0fb05f3a 156cd3eaa
Author: Uli Schlachter <psychon at znc.in>
Date: Sat Jan 16 16:17:46 2021 +0100
Merge tag '1.17.4'
cairo 1.17.4 release
We are not quite sure what happened, but the 1.17.4 tag and the master
branch have different Git histories, but the same content. The merge
commits are missing from the history of the tag. This merge is simply
the result of "git merge 1.17.4".
This fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/446
commit 156cd3eaaebfd8635517c2baf61fcf3627ff7ec2
Author: Bryce Harrington <bryce at bryceharrington.org>
Date: Fri Nov 27 16:57:18 2020 -0800
Release 1.17.4
diff --git a/NEWS b/NEWS
index baef8bec5..3eeb1c389 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,43 @@
+Release 1.17.4 (2020-11-27 Bryce Harrington <bryce at bryceharrington.org>)
+========================================================================
+
+Thank you to the many people who have contributed the large number of
+bug fixes and refinements since 1.17.2.
+
+A particularly noteworthy improvement in this release is the addition of
+the meson build system as an alternative to autotools. Autotools is
+still used for producing the releases, so will be the default in the
+tarball and presumably will still be preferred by distro packagers of
+Cairo. It should be possible to build the release tarball using meson,
+but as this is new functionality consider it still a work in progress.
+The meson configuration has striven to track the autotools
+implementation but be aware there may still be some differences between
+the two.
+
+Continuous Integration configurations have been added that enable
+testing on a variety of platforms including Fedora, Windows MSVC, etc.
+This work has helped in identifying updates and fixes including
+adjusting to changes in API calls in dependencies like rsvg and
+fontconfig, and to fix platform-specific build issues.
+
+The cogl Cairo backend underwent significant development this cycle.
+Cogl provides GPU accelerated drawing support. The development work
+includes implementation of core functionality, performance
+optimizations, and stabilization.
+
+Subpixel positioning support allows improved glyph outlines with the
+Freetype font backend.
+
+For a complete log of changes, please see
+
+ https://cairographics.org/releases/ChangeLog.1.17.4
+
+[On a personal note, this will be my last release for Cairo. My Cairo
+time availability has been non-existent (particularly this crazy past
+year). The release process is well documented and hopefully will help
+whomever picks up the baton from here.]
+
+
Release 1.17.2 (2019-01-31 Bryce Harrington <bryce at bryceharrington.org>)
========================================================================
This snapshot provides the new support for writing floating point
diff --git a/src/cairo-version.h b/src/cairo-version.h
index 605ec1a7c..9fd69fb45 100644
--- a/src/cairo-version.h
+++ b/src/cairo-version.h
@@ -3,6 +3,6 @@
#define CAIRO_VERSION_MAJOR 1
#define CAIRO_VERSION_MINOR 17
-#define CAIRO_VERSION_MICRO 3
+#define CAIRO_VERSION_MICRO 4
#endif
commit dfbc57f9a3b7036ed3a31ff47082c1331ae3e1a7
Author: Bryce Harrington <bryce at bryceharrington.org>
Date: Fri Nov 27 17:00:16 2020 -0800
build: Update ssh url for cairographics.org
diff --git a/build/Makefile.am.releasing b/build/Makefile.am.releasing
index 329d49c8c..c8fd01a13 100644
--- a/build/Makefile.am.releasing
+++ b/build/Makefile.am.releasing
@@ -28,7 +28,7 @@ snapshot-dist: dist
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
RELEASE_OR_SNAPSHOT = $$(if test "x$(CAIRO_VERSION_MINOR)" = "x$$(echo "$(CAIRO_VERSION_MINOR)/2*2" | bc)" ; then echo release; else echo snapshot; fi)
-RELEASE_UPLOAD_HOST = cairographics.org
+RELEASE_UPLOAD_HOST = cairo.freedesktop.org
RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/$(RELEASE_OR_SNAPSHOT)s
RELEASE_URL_BASE = https://cairographics.org/$(RELEASE_OR_SNAPSHOT)s
commit 5de0d6b97895364fe84a3a255a4bab1a9c140143
Author: Tim-Philipp Müller <tim at centricular.com>
Date: Sun Nov 22 18:44:20 2020 +0000
ci: fix default options in meson ci
Follow-up fix to !78
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d125c7b08..0f87e34c9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ variables:
--default-library=both
-Dgl-backend=auto
-Dglesv2=auto
- -Dglesv2=auto
+ -Dglesv3=auto
stages:
- prep
commit 9e9081a8f6745dcbacadf42d529b14fe86ab54b8
Author: Félix Poisot <felix at lhfblc.fr>
Date: Sat Nov 21 11:58:59 2020 +0000
The array introduced in bff47b43 isn't cleared on surface finish
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 93fc9022c..4a7afe960 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -2207,6 +2207,7 @@ _cairo_pdf_surface_finish (void *abstract_surface)
cairo_pdf_resource_t catalog;
cairo_status_t status, status2;
int size, i;
+ cairo_pdf_source_surface_t doc_surface;
cairo_pdf_jbig2_global_t *global;
char *label;
@@ -2287,6 +2288,12 @@ _cairo_pdf_surface_finish (void *abstract_surface)
_cairo_array_fini (&surface->alpha_linear_functions);
_cairo_array_fini (&surface->page_patterns);
_cairo_array_fini (&surface->page_surfaces);
+
+ size = _cairo_array_num_elements (&surface->doc_surfaces);
+ for (i = 0; i < size; i++) {
+ _cairo_array_copy_element (&surface->doc_surfaces, i, &doc_surface);
+ cairo_surface_destroy (doc_surface.surface);
+ }
_cairo_array_fini (&surface->doc_surfaces);
_cairo_hash_table_foreach (surface->all_surfaces,
_cairo_pdf_source_surface_entry_pluck,
commit 825154fef78d6d0bd2fad4328a55ba95cafd12c0
Author: George Matsumura <gmmatsumura01 at bvsd.org>
Date: Mon Aug 31 22:15:21 2020 -0600
cairo-trace: Fix escape character encoding in string literals
This fixes a typo wherein both a return character and a tab character
were encoded when only a return character was specified for encoding.
Signed-off-by: George Matsumura <gmmatsumura01 at bvsd.org>
diff --git a/util/cairo-trace/trace.c b/util/cairo-trace/trace.c
index 84952a365..26ed2e506 100644
--- a/util/cairo-trace/trace.c
+++ b/util/cairo-trace/trace.c
@@ -1824,6 +1824,7 @@ _encode_string_literal (char *out, int max,
*out++ = '\\';
*out++ = 'r';
max -= 2;
+ break;
case '\t':
*out++ = '\\';
*out++ = 't';
commit 590122daa8f6daaf83ead7f16cb7adf732d25cd9
Author: Marek Kasik <mkasik at redhat.com>
Date: Fri Mar 27 19:39:46 2020 +0100
cff: Allow empty array of operands for certain operators
Operators BlueValues, OtherBlues, FamilyBlues, FamilyOtherBlues,
StemSnapH and StemSnapV have operands of type delta which can be
a number or an array of delta-encoded numbers. This array can be
empty according to freetype developers.
This commit checks whether current operator is among those listed
and permits empty operand in such case.
diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c
index 37727eddb..fce4195e9 100644
--- a/src/cairo-cff-subset.c
+++ b/src/cairo-cff-subset.c
@@ -56,30 +56,36 @@
/* CFF Dict Operators. If the high byte is 0 the command is encoded
* with a single byte. */
-#define BASEFONTNAME_OP 0x0c16
-#define CIDCOUNT_OP 0x0c22
-#define CHARSET_OP 0x000f
-#define CHARSTRINGS_OP 0x0011
-#define COPYRIGHT_OP 0x0c00
-#define DEFAULTWIDTH_OP 0x0014
-#define ENCODING_OP 0x0010
-#define FAMILYNAME_OP 0x0003
-#define FDARRAY_OP 0x0c24
-#define FDSELECT_OP 0x0c25
-#define FONTBBOX_OP 0x0005
-#define FONTMATRIX_OP 0x0c07
-#define FONTNAME_OP 0x0c26
-#define FULLNAME_OP 0x0002
-#define LOCAL_SUB_OP 0x0013
-#define NOMINALWIDTH_OP 0x0015
-#define NOTICE_OP 0x0001
-#define POSTSCRIPT_OP 0x0c15
-#define PRIVATE_OP 0x0012
-#define ROS_OP 0x0c1e
-#define UNIQUEID_OP 0x000d
-#define VERSION_OP 0x0000
-#define WEIGHT_OP 0x0004
-#define XUID_OP 0x000e
+#define BASEFONTNAME_OP 0x0c16
+#define CIDCOUNT_OP 0x0c22
+#define CHARSET_OP 0x000f
+#define CHARSTRINGS_OP 0x0011
+#define COPYRIGHT_OP 0x0c00
+#define DEFAULTWIDTH_OP 0x0014
+#define ENCODING_OP 0x0010
+#define FAMILYNAME_OP 0x0003
+#define FDARRAY_OP 0x0c24
+#define FDSELECT_OP 0x0c25
+#define FONTBBOX_OP 0x0005
+#define FONTMATRIX_OP 0x0c07
+#define FONTNAME_OP 0x0c26
+#define FULLNAME_OP 0x0002
+#define LOCAL_SUB_OP 0x0013
+#define NOMINALWIDTH_OP 0x0015
+#define NOTICE_OP 0x0001
+#define POSTSCRIPT_OP 0x0c15
+#define PRIVATE_OP 0x0012
+#define ROS_OP 0x0c1e
+#define UNIQUEID_OP 0x000d
+#define VERSION_OP 0x0000
+#define WEIGHT_OP 0x0004
+#define XUID_OP 0x000e
+#define BLUEVALUES_OP 0x0006
+#define OTHERBLUES_OP 0x0007
+#define FAMILYBLUES_OP 0x0008
+#define FAMILYOTHERBLUES_OP 0x0009
+#define STEMSNAPH_OP 0x0c0c
+#define STEMSNAPV_OP 0x0c0d
#define NUM_STD_STRINGS 391
@@ -615,13 +621,27 @@ cff_dict_create_operator (int operator,
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
_cairo_dict_init_key (op, operator);
- op->operand = _cairo_malloc (size);
- if (unlikely (op->operand == NULL)) {
- free (op);
- return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ if (size != 0) {
+ op->operand = _cairo_malloc (size);
+ if (unlikely (op->operand == NULL)) {
+ free (op);
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ }
+ memcpy (op->operand, operand, size);
+ } else {
+ op->operand = NULL;
+ /* Delta-encoded arrays can be empty. */
+ if (operator != BLUEVALUES_OP &&
+ operator != OTHERBLUES_OP &&
+ operator != FAMILYBLUES_OP &&
+ operator != FAMILYOTHERBLUES_OP &&
+ operator != STEMSNAPH_OP &&
+ operator != STEMSNAPV_OP) {
+ free (op);
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ }
}
- memcpy (op->operand, operand, size);
op->operand_length = size;
op->operand_offset = -1;
commit c43ff33c43821c555756cc8281c9a2578c217723
Author: Sven Neumann <sven at svenfoo.org>
Date: Tue Feb 11 11:24:16 2020 +0100
Fix conversion from ISO 8601 to PDF date string
The code used to unintentionally drop the minutes from the timezone
offset, see issue #392. This is now fixed.
diff --git a/src/cairo-pdf-interchange.c b/src/cairo-pdf-interchange.c
index 7d8981b09..0f896d351 100644
--- a/src/cairo-pdf-interchange.c
+++ b/src/cairo-pdf-interchange.c
@@ -1666,7 +1666,8 @@ iso8601_to_pdf_date_string (const char *iso)
if (strlen (p) < 3)
goto finish;
- strncat (buf, p + 1, 3);
+ strncat (buf, p + 1, 2);
+ strcat (buf, "'");
finish:
strcat (buf, ")");
More information about the cairo-commit
mailing list