texlive[46010] Build/source/libs: cairo-1.14.12

commits+kakuto at tug.org commits+kakuto at tug.org
Thu Dec 7 07:44:08 CET 2017


Revision: 46010
          http://tug.org/svn/texlive?view=revision&revision=46010
Author:   kakuto
Date:     2017-12-07 07:44:07 +0100 (Thu, 07 Dec 2017)
Log Message:
-----------
cairo-1.14.12

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/cairo/ChangeLog
    trunk/Build/source/libs/cairo/README
    trunk/Build/source/libs/cairo/TLpatches/ChangeLog
    trunk/Build/source/libs/cairo/TLpatches/TL-Changes
    trunk/Build/source/libs/cairo/cairo-src/NEWS
    trunk/Build/source/libs/cairo/cairo-src/autogen.sh
    trunk/Build/source/libs/cairo/cairo-src/build/configure.ac.system
    trunk/Build/source/libs/cairo/cairo-src/cairo-version.h
    trunk/Build/source/libs/cairo/cairo-src/config.h.in
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-bentley-ottmann-rectangular.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-fixed-private.h
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-ft-font.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-output-stream.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-boxes.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-polygon.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-tristrip.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-pdf-surface.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-png.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-ps-surface.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font-subsets.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-svg-surface.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-toy-font-face.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-fallback.c
    trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-subset.c
    trunk/Build/source/libs/cairo/configure
    trunk/Build/source/libs/cairo/version.ac

Added Paths:
-----------
    trunk/Build/source/libs/cairo/cairo-src/build/gtk-doc.m4

Removed Paths:
-------------
    trunk/Build/source/libs/cairo/cairo-src/build/aclocal.gtk-doc.m4

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/README	2017-12-07 06:44:07 UTC (rev 46010)
@@ -9,7 +9,7 @@
 
 See also comments in ../texk/README.
 
-cairo 1.14.10 - checked 20jun17
+cairo 1.14.12 - checked 07dec17
   http://cairographics.org/releases/
 
 freetype2 2.8.1 - checked 16sep17

Modified: trunk/Build/source/libs/cairo/ChangeLog
===================================================================
--- trunk/Build/source/libs/cairo/ChangeLog	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/ChangeLog	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,3 +1,8 @@
+2017-12-07  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import cairo-1.14.12.
+	* version.ac: Adapted.
+
 2017-06-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import cairo-1.14.10.

Modified: trunk/Build/source/libs/cairo/README
===================================================================
--- trunk/Build/source/libs/cairo/README	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/README	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,4 +1,4 @@
-	Building cairo-1.14.10 as part of the TL tree
+	Building cairo-1.14.12 as part of the TL tree
 	============================================
 
 This directory libs/cairo/ uses a proxy Makefile.am to build the cairo
@@ -12,4 +12,4 @@
 
 2012-11-10	Taco Hoekwater <taco at metatex.org>
 2013-04-15	Peter Breitenlohner <peb at mppmu.mpg.de>
-2016-12-09	Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+2017-12-07	Akira Kakuto <kakuto at fuk.kindai.ac.jp>

Modified: trunk/Build/source/libs/cairo/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/cairo/TLpatches/ChangeLog	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/TLpatches/ChangeLog	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,3 +1,7 @@
+2017-12-07  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	Import cairo-1.14.12.
+
 2017-06-20  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	Import cairo-1.14.10.

Modified: trunk/Build/source/libs/cairo/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/cairo/TLpatches/TL-Changes	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/TLpatches/TL-Changes	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,5 +1,5 @@
-Changes applied to the cairo-1.14.10/ tree as obtained from:
-	http://cairographics.org/releases/cairo-1.14.10.tar.xz
+Changes applied to the cairo-1.14.12/ tree as obtained from:
+	http://cairographics.org/releases/cairo-1.14.12.tar.xz
 
 Removed:
 	Makefile.in

