summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-04-07 12:59:36 +0000
committerKarl Berry <karl@freefriends.org>2019-04-07 12:59:36 +0000
commit5c49b577febc466737509e6e7bf3b6a5b57a6433 (patch)
treec83860b4a452bea427445c89acdd0966ecd0f501
parentb9cf75b585852edfa3a8487d8eb4f73e505d9e49 (diff)
dvipng-1.16 with parsing fixes
git-svn-id: svn://tug.org/texlive/trunk@50838 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/README6
-rw-r--r--Build/source/texk/dvipng/ChangeLog18
-rw-r--r--Build/source/texk/dvipng/TLpatches/ChangeLog7
-rw-r--r--Build/source/texk/dvipng/TLpatches/TL-Changes2
-rw-r--r--Build/source/texk/dvipng/TLpatches/patch-02-const15
-rw-r--r--Build/source/texk/dvipng/TLpatches/patch-03-programname62
-rw-r--r--Build/source/texk/dvipng/TLpatches/patch-06-WIN3230
-rw-r--r--Build/source/texk/dvipng/TLpatches/patch-07-w64-ptr57
-rwxr-xr-xBuild/source/texk/dvipng/configure22
-rw-r--r--Build/source/texk/dvipng/doc/dvipng.help2
-rw-r--r--Build/source/texk/dvipng/doc/dvipng.info150
-rw-r--r--Build/source/texk/dvipng/doc/dvipng.texi19
-rw-r--r--Build/source/texk/dvipng/doc/install.texi12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/ChangeLog43
-rw-r--r--Build/source/texk/dvipng/dvipng-src/INSTALL12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/RELEASE10
-rw-r--r--Build/source/texk/dvipng/dvipng-src/aclocal.m4498
-rw-r--r--Build/source/texk/dvipng/dvipng-src/config.h.in3
-rw-r--r--Build/source/texk/dvipng/dvipng-src/configure.ac12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.131
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.c4
-rw-r--r--Build/source/texk/dvipng/dvipng-src/dvipng.texi19
-rw-r--r--Build/source/texk/dvipng/dvipng-src/install.texi12
-rw-r--r--Build/source/texk/dvipng/dvipng-src/misc.c69
-rw-r--r--Build/source/texk/dvipng/dvipng-src/special.c9
-rw-r--r--Build/source/texk/dvipng/version.ac5
26 files changed, 538 insertions, 591 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README
index b9ae8ccd747..dd265813069 100644
--- a/Build/source/texk/README
+++ b/Build/source/texk/README
@@ -1,5 +1,5 @@
$Id$
-Copyright 2006-2018 TeX Users Group.
+Copyright 2006-2019 TeX Users Group.
You may freely use, modify and/or distribute this file.
This TeX Live directory contains the programs that use the kpathsea
@@ -56,9 +56,9 @@ dvipdfm-x - maintained here, by us, contains
xdvipdfmx
old info: http://project.ktug.org/dvipdfmx/
-dvipng 1.15 - checked 3mar15
- http://mirror.ctan.org/dviware/dvipng/ (but maybe stale)
+dvipng 1.16 - checked 7apr19
http://savannah.nongnu.org/files/?group=dvipng
+ http://mirror.ctan.org/dviware/dvipng/ (but maybe stale)
dvipos - maintained here, by us
diff --git a/Build/source/texk/dvipng/ChangeLog b/Build/source/texk/dvipng/ChangeLog
index 4017a55f209..49e02efd2a8 100644
--- a/Build/source/texk/dvipng/ChangeLog
+++ b/Build/source/texk/dvipng/ChangeLog
@@ -1,3 +1,21 @@
+2019-04-07 Karl Berry <karl@freefriends.org>
+
+ * version.ac (dvipng_version): 1.16.
+ * Import release 1.16 from Savannah, including these
+ among other changes:
+
+2019-04-06 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ * pk.c (InitPK): check for packet_length reading outside file bounds.
+ Report from Andy Nguyen of ETH Zurich.
+
+ * tfm.c (ReadTFM): check for reading outside file bounds.
+ Report from Andy Nguyen of ETH Zurich.
+
+ * dvi.c (DVIGetCommand): check for (unsigned value) overflow
+ so we don't fail to realloc buffer if needed.
+ Report from Andy Nguyen of ETH Zurich, found using afl-fuzz.
+
2016-02-23 Akira Kakuto <kakuto@kakuto.fuk.kindai.ac.jp>
* Makefile.am, configure.ac: New convention.
diff --git a/Build/source/texk/dvipng/TLpatches/ChangeLog b/Build/source/texk/dvipng/TLpatches/ChangeLog
index 64d6ffe16c1..79c1f2a641c 100644
--- a/Build/source/texk/dvipng/TLpatches/ChangeLog
+++ b/Build/source/texk/dvipng/TLpatches/ChangeLog
@@ -1,3 +1,10 @@
+2019-04-07 Karl Berry <karl@freefriends.org>
+
+ * patch-02-const,
+ * patch-03-programname,
+ * patch-06-WIN32,
+ * patch-07-w64-ptr: remove; all patches were installed in 1.16.
+
2015-03-04 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-07-w64-ptr: Better handling of WIN64 ptr->long.
diff --git a/Build/source/texk/dvipng/TLpatches/TL-Changes b/Build/source/texk/dvipng/TLpatches/TL-Changes
index 15cd6bb63db..ea1584bb765 100644
--- a/Build/source/texk/dvipng/TLpatches/TL-Changes
+++ b/Build/source/texk/dvipng/TLpatches/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the dvipng-1.15 tree as obtained from:
+Changes applied to the dvipng-1.16 tree as obtained from:
http://savannah.nongnu.org/files/?group=dvipng
Removed:
diff --git a/Build/source/texk/dvipng/TLpatches/patch-02-const b/Build/source/texk/dvipng/TLpatches/patch-02-const
deleted file mode 100644
index f10faef62e4..00000000000
--- a/Build/source/texk/dvipng/TLpatches/patch-02-const
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ur dvipng-1.15.orig/special.c dvipng-1.15/special.c
---- dvipng-1.15.orig/special.c 2015-03-02 20:33:55.000000000 +0100
-+++ dvipng-1.15/special.c 2015-03-03 12:51:18.000000000 +0100
-@@ -44,9 +44,9 @@
- struct pscode {
- struct pscode* next;
- char* special; /* complete special */
-- char* code; /* PS string, null if a file */
-+ const char* code; /* PS string, null if a file */
- char* filename; /* file name, null if a string */
-- char* postcode; /* post PS string */
-+ const char* postcode; /* post PS string */
- struct filemmap fmmap; /* file mmap */
- };
-
diff --git a/Build/source/texk/dvipng/TLpatches/patch-03-programname b/Build/source/texk/dvipng/TLpatches/patch-03-programname
deleted file mode 100644
index e106c3a0789..00000000000
--- a/Build/source/texk/dvipng/TLpatches/patch-03-programname
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -ur dvipng-1.15.orig/misc.c dvipng-1.15/misc.c
---- dvipng-1.15.orig/misc.c 2015-03-02 20:33:56.000000000 +0100
-+++ dvipng-1.15/misc.c 2015-03-03 13:35:10.000000000 +0100
-@@ -47,24 +47,43 @@
- int32_t number; /* Temporary storage for numeric parameter */
- char *dviname=NULL; /* Name of dvi file */
- char *outname=NULL; /* Name of output file */
-+ char *base; /* basename of argv[0] */
-
-- if (argv[0]) {
-+#ifdef HAVE_LIBKPATHSEA
-+ /* we certainly don't want to modify argv[0]. */
-+ programname = xstrdup (argv[0] ? argv[0] : PACKAGE_NAME);
-+# ifdef HAVE_KPSE_PROGRAM_BASENAME
-+ base = kpse_program_basename (programname);
-+# else
-+ base = xstrdup (xbasename (programname));
-+ {
-+ char *dot = strrchr (base, '.');
-+ if (dot && FILESTRCASEEQ (dot, ".exe"))
-+ *dot = 0;
-+ }
-+# endif
-+#else
-+ /* we certainly don't want to modify argv[0]. */
-+ programname = strdup (argv[0] ? argv[0] : PACKAGE_NAME);
-+ base = strrchr (programname, '/');
-+ if (base)
-+ base++;
-+ else
-+ base = programname;
-+#endif
- #ifdef HAVE_GDIMAGEGIF
-- programname=strrchr(argv[0],'/');
-- if (programname!=NULL)
-- programname++;
-- else
-- programname=argv[0];
-- if (strncmp(programname,"dvigif",6)==0)
-- option_flags |= GIF_OUTPUT;
-+# ifdef HAVE_LIBKPATHSEA
-+ if (FILESTRCASEEQ (base, "dvigif"))
-+# else
-+ if (strncmp(programname,"dvigif",6)==0)
-+# endif
-+ option_flags |= GIF_OUTPUT;
- #endif
-- programname=argv[0];
-- Message(BE_NONQUIET,"This is %s",programname);
-- if (strcmp(basename(programname),PACKAGE_NAME)!=0)
-- Message(BE_NONQUIET," (%s)", PACKAGE_NAME);
-- Message(BE_NONQUIET," %s Copyright 2002-2015 Jan-Ake Larsson\n",
-- PACKAGE_VERSION);
-- }
-+ Message(BE_NONQUIET,"This is %s",programname);
-+ if (strcmp(base,PACKAGE_NAME)!=0)
-+ Message(BE_NONQUIET," (%s)", PACKAGE_NAME);
-+ Message(BE_NONQUIET," %s Copyright 2002-2015 Jan-Ake Larsson\n",
-+ PACKAGE_VERSION);
-
- for (i=1; i<argc; i++) {
- if (*argv[i]=='-') {
diff --git a/Build/source/texk/dvipng/TLpatches/patch-06-WIN32 b/Build/source/texk/dvipng/TLpatches/patch-06-WIN32
deleted file mode 100644
index 252b15abee5..00000000000
--- a/Build/source/texk/dvipng/TLpatches/patch-06-WIN32
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur dvipng-1.15.orig/dvipng.c dvipng-1.15/dvipng.c
---- dvipng-1.15.orig/dvipng.c 2015-03-02 20:33:56.000000000 +0100
-+++ dvipng-1.15/dvipng.c 2015-03-03 13:04:09.000000000 +0100
-@@ -79,6 +79,10 @@
- kpse_set_program_enabled (kpse_pk_format, makeTexPK, kpse_src_compile);
- #endif
-
-+#ifdef WIN32
-+ texlive_gs_init ();
-+#endif
-+
- initcolor();
- parsestdin = DecodeArgs(argc, argv);
-
-diff -ur -x COPYING.gd dvipng-1.15.orig/special.c dvipng-1.15/special.c
---- dvipng-1.15.orig/special.c 2015-03-03 12:51:18.000000000 +0100
-+++ dvipng-1.15/special.c 2015-03-03 13:04:09.000000000 +0100
-@@ -28,11 +28,8 @@
- #ifndef WIN32
- #include <sys/wait.h>
- #else /* WIN32 */
--#include <fcntl.h>
--#include <io.h>
--#include <process.h>
-+#undef pipe
- #define pipe(p) _pipe(p, 65536, O_BINARY | _O_NOINHERIT)
--#define snprintf _snprintf
- #endif /* WIN32 */
- #endif
-
diff --git a/Build/source/texk/dvipng/TLpatches/patch-07-w64-ptr b/Build/source/texk/dvipng/TLpatches/patch-07-w64-ptr
deleted file mode 100644
index 4c4ff5b6064..00000000000
--- a/Build/source/texk/dvipng/TLpatches/patch-07-w64-ptr
+++ /dev/null
@@ -1,57 +0,0 @@
-diff -ur dvipng-1.15.orig/pk.c dvipng-1.15/pk.c
---- dvipng-1.15.orig/pk.c 2015-03-02 20:33:56.000000000 +0100
-+++ dvipng-1.15/pk.c 2015-03-04 08:26:11.000000000 +0100
-@@ -347,7 +347,7 @@
- position = skip_specials(position);
- while (*position != PK_POST) {
- DEBUG_PRINT(DEBUG_PK,("\n @%ld PK CHAR:\t%d",
-- (long)position - (long)tfontp->fmmap.data, *position));
-+ (long)((char *)position - tfontp->fmmap.data), *position));
- if ((tcharptr = malloc(sizeof(struct char_entry))) == NULL)
- Fatal("cannot allocate space for char_entry");
- tcharptr->flag_byte = *position;
-diff -ur dvipng-1.15.orig/special.c dvipng-1.15/special.c
---- dvipng-1.15.orig/special.c 2015-03-03 13:04:09.000000000 +0100
-+++ dvipng-1.15/special.c 2015-03-03 13:11:16.000000000 +0100
-@@ -214,7 +214,7 @@
- savestdout = _dup(fileno(stdout));
- _dup2(pngpipe[WRITE_END], fileno(stdout));
- if ((hchild=
-- (HANDLE)spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution,
-+ (HANDLE)_spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution,
- "-dBATCH", "-dNOPAUSE", "-q", "-sOutputFile=-",
- "-dTextAlphaBits=4", "-dGraphicsAlphaBits=4",
- (option_flags & NO_GSSAFER) ? "-": "-dSAFER",
-diff -ur dvipng-1.15.orig/tfm.c dvipng-1.15/tfm.c
---- dvipng-1.15.orig/tfm.c 2015-03-02 20:33:56.000000000 +0100
-+++ dvipng-1.15/tfm.c 2015-03-04 08:27:58.000000000 +0100
-@@ -56,7 +56,7 @@
- position=(unsigned char*)fmmap.data+24+lh*4;
- while(c <= ec) {
- DEBUG_PRINT(DEBUG_TFM,("\n@%ld TFM METRICS:\t",
-- (long)position - (long)fmmap.data));
-+ (long)((char *)position - fmmap.data)));
- if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL)
- Fatal("cannot allocate memory for TFM char entry");
- tcharptr->data=NULL;
-diff -ur dvipng-1.15.orig/vf.c dvipng-1.15/vf.c
---- dvipng-1.15.orig/vf.c 2015-03-02 20:33:56.000000000 +0100
-+++ dvipng-1.15/vf.c 2015-03-04 08:29:50.000000000 +0100
-@@ -80,7 +80,7 @@
- position += 8;
- while(*position >= FNT_DEF1 && *position <= FNT_DEF4) {
- DEBUG_PRINT(DEBUG_VF,("\n @%ld VF:\t%s",
-- (long)position - (long)tfontp->fmmap.data,
-+ (long)((char *)position - tfontp->fmmap.data),
- dvi_commands[*position]));
- FontDef(position,tfontp);
- length = dvi_commandlength[*position];
-@@ -95,7 +95,7 @@
- /* Read char definitions */
- while(*position < FNT_DEF1) {
- DEBUG_PRINT(DEBUG_VF,("\n@%ld VF CHAR:\t",
-- (long)position - (long)tfontp->fmmap.data));
-+ (long)((char *)position - tfontp->fmmap.data)));
- if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL)
- Fatal("cannot allocate memory for VF char entry");
- switch (*position) {
diff --git a/Build/source/texk/dvipng/configure b/Build/source/texk/dvipng/configure
index e799bdf8ade..2723bffb844 100755
--- a/Build/source/texk/dvipng/configure
+++ b/Build/source/texk/dvipng/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvipng (TeX Live) 1.15.
+# Generated by GNU Autoconf 2.69 for dvipng (TeX Live) 1.16.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dvipng (TeX Live)'
PACKAGE_TARNAME='dvipng--tex-live-'
-PACKAGE_VERSION='1.15'
-PACKAGE_STRING='dvipng (TeX Live) 1.15'
+PACKAGE_VERSION='1.16'
+PACKAGE_STRING='dvipng (TeX Live) 1.16'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1371,7 +1371,7 @@ if test "$ac_init_help" = "long"; then
# 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 dvipng (TeX Live) 1.15 to adapt to many kinds of systems.
+\`configure' configures dvipng (TeX Live) 1.16 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1442,7 +1442,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dvipng (TeX Live) 1.15:";;
+ short | recursive ) echo "Configuration of dvipng (TeX Live) 1.16:";;
esac
cat <<\_ACEOF
@@ -1575,7 +1575,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dvipng (TeX Live) configure 1.15
+dvipng (TeX Live) configure 1.16
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2231,7 +2231,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dvipng (TeX Live) $as_me 1.15, which was
+It was created by dvipng (TeX Live) $as_me 1.16, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -7922,7 +7922,7 @@ fi
# Define the identity of the package.
PACKAGE='dvipng--tex-live-'
- VERSION='1.15'
+ VERSION='1.16'
cat >>confdefs.h <<_ACEOF
@@ -15089,7 +15089,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dvipng (TeX Live) config.lt 1.15
+dvipng (TeX Live) config.lt 1.16
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -17355,7 +17355,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dvipng (TeX Live) $as_me 1.15, which was
+This file was extended by dvipng (TeX Live) $as_me 1.16, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17425,7 +17425,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-dvipng (TeX Live) config.status 1.15
+dvipng (TeX Live) config.status 1.16
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dvipng/doc/dvipng.help b/Build/source/texk/dvipng/doc/dvipng.help
index 86566aee4dc..7a6e1298405 100644
--- a/Build/source/texk/dvipng/doc/dvipng.help
+++ b/Build/source/texk/dvipng/doc/dvipng.help
@@ -1,4 +1,4 @@
-This is ./dvipng (TeX Live) 1.15 Copyright 2002-2015 Jan-Ake Larsson
+This is ./dvipng 1.16 Copyright 2002-2015, 2019 Jan-Ake Larsson
Usage: ./dvipng [OPTION]... FILENAME[.dvi]
Options are chosen to be similar to dvips' options where possible:
diff --git a/Build/source/texk/dvipng/doc/dvipng.info b/Build/source/texk/dvipng/doc/dvipng.info
index 978c8f16ad1..9e6f488afc6 100644
--- a/Build/source/texk/dvipng/doc/dvipng.info
+++ b/Build/source/texk/dvipng/doc/dvipng.info
@@ -1,4 +1,4 @@
-This is dvipng.info, produced by makeinfo version 6.3 from dvipng.texi.
+This is dvipng.info, produced by makeinfo version 6.6 from dvipng.texi.
INFO-DIR-SECTION TeX
START-INFO-DIR-ENTRY
@@ -15,7 +15,7 @@ dvipng
This manual documents dvipng, a program to translate a DVI (DeVice
Independent) file into PNG (Portable Network Graphics).
- This file documents dvipng version 1.15
+ This file documents dvipng version 1.16
Corrections or perhaps rewrites of sections are _very welcome_.
@@ -113,11 +113,11 @@ File: dvipng.info, Node: Prerequisites, Next: Configure, Up: Installation
* The GD Graphics Draw library, libgd
The drawing library 'libgd' is necessary, and is downloadable at
- <http://www.boutell.com/gd>, and there are binary packages for most
- operating systems from their respective distributors. In any case,
- the latest version of the library installs using 'autoconf' so it
- should not be difficult for you to install it from source, and then
- proceed with installing dvipng.
+ <https://bitbucket.org/libgd/gd-libgd/downloads>, and there are
+ binary packages for most operating systems from their respective
+ distributors. In any case, the library installs using 'autoconf'
+ so it should not be difficult for you to install it from source,
+ and then proceed with installing dvipng.
* The path-searching library kpathsea
@@ -315,7 +315,7 @@ File: dvipng.info, Node: Option summary, Next: Option details, Up: Command-li
Here is a handy summary of the options; it is printed out when you run
dvipng with no arguments or with the standard '--help' option.
- This is ./dvipng (TeX Live) 1.15 Copyright 2002-2015 Jan-Ake Larsson
+ This is ./dvipng 1.16 Copyright 2002-2015, 2019 Jan-Ake Larsson
Usage: ./dvipng [OPTION]... FILENAME[.dvi]
Options are chosen to be similar to dvips' options where possible:
@@ -472,7 +472,11 @@ reversal, use '-r0'. Such options are marked with a trailing '*'.
PostScript versions of Computer Modern installed, there will be no
need to generate bitmapped (PK) variants on disk of these. Then,
you can render images at different (and unusual) resolutions
- without cluttering the disk with lots of bitmapped fonts.
+ without cluttering the disk with lots of bitmapped fonts. One
+ reason to disable FreeType font rendering would be to generate
+ identical output on different platforms, since FreeType uses the
+ native renderer and therefore can give slightly different output on
+ each platform.
'--gamma NUM'
Control the interpolation of colors in the greyscale anti-aliasing
@@ -958,7 +962,7 @@ Bernhard Simon, Bob McElrath, Georg Schwarz, Jason Farmer, Brian V.
Smith, Samuel Hathaway, Thomas R. Shemanske, Stephen Gibson, Christian
Ridderstro"m, Ezra Peisach, William H Wheeler, Thomas Klausner, Harald
Koenig, Adrian Bunk, Kevin Smith, Jason Riedy, Wolfram Krause, Reinhard
-Kotucha, Takeshi Abe, and Waldeck Schutzer.
+Kotucha, Takeshi Abe, Waldeck Schutzer, and Andy Nguyen.

File: dvipng.info, Node: Copying, Next: Index, Prev: Credits, Up: Top
@@ -982,7 +986,7 @@ License along with this program. If not, see
-Copyright (C) 2002-2015 Jan-AAke Larsson
+Copyright (C) 2002-2015, 2019 Jan-AAke Larsson

File: dvipng.info, Node: Index, Prev: Copying, Up: Top
@@ -993,78 +997,78 @@ Index
* Menu:
-* -dSAFER: Option details. (line 163)
-* absolute page number, and -l: Option details. (line 137)
-* absolute page number, and -p: Option details. (line 190)
-* antialiasing levels, number of: Option details. (line 243)
+* -dSAFER: Option details. (line 167)
+* absolute page number, and -l: Option details. (line 141)
+* absolute page number, and -p: Option details. (line 194)
+* antialiasing levels, number of: Option details. (line 247)
* background color (option): Option details. (line 40)
* base resolution, setting: Option details. (line 33)
* baseline reporting: Option details. (line 76)
-* baseline reporting <1>: Option details. (line 129)
+* baseline reporting <1>: Option details. (line 133)
* color specifications: Color specifications.
(line 6)
* command-line options: Command-line options.
(line 6)
* compilation: Installation. (line 6)
-* compression: Option details. (line 295)
+* compression: Option details. (line 299)
* configuration, of dvipng: Installation. (line 6)
-* dark fonts: Option details. (line 116)
+* dark fonts: Option details. (line 120)
* debugging: Option details. (line 54)
* debugging <1>: Diagnosing problems. (line 6)
* depth reporting: Option details. (line 76)
-* exit on erroneous images: Option details. (line 254)
-* first page printed: Option details. (line 190)
+* exit on erroneous images: Option details. (line 258)
+* first page printed: Option details. (line 194)
* follow mode: Option details. (line 97)
-* font generation, avoiding: Option details. (line 155)
-* forcing palette output: Option details. (line 199)
+* font generation, avoiding: Option details. (line 159)
+* forcing palette output: Option details. (line 203)
* foreground color (option): Option details. (line 91)
* FreeType font rendering: Option details. (line 105)
-* fuzzy images: Option details. (line 116)
-* gamma: Option details. (line 116)
-* GhostScript and -dSAFER: Option details. (line 163)
-* GhostScript, turning off: Option details. (line 159)
-* GIF image format: Option details. (line 122)
-* height reporting: Option details. (line 129)
+* fuzzy images: Option details. (line 120)
+* gamma: Option details. (line 120)
+* GhostScript and -dSAFER: Option details. (line 167)
+* GhostScript, turning off: Option details. (line 163)
+* GIF image format: Option details. (line 126)
+* height reporting: Option details. (line 133)
* installation, of dvipng: Installation. (line 6)
* invoking dvipng: Basic usage. (line 6)
-* last page printed: Option details. (line 137)
-* light fonts: Option details. (line 116)
-* magnification, overriding DVI: Option details. (line 285)
-* Metafont mode, specifying: Option details. (line 146)
-* mktexpk, avoiding: Option details. (line 155)
-* mode name, specifying: Option details. (line 146)
-* no erroneous images: Option details. (line 208)
-* offset pages: Option details. (line 184)
+* last page printed: Option details. (line 141)
+* light fonts: Option details. (line 120)
+* magnification, overriding DVI: Option details. (line 289)
+* Metafont mode, specifying: Option details. (line 150)
+* mktexpk, avoiding: Option details. (line 159)
+* mode name, specifying: Option details. (line 150)
+* no erroneous images: Option details. (line 212)
+* offset pages: Option details. (line 188)
* option, details of: Option details. (line 6)
* options, dvipng: Command-line options.
(line 6)
* options, reading from standard input: Option details. (line 11)
* options, summary: Option summary. (line 6)
* output resolution, setting: Option details. (line 60)
-* output, redirecting: Option details. (line 177)
-* page range: Option details. (line 221)
-* page, first printed: Option details. (line 190)
-* page, last printed: Option details. (line 137)
-* physical page number, and -l: Option details. (line 137)
-* physical page number, and -p: Option details. (line 190)
-* PNG image format: Option details. (line 217)
+* output, redirecting: Option details. (line 181)
+* page range: Option details. (line 225)
+* page, first printed: Option details. (line 194)
+* page, last printed: Option details. (line 141)
+* physical page number, and -l: Option details. (line 141)
+* physical page number, and -p: Option details. (line 194)
+* PNG image format: Option details. (line 221)
* PostScript inclusion problems: Encapsulated PostScript.
(line 21)
* PostScript, turning off raw PostScript specials: Option details.
- (line 171)
+ (line 175)
* problems: Diagnosing problems. (line 6)
-* quality: Option details. (line 243)
-* quiet operation: Option details. (line 239)
-* reverse pagination: Option details. (line 250)
-* silent operation: Option details. (line 239)
+* quality: Option details. (line 247)
+* quiet operation: Option details. (line 243)
+* reverse pagination: Option details. (line 254)
+* silent operation: Option details. (line 243)
* standard input, reading options from: Option details. (line 11)
-* standard output, output to: Option details. (line 177)
+* standard output, output to: Option details. (line 181)
* transparent border fallback color: Option details. (line 23)
* transparent border width: Option details. (line 23)
* trouble: Diagnosing problems. (line 6)
-* truecolor output: Option details. (line 271)
-* warnings, suppressing: Option details. (line 239)
-* width reporting: Option details. (line 282)
+* truecolor output: Option details. (line 275)
+* warnings, suppressing: Option details. (line 243)
+* width reporting: Option details. (line 286)

@@ -1073,26 +1077,26 @@ Node: Top296
Node: Introduction1191
Node: Installation3436
Node: Prerequisites3783
-Node: Configure5823
-Node: Build/install7870
-Node: Installation outside the texmf tree8338
-Node: Advice for non-privileged users9048
-Node: Basic usage10059
-Node: Command-line options11203
-Node: Option summary11626
-Node: Option details14000
-Node: Graphics28938
-Node: Encapsulated PostScript29693
-Node: Bitmapped graphics31043
-Node: Raw PostScript32271
-Node: Color34524
-Node: Color specifications34913
-Node: Color specials36016
-Node: Diagnosing problems37433
-Node: Contact information37917
-Node: Debug options38645
-Node: Credits39634
-Node: Copying40840
-Node: Index41621
+Node: Configure5822
+Node: Build/install7869
+Node: Installation outside the texmf tree8337
+Node: Advice for non-privileged users9047
+Node: Basic usage10058
+Node: Command-line options11202
+Node: Option summary11625
+Node: Option details13994
+Node: Graphics29168
+Node: Encapsulated PostScript29923
+Node: Bitmapped graphics31273
+Node: Raw PostScript32501
+Node: Color34754
+Node: Color specifications35143
+Node: Color specials36246
+Node: Diagnosing problems37663
+Node: Contact information38147
+Node: Debug options38875
+Node: Credits39864
+Node: Copying41083
+Node: Index41870

End Tag Table
diff --git a/Build/source/texk/dvipng/doc/dvipng.texi b/Build/source/texk/dvipng/doc/dvipng.texi
index 16a40ec3a0c..b2f58ce5082 100644
--- a/Build/source/texk/dvipng/doc/dvipng.texi
+++ b/Build/source/texk/dvipng/doc/dvipng.texi
@@ -9,8 +9,8 @@ dvipng [options] [filename] -
@c man end
@end ifset
-@set version 1.15
-@set month-year February 2015
+@set version 1.16
+@set month-year April 2019
@c Put everything in one index (arbitrarily chosen to be the concept index).
@syncodeindex fn cp
@@ -39,7 +39,7 @@ dvipng [options] [filename] -
@author by Jan-@AA{}ke Larsson.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -346,7 +346,10 @@ for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (PK)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
-fonts.
+fonts.
+One reason to disable FreeType font rendering would be to generate
+identical output on different platforms, since FreeType uses the native
+renderer and therefore can give slightly different output on each platform.
@item --gamma @var{num}
@cindex gamma
@@ -934,8 +937,8 @@ Tollak Munkejord, James Longstreet, Bernhard Simon, Bob McElrath,
Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel Hathaway, Thomas
R. Shemanske, Stephen Gibson, Christian Ridderstr@"om, Ezra Peisach,
William H Wheeler, Thomas Klausner, Harald Koenig, Adrian Bunk, Kevin
-Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe, and
-Waldeck Schutzer.
+Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe,
+Waldeck Schutzer, and Andy Nguyen.
@ifset man
@c man begin NOTES
@@ -949,7 +952,7 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/gpl.html}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@c man end
@end ifset
@@ -972,7 +975,7 @@ License along with this program. If not, see
@sp 2
@noindent
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@node Index
@unnumbered Index
diff --git a/Build/source/texk/dvipng/doc/install.texi b/Build/source/texk/dvipng/doc/install.texi
index c9928a1ba7e..61e47e565b9 100644
--- a/Build/source/texk/dvipng/doc/install.texi
+++ b/Build/source/texk/dvipng/doc/install.texi
@@ -28,11 +28,11 @@ Installing dvipng should be simple: merely @code{./configure},
@item The GD Graphics Draw library, libgd
The drawing library @samp{libgd} is necessary, and is downloadable at
-@uref{http://www.boutell.com/gd}, and there are binary packages for
-most operating systems from their respective distributors. In any
-case, the latest version of the library installs using @samp{autoconf}
-so it should not be difficult for you to install it from source, and
-then proceed with installing dvipng.
+@uref{https://bitbucket.org/libgd/gd-libgd/downloads}, and there are
+binary packages for most operating systems from their respective
+distributors. In any case, the library installs using @samp{autoconf} so
+it should not be difficult for you to install it from source, and then
+proceed with installing dvipng.
@item The path-searching library kpathsea
@@ -190,5 +190,5 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@end ifset
diff --git a/Build/source/texk/dvipng/dvipng-src/ChangeLog b/Build/source/texk/dvipng/dvipng-src/ChangeLog
index a84a110f7d0..c56830ebbf1 100644
--- a/Build/source/texk/dvipng/dvipng-src/ChangeLog
+++ b/Build/source/texk/dvipng/dvipng-src/ChangeLog
@@ -1,14 +1,39 @@
2019-04-06 Jan-Åke Larsson <jan-ake.larsson@liu.se>
- * pk.c (InitPK): check for packet_length reading outside file bounds.
- Report from Andy Nguyen of ETH Zurich.
-
- * tfm.c (ReadTFM): check for reading outside file bounds.
- Report from Andy Nguyen of ETH Zurich.
-
- * dvi.c (DVIGetCommand): check for (unsigned value) overflow
- so we don't fail to realloc buffer if needed.
- Report from Andy Nguyen of ETH Zurich, found using afl-fuzz.
+ Release 1.16
+
+2019-04-06 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Check for a possible integer addition overflow
+ Check bounds for mmap access
+ Update copyright notice
+ Check bounds for mmap access
+ Update copyright notice
+
+2019-02-26 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Add sentence on disabling Freetype for identical output on different platforms.
+ Amend FT2 test, move remaining local scripts to acinclude.m4, regenerate aclocal.m4
+
+2015-03-28 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Add const where needed
+ Don't re-define pipe and snprintf
+ Test for and use texlive_gs_init()
+ Use WIN32 _spawnlp
+ Use char* in debug printout calculations
+ Don't use basename, ignore case, and use correct directory delimiter
+
+2015-03-05 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Change libgd download address
+
+2015-03-02 Jan-Åke Larsson <jan-ake.larsson@liu.se>
+
+ Remove datarootdir configure warning, adjust distclean target
+ Remove texi2pod.pl, we only use that for building the man page
+ Remove cvs remnants
+ Adjust distclean target
2015-03-01 Jan-Åke Larsson <jan-ake.larsson@liu.se>
diff --git a/Build/source/texk/dvipng/dvipng-src/INSTALL b/Build/source/texk/dvipng/dvipng-src/INSTALL
index b7f8aebb9fb..0fecfaa2a29 100644
--- a/Build/source/texk/dvipng/dvipng-src/INSTALL
+++ b/Build/source/texk/dvipng/dvipng-src/INSTALL
@@ -10,11 +10,11 @@ Prerequisites
* The GD Graphics Draw library, libgd
The drawing library 'libgd' is necessary, and is downloadable at
- <http://www.boutell.com/gd>, and there are binary packages for most
- operating systems from their respective distributors. In any case,
- the latest version of the library installs using 'autoconf' so it
- should not be difficult for you to install it from source, and then
- proceed with installing dvipng.
+ <https://bitbucket.org/libgd/gd-libgd/downloads>, and there are
+ binary packages for most operating systems from their respective
+ distributors. In any case, the library installs using 'autoconf'
+ so it should not be difficult for you to install it from source,
+ and then proceed with installing dvipng.
* The path-searching library kpathsea
@@ -154,4 +154,4 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
<http://www.gnu.org/licenses/>.
- Copyright (C) 2002-2015 Jan-AAke Larsson
+ Copyright (C) 2002-2015, 2019 Jan-AAke Larsson
diff --git a/Build/source/texk/dvipng/dvipng-src/RELEASE b/Build/source/texk/dvipng/dvipng-src/RELEASE
index eb8615efed2..78b1de8a930 100644
--- a/Build/source/texk/dvipng/dvipng-src/RELEASE
+++ b/Build/source/texk/dvipng/dvipng-src/RELEASE
@@ -1,14 +1,12 @@
-Release notes for version 1.15 of the dvipng package:
+Release notes for version 1.16 of the dvipng package:
This program makes PNG graphics from DVI files as obtained from TeX
and its relatives.
-This is a bugfix release that removes the unnecessarily long delay in --follow
-mode and a few segfaults on out-of-memory or missing standard-latex files, and
-adds some documentation improvements. It also removes support for libt1, which
-is reportedly not developed anymore, and not needed since Freetype does a much
-better job.
+This is a security release that adds checks for malignant font files.
+It also amends the build process, mostly to adjust for recent FreeType
+versions, and makes a few more small adjustments.
Report any bugs you find, see README for instructions.
diff --git a/Build/source/texk/dvipng/dvipng-src/aclocal.m4 b/Build/source/texk/dvipng/dvipng-src/aclocal.m4
index 0cd4eddf92e..a8189afc3f3 100644
--- a/Build/source/texk/dvipng/dvipng-src/aclocal.m4
+++ b/Build/source/texk/dvipng/dvipng-src/aclocal.m4
@@ -1,7 +1,7 @@
-# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,227 +11,281 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# Configure paths for FreeType2
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-
-dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
-dnl
-AC_DEFUN(AC_CHECK_FT2,
-[dnl
-dnl Get the cflags and libraries from the freetype-config script
-dnl
-AC_ARG_WITH(ft-prefix,
-[ --with-ft-prefix=PREFIX
- Prefix where FreeType is installed (optional)],
- ft_config_prefix="$withval", ft_config_prefix="")
-AC_ARG_WITH(ft-exec-prefix,
-[ --with-ft-exec-prefix=PREFIX
- Exec prefix where FreeType is installed (optional)],
- ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
-AC_ARG_ENABLE(freetypetest,
-[ --disable-freetypetest Do not try to compile and run
- a test FreeType program],
- [], enable_fttest=yes)
-
-if test x$ft_config_exec_prefix != x ; then
- ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
- fi
-fi
-if test x$ft_config_prefix != x ; then
- ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_prefix/bin/freetype-config
- fi
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29.1)
+dnl
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
-AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
-min_ft_version=ifelse([$1], ,6.1.0,$1)
-AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
-no_ft=""
-if test "$FT2_CONFIG" = "no" ; then
- no_ft=yes
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
- FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
- ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- ft_min_major_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_min_minor_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_min_micro_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test x$enable_fttest = xyes ; then
- ft_config_is_lt=""
- if test $ft_config_major_version -lt $ft_min_major_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_major_version -eq $ft_min_major_version ; then
- if test $ft_config_minor_version -lt $ft_min_minor_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_minor_version -eq $ft_min_minor_version ; then
- if test $ft_config_micro_version -lt $ft_min_micro_version ; then
- ft_config_is_lt=yes
- fi
- fi
+ _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
- fi
- fi
- if test x$ft_config_is_lt = xyes ; then
- no_ft=yes
- else
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $FT2_CFLAGS"
- LIBS="$FT2_LIBS $LIBS"
-dnl
-dnl Sanity checks for the results of freetype-config to some extent
-dnl
- AC_TRY_RUN([
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FT_Library library;
- FT_Error error;
-
- error = FT_Init_FreeType(&library);
-
- if (error)
- return 1;
- else
- {
- FT_Done_FreeType(library);
- return 0;
- }
-}
-],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi # test $ft_config_version -lt $ft_min_version
- fi # test x$enable_fttest = xyes
-fi # test "$FT2_CONFIG" = "no"
-if test x$no_ft = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
else
- AC_MSG_RESULT(no)
- if test "$FT2_CONFIG" = "no" ; then
- echo "*** The freetype-config script installed by FreeType 2 could not be found."
- echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the FT2_CONFIG environment variable to the"
- echo "*** full path to freetype-config."
- else
- if test x$ft_config_is_lt = xyes ; then
- echo "*** Your installed version of the FreeType 2 library is too old."
- echo "*** If you have different versions of FreeType 2, make sure that"
- echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
- echo "*** are used, or set the FT2_CONFIG environment variable to the"
- echo "*** full path to freetype-config."
- else
- echo "*** The FreeType test program failed to run. If your system uses"
- echo "*** shared libraries and they are installed outside the normal"
- echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
- echo "*** (or whatever is appropiate for your system) is correctly set."
- fi
- fi
- FT2_CFLAGS=""
- FT2_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(FT2_CFLAGS)
-AC_SUBST(FT2_LIBS)
-])
-
-
-dnl
-dnl MAKEINFO_CHECK_MACRO( MACRO, [ACTION-IF-FOUND
-dnl [, ACTION-IF-NOT-FOUND]])
-dnl
-AC_DEFUN(MAKEINFO_CHECK_MACRO,
-[if test -n "$MAKEINFO" -a "$makeinfo" != ":"; then
- AC_MSG_CHECKING([for @$1{}])
- echo \\\\input texinfo > conftest.texi
- echo @$1{test} >> conftest.texi
- if $MAKEINFO conftest.texi > /dev/null 2> /dev/null; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- ifelse([$3], , :, [$3])
- fi
- rm -f conftest.texi conftest.info
-fi
-])
-
-dnl
-dnl MAKEINFO_CHECK_MACROS( MACRO ... [, ACTION-IF-FOUND
-dnl [, ACTION-IF-NOT-FOUND]])
-dnl
-AC_DEFUN(MAKEINFO_CHECK_MACROS,
-[for ac_macro in $1; do
- MAKEINFO_CHECK_MACRO($ac_macro, $2,
- [MAKEINFO_MACROS="-D no-$ac_macro $MAKEINFO_MACROS"
- $3])dnl
- done
-AC_SUBST(MAKEINFO_MACROS)
-])
-
-
-dnl
-dnl Check for enc, cmap, sfd formats
-dnl
-AC_DEFUN(AC_HAS_KPSE_ENC_FORMATS,
- [AC_MSG_CHECKING([for kpse_enc_format])
- AC_TRY_COMPILE([
- #include <stdio.h>
- #include <kpathsea/kpathsea.h>],
- [kpse_enc_format;kpse_cmap_format;kpse_sfd_format],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_KPSE_ENC_FORMATS, 1,
- [Define to 1 if your kpathsea has kpse_enc_format])],
- [AC_MSG_RESULT(no)])])
-
-
-dnl
-dnl Check devices for GS
-dnl AC_GS_HAS_DEVICE(DEVICE,ACTION-IF-FAILED)
-dnl
-AC_DEFUN(AC_GS_HAS_DEVICE,
- [AC_MSG_CHECKING([whether $GS has the $1 device])
- if $GS -h | grep $1 >/dev/null; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- $2
- fi
-])
-
-dnl
-dnl GS_CHECK_DEVICES
-dnl
-AC_DEFUN(GS_CHECK_DEVICES,
- [GS_WARN=""
- AC_GS_HAS_DEVICE(pngalpha,
- [GS_WARN="Your EPS inclusions will be cropped to the
- boundingbox, and rendered on an opaque background.
- Upgrade GhostScript to avoid this."
- AC_GS_HAS_DEVICE(png16m,
- [GS_WARN="Your EPS inclusions may not work.
- Upgrade/install GhostScript to avoid this."])])
- if test -n "$GS_WARN"; then
- AC_MSG_WARN([$GS_WARN])
- fi
-])
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+m4_include([acinclude.m4])
diff --git a/Build/source/texk/dvipng/dvipng-src/config.h.in b/Build/source/texk/dvipng/dvipng-src/config.h.in
index f1475404a96..4994405b5d0 100644
--- a/Build/source/texk/dvipng/dvipng-src/config.h.in
+++ b/Build/source/texk/dvipng/dvipng-src/config.h.in
@@ -150,6 +150,9 @@
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the `texlive_gs_init' function. */
+#undef HAVE_TEXLIVE_GS_INIT
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/Build/source/texk/dvipng/dvipng-src/configure.ac b/Build/source/texk/dvipng/dvipng-src/configure.ac
index 9b3852cdd5a..bcb86b74016 100644
--- a/Build/source/texk/dvipng/dvipng-src/configure.ac
+++ b/Build/source/texk/dvipng/dvipng-src/configure.ac
@@ -23,7 +23,7 @@
#************************************************************************
# Process this file with autoconf to produce a configure script.
-AC_INIT([dvipng], [1.15], [dvipng@nongnu.org])
+AC_INIT([dvipng], [1.16], [dvipng@nongnu.org])
AC_CONFIG_SRCDIR([dvipng.c])
AC_ARG_ENABLE(debug,
@@ -67,7 +67,8 @@ AC_CHECK_LIB([png], [png_read_image],,
[AC_MSG_ERROR([cannot find/use libpng])])
AC_CHECK_LIB([gd], [gdImageCreate],,
[AC_MSG_ERROR([cannot find/use libgd
-This drawing library can be downloaded at http://www.boutell.com/gd])])
+This drawing library can be downloaded at
+https://bitbucket.org/libgd/gd-libgd/downloads])])
AC_CHECK_LIB([kpathsea], [kpse_set_program_name],,
AC_MSG_ERROR([cannot find/use libkpathsea]))
@@ -78,7 +79,8 @@ AC_CHECK_HEADERS([gd.h png.h kpathsea/kpathsea.h],,
AC_CHECK_HEADERS([libgen.h])
PSFONTS_O=""
AC_SUBST(PSFONTS_O)
-AC_CHECK_FT2(,[CFLAGS="$FT2_CFLAGS $CFLAGS"
+PKG_CHECK_MODULES([FT2], [freetype2 >= 6.1.0],
+ [CFLAGS="$FT2_CFLAGS $CFLAGS"
LIBS="$FT2_LIBS $LIBS"
PSFONTS_O="sfd.o ft.o enc.o fontmap.o tfm.o"
AC_DEFINE(HAVE_FT2, 1, [Define to 1 if you have freetype2])
@@ -122,7 +124,7 @@ AC_FUNC_MMAP
# AC_FUNC_REALLOC
AC_FUNC_STRTOD
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([dup2 memset munmap pow putenv strchr strrchr strtol strstr])
+AC_CHECK_FUNCS([dup2 memset munmap pow putenv strchr strrchr strtol strstr strncasecmp])
if test "$enable_timing" = "yes"; then
AC_CHECK_FUNCS([ftime gettimeofday])
fi
@@ -132,6 +134,7 @@ if test "$ac_cv_func_gdImageGif" = "yes"; then
else
INSTALL_BIN_TARGET="install-dvipng"
fi
+AC_CHECK_FUNCS([texlive_gs_init])
AC_SUBST(INSTALL_BIN_TARGET)
# Documentation-related checks
@@ -212,6 +215,7 @@ AC_MSG_RESULT([
(dvigif): $ac_cv_func_gdImageGif
FreeType font rendering available: $ac_have_freetype2
Support for subfonts (CJK-LaTeX): $ac_have_freetype2
+ Building within TeX Live: $ac_cv_func_texlive_gs_init
])
AC_CONFIG_HEADER([config.h])
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.1 b/Build/source/texk/dvipng/dvipng-src/dvipng.1
index be24b6ad2ee..3b4b57c72f5 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.1
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.1
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -46,7 +46,7 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
@@ -54,20 +54,16 @@
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
-.nr rF 0
-.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-. if \nF \{
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.if !\nF .nr F 0
+.if \nF>0 \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
-. if !\nF==2 \{
-. nr % 0
-. nr F 2
-. \}
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
. \}
.\}
-.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
@@ -133,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "DVIPNG 1"
-.TH DVIPNG 1 "2015-02-23" "dvipng 1.15" "User commands"
+.TH DVIPNG 1 "2019-04-07" "dvipng 1.16" "User commands"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -295,7 +291,10 @@ for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (\s-1PK\s0)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
-fonts.
+fonts.
+One reason to disable FreeType font rendering would be to generate
+identical output on different platforms, since FreeType uses the native
+renderer and therefore can give slightly different output on each platform.
.IP "\fB\-\-gamma\fR \fInum\fR" 4
.IX Item "--gamma num"
Control the interpolation of colors in the greyscale anti-aliasing
@@ -504,4 +503,4 @@ This program is released under the \s-1GNU\s0 Lesser General Public License
version 3, see the \s-1COPYING\s0 file in the dvipng distribution or
<\fBhttp://www.gnu.org/licenses/gpl.html\fR>.
.PP
-Copyright (c) 2002\-2015 Jan-AAke Larsson
+Copyright (c) 2002\-2015, 2019 Jan-AAke Larsson
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.c b/Build/source/texk/dvipng/dvipng-src/dvipng.c
index 43f4791f4f8..fcd4ef62ad4 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.c
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.c
@@ -79,8 +79,8 @@ int main(int argc, char ** argv)
kpse_set_program_enabled (kpse_pk_format, makeTexPK, kpse_src_compile);
#endif
-#ifdef WIN32
- texlive_gs_init ();
+#ifdef HAVE_TEXLIVE_GS_INIT
+ texlive_gs_init();
#endif
initcolor();
diff --git a/Build/source/texk/dvipng/dvipng-src/dvipng.texi b/Build/source/texk/dvipng/dvipng-src/dvipng.texi
index 16a40ec3a0c..b2f58ce5082 100644
--- a/Build/source/texk/dvipng/dvipng-src/dvipng.texi
+++ b/Build/source/texk/dvipng/dvipng-src/dvipng.texi
@@ -9,8 +9,8 @@ dvipng [options] [filename] -
@c man end
@end ifset
-@set version 1.15
-@set month-year February 2015
+@set version 1.16
+@set month-year April 2019
@c Put everything in one index (arbitrarily chosen to be the concept index).
@syncodeindex fn cp
@@ -39,7 +39,7 @@ dvipng [options] [filename] -
@author by Jan-@AA{}ke Larsson.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -346,7 +346,10 @@ for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (PK)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
-fonts.
+fonts.
+One reason to disable FreeType font rendering would be to generate
+identical output on different platforms, since FreeType uses the native
+renderer and therefore can give slightly different output on each platform.
@item --gamma @var{num}
@cindex gamma
@@ -934,8 +937,8 @@ Tollak Munkejord, James Longstreet, Bernhard Simon, Bob McElrath,
Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel Hathaway, Thomas
R. Shemanske, Stephen Gibson, Christian Ridderstr@"om, Ezra Peisach,
William H Wheeler, Thomas Klausner, Harald Koenig, Adrian Bunk, Kevin
-Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe, and
-Waldeck Schutzer.
+Smith, Jason Riedy, Wolfram Krause, Reinhard Kotucha, Takeshi Abe,
+Waldeck Schutzer, and Andy Nguyen.
@ifset man
@c man begin NOTES
@@ -949,7 +952,7 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/gpl.html}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@c man end
@end ifset
@@ -972,7 +975,7 @@ License along with this program. If not, see
@sp 2
@noindent
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@node Index
@unnumbered Index
diff --git a/Build/source/texk/dvipng/dvipng-src/install.texi b/Build/source/texk/dvipng/dvipng-src/install.texi
index c9928a1ba7e..61e47e565b9 100644
--- a/Build/source/texk/dvipng/dvipng-src/install.texi
+++ b/Build/source/texk/dvipng/dvipng-src/install.texi
@@ -28,11 +28,11 @@ Installing dvipng should be simple: merely @code{./configure},
@item The GD Graphics Draw library, libgd
The drawing library @samp{libgd} is necessary, and is downloadable at
-@uref{http://www.boutell.com/gd}, and there are binary packages for
-most operating systems from their respective distributors. In any
-case, the latest version of the library installs using @samp{autoconf}
-so it should not be difficult for you to install it from source, and
-then proceed with installing dvipng.
+@uref{https://bitbucket.org/libgd/gd-libgd/downloads}, and there are
+binary packages for most operating systems from their respective
+distributors. In any case, the library installs using @samp{autoconf} so
+it should not be difficult for you to install it from source, and then
+proceed with installing dvipng.
@item The path-searching library kpathsea
@@ -190,5 +190,5 @@ This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/}.
-Copyright @copyright{} 2002-2015 Jan-@AA{}ke Larsson
+Copyright @copyright{} 2002-2015, 2019 Jan-@AA{}ke Larsson
@end ifset
diff --git a/Build/source/texk/dvipng/dvipng-src/misc.c b/Build/source/texk/dvipng/dvipng-src/misc.c
index ab2ce94f30e..3d94099d447 100644
--- a/Build/source/texk/dvipng/dvipng-src/misc.c
+++ b/Build/source/texk/dvipng/dvipng-src/misc.c
@@ -18,15 +18,13 @@
License along with this program. If not, see
<http://www.gnu.org/licenses/>.
- Copyright (C) 2002-2015 Jan-Åke Larsson
+ Copyright (C) 2002-2015, 2019 Jan-Åke Larsson
************************************************************************/
#include "dvipng.h"
#ifdef HAVE_LIBGEN_H
# include <libgen.h>
-#else
-#define basename xbasename
#endif
#include <fcntl.h> /* open/close */
#ifdef HAVE_MMAP
@@ -34,6 +32,15 @@
#endif
#include <sys/stat.h>
+#if defined _WIN32 && !defined __CYGWIN__ && !defined __CYGWIN32__
+ /* Use Windows separators on all _WIN32 defining
+ environments, except Cygwin. */
+# define DIR_SEPARATOR_CHAR '\\'
+#endif
+#ifndef DIR_SEPARATOR_CHAR
+# define DIR_SEPARATOR_CHAR '/'
+#endif /* !DIR_SEPARATOR_CHAR */
+
static char *programname;
/*-->DecodeArgs*/
@@ -47,43 +54,25 @@ bool DecodeArgs(int argc, char ** argv)
int32_t number; /* Temporary storage for numeric parameter */
char *dviname=NULL; /* Name of dvi file */
char *outname=NULL; /* Name of output file */
- char *base; /* basename of argv[0] */
-#ifdef HAVE_LIBKPATHSEA
- /* we certainly don't want to modify argv[0]. */
- programname = xstrdup (argv[0] ? argv[0] : PACKAGE_NAME);
-# ifdef HAVE_KPSE_PROGRAM_BASENAME
- base = kpse_program_basename (programname);
-# else
- base = xstrdup (xbasename (programname));
- {
- char *dot = strrchr (base, '.');
- if (dot && FILESTRCASEEQ (dot, ".exe"))
- *dot = 0;
- }
-# endif
-#else
- /* we certainly don't want to modify argv[0]. */
- programname = strdup (argv[0] ? argv[0] : PACKAGE_NAME);
- base = strrchr (programname, '/');
- if (base)
- base++;
- else
- base = programname;
-#endif
+ programname=PACKAGE_NAME;
+ if (argv[0]) {
#ifdef HAVE_GDIMAGEGIF
-# ifdef HAVE_LIBKPATHSEA
- if (FILESTRCASEEQ (base, "dvigif"))
-# else
- if (strncmp(programname,"dvigif",6)==0)
-# endif
- option_flags |= GIF_OUTPUT;
+ programname=strrchr(argv[0],DIR_SEPARATOR_CHAR);
+ if (programname!=NULL)
+ programname++;
+ else
+ programname=argv[0];
+ if (strncasecmp(programname,"dvigif",6)==0)
+ option_flags |= GIF_OUTPUT;
#endif
+ programname=argv[0];
+ }
Message(BE_NONQUIET,"This is %s",programname);
- if (strcmp(base,PACKAGE_NAME)!=0)
+ if (option_flags & GIF_OUTPUT)
Message(BE_NONQUIET," (%s)", PACKAGE_NAME);
- Message(BE_NONQUIET," %s Copyright 2002-2015 Jan-Ake Larsson\n",
- PACKAGE_VERSION);
+ Message(BE_NONQUIET," %s Copyright 2002-2015, 2019 Jan-Ake Larsson\n",
+ PACKAGE_VERSION);
for (i=1; i<argc; i++) {
if (*argv[i]=='-') {
@@ -501,12 +490,8 @@ bool DecodeArgs(int argc, char ** argv)
}
break;
case 'v': /* verbatim mode */
- if (strcmp(p, "ersion")==0) {
- if (strcmp(basename(programname),PACKAGE_NAME)!=0)
- printf("%s (%s) %s\n",basename(programname),
- PACKAGE_NAME,PACKAGE_VERSION);
- else
- puts(PACKAGE_STRING);
+ if (strcmp(p, "ersion")==0) {
+ puts(PACKAGE_STRING);
#ifdef HAVE_LIBKPATHSEA
puts (KPSEVERSION);
#endif
@@ -525,7 +510,7 @@ bool DecodeArgs(int argc, char ** argv)
}
# endif
#endif
- puts ("Copyright (C) 2002-2015 Jan-Ake Larsson.\n\
+ puts ("Copyright (C) 2002-2015, 2019 Jan-Ake Larsson.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU Lesser General Public License\n\
version 3, see the COPYING file in the dvipng distribution\n\
diff --git a/Build/source/texk/dvipng/dvipng-src/special.c b/Build/source/texk/dvipng/dvipng-src/special.c
index d685b1365c5..60d899faae2 100644
--- a/Build/source/texk/dvipng/dvipng-src/special.c
+++ b/Build/source/texk/dvipng/dvipng-src/special.c
@@ -28,8 +28,15 @@
#ifndef WIN32
#include <sys/wait.h>
#else /* WIN32 */
-#undef pipe
+#include <fcntl.h>
+#include <io.h>
+#include <process.h>
+#ifndef pipe
#define pipe(p) _pipe(p, 65536, O_BINARY | _O_NOINHERIT)
+#endif
+#ifndef snprintf
+#define snprintf _snprintf
+#endif
#endif /* WIN32 */
#endif
diff --git a/Build/source/texk/dvipng/version.ac b/Build/source/texk/dvipng/version.ac
index f72db0a314b..bacb75a4fe7 100644
--- a/Build/source/texk/dvipng/version.ac
+++ b/Build/source/texk/dvipng/version.ac
@@ -1,5 +1,6 @@
dnl
-dnl Copyright (C) 2013-2015 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright 2016-2019 Karl Berry <tex-live@tug.org>
+dnl Copyright 2013-2015 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
@@ -8,4 +9,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current dvipng version
-m4_define([dvipng_version], [1.15])
+m4_define([dvipng_version], [1.16])