Modified: trunk/Build/source/libs/cairo/cairo-src/NEWS
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/NEWS	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/NEWS	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,3 +1,46 @@
+Release 1.14.12   (2017-06-13  Bryce Harrington <bryce at osg.samsung.com>)
+========================================================================
+Another bugfix release rolling up backported fixes for the past half year.
+
+For a complete log of changes since 1.14.10, please see:
+
+    http://cairographics.org/releases/ChangeLog.cairo-1.14.12
+
+
+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.
+  (Bug #103335)
+* Fix build error with util/font-view
+* Fix handling of truetype fonts with excessively long font names
+  (Bug #103249)
+* Fix falling back to system font with PDFs using certain embedded
+  fonts, due to truncated font names.
+  (Bug #103249)
+* Fix sigabrt printing documents with fonts lacking the mandatory .nodef
+  glyph.
+  (Bug #102922)
+* Fix undefined-behavior with integer math.
+* Fix various warnings and typos
+
+
 Release 1.14.10   (2017-06-13  Bryce Harrington <bryce at osg.samsung.com>)
 ========================================================================
 Bugfix release rolling up backported fixes for the past half year.

Modified: trunk/Build/source/libs/cairo/cairo-src/autogen.sh
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/autogen.sh	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/autogen.sh	2017-12-07 06:44:07 UTC (rev 46010)
@@ -9,7 +9,7 @@
 
 AUTORECONF=`which autoreconf`
 if test -z $AUTORECONF; then
-        echo "*** No autoreconf found, please intall it ***"
+        echo "*** No autoreconf found, please install it ***"
         exit 1
 fi
 

Deleted: trunk/Build/source/libs/cairo/cairo-src/build/aclocal.gtk-doc.m4
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/build/aclocal.gtk-doc.m4	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/build/aclocal.gtk-doc.m4	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,39 +0,0 @@
-dnl -*- mode: autoconf -*-
-
-# serial 1
-
-dnl Usage:
-dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
-AC_DEFUN([GTK_DOC_CHECK],
-[
-  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
-  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
-  dnl for overriding the documentation installation directory
-  AC_ARG_WITH([html-dir],
-    AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
-    [with_html_dir='${datadir}/gtk-doc/html'])
-  HTML_DIR="$with_html_dir"
-  AC_SUBST([HTML_DIR])
-
-  dnl enable/disable documentation building
-  AC_ARG_ENABLE([gtk-doc],
-    AS_HELP_STRING([--enable-gtk-doc],
-                   [use gtk-doc to build documentation [[default=no]]]),,
-    [enable_gtk_doc=no])
-
-  if test x$enable_gtk_doc = xyes; then
-    ifelse([$1],[],
-      [PKG_CHECK_EXISTS([gtk-doc],,
-                        AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
-      [PKG_CHECK_EXISTS([gtk-doc >= $1],,
-                        AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))])
-  fi
-
-  AC_MSG_CHECKING([whether to build gtk-doc documentation])
-  AC_MSG_RESULT($enable_gtk_doc)
-
-  AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,)
-
-  AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
-  AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
-])

Modified: trunk/Build/source/libs/cairo/cairo-src/build/configure.ac.system
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/build/configure.ac.system	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/build/configure.ac.system	2017-12-07 06:44:07 UTC (rev 46010)
@@ -110,10 +110,12 @@
 AC_CHECK_HEADERS([libgen.h byteswap.h signal.h setjmp.h fenv.h sys/wait.h])
 AC_CHECK_FUNCS([ctime_r drand48 flockfile funlockfile getline link strndup])
 
-dnl check for win32 headers (this detects mingw as well)
-AC_CHECK_HEADERS([windows.h], have_windows=yes, have_windows=no)
+dnl Check if the runtime platform is a native Win32 host.
+AC_COMPILE_IFELSE([[
+#ifdef _WIN32
+ choke me
+#endif]], [have_windows=no], [have_windows=yes])
 
-
 dnl Possible headers for mkdir
 AC_CHECK_HEADERS([sys/stat.h io.h])
 AC_CHECK_FUNC(mkdir,

Added: trunk/Build/source/libs/cairo/cairo-src/build/gtk-doc.m4
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/build/gtk-doc.m4	                        (rev 0)
+++ trunk/Build/source/libs/cairo/cairo-src/build/gtk-doc.m4	2017-12-07 06:44:07 UTC (rev 46010)
@@ -0,0 +1,88 @@
+dnl -*- mode: autoconf -*-
+
+# serial 2
+
+dnl Usage:
+dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+
+  ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
+  AC_MSG_CHECKING([for gtk-doc])
+  PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
+  AC_MSG_RESULT($have_gtk_doc)
+
+  if test "$have_gtk_doc" = "no"; then
+      AC_MSG_WARN([
+  You will not be able to create source packages with 'make dist'
+  because $gtk_doc_requires is not found.])
+  fi
+
+  dnl check for tools we added during development
+  dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
+  dnl may not be writable by the user. Currently, automake requires that the
+  dnl test name must end in '.test'.
+  dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
+  AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
+  AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
+  AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
+  AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
+
+  dnl for overriding the documentation installation directory
+  AC_ARG_WITH([html-dir],
+    AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+    [with_html_dir='${datadir}/gtk-doc/html'])
+  HTML_DIR="$with_html_dir"
+  AC_SUBST([HTML_DIR])
+
+  dnl enable/disable documentation building
+  AC_ARG_ENABLE([gtk-doc],
+    AS_HELP_STRING([--enable-gtk-doc],
+                   [use gtk-doc to build documentation [[default=no]]]),,
+    [enable_gtk_doc=no])
+
+  AC_MSG_CHECKING([whether to build gtk-doc documentation])
+  AC_MSG_RESULT($enable_gtk_doc)
+
+  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+    AC_MSG_ERROR([
+  You must have $gtk_doc_requires installed to build documentation for
+  $PACKAGE_NAME. Please install gtk-doc or disable building the
+  documentation by adding '--disable-gtk-doc' to '[$]0'.])
+  fi
+
+  dnl don't check for glib if we build glib
+  if test "x$PACKAGE_NAME" != "xglib"; then
+    dnl don't fail if someone does not have glib
+    PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,[:])
+  fi
+
+  dnl enable/disable output formats
+  AC_ARG_ENABLE([gtk-doc-html],
+    AS_HELP_STRING([--enable-gtk-doc-html],
+                   [build documentation in html format [[default=yes]]]),,
+    [enable_gtk_doc_html=yes])
+    AC_ARG_ENABLE([gtk-doc-pdf],
+      AS_HELP_STRING([--enable-gtk-doc-pdf],
+                     [build documentation in pdf format [[default=no]]]),,
+      [enable_gtk_doc_pdf=no])
+
+  if test -z "$GTKDOC_MKPDF"; then
+    enable_gtk_doc_pdf=no
+  fi
+
+  if test -z "$AM_DEFAULT_VERBOSITY"; then
+    AM_DEFAULT_VERBOSITY=1
+  fi
+  AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+  AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
+  AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
+  AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
+  AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
+])

Modified: trunk/Build/source/libs/cairo/cairo-src/cairo-version.h
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/cairo-version.h	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/cairo-version.h	2017-12-07 06:44:07 UTC (rev 46010)
@@ -3,6 +3,6 @@
 
 #define CAIRO_VERSION_MAJOR 1
 #define CAIRO_VERSION_MINOR 14
-#define CAIRO_VERSION_MICRO 10
+#define CAIRO_VERSION_MICRO 12
 
 #endif

Modified: trunk/Build/source/libs/cairo/cairo-src/config.h.in
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/config.h.in	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/config.h.in	2017-12-07 06:44:07 UTC (rev 46010)
@@ -258,9 +258,6 @@
 /* Define to 1 if you have the `waitpid' function. */
 #undef HAVE_WAITPID
 
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
 /* Define to 1 if you have the <X11/extensions/shmproto.h> header file. */
 #undef HAVE_X11_EXTENSIONS_SHMPROTO_H
 

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-bentley-ottmann-rectangular.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-bentley-ottmann-rectangular.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-bentley-ottmann-rectangular.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -593,6 +593,12 @@
     pqueue_push (sweep, rectangle);
 }
 
+static int
+sweep_line_setjmp (sweep_line_t *sweep_line)
+{
+    return setjmp (sweep_line->unwind);
+}
+
 static cairo_status_t
 _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t	**rectangles,
 					       int			  num_rectangles,
@@ -609,7 +615,7 @@
 		     rectangles, num_rectangles,
 		     fill_rule,
 		     do_traps, container);
-    if ((status = setjmp (sweep_line.unwind)))
+    if ((status = sweep_line_setjmp (&sweep_line)))
 	return status;
 
     rectangle = rectangle_pop_start (&sweep_line);

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-cff-subset.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -41,7 +41,7 @@
  * http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5177.Type2.pdf
  */
 
-#define _BSD_SOURCE /* for snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for snprintf(), strdup() */
 #include "cairoint.h"
 
 #include "cairo-array-private.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-fixed-private.h
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-fixed-private.h	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-fixed-private.h	2017-12-07 06:44:07 UTC (rev 46010)
@@ -223,7 +223,7 @@
     if (f > 0)
 	return ((f - 1)>>CAIRO_FIXED_FRAC_BITS) + 1;
     else
-	return - (-f >> CAIRO_FIXED_FRAC_BITS);
+	return - ((cairo_fixed_t)(-(cairo_fixed_unsigned_t)f) >> CAIRO_FIXED_FRAC_BITS);
 }
 
 /* A bunch of explicit 16.16 operators; we need these

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-ft-font.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-ft-font.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-ft-font.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -38,7 +38,7 @@
  *      Carl Worth <cworth at cworth.org>
  */
 
-#define _BSD_SOURCE /* for strdup() */
+#define _DEFAULT_SOURCE /* for strdup() */
 #include "cairoint.h"
 
 #include "cairo-error-private.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-output-stream.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-output-stream.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-output-stream.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -33,7 +33,7 @@
  *	Kristian Høgsberg <krh at redhat.com>
  */
 
-#define _BSD_SOURCE /* for snprintf() */
+#define _DEFAULT_SOURCE /* for snprintf() */
 #include "cairoint.h"
 
 #include "cairo-output-stream-private.h"
@@ -490,9 +490,13 @@
                           single_fmt, va_arg (ap, long int));
             }
 	    break;
-	case 's':
-	    snprintf (buffer, sizeof buffer,
-		      single_fmt, va_arg (ap, const char *));
+	case 's': {
+	    /* Write out strings as they may be larger than the buffer. */
+	    const char *s = va_arg (ap, const char *);
+	    int len = strlen(s);
+	    _cairo_output_stream_write (stream, s, len);
+	    buffer[0] = 0;
+	    }
 	    break;
 	case 'f':
 	    _cairo_dtostr (buffer, sizeof buffer, va_arg (ap, double), FALSE);

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-boxes.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-boxes.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-boxes.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -36,7 +36,7 @@
  *	Chris Wilson <chris at chris-wilson.co.uk>
  */
 
-#define _BSD_SOURCE /* for hypot() */
+#define _DEFAULT_SOURCE /* for hypot() */
 #include "cairoint.h"
 
 #include "cairo-box-inline.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-polygon.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-polygon.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-polygon.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -37,7 +37,7 @@
  *	Chris Wilson <chris at chris-wilson.co.uk>
  */
 
-#define _BSD_SOURCE /* for hypot() */
+#define _DEFAULT_SOURCE /* for hypot() */
 #include "cairoint.h"
 
 #include "cairo-box-inline.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-tristrip.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-tristrip.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke-tristrip.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -37,7 +37,7 @@
  *	Chris Wilson <chris at chris-wilson.co.uk>
  */
 
-#define _BSD_SOURCE /* for hypot() */
+#define _DEFAULT_SOURCE /* for hypot() */
 #include "cairoint.h"
 
 #include "cairo-box-inline.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-path-stroke.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -36,7 +36,7 @@
  *	Chris Wilson <chris at chris-wilson.co.uk>
  */
 
-#define _BSD_SOURCE /* for hypot() */
+#define _DEFAULT_SOURCE /* for hypot() */
 #include "cairoint.h"
 
 #include "cairo-box-inline.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-pdf-surface.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-pdf-surface.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-pdf-surface.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -39,7 +39,7 @@
  *	Adrian Johnson <ajohnson at redneon.com>
  */
 
-#define _BSD_SOURCE /* for snprintf() */
+#define _DEFAULT_SOURCE /* for snprintf() */
 #include "cairoint.h"
 
 #include "cairo-pdf.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-png.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-png.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-png.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -158,6 +158,14 @@
      */
 }
 
+static int
+png_setjmp (png_struct *png)
+{
+#ifdef PNG_SETJMP_SUPPORTED
+    return setjmp (png_jmpbuf (png));
+#endif
+    return 0;
+}
 
 /* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn.
  * Otherwise, we will segfault if we are writing to a stream. */
@@ -229,10 +237,8 @@
 	goto BAIL4;
     }
 
-#ifdef PNG_SETJMP_SUPPORTED
-    if (setjmp (png_jmpbuf (png)))
+    if (png_setjmp (png))
 	goto BAIL4;
-#endif
 
     png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn);
 
@@ -571,12 +577,11 @@
     png_set_read_fn (png, png_closure, stream_read_func);
 
     status = CAIRO_STATUS_SUCCESS;
-#ifdef PNG_SETJMP_SUPPORTED
-    if (setjmp (png_jmpbuf (png))) {
+
+    if (png_setjmp (png)) {
 	surface = _cairo_surface_create_in_error (status);
 	goto BAIL;
     }
-#endif
 
     png_read_info (png, info);
 

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-ps-surface.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-ps-surface.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-ps-surface.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -53,7 +53,7 @@
  *   2. Using gs to do PS -> PDF and PDF -> PS will always work well.
  */
 
-#define _BSD_SOURCE /* for ctime_r(), snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for ctime_r(), snprintf(), strdup() */
 #include "cairoint.h"
 
 #include "cairo-ps.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font-subsets.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font-subsets.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font-subsets.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -40,7 +40,7 @@
  *	Adrian Johnson <ajohnson at redneon.com>
  */
 
-#define _BSD_SOURCE /* for snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for snprintf(), strdup() */
 #include "cairoint.h"
 #include "cairo-error-private.h"
 

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-scaled-font.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -2907,6 +2907,7 @@
 {
     cairo_scaled_glyph_page_t *page;
 
+    assert (scaled_font->cache_frozen);
     assert (! cairo_list_is_empty (&scaled_font->glyph_pages));
     page = cairo_list_last_entry (&scaled_font->glyph_pages,
                                   cairo_scaled_glyph_page_t,
@@ -2916,6 +2917,9 @@
     _cairo_scaled_glyph_fini (scaled_font, scaled_glyph);
 
     if (--page->num_glyphs == 0) {
+	_cairo_scaled_font_thaw_cache (scaled_font);
+	CAIRO_MUTEX_LOCK (scaled_font->mutex);
+
 	CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
 	/* Temporarily disconnect callback to avoid recursive locking */
 	cairo_scaled_glyph_page_cache.entry_destroy = NULL;
@@ -2924,6 +2928,9 @@
 	_cairo_scaled_glyph_page_destroy (scaled_font, page);
 	cairo_scaled_glyph_page_cache.entry_destroy = _cairo_scaled_glyph_page_pluck;
 	CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
+
+	CAIRO_MUTEX_UNLOCK (scaled_font->mutex);
+	_cairo_scaled_font_freeze_cache (scaled_font);
     }
 }
 

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-svg-surface.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-svg-surface.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-svg-surface.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -39,7 +39,7 @@
  *	Carl Worth <cworth at cworth.org>
  */
 
-#define _BSD_SOURCE /* for snprintf() */
+#define _DEFAULT_SOURCE /* for snprintf() */
 #include "cairoint.h"
 
 #include "cairo-svg.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-toy-font-face.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-toy-font-face.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-toy-font-face.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -39,7 +39,7 @@
  *      Behdad Esfahbod <behdad at behdad.org>
  */
 
-#define _BSD_SOURCE /* for strdup() */
+#define _DEFAULT_SOURCE /* for strdup() */
 #include "cairoint.h"
 #include "cairo-error-private.h"
 

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-truetype-subset.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -40,7 +40,7 @@
  * http://www.microsoft.com/typography/specs/default.htm
  */
 
-#define _BSD_SOURCE /* for snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for snprintf(), strdup() */
 #include "cairoint.h"
 
 #include "cairo-array-private.h"
@@ -202,13 +202,17 @@
     if (unlikely (status))
 	goto fail1;
 
-    font->glyphs = calloc (font->num_glyphs_in_face + 1, sizeof (subset_glyph_t));
+    /* Add 2: +1 case font does not contain .notdef, and +1 because an extra
+     * entry is required to contain the end location of the last glyph.
+     */
+    font->glyphs = calloc (font->num_glyphs_in_face + 2, sizeof (subset_glyph_t));
     if (unlikely (font->glyphs == NULL)) {
 	status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
 	goto fail1;
     }
 
-    font->parent_to_subset = calloc (font->num_glyphs_in_face, sizeof (int));
+    /* Add 1 in case font does not contain .notdef */
+    font->parent_to_subset = calloc (font->num_glyphs_in_face + 1, sizeof (int));
     if (unlikely (font->parent_to_subset == NULL)) {
 	status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
 	goto fail2;
@@ -247,7 +251,8 @@
                  scaled_font_subset->subset_id);
     }
 
-    font->base.widths = calloc (font->num_glyphs_in_face, sizeof (int));
+    /* Add 1 in case font does not contain .notdef */
+    font->base.widths = calloc (font->num_glyphs_in_face + 1, sizeof (int));
     if (unlikely (font->base.widths == NULL)) {
 	status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
 	goto fail4;
@@ -1420,6 +1425,12 @@
     return status;
 }
 
+/*
+ * Sanity check on font name length as some broken fonts may return very long
+ * strings of garbage. 127 is maximum length of a PS name.
+ */
+#define MAX_FONT_NAME_LENGTH 127
+
 static cairo_status_t
 find_name (tt_name_t *name, int name_id, int platform, int encoding, int language, char **str_out)
 {
@@ -1438,11 +1449,17 @@
             be16_to_cpu (record->encoding) == encoding &&
 	    (language == -1 || be16_to_cpu (record->language) == language)) {
 
-	    str = malloc (be16_to_cpu (record->length) + 1);
+	    len = be16_to_cpu (record->length);
+	    if (platform == 3 && len > MAX_FONT_NAME_LENGTH*2) /* UTF-16 name */
+		break;
+
+	    if (len > MAX_FONT_NAME_LENGTH)
+		break;
+
+	    str = malloc (len + 1);
 	    if (str == NULL)
 		return _cairo_error (CAIRO_STATUS_NO_MEMORY);
 
-	    len = be16_to_cpu (record->length);
 	    memcpy (str,
 		    ((char*)name) + be16_to_cpu (name->strings_offset) + be16_to_cpu (record->offset),
 		    len);

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-fallback.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-fallback.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-fallback.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -33,7 +33,7 @@
  *	Adrian Johnson <ajohnson at redneon.com>
  */
 
-#define _BSD_SOURCE /* for snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for snprintf(), strdup() */
 #include "cairoint.h"
 
 #include "cairo-array-private.h"

Modified: trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-subset.c
===================================================================
--- trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-subset.c	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/cairo-src/src/cairo-type1-subset.c	2017-12-07 06:44:07 UTC (rev 46010)
@@ -40,7 +40,7 @@
  */
 
 
-#define _BSD_SOURCE /* for snprintf(), strdup() */
+#define _DEFAULT_SOURCE /* for snprintf(), strdup() */
 #include "cairoint.h"
 
 #include "cairo-array-private.h"

Modified: trunk/Build/source/libs/cairo/configure
===================================================================
--- trunk/Build/source/libs/cairo/configure	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/configure	2017-12-07 06:44:07 UTC (rev 46010)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.14.10.
+# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.14.12.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='cairo (TeX Live)'
 PACKAGE_TARNAME='cairo--tex-live-'
-PACKAGE_VERSION='1.14.10'
-PACKAGE_STRING='cairo (TeX Live) 1.14.10'
+PACKAGE_VERSION='1.14.12'
+PACKAGE_STRING='cairo (TeX Live) 1.14.12'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1349,7 +1349,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures cairo (TeX Live) 1.14.10 to adapt to many kinds of systems.
+\`configure' configures cairo (TeX Live) 1.14.12 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1420,7 +1420,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of cairo (TeX Live) 1.14.10:";;
+     short | recursive ) echo "Configuration of cairo (TeX Live) 1.14.12:";;
    esac
   cat <<\_ACEOF
 
@@ -1523,7 +1523,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-cairo (TeX Live) configure 1.14.10
+cairo (TeX Live) configure 1.14.12
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2129,7 +2129,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by cairo (TeX Live) $as_me 1.14.10, which was
+It was created by cairo (TeX Live) $as_me 1.14.12, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4383,7 +4383,7 @@
 
 # Define the identity of the package.
  PACKAGE='cairo--tex-live-'
- VERSION='1.14.10'
+ VERSION='1.14.12'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7274,7 +7274,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by cairo (TeX Live) $as_me 1.14.10, which was
+This file was extended by cairo (TeX Live) $as_me 1.14.12, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7340,7 +7340,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-cairo (TeX Live) config.status 1.14.10
+cairo (TeX Live) config.status 1.14.12
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/cairo/version.ac
===================================================================
--- trunk/Build/source/libs/cairo/version.ac	2017-12-07 01:54:36 UTC (rev 46009)
+++ trunk/Build/source/libs/cairo/version.ac	2017-12-07 06:44:07 UTC (rev 46010)
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current cairo version
-m4_define([cairo_version], [1.14.10])
+m4_define([cairo_version], [1.14.12])



More information about the tex-live-commits mailing list