texlive[48654] Build/source/texk: dvisvgm 2.6

commits+karl at tug.org commits+karl at tug.org
Thu Sep 13 19:10:25 CEST 2018


Revision: 48654
          http://tug.org/svn/texlive?view=revision&revision=48654
Author:   karl
Date:     2018-09-13 19:10:25 +0200 (Thu, 13 Sep 2018)
Log Message:
-----------
dvisvgm 2.6

Modified Paths:
--------------
    trunk/Build/source/texk/README
    trunk/Build/source/texk/dvisvgm/TLpatches/TL-Changes
    trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
    trunk/Build/source/texk/dvisvgm/configure
    trunk/Build/source/texk/dvisvgm/configure.ac
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/README
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in
    trunk/Build/source/texk/dvisvgm/version.ac

Added Paths:
-----------
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp
    trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp

Modified: trunk/Build/source/texk/README
===================================================================
--- trunk/Build/source/texk/README	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/README	2018-09-13 17:10:25 UTC (rev 48654)
@@ -60,7 +60,7 @@
 
 dvipsk - maintained here, by us
 
-dvisvgm 2.4.2 - checked 19jul18
+dvisvgm 2.6 - checked 13sep18
   https://dvisvgm.de/Downloads/
 
 gregorio 5.1.1 - checked 25mar18

Modified: trunk/Build/source/texk/dvisvgm/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/texk/dvisvgm/TLpatches/TL-Changes	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/TLpatches/TL-Changes	2018-09-13 17:10:25 UTC (rev 48654)
@@ -27,7 +27,10 @@
 svn status | sed -n 's/^\!//p'  # rerun, should be empty now
 cd ..
 
-# patch to integrate into TL build (may well need adjusting):
+Update our ./configure.ac from upstream dvisvgm-src/configure.ac.
+
+# patch to integrate into TL build. Will probably need adjusting;
+# any top_srcdir in dvisvgm-src/src/Makefile.am needs to become dvisvgm_srcdir.
 patch -d dvisvgm-src -p1 <TLpatches/patch-08-makefiles 
 
 # remake autostuff.

Modified: trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
===================================================================
--- trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles	2018-09-13 17:10:25 UTC (rev 48654)
@@ -1,14 +1,78 @@
-diff -u1r dvisvgm-2.5/Makefile.am dvisvgm-src/Makefile.am
---- dvisvgm-2.5/Makefile.am	2018-07-31 07:51:05.000000000 -0700
-+++ dvisvgm-src/Makefile.am	2018-08-27 09:10:41.553596312 -0700
+	See ./TL-Changes.
+
+Index: configure.ac
+===================================================================
+--- configure.ac	(revision 48652)
++++ configure.ac	(working copy)
+@@ -15,7 +15,7 @@
+ AC_PREREQ([2.65])
+ m4_include([version.ac])[] dnl define dvisvgm_version
+ AC_INIT([dvisvgm (TeX Live)], dvisvgm_version, [tex-k at tug.org])
+-DATE="August 2018"
++DATE="September 2018"
+ AC_CONFIG_SRCDIR([dvisvgm-src/src/dvisvgm.cpp])
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIRS([../../m4])dnl not just _DIR
+@@ -152,19 +152,13 @@
+ # Check for header files.
+ AC_HEADER_DIRENT
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([libintl.h stdlib.h string.h strings.h unistd.h])
++AC_CHECK_HEADERS_ONCE([libintl.h stdlib.h string.h strings.h unistd.h])
+ 
+ # Check for typedefs, structures, and compiler characteristics.
+ AC_HEADER_STDBOOL
+ AC_TYPE_SIZE_T
+ AC_STRUCT_TM
+-# TL? AC_C_CONST
+-# TL? AC_C_INLINE
+ 
+-# TL? AC_FUNC_CLOSEDIR_VOID
+-# TL? AC_FUNC_ERROR_AT_LINE
+-# TL? AC_FUNC_MALLOC
+-# TL? AC_FUNC_VPRINTF
+ # Check for library functions.
+ AC_FUNC_STAT
+ AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale])
+@@ -185,14 +179,17 @@
+ 
+ # TL: skip ttfautohint?
+ 
+-# Add option to enable linking of bundled libraries (brotli, woff2, xxhash).
++# Add option to enable linking of bundled libraries (brotli, potrace, woff2, xxhash).
+ AC_ARG_ENABLE([bundled-libs],
+ 	[AS_HELP_STRING([--enable-bundled-libs], [use bundled libraries instead of the system ones @<:@default=no@:>@])],
+ 	[use_bundled_libs=yes])
+ AM_CONDITIONAL([USE_BUNDLED_LIBS], [test "x$use_bundled_libs" = "xyes" dnl
+                                || test "x$enable_native_texlive_build" = xyes])
+-# that is, use bundled libs for native TL build.
++# that is, force using bundled libs for native TL build.
+ 
++# TL: use bundled md5 too
++AM_CONDITIONAL([USE_BUNDLED_MD5], true)
++
+ # TL: not going to build_manpage (which is the default).
+ # TL: not going to attempt code coverage; need to subst it away.
+ AM_CONDITIONAL([CODE_COVERAGE_ENABLED], false)
+@@ -210,6 +207,7 @@
+ 	dvisvgm-src/libs/brotli/Makefile
+ 	dvisvgm-src/libs/clipper/Makefile
+ 	dvisvgm-src/libs/ff-woff/Makefile
++	dvisvgm-src/libs/md5/Makefile
+ 	dvisvgm-src/libs/potrace/Makefile
+ 	dvisvgm-src/libs/variant/Makefile
+ 	dvisvgm-src/libs/woff2/Makefile
+diff -u1r dvisvgm-2.6/Makefile.am dvisvgm-src/Makefile.am
+--- dvisvgm-2.6/Makefile.am	2018-07-31 07:51:05.000000000 -0700
++++ dvisvgm-src/Makefile.am	2018-09-11 08:17:11.309982883 -0700
 @@ -7,3 +7,3 @@
  EXTRA_DIST = COPYING
 -SUBDIRS = libs src tests doc
 +SUBDIRS = libs src #not for TL: tests doc
  ACLOCAL_AMFLAGS = -I m4
-diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am
---- dvisvgm-2.5/src/Makefile.am	2018-07-31 07:53:41.000000000 -0700
-+++ dvisvgm-src/src/Makefile.am	2018-08-27 16:28:25.615599693 -0700
+diff -u1r dvisvgm-2.6/src/Makefile.am dvisvgm-src/src/Makefile.am
+--- dvisvgm-2.6/src/Makefile.am	2018-09-08 00:57:37.000000000 -0700
++++ dvisvgm-src/src/Makefile.am	2018-09-13 10:00:48.798891259 -0700
 @@ -14,6 +14,3 @@
  	$(noinst_LIBRARIES) \
 -	../libs/clipper/libclipper.a \
@@ -17,7 +81,7 @@
 -	$(ZLIB_LIBS)
 +	../libs/clipper/libclipper.a
  
-@@ -43,3 +40,11 @@
+@@ -49,3 +46,11 @@
  
 +dvisvgm_LDADD += \
 +	$(KPATHSEA_LIBS) \
@@ -29,7 +93,7 @@
  dvisvgm_DEPENDENCIES = $(noinst_LIBRARIES)
 +dvisvgm_DEPENDENCIES += $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) $(FREETYPE2_DEPEND)
  
-@@ -263,18 +268,16 @@
+@@ -273,18 +278,16 @@
  
 -AM_CFLAGS = -Wall \
 -	$(ZLIB_CFLAGS) \
@@ -57,7 +121,7 @@
 +	-I$(dvisvgm_srcdir)/libs/potrace \
 +	-I$(dvisvgm_srcdir)/libs/xxHash
  else
-@@ -291,4 +294,4 @@
+@@ -301,4 +304,4 @@
  AM_CFLAGS +=  \
 -	-I$(top_srcdir)/libs/ff-woff/fontforge \
 -	-I$(top_srcdir)/libs/ff-woff/inc
@@ -64,7 +128,7 @@
 +	-I$(dvisvgm_srcdir)/libs/ff-woff/fontforge \
 +	-I$(dvisvgm_srcdir)/libs/ff-woff/inc
  
-@@ -298,4 +301,4 @@
+@@ -308,4 +311,4 @@
  AM_CXXFLAGS +=  \
 -	-I$(top_srcdir)/libs/brotli/include \
 -	-I$(top_srcdir)/libs/woff2/include
@@ -71,7 +135,12 @@
 +	-I$(dvisvgm_srcdir)/libs/brotli/include \
 +	-I$(dvisvgm_srcdir)/libs/woff2/include
  else
-@@ -309,3 +312,16 @@
+@@ -317,3 +320,3 @@
+ if USE_BUNDLED_MD5
+-AM_CXXFLAGS += -I$(top_srcdir)/libs/md5
++AM_CXXFLAGS += -I$(dvisvgm_srcdir)/libs/md5
+ else
+@@ -326,3 +329,16 @@
  
 +AM_CXXFLAGS += \
 +	$(KPATHSEA_INCLUDES) \
@@ -88,11 +157,11 @@
 +if ! TEXLIVE_BUILD
 +# TL: do not try to rebuild these source files.
  # the command-line parser class is generated from options.xml by opt2cpp
-@@ -322,2 +338,3 @@
+@@ -339,2 +355,3 @@
  psdefs.ps: ;
 +endif ! TEXLIVE_BUILD
  
-@@ -326 +343,8 @@
+@@ -343 +360,8 @@
  CLEANFILES = *.gcda *.gcno
 +
 +## Rebuild libkpathsea
@@ -101,3 +170,32 @@
 + at FREETYPE2_RULE@
 +## Rebuild libz
 + at ZLIB_RULE@
+diff -u1r dvisvgm-2.6/src/XXHashFunction.hpp dvisvgm-src/src/XXHashFunction.hpp
+--- dvisvgm-2.6/src/XXHashFunction.hpp	2018-09-08 00:57:37.000000000 -0700
++++ dvisvgm-src/src/XXHashFunction.hpp	2018-09-13 09:16:09.902914484 -0700
+@@ -34,7 +34,7 @@
+ 	using State = XXH32_state_t;
+-	static constexpr auto createState = XXH32_createState;
+-	static constexpr auto freeState = XXH32_freeState;
+-	static constexpr auto reset = XXH32_reset;
+-	static constexpr auto update = XXH32_update;
+-	static constexpr auto digest = XXH32_digest;
++	static constexpr auto createState = &XXH32_createState;
++	static constexpr auto freeState = &XXH32_freeState;
++	static constexpr auto reset = &XXH32_reset;
++	static constexpr auto update = &XXH32_update;
++	static constexpr auto digest = &XXH32_digest;
+ };
+@@ -44,7 +44,7 @@
+ 	using State = XXH64_state_t;
+-	static constexpr auto createState = XXH64_createState;
+-	static constexpr auto freeState = XXH64_freeState;
+-	static constexpr auto reset = XXH64_reset;
+-	static constexpr auto update = XXH64_update;
+-	static constexpr auto digest = XXH64_digest;
++	static constexpr auto createState = &XXH64_createState;
++	static constexpr auto freeState = &XXH64_freeState;
++	static constexpr auto reset = &XXH64_reset;
++	static constexpr auto update = &XXH64_update;
++	static constexpr auto digest = &XXH64_digest;
+ };

Modified: trunk/Build/source/texk/dvisvgm/configure
===================================================================
--- trunk/Build/source/texk/dvisvgm/configure	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/configure	2018-09-13 17:10:25 UTC (rev 48654)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvisvgm (TeX Live) 2.5.
+# Generated by GNU Autoconf 2.69 for dvisvgm (TeX Live) 2.6.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='dvisvgm (TeX Live)'
 PACKAGE_TARNAME='dvisvgm--tex-live-'
-PACKAGE_VERSION='2.5'
-PACKAGE_STRING='dvisvgm (TeX Live) 2.5'
+PACKAGE_VERSION='2.6'
+PACKAGE_STRING='dvisvgm (TeX Live) 2.6'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -632,6 +632,7 @@
 # include <unistd.h>
 #endif"
 
+ac_header_list=
 ac_func_list=
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
@@ -643,6 +644,8 @@
 CODE_COVERAGE_RULES
 CODE_COVERAGE_ENABLED_FALSE
 CODE_COVERAGE_ENABLED_TRUE
+USE_BUNDLED_MD5_FALSE
+USE_BUNDLED_MD5_TRUE
 USE_BUNDLED_LIBS_FALSE
 USE_BUNDLED_LIBS_TRUE
 ENABLE_WOFF_FALSE
@@ -1375,7 +1378,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 dvisvgm (TeX Live) 2.5 to adapt to many kinds of systems.
+\`configure' configures dvisvgm (TeX Live) 2.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1446,7 +1449,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.5:";;
+     short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1578,7 +1581,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dvisvgm (TeX Live) configure 2.5
+dvisvgm (TeX Live) configure 2.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2446,7 +2449,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dvisvgm (TeX Live) $as_me 2.5, which was
+It was created by dvisvgm (TeX Live) $as_me 2.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2726,6 +2729,11 @@
   >$cache_file
 fi
 
+as_fn_append ac_header_list " libintl.h"
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " string.h"
+as_fn_append ac_header_list " strings.h"
+as_fn_append ac_header_list " unistd.h"
 as_fn_append ac_func_list " ftime"
 as_fn_append ac_func_list " gettimeofday"
 as_fn_append ac_func_list " sigaction"
@@ -2799,7 +2807,7 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-DATE="August 2018"
+DATE="September 2018"
 
 ac_config_headers="$ac_config_headers config.h"
 
@@ -8191,7 +8199,7 @@
 
 # Define the identity of the package.
  PACKAGE='dvisvgm--tex-live-'
- VERSION='2.5'
+ VERSION='2.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -20190,7 +20198,7 @@
 Report bugs to <bug-libtool at gnu.org>."
 
 lt_cl_version="\
-dvisvgm (TeX Live) config.lt 2.5
+dvisvgm (TeX Live) config.lt 2.6
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -22378,10 +22386,14 @@
 
 fi
 
-for ac_header in libintl.h stdlib.h string.h strings.h unistd.h
+
+
+
+  for ac_header in $ac_header_list
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -22392,6 +22404,17 @@
 done
 
 
+
+
+
+
+
+
+
+
+
+
+
 # Check for typedefs, structures, and compiler characteristics.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
@@ -22532,13 +22555,7 @@
 
 fi
 
-# TL? AC_C_CONST
-# TL? AC_C_INLINE
 
-# TL? AC_FUNC_CLOSEDIR_VOID
-# TL? AC_FUNC_ERROR_AT_LINE
-# TL? AC_FUNC_MALLOC
-# TL? AC_FUNC_VPRINTF
 # Check for library functions.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
@@ -22709,7 +22726,7 @@
 
 # TL: skip ttfautohint?
 
-# Add option to enable linking of bundled libraries (brotli, woff2, xxhash).
+# Add option to enable linking of bundled libraries (brotli, potrace, woff2, xxhash).
 # Check whether --enable-bundled-libs was given.
 if test "${enable_bundled_libs+set}" = set; then :
   enableval=$enable_bundled_libs; use_bundled_libs=yes
@@ -22723,8 +22740,18 @@
   USE_BUNDLED_LIBS_FALSE=
 fi
 
-# that is, use bundled libs for native TL build.
+# that is, force using bundled libs for native TL build.
 
+# TL: use bundled md5 too
+ if true; then
+  USE_BUNDLED_MD5_TRUE=
+  USE_BUNDLED_MD5_FALSE='#'
+else
+  USE_BUNDLED_MD5_TRUE='#'
+  USE_BUNDLED_MD5_FALSE=
+fi
+
+
 # TL: not going to build_manpage (which is the default).
 # TL: not going to attempt code coverage; need to subst it away.
  if false; then
@@ -22744,7 +22771,7 @@
 
 
 
-ac_config_files="$ac_config_files Makefile dvisvgm-src/Makefile dvisvgm-src/libs/Makefile dvisvgm-src/libs/brotli/Makefile dvisvgm-src/libs/clipper/Makefile dvisvgm-src/libs/ff-woff/Makefile dvisvgm-src/libs/potrace/Makefile dvisvgm-src/libs/variant/Makefile dvisvgm-src/libs/woff2/Makefile dvisvgm-src/libs/xxHash/Makefile dvisvgm-src/src/Makefile dvisvgm-src/src/version.hpp"
+ac_config_files="$ac_config_files Makefile dvisvgm-src/Makefile dvisvgm-src/libs/Makefile dvisvgm-src/libs/brotli/Makefile dvisvgm-src/libs/clipper/Makefile dvisvgm-src/libs/ff-woff/Makefile dvisvgm-src/libs/md5/Makefile dvisvgm-src/libs/potrace/Makefile dvisvgm-src/libs/variant/Makefile dvisvgm-src/libs/woff2/Makefile dvisvgm-src/libs/xxHash/Makefile dvisvgm-src/src/Makefile dvisvgm-src/src/version.hpp"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -22902,6 +22929,10 @@
   as_fn_error $? "conditional \"USE_BUNDLED_LIBS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_BUNDLED_MD5_TRUE}" && test -z "${USE_BUNDLED_MD5_FALSE}"; then
+  as_fn_error $? "conditional \"USE_BUNDLED_MD5\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then
   as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23303,7 +23334,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dvisvgm (TeX Live) $as_me 2.5, which was
+This file was extended by dvisvgm (TeX Live) $as_me 2.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23369,7 +23400,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-dvisvgm (TeX Live) config.status 2.5
+dvisvgm (TeX Live) config.status 2.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -23893,6 +23924,7 @@
     "dvisvgm-src/libs/brotli/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/brotli/Makefile" ;;
     "dvisvgm-src/libs/clipper/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/clipper/Makefile" ;;
     "dvisvgm-src/libs/ff-woff/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/ff-woff/Makefile" ;;
+    "dvisvgm-src/libs/md5/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/md5/Makefile" ;;
     "dvisvgm-src/libs/potrace/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/potrace/Makefile" ;;
     "dvisvgm-src/libs/variant/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/variant/Makefile" ;;
     "dvisvgm-src/libs/woff2/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/woff2/Makefile" ;;

Modified: trunk/Build/source/texk/dvisvgm/configure.ac
===================================================================
--- trunk/Build/source/texk/dvisvgm/configure.ac	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/configure.ac	2018-09-13 17:10:25 UTC (rev 48654)
@@ -15,7 +15,7 @@
 AC_PREREQ([2.65])
 m4_include([version.ac])[] dnl define dvisvgm_version
 AC_INIT([dvisvgm (TeX Live)], dvisvgm_version, [tex-k at tug.org])
-DATE="August 2018"
+DATE="September 2018"
 AC_CONFIG_SRCDIR([dvisvgm-src/src/dvisvgm.cpp])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIRS([../../m4])dnl not just _DIR
@@ -152,19 +152,13 @@
 # Check for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
-AC_CHECK_HEADERS([libintl.h stdlib.h string.h strings.h unistd.h])
+AC_CHECK_HEADERS_ONCE([libintl.h stdlib.h string.h strings.h unistd.h])
 
 # Check for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL
 AC_TYPE_SIZE_T
 AC_STRUCT_TM
-# TL? AC_C_CONST
-# TL? AC_C_INLINE
 
-# TL? AC_FUNC_CLOSEDIR_VOID
-# TL? AC_FUNC_ERROR_AT_LINE
-# TL? AC_FUNC_MALLOC
-# TL? AC_FUNC_VPRINTF
 # Check for library functions.
 AC_FUNC_STAT
 AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale])
@@ -185,14 +179,17 @@
 
 # TL: skip ttfautohint?
 
-# Add option to enable linking of bundled libraries (brotli, woff2, xxhash).
+# Add option to enable linking of bundled libraries (brotli, potrace, woff2, xxhash).
 AC_ARG_ENABLE([bundled-libs],
 	[AS_HELP_STRING([--enable-bundled-libs], [use bundled libraries instead of the system ones @<:@default=no@:>@])],
 	[use_bundled_libs=yes])
 AM_CONDITIONAL([USE_BUNDLED_LIBS], [test "x$use_bundled_libs" = "xyes" dnl
                                || test "x$enable_native_texlive_build" = xyes])
-# that is, use bundled libs for native TL build.
+# that is, force using bundled libs for native TL build.
 
+# TL: use bundled md5 too
+AM_CONDITIONAL([USE_BUNDLED_MD5], true)
+
 # TL: not going to build_manpage (which is the default).
 # TL: not going to attempt code coverage; need to subst it away.
 AM_CONDITIONAL([CODE_COVERAGE_ENABLED], false)
@@ -210,6 +207,7 @@
 	dvisvgm-src/libs/brotli/Makefile
 	dvisvgm-src/libs/clipper/Makefile
 	dvisvgm-src/libs/ff-woff/Makefile
+	dvisvgm-src/libs/md5/Makefile
 	dvisvgm-src/libs/potrace/Makefile
 	dvisvgm-src/libs/variant/Makefile
 	dvisvgm-src/libs/woff2/Makefile

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS	2018-09-13 17:10:25 UTC (rev 48654)
@@ -19,6 +19,9 @@
 	libs/variant/include/mpark/*
 	https://github.com/mpark/variant
 
+Alexander Peslyak
+	libs/md5/*
+
 Peter Selinger
 	libs/potrace/*
 	http://potrace.sourceforge.net

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,8159 @@
+2018-09-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Ghostscript.cpp: 
+  call RegGetValueA() with correct buffer size 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.6 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-09-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/dvisvgm.cpp: 
+  use enums for hash parameters rather than strings 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/DVIToSVG.hpp: 
+  added optional parameter 'replace' to --page-hashes 
+
+2018-09-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIToSVG.cpp: 
+  reset hash function before computing a page hash 
+
+2018-09-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/clipper/clipper.cpp: 
+  clipper: initialize TEdge by constructor instead of memset() 
+
+2018-09-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac: 
+  removed redundant check for potrace from configure 
+
+2018-08-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/variant/include/mpark/config.hpp: 
+  VC: fixed failing compilation of 
+  mpark::variant
+https://github.com/mpark/variant/commit/4e3e7f88f03f513622daa973 
+
+2018-08-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml: 
+  AppVeyor: use VS 2017 version 15.7 instead of 15.8
+Version 15.8 of 
+  Visual Studio 2017 introduced a compiler bug that prevents
+compiling 
+  mpark::variant (https://github.com/mpark/variant/issues/48). 
+
+2018-08-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XXHashFunction.hpp, src/dvisvgm.cpp: 
+  use wrapper class to get the xxhash version number 
+
+  * src/HashFunction.cpp, src/HashFunction.hpp, src/MD5HashFunction.hpp, 
+    src/XXHashFunction.hpp, tests/HashFunctionTest.cpp: 
+  added extended create functions to hash classes 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/DVIToSVG.cpp, 
+    src/DVIToSVG.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp, src/dvisvgm.cpp, 
+    src/options.xml, tests/SVGOutputTest.cpp: 
+  replaced pattern variable %h with %hd; added %ho and %hc
+In order to 
+  recognize changes in the command-line options that may affect the
+SVG 
+  output, %ho and %hc have been introduced. The former expands to a 
+  32-bit
+hash reflecting the command-line options, the latter combines this 
+  information
+with the hash computed from the DVI page data. 
+
+2018-08-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/dvisvgm.cpp: 
+  option --page-hashes accepts multiple modifiers now 
+
+2018-08-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/DVIToSVG.hpp, 
+    src/HashFunction.cpp, src/HashFunction.hpp, src/SVGOutput.hpp, 
+    src/dvisvgm.cpp, tests/CommandLineTest.cpp: 
+  added optional parameter 'list' to option --page-hashes 
+
+  * src/dvisvgm.cpp: 
+  fixed wrong directory separators shown in output of --cache 
+
+2018-08-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/DVIToSVG.hpp, 
+    src/dvisvgm.cpp, src/options.xml: 
+  added command-line option --page-hashes to enable hashing functionality 
+
+2018-08-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * AUTHORS, README, README.md, configure.ac, libs/Makefile.am, 
+    libs/md5/Makefile.am, libs/md5/md5.c, libs/md5/md5.h, 
+    src/HashFunction.cpp, src/HashFunction.hpp, src/MD5HashFunction.hpp, 
+    src/Makefile.am, src/XXHashFunction.hpp, tests/HashFunctionTest.cpp, 
+    tests/Makefile.am, tests/create-makefile: 
+  added classes to compute MD5, XXH32, and XXH64 hash values 
+
+  * src/BasicDVIReader.hpp, src/DVIReader.cpp: 
+  added validity checks for bop offsets 
+
+  * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp, 
+    src/DVIToSVG.hpp, src/HashFunction.cpp, src/HashFunction.hpp, 
+    src/SVGOutput.cpp, src/SVGOutput.hpp: 
+  added optional computation and evaluation of page hashes
+If this 
+  functionality is enabled, a hash value based on the contents of 
+  the
+corresponding DVI page is added to the SVG file names. Furthermore, 
+  dvisvgm
+skips the conversion of these pages in subsequent calls if the 
+  resulting SVG
+files already exist. 
+
+2018-08-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp: 
+  DVI postamble: relaxed plausibility check of the total page count 
+
+2018-08-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac: 
+  correctly evaluate config option --disable-bundled-libs (closes #91) 
+
+2018-08-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.hpp, src/DVIToSVG.cpp, src/DVIToSVG.hpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.hpp, 
+    src/PsSpecialHandler.cpp: 
+  getPageTransformation: replaced reference parameter with return value 
+
+  * src/DVIToSVGActions.hpp, src/ImageToSVG.hpp, src/PsSpecialHandler.cpp, 
+    src/SpecialActions.hpp: 
+  renamed getPageTransform; return unity matrix by default 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.5 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-08-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, src/FilePath.cpp, src/FilePath.hpp, 
+    src/Ghostscript.cpp: 
+  TL32: also look for gsdll32.dll in the corresponding TL bin folder
+The 
+  changes are based on a patch sent by Akira Kakuto. 
+
+2018-08-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README: 
+  updated README 
+
+  * .appveyor.yml, .travis.yml: 
+  updated CI configurations; dropped potrace as an external dependency 
+
+  * configure.ac, src/SourceInput.cpp: 
+  set umask before calling mkstemp()
+Coverity complains about calling 
+  mkstemp() without securely setting umask first.
+If umask() is available, 
+  it's now called so that the permissions of temporary
+files result to 
+  0600. 
+
+  * src/BoundingBox.cpp: 
+  show lock state when printing a bounding box object 
+
+  * src/DVIToSVG.cpp: 
+  apply user transformations even if the bounding box is locked 
+
+2018-07-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/ImageToSVG.cpp, src/ImageToSVG.hpp, src/dvisvgm.cpp: 
+  apply --transform commands in --eps and --pdf mode too 
+
+  * src/DVIToSVG.cpp, src/Length.cpp, src/Length.hpp, tests/LengthTest.cpp: 
+  added function to retrieve all units supported by the Length class 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/ImageToSVG.cpp, 
+    tests/CalculatorTest.cpp: 
+  allow to use all supported units in --transform commands 
+
+  * Makefile.am: 
+  propagate --enable-bundled-libs to "distcheck" 
+
+  * AUTHORS, README.md, configure.ac, libs/Makefile.am, 
+    libs/potrace/CMakeLists.txt, libs/potrace/Makefile.am, 
+    libs/potrace/auxiliary.h, libs/potrace/bitmap.h, libs/potrace/config.h, 
+    libs/potrace/curve.c, libs/potrace/curve.h, libs/potrace/decompose.c, 
+    libs/potrace/decompose.h, libs/potrace/lists.h, 
+    libs/potrace/potracelib.c, libs/potrace/potracelib.h, 
+    libs/potrace/progress.h, libs/potrace/trace.c, libs/potrace/trace.h, 
+    src/Makefile.am: 
+  added potrace to the bundled libraries again 
+
+  * tests/Makefile.am, tests/create-makefile: 
+  link tests only against bundled libs if configured with 
+  --enable-bundled-libs 
+
+  * src/ImageToSVG.cpp: 
+  changed type of exception thrown in case of invalid EPS/PDF files 
+
+2018-07-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  replaced internal PS operator @getpdfpagebox with PSInterpreter method 
+
+2018-07-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/dvisvgm.cpp: 
+  removed redundant code from main() 
+
+  * README.md, doc/dvisvgm.txt.in, src/EPSToSVG.hpp, src/ImageToSVG.cpp, 
+    src/ImageToSVG.hpp, src/PDFToSVG.hpp, src/PSInterpreter.cpp, 
+    src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/dvisvgm.cpp, src/psdefs.cpp: 
+  PDF conversion: allow to specify the pages to process 
+
+2018-07-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, README.md, configure.ac, libs/brotli/Makefile.am, 
+    libs/woff2/Makefile.am, libs/xxHash/Makefile.am, src/Makefile.am, 
+    src/dvisvgm.cpp: 
+  added config option --enable-bundled-libs
+If this option is given, the 
+  bundled libraries brotli, woff2, and xxhash are
+built and statically 
+  linked. Otherwise, the configure script looks for the
+corresponing system 
+  libraries and links dvisvgm against those. (closes #90) 
+
+2018-07-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS: 
+  fixed date in NEWS 
+
+2018-07-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, doc/Makefile.am: 
+  don't try to build manpage if required tools are missing 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.4.2 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-07-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/HyperlinkManager.cpp: 
+  reduced extent of hyperlinked areas to get a tight bbox 
+
+2018-07-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  use unique_ptr in bbox debug code 
+
+  * src/PSPreviewFilter.cpp, src/PSPreviewFilter.hpp: 
+  removed redundant method PSPreviewFilter::getBorders() 
+
+  * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: 
+  fixed computation of preview extents (closes #89) 
+
+  * src/PsSpecialHandler.cpp: 
+  prevent warning about missing psfile "/dev/null" 
+
+2018-07-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS: 
+  updated NEWS 
+
+  * .gitattributes: 
+  added linguist settings to 
+  .gitattributes
+
+https://github.com/github/linguist 
+
+2018-07-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/brotli/Makefile.am, libs/brotli/common/dictionary.c, 
+    libs/brotli/common/platform.h, libs/brotli/common/transform.c, 
+    libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, 
+    libs/brotli/enc/brotli_bit_stream.h, libs/brotli/enc/command.h, 
+    libs/brotli/enc/compress_fragment.c, 
+    libs/brotli/enc/compress_fragment_two_pass.c, libs/brotli/enc/encode.c, 
+    libs/brotli/enc/encoder_dict.h, libs/brotli/enc/fast_log.h, 
+    libs/brotli/enc/hash.h, libs/brotli/enc/hash_composite_inc.h, 
+    libs/brotli/enc/hash_rolling_inc.h, libs/brotli/enc/quality.h, 
+    libs/brotli/enc/static_dict.c, libs/brotli/enc/write_bits.h, 
+    libs/brotli/include/brotli/port.h, libs/brotli/include/brotli/types.h: 
+  updated brotli to version 1.0.5 
+
+  * README, README.md, doc/dvisvgm.txt.in, libs/ff-woff/README.md: 
+  updated links to new project website dvisvgm.de 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.4.1 
+
+2018-07-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  manpage: updated external links 
+
+2018-06-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/include/woff2/version.h, libs/woff2/src/font.cc, 
+    libs/woff2/src/normalize.cc, libs/woff2/src/woff2_enc.cc: 
+  updated woff2 to 1.0.2 
+
+2018-06-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/SourceInput.cpp, src/SourceInput.hpp: 
+  moved handling of temporary files to separate class 
+
+2018-05-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.cpp, src/ImageToSVG.cpp: 
+  fixed evaluation of progress delay 
+
+2018-05-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  minor fixes in manpage 
+
+2018-05-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/conf-dblatex-pdf.xsl: 
+  list options and specials in PDF bookmarks of manpage 
+
+  * doc/dvisvgm.txt.in: 
+  manpage: ordered options alphabetically according to long name 
+
+2018-05-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README, README.md: 
+  updated NEWS and README 
+
+2018-05-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Calculator.cpp: 
+  catch exception by reference rather than by value 
+
+2018-04-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/EPSFile.cpp, src/EPSFile.hpp, src/EPSToSVG.cpp: 
+  changed signature of EPSFile::bbox() 
+
+  * src/CLCommandLine.cpp: 
+  cmdline: fixed handling of 'usage' section 
+
+  * src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/ImageToSVG.cpp, 
+    src/ImageToSVG.hpp, src/Makefile.am: 
+  derive EPSToSVG from abstract class ImageToSVG 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/Makefile.am, 
+    src/PDFToSVG.hpp, src/PSInterpreter.cpp, src/PSInterpreter.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/dvisvgm.cpp, 
+    src/options.xml, src/psdefs.cpp, tests/CommandLineTest.cpp, 
+    tests/PSInterpreterTest.cpp: 
+  added option --pdf to convert PDF files to SVG 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.4 
+
+2018-04-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BoundingBox.cpp: 
+  swap wrongly assigned variables (doesn't affect behavior) 
+
+2018-04-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  psfile: use operator 'run' to simplify execution of (E)PS files 
+
+  * src/PSInterpreter.cpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  added special pdffile to embed PDF graphics 
+
+  * src/PsSpecialHandler.cpp: 
+  apply outer transformations to psfile/pdffile graphics 
+
+2018-04-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Ghostscript.cpp, src/Ghostscript.hpp, src/dvisvgm.cpp, 
+    tests/GhostscriptTest.cpp: 
+  added function to get numeric GS revision 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.hpp: 
+  moved GS init options to init method 
+
+  * src/PsSpecialHandler.cpp: 
+  replaced str2double() with stod(); added check for zero bbox 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, 
+    src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, 
+    src/SpecialHandler.hpp, src/SpecialManager.cpp, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, 
+    tests/ColorSpecialTest.cpp, tests/DvisvgmSpecialTest.cpp, 
+    tests/PapersizeSpecialTest.cpp, tests/TpicSpecialTest.cpp: 
+  changed type of \special prefix from const char* to string 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, 
+    src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, 
+    src/SpecialHandler.hpp, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.hpp: 
+  removed const from result vector of SpecialHandler::prefixes() 
+
+2018-04-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: 
+  updated xxHash to version 0.6.5 
+
+  * src/psdefs.cpp: 
+  fixed handling of PS operator 'setgstate' 
+
+2018-04-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * m4/ax_cxx_compile_stdcxx.m4: 
+  updated ax_cxx_compile_stdcxx.m4 to version 8 
+
+2018-04-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.hpp, src/DvisvgmSpecialHandler.hpp, 
+    src/EmSpecialHandler.hpp, src/HtmlSpecialHandler.hpp, 
+    src/NoPsSpecialHandler.hpp, src/PapersizeSpecialHandler.hpp, 
+    src/PdfSpecialHandler.hpp, src/PsSpecialHandler.hpp, 
+    src/SpecialHandler.hpp, src/SpecialManager.cpp, src/SpecialManager.hpp, 
+    src/TpicSpecialHandler.hpp: 
+  merged listener methods into SpecialHandler class 
+
+  * src/CommandLine.hpp: 
+  made opt2cpp compatible with Python 3 
+
+2018-04-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/brotli/Makefile.am, libs/brotli/common/constants.h, 
+    libs/brotli/common/platform.h, libs/brotli/common/version.h, 
+    libs/brotli/enc/backward_references.c, 
+    libs/brotli/enc/backward_references_hq.c, libs/brotli/enc/command.h, 
+    libs/brotli/enc/context.h, libs/brotli/enc/encode.c, 
+    libs/brotli/enc/memory.h, libs/brotli/enc/metablock.c, 
+    libs/brotli/enc/metablock.h, libs/brotli/enc/params.h, 
+    libs/brotli/enc/port.h, libs/brotli/enc/quality.h, 
+    libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, 
+    libs/brotli/include/brotli/encode.h: 
+  updated brotli to version 1.0.4 
+
+2018-03-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/SVGOutput.cpp, src/ZLibOutputStream.hpp, 
+    src/dvisvgm.cpp: 
+  enabled to output compressed SVG data to stdout 
+
+  * src/dvisvgm.cpp: 
+  renamed SourceInput variable 
+
+2018-03-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/dvisvgm.cpp: 
+  simplified main() function 
+
+2018-03-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/CLCommandLine.cpp, src/CLCommandLine.hpp, 
+    src/CommandLine.hpp, src/EPSFile.cpp, src/EPSFile.hpp, src/EPSToSVG.cpp, 
+    src/EPSToSVG.hpp, src/FileSystem.cpp, src/Makefile.am, 
+    src/PsSpecialHandler.cpp, src/SVGOutput.cpp, src/SVGOutput.hpp, 
+    src/SourceInput.cpp, src/SourceInput.hpp, src/dvisvgm.cpp, 
+    src/options.xml, tests/CommandLineTest.cpp, tests/SVGOutputTest.cpp: 
+  added option to read DVI/EPS input from stdin (closes #86) 
+
+2018-03-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  PS handler: added processing of .setshapealpha and .setblendmode 
+
+2018-03-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Matrix.cpp, src/Matrix.hpp, tests/MatrixTest.cpp: 
+  added initlist constructor to class Matrix 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  psfile special: added evaluation of operator 'setpagedevice' 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3.5 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-03-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  added missing PS header required to evaluate color names 
+
+  * src/PSInterpreter.cpp, src/psdefs.cpp: 
+  drop GS option -dSAFER to stay compatible with GS 9.23 
+
+2018-03-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3.4 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-03-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/data/Makefile.am: 
+  add required test file cmr10.pfb to source tarballs (closes #87) 
+
+2018-03-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/EmSpecialHandler.hpp, src/XMLDocument.hpp, src/dvisvgm.cpp: 
+  replaced memory-inefficient lists with vectors 
+
+  * src/XMLNode.cpp, src/XMLNode.hpp: 
+  replaced lists of XML element pointers with deques 
+
+  * src/CLCommandLine.cpp: 
+  fixed message printed if command-line contains an isolated '-' 
+
+2018-03-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/brotli/Makefile.am, libs/brotli/common/constants.h, 
+    libs/brotli/common/context.h, libs/brotli/common/dictionary.h, 
+    libs/brotli/common/platform.h, libs/brotli/common/transform.h, 
+    libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, 
+    libs/brotli/enc/backward_references.h, 
+    libs/brotli/enc/backward_references_hq.c, 
+    libs/brotli/enc/backward_references_hq.h, 
+    libs/brotli/enc/backward_references_inc.h, libs/brotli/enc/bit_cost.c, 
+    libs/brotli/enc/bit_cost.h, libs/brotli/enc/block_encoder_inc.h, 
+    libs/brotli/enc/block_splitter.c, libs/brotli/enc/block_splitter.h, 
+    libs/brotli/enc/block_splitter_inc.h, 
+    libs/brotli/enc/brotli_bit_stream.c, libs/brotli/enc/brotli_bit_stream.h, 
+    libs/brotli/enc/cluster.c, libs/brotli/enc/cluster.h, 
+    libs/brotli/enc/command.h, libs/brotli/enc/compress_fragment.c, 
+    libs/brotli/enc/compress_fragment.h, 
+    libs/brotli/enc/compress_fragment_two_pass.c, 
+    libs/brotli/enc/compress_fragment_two_pass.h, 
+    libs/brotli/enc/dictionary_hash.c, libs/brotli/enc/encode.c, 
+    libs/brotli/enc/encoder_dict.c, libs/brotli/enc/encoder_dict.h, 
+    libs/brotli/enc/entropy_encode.c, libs/brotli/enc/entropy_encode.h, 
+    libs/brotli/enc/entropy_encode_static.h, libs/brotli/enc/fast_log.h, 
+    libs/brotli/enc/find_match_length.h, libs/brotli/enc/hash.h, 
+    libs/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/brotli/enc/hash_longest_match64_inc.h, 
+    libs/brotli/enc/hash_longest_match_inc.h, 
+    libs/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/brotli/enc/hash_to_binary_tree_inc.h, libs/brotli/enc/histogram.c, 
+    libs/brotli/enc/histogram.h, libs/brotli/enc/histogram_inc.h, 
+    libs/brotli/enc/literal_cost.c, libs/brotli/enc/literal_cost.h, 
+    libs/brotli/enc/memory.c, libs/brotli/enc/memory.h, 
+    libs/brotli/enc/metablock.c, libs/brotli/enc/metablock.h, 
+    libs/brotli/enc/metablock_inc.h, libs/brotli/enc/params.h, 
+    libs/brotli/enc/prefix.h, libs/brotli/enc/quality.h, 
+    libs/brotli/enc/ringbuffer.h, libs/brotli/enc/static_dict.c, 
+    libs/brotli/enc/static_dict.h, libs/brotli/enc/static_dict_lut.h, 
+    libs/brotli/enc/utf8_util.c, libs/brotli/enc/utf8_util.h, 
+    libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, 
+    libs/brotli/include/brotli/encode.h, libs/brotli/include/brotli/port.h: 
+  updated brotli to version 1.0.3 
+
+2018-02-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  minor changes of the manpage 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3.3 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-02-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp: 
+  don't remove fontmap definitions before processing pdf:mapXXX specials 
+
+  * src/FontEngine.cpp: 
+  prevent creating string from nullptr 
+
+2018-02-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileSystem.cpp, src/FontCache.cpp, src/FontMap.cpp, 
+    src/GFGlyphTracer.cpp, src/MetafontWrapper.cpp, src/PsSpecialHandler.cpp, 
+    src/utility.cpp, tests/DVIReaderTest.cpp, tests/GFReaderTest.cpp, 
+    tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: 
+  removed calls of c_str() redundant since C++11 
+
+  * src/StreamReader.cpp: 
+  replaced c_str() with data() in StreamReader 
+
+2018-02-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3.2 
+
+  * src/TpicSpecialHandler.cpp: 
+  prevent potential division by 0 
+
+  * src/dvisvgm.cpp: 
+  prevent dereferencing nullptr (CACHE_PATH) 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-02-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, 
+    src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.hpp: 
+  don't update the SVG position after DVIActions::setChar()
+Otherwise, all 
+  characters get an explicit x position assigned even if it's
+already 
+  reached by applying the character's advance width. 
+
+2018-01-27  Hironobu Yamashita  <h.y.acetaminophen at gmail.com>
+
+  * src/JFM.cpp: 
+  JFM.cpp: support new JFM spec introduced in TeX Live r46452 
+
+  * src/JFM.cpp, src/JFM.hpp, tests/JFMReaderTest.cpp: 
+  adapted types to conform new JFM format 
+
+  * src/options.xml: 
+  updated year in options.xml 
+
+  * src/FileFinder.cpp, src/Process.cpp: 
+  relaxed reading from process pipe; fixed getting output of kpsewhich 
+  (Win only) 
+
+2018-01-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMap.hpp, src/RangeMap.hpp, src/ToUnicodeMap.cpp, 
+    tests/RangeMapTest.cpp, tests/ToUnicodeMapTest.cpp: 
+  renamed RangeMap::size() to RangeMap::numRanges() 
+
+2018-01-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/RangeMap.cpp, src/RangeMap.hpp: 
+  added iterator and some getters to RangeMap 
+
+2018-01-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml: 
+  AppVeyor: updated to FreeType 2.9 and ttfautohint 1.8.1 
+
+  * .appveyor.yml: 
+  AppVeyor: fixed download link of ttfautohint-dll 
+
+  * NEWS: 
+  updated NEWS 
+
+2018-01-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  manpage: reworded info about option --bbox=preview (closes #83) 
+
+2018-01-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3.1 
+
+2018-01-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMapReader.cpp, src/Directory.cpp, src/Directory.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/FileFinder.cpp, src/FileFinder.hpp, 
+    src/FilePath.cpp, src/FilePath.hpp, src/FileSystem.cpp, 
+    src/FileSystem.hpp, src/Font.cpp, src/FontCache.cpp, src/FontCache.hpp, 
+    src/FontMap.cpp, src/FontMetrics.cpp, src/FontMetrics.hpp, 
+    src/MetafontWrapper.cpp: 
+  replaced some C string parameters with C++ strings 
+
+2018-01-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, 
+    doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, 
+    doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-db-refentry.xsl, 
+    doc/tweak-dblatex-pdf.xsl, libs/Makefile.am, 
+    libs/ff-woff/fontforge/tmpfile2.cpp, src/AGLTable.hpp, 
+    src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/Bezier.cpp, 
+    src/Bezier.hpp, src/BgColorSpecialHandler.cpp, 
+    src/BgColorSpecialHandler.hpp, src/Bitmap.cpp, src/Bitmap.hpp, 
+    src/BoundingBox.cpp, src/BoundingBox.hpp, src/CLCommandLine.cpp, 
+    src/CLCommandLine.hpp, src/CLOption.hpp, src/CMap.cpp, src/CMap.hpp, 
+    src/CMapManager.cpp, src/CMapManager.hpp, src/CMapReader.cpp, 
+    src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp, src/Calculator.cpp, 
+    src/Calculator.hpp, src/CharMapID.cpp, src/CharMapID.hpp, 
+    src/Character.hpp, src/Color.cpp, src/Color.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, 
+    src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp, 
+    src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, 
+    src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp, 
+    src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp, 
+    src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp, 
+    src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp, 
+    src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp, 
+    src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp, 
+    src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp, 
+    src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp, 
+    src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp, 
+    src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp, 
+    src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp, 
+    src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp, 
+    src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp, 
+    src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.hpp, src/HyperlinkManager.cpp, 
+    src/HyperlinkManager.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp, 
+    src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp, 
+    src/Length.cpp, src/Length.hpp, src/Makefile.am, src/MapLine.cpp, 
+    src/MapLine.hpp, src/Matrix.cpp, src/Matrix.hpp, src/Message.cpp, 
+    src/Message.hpp, src/MessageException.hpp, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.hpp, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, 
+    src/NumericRanges.hpp, src/PDFParser.cpp, src/PDFParser.hpp, 
+    src/PSFilter.hpp, src/PSInterpreter.cpp, src/PSInterpreter.hpp, 
+    src/PSPattern.cpp, src/PSPattern.hpp, src/PSPreviewFilter.cpp, 
+    src/PSPreviewFilter.hpp, src/PageRanges.cpp, src/PageRanges.hpp, 
+    src/PageSize.cpp, src/PageSize.hpp, src/Pair.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PathClipper.cpp, src/PathClipper.hpp, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.hpp, src/Process.cpp, src/Process.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/RangeMap.cpp, 
+    src/RangeMap.hpp, src/SVGCharHandler.cpp, src/SVGCharHandler.hpp, 
+    src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.hpp, 
+    src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.hpp, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.hpp, 
+    src/SVGOutput.cpp, src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/SVGTree.hpp, 
+    src/ShadingPatch.cpp, src/ShadingPatch.hpp, src/SignalHandler.cpp, 
+    src/SignalHandler.hpp, src/SpecialActions.hpp, src/SpecialHandler.hpp, 
+    src/SpecialManager.cpp, src/SpecialManager.hpp, src/StreamReader.cpp, 
+    src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, 
+    src/Subfont.cpp, src/Subfont.hpp, src/System.cpp, src/System.hpp, 
+    src/TFM.cpp, src/TFM.hpp, src/TTFAutohint.cpp, src/TTFAutohint.hpp, 
+    src/TensorProductPatch.cpp, src/TensorProductPatch.hpp, src/Terminal.cpp, 
+    src/Terminal.hpp, src/ToUnicodeMap.cpp, src/ToUnicodeMap.hpp, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, 
+    src/TriangularPatch.cpp, src/TriangularPatch.hpp, src/TrueTypeFont.cpp, 
+    src/TrueTypeFont.hpp, src/Unicode.cpp, src/Unicode.hpp, 
+    src/VFActions.hpp, src/VFReader.cpp, src/VFReader.hpp, 
+    src/VectorIterator.hpp, src/VectorStream.hpp, src/XMLDocument.cpp, 
+    src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/XMLString.cpp, 
+    src/XMLString.hpp, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, 
+    src/ffwrapper.c, src/ffwrapper.h, src/macros.hpp, src/options.dtd, 
+    src/options.xml, src/psdefs.cpp, src/utility.cpp, src/utility.hpp, 
+    src/version.hpp, src/version.hpp.in, src/windows.hpp, 
+    tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, 
+    tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DVIReaderTest.cpp, 
+    tests/DependencyGraphTest.cpp, tests/DirectoryTest.cpp, 
+    tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FilePathTest.cpp, 
+    tests/FileSystemTest.cpp, tests/FontCacheTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, 
+    tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GhostscriptTest.cpp, tests/GraphicsPathTest.cpp, 
+    tests/JFMReaderTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MapLineTest.cpp, tests/MatrixTest.cpp, 
+    tests/MessageExceptionTest.cpp, tests/PDFParserTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/PapersizeSpecialTest.cpp, tests/RangeMapTest.cpp, 
+    tests/SVGOutputTest.cpp, tests/ShadingPatchTest.cpp, 
+    tests/SpecialManagerTest.cpp, tests/SplittedCharInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, 
+    tests/StreamWriterTest.cpp, tests/StringMatcherTest.cpp, 
+    tests/SubfontTest.cpp, tests/TFMReaderTest.cpp, 
+    tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/TpicSpecialTest.cpp, tests/TriangularPatchTest.cpp, 
+    tests/UnicodeTest.cpp, tests/UtilityTest.cpp, 
+    tests/VectorIteratorTest.cpp, tests/VectorStreamTest.cpp, 
+    tests/XMLNodeTest.cpp, tests/XMLStringTest.cpp, tests/check-conv, 
+    tests/create-makefile, tests/data/Makefile.am, tests/genhashcheck.py, 
+    tests/normalize.xsl, tests/testmain.cpp: 
+  updated year in copyright statements to 2018 
+
+  * src/dvisvgm.cpp: 
+  avoid potential dangling string pointer to --fontmap argument 
+
+  * src/Font.cpp: 
+  fixed char width of fonts slanted by style option (closes #82) 
+
+2017-12-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TTFAutohint.hpp: 
+  don't declare member variables of TTFAutohint if ttfautohint is not 
+  available 
+
+  * src/FontWriter.cpp: 
+  keep unhinted TTF if autohinting failed 
+
+2017-12-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml: 
+  AppVeyor: download and install ttfautohint headers 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.3 
+
+  * NEWS, README, README.md: 
+  updated README and NEWS 
+
+2017-12-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp, 
+    src/TTFAutohint.cpp: 
+  simplify function to load a symbol from a dynamic library 
+
+2017-12-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/DLLoader.cpp, src/DLLoader.hpp, src/FontWriter.cpp, 
+    src/Makefile.am, src/TTFAutohint.cpp, src/TTFAutohint.hpp, 
+    src/dvisvgm.cpp: 
+  added code to load libttfautohint dynamically at runtime 
+
+2017-12-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: 
+  updated xxHash to version 0.6.4 
+
+2017-12-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/gtest/include/gtest/gtest-param-test.h, 
+    tests/gtest/include/gtest/gtest-printers.h, 
+    tests/gtest/include/gtest/gtest-spi.h, 
+    tests/gtest/include/gtest/gtest-typed-test.h, 
+    tests/gtest/include/gtest/gtest.h, 
+    tests/gtest/include/gtest/internal/custom/gtest-port.h, 
+    tests/gtest/include/gtest/internal/custom/gtest.h, 
+    tests/gtest/include/gtest/internal/gtest-internal.h, 
+    tests/gtest/include/gtest/internal/gtest-param-util-generated.h, 
+    tests/gtest/include/gtest/internal/gtest-param-util.h, 
+    tests/gtest/include/gtest/internal/gtest-port-arch.h, 
+    tests/gtest/include/gtest/internal/gtest-port.h, 
+    tests/gtest/src/gtest-death-test.cc, 
+    tests/gtest/src/gtest-internal-inl.h, tests/gtest/src/gtest-port.cc, 
+    tests/gtest/src/gtest-printers.cc, tests/gtest/src/gtest.cc: 
+  updated gtest 
+
+2017-12-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac: 
+  configure: dropped check of outdated Ghostscript version 
+
+  * configure.ac, src/Makefile.am: 
+  configure: added --with-kpathsea to set the path of the kpathsea devel 
+  files
+closes #71 
+
+2017-12-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.cpp: 
+  psdefs: replaced '6 array' with 'matrix' 
+
+2017-12-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/Makefile.am, libs/woff2/include/woff2/file.h, 
+    src/FontWriter.cpp, src/FontWriter.hpp, src/Makefile.am, 
+    src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, 
+    src/TrueTypeFont.cpp, src/TrueTypeFont.hpp, src/ffwrapper.c, 
+    src/ffwrapper.h, src/utility.cpp, src/utility.hpp: 
+  replaced ff_sfd_to_woff() with TrueTypeFont::writeWOFF() 
+
+  * configure.ac, src/FontWriter.cpp, src/Makefile.am, src/dvisvgm.cpp: 
+  added optional support for ttfautohint 
+
+2017-12-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, libs/Makefile.am, libs/brotli/LICENSE, 
+    libs/brotli/Makefile.am, libs/brotli/common/constants.h, 
+    libs/brotli/common/dictionary.c, libs/brotli/common/dictionary.h, 
+    libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, 
+    libs/brotli/enc/backward_references.h, 
+    libs/brotli/enc/backward_references_hq.c, 
+    libs/brotli/enc/backward_references_hq.h, 
+    libs/brotli/enc/backward_references_inc.h, libs/brotli/enc/bit_cost.c, 
+    libs/brotli/enc/bit_cost.h, libs/brotli/enc/bit_cost_inc.h, 
+    libs/brotli/enc/block_encoder_inc.h, libs/brotli/enc/block_splitter.c, 
+    libs/brotli/enc/block_splitter.h, libs/brotli/enc/block_splitter_inc.h, 
+    libs/brotli/enc/brotli_bit_stream.c, libs/brotli/enc/brotli_bit_stream.h, 
+    libs/brotli/enc/cluster.c, libs/brotli/enc/cluster.h, 
+    libs/brotli/enc/cluster_inc.h, libs/brotli/enc/command.h, 
+    libs/brotli/enc/compress_fragment.c, libs/brotli/enc/compress_fragment.h, 
+    libs/brotli/enc/compress_fragment_two_pass.c, 
+    libs/brotli/enc/compress_fragment_two_pass.h, libs/brotli/enc/context.h, 
+    libs/brotli/enc/dictionary_hash.c, libs/brotli/enc/dictionary_hash.h, 
+    libs/brotli/enc/encode.c, libs/brotli/enc/entropy_encode.c, 
+    libs/brotli/enc/entropy_encode.h, 
+    libs/brotli/enc/entropy_encode_static.h, libs/brotli/enc/fast_log.h, 
+    libs/brotli/enc/find_match_length.h, libs/brotli/enc/hash.h, 
+    libs/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/brotli/enc/hash_longest_match64_inc.h, 
+    libs/brotli/enc/hash_longest_match_inc.h, 
+    libs/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/brotli/enc/hash_to_binary_tree_inc.h, libs/brotli/enc/histogram.c, 
+    libs/brotli/enc/histogram.h, libs/brotli/enc/histogram_inc.h, 
+    libs/brotli/enc/literal_cost.c, libs/brotli/enc/literal_cost.h, 
+    libs/brotli/enc/memory.c, libs/brotli/enc/memory.h, 
+    libs/brotli/enc/metablock.c, libs/brotli/enc/metablock.h, 
+    libs/brotli/enc/metablock_inc.h, libs/brotli/enc/port.h, 
+    libs/brotli/enc/prefix.h, libs/brotli/enc/quality.h, 
+    libs/brotli/enc/ringbuffer.h, libs/brotli/enc/static_dict.c, 
+    libs/brotli/enc/static_dict.h, libs/brotli/enc/static_dict_lut.h, 
+    libs/brotli/enc/utf8_util.c, libs/brotli/enc/utf8_util.h, 
+    libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, 
+    libs/brotli/include/brotli/encode.h, libs/brotli/include/brotli/port.h, 
+    libs/brotli/include/brotli/types.h, libs/woff2/Makefile.am, 
+    libs/woff2/brotli/LICENSE, libs/woff2/brotli/Makefile.am, 
+    libs/woff2/brotli/common/constants.h, 
+    libs/woff2/brotli/common/dictionary.c, 
+    libs/woff2/brotli/common/dictionary.h, 
+    libs/woff2/brotli/common/version.h, 
+    libs/woff2/brotli/enc/backward_references.c, 
+    libs/woff2/brotli/enc/backward_references.h, 
+    libs/woff2/brotli/enc/backward_references_hq.c, 
+    libs/woff2/brotli/enc/backward_references_hq.h, 
+    libs/woff2/brotli/enc/backward_references_inc.h, 
+    libs/woff2/brotli/enc/bit_cost.c, libs/woff2/brotli/enc/bit_cost.h, 
+    libs/woff2/brotli/enc/bit_cost_inc.h, 
+    libs/woff2/brotli/enc/block_encoder_inc.h, 
+    libs/woff2/brotli/enc/block_splitter.c, 
+    libs/woff2/brotli/enc/block_splitter.h, 
+    libs/woff2/brotli/enc/block_splitter_inc.h, 
+    libs/woff2/brotli/enc/brotli_bit_stream.c, 
+    libs/woff2/brotli/enc/brotli_bit_stream.h, 
+    libs/woff2/brotli/enc/cluster.c, libs/woff2/brotli/enc/cluster.h, 
+    libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, 
+    libs/woff2/brotli/enc/compress_fragment.c, 
+    libs/woff2/brotli/enc/compress_fragment.h, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.c, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.h, 
+    libs/woff2/brotli/enc/context.h, libs/woff2/brotli/enc/dictionary_hash.c, 
+    libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, 
+    libs/woff2/brotli/enc/entropy_encode.c, 
+    libs/woff2/brotli/enc/entropy_encode.h, 
+    libs/woff2/brotli/enc/entropy_encode_static.h, 
+    libs/woff2/brotli/enc/fast_log.h, 
+    libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, 
+    libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match64_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, 
+    libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/histogram.h, 
+    libs/woff2/brotli/enc/histogram_inc.h, 
+    libs/woff2/brotli/enc/literal_cost.c, 
+    libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/memory.c, 
+    libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, 
+    libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/metablock_inc.h, 
+    libs/woff2/brotli/enc/port.h, libs/woff2/brotli/enc/prefix.h, 
+    libs/woff2/brotli/enc/quality.h, libs/woff2/brotli/enc/ringbuffer.h, 
+    libs/woff2/brotli/enc/static_dict.c, libs/woff2/brotli/enc/static_dict.h, 
+    libs/woff2/brotli/enc/static_dict_lut.h, 
+    libs/woff2/brotli/enc/utf8_util.c, libs/woff2/brotli/enc/utf8_util.h, 
+    libs/woff2/brotli/enc/write_bits.h, 
+    libs/woff2/brotli/include/brotli/decode.h, 
+    libs/woff2/brotli/include/brotli/encode.h, 
+    libs/woff2/brotli/include/brotli/port.h, 
+    libs/woff2/brotli/include/brotli/types.h, src/Makefile.am, 
+    tests/Makefile.am, tests/create-makefile: 
+  moved brotli from woff2 to libs folder 
+
+2017-12-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/variant/include/mpark/config.hpp, 
+    libs/variant/include/mpark/lib.hpp, 
+    libs/variant/include/mpark/variant.hpp: 
+  updated mpark::variant to 
+  https://github.com/mpark/variant/commit/382014b
+fixes a build error 
+  introduced with MSVC 19.12 
+
+2017-12-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.2.3 
+
+  * NEWS: 
+  updated NEWS 
+
+2017-11-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/brotli/common/dictionary.h, 
+    libs/woff2/brotli/common/version.h, 
+    libs/woff2/brotli/enc/backward_references_hq.c, 
+    libs/woff2/brotli/enc/backward_references_hq.h, 
+    libs/woff2/brotli/enc/port.h, libs/woff2/brotli/enc/quality.h, 
+    libs/woff2/brotli/include/brotli/decode.h, 
+    libs/woff2/brotli/include/brotli/encode.h: 
+  updated brotli to version 1.0.2 
+
+2017-11-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp, src/BoundingBox.hpp, 
+    src/Color.cpp, src/PathClipper.cpp, src/SVGTree.cpp, 
+    tests/BoundingBoxTest.cpp: 
+  minor code cleanup and improvements 
+
+  * src/DependencyGraph.hpp: 
+  simplified DependencyGraph::GraphNode 
+
+2017-11-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/TpicSpecialTest.cpp: 
+  added missing initializers in TpicSpecialTest 
+
+  * tests/EmSpecialTest.cpp: 
+  added missing initializers in EmSpecialTest 
+
+  * src/DependencyGraph.hpp: 
+  fixed dangling pointer issue in DependencyGraph 
+
+  * src/Makefile.am, tests/Makefile.am, tests/create-makefile: 
+  suppress warnings regarding 'mismatched tags' 
+  (class/struct)
+https://gcc.gnu.org/wiki/FAQ#Why_GCC_does_not_warn_for_mismatch_between_struct_and_class_.28-Wmismatched-tags.29_.3F 
+
+2017-11-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSPattern.cpp, src/SVGCharHandler.cpp, src/SVGTree.cpp, 
+    src/TpicSpecialHandler.cpp: 
+  removed redundant calls of std::move() 
+
+  * src/Subfont.cpp, src/Subfont.hpp, tests/CMapManagerTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, tests/Makefile.am, 
+    tests/MapLineTest.cpp, tests/SubfontTest.cpp, tests/create-makefile, 
+    tests/testmain.cpp, tests/testutil.hpp: 
+  tests: moved common initializations to testmain.cpp 
+
+  * src/DVIReader.hpp, tests/DVIReaderTest.cpp, tests/Makefile.am, 
+    tests/data/Makefile.am, tests/data/cmr10.pfb, tests/data/sample_v2.dvi, 
+    tests/data/sample_v3.dvi: 
+  added test for DVIReader 
+
+2017-11-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am: 
+  removed redundant lcov statement from Makefile 
+
+2017-11-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/CMapTest.cpp, tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp, 
+    tests/RangeMapTest.cpp, tests/TFMReaderTest.cpp, 
+    tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/VectorStreamTest.cpp: 
+  tests: few code improvements 
+
+  * README.md: 
+  added donation badge to readme 
+
+2017-11-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Font.hpp: 
+  prevent dangling pointers to font map entries (closes #79) 
+
+  * src/CMapManager.cpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp, 
+    src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp, 
+    src/FontMap.hpp, src/Ghostscript.cpp, src/MiKTeXCom.cpp, src/XMLNode.cpp: 
+  replaced null pointer constants with 'nullptr' 
+
+  * src/XMLString.cpp, tests/TensorProductPatchTest.cpp, 
+    tests/XMLStringTest.cpp: 
+  avoid scientific notation when printing floats/doubles 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.2.2 
+
+  * NEWS: 
+  updated NEWS 
+
+2017-11-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am: 
+  ensure tweak-db-refentry.xsl is put into the tarball 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.2.1 
+
+  * NEWS, README.md: 
+  updated NEWS and README 
+
+  * libs/variant/include/mpark/lib.hpp, 
+    libs/variant/include/mpark/variant.hpp: 
+  updated mpark::variant to commit 
+  ea542a0
+https://github.com/mpark/variant/commit/ea542a0fef86fb8c1696238b95bdaddb8ff2337c 
+
+2017-11-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md, doc/dvisvgm.txt.in: 
+  minor additions/fixes of manpage and README 
+
+2017-11-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/db2html.xsl, doc/tweak-db-refentry.xsl: 
+  manpage: avoid using 'stats' to improve portability (closes #72) 
+
+2017-10-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/InputReader.cpp, src/InputReader.hpp, src/PSInterpreter.cpp: 
+  simplified code to lookup PS operators 
+
+2017-10-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  properly apply CTM to linewidth (closes #77) 
+
+  * src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  call applyscalevals on every change of the CTM 
+
+2017-10-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/EPSToSVG.cpp, src/EPSToSVG.hpp, 
+    src/EmSpecialHandler.cpp, src/HyperlinkManager.cpp, src/PSPattern.cpp, 
+    src/PSPattern.hpp, src/PsSpecialHandler.cpp, src/SVGCharHandler.cpp, 
+    src/SVGCharHandler.hpp, src/SVGCharPathHandler.cpp, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGTree.cpp, src/SVGTree.hpp, src/ShadingPatch.hpp, 
+    src/SpecialActions.hpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, 
+    src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/utility.hpp, 
+    tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, 
+    tests/TpicSpecialTest.cpp, tests/XMLNodeTest.cpp: 
+  replaced raw XMLNode pointers with unique_ptrs
+which helps to ensure 
+  proper ownership and simplifies deleting the corresponding objects 
+
+  * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp: 
+  manage heap memory in DependencyGraph with unique_ptrs 
+
+2017-10-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/fontforge/macbinary.c: 
+  updated link to CTAN:/tools/macutils/crc 
+
+2017-10-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/include/woff2/version.h: 
+  replaced CRLF line endings 
+
+2017-10-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMapManager.cpp, src/CMapReader.cpp, src/CMapReader.hpp, 
+    src/DVIActions.hpp, src/DVIToSVG.cpp, src/DVIToSVG.hpp, 
+    src/DVIToSVGActions.hpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp, 
+    src/FontEncoding.cpp, src/FontEncoding.hpp, src/FontEngine.cpp, 
+    src/FontEngine.hpp, src/FontManager.cpp, src/FontMetrics.cpp, 
+    src/FontMetrics.hpp, src/PSPattern.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.hpp, src/SVGCharHandlerFactory.cpp, 
+    src/SVGCharHandlerFactory.hpp, src/SVGOutput.cpp, 
+    src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/ShadingPatch.cpp, 
+    src/ShadingPatch.hpp, src/SignalHandler.cpp, src/Subfont.cpp, 
+    src/Subfont.hpp, src/XMLNode.cpp, tests/CMapReaderTest.cpp, 
+    tests/ShadingPatchTest.cpp: 
+  replaced several bare new/delete statements with unique pointers 
+
+  * src/dvisvgm.cpp: 
+  fixed output of option --version 
+
+  * src/Length.hpp, src/PageSize.cpp: 
+  added user-defined literals for some length units 
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.2 
+
+  * NEWS, README, README.md: 
+  updated NEWS and README 
+
+2017-10-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontWriter.cpp: 
+  added missing #include of config.h 
+
+  * src/Message.cpp: 
+  check for '\0' at end of DVISVGM_COLORS 
+
+  * src/Subfont.cpp: 
+  don't access unique_ptr after it has been moved 
+
+2017-10-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PDFParser.cpp, src/PDFParser.hpp: 
+  replaced shared_ptr with unique_ptr in PDFParser 
+
+2017-10-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * AUTHORS, configure.ac, doc/dvisvgm.txt.in, libs/Makefile.am, 
+    libs/variant/CMakeLists.txt, libs/variant/LICENSE.md, 
+    libs/variant/Makefile.am, libs/variant/include/mpark/in_place.hpp, 
+    libs/variant/include/mpark/lib.hpp, 
+    libs/variant/include/mpark/variant.hpp, src/HyperlinkManager.cpp, 
+    src/HyperlinkManager.hpp, src/InputReader.hpp, src/Makefile.am, 
+    src/PDFParser.cpp, src/PDFParser.hpp, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.hpp, tests/Makefile.am, tests/PDFParserTest.cpp, 
+    tests/SpecialManagerTest.cpp, tests/create-makefile: 
+  added evaluation of PDF hyperlink specials (closes #74) 
+
+  * libs/variant/include/mpark/config.hpp: 
+  added missing config file 
+
+  * .travis.yml: 
+  Travis: use gcc 4.9 rather than 4.8 to compile mpark::variant correctly 
+
+  * tests/Makefile.am, tests/create-makefile, tests/testmain.cpp: 
+  add custom testmain to gtest.a 
+
+2017-10-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, 
+    src/HyperlinkManager.cpp, src/HyperlinkManager.hpp, src/Makefile.am, 
+    src/dvisvgm.cpp: 
+  separated hyperlink functionality from HtmlSpecialHandler to 
+  HyperlinkManager 
+
+2017-10-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, 
+    libs/woff2/src/woff2_enc.cc: 
+  woff2: removed unused variables to prevent compiler warnings 
+
+  * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, 
+    libs/woff2/src/woff2_enc.cc: 
+  woff2: removed unused variables to prevent compiler warnings 
+
+2017-10-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/Makefile.am, libs/woff2/include/woff2/decode.h, 
+    libs/woff2/include/woff2/encode.h, libs/woff2/include/woff2/file.h, 
+    libs/woff2/include/woff2/output.h, libs/woff2/include/woff2/version.h, 
+    libs/woff2/src/buffer.h, libs/woff2/src/file.h, libs/woff2/src/font.cc, 
+    libs/woff2/src/font.h, libs/woff2/src/glyph.cc, libs/woff2/src/glyph.h, 
+    libs/woff2/src/normalize.cc, libs/woff2/src/normalize.h, 
+    libs/woff2/src/port.h, libs/woff2/src/round.h, 
+    libs/woff2/src/store_bytes.h, libs/woff2/src/table_tags.cc, 
+    libs/woff2/src/table_tags.h, libs/woff2/src/transform.cc, 
+    libs/woff2/src/transform.h, libs/woff2/src/variable_length.cc, 
+    libs/woff2/src/variable_length.h, libs/woff2/src/woff2_common.cc, 
+    libs/woff2/src/woff2_common.h, libs/woff2/src/woff2_dec.h, 
+    libs/woff2/src/woff2_enc.cc, libs/woff2/src/woff2_enc.h, 
+    libs/woff2/src/woff2_out.cc, libs/woff2/src/woff2_out.h, 
+    src/FontWriter.cpp, src/Makefile.am, src/dvisvgm.cpp: 
+  updated woff2 to version 1.0.1 
+
+2017-10-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CRC32.hpp, src/SpecialManager.hpp, src/Subfont.hpp, src/XMLNode.hpp: 
+  use delete/default to remove/implement constructors 
+
+  * src/XMLNode.cpp, src/XMLNode.hpp: 
+  added move constructor to XMLElementNode 
+
+  * src/Subfont.cpp, src/Subfont.hpp, src/utility.hpp: 
+  removed stream-based constructor of SubfontException 
+
+2017-09-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/PapersizeSpecialHandler.cpp, 
+    src/PapersizeSpecialHandler.hpp, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.hpp, src/SpecialManager.cpp, 
+    src/SpecialManager.hpp, tests/PapersizeSpecialTest.cpp: 
+  added evaluation of pdf:pagesize specials 
+
+2017-09-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/Length.hpp, src/PageSize.cpp, src/PageSize.hpp, 
+    src/utility.hpp, tests/PageSizeTest.cpp: 
+  use class Length in PageSize rather than plain numbers 
+
+  * src/BoundingBox.cpp, src/BoundingBox.hpp, src/DVIToSVG.cpp, 
+    src/utility.cpp, src/utility.hpp, tests/BoundingBoxTest.cpp, 
+    tests/UtilityTest.cpp: 
+  rewrite of BoundingBox::extractLengths() 
+
+2017-09-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TpicSpecialHandler.cpp: 
+  use isxdigit() to check hex digits 
+
+  * src/InputReader.cpp, src/InputReader.hpp, tests/Makefile.am, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StringMatcherTest.cpp: 
+  use Knuth-Morris-Pratt algorithm to find a string in a stream 
+
+  * libs/woff2/brotli/common/constants.h, 
+    libs/woff2/brotli/common/dictionary.c, 
+    libs/woff2/brotli/common/dictionary.h, 
+    libs/woff2/brotli/common/version.h, 
+    libs/woff2/brotli/enc/backward_references.c, 
+    libs/woff2/brotli/enc/backward_references_hq.c, 
+    libs/woff2/brotli/enc/backward_references_hq.h, 
+    libs/woff2/brotli/enc/backward_references_inc.h, 
+    libs/woff2/brotli/enc/block_splitter.c, 
+    libs/woff2/brotli/enc/block_splitter_inc.h, 
+    libs/woff2/brotli/enc/brotli_bit_stream.c, 
+    libs/woff2/brotli/enc/brotli_bit_stream.h, 
+    libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, 
+    libs/woff2/brotli/enc/compress_fragment.c, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.c, 
+    libs/woff2/brotli/enc/encode.c, 
+    libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, 
+    libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match64_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, 
+    libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/port.h, 
+    libs/woff2/brotli/enc/write_bits.h, 
+    libs/woff2/brotli/include/brotli/decode.h, 
+    libs/woff2/brotli/include/brotli/encode.h: 
+  updated Brotli to version 1.0.1 
+
+2017-09-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/SpecialManager.cpp, src/SpecialManager.hpp, 
+    src/utility.hpp, tests/Makefile.am, tests/SpecialManagerTest.cpp: 
+  use smart pointers to allocate/deallocate SpecialHandlers 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, 
+    src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, 
+    src/SpecialHandler.hpp, src/SpecialManager.cpp, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, 
+    tests/ColorSpecialTest.cpp, tests/PapersizeSpecialTest.cpp: 
+  changed return value of SpecialHandler::prefixes() to std::vector 
+
+  * .appveyor.yml: 
+  AppVeyor: updated FreeType to version 2.8.1 
+
+2017-09-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FileSystemTest.cpp: 
+  close streams before removing corresponding files 
+
+2017-09-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/dvisvgm.cpp: 
+  fixed number of dashes printed by option -V1 
+
+2017-09-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp: 
+  DependencyGraph::getKeys(): return result, don't use reference parameter 
+
+  * src/FileFinder.cpp, src/Makefile.am: 
+  added missing #include; added windows.hpp to Makefile.am 
+
+  * tests/Makefile.am, tests/create-makefile, tests/testmain.cpp: 
+  define variable TEST_ARGV0 to make argv[0] of main() available in 
+  tests
+this is required to initialize kpathsea properly, for example 
+
+  * src/FileFinder.cpp, src/FileFinder.hpp, tests/CMapManagerTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, 
+    tests/MapLineTest.cpp, tests/SubfontTest.cpp: 
+  init libkpathsea correctly in tests to prevent assertion failures 
+
+  * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: 
+  updated xxHash to version 0.6.3 
+
+2017-09-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FontCacheTest.cpp, tests/Makefile.am, tests/create-makefile: 
+  fixed path issue in FontCacheTest 
+
+  * src/GFReader.cpp: 
+  fixed incorrect integer type in GFReader; insert CharInfos with emplace 
+
+  * src/MapLine.cpp, tests/MapLineTest.cpp: 
+  treat prefix "<<" in a mapline as "<[" (skip second char) 
+
+  * doc/dvisvgm.txt.in, src/dvisvgm.cpp: 
+  added pdftex.map to default mapfiles 
+
+2017-09-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.cpp, src/BgColorSpecialHandler.cpp, src/Bitmap.cpp, 
+    src/BoundingBox.cpp, src/CMap.cpp, src/CMapReader.cpp, src/CRC32.cpp, 
+    src/Calculator.cpp, src/ColorSpecialHandler.cpp, src/DLLoader.cpp, 
+    src/DVIReader.cpp, src/Directory.cpp, src/EPSFile.cpp, src/EPSToSVG.cpp, 
+    src/EmSpecialHandler.cpp, src/EncFile.cpp, src/FileFinder.cpp, 
+    src/FilePath.cpp, src/Font.cpp, src/FontCache.cpp, src/FontEncoding.cpp, 
+    src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp, 
+    src/FontMap.hpp, src/FontMetrics.cpp, src/FontWriter.cpp, 
+    src/GFGlyphTracer.cpp, src/GFTracer.cpp, src/HtmlSpecialHandler.cpp, 
+    src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/MapLine.cpp, 
+    src/Message.cpp, src/MetafontWrapper.cpp, src/MiKTeXCom.cpp, 
+    src/NoPsSpecialHandler.cpp, src/PSInterpreter.cpp, src/PSPattern.cpp, 
+    src/PSPreviewFilter.cpp, src/PageRanges.cpp, src/PageSize.cpp, 
+    src/PathClipper.cpp, src/PdfSpecialHandler.cpp, src/SVGTree.cpp, 
+    src/SpecialManager.cpp, src/StreamWriter.cpp, src/TFM.cpp, 
+    src/VFReader.cpp, src/XMLDocument.cpp, src/XMLNode.cpp, 
+    src/XMLString.cpp, src/dvisvgm.cpp: 
+  removed redundant #includes of config.h 
+
+  * src/DLLoader.hpp, src/Directory.cpp, src/Directory.hpp, 
+    src/FileSystem.cpp, src/MiKTeXCom.hpp, src/Process.cpp, src/Terminal.cpp, 
+    src/windows.hpp: 
+  disable macros min/max defined in windows.h 
+
+  * src/CLCommandLine.cpp, src/CMapManager.cpp, src/CMapManager.hpp, 
+    src/Calculator.cpp, src/Calculator.hpp, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, src/FileFinder.cpp, 
+    src/Font.cpp, src/Font.hpp, src/FontCache.hpp, src/FontEncoding.cpp, 
+    src/FontManager.cpp, src/FontManager.hpp, src/FontMap.hpp, 
+    src/GFReader.hpp, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, 
+    src/InputReader.cpp, src/InputReader.hpp, src/Message.cpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/SVGTree.cpp, 
+    src/SVGTree.hpp, src/SpecialManager.hpp, src/Subfont.cpp, 
+    src/Subfont.hpp, tests/StreamInputBufferTest.cpp: 
+  replaced std::map with std::unordered_map where possible to increase 
+  performance 
+
+2017-09-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/DvisvgmSpecialTest.cpp: 
+  replaced constexpr with const to make clang happy 
+
+  * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp, 
+    tests/DvisvgmSpecialTest.cpp: 
+  allow all common length units in dvisvgm specials 
+
+2017-08-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/AGLTable.hpp, src/CMapReader.cpp, src/Color.cpp, 
+    src/CommandLine.hpp, src/FontWriter.cpp, tests/genhashcheck.py: 
+  use list initialization on constant std::arrays 
+
+  * tests/MapLineTest.cpp: 
+  added braces to prevent compiler warnings 
+
+2017-08-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMapManager.cpp, src/DvisvgmSpecialHandler.cpp, src/Font.cpp, 
+    src/Ghostscript.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp, 
+    tests/DvisvgmSpecialTest.cpp: 
+  use range-based for to iterate over a fixed sequence of items 
+
+2017-08-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * m4/ax_code_coverage.m4: 
+  updated ax_code_coverage.m4 to version 25 
+
+2017-08-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml: 
+  AppVeyor: updated potrace to version 1.15 
+
+2017-08-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, 
+    libs/woff2/src/port.h, libs/woff2/src/store_bytes.h, 
+    libs/woff2/src/woff2_common.cc, libs/woff2/src/woff2_enc.cc: 
+  updated woff2 to https://github.com/google/woff2/commits/2e09253 
+
+2017-06-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml: 
+  AppVeyor: changed build image to VS 2017; updated FreeType to 2.8 
+
+2017-06-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  psfile: fixed sign of y coordinates 
+
+2017-06-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.hpp: 
+  use bp units for line width and miter limit 
+
+2017-06-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/EPSToSVG.cpp: 
+  remove redundant clipPath elements also when converting EPS files 
+
+2017-05-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GraphicsPath.hpp: 
+  replaced vector with deque in class GraphicsPath
+due to cheaper front 
+  insertions/deletions 
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp: 
+  manage memory of ClippingStack with shared pointers
+- automatically 
+  deletes unreferenced path objects
+- avoids keeping popped (and no longer 
+  required) paths in the pool vector 
+
+2017-05-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Pair.hpp, tests/PairTest.cpp: 
+  added abs() and negation operator to class Pair 
+
+  * src/Matrix.hpp, src/PsSpecialHandler.cpp: 
+  respect transformation of PS state in computation of psfile position 
+  (fixes #70) 
+
+  * src/FileFinder.cpp, src/PsSpecialHandler.cpp: 
+  lookup psfile in texmf tree if it's not present in cwd (fixes #69) 
+
+2017-05-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FontCacheTest.cpp, tests/Makefile.am, tests/create-makefile: 
+  FontCacheTest: write test output to $builddir/data
+$srcdir/data may be 
+  read-only so that the tests fail unintentionally 
+
+2017-05-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/brotli/LICENSE, libs/woff2/brotli/Makefile.am, 
+    libs/woff2/brotli/common/constants.h, 
+    libs/woff2/brotli/common/dictionary.c, 
+    libs/woff2/brotli/common/dictionary.h, 
+    libs/woff2/brotli/common/version.h, 
+    libs/woff2/brotli/enc/backward_references.c, 
+    libs/woff2/brotli/enc/backward_references.h, 
+    libs/woff2/brotli/enc/backward_references_hq.c, 
+    libs/woff2/brotli/enc/backward_references_hq.h, 
+    libs/woff2/brotli/enc/backward_references_inc.h, 
+    libs/woff2/brotli/enc/block_splitter_inc.h, 
+    libs/woff2/brotli/enc/command.h, 
+    libs/woff2/brotli/enc/compress_fragment.c, 
+    libs/woff2/brotli/enc/compress_fragment.h, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.c, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.h, 
+    libs/woff2/brotli/enc/context.h, libs/woff2/brotli/enc/dictionary_hash.c, 
+    libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, 
+    libs/woff2/brotli/enc/fast_log.h, libs/woff2/brotli/enc/hash.h, 
+    libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match64_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, 
+    libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/literal_cost.c, 
+    libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, 
+    libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/quality.h, 
+    libs/woff2/brotli/enc/static_dict.c, libs/woff2/brotli/enc/static_dict.h, 
+    libs/woff2/brotli/include/brotli/decode.h, 
+    libs/woff2/brotli/include/brotli/encode.h, 
+    libs/woff2/brotli/include/brotli/port.h, 
+    libs/woff2/brotli/include/brotli/types.h: 
+  updated brotli to version 0.6.0 
+
+2017-05-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Process.cpp: 
+  close pipe if fork() fails 
+
+2017-05-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/SignalHandler.cpp, src/SignalHandler.hpp: 
+  use sigaction() rather than signal() if possible 
+
+  * src/Process.cpp, src/Process.hpp: 
+  refactored Process class
+- use separate class to encapsulate 
+  system-dependent stuff and to ensure
+  proper termination in case of 
+  signals or errors
+- prevent blocking if subprocess doesn't write anything 
+  to stdout/stderr 
+
+2017-04-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Process.cpp: 
+  quit Process::run() if child process terminated unexpectedly (fixes #68) 
+
+2017-04-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/Makefile.am, tests/create-makefile: 
+  added the FontWriter dependencies to the tests 
+
+2017-04-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp, src/Color.hpp, src/PSPattern.cpp, 
+    tests/ColorSpecialTest.cpp: 
+  avoid implicit conversion of Color object to RGB integer 
+
+  * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, 
+    tests/Makefile.am, tests/TpicSpecialTest.cpp: 
+  improved the TPIC special handler and added tests for it 
+
+  * src/TpicSpecialHandler.cpp, tests/TpicSpecialTest.cpp: 
+  added evaluation of TPIC's 'tx' special command 
+
+2017-04-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.hpp, src/BgColorSpecialHandler.hpp, 
+    src/CLCommandLine.hpp, src/CMapManager.hpp, src/DVIToSVGActions.hpp, 
+    src/DependencyGraph.hpp, src/DvisvgmSpecialHandler.hpp, src/FilePath.hpp, 
+    src/Font.hpp, src/FontCache.cpp, src/FontCache.hpp, src/FontEngine.cpp, 
+    src/FontManager.hpp, src/Ghostscript.hpp, src/Glyph.hpp, 
+    src/GraphicsPath.hpp, src/HtmlSpecialHandler.hpp, src/NumericRanges.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PathClipper.cpp, src/PathClipper.hpp, src/PsSpecialHandler.hpp, 
+    src/RangeMap.hpp, src/SVGCharPathHandler.hpp, src/ShadingPatch.hpp, 
+    src/SpecialManager.hpp, src/Subfont.hpp, src/VFReader.hpp, 
+    src/XMLNode.cpp, src/XMLNode.hpp, src/dvisvgm.cpp: 
+  replaced typedefs with 'using' statements 
+
+2017-04-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Ghostscript.cpp: 
+  simplify code for looking up libgs (closes #66) 
+
+2017-04-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DLLoader.cpp, src/DLLoader.hpp: 
+  added DLLoader::loadLibrary() to assign a different library 
+
+  * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp: 
+  replaced c-string parameters of DLLoader() and loadLibrary() with 
+  std::string 
+
+2017-04-13  Toby Fleming  <tobywf at users.noreply.github.com>
+
+  * src/Ghostscript.cpp: 
+  Auto-detect ghostscript dynamic library on macOS 
+
+2017-03-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4: 
+  updated m4 scripts 
+
+2017-03-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, tests/FileFinderTest.cpp: 
+  fixed handling of absolute additional directories in FileFinder 
+
+  * tests/FilePathTest.cpp, tests/FontCacheTest.cpp, 
+    tests/SVGOutputTest.cpp: 
+  tests: minor path improvements 
+
+2017-03-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/src/normalize.cc, libs/woff2/src/woff2_enc.cc: 
+  woff2: removed unused variables 
+
+  * src/Makefile.am, src/dvisvgm.cpp: 
+  improved generation of list showing the library versions 
+
+  * src/Color.cpp, src/FilePath.cpp, src/FontWriter.cpp, src/PageSize.cpp, 
+    src/dvisvgm.cpp, src/utility.cpp, src/utility.hpp, tests/UtilityTest.cpp: 
+  removed side-effect from util::to_lower(); returns new modified string 
+  instead 
+
+2017-03-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/fontforge/nowakowskittfinstr.c: 
+  ff-woff: removed redundant variables 
+
+  * libs/woff2/Makefile.am, libs/woff2/brotli/Makefile.am, 
+    libs/woff2/brotli/common/constants.h, 
+    libs/woff2/brotli/common/dictionary.c, 
+    libs/woff2/brotli/common/dictionary.h, 
+    libs/woff2/brotli/common/version.h, 
+    libs/woff2/brotli/enc/backward_references.c, 
+    libs/woff2/brotli/enc/backward_references.cc, 
+    libs/woff2/brotli/enc/backward_references.h, 
+    libs/woff2/brotli/enc/backward_references_inc.h, 
+    libs/woff2/brotli/enc/bit_cost.c, libs/woff2/brotli/enc/bit_cost.h, 
+    libs/woff2/brotli/enc/bit_cost_inc.h, 
+    libs/woff2/brotli/enc/block_encoder_inc.h, 
+    libs/woff2/brotli/enc/block_splitter.c, 
+    libs/woff2/brotli/enc/block_splitter.cc, 
+    libs/woff2/brotli/enc/block_splitter.h, 
+    libs/woff2/brotli/enc/block_splitter_inc.h, 
+    libs/woff2/brotli/enc/brotli_bit_stream.c, 
+    libs/woff2/brotli/enc/brotli_bit_stream.cc, 
+    libs/woff2/brotli/enc/brotli_bit_stream.h, 
+    libs/woff2/brotli/enc/cluster.c, libs/woff2/brotli/enc/cluster.h, 
+    libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, 
+    libs/woff2/brotli/enc/compress_fragment.c, 
+    libs/woff2/brotli/enc/compress_fragment.cc, 
+    libs/woff2/brotli/enc/compress_fragment.h, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.c, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.cc, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.h, 
+    libs/woff2/brotli/enc/compressor.h, libs/woff2/brotli/enc/context.h, 
+    libs/woff2/brotli/enc/dictionary.cc, libs/woff2/brotli/enc/dictionary.h, 
+    libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, 
+    libs/woff2/brotli/enc/encode.cc, libs/woff2/brotli/enc/encode.h, 
+    libs/woff2/brotli/enc/encode_parallel.cc, 
+    libs/woff2/brotli/enc/encode_parallel.h, 
+    libs/woff2/brotli/enc/entropy_encode.c, 
+    libs/woff2/brotli/enc/entropy_encode.cc, 
+    libs/woff2/brotli/enc/entropy_encode.h, 
+    libs/woff2/brotli/enc/entropy_encode_static.h, 
+    libs/woff2/brotli/enc/fast_log.h, 
+    libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, 
+    libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_inc.h, 
+    libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, 
+    libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/histogram.cc, 
+    libs/woff2/brotli/enc/histogram.h, libs/woff2/brotli/enc/histogram_inc.h, 
+    libs/woff2/brotli/enc/literal_cost.c, 
+    libs/woff2/brotli/enc/literal_cost.cc, 
+    libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/memory.c, 
+    libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, 
+    libs/woff2/brotli/enc/metablock.cc, libs/woff2/brotli/enc/metablock.h, 
+    libs/woff2/brotli/enc/metablock_inc.h, libs/woff2/brotli/enc/port.h, 
+    libs/woff2/brotli/enc/prefix.h, libs/woff2/brotli/enc/quality.h, 
+    libs/woff2/brotli/enc/ringbuffer.h, libs/woff2/brotli/enc/static_dict.c, 
+    libs/woff2/brotli/enc/static_dict.cc, 
+    libs/woff2/brotli/enc/static_dict.h, 
+    libs/woff2/brotli/enc/static_dict_lut.h, 
+    libs/woff2/brotli/enc/streams.cc, libs/woff2/brotli/enc/streams.h, 
+    libs/woff2/brotli/enc/transform.h, libs/woff2/brotli/enc/types.h, 
+    libs/woff2/brotli/enc/utf8_util.c, libs/woff2/brotli/enc/utf8_util.cc, 
+    libs/woff2/brotli/enc/utf8_util.h, libs/woff2/brotli/enc/write_bits.h, 
+    libs/woff2/brotli/include/brotli/decode.h, 
+    libs/woff2/brotli/include/brotli/encode.h, 
+    libs/woff2/brotli/include/brotli/port.h, 
+    libs/woff2/brotli/include/brotli/types.h, libs/woff2/src/buffer.h, 
+    libs/woff2/src/font.cc, libs/woff2/src/glyph.cc, 
+    libs/woff2/src/variable_length.cc, libs/woff2/src/woff2_dec.h, 
+    libs/woff2/src/woff2_enc.cc, src/Makefile.am: 
+  updated woff2 to https://github.com/google/woff2/commit/68e9ab5 
+
+2017-02-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, 
+    tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/ColorTest.cpp, tests/CommandLineTest.cpp, 
+    tests/DirectoryTest.cpp, tests/FileSystemTest.cpp, 
+    tests/GraphicsPathTest.cpp, tests/JFMReaderTest.cpp, 
+    tests/MatrixTest.cpp, tests/PageRagesTest.cpp, tests/RangeMapTest.cpp, 
+    tests/SVGOutputTest.cpp, tests/SplittedCharInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, 
+    tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, 
+    tests/TFMReaderTest.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, 
+    tests/XMLNodeTest.cpp: 
+  fixed signed/unsigned warnings in tests 
+
+2017-02-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/woff2/brotli/tools/bro.cc, libs/woff2/brotli/tools/rfc-format.py, 
+    libs/woff2/brotli/tools/version.h: 
+  removed redundant files 
+
+2017-02-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.1.3 
+
+  * NEWS: 
+  updated NEWS 
+
+2017-02-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/inc/ffintl.h: 
+  ff-woff: removed redundant defines and prototypes to fix build failure 
+  on Solaris 
+
+  * tests/genhashcheck.py: 
+  reformatted genhashcheck 
+
+  * tests/BezierTest.cpp, tests/CRC32Test.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, 
+    tests/XMLNodeTest.cpp: 
+  minor additions to some tests 
+
+2017-02-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, libs/ff-woff/Makefile.am, 
+    libs/ff-woff/fontforge/fflocale.c, libs/ff-woff/fontforge/fflocale.h, 
+    libs/ff-woff/fontforge/sfd.c, libs/ff-woff/fontforge/splinefont.h, 
+    libs/ff-woff/fontforge/tottf.c: 
+  ff-woff: only call uselocale() if present, use setlocale() otherwise 
+
+2017-02-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  added information on required C++11 compiler to README 
+
+  * tests/genhashcheck.py: 
+  made genhashcheck.py compatible with Python 3 (plus few minor changes) 
+
+2017-02-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/MapLine.cpp, src/MapLine.hpp, tests/ColorSpecialTest.cpp, 
+    tests/FontMapTest.cpp, tests/LengthTest.cpp, tests/MapLineTest.cpp: 
+  improved a couple of test cases 
+
+  * src/Color.cpp, src/Matrix.cpp, src/TpicSpecialHandler.cpp, 
+    src/utility.hpp: 
+  replaced non-standard constant M_PI with own definition 
+
+  * src/Color.cpp, src/Matrix.cpp, src/utility.hpp: 
+  replaced local copies of deg2rad with global function 
+
+2017-02-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .appveyor.yml, .travis.yml, appveyor.yml: 
+  exclude branch 'tmp' from CI builds 
+
+2017-02-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/Makefile.am, libs/ff-woff/fontforge/fontforge.h, 
+    libs/ff-woff/inc/ffintl.h, libs/ff-woff/inc/intl.h: 
+  don't try to #include libintl.h 
+
+  * .travis.yml: 
+  Travis: enable clang builds again 
+
+  * NEWS: 
+  updated NEWS 
+
+2017-02-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Calculator.cpp: 
+  fixed number parsing in Calculator class (failed on Mac) 
+
+  * tests/StreamReaderTest.cpp: 
+  clear istream flags to prevent failure of StreamReaderTest 
+
+  * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: 
+  removed 'restrict' keyword from xxHash 
+
+  * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.1.2 
+
+2017-02-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .gitignore, .travis.yml, Makefile.am, configure.ac, tests/Makefile.am, 
+    tests/create-makefile, tests/gtest/LICENSE, 
+    tests/gtest/include/gtest/gtest-death-test.h, 
+    tests/gtest/include/gtest/gtest-message.h, 
+    tests/gtest/include/gtest/gtest-param-test.h, 
+    tests/gtest/include/gtest/gtest-printers.h, 
+    tests/gtest/include/gtest/gtest-spi.h, 
+    tests/gtest/include/gtest/gtest-test-part.h, 
+    tests/gtest/include/gtest/gtest-typed-test.h, 
+    tests/gtest/include/gtest/gtest.h, 
+    tests/gtest/include/gtest/gtest_pred_impl.h, 
+    tests/gtest/include/gtest/gtest_prod.h, 
+    tests/gtest/include/gtest/internal/custom/gtest-port.h, 
+    tests/gtest/include/gtest/internal/custom/gtest-printers.h, 
+    tests/gtest/include/gtest/internal/custom/gtest.h, 
+    tests/gtest/include/gtest/internal/gtest-death-test-internal.h, 
+    tests/gtest/include/gtest/internal/gtest-filepath.h, 
+    tests/gtest/include/gtest/internal/gtest-internal.h, 
+    tests/gtest/include/gtest/internal/gtest-linked_ptr.h, 
+    tests/gtest/include/gtest/internal/gtest-param-util-generated.h, 
+    tests/gtest/include/gtest/internal/gtest-param-util.h, 
+    tests/gtest/include/gtest/internal/gtest-port-arch.h, 
+    tests/gtest/include/gtest/internal/gtest-port.h, 
+    tests/gtest/include/gtest/internal/gtest-string.h, 
+    tests/gtest/include/gtest/internal/gtest-tuple.h, 
+    tests/gtest/include/gtest/internal/gtest-type-util.h, 
+    tests/gtest/src/gtest-all.cc, tests/gtest/src/gtest-death-test.cc, 
+    tests/gtest/src/gtest-filepath.cc, tests/gtest/src/gtest-internal-inl.h, 
+    tests/gtest/src/gtest-port.cc, tests/gtest/src/gtest-printers.cc, 
+    tests/gtest/src/gtest-test-part.cc, tests/gtest/src/gtest-typed-test.cc, 
+    tests/gtest/src/gtest.cc, tests/gtest/src/gtest_main.cc: 
+  bundle gtest with the sources to simplify building and running the tests 
+
+  * src/Directory.cpp, tests/DirectoryTest.cpp: 
+  prevent calling closedir() with null pointer argument 
+
+  * src/VectorStream.hpp: 
+  don't access first vector component if the vector is empty 
+
+  * src/GFReader.cpp, src/StreamReader.cpp, tests/GFReaderTest.cpp, 
+    tests/StreamReaderTest.cpp: 
+  improved implementation of getString() 
+
+  * src/CLCommandLine.cpp: 
+  reset status flags before changing the sstream source 
+
+2017-02-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/CommandLineTest.cpp: 
+  removed redundant function 
+
+  * src/XMLString.cpp, tests/EmSpecialTest.cpp, tests/GFGlyphTracerTest.cpp: 
+  avoid negative zeros (-0) in SVG output 
+
+  * src/BoundingBox.cpp: 
+  fixed memory issue in BoundingBox class 
+
+  * src/CMapReader.cpp, src/InputReader.cpp, src/InputReader.hpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp: 
+  fixed potential number overflow issue 
+
+  * tests/CMapReaderTest.cpp: 
+  fixed memory leak in CMapReaderTest 
+
+  * src/Subfont.cpp: 
+  fixed memory leak in Subfont class 
+
+  * src/XMLNode.cpp: 
+  fixed memory leak in class XMLElementNode 
+
+2017-02-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac: 
+  replaced deprecated AC_CONFIG_HEADER 
+
+  * NEWS: 
+  updated NEWS 
+
+  * libs/clipper/License.txt: 
+  fixed line endings of clipper/License.txt 
+
+2017-02-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.1.1 
+
+2017-02-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FontCacheTest.cpp: 
+  fixed FontCacheTest ('make distcheck' failed) 
+
+2017-02-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp, src/Color.hpp, src/VectorIterator.hpp, 
+    tests/ColorTest.cpp, tests/VectorIteratorTest.cpp: 
+  increased coverage of ColorTest 
+
+  * configure.ac, libs/ff-woff/fontforge/splinefont.h: 
+  include xlocale.h in ff-woff if available (fixes #65) 
+
+2017-02-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am: 
+  removed spurious colon from src/Makefile.am 
+
+  * configure.ac: 
+  allow C++11 language extensions if necessary 
+
+  * src/Font.cpp, src/Font.hpp: 
+  report Metafont failures only once for each font 
+
+2017-01-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  README: updated links, added release badge 
+
+2017-01-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FontManagerTest.cpp, tests/data/cmr10.pfb: 
+  prevent FontManagerTest to fail due to missing font files 
+
+2017-01-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Matrix.cpp, tests/MatrixTest.cpp: 
+  minor changes of matrix class; improved MatrixTest 
+
+2017-01-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    tests/Makefile.am, tests/PapersizeSpecialTest.cpp, tests/create-makefile: 
+  added PapersizeSpecialTest 
+
+  * tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, 
+    tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, 
+    tests/JFMReaderTest.cpp, tests/MapLineTest.cpp, tests/SubfontTest.cpp, 
+    tests/TFMReaderTest.cpp, tests/TensorProductPatchTest.cpp: 
+  added 'override' specifier to gtest methods 
+
+  * src/FontCache.cpp, src/FontCache.hpp, tests/FontCacheTest.cpp, 
+    tests/Makefile.am: 
+  added FontCacheTest 
+
+  * tests/Makefile.am, tests/create-makefile: 
+  removed redundant linker flag from tests 
+
+  * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4: 
+  updated m4 scripts to latest versions 
+
+2017-01-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README.md, appveyor.yml: 
+  added basic appveyor.yml 
+
+2017-01-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/Makefile.am, libs/ff-woff/fontforge/fontforge.h, 
+    libs/ff-woff/fontforge/tmpfile2.cpp, libs/ff-woff/fontforge/utils.c, 
+    src/dvisvgm.cpp: 
+  improved error handling of tmpfile2() in ff-woff
+The FontForge library 
+  doesn't check the return value of tmpfile() which may lead
+to segfaults. 
+  The replacement function tmpfile2() throws an exception or calls
+exit() 
+  so that dvisvgm can terminate more cleanly. 
+
+2017-01-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BoundingBox.cpp, src/Color.cpp, src/DVIToSVGActions.cpp, 
+    src/FilePath.cpp, src/FileSystem.cpp, src/FontWriter.cpp, 
+    src/Makefile.am, src/PageSize.cpp, src/SVGOutput.cpp, src/utility.cpp, 
+    src/utility.hpp, tests/Makefile.am, tests/UtilityTest.cpp: 
+  moved common utility functions to separate compilation unit and 
+  namespace 
+
+  * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/EPSToSVG.cpp: 
+  get program name and version from version.hpp, avoid using macros from 
+  config.h 
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.1 
+
+  * NEWS: 
+  updated NEWS 
+
+2017-01-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * libs/ff-woff/fontforge/utils.c, src/FileSystem.cpp, src/FileSystem.hpp, 
+    src/Font.cpp, src/FontWriter.cpp, src/GlyphTracerMessages.hpp, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.hpp, src/Process.cpp, 
+    src/Process.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp: 
+  create temp files in the system's temp folder rather than in cwd (closes 
+  #63) 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/dvisvgm.cpp, 
+    src/options.xml: 
+  added option --tmpdir to select a different temp folder 
+
+  * src/FontWriter.cpp, src/FontWriter.hpp: 
+  print error message if FontWriter can't write temporary files 
+
+2017-01-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FilePath.cpp, src/FilePath.hpp, tests/FilePathTest.cpp, 
+    tests/SVGOutputTest.cpp: 
+  retain letter case of filenames (Windows) 
+
+  * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/SVGTree.hpp: 
+  print warning message if output file could not be written 
+
+  * tests/GhostscriptTest.cpp: 
+  disable GS banner in GhostscriptTest 
+
+2017-01-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/dvisvgm.cpp: 
+  added missing newlines in messages; fixed typo 
+
+2017-01-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/AGLTable.hpp: 
+  updated AGL table and removed colliding codepoints (closes #64) 
+
+2017-01-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, 
+    doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, 
+    doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-dblatex-pdf.xsl, 
+    libs/Makefile.am, src/AGLTable.hpp, src/BasicDVIReader.cpp, 
+    src/BasicDVIReader.hpp, src/Bezier.cpp, src/Bezier.hpp, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, 
+    src/Bitmap.cpp, src/Bitmap.hpp, src/BoundingBox.cpp, src/BoundingBox.hpp, 
+    src/CLCommandLine.cpp, src/CLCommandLine.hpp, src/CLOption.hpp, 
+    src/CMap.cpp, src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.hpp, 
+    src/CMapReader.cpp, src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp, 
+    src/Calculator.cpp, src/Calculator.hpp, src/CharMapID.cpp, 
+    src/CharMapID.hpp, src/Character.hpp, src/Color.cpp, src/Color.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, 
+    src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp, 
+    src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, 
+    src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp, 
+    src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp, 
+    src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp, 
+    src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp, 
+    src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp, 
+    src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp, 
+    src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp, 
+    src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp, 
+    src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp, 
+    src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp, 
+    src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp, 
+    src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp, 
+    src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp, 
+    src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp, 
+    src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp, 
+    src/Length.cpp, src/Length.hpp, src/Makefile.am, src/MapLine.cpp, 
+    src/MapLine.hpp, src/Matrix.cpp, src/Matrix.hpp, src/Message.cpp, 
+    src/Message.hpp, src/MessageException.hpp, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.hpp, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, 
+    src/NumericRanges.hpp, src/PSFilter.hpp, src/PSInterpreter.cpp, 
+    src/PSInterpreter.hpp, src/PSPattern.cpp, src/PSPattern.hpp, 
+    src/PSPreviewFilter.cpp, src/PSPreviewFilter.hpp, src/PageRanges.cpp, 
+    src/PageRanges.hpp, src/PageSize.cpp, src/PageSize.hpp, src/Pair.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, 
+    src/PathClipper.cpp, src/PathClipper.hpp, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.hpp, src/Process.cpp, src/Process.hpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/RangeMap.cpp, 
+    src/RangeMap.hpp, src/SVGCharHandler.cpp, src/SVGCharHandler.hpp, 
+    src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.hpp, 
+    src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.hpp, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.hpp, 
+    src/SVGOutput.cpp, src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/SVGTree.hpp, 
+    src/ShadingPatch.cpp, src/ShadingPatch.hpp, src/SignalHandler.cpp, 
+    src/SignalHandler.hpp, src/SpecialActions.hpp, src/SpecialHandler.hpp, 
+    src/SpecialManager.cpp, src/SpecialManager.hpp, src/StreamReader.cpp, 
+    src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, 
+    src/Subfont.cpp, src/Subfont.hpp, src/System.cpp, src/System.hpp, 
+    src/TFM.cpp, src/TFM.hpp, src/TensorProductPatch.cpp, 
+    src/TensorProductPatch.hpp, src/Terminal.cpp, src/Terminal.hpp, 
+    src/ToUnicodeMap.cpp, src/ToUnicodeMap.hpp, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.hpp, src/TriangularPatch.cpp, 
+    src/TriangularPatch.hpp, src/Unicode.cpp, src/Unicode.hpp, 
+    src/VFActions.hpp, src/VFReader.cpp, src/VFReader.hpp, 
+    src/VectorIterator.hpp, src/VectorStream.hpp, src/XMLDocument.cpp, 
+    src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/XMLString.cpp, 
+    src/XMLString.hpp, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, 
+    src/ffwrapper.c, src/ffwrapper.h, src/macros.hpp, src/options.dtd, 
+    src/options.xml, src/psdefs.cpp, src/version.hpp, src/version.hpp.in, 
+    tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, 
+    tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, 
+    tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, 
+    tests/EmSpecialTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FilePathTest.cpp, tests/FileSystemTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, 
+    tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GraphicsPathTest.cpp, tests/JFMReaderTest.cpp, 
+    tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, 
+    tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, tests/RangeMapTest.cpp, 
+    tests/SVGOutputTest.cpp, tests/ShadingPatchTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, 
+    tests/SubfontTest.cpp, tests/TFMReaderTest.cpp, 
+    tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/TriangularPatchTest.cpp, tests/UnicodeTest.cpp, 
+    tests/VectorIteratorTest.cpp, tests/VectorStreamTest.cpp, 
+    tests/XMLNodeTest.cpp, tests/XMLStringTest.cpp, tests/check-conv, 
+    tests/create-makefile, tests/data/Makefile.am, tests/genhashcheck.py, 
+    tests/normalize.xsl: 
+  updated year in copyright statements to 2017 
+
+2016-12-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, 
+    doc/dvisvgm.txt.in, doc/dvisvgm.xpr, doc/tweak-db-article.xsl: 
+  manpage: minor refactorings of the XSLT scripts; added generation of 
+  epub 
+
+2016-12-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, 
+    doc/tweak-dblatex-pdf.xsl: 
+  added missing email address to copyright headers 
+
+  * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, 
+    doc/tweak-dblatex-pdf.xsl: 
+  indent with tabs rather than spaces 
+
+  * doc/db2html.xsl: 
+  manpage: replace icon of Author section 
+
+  * doc/conf-dblatex-pdf.xsl, doc/tweak-dblatex-pdf.xsl: 
+  manpage: use mixed case titles in pdf output 
+
+2016-12-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/db2html.xsl, doc/dvisvgm.xpr: 
+  manpage: preserve whitespace in list of supported specials 
+
+2016-11-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac: 
+  ensure compiling C files with --std=c99 
+
+2016-11-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS: 
+  updated NEWS 
+
+2016-11-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  minor changes in manpage 
+
+  * README, README.md, configure.ac, libs/Makefile.am, libs/ff-woff/LICENSE, 
+    libs/ff-woff/Makefile.am, libs/ff-woff/README.md, 
+    libs/ff-woff/fontforge/PfEd.h, libs/ff-woff/fontforge/alphabet.c, 
+    libs/ff-woff/fontforge/asmfpst.c, libs/ff-woff/fontforge/autohint.c, 
+    libs/ff-woff/fontforge/char.c, libs/ff-woff/fontforge/cjk.c, 
+    libs/ff-woff/fontforge/configure-fontforge.h, 
+    libs/ff-woff/fontforge/cvundoes.c, libs/ff-woff/fontforge/dumppfa.c, 
+    libs/ff-woff/fontforge/edgelist.h, libs/ff-woff/fontforge/edgelist2.h, 
+    libs/ff-woff/fontforge/encoding.c, libs/ff-woff/fontforge/encoding.h, 
+    libs/ff-woff/fontforge/fontforge-config.h, 
+    libs/ff-woff/fontforge/fontforge.h, libs/ff-woff/fontforge/fontforgevw.h, 
+    libs/ff-woff/fontforge/fvfonts.c, libs/ff-woff/fontforge/gwwiconv.c, 
+    libs/ff-woff/fontforge/libffstamp.h, libs/ff-woff/fontforge/lookups.c, 
+    libs/ff-woff/fontforge/macbinary.c, libs/ff-woff/fontforge/macenc.c, 
+    libs/ff-woff/fontforge/mathconstants.c, libs/ff-woff/fontforge/memory.c, 
+    libs/ff-woff/fontforge/mm.c, libs/ff-woff/fontforge/namehash.h, 
+    libs/ff-woff/fontforge/namelist.c, libs/ff-woff/fontforge/nouiutil.c, 
+    libs/ff-woff/fontforge/nowakowskittfinstr.c, 
+    libs/ff-woff/fontforge/parsepfa.c, libs/ff-woff/fontforge/parsettf.c, 
+    libs/ff-woff/fontforge/parsettfatt.c, libs/ff-woff/fontforge/psfont.h, 
+    libs/ff-woff/fontforge/psread.c, libs/ff-woff/fontforge/pua.c, 
+    libs/ff-woff/fontforge/sd.h, libs/ff-woff/fontforge/sfd.c, 
+    libs/ff-woff/fontforge/sfd1.c, libs/ff-woff/fontforge/sfd1.h, 
+    libs/ff-woff/fontforge/splinechar.c, libs/ff-woff/fontforge/splinefont.c, 
+    libs/ff-woff/fontforge/splinefont.h, 
+    libs/ff-woff/fontforge/splineorder2.c, 
+    libs/ff-woff/fontforge/splineoverlap.c, 
+    libs/ff-woff/fontforge/splinerefigure.c, 
+    libs/ff-woff/fontforge/splinesave.c, 
+    libs/ff-woff/fontforge/splinesaveafm.c, 
+    libs/ff-woff/fontforge/splineutil.c, 
+    libs/ff-woff/fontforge/splineutil2.c, libs/ff-woff/fontforge/start.c, 
+    libs/ff-woff/fontforge/stemdb.c, libs/ff-woff/fontforge/stemdb.h, 
+    libs/ff-woff/fontforge/tables.h, libs/ff-woff/fontforge/tottf.c, 
+    libs/ff-woff/fontforge/tottfaat.c, libs/ff-woff/fontforge/tottfgpos.c, 
+    libs/ff-woff/fontforge/tottfvar.c, libs/ff-woff/fontforge/ttf.h, 
+    libs/ff-woff/fontforge/ttfinstrs.c, libs/ff-woff/fontforge/ttfinstrs.h, 
+    libs/ff-woff/fontforge/ttfspecial.c, 
+    libs/ff-woff/fontforge/uiinterface.h, libs/ff-woff/fontforge/unialt.c, 
+    libs/ff-woff/fontforge/ustring.c, libs/ff-woff/fontforge/utils.c, 
+    libs/ff-woff/fontforge/utype.c, libs/ff-woff/fontforge/woff.c, 
+    libs/ff-woff/inc/basics.h, libs/ff-woff/inc/chardata.h, 
+    libs/ff-woff/inc/charset.h, libs/ff-woff/inc/dlist.h, 
+    libs/ff-woff/inc/gimage.h, libs/ff-woff/inc/gnetwork.h, 
+    libs/ff-woff/inc/gwwiconv.h, libs/ff-woff/inc/intl.h, 
+    libs/ff-woff/inc/ustring.h, libs/ff-woff/inc/utype.h, src/Makefile.am: 
+  bundle reduced fontforge library (ff-woff) 
+
+  * configure.ac, libs/Makefile.am, libs/clipper/Makefile.am, 
+    libs/ff-woff/Makefile.am, libs/woff2/Makefile.am, 
+    libs/woff2/brotli/Makefile.am, libs/woff2/brotli/enc/Makefile.am, 
+    libs/woff2/src/Makefile.am, src/Makefile.am: 
+  added license files of bundled libraries; relocated Makefiles 
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.0.4 
+
+2016-11-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CommandLine.hpp, src/options.xml: 
+  fixed a typo in the --help output 
+
+  * src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/DVIReader.cpp, 
+    src/DVIReader.hpp: 
+  use const variables for DVI opcodes rather than the values directly 
+
+2016-11-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontWriter.cpp: 
+  few cosmetic changes; added comments 
+
+2016-09-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.0.3 
+
+  * NEWS, README, README.md: 
+  updated NEWS and README 
+
+2016-09-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp, 
+    src/DVIToSVG.hpp: 
+  dropped tracking of previous DVI state from DVIReader 
+
+  * src/DVIReader.cpp: 
+  fixed positioning of rules 
+
+2016-09-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp: 
+  fixed regression in character positioning of of virtual fonts 
+
+2016-09-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp: 
+  fixed type regression in computation of DVI positions (closes #61) 
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.0.2 
+
+  * NEWS, README.md: 
+  updated NEWS and README 
+
+2016-09-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp: 
+  fixed sign of character depth computed for native fonts 
+
+2016-09-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.0.1 
+
+  * NEWS, README, README.md: 
+  updated NEWS and README 
+
+2016-08-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  added link to reduced FF library to README 
+
+  * doc/dvisvgm.txt.in, src/FontWriter.cpp, src/FontWriter.hpp, 
+    src/SVGTree.cpp, src/SVGTree.hpp, src/ffwrapper.c: 
+  added option to autohint fonts created by the FontForge library 
+
+2016-08-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.hpp, src/FontManager.hpp, src/MetafontWrapper.hpp: 
+  adapted struct/class forward declarations 
+
+2016-08-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, src/FileFinder.hpp: 
+  removed unused variable 
+
+  * src/CLCommandLine.cpp: 
+  added missing cast to avoid compiler warning 
+
+  * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: 
+  set version to 2.0 
+
+  * README, README.md: 
+  updated README files 
+
+  * NEWS: 
+  updated NEWS 
+
+2016-08-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml: 
+  use Ubuntu Trusty for Travis builds 
+
+  * .travis.yml: 
+  Travis: prevent rebuilding files in folder 'src' when calling 'make 
+  check' 
+
+  * src/FontWriter.cpp, src/FontWriter.hpp, src/ffwrapper.c, 
+    src/ffwrapper.h: 
+  added missing copyright headers 
+
+2016-08-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, clipper/License.txt, clipper/Makefile.am, 
+    clipper/clipper.cpp, clipper/clipper.hpp, configure.ac, libs/Makefile.am, 
+    libs/clipper/License.txt, libs/clipper/Makefile.am, 
+    libs/clipper/clipper.cpp, libs/clipper/clipper.hpp, libs/xxHash/LICENSE, 
+    libs/xxHash/Makefile.am, libs/xxHash/xxhash.c, libs/xxHash/xxhash.h, 
+    src/Makefile.am, tests/Makefile.am, tests/create-makefile, 
+    xxHash/LICENSE, xxHash/Makefile.am, xxHash/xxhash.c, xxHash/xxhash.h: 
+  moved bundled libraries (clipper, xxHash) to subfolder 'libs' 
+
+  * configure.ac, doc/dvisvgm.txt.in, libs/Makefile.am, libs/woff2/LICENSE, 
+    libs/woff2/brotli/LICENSE, libs/woff2/brotli/enc/Makefile.am, 
+    libs/woff2/brotli/enc/backward_references.cc, 
+    libs/woff2/brotli/enc/backward_references.h, 
+    libs/woff2/brotli/enc/bit_cost.h, 
+    libs/woff2/brotli/enc/block_splitter.cc, 
+    libs/woff2/brotli/enc/block_splitter.h, 
+    libs/woff2/brotli/enc/brotli_bit_stream.cc, 
+    libs/woff2/brotli/enc/brotli_bit_stream.h, 
+    libs/woff2/brotli/enc/cluster.h, libs/woff2/brotli/enc/command.h, 
+    libs/woff2/brotli/enc/compress_fragment.cc, 
+    libs/woff2/brotli/enc/compress_fragment.h, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.cc, 
+    libs/woff2/brotli/enc/compress_fragment_two_pass.h, 
+    libs/woff2/brotli/enc/compressor.h, libs/woff2/brotli/enc/context.h, 
+    libs/woff2/brotli/enc/dictionary.cc, libs/woff2/brotli/enc/dictionary.h, 
+    libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.cc, 
+    libs/woff2/brotli/enc/encode.h, libs/woff2/brotli/enc/encode_parallel.cc, 
+    libs/woff2/brotli/enc/encode_parallel.h, 
+    libs/woff2/brotli/enc/entropy_encode.cc, 
+    libs/woff2/brotli/enc/entropy_encode.h, 
+    libs/woff2/brotli/enc/entropy_encode_static.h, 
+    libs/woff2/brotli/enc/fast_log.h, 
+    libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, 
+    libs/woff2/brotli/enc/histogram.cc, libs/woff2/brotli/enc/histogram.h, 
+    libs/woff2/brotli/enc/literal_cost.cc, 
+    libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/metablock.cc, 
+    libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/port.h, 
+    libs/woff2/brotli/enc/prefix.h, libs/woff2/brotli/enc/ringbuffer.h, 
+    libs/woff2/brotli/enc/static_dict.cc, 
+    libs/woff2/brotli/enc/static_dict.h, 
+    libs/woff2/brotli/enc/static_dict_lut.h, 
+    libs/woff2/brotli/enc/streams.cc, libs/woff2/brotli/enc/streams.h, 
+    libs/woff2/brotli/enc/transform.h, libs/woff2/brotli/enc/types.h, 
+    libs/woff2/brotli/enc/utf8_util.cc, libs/woff2/brotli/enc/utf8_util.h, 
+    libs/woff2/brotli/enc/write_bits.h, libs/woff2/brotli/tools/bro.cc, 
+    libs/woff2/brotli/tools/rfc-format.py, libs/woff2/brotli/tools/version.h, 
+    libs/woff2/src/Makefile.am, libs/woff2/src/buffer.h, 
+    libs/woff2/src/file.h, libs/woff2/src/font.cc, libs/woff2/src/font.h, 
+    libs/woff2/src/glyph.cc, libs/woff2/src/glyph.h, 
+    libs/woff2/src/normalize.cc, libs/woff2/src/normalize.h, 
+    libs/woff2/src/port.h, libs/woff2/src/round.h, 
+    libs/woff2/src/store_bytes.h, libs/woff2/src/table_tags.cc, 
+    libs/woff2/src/table_tags.h, libs/woff2/src/transform.cc, 
+    libs/woff2/src/transform.h, libs/woff2/src/variable_length.cc, 
+    libs/woff2/src/variable_length.h, libs/woff2/src/woff2_common.cc, 
+    libs/woff2/src/woff2_common.h, libs/woff2/src/woff2_dec.h, 
+    libs/woff2/src/woff2_enc.cc, libs/woff2/src/woff2_enc.h, 
+    libs/woff2/src/woff2_out.cc, libs/woff2/src/woff2_out.h, 
+    src/FontWriter.cpp, src/FontWriter.hpp, src/Makefile.am: 
+  added support for embedding WOFF2 fonts 
+
+2016-08-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XMLNode.hpp: 
+  added move constructors to XMLNode classes 
+
+2016-08-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontEngine.cpp: 
+  fixed sign of the font descender 
+
+  * configure.ac, doc/dvisvgm.txt.in, src/CommandLine.hpp, 
+    src/FontWriter.cpp, src/FontWriter.hpp, src/GraphicsPath.hpp, 
+    src/Makefile.am, src/SVGTree.cpp, src/SVGTree.hpp, src/XMLNode.cpp, 
+    src/XMLNode.hpp, src/dvisvgm.cpp, src/ffwrapper.c, src/ffwrapper.h, 
+    src/options.xml: 
+  added option --font-format to select the file format used to embed fonts 
+
+2016-08-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * xxHash/xxhash.c, xxHash/xxhash.h: 
+  updated xxHash to version 0.6.2 
+
+2016-08-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FixWord.hpp, src/Font.cpp, src/FontMetrics.hpp, src/SVGTree.cpp, 
+    src/TFM.cpp, src/TFM.hpp: 
+  added getters for ascent and descent to TFM-based fonts 
+
+2016-08-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Ghostscript.hpp: 
+  removed copy constructor of class Ghostscript 
+
+  * src/PathClipper.cpp: 
+  added missing initializers 
+
+2016-08-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/CLCommandLine.cpp, src/CLCommandLine.hpp, 
+    src/CommandLine.hpp, src/Makefile.am, src/dvisvgm.cpp, src/options.dtd, 
+    src/options.xml, src/version.hpp, src/version.hpp.in: 
+  added version.hpp to provide the current version number 
+
+2016-08-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIReader.hpp, src/Directory.cpp, 
+    src/Directory.hpp, src/FilePath.cpp, src/FilePath.hpp, src/Font.cpp, 
+    src/Font.hpp, src/FontManager.cpp, src/FontManager.hpp, src/GFReader.hpp, 
+    src/PageRanges.cpp, src/PageRanges.hpp, src/PageSize.cpp, 
+    src/PageSize.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp, 
+    src/VFActions.hpp, src/VFReader.cpp: 
+  pass string parameters by reference if possible 
+
+  * src/System.cpp, src/dvisvgm.cpp: 
+  minor refactorings of dvisvgm.cpp 
+
+  * src/Ghostscript.cpp, src/MiKTeXCom.cpp: 
+  replaced __WIN64__ with pre-defined _WIN64 
+
+2016-08-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CLCommandLine.cpp, src/CLCommandLine.hpp, src/CLOption.hpp, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.hpp, 
+    src/CommandLine.cpp, src/CommandLine.hpp, src/Makefile.am, 
+    src/dvisvgm.cpp, src/options.dtd, src/options.xml, 
+    tests/CommandLineTest.cpp: 
+  reimplemented the CommandLine parser class 
+
+  * src/CMap.cpp, src/CMapManager.cpp, src/CMapReader.cpp, src/EncFile.cpp, 
+    src/FileFinder.cpp, src/FileFinder.hpp, src/Font.cpp, 
+    src/FontEncoding.cpp, src/FontManager.cpp, src/FontMap.cpp, 
+    src/FontMetrics.cpp, src/Ghostscript.cpp, src/MetafontWrapper.cpp, 
+    src/PsSpecialHandler.cpp, src/Subfont.cpp, src/dvisvgm.cpp, 
+    tests/CMapManagerTest.cpp, tests/FileFinderTest.cpp, 
+    tests/MapLineTest.cpp, tests/SubfontTest.cpp: 
+  made FileFinder a singleton again 
+
+2016-07-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, 
+    src/FileSystem.cpp, src/FontCache.cpp, src/FontEngine.cpp, 
+    src/FontManager.cpp, src/GraphicsPath.hpp, src/PSInterpreter.cpp, 
+    src/PapersizeSpecialHandler.cpp, src/PathClipper.cpp, src/RangeMap.cpp, 
+    src/Subfont.cpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, 
+    src/XMLNode.cpp: 
+  replaced insert/push_back with emplace/emplace_back where useful 
+
+2016-07-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PathClipper.cpp: 
+  some minor refactorings of class PathClipper 
+
+  * src/CMapReader.cpp: 
+  minor refactoring of class CMapReader 
+
+2016-07-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontMap.cpp, src/FontMap.hpp: 
+  some syntactic refactorings of class FontMap 
+
+  * src/FontManager.cpp, src/FontManager.hpp: 
+  use unique_ptr to automatically release Font objects in class 
+  FontManager 
+
+2016-07-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/AGLTable.h, src/AGLTable.hpp, src/BasicDVIReader.cpp, 
+    src/BasicDVIReader.h, src/BasicDVIReader.hpp, src/Bezier.cpp, 
+    src/Bezier.h, src/Bezier.hpp, src/BgColorSpecialHandler.cpp, 
+    src/BgColorSpecialHandler.h, src/BgColorSpecialHandler.hpp, 
+    src/Bitmap.cpp, src/Bitmap.h, src/Bitmap.hpp, src/BoundingBox.cpp, 
+    src/BoundingBox.h, src/BoundingBox.hpp, src/CMap.cpp, src/CMap.h, 
+    src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.h, 
+    src/CMapManager.hpp, src/CMapReader.cpp, src/CMapReader.h, 
+    src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.h, src/CRC32.hpp, 
+    src/Calculator.cpp, src/Calculator.h, src/Calculator.hpp, 
+    src/CharMapID.cpp, src/CharMapID.h, src/CharMapID.hpp, src/Character.h, 
+    src/Character.hpp, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, 
+    src/CmdLineParserBase.hpp, src/Color.cpp, src/Color.h, src/Color.hpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/ColorSpecialHandler.hpp, src/CommandLine.cpp, src/CommandLine.h, 
+    src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.h, src/DLLoader.hpp, 
+    src/DVIActions.h, src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIReader.hpp, src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVG.hpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/DVIToSVGActions.hpp, 
+    src/DependencyGraph.h, src/DependencyGraph.hpp, src/Directory.cpp, 
+    src/Directory.h, src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h, src/DvisvgmSpecialHandler.hpp, 
+    src/EPSFile.cpp, src/EPSFile.h, src/EPSFile.hpp, src/EPSToSVG.cpp, 
+    src/EPSToSVG.h, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/EmSpecialHandler.hpp, src/EncFile.cpp, 
+    src/EncFile.h, src/EncFile.hpp, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileFinder.hpp, src/FilePath.cpp, src/FilePath.h, src/FilePath.hpp, 
+    src/FileSystem.cpp, src/FileSystem.h, src/FileSystem.hpp, src/FixWord.h, 
+    src/FixWord.hpp, src/Font.cpp, src/Font.h, src/Font.hpp, 
+    src/FontCache.cpp, src/FontCache.h, src/FontCache.hpp, 
+    src/FontEncoding.cpp, src/FontEncoding.h, src/FontEncoding.hpp, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontEngine.hpp, 
+    src/FontManager.cpp, src/FontManager.h, src/FontManager.hpp, 
+    src/FontMap.cpp, src/FontMap.h, src/FontMap.hpp, src/FontMetrics.cpp, 
+    src/FontMetrics.h, src/FontMetrics.hpp, src/FontStyle.h, 
+    src/FontStyle.hpp, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, 
+    src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.h, 
+    src/GFReader.hpp, src/GFTracer.cpp, src/GFTracer.h, src/GFTracer.hpp, 
+    src/Ghostscript.cpp, src/Ghostscript.h, src/Ghostscript.hpp, src/Glyph.h, 
+    src/Glyph.hpp, src/GlyphTracerMessages.h, src/GlyphTracerMessages.hpp, 
+    src/GraphicsPath.h, src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/HtmlSpecialHandler.hpp, 
+    src/InputBuffer.cpp, src/InputBuffer.h, src/InputBuffer.hpp, 
+    src/InputReader.cpp, src/InputReader.h, src/InputReader.hpp, src/JFM.cpp, 
+    src/JFM.h, src/JFM.hpp, src/Length.cpp, src/Length.h, src/Length.hpp, 
+    src/Makefile.am, src/MapLine.cpp, src/MapLine.h, src/MapLine.hpp, 
+    src/Matrix.cpp, src/Matrix.h, src/Matrix.hpp, src/Message.cpp, 
+    src/Message.h, src/Message.hpp, src/MessageException.h, 
+    src/MessageException.hpp, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h, 
+    src/MiKTeXCom.hpp, src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, 
+    src/NoPsSpecialHandler.hpp, src/NumericRanges.h, src/NumericRanges.hpp, 
+    src/PSFilter.h, src/PSFilter.hpp, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PSInterpreter.hpp, src/PSPattern.cpp, 
+    src/PSPattern.h, src/PSPattern.hpp, src/PSPreviewFilter.cpp, 
+    src/PSPreviewFilter.h, src/PSPreviewFilter.hpp, src/PageRanges.cpp, 
+    src/PageRanges.h, src/PageRanges.hpp, src/PageSize.cpp, src/PageSize.h, 
+    src/PageSize.hpp, src/Pair.h, src/Pair.hpp, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h, 
+    src/PapersizeSpecialHandler.hpp, src/PathClipper.cpp, src/PathClipper.h, 
+    src/PathClipper.hpp, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, 
+    src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.h, src/PreScanDVIReader.hpp, src/Process.cpp, 
+    src/Process.h, src/Process.hpp, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/PsSpecialHandler.hpp, src/RangeMap.cpp, 
+    src/RangeMap.h, src/RangeMap.hpp, src/SVGCharHandler.cpp, 
+    src/SVGCharHandler.h, src/SVGCharHandler.hpp, 
+    src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h, 
+    src/SVGCharHandlerFactory.hpp, src/SVGCharPathHandler.cpp, 
+    src/SVGCharPathHandler.h, src/SVGCharPathHandler.hpp, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h, 
+    src/SVGCharTspanTextHandler.hpp, src/SVGOutput.cpp, src/SVGOutput.h, 
+    src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGSingleCharTextHandler.h, src/SVGSingleCharTextHandler.hpp, 
+    src/SVGTree.cpp, src/SVGTree.h, src/SVGTree.hpp, src/ShadingPatch.cpp, 
+    src/ShadingPatch.h, src/ShadingPatch.hpp, src/SignalHandler.cpp, 
+    src/SignalHandler.h, src/SignalHandler.hpp, src/SpecialActions.h, 
+    src/SpecialActions.hpp, src/SpecialHandler.h, src/SpecialHandler.hpp, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/SpecialManager.hpp, 
+    src/StreamReader.cpp, src/StreamReader.h, src/StreamReader.hpp, 
+    src/StreamWriter.cpp, src/StreamWriter.h, src/StreamWriter.hpp, 
+    src/Subfont.cpp, src/Subfont.h, src/Subfont.hpp, src/System.cpp, 
+    src/System.h, src/System.hpp, src/TFM.cpp, src/TFM.h, src/TFM.hpp, 
+    src/TensorProductPatch.cpp, src/TensorProductPatch.h, 
+    src/TensorProductPatch.hpp, src/Terminal.cpp, src/Terminal.h, 
+    src/Terminal.hpp, src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, 
+    src/ToUnicodeMap.hpp, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/TpicSpecialHandler.hpp, 
+    src/TriangularPatch.cpp, src/TriangularPatch.h, src/TriangularPatch.hpp, 
+    src/Unicode.cpp, src/Unicode.h, src/Unicode.hpp, src/VFActions.h, 
+    src/VFActions.hpp, src/VFReader.cpp, src/VFReader.h, src/VFReader.hpp, 
+    src/VectorIterator.h, src/VectorIterator.hpp, src/VectorStream.h, 
+    src/VectorStream.hpp, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.h, src/XMLNode.hpp, 
+    src/XMLString.cpp, src/XMLString.h, src/XMLString.hpp, 
+    src/ZLibOutputStream.h, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, 
+    src/macros.h, src/macros.hpp, src/psdefs.cpp, tests/BezierTest.cpp, 
+    tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, 
+    tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, 
+    tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, 
+    tests/EmSpecialTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FilePathTest.cpp, tests/FileSystemTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, 
+    tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GhostscriptTest.cpp, tests/GraphicsPathTest.cpp, 
+    tests/JFMReaderTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MapLineTest.cpp, tests/MatrixTest.cpp, 
+    tests/MessageExceptionTest.cpp, tests/PSInterpreterTest.cpp, 
+    tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/RangeMapTest.cpp, tests/SVGOutputTest.cpp, 
+    tests/ShadingPatchTest.cpp, tests/SplittedCharInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, 
+    tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, 
+    tests/TFMReaderTest.cpp, tests/TensorProductPatchTest.cpp, 
+    tests/ToUnicodeMapTest.cpp, tests/TriangularPatchTest.cpp, 
+    tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, 
+    tests/VectorStreamTest.cpp, tests/XMLNodeTest.cpp, 
+    tests/XMLStringTest.cpp, tests/create-makefile: 
+  renamed filename extension of C++ headers to .hpp 
+
+2016-07-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMapManager.cpp, src/CMapManager.h, src/FileFinder.cpp, 
+    src/Font.cpp, src/Font.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, tests/XMLNodeTest.cpp: 
+  use smart pointers to release heap memory 
+
+  * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: 
+  create BoxMap object directly, avoid new/delete 
+
+2016-07-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/AGLTable.h, src/Color.cpp, src/Unicode.cpp, tests/genhashcheck.py: 
+  replaced repeated binary search implementations with calls of 
+  lower_bound() 
+
+2016-07-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, src/Message.cpp: 
+  initialize maps with initializer-lists 
+
+2016-07-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Length.cpp, src/TpicSpecialHandler.cpp: 
+  replaced 'id macros' with constexpr functions 
+
+2016-07-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TFM.cpp: 
+  added missing initializers 
+
+  * src/dvisvgm.cpp: 
+  catch exception in set_cache_dir() 
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.16 
+
+  * NEWS, README.md: 
+  updated NEWS and README 
+
+2016-07-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, m4/ax_cxx_compile_stdcxx.m4: 
+  switch from C++03 to C++11 
+
+  * src/NumericRanges.h, src/PapersizeSpecialHandler.cpp, src/Unicode.cpp, 
+    src/VFReader.cpp: 
+  replaced static callback functions with lambdas 
+
+  * src/CMapReader.cpp, src/CMapReader.h, src/CmdLineParserBase.cpp, 
+    src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, src/CommandLine.cpp, 
+    src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/EmSpecialHandler.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp, 
+    src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.h, 
+    src/Length.cpp, src/Length.h, src/PathClipper.cpp, 
+    src/PsSpecialHandler.cpp, src/SVGTree.cpp, src/ShadingPatch.cpp, 
+    src/TensorProductPatch.h, tests/BoundingBoxTest.cpp, 
+    tests/LengthTest.cpp, tests/ShadingPatchTest.cpp, 
+    tests/TensorProductPatchTest.cpp, tests/TriangularPatchTest.cpp: 
+  replaced some enums with enum classes 
+
+  * clipper/clipper.hpp, src/AGLTable.h, src/BasicDVIReader.cpp, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.h, src/CMap.cpp, 
+    src/CMap.h, src/CMapReader.cpp, src/CRC32.cpp, src/CRC32.h, 
+    src/CharMapID.h, src/Character.h, src/Color.cpp, src/Color.h, 
+    src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/EPSFile.cpp, src/EPSFile.h, src/EncFile.cpp, src/EncFile.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/FixWord.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMetrics.cpp, 
+    src/FontMetrics.h, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, 
+    src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, 
+    src/Glyph.h, src/GlyphTracerMessages.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/JFM.cpp, src/JFM.h, src/Makefile.am, 
+    src/Message.h, src/Pair.h, src/PathClipper.cpp, src/PreScanDVIReader.cpp, 
+    src/PsSpecialHandler.h, src/RangeMap.cpp, src/RangeMap.h, 
+    src/SVGCharHandler.h, src/SVGCharPathHandler.cpp, 
+    src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.cpp, 
+    src/SVGCharTspanTextHandler.h, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGSingleCharTextHandler.h, src/StreamReader.cpp, src/StreamReader.h, 
+    src/StreamWriter.cpp, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, 
+    src/TFM.cpp, src/TFM.h, src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, 
+    src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/XMLString.cpp, src/types.h, tests/BitmapTest.cpp, 
+    tests/CRC32Test.cpp, tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, 
+    tests/JFMReaderTest.cpp, tests/Makefile.am, tests/StreamReaderTest.cpp, 
+    tests/TriangularPatchTest.cpp, tests/TypesTest.cpp, 
+    tests/UnicodeTest.cpp: 
+  replaced own fixed-sized integer types with types from cstdint 
+
+  * AUTHORS, LGPL-2.1.txt, Makefile.am, gzstream/COPYING.LIB, 
+    gzstream/Makefile, gzstream/README, gzstream/gzstream.cpp, 
+    gzstream/gzstream.h, gzstream/index.html, gzstream/logo.gif, 
+    gzstream/test_gunzip.C, gzstream/test_gzip.C, gzstream/version, 
+    src/Makefile.am, src/SVGOutput.cpp, src/SVGOutput.h, 
+    src/ZLibOutputStream.h, src/dvisvgm.cpp, src/gzstream.cpp, 
+    src/gzstream.h, tests/Makefile.am, tests/SVGOutputTest.cpp, 
+    tests/create-makefile: 
+  replaced old gzstream classes 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/Font.cpp, src/Font.h, 
+    src/FontManager.cpp, src/FontManager.h, src/VFActions.h, 
+    src/VFReader.cpp: 
+  transfer DVI snippet of a VF char by move semantics rather than by heap 
+  pointer 
+
+2016-07-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.cpp, src/BoundingBox.h, src/CMapManager.cpp, 
+    src/CmdLineParserBase.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/DependencyGraph.h, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, 
+    src/FileFinder.cpp, src/FilePath.cpp, src/FilePath.h, src/Font.cpp, 
+    src/FontCache.cpp, src/FontEncoding.cpp, src/FontManager.cpp, 
+    src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, 
+    src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/NumericRanges.h, 
+    src/PSPattern.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp, 
+    src/SVGTree.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/Subfont.cpp, src/Subfont.h, src/TpicSpecialHandler.cpp, 
+    src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/macros.h: 
+  use range-based 'for' loop to iterate over containers; drop FORALL macro 
+
+  * clipper/clipper.hpp, src/BgColorSpecialHandler.h, src/Bitmap.cpp, 
+    src/CMap.h, src/CmdLineParserBase.h, src/ColorSpecialHandler.h, 
+    src/CommandLine.h, src/DVIReader.h, src/DVIToSVG.h, 
+    src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/EPSToSVG.h, 
+    src/EmSpecialHandler.h, src/EncFile.h, src/Font.h, src/FontCache.cpp, 
+    src/FontEncoding.h, src/FontMetrics.h, src/GFGlyphTracer.h, 
+    src/GFReader.h, src/GFTracer.h, src/GlyphTracerMessages.h, 
+    src/GraphicsPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.h, 
+    src/InputReader.h, src/JFM.h, src/MessageException.h, 
+    src/NoPsSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h, 
+    src/PapersizeSpecialHandler.h, src/PathClipper.cpp, 
+    src/PdfSpecialHandler.h, src/PreScanDVIReader.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.h, src/SVGOutput.h, 
+    src/SVGSingleCharTextHandler.h, src/SpecialActions.h, src/TFM.h, 
+    src/TensorProductPatch.h, src/TpicSpecialHandler.h, 
+    src/TriangularPatch.h, src/VectorStream.h, src/XMLNode.h: 
+  mark overridden methods with 'override' keyword 
+
+  * src/PsSpecialHandler.cpp: 
+  use unique_ptr rather than deprecated auto_ptr 
+
+  * src/BasicDVIReader.h, src/Bitmap.h, src/CMap.h, src/CmdLineParserBase.h, 
+    src/DVIActions.h, src/Font.h, src/FontEncoding.h, src/FontMetrics.h, 
+    src/GFGlyphTracer.h, src/GFReader.h, src/GFTracer.h, src/GraphicsPath.h, 
+    src/InputBuffer.h, src/InputReader.h, src/MessageException.h, 
+    src/PSFilter.h, src/PSInterpreter.h, src/PSPattern.h, 
+    src/SVGCharHandler.h, src/SVGOutput.h, src/ShadingPatch.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/StreamReader.h, 
+    src/StreamWriter.h, src/Subfont.h, src/VFActions.h, src/XMLNode.h: 
+  replaced empty virtual destructors with default ones 
+
+2016-07-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.h, src/DVIActions.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FontManager.cpp, 
+    src/FontManager.h, src/PreScanDVIReader.h, src/dvisvgm.cpp: 
+  refactored the DVI reader classes
+- added higher-level template methods 
+  to process the DVI commands more safely
+- moved triggering of DVIActions 
+  from DVIReader to DVIToSVG 
+
+2016-06-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/DVIToSVG.cpp, 
+    src/dvisvgm.cpp: 
+  fixed computation of bounding boxes modified by relative --bbox argument 
+
+  * xxHash/xxhash.c, xxHash/xxhash.h: 
+  updated xxHash to version 0.6.1 
+
+2016-06-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: 
+  minor improvements to TFM/JFM tests 
+
+2016-06-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/VectorStream.h, tests/VectorStreamTest.cpp: 
+  refactored VectorStreamBuffer to keep constness of assigned vector 
+
+  * src/GFReader.cpp: 
+  ensure validity of postpost command in GFReader::executePostamble() 
+
+2016-06-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DvisvgmSpecialHandler.cpp, src/TFM.cpp, src/VFReader.cpp: 
+  replaced local definitions of pt2bp with Length::pt2bp 
+
+  * src/XMLNode.h: 
+  added ouput operators for the XML node objects 
+
+  * src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, 
+    tests/EmSpecialTest.cpp, tests/Makefile.am: 
+  improved the emTeX special handler; added EmSpecialTest 
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp: 
+  fixed unit conversion in BoundingBox class 
+
+2016-06-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/Length.cpp, src/Length.h, tests/LengthTest.cpp: 
+  added dd, cc, and sp units to class Length; fixed factor pt2pc 
+
+2016-06-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * xxHash/xxhash.c, xxHash/xxhash.h: 
+  updated xxHash to version 0.6.0 
+
+  * src/DLLoader.cpp, src/DLLoader.h, src/Directory.cpp, src/Directory.h, 
+    src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, src/GFTracer.cpp, 
+    src/Ghostscript.cpp, src/Ghostscript.h, src/Message.cpp, 
+    src/MetafontWrapper.cpp, src/Process.cpp, src/Terminal.cpp, 
+    src/Terminal.h, src/dvisvgm.cpp: 
+  cleaned up Windows-related #defines 
+
+2016-06-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CommandLine.cpp: 
+  removed redundant #includes 
+
+  * src/Length.cpp, src/Length.h, tests/LengthTest.cpp: 
+  added functions to convert between Length::Unit and std::string 
+
+2016-06-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMapManager.cpp, src/CMapManager.h, src/DVIActions.h, 
+    src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/Font.h, 
+    src/FontEngine.h, src/FontManager.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h, 
+    src/SVGCharHandler.cpp, src/SVGCharHandler.h, src/SVGCharPathHandler.cpp, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp, 
+    src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.h, src/XMLDocument.cpp, src/XMLNode.h, 
+    tests/XMLNodeTest.cpp: 
+  changed some structs to classes and replaced #includes with forward 
+  declarations 
+
+  * src/SVGCharHandler.h: 
+  added missing initializer to class SVGCharHandler 
+
+2016-06-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h, src/EPSToSVG.cpp, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/NoPsSpecialHandler.cpp, 
+    src/NoPsSpecialHandler.h, src/PSPattern.cpp, src/PSPattern.h, 
+    src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, tests/ColorSpecialTest.cpp, 
+    tests/DvisvgmSpecialTest.cpp: 
+  refactored handling of SpecialAction objects 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SVGTree.cpp, 
+    src/SVGTree.h: 
+  refactored processing of end-of-page (eop) commands 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/Makefile.am, 
+    src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h, 
+    src/PsSpecialHandler.cpp, src/dvisvgm.cpp: 
+  added evaluation of PS special 'papersize=' 
+
+2016-06-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp: 
+  fixed transformation of background color rectange 
+
+2016-05-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/EPSToSVG.cpp: 
+  reworded messages printed after finishing a conversion 
+
+2016-05-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.cpp, src/Font.cpp, src/Makefile.am, 
+    src/SVGCharHandler.cpp, src/SVGCharHandler.h, 
+    src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h, 
+    src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.h, 
+    src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h, 
+    src/SVGSingleCharTextHandler.cpp, src/SVGSingleCharTextHandler.h, 
+    src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp: 
+  replaced static SVG text backend by specialized handler classes 
+
+  * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bezier.h, 
+    src/TensorProductPatch.h, src/TriangularPatch.h: 
+  replaced leading spaces with tabs 
+
+2016-05-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.cpp, src/DVIReader.cpp: 
+  fixed handling of subfont index in native font definition of XDV 7 
+
+2016-05-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLNode.h, 
+    tests/DvisvgmSpecialTest.cpp: 
+  prevent line wrapping inside text nodes 
+
+2016-05-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, 
+    src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIToSVG.cpp: 
+  reworded 'DVI format' to 'DVI (format) version' 
+
+  * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, 
+    src/BasicDVIReader.h, src/DVIReader.cpp: 
+  added support for XDV version 7 introduced by XeTeX 0.99995 
+
+2016-05-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TFM.cpp: 
+  prevent reading more than 7 TFM param values (fixes #58) 
+
+  * .travis.yml: 
+  temporarily drop clang from Travis builds 
+
+2016-05-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/JFM.cpp, src/JFM.h, src/TFM.cpp, src/TFM.h: 
+  TFM: store design size in bp units rather than as fixword 
+
+  * src/FontMetrics.h, src/JFM.cpp, src/TFM.cpp, src/TFM.h: 
+  added methods to query space-related parameters from TFM/JFM files 
+
+  * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: 
+  fixed calculation of character dimensions in TFM class 
+
+2016-04-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Process.cpp: 
+  fixed collecting stdout/stderr output when executing a process 
+
+2016-04-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMap.h, src/CMapReader.cpp, tests/CMapManagerTest.cpp, 
+    tests/Makefile.am, tests/data/Makefile.am, tests/data/ot1.cmap: 
+  added CMapManagerTest 
+
+2016-04-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.15.1 
+
+  * NEWS, README, README.md: 
+  updated NEWS and README 
+
+2016-04-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Calculator.cpp, src/Matrix.cpp: 
+  use std::ws to skip whitespace in istreams 
+
+  * src/Matrix.cpp: 
+  avoid adding trailing EOF characters when parsing parameters of 
+  transformation commands 
+
+  * tests/CMapReaderTest.cpp: 
+  improved CMapReaderTest 
+
+2016-04-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/AGLTable.h, src/Makefile.am, src/Unicode.cpp, tests/Makefile.am, 
+    tests/create-makefile, tests/genhashcheck.py: 
+  moved AGL hash table from Unicode.cpp to a separate file 
+
+2016-04-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XMLDocument.cpp: 
+  explicitly specify UTF-8 encoding in XML declaration (closes #54) 
+
+  * src/Unicode.cpp, tests/UnicodeTest.cpp: 
+  added support for the AGL character names 'uniFOO' and 'uFOO' 
+
+2016-03-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GraphicsPath.h: 
+  renamed GraphicsPath::sconito/scubicto 
+
+2016-03-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/db2html.xsl: 
+  adapted db2html to insert anchors for each option entry 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/SVGTree.cpp, src/SVGTree.h: 
+  changed font parameter of setFont() methods from pointer to reference 
+
+  * src/SVGTree.cpp, src/SVGTree.h: 
+  split text and path section of SVGTree::appendChar() into seperate 
+  methods 
+
+2016-02-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS: 
+  updated NEWS 
+
+2016-02-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/Font.cpp, src/Font.h, src/SVGTree.cpp, src/SVGTree.h, 
+    src/dvisvgm.cpp, src/options.xml: 
+  added option --comments (adds comments with additional information to 
+  the SVG file 
+
+  * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp: 
+  renamed Unicode::psNameToCodepoint() to Unicode::aglNameToCodepoint 
+
+  * src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp, 
+    src/FileSystem.h, src/Font.cpp, src/MetafontWrapper.cpp, src/dvisvgm.cpp: 
+  changed string parameters of FileSystem functions to type std::string 
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.15 
+
+2016-02-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontEngine.cpp: 
+  reworded error messages of class FontEngine 
+
+  * src/MetafontWrapper.cpp, src/Process.cpp: 
+  avoid reading Metafont logfiles to extract the GF filename 
+
+  * configure.ac, src/FileFinder.cpp, src/FileFinder.h, 
+    tests/FileFinderTest.cpp, tests/GFGlyphTracerTest.cpp, 
+    tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp, tests/Makefile.am, 
+    tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.600gf, 
+    tests/cmr10.tfm, tests/create-makefile, tests/data/Makefile.am, 
+    tests/data/cidjmgr0-h.tfm, tests/data/cmr10.600gf, tests/data/cmr10.tfm, 
+    tests/data/dvipdfm_test.map, tests/data/dvips_test.map, 
+    tests/data/frktest-nf-cmp.svg, tests/data/frktest-wf-cmp.svg, 
+    tests/data/frktest.dvi, tests/data/sample-nf-cmp.svg, 
+    tests/data/sample-wf-cmp.svg, tests/data/sample.dvi, 
+    tests/data/sample.sfd, tests/dvipdfm_test.map, tests/dvips_test.map, 
+    tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, tests/frktest.dvi, 
+    tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg, tests/sample.dvi, 
+    tests/sample.sfd: 
+  moved test data files to subfolder 
+
+2016-02-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/FileFinderTest.cpp, tests/GFReaderTest.cpp, 
+    tests/SVGOutputTest.cpp: 
+  avoid implicit casts of ifstream/ozstream objects in tests 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, 
+    tests/CommandLineTest.cpp: 
+  minor improvements of class CommandLineTest 
+
+  * src/XMLNode.cpp, tests/DvisvgmSpecialTest.cpp: 
+  improved DvisvgmSpecialTest 
+
+  * src/FontEngine.cpp, src/FontEngine.h: 
+  removed redundant code from class FontEngine 
+
+2016-02-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  don't remove clipping paths that consist of single moveto commands only 
+
+2016-02-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.cpp, src/BoundingBox.cpp, src/CMap.cpp, src/CMapManager.cpp, 
+    src/Calculator.cpp, src/CommandLine.cpp, src/DVIReader.cpp, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/Directory.cpp, src/Directory.h, src/EPSToSVG.cpp, src/EncFile.cpp, 
+    src/FileFinder.cpp, src/Font.cpp, src/FontCache.h, src/FontEngine.cpp, 
+    src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp, 
+    src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, 
+    src/HtmlSpecialHandler.cpp, src/InputReader.cpp, src/MapLine.cpp, 
+    src/MetafontWrapper.cpp, src/PSInterpreter.cpp, 
+    src/PdfSpecialHandler.cpp, src/Process.cpp, src/PsSpecialHandler.cpp, 
+    src/SVGTree.cpp, src/SpecialManager.cpp, src/StreamReader.cpp, 
+    src/StreamWriter.cpp, src/Subfont.cpp, src/TFM.cpp, 
+    src/TensorProductPatch.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp, 
+    src/XMLDocument.cpp, src/dvisvgm.cpp, tests/XMLStringTest.cpp: 
+  minor code cleanup (removed redundant includes, added casts) 
+
+2016-01-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * m4/ax_code_coverage.m4: 
+  updated m4 code coverage script to latest version 
+
+  * src/JFM.h, tests/JFMReaderTest.cpp, tests/Makefile.am, 
+    tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.tfm, 
+    tests/create-makefile: 
+  added tests for the TFM and JFM classes 
+
+2016-01-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GraphicsPath.h, tests/GraphicsPathTest.cpp: 
+  fixed access of invalid iterator 
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.14.2 
+
+  * NEWS, README.md: 
+  updated NEWS 
+
+2016-01-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  added generic info about the command-line interface to the manpage 
+
+  * doc/db2html.xsl: 
+  updated links to Bootstrap and Font Awesome in stylesheet db2html.xsl 
+
+  * src/dvisvgm.cpp, xxHash/xxhash.c, xxHash/xxhash.h: 
+  updated xxHash to version 0.5.0 
+
+  * tests/Makefile.am, tests/create-makefile, tests/genhashcheck.py: 
+  added test to check the validity of the char name hashes used in 
+  Unicode.cpp 
+
+2016-01-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/ColorSpecialHandler.cpp, 
+    src/ColorSpecialHandler.h, tests/ColorSpecialTest.cpp: 
+  removed check for 'background' special from ColorSpecialHandler 
+
+2016-01-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.h, src/FontStyle.h, src/SVGTree.cpp, 
+    src/TriangularPatch.cpp: 
+  updated/fixed some comments 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: 
+  corrected handling of background color special across DVI pages 
+
+2016-01-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GFReader.cpp, src/GFReader.h: 
+  added checks for misplaced GF commands 
+
+  * NEWS: 
+  updated NEWS 
+
+2016-01-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml: 
+  force Travis to use legacy builds due to an issue with clang and gtest 
+
+  * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, 
+    doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, 
+    doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, src/BasicDVIReader.h, 
+    src/Bezier.cpp, src/Bezier.h, src/BgColorSpecialHandler.cpp, 
+    src/BgColorSpecialHandler.h, src/Bitmap.cpp, src/Bitmap.h, 
+    src/BoundingBox.cpp, src/BoundingBox.h, src/CMap.cpp, src/CMap.h, 
+    src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, 
+    src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, 
+    src/Calculator.h, src/CharMapID.cpp, src/CharMapID.h, src/Character.h, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, 
+    src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/DependencyGraph.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, 
+    src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, 
+    src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicsPath.h, 
+    src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.h, 
+    src/InputBuffer.cpp, src/InputBuffer.h, src/InputReader.cpp, 
+    src/InputReader.h, src/JFM.cpp, src/JFM.h, src/Length.cpp, src/Length.h, 
+    src/Makefile.am, src/MapLine.cpp, src/MapLine.h, src/Matrix.cpp, 
+    src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/MiKTeXCom.cpp, 
+    src/MiKTeXCom.h, src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, 
+    src/NumericRanges.h, src/PSFilter.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PSPattern.cpp, src/PSPattern.h, 
+    src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PageRanges.cpp, 
+    src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, 
+    src/PathClipper.cpp, src/PathClipper.h, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.h, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.h, src/Process.cpp, src/Process.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/RangeMap.cpp, 
+    src/RangeMap.h, src/SVGOutput.cpp, src/SVGOutput.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/ShadingPatch.cpp, src/ShadingPatch.h, 
+    src/SignalHandler.cpp, src/SignalHandler.h, src/SpecialActions.h, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, 
+    src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, src/System.cpp, 
+    src/System.h, src/TFM.cpp, src/TFM.h, src/TensorProductPatch.cpp, 
+    src/TensorProductPatch.h, src/Terminal.cpp, src/Terminal.h, 
+    src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/TriangularPatch.cpp, src/TriangularPatch.h, 
+    src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/VectorIterator.h, src/VectorStream.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, 
+    src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, 
+    tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, 
+    tests/CMapReaderTest.cpp, tests/CMapTest.cpp, tests/CRC32Test.cpp, 
+    tests/CalculatorTest.cpp, tests/ColorSpecialTest.cpp, 
+    tests/ColorTest.cpp, tests/CommandLineTest.cpp, 
+    tests/DependencyGraphTest.cpp, tests/DirectoryTest.cpp, 
+    tests/DvisvgmSpecialTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FilePathTest.cpp, tests/FileSystemTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, 
+    tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GraphicsPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MapLineTest.cpp, tests/MatrixTest.cpp, 
+    tests/MessageExceptionTest.cpp, tests/PSInterpreterTest.cpp, 
+    tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/RangeMapTest.cpp, tests/SVGOutputTest.cpp, 
+    tests/ShadingPatchTest.cpp, tests/SplittedCharInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, 
+    tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, 
+    tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, 
+    tests/TriangularPatchTest.cpp, tests/TypesTest.cpp, 
+    tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, 
+    tests/VectorStreamTest.cpp, tests/XMLNodeTest.cpp, 
+    tests/XMLStringTest.cpp, tests/check-conv, tests/create-makefile, 
+    tests/normalize.xsl: 
+  updated year in copyright statements to 2016 
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.14.1 
+
+2015-12-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  reset PS graphics state at end of every DVI page 
+
+2015-12-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.14 
+
+  * NEWS: 
+  updated NEWS 
+
+2015-12-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  added evaluation of PSTricks specials 'pst:' and 'PST:' 
+
+2015-12-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp: 
+  lookup files in the current working directory before searching the texmf 
+  tree 
+
+  * src/GraphicsPath.h, tests/GraphicsPathTest.cpp: 
+  fixed memory issue in class GraphicsPath<T> 
+
+2015-12-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.h, 
+    src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PsSpecialHandler.cpp, 
+    src/SpecialActions.h, src/dvisvgm.cpp: 
+  added option --bbox=preview; adapt preview data if --bbox=min 
+
+2015-12-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp: 
+  return entire kpathsea version string if it doesn't start with 
+  'kpathsea' 
+
+  * tests/GhostscriptTest.cpp: 
+  prevent opening a graphics window when running GhostscriptTest 
+
+2015-12-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.13 
+
+  * NEWS: 
+  updated NEWS 
+
+  * clipper/clipper.cpp, clipper/clipper.hpp: 
+  replaced DOS line endings of the Clipper sources to Unix ones 
+
+2015-12-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Font.h, src/Glyph.h, src/GraphicPath.h, 
+    src/GraphicsPath.h, src/Makefile.am, src/PathClipper.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/ShadingPatch.h, 
+    src/TensorProductPatch.cpp, src/TensorProductPatch.h, 
+    src/TpicSpecialHandler.cpp, src/TriangularPatch.cpp, 
+    src/TriangularPatch.h, tests/GraphicPathTest.cpp, 
+    tests/GraphicsPathTest.cpp, tests/Makefile.am, 
+    tests/TensorProductPatchTest.cpp, tests/TriangularPatchTest.cpp: 
+  renamed class GraphicPath to GraphicsPath 
+
+2015-11-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  added a couple of links to the manpage 
+
+  * src/GraphicPath.h, src/PsSpecialHandler.cpp: 
+  remove redundant moveto commands from graphics paths 
+
+2015-11-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.cpp, src/EPSToSVG.cpp: 
+  remove progress message before printing a PS error message 
+
+  * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: 
+  removed redundant methods 
+
+2015-11-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.cpp: 
+  added evaluation of PS operators ashow, awidthshow, and widthshow (fixes 
+  #49) 
+
+  * xxHash/xxhash.c: 
+  updated xxHash to version r42 
+
+2015-11-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/psdefs.cpp: 
+  minor code cleanup and reordering 
+
+  * src/psdefs.cpp: 
+  reduce rounding errors produced by PS operator 'charpath' 
+
+  * src/psdefs.cpp: 
+  propagate call of PS operator 'setcolor' to the PS handler 
+
+2015-11-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.12 
+
+  * NEWS: 
+  updated NEWS 
+
+2015-11-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontManager.cpp: 
+  removed redundant #include 
+
+  * src/FontEngine.cpp: 
+  treat character code as character index if no font mapping is set 
+
+2015-11-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  updated links to Google Test framework 
+
+2015-11-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.cpp, tests/ColorTest.cpp: 
+  renamed Color::setName() to Color::setPSName() 
+
+  * tests/Makefile.am, tests/ShadingPatch.cpp, tests/ShadingPatchTest.cpp: 
+  renamed ShadingPatchTest 
+
+  * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/CommandLine.cpp, 
+    src/CommandLine.h, src/DVIToSVGActions.cpp, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.cpp, src/PSPattern.cpp, src/PsSpecialHandler.cpp, 
+    src/SVGTree.cpp, src/TpicSpecialHandler.cpp, src/dvisvgm.cpp, 
+    src/options.xml, tests/ColorTest.cpp: 
+  added option --colornames to replace RGB color values with SVG color 
+  names 
+
+2015-10-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Process.cpp, src/Process.h: 
+  fixed invalid access to freed string memory 
+
+2015-10-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in: 
+  minor improvements of the manual page 
+
+2015-09-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README, README.md: 
+  updated NEWS and README files 
+
+2015-09-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.11 
+
+2015-09-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/ToUnicodeMap.cpp, src/Unicode.cpp, src/Unicode.h, 
+    tests/UnicodeTest.cpp: 
+  improved handling of invalid Unicode points 
+
+  * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp: 
+  renamed Unicode::psName2Codepoint to Unicode::psNameToCodepoint 
+
+2015-09-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp: 
+  prevent creating 0x00 codepoints if PS character name is unknown 
+
+  * src/HtmlSpecialHandler.cpp: 
+  quote XML metacharacters in xlink:title attributes 
+
+  * src/CmdLineParserBase.h, src/InputReader.h: 
+  changed 'struct InputReader' to 'class InputReader' 
+
+2015-09-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/SVGTree.cpp: 
+  force creating a new text element after appending a different node to 
+  the page 
+
+2015-08-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  minor updates to README and README.md 
+
+2015-07-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/GhostscriptTest.cpp, tests/Makefile.am: 
+  added GhostscriptTest 
+
+  * tests/UnicodeTest.cpp: 
+  improved UnicodeTest 
+
+  * tests/CommandLineTest.cpp, tests/MessageExceptionTest.cpp: 
+  use ASSERT_STREQ in tests 
+
+2015-07-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md, doc/dvisvgm.txt.in: 
+  updated links to project website again (relocated to 
+  dvisvgm.bplaced.net) 
+
+2015-07-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md, doc/dvisvgm.txt.in: 
+  updated info about new project website 
+
+2015-07-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.10 
+
+  * NEWS: 
+  updated NEWS 
+
+2015-07-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, 
+    src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIReader.h, src/Font.h, 
+    src/FontManager.cpp, src/FontManager.h: 
+  added support for new XDV format 6 
+
+2015-07-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  updated README 
+
+2015-07-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/dvisvgm.cpp: 
+  check for option --help before initializing the FileFinder 
+
+  * src/MiKTeXCom.cpp: 
+  added some comments to MiKTeXCom.cpp 
+
+2015-07-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/BezierTest.cpp: 
+  removed #include "debug.h" from test 
+
+  * Makefile.am, configure.ac, xxHash/LICENSE, xxHash/Makefile.am, 
+    xxHash/xxhash.c, xxHash/xxhash.h: 
+  added xxHash library (https://github.com/Cyan4973/xxHash) 
+
+  * src/Font.cpp, src/Makefile.am, src/Unicode.cpp, src/Unicode.h, 
+    tests/Makefile.am, tests/create-makefile: 
+  added mapping from character names to unicode for PostScript fonts 
+
+2015-04-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml, configure.ac, src/Doxyfile: 
+  set version to 1.9.2 
+
+  * NEWS, README.md: 
+  updated NEWS and README.md 
+
+  * src/SVGTree.cpp: 
+  apply --precision settings to font-size attributes too 
+
+2015-04-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/SVGOutputTest.cpp: 
+  remove output files created by SVGOutputTest::getPageStream() 
+
+2015-04-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README.md: 
+  minor additions to README.md 
+
+2015-03-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GlyphTracerMessages.h: 
+  always skip tracer message if no glyphs have been traced 
+
+  * src/GFReader.cpp, src/GFReader.h, tests/GFReaderTest.cpp: 
+  improved GFReaderTest 
+
+2015-03-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GFGlyphTracer.cpp, src/GFTracer.h, tests/GFGlyphTracerTest.cpp, 
+    tests/Makefile.am: 
+  ensure GFGlyphTracer::executeChar() returns the correct status; added 
+  GFGlyphtracerTest 
+
+  * src/DVIToSVG.cpp: 
+  avoid retracing of fonts if option --no-fonts is given 
+
+2015-03-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/StreamWriterTest.cpp: 
+  fixed StreamWriterTest 
+
+  * tests/SVGOutputTest.cpp: 
+  improved SVGOutputTest 
+
+2015-03-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/Makefile.am, tests/ShadingPatch.cpp: 
+  added ShadingPatchTest 
+
+2015-03-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/ShadingPatch.h, src/TensorProductPatch.cpp, 
+    src/TensorProductPatch.h, src/TriangularPatch.cpp, src/TriangularPatch.h, 
+    tests/Makefile.am, tests/TriangularPatchTest.cpp: 
+  added test for class TriangularPatch 
+
+  * src/Bezier.cpp, src/Bezier.h, src/TensorProductPatch.cpp, 
+    src/TriangularPatch.cpp, src/TriangularPatch.h, 
+    tests/TriangularPatchTest.cpp: 
+  renamed method pointAt() of class Bezier and TriangularPatch to 
+  valueAt() 
+
+  * src/TensorProductPatch.h, tests/TensorProductPatchTest.cpp: 
+  improved TensorProductPatchTest 
+
+2015-03-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * m4/ax_code_coverage.m4: 
+  added missing file ax_code_coverage.m4 
+
+  * autogen.sh: 
+  updated autogen.sh 
+
+2015-03-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XMLNode.cpp, src/XMLNode.h, tests/Makefile.am, 
+    tests/XMLNodeTest.cpp: 
+  fixed a few issues in class XMLElementNode; added XMLNodeTest 
+
+  * .gitignore, Makefile.am, clipper/Makefile.am, configure.ac, 
+    src/Makefile.am, tests/Makefile.am, tests/create-makefile: 
+  extended build system to generate coverage reports 
+
+  * tests/Makefile.am, tests/VectorIteratorTest.cpp: 
+  added VectorIteratorTest 
+
+2015-03-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/XMLStringTest.cpp: 
+  fixed test class name of XMLString 
+
+2015-03-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/CRC32Test.cpp: 
+  added test for 'compute' methods of class CRC32 
+
+  * tests/GraphicPathTest.cpp: 
+  extended tests of class GraphicPath 
+
+2015-03-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Unicode.cpp, tests/Makefile.am, tests/UnicodeTest.cpp: 
+  fixed UTF-8 encoding of 0xfffe and 0xffff; added UnicodeTest 
+
+  * tests/StreamReaderTest.cpp: 
+  exteded StreamReader tests 
+
+2015-03-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/XMLString.cpp, tests/Makefile.am, tests/XMLStringTest.cpp: 
+  fixed conversion from C and C++ strings to XMLString; added 
+  XMLStringTest 
+
+  * .gitignore: 
+  added .gitignore 
+
+2015-03-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.cpp, src/Bitmap.h, tests/BitmapTest.cpp, 
+    tests/GFReaderTest.cpp, tests/Makefile.am: 
+  small refactorings of class Bitmap; added tests for class Bitmap 
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp: 
+  improved BoundingBox tests 
+
+2015-03-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bezier.cpp, src/BoundingBox.cpp, src/BoundingBox.h, 
+    tests/BezierTest.cpp, tests/Makefile.am: 
+  fixed Bezier::reduceDegree() for degree 1 and added BezierTest class 
+
+2015-03-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml: 
+  Travis conf: added configuration data for Coverity Scan 
+
+  * README.md: 
+  added license badge to README.md 
+
+2015-02-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README.md: 
+  updated NEWS and README.md 
+
+2015-02-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Calculator.cpp: 
+  replaced while(1) with for(;;) for consistency 
+
+2015-02-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.9.1 
+
+2015-02-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Ghostscript.cpp: 
+  disable lookup of GS library in Windows registry for old gcc versions 
+
+2015-02-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/Makefile.am, src/SVGOutput.cpp, 
+    src/SVGOutput.h, src/SVGOutputBase.h, src/dvisvgm.cpp: 
+  moved class SVGOutput to separate compilation unit 
+
+  * doc/dvisvgm.txt.in, src/SVGOutput.cpp, src/SVGOutput.h, 
+    tests/Makefile.am, tests/SVGOutputTest.cpp, tests/create-makefile: 
+  added width specifiers and exression evaluation to --output patterns 
+
+  * doc/dvisvgm.txt.in: 
+  minor additions and formatting changes of the manpage 
+
+  * doc/Makefile.am, doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, 
+    doc/dvisvgm.sty, doc/dvisvgm.xpr, doc/tweak-dblatex-pdf.xsl: 
+  improved the layout of the pdf manpage 
+
+  * doc/Makefile.am, doc/db2html.xsl, doc/dvisvgm.css: 
+  create html manpage with a separate stylesheet matching the new website 
+  theme 
+
+2015-02-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * .travis.yml: 
+  added configuration file for Travis CI 
+
+  * .travis.yml: 
+  added dependency 'python-lxml' to Travis configuration 
+
+  * .travis.yml: 
+  added dependency 'libgtest-dev' to Travis configuration; ensure call of 
+  'make check' 
+
+  * .travis.yml: 
+  Travis conf: added missing call of 'configure' 
+
+  * .travis.yml: 
+  Travis conf: build gtest libraries since Ubuntu doesn't provide the 
+  binaries 
+
+2015-02-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TpicSpecialHandler.cpp: 
+  use constant M_PI rather than computing PI locally 
+
+2015-02-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README, README.md: 
+  updated README and README.md 
+
+2015-01-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/ShadingPatch.h: 
+  removed redundant methods from class ShadingPatch 
+
+2015-01-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TensorProductPatch.cpp, src/TriangularPatch.cpp: 
+  renamed static helper function clip() to snap() 
+
+2015-01-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp: 
+  resolved ambiguous call of pow (patch by Peter Breitenlohner) 
+
+2015-01-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/VectorIterator.h: 
+  removed redundant method VectorIterator::distanceToLast() 
+
+2014-12-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, 
+    doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, src/BasicDVIReader.h, 
+    src/Bezier.cpp, src/Bezier.h, src/BgColorSpecialHandler.cpp, 
+    src/BgColorSpecialHandler.h, src/Bitmap.cpp, src/Bitmap.h, 
+    src/BoundingBox.cpp, src/BoundingBox.h, src/CMap.cpp, src/CMap.h, 
+    src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, 
+    src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, 
+    src/Calculator.h, src/CharMapID.cpp, src/CharMapID.h, src/Character.h, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, 
+    src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/DependencyGraph.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, 
+    src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, 
+    src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h, 
+    src/Length.cpp, src/Length.h, src/Makefile.am, src/MapLine.cpp, 
+    src/MapLine.h, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, 
+    src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.h, src/MiKTeXCom.cpp, src/MiKTeXCom.h, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, 
+    src/NumericRanges.h, src/PSFilter.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PSPattern.cpp, src/PSPattern.h, 
+    src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PageRanges.cpp, 
+    src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, 
+    src/PathClipper.cpp, src/PathClipper.h, src/PdfSpecialHandler.cpp, 
+    src/PdfSpecialHandler.h, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.h, src/Process.cpp, src/Process.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/RangeMap.cpp, 
+    src/RangeMap.h, src/SVGOutputBase.h, src/SVGTree.cpp, src/SVGTree.h, 
+    src/ShadingPatch.cpp, src/ShadingPatch.h, src/SignalHandler.cpp, 
+    src/SignalHandler.h, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, 
+    src/StreamReader.h, src/StreamWriter.cpp, src/StreamWriter.h, 
+    src/Subfont.cpp, src/Subfont.h, src/System.cpp, src/System.h, 
+    src/TFM.cpp, src/TFM.h, src/TensorProductPatch.cpp, 
+    src/TensorProductPatch.h, src/Terminal.cpp, src/Terminal.h, 
+    src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/TriangularPatch.cpp, src/TriangularPatch.h, 
+    src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/VectorIterator.h, src/VectorStream.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, 
+    src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, 
+    tests/BoundingBoxTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, 
+    tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FilePathTest.cpp, 
+    tests/FileSystemTest.cpp, tests/FontManagerTest.cpp, 
+    tests/FontMapTest.cpp, tests/GFReaderTest.cpp, tests/GraphicPathTest.cpp, 
+    tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, 
+    tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, tests/RangeMapTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, 
+    tests/SubfontTest.cpp, tests/TensorProductPatchTest.cpp, 
+    tests/ToUnicodeMapTest.cpp, tests/TypesTest.cpp, 
+    tests/VectorStreamTest.cpp, tests/check-conv, tests/create-makefile, 
+    tests/normalize.xsl: 
+  updated year in copyright statements to 2015 
+
+2014-12-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/ShadingPatch.h, 
+    src/TensorProductPatch.cpp, src/TensorProductPatch.h, 
+    src/TriangularPatch.cpp, src/TriangularPatch.h, src/dvisvgm.cpp, 
+    src/options.xml: 
+  added command-line options --grad-overlap, --grad-segments, and 
+  --grad-simplify 
+
+  * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.cpp, 
+    src/EPSToSVG.h, src/SpecialActions.h, src/SpecialManager.cpp, 
+    src/dvisvgm.cpp: 
+  show PS instruction counter when processing EPS files with option 
+  --progress 
+
+  * src/dvisvgm.cpp: 
+  clear line before printing the message about user interruption to avoid 
+  trailing text fragments 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.9 
+
+  * NEWS: 
+  updated NEWS 
+
+2014-12-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp: 
+  check validity of DVI file before trying to collect the BOPs 
+
+2014-12-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am, src/TriangularPatch.cpp, src/TriangularPatch.h: 
+  added class to compute triangular shading patches 
+
+  * src/Makefile.am, src/PsSpecialHandler.cpp, src/ShadingPatch.cpp, 
+    src/ShadingPatch.h, src/TensorProductPatch.cpp, src/TensorProductPatch.h: 
+  extracted common interface class ShadingPatch from TensorProductPatch 
+
+  * src/Color.cpp, src/Color.h, src/Makefile.am, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/VectorIterator.h, src/psdefs.cpp: 
+  extended PS operator 'shfill' to support triangular patch meshes 
+
+2014-12-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  added processing of the optional 'BBox' entry in a PS shading dictionary 
+
+2014-12-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp, 
+    src/options.xml: 
+  disable option --clipjoin if PS support is disabled 
+
+  * src/Color.cpp, tests/ColorSpecialTest.cpp, tests/ColorTest.cpp: 
+  fixed CMYK to RGB approximation 
+
+2014-11-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.cpp, tests/PSInterpreterTest.cpp: 
+  added evaluation of PS operator shfill (Coons and tensor product patches 
+  only) 
+
+2014-11-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * README.md: 
+  added list of features and a download button to README.md 
+
+2014-11-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * clipper/clipper.cpp, clipper/clipper.hpp: 
+  updated clipper library to version 6.2.1 
+
+2014-11-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bezier.cpp, src/Bezier.h, src/BoundingBox.h, src/GraphicPath.h, 
+    src/Makefile.am, src/TensorProductPatch.cpp, src/TensorProductPatch.h, 
+    tests/Makefile.am, tests/TensorProductPatchTest.cpp: 
+  added code to compute tensor-product patches required for gradient fills 
+
+2014-11-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Matrix.cpp: 
+  use constant M_PI rather than defining PI locally 
+
+2014-10-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, 
+    src/PsSpecialHandler.cpp, tests/ColorTest.cpp: 
+  replaced float by double in class Color 
+
+  * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, 
+    src/DVIReader.cpp, src/HtmlSpecialHandler.cpp, src/PsSpecialHandler.cpp, 
+    tests/ColorTest.cpp: 
+  renamed RGB setters/getters of class Color 
+
+  * src/Color.cpp, src/Color.h: 
+  replaced vectors with valarrays in class Color 
+
+  * src/Color.cpp, src/Color.h, tests/ColorTest.cpp: 
+  added deltaE and L*a*b* color space methods to class Color 
+
+2014-10-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * clipper/clipper.cpp, clipper/clipper.hpp: 
+  updated clipper library to version 6.2.0 
+
+  * src/GraphicPath.h, src/PathClipper.cpp, src/PathClipper.h, 
+    src/XMLNode.h: 
+  fixed a couple of doxygen comments; removed redundant 
+  PathClipperException 
+
+2014-10-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CommandLine.cpp: 
+  updated CommandLine.cpp with description of option --no-merge 
+
+  * src/Ghostscript.cpp: 
+  try to lookup the location of the GS DLL in the Windows registry 
+
+2014-10-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/options.xml: 
+  added info about option --no-merge to the manpage 
+
+2014-09-24  Khaled Hosny  <khaled.hosny at hindawi.com>
+
+  * src/Makefile.am: 
+  Add an opt2cpp Python script
+
+A very ugly script that should work as a 
+  drop in replacement for the
+opt2cpp XSLT. 
+
+2014-09-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  ensure that colors set by a color special are always considered by the 
+  PS handler 
+
+2014-09-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.cpp, src/DVIReader.cpp, src/FontCache.cpp, 
+    src/GFReader.cpp, src/dvisvgm.cpp: 
+  replaced namespace 'ios_base' with 'ios' 
+
+2014-08-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  added missing whitespace boundaries in PS code 
+
+  * src/FontEngine.cpp, tests/PageRagesTest.cpp: 
+  removed unused static functions 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.8.1 
+
+  * NEWS: 
+  updated NEWS 
+
+2014-08-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DependencyGraph.h, src/Makefile.am, 
+    src/SVGTree.cpp, src/SVGTree.h, src/XMLNode.cpp, src/XMLNode.h, 
+    tests/DependencyGraphTest.cpp, tests/Makefile.am: 
+  remove redundant clipPath elements from generated SVG files 
+
+2014-08-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSPattern.cpp, src/XMLNode.cpp, src/XMLNode.h: 
+  renamed XMLElementNode::findDescendants() and made it constant 
+
+2014-08-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/Makefile.am, tests/create-makefile: 
+  link tests against FreeType library 
+
+  * README.md: 
+  minor fixed to README.md 
+
+2014-08-10  Khaled Hosny  <khaledhosny at eglug.org>
+
+  * configure.ac, src/Makefile.am: 
+  Don't override CXXFLAGS in configure script
+
+Breaks standard things 
+  like:
+
+     make CXXFLAGS="-g -O0 -pg" 
+
+  * configure.ac, src/Makefile.am: 
+  Don't override CPPFLAGS and LDFLAGS in configure
+
+For the same reasons 
+  as the previous commit 
+
+2014-08-07  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/dvisvgm.cpp: 
+  removed old code that moved cache files to new location 
+
+  * src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h: 
+  removed unused emit() methods from XML classes 
+
+2014-07-31  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PsSpecialHandler.cpp, src/psdefs.cpp: 
+  prevent side-effects caused by bop/eop operators present in PS specials 
+
+2014-07-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS: 
+  updated NEWS 
+
+2014-07-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/GraphicPath.h, src/PSInterpreter.cpp, src/PSInterpreter.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/psdefs.cpp, 
+    tests/PSInterpreterTest.cpp: 
+  added evaluation of PS operator 'clippath' (copies clipping path into 
+  graphics path) 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.8 
+
+2014-07-26  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/GFGlyphTracer.cpp, src/GraphicPath.h, 
+    src/PsSpecialHandler.cpp: 
+  renamed GraphicPath::newpath() to GraphicPath::clear() 
+
+2014-07-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputReader.cpp, src/PSInterpreter.cpp: 
+  ensure that InputReader::compare() checks whole and not just partial 
+  words 
+
+2014-07-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.h, src/dvisvgm.cpp: 
+  prevent throwing a DVIException when option -l is present 
+
+  * Makefile.am, clipper/License.txt, clipper/Makefile.am, 
+    clipper/clipper.cpp, clipper/clipper.hpp, configure.ac, src/Makefile.am: 
+  added slightly modified sources of clipper library (computes boolops on 
+  polygons) 
+
+  * src/GraphicPath.h: 
+  added field to store the winding rule to class GraphicPath 
+
+  * README, README.md, src/Bezier.cpp, src/Bezier.h, src/GraphicPath.h, 
+    src/Makefile.am, src/PathClipper.cpp, src/PathClipper.h, src/dvisvgm.cpp: 
+  added class PathClipper to compute intersections of closed curved 
+  graphics paths 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/dvisvgm.cpp, 
+    src/options.xml: 
+  added option --clippath to compute the intersection of clipping paths 
+
+2014-07-20  Khaled Hosny  <khaledhosny at eglug.org>
+
+  * src/FontEngine.cpp: 
+  Free existing FT_Face before creating a new one
+
+FontEngine was never 
+  destroying the FT_Face's it creates, except the
+very last one that was 
+  destroyed by the destructor. For some reason,
+this was causing 
+  FT_New_Face() to fail on Windows after processing the
+first hundred or so 
+  pages of DVI files. 
+
+2014-07-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/GraphicPath.h, src/PsSpecialHandler.cpp, src/SVGTree.cpp, 
+    src/SVGTree.h, src/dvisvgm.cpp, src/options.xml, 
+    tests/GraphicPathTest.cpp: 
+  added option to create relative rather than absolute path commands 
+
+  * src/TpicSpecialHandler.cpp: 
+  TPIC handler: use class GraphicPath to create SVG path commands 
+
+2014-07-07  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.h, src/Doxyfile, src/HtmlSpecialHandler.h, 
+    src/RangeMap.cpp, src/SpecialManager.cpp, src/ToUnicodeMap.cpp: 
+  fixed a couple of broken doxygen comments 
+
+2014-06-25  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Ghostscript.cpp: 
+  get proper name of Ghostscript library when building for Cygwin 
+
+2014-06-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * README.md: 
+  added markdown version of README 
+
+2014-06-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.cpp: 
+  suppress output of PS operator ':show' to prevent the creation of 
+  additional graphic elements 
+
+2014-06-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/SpecialManager.cpp, src/SpecialManager.h: 
+  removed redundant method SpecialManager::leavePSHeaderSection() 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVGActions.cpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    tests/DvisvgmSpecialTest.cpp, tests/Makefile.am: 
+  added/improved dvisvgm::raw* specials 
+
+  * src/InputReader.cpp: 
+  added missing include 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.7 
+
+  * NEWS: 
+  updated NEWS 
+
+2014-06-12  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLNode.cpp, src/XMLNode.h: 
+  added clear() to XMLNode classes; added XMLTextNode::getText() 
+
+2014-06-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/InputReader.cpp, src/InputReader.h: 
+  added InputReader::getLine() 
+
+  * src/DVIToSVG.cpp, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h: 
+  added listener to allow SpecialHandlers being notified when 
+  pre-processing has finished 
+
+2014-06-10  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/SpecialActions.h, tests/ColorSpecialTest.cpp: 
+  renamed class SpecialEmptyActions to EmptySpecialActions 
+
+2014-06-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/Ghostscript.cpp: 
+  removed unused variable; call Ghostscript::exit() with explicitely given 
+  object 
+
+  * src/DVIToSVG.h, src/SpecialManager.h: 
+  removed redundant definition of assignment operators 
+
+2014-06-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/Makefile.am: 
+  moved basic funtionality of DVIReader to base class BasicDVIReader 
+
+  * src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/dvisvgm.cpp: 
+  moved call of executePreamble() and executePostamble() from DVIToSVG to 
+  DVIReader 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, 
+    src/PreScanDVIReader.cpp, src/PreScanDVIReader.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, 
+    src/StreamReader.h: 
+  pre-process DVI file to collect required data not present in the page 
+  ranges to be converted 
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/dvisvgm.cpp: 
+  made class SpecialManager a singleton 
+
+  * src/BasicDVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h: 
+  allow to replace the DVI reader assigned to an instance of 
+  DVIToSVGActions 
+
+  * doc/dvisvgm.txt.in, src/BasicDVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/EPSToSVG.cpp, src/EPSToSVG.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/PreScanDVIReader.cpp, 
+    src/PreScanDVIReader.h, src/SpecialActions.h: 
+  process hyperref anchors and links across pages 
+
+  * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bitmap.h, 
+    src/BoundingBox.h, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, 
+    src/CMapReader.h, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, 
+    src/CmdLineParserBase.h, src/Color.cpp, src/ColorSpecialHandler.cpp, 
+    src/ColorSpecialHandler.h, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DLLoader.h, src/DVIReader.cpp, src/DVIToSVG.h, src/DVIToSVGActions.h, 
+    src/Directory.h, src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/EncFile.h, src/FileFinder.h, 
+    src/FileSystem.cpp, src/Font.cpp, src/Font.h, src/FontCache.h, 
+    src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, 
+    src/GFReader.h, src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, 
+    src/GraphicPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/JFM.h, src/Length.cpp, src/Length.h, 
+    src/MapLine.cpp, src/MapLine.h, src/Matrix.cpp, src/Matrix.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/NoPsSpecialHandler.h, src/NumericRanges.h, src/PSInterpreter.h, 
+    src/PSPattern.h, src/PSPreviewFilter.h, src/PageRanges.h, src/PageSize.h, 
+    src/Pair.h, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, 
+    src/Process.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SVGTree.h, src/SignalHandler.h, src/SpecialActions.h, 
+    src/SpecialManager.h, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, 
+    src/TFM.h, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/VFReader.cpp, src/VectorStream.h, 
+    src/XMLDocument.h, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/types.h: 
+  replaced leading spaces by tabs; removed trailing whitespace 
+
+2014-06-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/DVIReader.h: 
+  removed redundant variable DVIReader::_prevBop 
+
+  * src/PsSpecialHandler.cpp: 
+  fixed incorrect extent values shown when applying a preview bbox 
+  (bp->pt) 
+
+2014-06-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/EPSFile.cpp, src/GFReader.cpp: 
+  replaced relative variant of seekg() by absolute one where possible 
+
+  * src/DVIReader.cpp, src/DVIReader.h: 
+  removed redundant code from DVIReader::evalCommand() 
+
+2014-05-31  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/VFReader.cpp: 
+  few code adjustments 
+
+  * src/DVIReader.cpp, src/StreamReader.cpp, src/StreamReader.h, 
+    src/VFReader.cpp: 
+  removed StreamReader::in() 
+
+  * src/DVIReader.cpp, src/StreamReader.h, src/VFReader.cpp: 
+  renamed some methods of class StreamReader 
+
+2014-05-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/StreamReader.h: 
+  collect all DVI BOP offsets to reach them quickly 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h: 
+  removed DVIReader::_totalPages; use number of BOP offsets instead 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/dvisvgm.cpp: 
+  simplified computation of progress ratio 
+
+  * src/DVIReader.cpp, src/DVIReader.h: 
+  simplified DVIReader::executePage; removed DVIReader::executePages 
+
+2014-05-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Makefile.am, src/Unicode.cpp, src/Unicode.h, 
+    src/XMLString.cpp: 
+  moved unicode-related funtions to separate class 
+
+  * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/FontEngine.cpp, 
+    src/FontEngine.h: 
+  removed redundant method CharMap::invert() 
+
+  * src/CMap.cpp, src/CMap.h, src/Makefile.am, src/RangeMap.cpp, 
+    src/RangeMap.h, tests/Makefile.am, tests/RangeMapTest.cpp: 
+  extracted class RangeMap previously implemented as part of SegmentedCMap 
+
+  * src/RangeMap.cpp: 
+  fixed right joins of touching ranges in a RangeMap 
+
+  * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/Font.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/Makefile.am: 
+  replaced class CharMap with more generic class RangeMap 
+
+  * src/DVIToSVG.cpp, src/Makefile.am, src/NumericRanges.h, 
+    src/PageRanges.cpp, src/PageRanges.h, tests/PageRagesTest.cpp: 
+  extracted functionality of class PageRanges to separate class 
+  NumericRanges 
+
+  * src/Makefile.am, src/RangeMap.h, src/ToUnicodeMap.cpp, 
+    src/ToUnicodeMap.h, tests/Makefile.am, tests/ToUnicodeMapTest.cpp: 
+  added class ToUnicodeMap to handle mappings from character indexes to 
+  unicode points 
+
+  * src/Makefile.am: 
+  Makefile: put source files on separate lines 
+
+2014-04-30  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CharMapID.cpp, src/CharMapID.h, src/DVIReader.cpp, src/Font.cpp, 
+    src/Font.h, src/FontEngine.cpp, src/FontEngine.h: 
+  try to add unicode mappings missing in a font's cmap table 
+
+2014-04-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/SVGTree.cpp: 
+  don't add unnecessary element 'missing-glyph' to SVG files 
+
+2014-04-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml: 
+  renamed argument of option --linkmark from 'type' to 'style' 
+
+2014-04-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/System.h: 
+  removed redundant semicolon 
+
+2014-04-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.6 
+
+  * NEWS: 
+  updated NEWS 
+
+2014-04-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/EPSToSVG.cpp: 
+  removed date and machine triplet from generated SVG files 
+
+2014-04-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h: 
+  added optional selection of line/box colors to option --linkmark 
+
+2014-04-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CommandLine.h, src/DVIToSVG.cpp, src/EPSToSVG.cpp: 
+  don't link GS messages unnecessarily if HAVE_LIBGS is defined 
+
+  * src/DVIReader.h, src/DVIToSVGActions.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/SpecialActions.h: 
+  only split hyperlink boxes on line breaks 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml: 
+  changed default argument of option --linkmark to 'box' 
+
+2014-04-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DLLoader.cpp: 
+  prevent calling dlopen() if the length of the string argument is 0 
+
+  * doc/dvisvgm.txt.in, src/Ghostscript.cpp: 
+  if libgs is loaded during runtime, look for libgs.so.X instead of 
+  libgs.so 
+
+  * src/Ghostscript.cpp, src/dvisvgm.cpp: 
+  moved lookup of MiKTeX's GS DLL to get_libgs() 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp, src/options.xml: 
+  added command-line option --zoom 
+
+2014-04-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CMap.cpp, src/CmdLineParserBase.cpp, src/ColorSpecialHandler.cpp, 
+    src/DVIReader.cpp, src/DVIToSVGActions.cpp, src/Doxyfile, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EPSFile.cpp, src/EmSpecialHandler.cpp, src/FileFinder.cpp, 
+    src/FileSystem.cpp, src/Font.cpp, src/FontCache.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontMap.cpp, src/GraphicPath.h, 
+    src/PSInterpreter.cpp, src/PageRanges.cpp, src/PsSpecialHandler.cpp, 
+    src/SVGTree.cpp, src/SVGTree.h, src/SpecialManager.cpp, src/Subfont.cpp, 
+    src/TFM.cpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, 
+    src/XMLNode.cpp, src/dvisvgm.cpp: 
+  fixed issues in the doxygen documentation 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.5.3 
+
+  * NEWS: 
+  updated NEWS 
+
+2014-04-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp: 
+  equalize implementations of moveToX and moveToY 
+
+  * src/BoundingBox.h, src/DVIActions.cpp, src/DVIActions.h, 
+    src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/DvisvgmSpecialHandler.cpp, src/EPSToSVG.cpp, 
+    src/EmSpecialHandler.cpp, src/Font.h, src/FontManager.cpp, 
+    src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, 
+    src/GFTracer.h, src/GraphicPath.h, src/HtmlSpecialHandler.h, 
+    src/Makefile.am, src/PSPattern.cpp, src/PSPreviewFilter.cpp, 
+    src/PSPreviewFilter.h, src/PageSize.cpp, src/PageSize.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SVGTree.cpp, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/TFM.cpp, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, 
+    src/VFReader.cpp: 
+  switched internal computations from TeX points (pt) to PS points (bp) 
+
+2014-02-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIReader.h: 
+  ensure updating the SVG cursor position when executing DVI command 
+  set_rule 
+
+2014-01-13  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Ghostscript.cpp: 
+  check if library given by --libgs is actually a GS library 
+
+2014-01-10  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS: 
+  updated NEWS 
+
+2014-01-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  catch exceptions thrown by MiKTeXCom object 
+
+  * src/Directory.cpp: 
+  initialize Directory member variables (Win only) 
+
+  * src/FileFinder.cpp: 
+  return 'unknown' if MiKTeX version can't be retrieved 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.5.2 
+
+2014-01-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, 
+    src/CMapReader.cpp, src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharMap.cpp, src/CharMap.h, 
+    src/CharMapID.cpp, src/CharMapID.h, src/Character.h, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, 
+    src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, 
+    src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, 
+    src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h, 
+    src/Length.cpp, src/Length.h, src/Makefile.am, src/MapLine.cpp, 
+    src/MapLine.h, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, 
+    src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.h, src/MiKTeXCom.cpp, src/MiKTeXCom.h, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, src/PSFilter.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PSPattern.cpp, 
+    src/PSPattern.h, src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, 
+    src/PageRanges.cpp, src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, 
+    src/Pair.h, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, 
+    src/Process.cpp, src/Process.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGOutputBase.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/SignalHandler.cpp, src/SignalHandler.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h, src/StreamReader.cpp, src/StreamReader.h, 
+    src/StreamWriter.cpp, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, 
+    src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, src/Terminal.cpp, 
+    src/Terminal.h, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, 
+    src/VFActions.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, 
+    src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, 
+    tests/BoundingBoxTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DirectoryTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FilePathTest.cpp, 
+    tests/FileSystemTest.cpp, tests/FontManagerTest.cpp, 
+    tests/FontMapTest.cpp, tests/GFReaderTest.cpp, tests/GraphicPathTest.cpp, 
+    tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, 
+    tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, 
+    tests/SubfontTest.cpp, tests/TypesTest.cpp, tests/VectorStreamTest.cpp, 
+    tests/check-conv, tests/create-makefile, tests/normalize.xsl: 
+  updated year in copyright statements to 2014 
+
+2014-01-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/MiKTeXCom.cpp: 
+  prevent releasing MiKTeX object if its initialization failed 
+
+2013-12-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp: 
+  check if units per EM are not 0 to prevent divisions by zero 
+
+  * src/Directory.cpp, src/Directory.h, src/FontMap.cpp, 
+    tests/DirectoryTest.cpp: 
+  changed directory entry types from char to enums 
+
+  * src/FontCache.cpp: 
+  catch potential StreamReaderException 
+
+2013-12-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/BoundingBox.cpp: 
+  explicitely initialize BoundingBox fields 
+
+  * src/FontCache.cpp: 
+  avoid accessing strings constructed from temporaries 
+
+  * src/Matrix.cpp: 
+  ensure return value of istream::get() is assigned to int vars 
+
+  * src/DVIReader.cpp: 
+  check if denominator of DVI unit is non-zero 
+
+  * src/DvisvgmSpecialHandler.cpp, src/FontCache.cpp: 
+  ensure null pointer checks before dereferencing 
+
+  * src/FontCache.cpp, src/SpecialManager.cpp: 
+  restore stream format flags 
+
+  * src/DVIReader.cpp, src/Directory.cpp, src/GFReader.cpp: 
+  added missing initializations of member variables 
+
+2013-12-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.h, src/Bitmap.h, src/BoundingBox.h, 
+    src/CMap.h, src/CMapManager.h, src/CMapReader.h, src/Calculator.h, 
+    src/CharMap.h, src/CharMapID.h, src/Character.h, src/CmdLineParserBase.h, 
+    src/Color.h, src/ColorSpecialHandler.h, src/CommandLine.h, 
+    src/DLLoader.h, src/DVIActions.h, src/DVIReader.h, src/DVIToSVG.h, 
+    src/DVIToSVGActions.h, src/Directory.h, src/DvisvgmSpecialHandler.h, 
+    src/EPSFile.h, src/EPSToSVG.h, src/EmSpecialHandler.h, src/EncFile.h, 
+    src/FileFinder.h, src/FilePath.h, src/FileSystem.h, src/Font.h, 
+    src/FontCache.h, src/FontEncoding.h, src/FontEngine.h, src/FontManager.h, 
+    src/FontMap.h, src/FontMetrics.h, src/GFGlyphTracer.h, src/GFReader.h, 
+    src/GFTracer.h, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.h, 
+    src/InputBuffer.h, src/InputReader.h, src/JFM.h, src/Length.h, 
+    src/MapLine.h, src/Matrix.h, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.h, src/MiKTeXCom.h, src/NoPsSpecialHandler.h, 
+    src/PSFilter.h, src/PSInterpreter.h, src/PSPattern.h, 
+    src/PSPreviewFilter.h, src/PageRanges.h, src/PageSize.h, src/Pair.h, 
+    src/PdfSpecialHandler.h, src/Process.h, src/PsSpecialHandler.h, 
+    src/SVGOutputBase.h, src/SVGTree.h, src/SignalHandler.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.h, 
+    src/StreamReader.h, src/StreamWriter.h, src/Subfont.h, src/System.h, 
+    src/TFM.h, src/Terminal.h, src/TpicSpecialHandler.h, src/VFActions.h, 
+    src/VFReader.h, src/VectorStream.h, src/XMLDocument.h, src/XMLNode.h, 
+    src/XMLString.h, src/macros.h, src/types.h: 
+  prefixed include guards with DVISVGM_ to prevent ambiguities with 
+  external headers 
+
+2013-11-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/SVGTree.cpp, src/SVGTree.h: 
+  don't let global font colors interfere with color specials 
+
+2013-10-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS: 
+  updated NEWS 
+
+2013-10-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Bitmap.cpp, src/Color.cpp, src/JFM.cpp, src/Matrix.cpp: 
+  added missing #includes of header file <algorithm> 
+
+  * src/FileSystem.cpp, src/MetafontWrapper.cpp: 
+  added explicit casts from ifstream to bool 
+
+  * src/DVIReader.cpp: 
+  temporarily reactivated processing of font definitions located in the 
+  postamble 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.5.1 
+
+2013-10-27  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp: 
+  suppress output of logical page number if it equals physical page number 
+
+2013-10-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: 
+  ensure proper evaluation of tightpage data if multiple pages are 
+  processed 
+
+2013-10-12  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputBuffer.h: 
+  don't check unsigned variables for negative values 
+
+  * src/Color.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  added 'const' to read-only methods 
+
+2013-09-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontCache.cpp, src/FontCache.h: 
+  renamed FontCache::VERSION to FontCache::FORMAT_VERSION 
+
+  * src/DVIToSVG.cpp, src/Ghostscript.h, src/dvisvgm.cpp: 
+  added missing guards and functions to prevent compilation errors if 
+  DISABLE_GS is set 
+
+  * src/DVIToSVG.cpp: 
+  changed warning message that appears if PS support has been disabled 
+  permanently 
+
+2013-09-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/Bitmap.cpp, src/BoundingBox.cpp, 
+    src/CMap.cpp, src/CMapManager.cpp, src/CMapReader.cpp, src/CRC32.cpp, 
+    src/Calculator.cpp, src/CharMap.cpp, src/CmdLineParserBase.cpp, 
+    src/Color.cpp, src/ColorSpecialHandler.cpp, src/CommandLine.cpp, 
+    src/CommandLine.h, src/DLLoader.cpp, src/DVIActions.cpp, 
+    src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/Directory.cpp, src/DvisvgmSpecialHandler.cpp, src/EPSFile.cpp, 
+    src/EPSToSVG.cpp, src/EmSpecialHandler.cpp, src/EncFile.cpp, 
+    src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp, src/Font.cpp, 
+    src/FontCache.cpp, src/FontEncoding.cpp, src/FontEngine.cpp, 
+    src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp, 
+    src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, 
+    src/Ghostscript.cpp, src/Ghostscript.h, src/HtmlSpecialHandler.cpp, 
+    src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/Length.cpp, 
+    src/MapLine.cpp, src/Matrix.cpp, src/Message.cpp, 
+    src/MetafontWrapper.cpp, src/MiKTeXCom.cpp, src/NoPsSpecialHandler.cpp, 
+    src/PSInterpreter.cpp, src/PSPattern.cpp, src/PSPreviewFilter.cpp, 
+    src/PageRanges.cpp, src/PageSize.cpp, src/PdfSpecialHandler.cpp, 
+    src/Process.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp, 
+    src/SignalHandler.cpp, src/SpecialManager.cpp, src/StreamReader.cpp, 
+    src/StreamWriter.cpp, src/Subfont.cpp, src/System.cpp, src/TFM.cpp, 
+    src/Terminal.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp, 
+    src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/dvisvgm.cpp: 
+  include config.h at the top of every translation unit 
+
+  * src/DLLoader.h, src/Directory.h: 
+  moved #define NOMINMAX to Windows config.h 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.5 
+
+  * NEWS: 
+  updated NEWS 
+
+2013-08-30  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontMetrics.h, src/JFM.cpp, src/JFM.h, src/TFM.h: 
+  added retrieval of vertical mode flag to class FontMetrics 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontMetrics.h, src/JFM.h, 
+    src/SVGTree.cpp, src/SVGTree.h, src/TFM.h, src/dvisvgm.cpp: 
+  added support for DVI format 3 (pTeX, vertical mode) 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/Font.cpp, src/Font.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontManager.h, src/FontStyle.h, src/SVGTree.cpp, src/dvisvgm.cpp: 
+  added support for XDV (DVI format 5) files 
+
+  * src/Font.cpp, src/Font.h, src/XMLString.cpp: 
+  replaced entity references by corresponding UTF-8 characters; use 
+  correct unicode points rather than DVI charcodes 
+
+  * doc/dvisvgm.txt.in: 
+  updated manpage 
+
+2013-08-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/Font.h, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/Makefile.am: 
+  replaced local std::map tables used in Font classes with new class 
+  CharMap 
+
+2013-08-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/SVGTree.cpp: 
+  appended px unit to font-size attributes in style section 
+
+2013-08-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLString.cpp: 
+  replace very small floating point numbers by 0 
+
+2013-08-20  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  suppress error messages from makeFOO tools 
+
+2013-08-13  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, 
+    src/EncFile.h, src/Font.cpp, src/Font.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h: 
+  derive EncodingPair from FontEncoding 
+
+  * src/Font.cpp, src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h: 
+  moved assignment of base font map to Font class 
+
+2013-08-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/FileFinder.cpp: 
+  check if the kpathsea library is C++-safe (patch by Peter Breitenlohner) 
+
+  * src/dvisvgm.cpp: 
+  fix number of dashes printed by -V1 
+
+2013-08-08  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Matrix.cpp, src/Matrix.h: 
+  renamed Matrix skewing methods 
+
+2013-08-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/Font.h, src/FontEngine.cpp, src/FontManager.cpp, 
+    src/FontMap.cpp, src/FontMap.h, src/FontStyle.h, src/Makefile.am: 
+  store pointers to font map and encoding in Font objects to speed up 
+  looking them up 
+
+  * src/Ghostscript.h, src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: 
+  added missing variable initializations 
+
+2013-08-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CMapManager.cpp, src/CMapManager.h, src/FontManager.cpp: 
+  avoid const_cast in CMapManager 
+
+2013-08-02  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp: 
+  disable font processing while scanning PS header specials 
+
+  * src/CMap.h, src/CMapManager.cpp: 
+  properly handle 'unicode' encoding entries set in font map 
+
+2013-08-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLDocument.cpp, src/XMLString.cpp: 
+  changed encoding of SVG files from ISO-8859-1 to UTF-8 
+
+  * src/DVIToSVG.cpp, src/Makefile.am, src/SVGTree.cpp, 
+    src/XMLDocTypeNode.h: 
+  removed DOCTYPE declaration from generated files as suggested by the SVG 
+  specification 
+
+  * src/DVIToSVG.cpp: 
+  removed redundant #include statements 
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.h, src/EPSToSVG.h, 
+    src/Matrix.cpp, src/Matrix.h, src/PsSpecialHandler.cpp, 
+    src/SpecialActions.h, src/dvisvgm.cpp: 
+  apply page transformations to width, height, and depth of preview bbox 
+
+  * NEWS: 
+  updated NEWS 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.4 
+
+2013-07-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, 
+    src/CMapReader.cpp, src/CMapReader.h, src/FontManager.cpp, 
+    src/Makefile.am, tests/CMapTest.cpp, tests/Makefile.am: 
+  added classes to handle CMap files 
+
+  * src/CMap.cpp, src/CMap.h, src/CMapManager.h, src/EncFile.cpp, 
+    src/EncFile.h, src/FileFinder.cpp, src/Font.cpp, src/Font.h, 
+    src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontManager.cpp, src/Makefile.am, 
+    tests/CMapTest.cpp: 
+  derive .enc encoding vectors and CMaps from common base class 
+  FontEncoding 
+
+  * src/CMap.cpp, src/CMap.h, src/Character.h, src/EncFile.h, src/Font.cpp, 
+    src/Font.h, src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/Makefile.am, tests/CMapTest.cpp: 
+  added Character class to handle character names, codes, and indexes 
+  consistently 
+
+  * src/FileFinder.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp: 
+  added support for OTF fonts 
+
+  * src/Font.cpp, src/Font.h, src/FontMetric.cpp, src/FontMetric.h, 
+    src/FontMetrics.cpp, src/FontMetrics.h, src/Makefile.am, src/TFM.h: 
+  renamed class FontMetric to FontMetrics 
+
+  * src/CMap.cpp, src/CMap.h, src/CMapReader.cpp, src/CMapReader.h, 
+    tests/CMapReaderTest.cpp, tests/CMapTest.cpp, tests/Makefile.am: 
+  added evaluation of base font (bf) sections in CMap files 
+
+  * src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, 
+    src/CharMapID.cpp, src/CharMapID.h, src/Font.cpp, src/Font.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontMap.cpp, src/FontMap.h, src/Makefile.am: 
+  try to decode characters of non-CID fonts that have a CMap assigned in 
+  the fontmap 
+
+2013-07-27  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h: 
+  moved lookup of the encoding of a font to the Font class 
+
+  * src/JFM.cpp: 
+  fixed retrieval of char indexes if a JFM contains entries of chartype 0 
+  only 
+
+  * src/BgColorSpecialHandler.h, src/DVIToSVG.cpp, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h: 
+  ensure that PS header code is evaluated before the page/body code; also 
+  execute bop-hook and eop-hook 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp: 
+  added funtion to execute PS code snippets and retrieve their results 
+
+  * doc/dvisvgm.txt.in, src/DVIActions.h, src/DVIReader.cpp, 
+    src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/EPSToSVG.cpp, src/Makefile.am, src/PSFilter.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialActions.h, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: 
+  added evaluation of bounding box information created by preview package 
+
+2013-07-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/EPSToSVG.cpp: 
+  print warning message if height or width of EPS bbox is 0 
+
+  * src/psdefs.cpp: 
+  PS handler: call newpath before executing charpath in operator show 
+
+  * src/FontMap.cpp: 
+  check for EOF prior to try to parse another mapline 
+
+2013-07-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.cpp: 
+  replaced PS operator prval with =only in psdefs 
+
+2013-07-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp: 
+  ensure catching PSExceptions while processing PS header specials to 
+  prevent segfaults 
+
+  * src/psdefs.cpp: 
+  properly store PS operator applyscalevals in systemdict 
+
+2013-07-14  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Process.cpp, src/Process.h: 
+  extended Process::run() to grab the output written to stdout 
+
+  * src/FileFinder.cpp, src/FileFinder.h: 
+  FileFinder: added lookup of cmap files 
+
+2013-07-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp: 
+  command-line parser: changed type of argument mode from char to enum 
+
+2013-06-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  removed redundant 'using namespace std' 
+
+2013-06-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/dvisvgm.cpp: 
+  extend option --linkmark to highlight linked areas by a given background 
+  color 
+
+2013-06-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, 
+    src/ColorSpecialHandler.h, src/SpecialActions.h, 
+    tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, tests/Makefile.am: 
+  use Color class in ColorSpecialHandler rather than local code; added 
+  ColorTest 
+
+2013-05-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/dvisvgm.cpp: 
+  added a missing (underlining) hyphen to the output of -V1 
+
+2013-05-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h: 
+  added missing NoPsSpecialhandler files 
+
+2013-05-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Font.h, src/FontManager.h, src/FontMetric.cpp, 
+    src/FontMetric.h, src/Makefile.am, src/TFM.cpp, src/TFM.h: 
+  handle invalid TFM files properly 
+
+  * src/Font.cpp, src/FontMetric.cpp, src/FontMetric.h, src/JFM.cpp, 
+    src/JFM.h, src/Makefile.am, src/StreamReader.h, src/TFM.cpp, src/TFM.h: 
+  added support for Japanese font metric (JFM) files 
+
+  * src/FileFinder.cpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h, src/dvisvgm.cpp: 
+  try to load the Ghostscript library that comes with MiKTeX 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/HtmlSpecialHandler.cpp, 
+    src/HtmlSpecialHandler.h, src/Makefile.am, src/SpecialManager.cpp: 
+  added support of hyperref specials 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/HtmlSpecialHandler.cpp, src/dvisvgm.cpp, src/options.xml: 
+  added option --linkmark to select the highlighing variant for hyperlinks 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.3 
+
+  * NEWS: 
+  updated NEWS 
+
+2013-05-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * AUTHORS, Makefile.am, README, configure.ac, potracelib/Makefile.am, 
+    potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  removed bundled potrace library 
+
+  * src/SVGTree.cpp, src/SVGTree.h: 
+  added methods to push and pop 'context elements' to a page that wrap 
+  parts of the page contents 
+
+  * src/DVIToSVGActions.h, src/EPSToSVG.h, src/SpecialActions.h: 
+  provide the context push/pop methods of class SVGTree to special 
+  handlers 
+
+  * src/InputReader.cpp, src/InputReader.h: 
+  added optional parameter 'quotechar' to InputReader::parseAttributes() 
+
+  * src/EmSpecialHandler.h, src/NoPsSpecialHandler.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.h: 
+  moved DVI listener methods to dedicated listener interface classes 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, 
+    src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: 
+  added page number parameter to DVIEndPageListener::dviEndPage() 
+
+2013-05-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp, src/Terminal.cpp, src/Terminal.h: 
+  disable cursor when showing the progress indicator (Windows only) 
+
+2013-04-26  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp: 
+  don't link NoPsSpecialHandler if HAVE_LIBGS 
+
+2013-04-25  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontEncoding.cpp: 
+  fixed bracketing bug that prevented lookup of fontmap files 
+
+2013-04-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, 
+    src/Calculator.h, src/Matrix.cpp, src/Matrix.h, src/MessageException.h, 
+    src/PageSize.cpp, src/PageSize.h, src/StreamReader.cpp, 
+    src/StreamReader.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h: 
+  added missing underscores to private member variables 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.2.2 
+
+  * NEWS: 
+  updated NEWS 
+
+2013-04-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/dvisvgm.cpp: 
+  avoid output of empty parentheses if TARGET_SYSTEM is not set 
+
+  * doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, src/CommandLine.cpp, 
+    src/options.dtd, src/options.xml: 
+  added information about 'dvisvgm -E' to usage line 
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.h, 
+    src/CmdLineParserBase.h, src/DVIToSVGActions.cpp, src/Message.cpp, 
+    src/VFReader.cpp: 
+  added missing member initializations to some classes 
+
+2013-04-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/Makefile.am, src/SpecialManager.cpp: 
+  print a warning message if PS specials are found but ignored 
+
+2013-04-15  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp, src/dvisvgm.cpp: 
+  catch MessageException if MiKTeX version can't be obtained 
+
+2013-04-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/Makefile.am, tests/create-makefile: 
+  updated tests/Makefile.am to honor system potracelib if present 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.2.1 
+
+  * NEWS: 
+  updated NEWS 
+
+2013-04-08  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/DVIToSVGActions.cpp: 
+  allow the background color special to insert white rectancles 
+
+  * src/PageRanges.h: 
+  dropped unused variable PageRanges::_max 
+
+2013-04-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLNode.cpp, src/XMLNode.h: 
+  unhide derived method XMLDeclarationNode::append 
+
+2013-03-10  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * Makefile.am, configure.ac: 
+  don't build bundled potracelib if system library is used (patch by 
+  Alexis Ballier) 
+
+2013-03-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  updated bundled potrace library to version 1.11 
+
+2013-03-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/decompose.h, potracelib/lists.h, potracelib/progress.h, 
+    potracelib/trace.c, potracelib/trace.h, src/EPSFile.cpp, 
+    src/EPSToSVG.cpp, src/EPSToSVG.h, src/PSPattern.cpp, src/PSPattern.h, 
+    src/SVGOutputBase.h: 
+  converted DOS line endings 
+
+2013-02-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am, src/PSInterpreter.cpp, src/PSInterpreter.h, 
+    src/PSPattern.cpp, src/PSPattern.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.psc, tests/PSInterpreterTest.cpp: 
+  PS handler: added support of tiling patterns 
+
+  * src/Makefile.am, src/PSInterpreter.cpp, src/psdefs.cpp, src/psdefs.psc: 
+  make psdefs a separate compilation unit 
+
+  * tests/MapLineTest.cpp: 
+  prevent MapLineTest from failing if file UGBK.sfd is not available 
+
+  * src/psdefs.cpp: 
+  improved processing of PS operator 'show' 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.2 
+
+  * NEWS: 
+  updated NEWS 
+
+2013-02-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLNode.cpp, src/XMLNode.h: 
+  added virtual constructor XMLNode::clone() 
+
+  * src/XMLNode.cpp, src/XMLNode.h: 
+  added methods to lookup attribute values and selected descendant XML 
+  nodes 
+
+2013-02-19  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h: 
+  added PSInterpreter::limit() to limit the number of bytes to be 
+  processed 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/EPSFile.cpp, src/EPSFile.h, 
+    src/EPSToSVG.cpp, src/EPSToSVG.h, src/Makefile.am, 
+    src/PsSpecialHandler.cpp, src/SVGOutputBase.h, src/dvisvgm.cpp, 
+    src/options.xml: 
+  add option to directly convert EPS files to SVG 
+
+  * src/FilePath.cpp: 
+  adapt path separators on Windows systems to get the  correct output path 
+
+2013-02-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, 
+    src/CommandLine.h: 
+  applied a few refactorings to the command-line parser 
+
+2013-02-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp, src/options.xml: 
+  added optional parameter to option --help to specify output format 
+
+2013-02-06  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/CommandLine.cpp, 
+    src/CommandLine.h, src/EmSpecialHandler.cpp, src/GraphicPath.h, 
+    src/Matrix.cpp, src/PsSpecialHandler.cpp, src/TpicSpecialHandler.cpp, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/options.xml: 
+  added option --precision to set the number of decimal places applied to 
+  attribute values 
+
+2013-01-30  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CommandLine.cpp: 
+  fixed alignment of --help text 
+
+2013-01-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, src/FontEngine.cpp, src/Makefile.am, 
+    src/MiKTeXCom.cpp, src/MiKTeXCom.h: 
+  moved MiKTeX COM code to separate class 
+
+2013-01-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp, src/Font.cpp, 
+    src/Font.h, src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/Makefile.am, 
+    src/MapLine.cpp, src/MapLine.h, src/Subfont.cpp, src/Subfont.h, 
+    tests/FontMapTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, 
+    tests/SubfontTest.cpp, tests/create-makefile, tests/sample.sfd: 
+  added support for subfont definitions and multi-font (.ttc) files 
+
+  * src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/MapLine.h: 
+  replaced FontMap entries by pointers; initialize entries with MapLine 
+  objects 
+
+  * src/CommandLine.cpp, src/Font.cpp, src/Font.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, 
+    src/MapLine.cpp, src/MapLine.h, tests/MapLineTest.cpp: 
+  implemented evaluation of font style options given in a mapline 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.1 
+
+  * NEWS, README: 
+  updated NEWS and README 
+
+2013-01-20  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontEngine.cpp, src/FontEngine.h: 
+  removed unneeded code related to font sizes from class FontEngine 
+
+2013-01-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/FontMap.cpp, src/FontMap.h, src/dvisvgm.cpp, src/options.xml: 
+  renamed option --map-file to --fontmap; allow multiple mapfiles and 
+  modes 
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/FontMap.cpp, src/FontMap.h, 
+    src/Makefile.am, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h: 
+  added PdfSpecialHandler to evaluate pdf:mapline and pdf:mapfile specials 
+
+2013-01-10  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/FontEncoding.cpp: 
+  fixed a string exception that occurred when an encoding file or an entry 
+  in the encoding table is unavailable 
+
+2013-01-06  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h: 
+  removed font encoding methods from FileFinder 
+
+2013-01-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, 
+    src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, 
+    src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, 
+    src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, 
+    src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/MiKTeXCom.cpp, 
+    src/MiKTeXCom.h, src/PSInterpreter.cpp, src/PSInterpreter.h, 
+    src/PageRanges.cpp, src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, 
+    src/Pair.h, src/Process.cpp, src/Process.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGTree.cpp, src/SVGTree.h, 
+    src/SignalHandler.cpp, src/SignalHandler.h, src/SpecialActions.h, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, 
+    src/StreamWriter.h, src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, 
+    src/Terminal.cpp, src/Terminal.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, 
+    src/options.dtd, src/options.xml, src/psdefs.psc, src/types.h, 
+    tests/BoundingBoxTest.cpp, tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, 
+    tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FilePathTest.cpp, tests/FileSystemTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, 
+    tests/TypesTest.cpp, tests/VectorStreamTest.cpp, tests/create-makefile: 
+  updated year in copyright statements to 2013 
+
+2012-12-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontCache.cpp, src/PsSpecialHandler.cpp, src/TpicSpecialHandler.cpp: 
+  check emptiness of containers with empty() instead of size() 
+
+  * src/FileFinder.cpp, src/MiKTeXCom.cpp, src/Process.cpp: 
+  avoid creating copies of exception objects 
+
+  * src/CmdLineParserBase.h, src/Directory.cpp, src/GFReader.cpp, 
+    src/PsSpecialHandler.cpp: 
+  initialize uninitialized member variables 
+
+  * src/FileFinder.cpp, src/Message.cpp, src/dvisvgm.cpp: 
+  reduced scope of some variables 
+
+2012-12-12  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontCache.cpp: 
+  replaced 'char' with 'glyph' in font cache listing 
+
+  * src/SpecialManager.cpp: 
+  clear all corresponding containers when calling 
+  SpecialHandler::unregisterHandlers() 
+
+2012-12-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Ghostscript.cpp: 
+  added explicit cast to avoid signed/unsigned comparison warning 
+
+2012-12-02  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FilePath.cpp, tests/FilePathTest.cpp: 
+  strip drive letter if it's not set (Windows only) 
+
+  * tests/FileSystemTest.cpp, tests/GFReaderTest.cpp: 
+  ensure that tests work properly on Windows 
+
+  * src/macros.h: 
+  removed SHOW() from macros.h 
+
+  * doc/dvisvgm.txt.in, src/Ghostscript.cpp: 
+  use gsdll64.dll for 64-bit builds; added info about gsdll64.dll to 
+  manpage 
+
+2012-11-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Message.cpp: 
+  don't wrap message lines explicitly on Windows
+* * * 
+
+2012-11-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Ghostscript.cpp, src/Ghostscript.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/dvisvgm.cpp: 
+  print an error message if the execution of PS code fails 
+
+  * src/PSInterpreter.cpp, src/psdefs.psc: 
+  print operand stack in case of a PS error 
+
+2012-11-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Message.cpp: 
+  handle wrapping of messages containing newlines correctly 
+
+2012-11-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DLLoader.cpp, src/DLLoader.h, src/Ghostscript.cpp: 
+  renamed DLLoader::loadFunction() to DLLoader::loadSymbol() 
+
+2012-11-19  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontEngine.cpp, src/FontEngine.h: 
+  renamed FontEngine::fname to FontEngine::_fontname 
+
+  * src/Font.cpp, src/Font.h, src/FontManager.cpp: 
+  print warning if font checksums don't match 
+
+2012-11-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Directory.h: 
+  undefine macro max() to avoid compilation problems on Windows 
+
+2012-11-15  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/FontMap.cpp, src/FontMap.h, 
+    tests/FontMapTest.cpp: 
+  made class FontMap a singleton 
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp: 
+  moved initialization of FontMap from FileFinder to dvisvgm.cpp 
+
+  * src/Makefile.am, src/MapLine.cpp, src/MapLine.h, tests/Makefile.am, 
+    tests/MapLineTest.cpp: 
+  added new class MapLine to parse and evaluate a single line of a map 
+  file 
+
+  * src/FileFinder.cpp, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, 
+    tests/FontMapTest.cpp: 
+  adapted code to use new MapLine class; introduced support of map line 
+  modes 
+
+2012-11-14  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  initialize Ghostscript when compiled for TeX Live Win32 (patch by Peter 
+  Breitenlohner) 
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp, 
+    tests/FileFinderTest.cpp, tests/FontManagerTest.cpp: 
+  initialize second parameter of kpse_set_program_name() correctly 
+
+  * src/DVIToSVG.cpp: 
+  prevent compilation error when using a C++11 compiler (patch by Peter 
+  Breitenlohner) 
+
+2012-11-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputBuffer.cpp, src/InputBuffer.h, src/InputReader.cpp, 
+    src/InputReader.h, src/PsSpecialHandler.cpp, 
+    tests/StreamInputBufferTest.cpp: 
+  some refactorings of class InputReader; added InputReader::find() 
+
+2012-10-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/dvisvgm.cpp: 
+  don't show warning about disabled PS support in list of special handlers 
+
+2012-09-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.12 
+
+  * NEWS: 
+  updated NEWS 
+
+  * src/options.ggo: 
+  removed deprecated file options.ggo 
+
+2012-09-20  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp: 
+  show warning if processing of PS specials is disabled 
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  removed Ghostscript info from ps entry in list of special handlers 
+
+2012-09-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.psc: 
+  ignore dvips bop operators that might be present in PS specials 
+
+2012-09-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/StreamReader.cpp: 
+  fixed reading invalid number of string characters 
+
+2012-04-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/Makefile.am: 
+  keep manpage when calling 'make clean' 
+
+2012-04-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp, src/SVGTree.cpp, src/SVGTree.h, 
+    tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, 
+    tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: 
+  scale point units in the SVG files to big points (bp) 
+
+2012-04-02  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: 
+  added Matrix::invert() and det() 
+
+2012-03-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: 
+  added start index parameter to Matrix::set(vector<>) 
+
+2012-03-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.psc: 
+  evaluate PS operators rectclip, rectfill, and rectstroke 
+
+2012-03-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Ghostscript.cpp, src/Ghostscript.h: 
+  added optional parameter to Ghostscript::revision() to retrieve the 
+  revision number only 
+
+  * src/dvisvgm.cpp: 
+  added Ghostscript to library list printed by --version=yes 
+
+  * NEWS: 
+  updated NEWS 
+
+2012-03-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.11 
+
+2012-03-07  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp: 
+  correct location of a rule's bounding box (lp bug #948713) 
+
+2012-02-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in: 
+  fixed a couple of mistakes and formatting flaws in the manpage 
+
+2012-02-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * README: 
+  updated information about bug reporting 
+
+2012-01-26  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CmdLineParserBase.h, src/DVIActions.h, src/DVIReader.h, 
+    src/DVIToSVGActions.h, src/FontEngine.h, src/FontManager.h, 
+    src/MetafontWrapper.h, src/SVGTree.h, src/SpecialActions.h, 
+    src/SpecialHandler.h, src/SpecialManager.h, src/TFM.h, src/VFReader.h: 
+  adapt forward declarations of classes and structs to their corresponding 
+  definition (SF bug #3480013) 
+
+2012-01-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h: 
+  removed outdated files for old MiKTeX bindings 
+
+2012-01-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputReader.cpp, tests/StreamInputBufferTest.cpp: 
+  fixed parsing of negative floating point numbers starting with '-0.' (SF 
+  bug #3471097) 
+
+  * src/TpicSpecialHandler.cpp: 
+  added some more comments to methods of class TpicSpecialHandler 
+
+2012-01-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, 
+    src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, 
+    src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, 
+    src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, 
+    src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, 
+    src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PageRanges.cpp, src/PageRanges.h, 
+    src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/Process.cpp, 
+    src/Process.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SVGTree.cpp, src/SVGTree.h, src/SignalHandler.cpp, 
+    src/SignalHandler.h, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, 
+    src/StreamReader.h, src/StreamWriter.cpp, src/StreamWriter.h, 
+    src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, src/Terminal.cpp, 
+    src/Terminal.h, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, 
+    src/VFActions.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/macros.h, src/options.dtd, src/options.xml, 
+    src/psdefs.psc, src/types.h, tests/BoundingBoxTest.cpp, 
+    tests/CRC32Test.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, 
+    tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FilePathTest.cpp, tests/FileSystemTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, 
+    tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, 
+    tests/PageSizeTest.cpp, tests/PairTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, 
+    tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, 
+    tests/TypesTest.cpp, tests/VectorStreamTest.cpp, tests/check-conv, 
+    tests/create-makefile: 
+  updated year in copyright statements 
+
+2011-12-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/Makefile.am, tests/create-makefile: 
+  link tests with -lpthread (required by gtest on Ubuntu) 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.10 
+
+  * NEWS: 
+  updated NEWS 
+
+2011-12-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/GlyphTracerMessages.h, 
+    src/Message.cpp, src/Message.h, src/MetafontWrapper.cpp, 
+    src/Terminal.cpp, src/Terminal.h, src/dvisvgm.cpp: 
+  allow users to customize the message colors 
+
+  * doc/dvisvgm.txt.in: 
+  added documentation on environment variable DVISVGM_COLORS to manpage 
+
+2011-11-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/GraphicPath.h: 
+  added some more comments to the methods of GraphicPath 
+
+2011-11-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac: 
+  move linker flag -lfreetype from LDFLAGS to LIBS to avoid linking 
+  problems 
+
+2011-10-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontMap.cpp: 
+  removed unused variable eval_prefix in helper function read_entry() 
+
+  * src/SVGTree.cpp: 
+  avoid possible collisions of glyph IDs 
+
+2011-10-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.9 
+
+  * NEWS: 
+  updated NEWS 
+
+2011-10-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FilePath.cpp: 
+  added some missing comments to methods of class FilePath 
+
+  * src/Directory.h: 
+  dropped method Directory::getEntry() 
+
+2011-10-07  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Process.cpp: 
+  added missing include <signal.h> to Process.cpp 
+
+  * src/Process.cpp: 
+  exclude definition of split_paramstr() from Windows builds as it's not 
+  used there 
+
+2011-10-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/Makefile.am: 
+  add metadata/pdfmarks to pdf version of manpage 
+
+2011-09-06  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  updated bundled potrace library to version 1.10 
+
+2011-06-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.9dev 
+
+  * src/FileFinder.cpp, src/MetafontWrapper.cpp: 
+  fixed segfault occured in TeX Live Win32 caused by mf.exe being 
+  unavailable (SF bug #3308473) 
+
+2011-06-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac: 
+  added AC_LANG_SOURCE to avoid autoconf warnings 
+
+2011-05-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0.8; updated NEWS 
+
+  * src/PsSpecialHandler.cpp: 
+  explicitly cast double to int in call of ClippingStack::dup()/pop() 
+
+2011-05-27  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/check-conv, tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: 
+  updated conversion tests 
+
+2011-05-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Makefile.am, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.h, src/Process.cpp, src/Process.h, 
+    src/SignalHandler.cpp: 
+  replaced call of system() with Process::run() and kill child process if 
+  necessary 
+
+2011-05-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  MiKTeX: maketfm and makemf have been renamed to miktex-maketfm and 
+  miktex-makemf 
+
+  * src/MetafontWrapper.cpp: 
+  dropped '--halt-on-error' in Metafont call to process buggy mf files 
+  completely 
+
+2011-05-19  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DLLoader.h: 
+  added #undef NOMINMAX before (re)defining it 
+
+2011-05-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.psc, tests/PSInterpreterTest.cpp: 
+  PS handler: implemented evaluation of save, restore, and grestoreall 
+
+2011-05-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.8dev 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVGActions.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialActions.h: 
+  fixed interaction between PS and DVI drawing position 
+
+  * src/PsSpecialHandler.cpp: 
+  add definitions in literal PS headers to dictionary TeXDict 
+
+  * src/PsSpecialHandler.cpp: 
+  fixed potential segfault caused by invisible zero-length paths 
+
+2011-05-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/psdefs.psc: 
+  PS handler: added missing unit conversions (pt vs. bp) 
+
+  * NEWS, README, configure.ac, src/Doxyfile: 
+  set version to 1.0.7; updated NEWS and README 
+
+2011-05-05  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PSInterpreter.cpp, src/PsSpecialHandler.cpp: 
+  separate PS snippets by newline characters to leave preceding comments 
+
+  * src/PsSpecialHandler.h: 
+  corrected scaling formula applied to PS line properties 
+
+  * doc/dvisvgm.txt.in: 
+  added info about dvips rounding issues to manpage 
+
+2011-05-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PsSpecialHandler.cpp: 
+  don't call Ghostscript::revision() in initialization of static variable 
+
+  * src/Ghostscript.cpp, src/Ghostscript.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h: 
+  avoid 'this' pointer in initialazation list of 
+  PSInterpreter::PSInterpreter() 
+
+  * src/Length.h: 
+  undefine macro IN 
+
+2011-05-03  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.7dev 
+
+  * src/psdefs.psc: 
+  catch PS error /nocurrentpoint in operator 'setpos' properly 
+
+  * src/psdefs.psc: 
+  PS handler: recognize save/restore operators 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, 
+    src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h: 
+  replaced methods for DVI position alterations with translation semantics 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/macros.h, src/psdefs.psc, 
+    tests/PSInterpreterTest.cpp: 
+  improved handling of pure PostScript specials 
+
+  * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: 
+  tpic special 'ip' must not draw the outline of the polygon but only fill 
+  its interior 
+
+  * src/DLLoader.cpp, src/DLLoader.h: 
+  don't define min/max macros in windows.h 
+
+2011-04-30  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/SpecialManager.cpp: 
+  register special prefix ps:: properly 
+
+2011-04-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp, 
+    tests/FileFinderTest.cpp: 
+  dropped class FileFinder::Impl and simplified FileFinder interface 
+
+  * src/DVIReader.cpp, src/Font.cpp, src/GFReader.cpp, src/Makefile.am, 
+    src/MetafontWrapper.cpp, src/PSInterpreter.cpp, src/SignalHandler.cpp, 
+    src/SignalHandler.h, src/TFM.cpp, src/dvisvgm.cpp: 
+  added class SignalHandler for CTRL-C signals 
+
+  * NEWS, README, configure.ac, src/Doxyfile: 
+  set version to 1.0.6; updated NEWS and README 
+
+2011-04-14  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp, src/MessageException.h, src/dvisvgm.cpp, 
+    tests/Makefile.am, tests/MessageExceptionTest.cpp: 
+  derived MessageException from std::exception and replaced getMessage() 
+  with what() 
+
+2011-04-13  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/XMLNode.cpp, src/XMLNode.h: 
+  prepended member variables of the XMLNode classes with underscore 
+
+2011-03-15  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp: 
+  throw DVI exception if set_char/put_char is executed without preceding 
+  font selection 
+
+2011-03-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.6dev 
+
+  * potracelib/potracelib.c, potracelib/potracelib.h: 
+  changed return type of potrace_version() to 'const char *' in order to 
+  avoid compiler warning 
+
+2011-03-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0.5, updated NEWS 
+
+2011-02-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/FontCache.cpp, src/FontCache.h, src/dvisvgm.cpp: 
+  added code to remove outdated and corrupted cache files 
+
+  * src/Ghostscript.cpp: 
+  fixed formatting of GS version number 
+
+2011-02-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.5dev 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/GraphicPath.h, src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp, 
+    src/options.xml, tests/CommandLineTest.cpp: 
+  added option to replace use elements with paths 
+
+  * src/SVGTree.cpp: 
+  added missing unit in height/width attribute of svg root element 
+
+  * tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, 
+    tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: 
+  updated conversion test files 
+
+2011-02-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputBuffer.h: 
+  reference to scanned string in StringInputBuffer is constant now 
+
+2011-02-10  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileSystem.cpp, src/FileSystem.h, src/dvisvgm.cpp, 
+    tests/FileSystemTest.cpp: 
+  merged FileSystem::move() into FileSystem::copy() 
+
+  * src/CRC32.cpp, src/CRC32.h, src/Makefile.am, tests/CRC32Test.cpp, 
+    tests/Makefile.am: 
+  added class CRC32 and corresponding tests 
+
+  * src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, 
+    src/StreamWriter.h, tests/Makefile.am, tests/StreamReaderTest.cpp, 
+    tests/StreamWriterTest.cpp: 
+  added CRC32 computation methods to StreamReader and StreamWriter 
+
+  * src/FontCache.cpp, src/FontCache.h: 
+  added CRC32 checks to cache files 
+
+2011-01-31  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CmdLineParserBase.cpp: 
+  print character instead of ascii value in message of command-line parser 
+
+2011-01-30  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/FileFinder.cpp, src/FileFinder.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/dvisvgm.cpp, src/options.xml: 
+  added optional argument to --version 
+
+2011-01-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  updated bundled potrace library to version 1.9 
+
+2011-01-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileSystem.cpp, src/FileSystem.h, tests/FileSystemTest.cpp, 
+    tests/Makefile.am: 
+  added FileSystem::copy and FileSystem::move; added FileSystemTest 
+
+  * doc/dvisvgm.txt.in, src/dvisvgm.cpp: 
+  moved cache files to subfolder ($HOME/.dvisvgm/cache) 
+
+2011-01-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CmdLineParserBase.cpp, 
+    src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, 
+    src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, 
+    src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, 
+    src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, 
+    src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PageRanges.cpp, src/PageRanges.h, 
+    src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGTree.cpp, src/SVGTree.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h, src/StreamReader.cpp, src/StreamReader.h, 
+    src/StreamWriter.cpp, src/StreamWriter.h, src/System.cpp, src/System.h, 
+    src/TFM.cpp, src/TFM.h, src/Terminal.cpp, src/Terminal.h, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, 
+    src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/macros.h, src/options.dtd, src/options.xml, 
+    src/psdefs.psc, src/types.h, tests/BoundingBoxTest.cpp, 
+    tests/CalculatorTest.cpp, tests/ColorSpecialTest.cpp, 
+    tests/CommandLineTest.cpp, tests/DirectoryTest.cpp, 
+    tests/FileFinderTest.cpp, tests/FilePathTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, 
+    tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MatrixTest.cpp, tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, 
+    tests/PairTest.cpp, tests/SplittedCharInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/TypesTest.cpp, 
+    tests/VectorStreamTest.cpp, tests/check-conv, tests/create-makefile: 
+  updated year in copyright info 
+
+  * tests/Makefile.am, tests/PSInterpreterTest.cpp: 
+  added basic tests for class PSInterpreter 
+
+2010-12-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FileFinder.cpp: 
+  updated to MiKTeX 2.8 SDK 
+
+  * src/PsSpecialHandler.cpp: 
+  fixed scaling issue in PS positioning 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.psc: 
+  PS handler: added missing scaling of linewidths and dash distances 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0.4; updated NEWS 
+
+  * doc/dvisvgm.txt.in: 
+  minor update to the manpage 
+
+2010-08-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontEngine.cpp: 
+  fixed FreeType version check (patch by Paul Vojta) 
+
+2010-08-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/Makefile.am, tests/PairTest.cpp: 
+  added PairTest 
+
+2010-08-06  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.3 
+
+2010-08-05  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS, doc/dvisvgm.txt.in: 
+  updated manpage and NEWS 
+
+2010-08-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/Matrix.cpp, src/Matrix.h, 
+    src/PsSpecialHandler.cpp: 
+  revamped PsSpecialHandler::psfile() to fix a transformation issue (SF 
+  bug #3037372) 
+
+2010-07-28  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp: 
+  added check of DVI format version 
+
+2010-07-26  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  restore transformation matrix after execution of psfile 
+
+2010-07-13  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.3dev 
+
+  * src/InputBuffer.h: 
+  added missing namespace prefix 
+
+  * src/Terminal.cpp: 
+  replaced \e with \x1B 
+
+  * src/GraphicPath.h, src/PsSpecialHandler.h: 
+  fixed missing initialization of GraphicPath iterator 
+
+  * src/Directory.cpp, src/Directory.h, src/GFReader.cpp, src/GFReader.h: 
+  added leading underscore to variables of GFReader 
+
+2010-06-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/gzstream.cpp, src/gzstream.h: 
+  fixed class variable issue introduced by previous AIX patch 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0.2 
+
+2010-06-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Bitmap.cpp, tests/DirectoryTest.cpp, tests/GFReaderTest.cpp, 
+    tests/Makefile.am, tests/cmr10.600gf, tests/create-makefile: 
+  added GFReaderTest; updated DirectoryTest 
+
+2010-06-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Bitmap.cpp, src/Calculator.cpp, src/CmdLineParserBase.cpp, 
+    src/Color.cpp, src/ColorSpecialHandler.cpp, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, 
+    src/EmSpecialHandler.cpp, src/FontCache.cpp, src/FontEncoding.cpp, 
+    src/GFGlyphTracer.cpp, src/Pair.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/TFM.cpp, src/TFM.h: 
+  fixed some type conversion warnings 
+
+  * src/Message.cpp, src/Message.h: 
+  renamed MessageStream::putchar() to MessageStream::putChar() to avoid 
+  name clashes 
+
+  * src/types.h, tests/Makefile.am, tests/TypesTest.cpp: 
+  added TypesTest 
+
+2010-06-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * potracelib/curve.c, potracelib/curve.h, potracelib/decompose.c: 
+  renamed internal potrace functions path_new() and path_free() to prevent 
+  linker conflicts on OS X 
+
+2010-06-14  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.2dev 
+
+  * configure.ac, src/CmdLineParserBase.h, src/FileFinder.h, 
+    src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, 
+    src/FontEngine.cpp, src/GFGlyphTracer.h, src/MetafontWrapper.cpp, 
+    src/gzstream.cpp: 
+  applied latest TL patches from Peter Breitenlohner and Karl Berry 
+
+2010-06-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Message.cpp: 
+  suppress ANSI color code by default 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0.1 
+
+2010-06-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0.1dev 
+
+  * src/psdefs.psc: 
+  fixed recursion issue in PS operator charpath 
+
+2010-06-08  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, doc/Makefile.am, src/Makefile.am: 
+  cleaned up configuration scripts 
+
+  * configure.ac, src/Doxyfile: 
+  set version to 1.0dev 
+
+  * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.cpp, 
+    src/EmSpecialHandler.cpp, src/PsSpecialHandler.cpp, src/SpecialActions.h, 
+    src/SpecialManager.cpp, src/TpicSpecialHandler.cpp: 
+  added special for creating local bounding boxes 
+
+  * src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, 
+    src/Makefile.am, tests/FilePathTest.cpp, tests/Makefile.am: 
+  added class FilePath 
+
+  * src/InputBuffer.h, tests/ColorSpecialTest.cpp, 
+    tests/StreamInputBufferTest.cpp: 
+  added InputBuffer::invalidate() 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, 
+    src/PageRanges.cpp, src/PageRanges.h, src/StreamCounter.h, 
+    src/dvisvgm.cpp, src/options.xml, tests/BoundingBoxTest.cpp, 
+    tests/CommandLineTest.cpp, tests/Makefile.am, tests/PageRagesTest.cpp, 
+    tests/StreamCounterTest.cpp: 
+  added conversion of multiple pages 
+
+  * configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, src/CommandLine.cpp, 
+    src/CommandLine.h, src/DVIActions.h, src/DVIToSVG.cpp, src/GFTracer.cpp, 
+    src/GlyphTracerMessages.h, src/Makefile.am, src/Message.cpp, 
+    src/Message.h, src/MetafontWrapper.cpp, src/Terminal.cpp, src/Terminal.h, 
+    src/dvisvgm.cpp, src/options.xml: 
+  improved output of messages including optional colorization 
+
+  * src/Font.cpp: 
+  print error message if Metafont failed 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.psc: 
+  evaluate Ghostscript operator .setopacityalpha 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h: 
+  added method to compute length of DVI command 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DVIActions.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/Makefile.am, src/Message.cpp, src/Message.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SpecialActions.h, src/System.cpp, src/System.h, src/dvisvgm.cpp, 
+    src/options.xml: 
+  added percentage-based progress indicator 
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in: 
+  documented option --help and --version in manpage 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 1.0 
+
+  * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h: 
+  fixed PS destructor issue (SF bug #3013392) 
+
+2010-05-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac: 
+  fixed whitespace issue in CPPFLAGS and LDFLAGS 
+
+2010-05-04  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac: 
+  fixed kpathsea check; use pkg-config to check freetype availability 
+
+  * tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, tests/check-conv: 
+  fixed segfaults in tests 
+
+2010-04-23  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 0.9.1 
+
+2010-04-22  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CommandLine.cpp, src/options.xml: 
+  output of option --help: replaced '(default: FOO)' by '[FOO]' 
+
+  * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/SVGTree.cpp, src/SVGTree.h, src/XMLNode.cpp, src/XMLNode.h: 
+  ignore unused fonts in CSS styles list 
+
+  * src/SVGTree.cpp: 
+  fixed broken validity when using SVG fonts 
+
+  * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: 
+  print page count and page number of DVI page being processed 
+
+  * tests/check-conv, tests/frktest-wf-cmp.svg, tests/sample-wf-cmp.svg: 
+  adapted conversion tests to new output format 
+
+2010-04-20  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontEncoding.cpp: 
+  fixed memory bug in FontEncoding::encoding() 
+
+2010-04-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 0.9.1dev 
+
+  * src/DVIToSVGActions.cpp: 
+  replaced wrong font pointer that could lead to segfaults 
+
+2010-03-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/Font.h, src/dvisvgm.cpp: 
+  moved some methods from PhysicalFontImpl to PysicalFont 
+
+  * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, 
+    src/GlyphTracerMessages.h, src/Makefile.am, src/dvisvgm.cpp, 
+    src/options.xml: 
+  added command-line option --exact 
+
+  * src/FontCache.cpp, src/Makefile.am, src/StreamWriter.cpp, 
+    src/StreamWriter.h, src/TFM.cpp: 
+  replaced local stream IO functions by StreamReader/StreamWriter methods 
+
+  * src/CmdLineParserBase.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/FontEngine.cpp, src/GlyphTracerMessages.h, src/Message.cpp, 
+    src/Message.h, src/MetafontWrapper.cpp, src/dvisvgm.cpp: 
+  added class MessageStream, updated message output 
+
+  * src/FontCache.cpp, src/GFGlyphTracer.cpp, src/GFReader.cpp: 
+  variable _fontname is now correctly set in class FontCache 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  set version to 0.9 
+
+  * tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, 
+    tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: 
+  updated conversion tests 
+
+2010-03-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/SVGTree.cpp: 
+  moved creation of SVG 'use' elements from class DVIToSVG to class 
+  SVGTree 
+
+  * src/DVIToSVG.cpp, src/Font.cpp, src/Font.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/SVGTree.cpp, src/SVGTree.h: 
+  added class GFGlyphTracer::Callback providing an interface used to print 
+  status information about the tracer 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h: 
+  added evaluation of boolean and char arguments to the command-line 
+  parser 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/Font.cpp, src/Font.h, 
+    src/dvisvgm.cpp, src/options.xml, tests/CommandLineTest.cpp: 
+  reactivated option --trace-all, and added optional argument 'retrace' to 
+  it 
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/Font.cpp, src/Font.h, src/dvisvgm.cpp, src/options.xml: 
+  added command-line option --keep 
+
+2010-03-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/GFReader.cpp, src/GFReader.h: 
+  replaced GFReader messages by exceptions 
+
+  * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, 
+    src/Makefile.am, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, 
+    src/SVGTree.h: 
+  removed class CharmapTranslator 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/FontManager.cpp, src/FontManager.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/VFReader.h, tests/FontManagerTest.cpp: 
+  made FontManager a singleton 
+
+  * src/FontCache.cpp, src/FontCache.h: 
+  added method FontCache::write(const char *dir) that updates the cache 
+  file of the current font 
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/Font.cpp, 
+    src/Font.h, src/FontEmitter.h, src/GFGlyphTracer.h, src/Makefile.am, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/dvisvgm.cpp, tests/Makefile.am, tests/check-conv, 
+    tests/create-makefile: 
+  removed emitter classes; incorporated their functionality into SVGTree 
+  and PhysicalFontImpl 
+
+  * src/BoundingBox.cpp, src/Calculator.cpp, src/Matrix.cpp, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h: 
+  fixed a couple of comments 
+
+2010-02-26  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/FontCache.cpp, src/FontCache.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h: 
+  refactorings of GF tracer class; removed transferGlyph() 
+
+2010-02-21  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontManager.cpp, src/FontManager.h, src/SVGFontEmitter.cpp: 
+  moved method encoding() from class FontManager to class FontEncoding 
+
+  * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/Glyph.cpp, src/Glyph.h, src/Makefile.am, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h: 
+  removed class Glyph and incorporated its functionality into Font class 
+
+2010-02-05  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/Doxyfile: 
+  set version to 0.8.9dev 
+
+  * src/psdefs.psc: 
+  removed PS error handler nocurrentpoint 
+
+  * src/DVIToSVG.cpp: 
+  added evaluation of literal PS headers to PSHeaderActions 
+
+2010-02-02  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  version updated to 0.8.8 
+
+2010-02-01  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/check-conv: 
+  skip conversion checks by default 
+
+2010-01-31  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/Makefile.am, tests/check-conv, tests/create-makefile, 
+    tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, tests/frktest.dvi, 
+    tests/normalize.xsl, tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg, 
+    tests/sample.dvi: 
+  added tests to check conversion results 
+
+  * tests/normalize.xsl: 
+  some improvements to normalize.xsl 
+
+2010-01-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, 
+    src/CommandLine.h: 
+  removed CmdLineParserBase::numOptions() 
+
+  * src/GraphicPath.h: 
+  fixed scaling bug in computation of glyph paths when using -n 
+
+2010-01-24  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/FontCache.h, src/dvisvgm.cpp, src/options.dtd, src/options.xml: 
+  added command-line option --libgs 
+
+2010-01-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/CommandLine.cpp, src/options.dtd, src/options.xml: 
+  added DTD for options.xml 
+
+2010-01-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac: 
+  updated type of kpathsea_version_string (patch by lomov_vl) 
+
+  * fedora/dvisvgm-gs.patch, fedora/dvisvgm-potrace.patch, 
+    fedora/dvisvgm.spec: 
+  removed fedora directory 
+
+  * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/DVIToSVG.cpp, tests/BoundingBoxTest.cpp, tests/Makefile.am: 
+  added support for enlarging the minimal bbox by a given amount. 
+
+  * Makefile.am, README, configure.ac, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, 
+    src/CharmapTranslator.h, src/CmdLineParserBase.cpp, 
+    src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, 
+    src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, 
+    src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, 
+    src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontManager.cpp, src/FontManager.h, 
+    src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.cpp, 
+    src/Glyph.h, src/GraphicPath.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/InputReader.cpp, src/InputReader.h, src/Length.cpp, src/Length.h, 
+    src/Makefile.am, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, 
+    src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.h, src/PSInterpreter.cpp, src/PSInterpreter.h, 
+    src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/StreamCounter.h, 
+    src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, 
+    src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/macros.h, src/options.xml, src/psdefs.psc, 
+    src/types.h, tests/BoundingBoxTest.cpp, tests/CalculatorTest.cpp, 
+    tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, 
+    tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, 
+    tests/FontManagerTest.cpp, tests/FontMapTest.cpp, 
+    tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, 
+    tests/MatrixTest.cpp, tests/PageSizeTest.cpp, 
+    tests/SplittedCharInputBufferTest.cpp, tests/StreamCounterTest.cpp, 
+    tests/StreamInputBufferTest.cpp, tests/VectorStreamTest.cpp, 
+    tests/create-makefile: 
+  updated boilerplates 
+
+  * doc/dvisvgm.txt.in, src/FileFinder.cpp, src/Ghostscript.cpp, 
+    src/Ghostscript.h, src/dvisvgm.cpp: 
+  environment variable LIBGS can now be used to set the name of the GS 
+  shared library 
+
+  * NEWS: 
+  updated NEWS 
+
+  * src/Ghostscript.cpp: 
+  fixed typo in variable name 
+
+2009-12-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/InputReader.cpp: 
+  fixed bug in InputReader::parseUInt() 
+
+2009-12-15  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, src/dvisvgm.cpp: 
+  appied get_time patch sent by Peter Breitenlohner 
+
+2009-12-02  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/BoundingBox.h, src/Calculator.h, src/CharmapTranslator.h, 
+    src/DVIReader.h, src/DVIToSVG.h, src/DVIToSVGActions.h, src/Font.h, 
+    src/FontEngine.h, src/FontManager.h, src/FontMap.h, src/GFGlyphTracer.h, 
+    src/GFReader.h, src/MessageException.h, src/MetafontWrapper.h, 
+    src/PageSize.h, src/SVGTree.cpp, src/SVGTree.h, src/StreamReader.h, 
+    src/VFActions.h, src/VFReader.h, src/XMLDocTypeNode.h, src/XMLDocument.h, 
+    src/XMLNode.h, src/XMLString.h: 
+  removed using statements from header files 
+
+2009-11-25  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/FontCache.cpp, src/FontCache.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFTracer.cpp, 
+    src/Glyph.cpp, src/Glyph.h, src/GraphicPath.h, src/Makefile.am, 
+    src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp, 
+    tests/GraphicPathTest.cpp: 
+  removed FEGlyphCommands and replaced separate glyph class implementation 
+  by class GraphicPath 
+
+2009-11-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/Ghostscript.cpp, src/Ghostscript.h: 
+  replaced #if !DISABLE_GS by #if !defined(DISABLE_GS) (Peter 
+  Breitenlohner) 
+
+  * src/Ghostscript.cpp, src/Ghostscript.h: 
+  replaced #if HAVE_LIBGS by #if defined(HAVE_LIBGS) 
+
+  * src/DLLoader.cpp, src/DLLoader.h: 
+  fixed line endings 
+
+2009-11-17  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: 
+  set version number to 0.8.8dev 
+
+  * potracelib/potracelib.c, potracelib/potracelib.h: 
+  replaced outdated string constant type char* by const char* in 
+  potrace_version() 
+
+  * src/Color.cpp, src/ColorSpecialHandler.cpp, src/FontManager.cpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/TpicSpecialHandler.cpp: 
+  added explicit casts to avoid compiler warnings (Peter Breitenlohner) 
+
+  * src/InputReader.cpp: 
+  added missing initialization value (Peter Breitenlohner) 
+
+  * src/CmdLineParserBase.h, src/GraphicPath.h, src/InputReader.h, 
+    src/Makefile.am, src/PSInterpreter.h, src/SpecialManager.h: 
+  added missing virtual destructors to avoid warnings 
+
+  * src/dvisvgm.cpp: 
+  don't use email adress PACKAGE_BUGREPORT for copyright notice 
+
+  * NEWS: 
+  updated NEWS 
+
+2009-11-09  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVG.cpp, src/dvisvgm.cpp: 
+  added total number of pages to message text 
+
+  * NEWS, src/Color.cpp, src/Color.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGTree.cpp: 
+  PS handler: colors set by color specials are now considered properly 
+
+  * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: 
+  set version to 0.8.7 
+
+2009-11-06  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/GraphicPath.h, src/PsSpecialHandler.cpp: 
+  PS handler: replace zero-length paths by dots 
+
+  * NEWS, doc/dvisvgm.txt.in: 
+  updated NEWS and manpage 
+
+  * NEWS, src/PsSpecialHandler.cpp: 
+  fixed path scaling issue in PS handler 
+
+2009-10-29  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DVIToSVGActions.cpp, src/Font.cpp, src/Font.h: 
+  fixed positioning of italic characters 
+
+2009-10-25  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/DvisvgmSpecialHandler.cpp: 
+  added macro {?nl} to dvisvgm:raw evaluator 
+
+2009-10-18  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/Font.cpp, src/TFM.cpp, src/TFM.h: 
+  added italic correction values to character widths 
+
+2009-10-16  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * tests/Makefile.am, tests/create-makefile: 
+  added script to create tests/Makefile.am 
+
+  * configure.ac, src/Doxyfile: 
+  increased version to 0.8.7dev 
+
+2009-10-13  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in: 
+  removed outdated post-processing of manpage 
+
+  * fedora/dvisvgm.spec: 
+  updated spec file 
+
+  * doc/Makefile.am: 
+  added missing dvi suffix in Makefile target dvi-pdf 
+
+  * README, tests/CalculatorTest.cpp, tests/CalculatorTest.h, 
+    tests/ColorSpecialTest.cpp, tests/ColorSpecialTest.h, 
+    tests/CommandLineTest.cpp, tests/CommandLineTest.h, 
+    tests/DirectoryTest.cpp, tests/DirectoryTest.h, tests/FileFinderTest.cpp, 
+    tests/FileFinderTest.h, tests/FontManagerTest.cpp, 
+    tests/FontManagerTest.h, tests/FontMapTest.cpp, tests/FontMapTest.h, 
+    tests/GraphicPathTest.cpp, tests/GraphicPathTest.h, tests/LengthTest.cpp, 
+    tests/LengthTest.h, tests/Makefile.am, tests/MatrixTest.cpp, 
+    tests/MatrixTest.h, tests/PageSizeTest.cpp, tests/PageSizeTest.h, 
+    tests/SplittedCharInputBufferTest.cpp, 
+    tests/SplittedCharInputBufferTest.h, tests/StreamCounterTest.cpp, 
+    tests/StreamCounterTest.h, tests/StreamInputBufferTest.cpp, 
+    tests/StreamInputBufferTest.h, tests/VectorStreamTest.cpp, 
+    tests/VectorStreamTest.h: 
+  replaced cxxtest by googletest 
+
+2009-10-12  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, 
+    src/CharmapTranslator.h, src/CmdLineParserBase.cpp, 
+    src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DLLoader.cpp, 
+    src/DLLoader.h, src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, 
+    src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, 
+    src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, 
+    src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, 
+    src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, src/Ghostscript.cpp, 
+    src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, 
+    src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h, src/StreamCounter.h, src/StreamReader.cpp, 
+    src/StreamReader.h, src/TFM.cpp, src/TFM.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/macros.h, src/types.h: 
+  code cleanup 
+
+2009-10-11  Martin Gieseking  <mgieseki at users.sourceforge.net>
+
+  * autogen.sh: 
+  fixed file permissions of autogen.sh 
+
+  * src/DVIToSVG.cpp, src/DvisvgmSpecialHandler.cpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SVGTree.cpp, 
+    src/SVGTree.h: 
+  suppress empty style and transformation elements 
+
+  * NEWS: 
+  NEWS updated 
+
+2009-10-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  scale clipping paths by 72.27/72 
+
+2009-10-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.h: 
+  fixed bit shift overflow in Bitmap class occured on 64-bit systems 
+
+  * autogen.sh, prepare: 
+  prepare script replaced by autogen.sh 
+
+  * doc/dvisvgm.txt.in: 
+  fixed formatting of manual page 
+
+  * src/Length.cpp, src/Length.h, tests/LengthTest.h: 
+  fixed unit conversion bug 
+
+  * src/Makefile.am: 
+  fixed Makefile 
+
+2009-10-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/CommandLine.cpp, 
+    src/CommandLine.h, src/DVIToSVG.cpp, src/DVIToSVG.h, src/dvisvgm.cpp, 
+    src/options.xml, tests/CommandLineTest.h, tests/Makefile.am: 
+  cmdline parameter --bbox can now be used to set the absolute bounding 
+  box 
+
+  * NEWS, src/GraphicPath.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h: 
+  PS clipping path sequences and intersections are now handled correctly 
+
+  * src/MetafontWrapper.cpp: 
+  fixed file permissions 
+
+  * src/dvisvgm.cpp: 
+  fixed uncaught PageSizeException 
+
+2009-10-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/DvisvgmSpecialHandler.cpp: 
+  added the special variant 'dvisvgm:bbox abs' and 'dvisvgm:bbox fix' 
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/Length.cpp, src/Length.h, 
+    src/Makefile.am, tests/LengthTest.h: 
+  class Length provides length unit calculations 
+
+2009-10-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/GraphicPath.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/psdefs.psc: 
+  fixed some PS bounding box and positioning issues introduced by previous 
+  changesets 
+
+  * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile: 
+  set version to 0.8.6 
+
+2009-10-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  convert PS path coordinated to TeX point units 
+
+  * NEWS, src/PsSpecialHandler.cpp: 
+  fixed another positioning bug reported by John Bowman 
+
+2009-10-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GraphicPath.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  corrected positioning bug introduced with previous PS positioning fix 
+
+2009-10-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in: 
+  generate pdf manpage directly with groff; adapted manpage source to work 
+  with latest asciidoc 
+
+2009-10-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in: 
+  replaced backticks in manpage by apostrophes; updated date on homepage 
+
+2009-09-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DvisvgmSpecialHandler.cpp: 
+  added optional depth parameter to special dvisvgm:raw 
+
+  * doc/dvisvgm.txt.in: 
+  added dvisvgm:raw example to man page 
+
+  * LGPL-2.1.txt, NEWS, README: 
+  updated README and NEWS, and added file with LGPL license text 
+
+  * Makefile.am, configure.ac, fedora/dvisvgm.spec, src/Doxyfile: 
+  increased version number to 0.8.5 
+
+2009-09-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS: 
+  added cretdit to John Bowman for sending a patch for the already fixed 
+  clipping bug 
+
+  * src/PsSpecialHandler.h: 
+  increased the default linewidth to 0.5 
+
+  * fedora/dvisvgm.spec: 
+  updated spec file and fixed typo on website 
+
+  * doc/dvisvgm.txt.in: 
+  minor changes of the documentation 
+
+2009-09-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/CmdLineParserBase.cpp, src/FontCache.cpp, 
+    src/SVGFontTraceEmitter.cpp: 
+  fixed memory bug in tracer module (issue #21) 
+
+  * NEWS, doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h, src/dvisvgm.cpp, src/options.xml: 
+  added option --progress for enabling a progress indicator (feature #22) 
+
+  * src/FileSystem.cpp, src/MetafontWrapper.cpp: 
+  Windows: Metafont is now called via CreateProcess() 
+
+2009-09-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h: 
+  refactored prefixes methods of the SpecialHandlers (ticket #20) 
+
+  * NEWS, doc/dvisvgm.txt.in, src/FileSystem.cpp, src/FileSystem.h, 
+    src/FontCache.cpp, src/FontCache.h, src/dvisvgm.cpp: 
+  option --cache prints additional information about the cached fonts 
+  (feature #7) 
+
+  * src/FileSystem.cpp, src/FontCache.cpp: 
+  fixed Windows-related bug in FileSystem::collect 
+
+2009-09-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README: 
+  updated NEWS and README 
+
+2009-09-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: 
+  increased version number to 0.8.4 
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/PsSpecialHandler.cpp: 
+  linewidths are now considered properly in computation of bounding box 
+  (issue #13) 
+
+  * src/dvisvgm.cpp: 
+  fixed evaluation of option --help 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, 
+    src/InputBuffer.h, src/InputReader.h, src/psdefs.psc, 
+    tests/CommandLineTest.h: 
+  improved the command line parser to make it more POSIX-compliant 
+  (feature #17) 
+
+2009-09-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp, src/psdefs.psc: 
+  fixed flattened clipping path bug (issue #11) 
+
+2009-08-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am: 
+  added error checks; disallow numeric optional arguments w/o default 
+  value 
+
+2009-08-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/PSInterpreter.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp, 
+    src/psdefs.psc: 
+  added evaluation of PS 'show' operator in order to evaluate PSTricks 
+  Type 3 fonts properly 
+
+  * fedora/dvisvgm.spec: 
+  updated spec file and homepage to latest release 
+
+2009-08-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, configure.ac, doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, 
+    src/CommandLine.cpp, src/Doxyfile, src/dvisvgm.cpp, src/getopt.c, 
+    src/getopt.h, src/getopt1.c, src/options.xml: 
+  replaced option --cache=? by --cache; increased version number to 0.8.3 
+
+2009-08-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * fedora/dvisvgm-0.8.1-potrace.patch, fedora/dvisvgm-gs.patch, 
+    fedora/dvisvgm-potrace.patch, fedora/dvisvgm.spec: 
+  updated Fedora files 
+
+  * configure.ac, fedora/dvisvgm.spec, src/Ghostscript.cpp, 
+    src/Ghostscript.h, src/Makefile.am: 
+  improved Ghostscript and potrace linking checks to simplify usage of 
+  external devel files 
+
+  * NEWS, configure.ac, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/PsSpecialHandler.cpp, 
+    src/SpecialManager.cpp, src/SpecialManager.h: 
+  PS prologue files referenced in first page are now always loaded 
+
+2009-08-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CommandLine.cpp, src/CommandLine.h: 
+  speed up printing help by using puts() instead of C++ streams 
+
+2009-08-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontMap.cpp: 
+  fixed memory bug in FontMap 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Makefile.am, 
+    src/dvisvgm.cpp, src/options.xml, tests/CommandLineTest.h, 
+    tests/Makefile.am: 
+  improved CmdLineParserBase and replaced gengetopt-based parser 
+
+  * NEWS, configure.ac, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, 
+    src/Doxyfile: 
+  increased version number to 0.8.2 
+
+2009-08-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/InputReader.cpp, src/InputReader.h: 
+  added method parseUInt() 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/options.xml: 
+  added files for replacement of gengetopt (not active yet) 
+
+  * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h: 
+  finished cmdline parser 
+
+  * COPYING: 
+  added copy of file COPYING 
+
+2009-08-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * tests/Makefile.am: 
+  added include path to fix broken distcheck 
+
+  * COPYING, LICENSE, Makefile.am, README, doc/dvisvgm.txt.in, 
+    src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, 
+    src/CharmapTranslator.h, src/Color.cpp, src/Color.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DLLoader.cpp, 
+    src/DLLoader.h, src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Directory.cpp, 
+    src/Directory.h, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, 
+    src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, 
+    src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, 
+    src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, src/Ghostscript.cpp, 
+    src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, 
+    src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, 
+    src/PsSpecialHandler.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, 
+    src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/StreamCounter.h, 
+    src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, 
+    src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, 
+    src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/inttypes.h, src/macros.h, src/psdefs.psc, 
+    src/types.h, tests/CalculatorTest.h, tests/ColorSpecialTest.h, 
+    tests/DirectoryTest.h, tests/FileFinderTest.h, tests/FontManagerTest.h, 
+    tests/FontMapTest.h, tests/GraphicPathTest.h, tests/MatrixTest.h, 
+    tests/PageSizeTest.h, tests/SplittedCharInputBufferTest.h, 
+    tests/StreamCounterTest.h, tests/StreamInputBufferTest.h, 
+    tests/VectorStreamTest.h: 
+  changed license to GPL version 3 or later 
+
+2009-08-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * fedora/dvisvgm-0.8.1-potrace.patch, fedora/dvisvgm.spec: 
+  added spec file and patch for Fedora builds 
+
+  * Makefile.am, configure.ac, src/Makefile.am, src/tests/CalculatorTest.h, 
+    src/tests/ColorSpecialTest.h, src/tests/DirectoryTest.h, 
+    src/tests/FileFinderTest.h, src/tests/FontManagerTest.h, 
+    src/tests/FontMapTest.h, src/tests/GraphicPathTest.h, 
+    src/tests/MatrixTest.h, src/tests/PageSizeTest.h, 
+    src/tests/SplittedCharInputBufferTest.h, src/tests/StreamCounterTest.h, 
+    src/tests/StreamInputBufferTest.h, src/tests/VectorStreamTest.h, 
+    src/tests/dvipdfm_test.map, src/tests/dvips_test.map, 
+    tests/CalculatorTest.h, tests/ColorSpecialTest.h, tests/DirectoryTest.h, 
+    tests/FileFinderTest.h, tests/FontManagerTest.h, tests/FontMapTest.h, 
+    tests/GraphicPathTest.h, tests/Makefile.am, tests/MatrixTest.h, 
+    tests/PageSizeTest.h, tests/SplittedCharInputBufferTest.h, 
+    tests/StreamCounterTest.h, tests/StreamInputBufferTest.h, 
+    tests/VectorStreamTest.h, tests/dvipdfm_test.map, tests/dvips_test.map: 
+  moved tests from src/tests to ./tests 
+
+  * tests/Makefile.am: 
+  added generated file test-all.cpp to CLEANFILES 
+
+2009-08-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * LICENSE, Makefile.am, src/Ghostscript.cpp: 
+  modified package to be compatible with prerequisites of Fedora 
+
+2009-07-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, src/DVIToSVG.cpp: 
+  added target triplet to version string in SVG output 
+
+  * src/DVIToSVGActions.cpp, src/Ghostscript.cpp, src/Ghostscript.h, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  added Ghostscript revision info to output of dvisvgm -l 
+
+2009-07-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/psdefs.psc: 
+  added vim tag to psdefs.psc 
+
+2009-07-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PsSpecialHandler.cpp: 
+  added evaluation of more psfile parameters; fixed psfile bounding box 
+  bug 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  updated version number to 0.8.1 
+
+  * NEWS, src/FileSystem.cpp, src/FontEngine.cpp, src/FontManager.cpp, 
+    src/Ghostscript.cpp, src/PageSize.cpp, src/dvisvgm.cpp: 
+  fixed bug related to unsigned/size_t mismatch on x64 systems 
+
+  * src/psdefs.psc: 
+  cleaned up VC++ build files; added batch file to generate cmdline.c; 
+  added generated file psdefs.psc for convenience 
+
+2009-07-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DLLoader.cpp, src/InputReader.cpp, src/PSInterpreter.cpp: 
+  changes to make VC happy; fixed potential memory bug 
+
+  * NEWS, README: 
+  fixed typos; updated homepage/manpage 
+
+  * src/DVIReader.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/InputReader.cpp, src/InputReader.h, src/Matrix.cpp, src/Matrix.h, 
+    src/PSInterpreter.h: 
+  replaced size_t parameters by unsigned 
+
+2009-07-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/PSInterpreter.cpp: 
+  some clean-ups 
+
+2009-07-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README, doc/dvisvgm.txt.in, src/BoundingBox.cpp, 
+    src/BoundingBox.h, src/GraphicPath.h, src/PSInterpreter.cpp, 
+    src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: 
+  fixed clipping bug; updated homepage, README, NEWS 
+
+  * src/TpicSpecialHandler.cpp: 
+  fixed reintroduced bug in TPIC handler 
+
+2009-07-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DvisvgmSpecialHandler.cpp, src/InputBuffer.cpp, src/InputReader.cpp, 
+    src/InputReader.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/tests/StreamInputBufferTest.h: 
+  implemented psfile special; fixed some bugs 
+
+  * src/PsSpecialHandler.cpp, src/SVGTree.cpp: 
+  fixed bbox bug; added missing file 
+
+2009-07-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, doc/dvisvgm.txt.in, src/BoundingBox.cpp, 
+    src/BoundingBox.h, src/Color.cpp, src/Color.h, src/DLLoader.cpp, 
+    src/DLLoader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Doxyfile, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, 
+    src/FileFinder.cpp, src/FontEncoding.cpp, src/Ghostscript.cpp, 
+    src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, 
+    src/Makefile.am, src/Matrix.cpp, src/Matrix.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.h, 
+    src/SpecialActions.h, src/TpicSpecialHandler.cpp, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/iapi.h, src/ierrors.h, src/tests/GraphicPathTest.h, 
+    src/tests/MatrixTest.h, src/tests/SplittedCharInputBufferTest.h, 
+    src/tests/StreamInputBufferTest.h: 
+  transplanted PS functionality to default branch 
+
+2009-06-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GFReader.cpp, src/GFReader.h: 
+  removed error method, use Message::estream instead 
+
+  * src/InputBuffer.cpp, src/InputBuffer.h, src/Makefile.am: 
+  transplanted changes to InputBuffer from branch 'pages' 
+
+  * src/Bitmap.cpp, src/Bitmap.h: 
+  transplanted changes to Bitmap from branch 'pages' 
+
+  * src/DVIReader.cpp, src/DVIReader.h: 
+  transplanted changes to DVIReader from branch 'pages' 
+
+  * src/FileSystem.cpp, src/FileSystem.h: 
+  transplanted changes to FileSystem from branch 'pages' 
+
+  * src/VFReader.cpp: 
+  transplanted changes to VFReader from branch 'pages' 
+
+  * src/GFTracer.cpp: 
+  transplanted changes to GFTracer from branch 'pages' 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, 
+    src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h: 
+  transplanted changes to SpecialHandlers from branch 'pages' 
+
+2009-04-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TpicSpecialHandler.cpp: 
+  fixed TPIC handler bug that could caused unwanted color fills of 
+  ellipses due to a missing call of reset() 
+
+  * NEWS, configure.ac, src/Doxyfile: 
+  increased version number to 0.7.3 
+
+  * src/FontCache.h: 
+  increased version of font cache files to ensure their recreation due to 
+  the previously fixed shorthand path command bug 
+
+2009-04-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontGlyph.cpp: 
+  fixed bug in computation of shorthand path command 
+
+2009-04-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontMap.cpp: 
+  fixed bug in FontMap that causes a segfault if extension in given font 
+  file is missing (reported by Armin Geisse) 
+
+2009-04-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * configure.ac, doc/dvisvgm.txt.in, src/MetafontWrapper.cpp, 
+    src/dvisvgm.cpp: 
+  prepared release 0.7.2 (removed inclusions of debug.h, adapted homepage 
+  and manpage) 
+
+2009-03-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/MetafontWrapper.cpp, src/MetafontWrapper.h: 
+  ported fix in MetafontWrapper back to default branch 
+
+2009-03-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/FontGlyph.cpp, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp: 
+  replaced Metafont magnification variable and its setters by a public 
+  class variable 
+
+  * src/Doxyfile: 
+  added doxygen files 
+
+  * src/SVGFontTraceEmitter.cpp: 
+  fixed closing bracket "bug" when writing the currently traced character 
+  to the terminal 
+
+2009-03-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/FontCache.cpp, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/GFGlyphTracer.cpp, src/Pair.h, src/SVGFontEmitter.cpp: 
+  use of shorthand path commands has been implemented 
+
+  * src/FontGlyph.cpp: 
+  fixed potential bug in Glyph::optimizeCommands() 
+
+  * src/FontGlyph.cpp: 
+  fixed memory bug in Glyph::optimizeCommands() 
+
+2009-03-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontCache.cpp: 
+  cache files are being compressed now to reduce the file size 
+
+2009-03-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/dvisvgm.txt.in, src/FontEmitter.h, src/GFGlyphTracer.cpp, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp, 
+    src/options.ggo: 
+  added option --trace-all that forces tracing of all glyphs of all 
+  currently used bitmap fonts 
+
+  * src/FontCache.cpp, src/SVGFontTraceEmitter.cpp: 
+  don't read existing cache file if --trace-all is given (trace complete 
+  font and then write cache file instead) 
+
+2009-03-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontCache.cpp: 
+  fixed bug in read/write functions of FontCache 
+
+  * src/DVIToSVG.cpp, src/TFM.cpp, src/TFM.h: 
+  added firstChar()/lastChar() to TFM class, removed unnecessary mag 
+  member variable and its setter 
+
+2009-03-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/FileSystem.cpp, 
+    src/FileSystem.h, src/FontCache.cpp, src/FontCache.h, src/FontGlyph.h, 
+    src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/Makefile.am, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp: 
+  completed font caching support 
+
+  * doc/dvisvgm.txt.in, src/dvisvgm.cpp: 
+  added option variant --cache=? to display the default cache directory 
+
+  * src/FontCache.cpp: 
+  reduced size of cache file format by using variable integer sizes 
+
+2009-03-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, configure.ac, doc/dvisvgm.txt.in, src/DVIToSVG.cpp, 
+    src/FileSystem.cpp, src/FileSystem.h, src/FontCache.cpp, src/FontCache.h, 
+    src/FontGlyph.cpp, src/FontGlyph.h, src/GFGlyphTracer.cpp, 
+    src/GFGlyphTracer.h, src/GFTracer.cpp, src/options.ggo: 
+  first additions to support font caching; not working yet 
+
+2009-03-11  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/FontEmitter.h, src/SVGFontEmitter.cpp, 
+    src/SVGFontEmitter.h, src/SVGFontTraceEmitter.cpp, 
+    src/SVGFontTraceEmitter.h: 
+  improved font embedding algorithm in case of --no-fonts (identical 
+  glyphs in different sizes are now referenced rather than duplicated) 
+
+2009-03-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp: 
+  all glyph sizes are now computed correctly in conjuction with option 
+  --no-fonts 
+
+2009-03-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BgColorSpecialHandler.cpp, src/SpecialManager.cpp, 
+    src/TpicSpecialHandler.cpp: 
+  adapted Code to make VC happy 
+
+  * src/types.h: 
+  minor changes to homepage and .hgignore 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp: 
+  fixed transformation bug (transformations are now applied properly to 
+  the page) 
+
+2009-03-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, README, src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, src/Makefile.am, 
+    src/TpicSpecialHandler.cpp: 
+  added bgcolor support, updated homepage, fixed color handler bug 
+
+  * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h: 
+  added missing background color handler 
+
+2009-03-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: 
+  implemented arc drawing of tpic special set 
+
+  * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: 
+  implemented splines of tpic specials 
+
+2009-03-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/BoundingBox.cpp, src/BoundingBox.h, src/Color.cpp, 
+    src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIActions.h, 
+    src/DVIBBoxActions.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EmSpecialHandler.cpp, 
+    src/Makefile.am, src/SpecialActions.h, src/SpecialHandler.h, 
+    src/TpicSpecialHandler.cpp: 
+  improved computation of the bounding box (works with specials now); 
+  added dummy function for background color assignments 
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/SpecialActions.h: 
+  implemented the dvisvgm specials raw, image, and bbox 
+
+  * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h: 
+  minor code improvements; comments added 
+
+2009-02-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/dvisvgm.txt, doc/dvisvgm.txt.in: 
+  removed generated file, added dvisvgm.txt.in 
+
+  * doc/Makefile.am, doc/dvisvgm.txt.in: 
+  improved manpage 
+
+2009-02-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, 
+    src/SpecialActions.h, src/TpicSpecialHandler.cpp: 
+  renamed appendInPage() to appendToPage 
+
+2009-02-24  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, 
+    src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, 
+    src/EmSpecialHandler.h, src/Makefile.am, src/SpecialColorHandler.cpp, 
+    src/SpecialColorHandler.h, src/SpecialDvisvgmHandler.cpp, 
+    src/SpecialDvisvgmHandler.h, src/SpecialEmHandler.cpp, 
+    src/SpecialEmHandler.h, src/SpecialHandler.h, src/SpecialHtmlHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/tests/ColorSpecialTest.h: 
+  improved SpecialHandler is now able to handle unprefixed specials 
+
+  * NEWS, src/Color.cpp, src/Color.h, src/DVIToSVGActions.cpp, 
+    src/Makefile.am, src/Pair.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, 
+    src/TpicSpecialHandler.h: 
+  first tpic implementations; not complete yet 
+
+  * NEWS, doc/dvisvgm.1.in, src/TpicSpecialHandler.cpp: 
+  few additions to tpic handler 
+
+2009-02-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, configure.ac, doc/dvisvgm.1.in, src/DVIBBoxActions.h, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/FontEmitter.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/XMLNode.cpp, 
+    src/XMLNode.h, src/dvisvgm.cpp, src/options.ggo, 
+    src/tests/ColorSpecialTest.h: 
+  added option --no-fonts wich uses path elements instead of fonts 
+
+2009-02-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/dvisvgm.1.in, src/Color.cpp, src/Color.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, 
+    src/SpecialActions.h, src/SpecialColorHandler.cpp, 
+    src/SpecialDvisvgmHandler.cpp, src/SpecialDvisvgmHandler.h, 
+    src/SpecialEmHandler.cpp, src/SpecialEmHandler.h, 
+    src/SpecialHtmlHandler.h, src/VerbSpecialHandler.cpp, 
+    src/VerbSpecialHandler.h: 
+  fixed bug in color handler, added skeletons of dvisvgm/hyperref special 
+  handlers 
+
+2009-02-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/Makefile.am, src/SpecialActions.h, src/SpecialColorHandler.cpp, 
+    src/SpecialEmHandler.cpp: 
+  added color support to emTeX specials, removed Color class 
+
+  * NEWS, src/SpecialActions.h, src/tests/ColorSpecialTest.h: 
+  adapted color test to new interface, added emtex info 
+
+2009-02-17  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp: 
+  made DVICommand local to executeCommand, removed unnecessary if 
+  statement 
+
+2009-02-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: 
+  finished color support 
+
+  * src/dvisvgm.cpp: 
+  fixed incorrect behavior of option -V/--version 
+
+  * NEWS, configure.ac: 
+  increased version number to 0.6.2, updated NEWS 
+
+  * doc/dvisvgm.1.in, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/dvisvgm.cpp, src/options.ggo: 
+  added option --no-style 
+
+  * NEWS, configure.ac: 
+  prepared release of version 0.7 
+
+2009-02-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile.am, configure.ac, src/tests/DirectoryTest.h: 
+  removed rpm support 
+
+  * prepare: 
+  added administrative files 
+
+  * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h: 
+  reverted to previous version, removed dependency on Color class 
+
+  * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, 
+    src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, 
+    src/SpecialManager.h: 
+  color specials are now processed by DVIToSVGActions, but don't create 
+  any results yet 
+
+  * prepare: 
+  updated administrative files 
+
+  * src/ColorSpecialHandler.cpp, src/Makefile.am, 
+    src/tests/ColorSpecialTest.h: 
+  added tests for ColorSpecialHandler 
+
+2009-02-12  martin at xps  <martin at xps>
+
+  * src/inttypes.h: 
+  added rudimentary files for writing of SWF files; not ready yet 
+
+2009-02-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/Makefile.am: 
+  replaced RGB arrays by Color class 
+
+2009-02-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TransformationMatrix.cpp: 
+  made y-coordinate of cmdline-option -t optional 
+
+2009-02-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/dvisvgm.1.in, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, 
+    src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, 
+    src/dvisvgm.cpp, src/options.ggo: 
+  added option --list-specials that lists all registered special handlers 
+
+  * src/FileFinder.cpp: 
+  changed lookup order of font maps 
+
+2009-02-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/dvisvgm.cpp, src/options.ggo: 
+  added optional prefix list to commandline option --no-specials 
+
+  * src/DVIToSVGActions.cpp: 
+  replaced special ignore list evaluation algorithm 
+
+2009-02-04  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp: 
+  added option for additional loading of user maps 
+
+  * src/FontMap.cpp: 
+  added output of font encoding in write method 
+
+2009-02-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialHandler.h, 
+    src/SpecialManager.cpp, src/SpecialManager.h, src/options.ggo: 
+  more color special implementation (color constants), still not ready 
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp: 
+  option -m/--map-file is now evaluated properly 
+
+  * map/cork-lm.map: 
+  removed deprecated map subdirectory 
+
+2009-02-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/FileFinder.cpp: 
+  fixed buggy call of maketfm/makemf in Windows version 
+
+  * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/Makefile.am, 
+    src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: 
+  added special support skeletons; not working yet 
+
+  * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h: 
+  some refactorings in color handler 
+
+2009-01-30  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/dvisvgm.cpp: 
+  prevented writing zero-length svg files; simplified main code by using 
+  auto pointers 
+
+  * NEWS, src/DVIReader.cpp, src/DVIReader.h: 
+  fixed magnification bug 
+
+2009-01-29  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp: 
+  adapted Windows version to new release 
+
+2009-01-28  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FileFinder.cpp, src/FileFinder.h, src/Makefile.am, 
+    src/tests/DirectoryTest.h, src/tests/FileFinderTest.h, 
+    src/tests/FontManagerTest.h, src/tests/KPSFileFinderTest.h: 
+  refactored FileFinder (implementation as singleton) 
+
+  * src/dvisvgm.cpp: 
+  use new initialisation of FileFinder 
+
+  * src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h: 
+  improved GFTracer to support unscaled results 
+
+  * src/FontMap.cpp, src/Makefile.am, src/tests/FontMapTest.h, 
+    src/tests/dvipdfm_test.map, src/tests/dvips_test.map: 
+  extensions to FontMap almost complete but not finished yet 
+
+  * src/Calculator.cpp, src/DVIToSVG.cpp, src/FontEncoding.cpp, 
+    src/FontMap.cpp, src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp: 
+  replaced comparisions with "" with calls of empty() 
+
+  * src/FileFinder.cpp, src/FontMap.cpp, src/FontMap.h, 
+    src/tests/FontMapTest.h, src/tests/dvips_test.map: 
+  FontMap now supports dvips and dvipdfm maps 
+
+  * NEWS, configure.ac, doc/dvisvgm.1.in: 
+  adapted configuration and documentation to new dvips map file support 
+
+2009-01-27  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFTracer.cpp, 
+    src/GFTracer.h, src/Makefile.am, src/SVGFontTraceEmitter.cpp, 
+    src/SVGFontTraceEmitter.h: 
+  made GFTracer a generic class with template methods 
+
+2009-01-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.cpp, src/Bitmap.h, src/GFReader.cpp, src/GFReader.h, 
+    src/GFTracer.cpp, src/Makefile.am: 
+  improvements to GF handling, first skeletton of gf->metapost (gfprint) 
+
+  * src/InputBuffer.h: 
+  fixed incompatible types bug 
+
+2009-01-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/InputBuffer.cpp, src/InputBuffer.h: 
+  added missing include 
+
+  * src/FontMap.cpp, src/FontMap.h: 
+  started redesign of FontMap, not complete yet 
+
+  * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp, 
+    src/FileFinder.h, src/Font.cpp, src/FontEncoding.cpp, 
+    src/FontManager.cpp, src/KPSFileFinder.cpp, src/KPSFileFinder.h, 
+    src/Makefile.am, src/MetafontWrapper.cpp, src/TFM.cpp, src/dvisvgm.cpp: 
+  renamed KPSFileFinder to FileFinder 
+
+  * src/FontMap.cpp: 
+  basic dvips font map support, not complete yet 
+
+2009-01-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * doc/Makefile.am, doc/dvisvgm.1.in: 
+  manpage updates 
+
+2009-01-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontMap.cpp: 
+  forgot to remove address operator 
+
+  * src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/dvisvgm.cpp: 
+  added support for MiKTeX' new COM interface 
+
+  * src/DVIReader.cpp, src/FontManager.cpp, src/KPSFileFinder.cpp: 
+  memory leak fixed 
+
+  * src/KPSFileFinder.cpp: 
+  fixed throwing of COM exception 
+
+  * Makefile.am, NEWS, README, configure.ac, potracelib/Makefile.am: 
+  updated version info to 0.6 
+
+  * src/tests/CalculatorTest.h, src/tests/DirectoryTest.h, 
+    src/tests/FontManagerTest.h, src/tests/FontMapTest.h, 
+    src/tests/KPSFileFinderTest.h, src/tests/PageSizeTest.h, 
+    src/tests/StreamCounterTest.h, src/tests/VectorStreamTest.h: 
+  updated tests 
+
+  * doc/dvisvgm.1.in, src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, 
+    src/BoundingBox.h, src/Calculator.cpp, src/Calculator.h, 
+    src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIActions.cpp, 
+    src/DVIActions.h, src/DVIBBoxActions.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Directory.cpp, 
+    src/Directory.h, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, 
+    src/FontEmitter.h, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, 
+    src/InputBuffer.cpp, src/InputBuffer.h, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h, src/Makefile.am, src/Matrix.cpp, src/Matrix.h, 
+    src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/StreamReader.cpp, src/StreamReader.h, 
+    src/TFM.cpp, src/TFM.h, src/TransformationMatrix.cpp, 
+    src/TransformationMatrix.h, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, 
+    src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, 
+    src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, 
+    src/options.ggo, src/types.h: 
+  updated file header comments 
+
+  * configure.ac: 
+  added test whether dvipdfm.map is available 
+
+2009-01-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/FontEncoding.cpp, src/FontGlyph.cpp: 
+  fixed bugs in handling of font encodings and virtual fonts 
+
+  * src/Calculator.cpp, src/DVIReader.cpp, src/DVIToSVGActions.cpp, 
+    src/Directory.cpp, src/FontEncoding.cpp, src/FontEngine.cpp, 
+    src/FontManager.cpp, src/FontMap.cpp, src/KPSFileFinder.cpp, 
+    src/MetafontWrapper.cpp, src/PageSize.cpp, src/StreamReader.cpp, 
+    src/TFM.cpp, src/TransformationMatrix.cpp, src/VFReader.cpp, 
+    src/XMLDocument.cpp, src/XMLNode.cpp: 
+  added in/out attributes to parameter documentation 
+
+2009-01-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.h, src/FontEncoding.cpp, 
+    src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontGlyph.cpp, src/FontGlyph.h, src/FontManager.cpp, 
+    src/FontManager.h, src/InputBuffer.cpp, src/InputBuffer.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h: 
+  first working version with font encoding support 
+
+  * src/FontEngine.cpp, src/FontEngine.h, src/SVGFontEmitter.cpp: 
+  fixed glyph positioning bug occured in conjunction with font encoding 
+
+  * src/SVGFontEmitter.cpp: 
+  fixed memory bug 
+
+2009-01-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, 
+    src/FontEngine.h, src/FontManager.cpp, src/FontManager.h, 
+    src/FontMap.cpp, src/FontMap.h, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h: 
+  more encoding implementations, not complete yet 
+
+  * src/DVIReader.cpp, src/FontEncoding.cpp, src/FontEncoding.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, 
+    src/FontManager.h, src/FontMap.cpp: 
+  partly working mapping support, but yet too slow 
+
+2009-01-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TransformationMatrix.cpp: 
+  fixed bug in argument assignment of transformation command M 
+
+2009-01-15  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/TransformationMatrix.cpp: 
+  removed a dangerous loop remained from previous code 
+
+2009-01-14  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  updated libpotrace to version 1.8 
+
+  * src/FontEncoding.cpp, src/FontEncoding.h, src/InputBuffer.cpp, 
+    src/InputBuffer.h, src/Makefile.am: 
+  added basic skeleton for handling of font encodings 
+
+  * src/FileSystem.cpp, src/FileSystem.h: 
+  const string parameters 
+
+  * src/dvisvgm.cpp: 
+  updated copyright string 
+
+  * src/KPSFileFinder.cpp: 
+  added enc-file support 
+
+2009-01-13  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CharmapTranslator.cpp: 
+  fixed crash on loading corrupt pfb-files 
+
+2008-06-18  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am: 
+  adapted to latest gengetopt version 
+
+2008-04-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Makefile.am: 
+  added missing include path 
+
+  * src/DVIReader.cpp: 
+  minor change 
+
+2007-03-26  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/CharmapTranslator.cpp, src/CharmapTranslator.h, 
+    src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.h, 
+    src/FontManager.cpp, src/Makefile.am, src/SVGFontTraceEmitter.cpp, 
+    src/SVGFontTraceEmitter.h: 
+  redesigned DVIActions and CharmapTranslator 
+
+  * src/DVIActions.cpp, src/DVIReader.cpp, src/DVIReader.h, 
+    src/FontManager.cpp, src/tests/FontManagerTest.h: 
+  few minor changes 
+
+2007-03-25  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIActions.cpp, src/DVIActions.h, src/DVIBBoxActions.h, 
+    src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, 
+    src/FontManager.cpp, src/FontManager.h, src/StreamReader.cpp, 
+    src/StreamReader.h, src/VFActions.h, src/VFReader.cpp, src/VFReader.h, 
+    src/VectorStream.h: 
+  first working version 0.5, release candidate 1 
+
+  * src/DVIReader.cpp, src/DVIReader.h, src/VFActions.h: 
+  minor fixes 
+
+2007-03-23  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/FontManager.cpp, src/FontManager.h, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/VFReader.cpp: 
+  more vf implementations, not complete yet 
+
+2007-03-22  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/Makefile.in, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/FileSystem.cpp, src/FileSystem.h, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile.am, 
+    src/dvisvgm.cpp, src/tests/DirectoryTest.h, src/tests/FontManagerTest.h: 
+  reintegrated font map initialization into KPSFileFinderm adapted some 
+  tests 
+
+  * src/DVIReader.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp, 
+    src/VFActions.h, src/VFReader.cpp, src/VFReader.h: 
+  more vf implementations 
+
+2007-03-21  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * AUTHORS, Makefile.am, README, potracelib/Makefile.am, src/Directory.cpp, 
+    src/Directory.h, src/KPSFileFinder.cpp, src/Makefile, src/Makefile.am, 
+    src/Makefile.in, src/SVGFontTraceEmitter.cpp, src/test-all.cpp, 
+    src/tests/DirectoryTest.h: 
+  implemented Directory class for Linux, added DirectoryTest 
+
+  * src/Calculator.cpp, src/DVIReader.cpp, src/Directory.cpp, src/Font.h, 
+    src/FontManager.cpp, src/Makefile, src/Makefile.am, src/Makefile.in, 
+    src/MetafontWrapper.cpp, src/VFReader.cpp, src/VectorStream.h, 
+    src/test-all.cpp, src/tests/VectorStreamTest.h: 
+  removed redundant code and commented code fragments, added 
+  VectorInputStream class 
+
+  * src/Directory.cpp, src/Directory.h, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h, src/dvisvgm.cpp: 
+  completed MiKTeX font map file look-up, fixed bug in Directory class 
+
+  * src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/dvisvgm.cpp: 
+  implemented options -n and -m 
+
+2007-03-20  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, doc/Makefile, doc/Makefile.in, doc/dvisvgm.1.in, 
+    src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.cpp, src/Font.h, 
+    src/FontManager.cpp, src/KPSFileFinder.cpp, src/Makefile, 
+    src/Makefile.am, src/Makefile.in, src/VFReader.cpp, src/dvisvgm.cpp, 
+    src/test-all.cpp, src/tests/KPSFileFinderTest.h: 
+  added KPSFileFinderTest, added EmptyFont, fixed compilation error 
+
+  * src/Directory.cpp, src/Directory.h, src/FileSystem.cpp, src/FontMap.cpp, 
+    src/FontMap.h, src/KPSFileFinder.cpp: 
+  more changes for MiKTeX support 
+
+2007-03-19  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FontManager.cpp, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile, 
+    src/Makefile.am, src/Makefile.in, src/MetafontWrapper.cpp, src/TFM.cpp: 
+  added mktexFOO support and font map lookups to KPSFileFinder 
+
+  * src/KPSFileFinder.cpp: 
+  bug fixed, font maps work now 
+
+  * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp, 
+    src/FontMap.h, src/KPSFileFinder.cpp: 
+  made sources comaptible with MikTeX 
+
+2007-03-16  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp, 
+    src/FontMap.h, src/KPSFileFinder.cpp, src/Makefile, src/Makefile.am, 
+    src/Makefile.in, src/StreamReader.cpp, src/TFM.cpp, src/options.ggo, 
+    src/tests/FontMapTest.h: 
+  more coding in the font department, not finished yet 
+
+2007-03-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.cpp, 
+    src/FontManager.cpp, src/GFTracer.cpp, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, 
+    src/VFReader.cpp, src/VFReader.h, src/dvisvgm.cpp, src/options.ggo, 
+    src/test-all.cpp: 
+  refactorings: extracted StreamReader class, replaced generic FileFinder 
+  support by KPSFileFinder calls 
+
+2007-03-08  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIActions.h, src/DVIBBoxActions.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, src/FontManager.cpp, 
+    src/FontManager.h, src/KPSFileFinder.cpp, src/KPSFileFinder.h, 
+    src/Makefile, src/Makefile.am, src/Makefile.in, src/Message.cpp, 
+    src/dvisvgm.cpp, src/macros.h, src/test-all.cpp: 
+  first unstable version with redesigned font handling 
+
+  * COPYING, Makefile, Makefile.am, Makefile.in, Martins_svg_neu.svg, NEWS, 
+    aclocal.m4, cmdline.c, config.guess, config.h, config.h.in, 
+    config.status, config.sub, configure.ac, depcomp, doc/Makefile, 
+    doc/dvisvgm.1, doc/dvisvgm.1.in, gpl.txt, install-sh, missing, 
+    src/FontManager.cpp, src/FontManager.h, src/Makefile.am, 
+    src/VFReader.cpp, src/tests/FontManagerTest.h, stamp-h1, table.txt: 
+  removed some garbage from the repository, added initial FontManagerTest 
+
+  * doc/dvisvgm.1, src/FontEngine.h, src/dvisvgm.cpp, 
+    src/tests/FontManagerTest.h: 
+  minor changes 
+
+  * src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/Font.cpp, src/Font.h, 
+    src/StreamCounter.h, src/dvisvgm.cpp: 
+  fixed memory bug 
+
+  * src/DVIReader.cpp, src/DVIToSVGActions.cpp, src/Font.h, src/Makefile, 
+    src/Makefile.am, src/Makefile.in, src/VFActions.h, src/VFReader.cpp, 
+    src/VFReader.h, src/dvisvgm.cpp: 
+  plugged VFReader and its actions into the code (not usable yet) 
+
+2007-03-07  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Font.cpp, src/Font.h: 
+  added Font classes (not yet error-free) 
+
+2007-03-06  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.h, src/DVIToSVG.cpp, src/FontManager.cpp, 
+    src/FontManager.h: 
+  added FontManager skeleton, fixed bug in makehead 
+
+2007-03-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/FontManager.cpp, src/VFReader.cpp: 
+  added some more skeleton code 
+
+2007-03-02  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/DVIReader.cpp, src/Makefile, src/Makefile.in, src/VFReader.cpp, 
+    src/VFReader.h, src/options.ggo: 
+  added skeleton of VFReader 
+
+2007-01-10  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, 
+    src/CharmapTranslator.h, src/DVIActions.h, src/DVIBBoxActions.h, 
+    src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, 
+    src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile, 
+    src/Makefile.am, src/Makefile.in, src/Matrix.cpp, src/Matrix.h, 
+    src/Message.cpp, src/Message.h, src/MessageException.h, 
+    src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, 
+    src/PSInterpreter.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/TFM.cpp, src/TFM.h, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, 
+    src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, 
+    src/macros.h, src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h, 
+    src/options.ggo, src/test-all.cpp, src/tests/CalculatorTest.h, 
+    src/tests/PageSizeTest.h, src/tests/StreamCounterTest.h, src/types.h: 
+  moved dir 
+
+  * INSTALL, Makefile.am, NEWS, README, configure.ac, doc/Makefile, 
+    doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, 
+    gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, 
+    gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, 
+    gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, 
+    gzstream/version, map/cork-lm.map, potracelib/Makefile.am, 
+    potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, 
+    potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, 
+    potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, 
+    potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: 
+  moved sources 
+
+  * src/cmdline.c, src/cmdline.h: 
+  remove unnecessary files 
+
+2007-01-09  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * INSTALL, Makefile.am, NEWS, README, configure.ac, doc/Makefile, 
+    doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, 
+    gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, 
+    gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, 
+    gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, 
+    gzstream/version, potracelib/Makefile.am, potracelib/auxiliary.h, 
+    potracelib/bitmap.h, potracelib/curve.c, potracelib/curve.h, 
+    potracelib/decompose.c, potracelib/decompose.h, potracelib/lists.h, 
+    potracelib/potracelib.c, potracelib/potracelib.h, potracelib/progress.h, 
+    potracelib/trace.c, potracelib/trace.h, src/Bitmap.cpp, src/Bitmap.h, 
+    src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, 
+    src/Calculator.h, src/CharmapTranslator.cpp, src/CharmapTranslator.h, 
+    src/DVIActions.h, src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, 
+    src/DVIBBoxReader.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/FontEmitter.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, 
+    src/GFTracer.cpp, src/GFTracer.h, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, 
+    src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, 
+    src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/TFM.cpp, src/TFM.h, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, 
+    src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, 
+    src/macros.h, src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h, 
+    src/options.ggo, src/test-all.cpp, src/tests/CalculatorTest.h, 
+    src/tests/PageSizeTest.h, src/tests/StreamCounterTest.h, src/types.h: 
+  moved files to trunk subfolder 
+
+  * map/cork-lm.map: 
+  moved files to trunk 
+
+2007-01-05  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile, Makefile.am, Makefile.in, README, config.status, configure.ac, 
+    potracelib/Makefile.am, potracelib/bitops.h, potracelib/flate.c, 
+    potracelib/flate.h, src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, 
+    src/BoundingBox.h, src/Calculator.cpp, src/Calculator.h, 
+    src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIActions.h, 
+    src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, 
+    src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, 
+    src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile.am, 
+    src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, 
+    src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/TFM.cpp, src/TFM.h, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/macros.h, src/test-all.cpp, src/types.h: 
+  minor modifications 
+
+2007-01-03  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, src/KPSFileFinder.cpp: 
+  updated homepage 
+
+  * Makefile, Makefile.am, Makefile.in, config.h, config.h.in, 
+    config.status, configure, configure.ac, doc/Makefile, 
+    potracelib/Makefile.am, potracelib/auxiliary.h, potracelib/bitmap.h, 
+    potracelib/bitops.h, potracelib/curve.c, potracelib/curve.h, 
+    potracelib/decompose.c, potracelib/decompose.h, potracelib/flate.c, 
+    potracelib/flate.h, potracelib/lists.h, potracelib/potracelib.c, 
+    potracelib/potracelib.h, potracelib/progress.h, potracelib/trace.c, 
+    potracelib/trace.h, src/Makefile, src/Makefile.am, src/Makefile.in: 
+  added potracelib to distribution 
+
+  * configure: 
+  removed configure from repository 
+
+2006-12-31  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * NEWS, configure.ac, src/DVIToSVG.cpp, src/FileSystem.cpp, 
+    src/FontEngine.cpp, src/GFTracer.cpp, src/KPSFileFinder.cpp, 
+    src/Matrix.h, src/Message.cpp, src/PageSize.cpp, 
+    src/TransformationMatrix.cpp, src/dvisvgm.cpp: 
+  updated to MikTeX 2.5 support 
+
+  * Makefile, config.status, configure, configure.ac, doc/Makefile, 
+    doc/dvisvgm.1, src/FileSystem.cpp, src/FontEngine.cpp, 
+    src/KPSFileFinder.cpp, src/Makefile, src/dvisvgm.cpp, src/test-all.cpp: 
+  some minor fixes 
+
+  * src/KPSFileFinder.cpp: 
+  fixed namepsace bug 
+
+2006-08-01  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * Makefile, Makefile.in, NEWS, aclocal.m4, autom4te.cache/output.0, 
+    autom4te.cache/requests, autom4te.cache/traces.0, config.h, config.log, 
+    config.status, configure, configure.ac, doc/Makefile, doc/Makefile.in, 
+    doc/dvisvgm.1, src/FontEngine.cpp, src/Makefile, src/Makefile.in, 
+    src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp: 
+  added support for freetype version >= 2.1.1 
+
+  * configure.ac: 
+  enabled svn keyword expansion 
+
+2006-04-12  Martin Gieseking  <martin.gieseking at uos.de>
+
+  * COPYING, INSTALL, Makefile, Makefile.am, Makefile.in, 
+    Martins_svg_neu.svg, NEWS, README, aclocal.m4, autom4te.cache/output.0, 
+    autom4te.cache/requests, autom4te.cache/traces.0, cmdline.c, 
+    config.guess, config.h, config.h.in, config.log, config.status, 
+    config.sub, configure, configure.ac, depcomp, doc/Makefile, 
+    doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, 
+    gpl.txt, gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, 
+    gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, 
+    gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, 
+    gzstream/version, install-sh, map/cork-lm.map, missing, src/Bitmap.cpp, 
+    src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, 
+    src/Calculator.h, src/CharmapTranslator.cpp, src/CharmapTranslator.h, 
+    src/DVIActions.h, src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, 
+    src/DVIBBoxReader.h, src/DVIReader.cpp, src/DVIReader.h, 
+    src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, 
+    src/DVIToSVGActions.h, src/FileFinder.cpp, src/FileFinder.h, 
+    src/FileSystem.cpp, src/FileSystem.h, src/FontEmitter.h, 
+    src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, 
+    src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, 
+    src/GFTracer.cpp, src/GFTracer.h, src/KPSFileFinder.cpp, 
+    src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, 
+    src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, 
+    src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, 
+    src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, 
+    src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/TFM.cpp, src/TFM.h, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, 
+    src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, 
+    src/lshort-cm.dvi, src/lshort-cm.svg, src/lshort-cm.svgz, src/lshort.dvi, 
+    src/lshort.svg, src/lshort.svgz, src/macros.h, src/miktex-core.def, 
+    src/miktex-kps.def, src/miktex-kps.h, src/options.ggo, src/test-all.cpp, 
+    src/tests/CalculatorTest.h, src/tests/PageSizeTest.h, 
+    src/tests/StreamCounterTest.h, src/types.h, stamp-h1, table.txt: 
+  initial import 
+
+  * src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, 
+    src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, 
+    src/CharmapTranslator.h, src/DVIActions.h, src/DVIBBoxActions.h, 
+    src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/DVIReader.cpp, 
+    src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, 
+    src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, 
+    src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, 
+    src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, 
+    src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, 
+    src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, 
+    src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Message.cpp, 
+    src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, 
+    src/MetafontWrapper.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, 
+    src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, 
+    src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, 
+    src/StreamCounter.h, src/TFM.cpp, src/TFM.h, 
+    src/TransformationMatrix.cpp, src/TransformationMatrix.h, 
+    src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, 
+    src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, 
+    src/dvisvgm.cpp, src/macros.h, src/test-all.cpp, 
+    src/tests/CalculatorTest.h, src/tests/PageSizeTest.h, 
+    src/tests/StreamCounterTest.h, src/types.h: 
+  changed keyword tags 
+
+  * src/lshort-cm.dvi, src/lshort-cm.svg, src/lshort-cm.svgz, 
+    src/lshort.dvi, src/lshort.svg, src/lshort.svgz: 
+  removed files that need not be version controlled 
+

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -165,8 +165,8 @@
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING INSTALL NEWS \
-	README
+am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \
+	INSTALL NEWS README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS	2018-09-13 17:10:25 UTC (rev 48654)
@@ -1,3 +1,26 @@
+dvisvgm-2.6 (2018-09-08)
+- added option --page-hashes that allows for skipping the conversion of
+  a page if its content hasn't changed
+- relaxed plausibility check of total page count stated in the postamble
+  (this value overflows if the DVI file contains more than 65535 pages)
+- added validity checks for bop (begin of page) offsets present in the
+  bop and post commands
+- some refactorings and minor improvements
+
+dvisvgm-2.5 (2018-08-08)
+- added multi-page support (option --page) to PDF mode (option --pdf)
+- added evaluation of transformation options in PDF mode
+- added support for all length units to option --transform
+- TeX Live Win32: look for Ghostscript DLL in the TL folders as well
+  (thanks to Akira Kakuto for sending the patch)
+- potrace has been added again to the bundled third-party libraries
+- instead of linking the bundled libraries brotli, potrace, woff2, and
+  xxhash, the configure script now looks for the corresponding system
+  libraries by default
+- added option --enable-bundled-libs to the configure script to build and
+  statically link the bundled libraries
+- some refactorings
+
 dvisvgm-2.4.2 (2018-07-18)
 - fixed height and depth values computed when using the preview package
 - removed additional borders from the bounding boxes of hyperlinked areas

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/README
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/README	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/README	2018-09-13 17:10:25 UTC (rev 48654)
@@ -41,6 +41,13 @@
    searching files in the large texmf tree. Please ensure that you use the
    kpathsea version coming with or matching your TeX system.
 
+ * OpenSSL crypto library (https://www.openssl.org)
+   dvisvgm comes with a bundled implementation of the MD5 hash algorithm which
+   can optionally be replaced with the corresponding function of the OpenSSL
+   crypto library. If the configuration script finds the OpenSSL development
+   files on the build system, it links against libcrypto instead of the bundled
+   MD5 module.
+
  * potracelib (http://potrace.sourceforge.net)
    Peter Selinger's bitmap tracing library is utilized to vectorize Metafont's
    bitmap output. A recent version is also part of the dvisvgm sources.
@@ -78,14 +85,14 @@
 
  Quick installation info:
    * ensure that the development packages of all libraries, listed above,
-	  are installed
+     are installed
    * type "./autogen.sh" if "configure" is not present in the dvisvgm
      root folder
-	* either type "./configure" if you don't want to use the bundled libraries
-	  brotli, woff2, and xxHash but link against the corresponding
-	  system libraries,
-	  or type "./configure --enable-bundled-libs" in order to build and
-	  statically link the bundled libraries.
+   * either type "./configure" if you don't want to use the bundled libraries
+     brotli, woff2, and xxHash but link against the corresponding
+     system libraries,
+     or type "./configure --enable-bundled-libs" in order to build and
+     statically link the bundled libraries.
    * type "make"
    * type "make install" as root (or "sudo make install")
 

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -61,6 +61,9 @@
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 #undef HAVE_NDIR_H
 
+/* Define to 1 if you have the <openssl/md5.h> header file. */
+#undef HAVE_OPENSSL_MD5_H
+
 /* Define to 1 if you have the `sigaction' function. */
 #undef HAVE_SIGACTION
 

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac	2018-09-13 17:10:25 UTC (rev 48654)
@@ -4,8 +4,8 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([dvisvgm],[2.5],[martin.gieseking at uos.de])
-DATE="August 2018"
+AC_INIT([dvisvgm],[2.6],[martin.gieseking at uos.de])
+DATE="September 2018"
 AC_CONFIG_SRCDIR(src)
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
@@ -71,12 +71,6 @@
 AC_SUBST(KPSE_CFLAGS)
 AC_SUBST(KPSE_LIBS)
 
-# Check how to link potrace library
-AC_CHECK_HEADER([potracelib.h],
-	[AC_CHECK_LIB(m, sqrt)] # required to pass potrace check
-	[AC_CHECK_LIB(potrace, potrace_trace,,
-		[AC_MSG_ERROR([potrace library not found])])])
-
 # Check how to link Ghostscript
 have_libgs=yes
 AC_CHECK_HEADER([ghostscript/iapi.h],
@@ -105,15 +99,15 @@
 	[with_ttfautohint="$withval"],
 	[with_ttfautohint=no])
 
-# Add option to enable linking of bundled libraries (brotli, woff2, xxhash).
+# Add option to enable linking of bundled libraries (brotli, potrace, woff2, xxhash).
 AC_ARG_ENABLE([bundled-libs],
-	[AS_HELP_STRING([--enable-bundled-libs], [use bundled libraries instead of the system ones @<:@default=no@:>@])],
-	[use_bundled_libs=yes])
-AM_CONDITIONAL([USE_BUNDLED_LIBS], [test "x$use_bundled_libs" = "xyes"])
+	[AS_HELP_STRING([--enable-bundled-libs], [use bundled libraries instead of the system ones @<:@default=no@:>@])])
+AM_CONDITIONAL([USE_BUNDLED_LIBS], [test "x$enable_bundled_libs" = "xyes"])
 
-# If option --enable-bundled-libs is not given, look for system libraries of brotli, woff2, and xxhash.
-AS_IF([test "x$use_bundled_libs" != "xyes"],
+# If option --enable-bundled-libs is not given, look for system libraries of brotli, potrace, woff2, and xxhash.
+AS_IF([test "x$enable_bundled_libs" != "xyes"],
 	[AC_CHECK_HEADER([potracelib.h],
+		[AC_CHECK_LIB(m, sqrt)] # required to pass potrace check
 		[AC_CHECK_LIB(potrace, potrace_trace,,
 			[AC_MSG_ERROR([system library 'libpotrace' not found])])],
 		[AC_MSG_ERROR([header file 'potracelib.h' for system library 'libpotrace' not found])])]
@@ -146,12 +140,16 @@
 				[AC_MSG_WARN([disabled ttfautohint support])])])]
 		[AC_SUBST(TTFAUTOHINT_CFLAGS) AC_SUBST(TTFAUTOHINT_LIBS)])])
 
+AC_CHECK_HEADERS([openssl/md5.h])
+PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto], [HAVE_LIBCRYPTO=1], [HAVE_LIBCRYPTO=0])
+AM_CONDITIONAL([USE_BUNDLED_MD5], [test "$HAVE_LIBCRYPTO" -eq 0])
+
 AC_CHECK_LIB(z, gzopen)
 
 # Check for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
-AC_CHECK_HEADERS([libintl.h stdlib.h string.h strings.h unistd.h])
+AC_CHECK_HEADERS_ONCE([libintl.h stdlib.h string.h strings.h unistd.h])
 
 # Check for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL
@@ -222,6 +220,7 @@
 	libs/brotli/Makefile
 	libs/clipper/Makefile
 	libs/ff-woff/Makefile
+	libs/md5/Makefile
 	libs/potrace/Makefile
 	libs/variant/Makefile
 	libs/woff2/Makefile

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -212,6 +212,8 @@
 LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBCRYPTO_CFLAGS = @LIBCRYPTO_CFLAGS@
+LIBCRYPTO_LIBS = @LIBCRYPTO_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1	2018-09-13 17:10:25 UTC (rev 48654)
@@ -2,12 +2,12 @@
 .\"     Title: dvisvgm
 .\"    Author: Martin Gieseking <martin.gieseking at uos.de>
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/08/2018
+.\"      Date: 09/08/2018
 .\"    Manual: dvisvgm Manual
-.\"    Source: dvisvgm 2.5
+.\"    Source: dvisvgm 2.6
 .\"  Language: English
 .\"
-.TH "DVISVGM" "1" "08/08/2018" "dvisvgm 2\&.5" "dvisvgm Manual"
+.TH "DVISVGM" "1" "09/08/2018" "dvisvgm 2\&.6" "dvisvgm Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -470,8 +470,11 @@
 \fIpattern\fR
 is a string that may contain static character sequences as well as the variables
 \fB%f\fR,
-\fB%p\fR, and
-\fB%P\fR\&.
+\fB%p\fR,
+\fB%P\fR,
+\fB%hd\fR,
+\fB%ho\fR, and
+\fB%hc\fR\&.
 \fB%f\fR
 expands to the base name of the DVI file, i\&.e\&. the filename without suffix,
 \fB%p\fR
@@ -485,7 +488,7 @@
 \fB%P\fR\&.
 .sp
 If you need more control over the numbering, you can use arithmetic expressions as part of a pattern\&. The syntax is
-\fB%(expr)\fR
+\fB%(\fR\fIexpr\fR\fB)\fR
 where
 \fIexpr\fR
 may contain additions, subtractions, multiplications, and integer divisions with common precedence\&. The variables
@@ -496,6 +499,18 @@
 \fB\-\-output="%f\-%(p\-1)"\fR
 creates filenames where the numbering starts with 0 rather than 1\&.
 .sp
+The variables
+\fB%hX\fR
+contain different hash values computed from the DVI page data and the options given on the command\-line\&.
+\fB%hd\fR
+and
+\fB%hc\fR
+are only set if option
+\fB\-\-page\-hashes\fR
+is present\&. Otherwise, it\(cqs empty\&. For further information, see the description of option
+\fB\-\-page\-hashes\fR
+below\&.
+.sp
 The default pattern is
 \fB%f\-%p\&.svg\fR
 if the DVI file consists of more than one page, and
@@ -525,6 +540,72 @@
 converts all pages starting with page 10\&. Please consider that the page values don\(cqt refer to the page numbers printed on the corresponding page\&. Instead, the physical page count is expected, where the first page always gets number 1\&.
 .RE
 .PP
+\fB\-H, \-\-page\-hashes\fR[=\fIparams\fR]
+.RS 4
+If this option is given, dvisvgm computes hash values of all pages to be processed\&. As long as the page contents don\(cqt change, the hash value of that page stays the same\&. This property can be used to determine whether a DVI page must be converted again or can be skipped in consecutive runs of dvisvgm\&. This is done by propagating the hash value to variable
+\fB%hd\fR
+which can be accessed in the output pattern (see option
+\fB\-\-output\fR)\&. By default, dvisvgm changes the output pattern to
+\fB%f\-%hd\fR
+if option
+\fB\-\-page\-hashes\fR
+is given\&. As a result, all SVG file names contain the hash value instead of the page number\&. When calling dvisvgm again with option
+\fB\-\-page\-hashes\fR
+with the same output pattern, it checks the existence of the SVG file to be created and skips the conversion if it\(cqs already present\&. This also applies for consecutive calls of dvisvgm with different command\-line parameters\&. If you want to force another conversion of a DVI file that hasn\(cqt changed, you must remove the corresponding SVG files beforehand or add the parameter
+\fBreplace\fR
+(see below)\&. If you manually set the output pattern to not contain a hash value, the conversion won\(cqt be skipped\&.
+.sp
+Alternatively, the output pattern may contain the variables
+\fB%ho\fR
+and
+\fB%hc\fR\&.
+\fB%ho\fR
+expands to a 32\-bit hash representing the given command\-line options that affect the generated SVG output, like
+\fB\-\-no\-fonts\fR
+and
+\fB\-\-precision\fR\&. Different combinations of options and parameters lead to different hashes\&. Thus pattern
+\fB%f\-%hd\-%ho\fR
+creates filenames that change depending on the DVI data and the given command\-line options\&. Variable
+\fB%hc\fR
+provides a combined hash computed from the DVI data and the command\-line options\&. It has the same length as
+\fB%hd\fR\&.
+.sp
+Since the page number isn\(cqt part of the file name by default, different DVI pages with identical contents get the same file name\&. Therefore, only the first one is converted while the others are skipped\&. To create separate files for each page, you can add the page number to the output pattern, e\&.g\&.
+\fB\-\-output="%f\-%p\-%hc"\fR\&.
+.sp
+By default, dvisvgm uses the XXH64 hash algorithm to compute the values provided through
+\fB%hd\fR
+and
+\fB%hc\fR\&. It\(cqs extremely fast, and a 64\-bit hash should be sufficient for most documents with an average size of pages\&. Alternatively, XXH32 and MD5 can be used as well\&. The desired algorithm is specified by argument
+\fIparams\fR
+of option
+\fB\-\-page\-hashes\fR\&. It takes one of the strings
+\fBMD5\fR,
+\fBXXH32\fR, and
+\fBXXH64\fR, where the names can be given in lower case too, like
+\fB\-\-page\-hashes=md5\fR\&.
+.sp
+Finally, option
+\fB\-\-page\-hashes\fR
+can take a second argument that must be separated by a comma\&. Currently, only the two parameters
+\fIlist\fR
+and
+\fIreplace\fR
+are evaluated, e\&.g\&.
+\fB\-\-page\-hashes=md5,list\fR
+or
+\fB\-\-page\-hashes=replace\fR\&. When
+\fIlist\fR
+is present, dvisvgm doesn\(cqt perform any conversion but just lists the hash values
+\fB%hd\fR
+and
+\fB%hc\fR
+of the pages specified by option
+\fB\-\-page\fR\&. Parameter
+\fIreplace\fR
+forces dvisvgm to convert a DVI page even if a file with the target name already exists\&.
+.RE
+.PP
 \fB\-P, \-\-pdf\fR
 .RS 4
 If this option is given, dvisvgm does not expect a DVI but a PDF input file, and tries to convert it to SVG\&. Similar to the conversion of DVI files, only the first page is processed by default\&. Option

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -334,7 +334,7 @@
 Disable processing of special commands embedded in the DVI file. If no further parameter is given,
 all specials are ignored. To disable a selected set of specials, an optional comma-separated list
 of names can be appended to this option. A 'name' is the unique identifier referencing the intended
-special handler as listed by option *--list-specials*. 
+special handler as listed by option *--list-specials*.
 
 *--no-styles*::
 By default, dvisvgm creates CSS styles and class attributes to reference fonts. This variant is
@@ -343,23 +343,25 @@
 option *--no-styles*.
 
 *-o, --output*='pattern'::
-Sets the pattern specifying the names of the generated SVG files. Parameter 'pattern' is
-a string that may contain static character sequences as well as the variables *%f*, *%p*,
-and *%P*. *%f* expands to the base name of the DVI file, i.e. the filename without suffix,
-*%p* is the current page number, and *%P* the total number of pages in the DVI file. An
-optional number (0-9) given directly after the percent sign specifies the minimal number
-of digits to be written. If a particular value consists of less digits, the number is
-padded with leading zeros.
-Example: +%3p+ enforces 3 digits for the current page number (001, 002, etc.).
-Without an explicit width specifier, *%p* gets the same number of digits as *%P*.
+Sets the pattern specifying the names of the generated SVG files. Parameter 'pattern' is a string
+that may contain static character sequences as well as the variables +%f+, +%p+, +%P+, +%hd+,
++%ho+, and +%hc+. +%f+ expands to the base name of the DVI file, i.e. the filename without
+suffix, +%p+ is the current page number, and +%P+ the total number of pages in the DVI file. An
+optional number (0-9) given directly after the percent sign specifies the minimal number of digits
+to be written. If a particular value consists of less digits, the number is padded with leading
+zeros. Example: +%3p+ enforces 3 digits for the current page number (001, 002, etc.). Without an
+explicit width specifier, +%p+ gets the same number of digits as +%P+.
 +
-If you need more control over the numbering, you can use arithmetic expressions as part of
-a pattern. The syntax is *%(expr)* where 'expr' may contain additions, subtractions,
-multiplications, and integer divisions with common precedence. The variables
-*p* and *P* contain the current page number and the total number of pages, respectively.
-For example, +--output="%f-%(p-1)"+ creates filenames where the numbering starts with 0 rather
-than 1.
+If you need more control over the numbering, you can use arithmetic expressions as part of a pattern.
+The syntax is +%(+'expr'+)+ where 'expr' may contain additions, subtractions, multiplications, and
+integer divisions with common precedence. The variables *p* and *P* contain the current page number
+and the total number of pages, respectively. For example, +--output="%f-%(p-1)"+ creates filenames
+where the numbering starts with 0 rather than 1.
 +
+The variables +%hX+ contain different hash values computed from the DVI page data and the options
+given on the command-line. +%hd+ and +%hc+ are only set if option *--page-hashes* is present.
+Otherwise, it's empty. For further information, see the description of option *--page-hashes* below.
++
 The default pattern is +%f-%p.svg+ if the DVI file consists of more than one page, and
 +%f.svg+ otherwise. That means, a DVI file 'foo.dvi' is converted to 'foo.svg' if 'foo.dvi'
 is a single-page document. Otherwise, multiple SVG files 'foo-01.svg', 'foo-02.svg', etc. are
@@ -382,6 +384,44 @@
 corresponding page. Instead, the physical page count is expected, where the first page always
 gets number 1.
 
+*-H, --page-hashes*[='params']::
+If this option is given, dvisvgm computes hash values of all pages to be processed. As long as the
+page contents don't change, the hash value of that page stays the same. This property can be used
+to determine whether a DVI page must be converted again or can be skipped in consecutive runs of
+dvisvgm. This is done by propagating the hash value to variable +%hd+ which can be accessed in
+the output pattern (see option *--output*). By default, dvisvgm changes the output pattern to
++%f-%hd+ if option *--page-hashes* is given. As a result, all SVG file names contain the hash
+value instead of the page number. When calling dvisvgm again with option *--page-hashes* with the
+same output pattern, it checks the existence of the SVG file to be created and skips the conversion
+if it's already present. This also applies for consecutive calls of dvisvgm with different
+command-line parameters. If you want to force another conversion of a DVI file that hasn't changed,
+you must remove the corresponding SVG files beforehand or add the parameter +replace+ (see below).
+If you manually set the output pattern to not contain a hash value, the conversion won't be skipped.
++
+Alternatively, the output pattern may contain the variables +%ho+ and +%hc+. +%ho+ expands to a
+32-bit hash representing the given command-line options that affect the generated SVG output, like
+*--no-fonts* and *--precision*. Different combinations of options and parameters lead to different
+hashes. Thus pattern +%f-%hd-%ho+ creates filenames that change depending on the DVI data and
+the given command-line options. Variable +%hc+ provides a combined hash computed from the DVI data
+and the command-line options. It has the same length as +%hd+.
++
+Since the page number isn't part of the file name by default, different DVI pages with identical
+contents get the same file name. Therefore, only the first one is converted while the others are
+skipped. To create separate files for each page, you can add the page number to the output pattern,
+e.g. +--output="%f-%p-%hc"+.
++
+By default, dvisvgm uses the XXH64 hash algorithm to compute the values provided through +%hd+ and
++%hc+. It's extremely fast, and a 64-bit hash should be sufficient for most documents with an average
+size of pages. Alternatively, XXH32 and MD5 can be used as well. The desired algorithm is specified
+by argument 'params' of option *--page-hashes*. It takes one of the strings +MD5+, +XXH32+, and +XXH64+,
+where the names can be given in lower case too, like +--page-hashes=md5+.
++
+Finally, option *--page-hashes* can take a second argument that must be separated by a comma.
+Currently, only the two parameters 'list' and 'replace' are evaluated, e.g. +--page-hashes=md5,list+
+or +--page-hashes=replace+. When 'list' is present, dvisvgm doesn't perform any conversion but just
+lists the hash values +%hd+ and +%hc+ of the pages specified by option *--page*. Parameter 'replace'
+forces dvisvgm to convert a DVI page even if a file with the target name already exists.
+
 *-P, --pdf*::
 If this option is given, dvisvgm does not expect a DVI but a PDF input file, and tries to convert
 it to SVG. Similar to the conversion of DVI files, only the first page is processed by default.

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am	2018-09-13 17:10:25 UTC (rev 48654)
@@ -3,7 +3,7 @@
 ##
 ## Process this file with automake.
 
-SUBDIRS = clipper potrace variant xxHash
+SUBDIRS = clipper md5 potrace variant xxHash
 
 if ENABLE_WOFF
 SUBDIRS += brotli ff-woff woff2

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -165,7 +165,7 @@
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = clipper potrace variant xxHash brotli ff-woff woff2
+DIST_SUBDIRS = clipper md5 potrace variant xxHash brotli ff-woff woff2
 am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
@@ -337,7 +337,7 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = clipper potrace variant xxHash $(am__append_1)
+SUBDIRS = clipper md5 potrace variant xxHash $(am__append_1)
 all: all-recursive
 
 .SUFFIXES:

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -68,20 +68,20 @@
   IntPoint Curr;
   IntPoint Top;
   IntPoint Delta;
-  double Dx;
-  PolyType PolyTyp;
-  EdgeSide Side;
-  int WindDelta; //1 or -1 depending on winding direction
-  int WindCnt;
-  int WindCnt2; //winding count of the opposite polytype
-  int OutIdx;
-  TEdge *Next;
-  TEdge *Prev;
-  TEdge *NextInLML;
-  TEdge *NextInAEL;
-  TEdge *PrevInAEL;
-  TEdge *NextInSEL;
-  TEdge *PrevInSEL;
+  double Dx = 0.0;
+  PolyType PolyTyp = ptSubject;
+  EdgeSide Side = esLeft;
+  int WindDelta = 0; //1 or -1 depending on winding direction
+  int WindCnt = 0;
+  int WindCnt2 = 0; //winding count of the opposite polytype
+  int OutIdx = 0;
+  TEdge *Next = nullptr;
+  TEdge *Prev = nullptr;
+  TEdge *NextInLML = nullptr;
+  TEdge *NextInAEL = nullptr;
+  TEdge *PrevInAEL = nullptr;
+  TEdge *NextInSEL = nullptr;
+  TEdge *PrevInSEL = nullptr;
 };
 
 struct IntersectNode {
@@ -711,7 +711,7 @@
 
 inline void InitEdge(TEdge* e, TEdge* eNext, TEdge* ePrev, const IntPoint& Pt)
 {
-  std::memset(e, 0, sizeof(TEdge));
+  *e = TEdge();
   e->Next = eNext;
   e->Prev = ePrev;
   e->Curr = Pt;

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,13 @@
+if USE_BUNDLED_MD5
+noinst_LIBRARIES = libmd5.a
+
+libmd5_a_SOURCES = md5.c md5.h
+AM_CXXFLAGS = -Wall
+
+md5.c: md5.h
+
+ at CODE_COVERAGE_RULES@
+endif
+
+CLEANFILES = *.gcda *.gcno
+


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,643 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = dvisvgm-src/libs/md5
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \
+	$(top_srcdir)/../../m4/kpse-common.m4 \
+	$(top_srcdir)/../../m4/kpse-cxx-hack.m4 \
+	$(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \
+	$(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \
+	$(top_srcdir)/../../m4/kpse-warnings.m4 \
+	$(top_srcdir)/../../m4/kpse-win32.m4 \
+	$(top_srcdir)/../../m4/kpse-zlib-flags.m4 \
+	$(top_srcdir)/../../m4/libtool.m4 \
+	$(top_srcdir)/../../m4/ltoptions.m4 \
+	$(top_srcdir)/../../m4/ltsugar.m4 \
+	$(top_srcdir)/../../m4/ltversion.m4 \
+	$(top_srcdir)/../../m4/lt~obsolete.m4 $(top_srcdir)/version.ac \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libmd5_a_AR = $(AR) $(ARFLAGS)
+libmd5_a_LIBADD =
+am__libmd5_a_SOURCES_DIST = md5.c md5.h
+ at USE_BUNDLED_MD5_TRUE@am_libmd5_a_OBJECTS = md5.$(OBJEXT)
+libmd5_a_OBJECTS = $(am_libmd5_a_OBJECTS)
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/md5.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libmd5_a_SOURCES)
+DIST_SOURCES = $(am__libmd5_a_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/../../build-aux/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_CPPFLAGS = @AM_CPPFLAGS@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_RULES = @CODE_COVERAGE_RULES@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CXXLD = @CXXLD@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+DVISVGM_TREE = @DVISVGM_TREE@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FREETYPE2_DEPEND = @FREETYPE2_DEPEND@
+FREETYPE2_INCLUDES = @FREETYPE2_INCLUDES@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+FT2_CONFIG = @FT2_CONFIG@
+GREP = @GREP@
+HAVE_CXX11 = @HAVE_CXX11@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KPATHSEA_DEPEND = @KPATHSEA_DEPEND@
+KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@
+KPATHSEA_LIBS = @KPATHSEA_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBGS_INCLUDES = @LIBGS_INCLUDES@
+LIBGS_LIBS = @LIBGS_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+ZLIB_DEPEND = @ZLIB_DEPEND@
+ZLIB_INCLUDES = @ZLIB_INCLUDES@
+ZLIB_LIBS = @ZLIB_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+ at USE_BUNDLED_MD5_TRUE@noinst_LIBRARIES = libmd5.a
+ at USE_BUNDLED_MD5_TRUE@libmd5_a_SOURCES = md5.c md5.h
+ at USE_BUNDLED_MD5_TRUE@AM_CXXFLAGS = -Wall
+CLEANFILES = *.gcda *.gcno
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign dvisvgm-src/libs/md5/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign dvisvgm-src/libs/md5/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+libmd5.a: $(libmd5_a_OBJECTS) $(libmd5_a_DEPENDENCIES) $(EXTRA_libmd5_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libmd5.a
+	$(AM_V_AR)$(libmd5_a_AR) libmd5.a $(libmd5_a_OBJECTS) $(libmd5_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libmd5.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/md5.Po at am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+	@$(MKDIR_P) $(@D)
+	@echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+ at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+ at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+ at am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+	mostlyclean-am
+
+distclean: distclean-am
+		-rm -f ./$(DEPDIR)/md5.Po
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+		-rm -f ./$(DEPDIR)/md5.Po
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+	clean-generic clean-libtool clean-noinstLIBRARIES \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+ at USE_BUNDLED_MD5_TRUE@md5.c: md5.h
+
+ at USE_BUNDLED_MD5_TRUE@@CODE_COVERAGE_RULES@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,291 @@
+/*
+ * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
+ * MD5 Message-Digest Algorithm (RFC 1321).
+ *
+ * Homepage:
+ * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
+ *
+ * Author:
+ * Alexander Peslyak, better known as Solar Designer <solar at openwall.com>
+ *
+ * This software was written by Alexander Peslyak in 2001.  No copyright is
+ * claimed, and the software is hereby placed in the public domain.
+ * In case this attempt to disclaim copyright and place the software in the
+ * public domain is deemed null and void, then the software is
+ * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
+ * general public under the following terms:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted.
+ *
+ * There's ABSOLUTELY NO WARRANTY, express or implied.
+ *
+ * (This is a heavily cut-down "BSD license".)
+ *
+ * This differs from Colin Plumb's older public domain implementation in that
+ * no exactly 32-bit integer data type is required (any 32-bit or wider
+ * unsigned integer data type will do), there's no compile-time endianness
+ * configuration, and the function prototypes match OpenSSL's.  No code from
+ * Colin Plumb's implementation has been reused; this comment merely compares
+ * the properties of the two independent implementations.
+ *
+ * The primary goals of this implementation are portability and ease of use.
+ * It is meant to be fast, but not as fast as possible.  Some known
+ * optimizations are not included to reduce source code size and avoid
+ * compile-time configuration.
+ */
+
+#ifndef HAVE_OPENSSL
+
+#include <string.h>
+
+#include "md5.h"
+
+/*
+ * The basic MD5 functions.
+ *
+ * F and G are optimized compared to their RFC 1321 definitions for
+ * architectures that lack an AND-NOT instruction, just like in Colin Plumb's
+ * implementation.
+ */
+#define F(x, y, z)			((z) ^ ((x) & ((y) ^ (z))))
+#define G(x, y, z)			((y) ^ ((z) & ((x) ^ (y))))
+#define H(x, y, z)			(((x) ^ (y)) ^ (z))
+#define H2(x, y, z)			((x) ^ ((y) ^ (z)))
+#define I(x, y, z)			((y) ^ ((x) | ~(z)))
+
+/*
+ * The MD5 transformation for all four rounds.
+ */
+#define STEP(f, a, b, c, d, x, t, s) \
+	(a) += f((b), (c), (d)) + (x) + (t); \
+	(a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \
+	(a) += (b);
+
+/*
+ * SET reads 4 input bytes in little-endian byte order and stores them in a
+ * properly aligned word in host byte order.
+ *
+ * The check for little-endian architectures that tolerate unaligned memory
+ * accesses is just an optimization.  Nothing will break if it fails to detect
+ * a suitable architecture.
+ *
+ * Unfortunately, this optimization may be a C strict aliasing rules violation
+ * if the caller's data buffer has effective type that cannot be aliased by
+ * MD5_u32plus.  In practice, this problem may occur if these MD5 routines are
+ * inlined into a calling function, or with future and dangerously advanced
+ * link-time optimizations.  For the time being, keeping these MD5 routines in
+ * their own translation unit avoids the problem.
+ */
+#if defined(__i386__) || defined(__x86_64__) || defined(__vax__)
+#define SET(n) \
+	(*(MD5_u32plus *)&ptr[(n) * 4])
+#define GET(n) \
+	SET(n)
+#else
+#define SET(n) \
+	(ctx->block[(n)] = \
+	(MD5_u32plus)ptr[(n) * 4] | \
+	((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \
+	((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \
+	((MD5_u32plus)ptr[(n) * 4 + 3] << 24))
+#define GET(n) \
+	(ctx->block[(n)])
+#endif
+
+/*
+ * This processes one or more 64-byte data blocks, but does NOT update the bit
+ * counters.  There are no alignment requirements.
+ */
+static const void *body(MD5_CTX *ctx, const void *data, unsigned long size)
+{
+	const unsigned char *ptr;
+	MD5_u32plus a, b, c, d;
+	MD5_u32plus saved_a, saved_b, saved_c, saved_d;
+
+	ptr = (const unsigned char *)data;
+
+	a = ctx->a;
+	b = ctx->b;
+	c = ctx->c;
+	d = ctx->d;
+
+	do {
+		saved_a = a;
+		saved_b = b;
+		saved_c = c;
+		saved_d = d;
+
+/* Round 1 */
+		STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7)
+		STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12)
+		STEP(F, c, d, a, b, SET(2), 0x242070db, 17)
+		STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22)
+		STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7)
+		STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12)
+		STEP(F, c, d, a, b, SET(6), 0xa8304613, 17)
+		STEP(F, b, c, d, a, SET(7), 0xfd469501, 22)
+		STEP(F, a, b, c, d, SET(8), 0x698098d8, 7)
+		STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12)
+		STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17)
+		STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22)
+		STEP(F, a, b, c, d, SET(12), 0x6b901122, 7)
+		STEP(F, d, a, b, c, SET(13), 0xfd987193, 12)
+		STEP(F, c, d, a, b, SET(14), 0xa679438e, 17)
+		STEP(F, b, c, d, a, SET(15), 0x49b40821, 22)
+
+/* Round 2 */
+		STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5)
+		STEP(G, d, a, b, c, GET(6), 0xc040b340, 9)
+		STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14)
+		STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20)
+		STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5)
+		STEP(G, d, a, b, c, GET(10), 0x02441453, 9)
+		STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14)
+		STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20)
+		STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5)
+		STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9)
+		STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14)
+		STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20)
+		STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5)
+		STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9)
+		STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14)
+		STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20)
+
+/* Round 3 */
+		STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4)
+		STEP(H2, d, a, b, c, GET(8), 0x8771f681, 11)
+		STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16)
+		STEP(H2, b, c, d, a, GET(14), 0xfde5380c, 23)
+		STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4)
+		STEP(H2, d, a, b, c, GET(4), 0x4bdecfa9, 11)
+		STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16)
+		STEP(H2, b, c, d, a, GET(10), 0xbebfbc70, 23)
+		STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4)
+		STEP(H2, d, a, b, c, GET(0), 0xeaa127fa, 11)
+		STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16)
+		STEP(H2, b, c, d, a, GET(6), 0x04881d05, 23)
+		STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4)
+		STEP(H2, d, a, b, c, GET(12), 0xe6db99e5, 11)
+		STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16)
+		STEP(H2, b, c, d, a, GET(2), 0xc4ac5665, 23)
+
+/* Round 4 */
+		STEP(I, a, b, c, d, GET(0), 0xf4292244, 6)
+		STEP(I, d, a, b, c, GET(7), 0x432aff97, 10)
+		STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15)
+		STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21)
+		STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6)
+		STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10)
+		STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15)
+		STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21)
+		STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6)
+		STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10)
+		STEP(I, c, d, a, b, GET(6), 0xa3014314, 15)
+		STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21)
+		STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6)
+		STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10)
+		STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15)
+		STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21)
+
+		a += saved_a;
+		b += saved_b;
+		c += saved_c;
+		d += saved_d;
+
+		ptr += 64;
+	} while (size -= 64);
+
+	ctx->a = a;
+	ctx->b = b;
+	ctx->c = c;
+	ctx->d = d;
+
+	return ptr;
+}
+
+void MD5_Init(MD5_CTX *ctx)
+{
+	ctx->a = 0x67452301;
+	ctx->b = 0xefcdab89;
+	ctx->c = 0x98badcfe;
+	ctx->d = 0x10325476;
+
+	ctx->lo = 0;
+	ctx->hi = 0;
+}
+
+void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size)
+{
+	MD5_u32plus saved_lo;
+	unsigned long used, available;
+
+	saved_lo = ctx->lo;
+	if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo)
+		ctx->hi++;
+	ctx->hi += size >> 29;
+
+	used = saved_lo & 0x3f;
+
+	if (used) {
+		available = 64 - used;
+
+		if (size < available) {
+			memcpy(&ctx->buffer[used], data, size);
+			return;
+		}
+
+		memcpy(&ctx->buffer[used], data, available);
+		data = (const unsigned char *)data + available;
+		size -= available;
+		body(ctx, ctx->buffer, 64);
+	}
+
+	if (size >= 64) {
+		data = body(ctx, data, size & ~(unsigned long)0x3f);
+		size &= 0x3f;
+	}
+
+	memcpy(ctx->buffer, data, size);
+}
+
+#define OUT(dst, src) \
+	(dst)[0] = (unsigned char)(src); \
+	(dst)[1] = (unsigned char)((src) >> 8); \
+	(dst)[2] = (unsigned char)((src) >> 16); \
+	(dst)[3] = (unsigned char)((src) >> 24);
+
+void MD5_Final(unsigned char *result, MD5_CTX *ctx)
+{
+	unsigned long used, available;
+
+	used = ctx->lo & 0x3f;
+
+	ctx->buffer[used++] = 0x80;
+
+	available = 64 - used;
+
+	if (available < 8) {
+		memset(&ctx->buffer[used], 0, available);
+		body(ctx, ctx->buffer, 64);
+		used = 0;
+		available = 64;
+	}
+
+	memset(&ctx->buffer[used], 0, available - 8);
+
+	ctx->lo <<= 3;
+	OUT(&ctx->buffer[56], ctx->lo)
+	OUT(&ctx->buffer[60], ctx->hi)
+
+	body(ctx, ctx->buffer, 64);
+
+	OUT(&result[0], ctx->a)
+	OUT(&result[4], ctx->b)
+	OUT(&result[8], ctx->c)
+	OUT(&result[12], ctx->d)
+
+	memset(ctx, 0, sizeof(*ctx));
+}
+
+#endif


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,51 @@
+/*
+ * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
+ * MD5 Message-Digest Algorithm (RFC 1321).
+ *
+ * Homepage:
+ * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
+ *
+ * Author:
+ * Alexander Peslyak, better known as Solar Designer <solar at openwall.com>
+ *
+ * This software was written by Alexander Peslyak in 2001.  No copyright is
+ * claimed, and the software is hereby placed in the public domain.
+ * In case this attempt to disclaim copyright and place the software in the
+ * public domain is deemed null and void, then the software is
+ * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the
+ * general public under the following terms:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted.
+ *
+ * There's ABSOLUTELY NO WARRANTY, express or implied.
+ *
+ * See md5.c for more information.
+ */
+
+#ifndef _MD5_H
+#define _MD5_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Any 32-bit or wider unsigned integer data type will do */
+typedef unsigned int MD5_u32plus;
+
+typedef struct {
+	MD5_u32plus lo, hi;
+	MD5_u32plus a, b, c, d;
+	unsigned char buffer[64];
+	MD5_u32plus block[16];
+} MD5_CTX;
+
+extern void MD5_Init(MD5_CTX *ctx);
+extern void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size);
+extern void MD5_Final(unsigned char *result, MD5_CTX *ctx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -38,7 +38,8 @@
 #define MPARK_TYPE_PACK_ELEMENT
 #endif
 
-#if defined(__cpp_constexpr) && __cpp_constexpr >= 201304
+#if defined(__cpp_constexpr) && __cpp_constexpr >= 201304 && \
+    !(defined(_MSC_VER) && _MSC_VER <= 1915)
 #define MPARK_CPP14_CONSTEXPR
 #endif
 

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -46,8 +46,8 @@
 	protected:
 		using CommandHandler = void (BasicDVIReader::*)(int);
 		enum DVIVersion {DVI_NONE=0, DVI_STANDARD=2, DVI_PTEX=3, DVI_XDV5=5, DVI_XDV6=6, DVI_XDV7=7};
-		const uint8_t OP_SETCHAR0=0, OP_SETCHAR127=127, OP_SET1=128, OP_EOP=140, OP_FNTNUM0=171, OP_FNTNUM63=234,
-			OP_PRE=247, OP_POST=248, OP_POSTPOST=249, OP_DIR=255, DVI_FILL=223;
+		const uint8_t OP_SETCHAR0=0, OP_SETCHAR127=127, OP_SET1=128, OP_BOP=139, OP_EOP=140, OP_FNTNUM0=171,
+			OP_FNTNUM63=234, OP_PRE=247, OP_POST=248, OP_POSTPOST=249, OP_DIR=255, DVI_FILL=223;
 
 	public:
 		explicit BasicDVIReader (std::istream &is);

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -54,6 +54,7 @@
 		Option noStylesOpt {"no-styles", '\0', "don't use CSS styles to reference fonts"};
 		TypedOption<std::string, Option::ArgMode::REQUIRED> outputOpt {"output", 'o', "pattern", "set name pattern of output files"};
 		TypedOption<std::string, Option::ArgMode::REQUIRED> pageOpt {"page", 'p', "ranges", "1", "choose page(s) to convert"};
+		TypedOption<std::string, Option::ArgMode::OPTIONAL> pageHashesOpt {"page-hashes", 'H', "params", "xxh64", "activate usage of page hashes"};
 		Option pdfOpt {"pdf", 'P', "convert PDF file to SVG"};
 		TypedOption<int, Option::ArgMode::REQUIRED> precisionOpt {"precision", 'd', "number", 0, "set number of decimal points (0-6)"};
 		TypedOption<double, Option::ArgMode::OPTIONAL> progressOpt {"progress", '\0', "delay", 0.5, "enable progress indicator"};
@@ -136,6 +137,7 @@
 			{&magOpt, 3},
 			{&noMktexmfOpt, 3},
 			{&noSpecialsOpt, 3},
+			{&pageHashesOpt, 3},
 			{&traceAllOpt, 3},
 			{&colorOpt, 4},
 			{&helpOpt, 4},

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -27,6 +27,7 @@
 #include "DVIReader.hpp"
 #include "Font.hpp"
 #include "FontManager.hpp"
+#include "HashFunction.hpp"
 #include "VectorStream.hpp"
 
 using namespace std;
@@ -68,7 +69,7 @@
 
 /** Reads and executes the commands of a single page.
  *  This methods stops reading after the page's eop command has been executed.
- *  @param[in] n number of page to be executed
+ *  @param[in] n number of page to be executed (1-based)
  *  @returns true if page was read successfully */
 bool DVIReader::executePage (unsigned n) {
 	clearStream();    // reset all status bits
@@ -132,14 +133,46 @@
 	_bopOffsets.push_back(tell());      // also add offset of postamble
 	readByte();                         // skip post command
 	uint32_t offset = readUnsigned(4);  // offset of final bop
-	while ((int32_t)offset > 0) {       // not yet on first bop?
+	while (int32_t(offset) != -1) {     // not yet on first bop?
 		_bopOffsets.push_back(offset);   // record offset
-		seek(offset+41);                 // skip bop command and the 10 \count values => now on offset of previous bop
-		offset = readUnsigned(4);
+		seek(offset);                    // now on previous bop
+		if (readByte() != OP_BOP)
+			throw DVIException("bop offset at "+to_string(offset)+" doesn't point to bop command" );
+		seek(40, ios::cur);              // skip the 10 \count values => now on offset of previous bop
+		uint32_t prevOffset = readUnsigned(4);
+		if ((prevOffset >= offset && int32_t(prevOffset) != -1))
+			throw DVIException("invalid bop offset at "+to_string(tell()-static_cast<streamoff>(4)));
+		offset = prevOffset;
 	}
 	reverse(_bopOffsets.begin(), _bopOffsets.end());
 }
 
+
+/** Computes a hash value for a given page. The hash algorithm is selected by
+ *  a HashFunction object which will also contain the resulting hash value if
+ *  this function returns true.
+ *  @param[in] pageno number of page to process (1-based)
+ *  @param[in,out] hashFunc hash function to use
+ *  @return true on success, hashFunc contains the resulting hash value */
+bool DVIReader::computePageHash (size_t pageno, HashFunction &hashFunc) {
+	if (pageno == 0 || pageno > numberOfPages())
+		return false;
+
+	hashFunc.reset();
+	clearStream();
+	seek(_bopOffsets[pageno-1]+45);  // now on first command after bop of selected page
+	const size_t BUFSIZE = 4096;
+	char buf[BUFSIZE];
+	size_t numBytes = numberOfPageBytes(pageno-1)-46;  // number of bytes excluding bop and eop
+	while (numBytes > 0) {
+		getInputStream().read(buf, min(numBytes, BUFSIZE));
+		hashFunc.update(buf, getInputStream().gcount());
+		numBytes -= getInputStream().gcount();
+	}
+	return true;
+}
+
+
 /////////////////////////////////////
 
 /** Reads and executes DVI preamble command.
@@ -174,7 +207,7 @@
 	uint32_t pageWidth  = readUnsigned(4); // width of widest page in dvi units
 	uint16_t stackDepth = readUnsigned(2); // max. stack depth required
 	uint16_t numPages = readUnsigned(2);
-	if (numPages != numberOfPages())
+	if (numPages != (numberOfPages() & 0xffff))
 		throw DVIException("page count in postamble doesn't match actual number of pages");
 
 	// 1 dviunit * num/den == multiples of 0.0000001m

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -31,6 +31,7 @@
 
 class Font;
 class FontStyle;
+class HashFunction;
 class NativeFont;
 class VirtualFont;
 
@@ -67,6 +68,7 @@
 		int executeCommand () override;
 		void collectBopOffsets ();
 		size_t numberOfPageBytes (int n) const {return _bopOffsets.size() > 1 ? _bopOffsets[n+1]-_bopOffsets[n] : 0;}
+		bool computePageHash (size_t pageno, HashFunction &hashFunc);
 		void goToPostamble ();
 		virtual void moveRight (double dx, MoveMode mode);
 		virtual void moveDown (double dy, MoveMode mode);

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -22,11 +22,13 @@
 #include <cstdlib>
 #include <ctime>
 #include <fstream>
+#include <iomanip>
 #include <set>
 #include <sstream>
 #include "Calculator.hpp"
 #include "DVIToSVG.hpp"
 #include "DVIToSVGActions.hpp"
+#include "FileSystem.hpp"
 #include "Font.hpp"
 #include "FontManager.hpp"
 #include "GlyphTracerMessages.hpp"
@@ -39,6 +41,7 @@
 #include "SVGOutput.hpp"
 #include "utility.hpp"
 #include "version.hpp"
+#include "XXHashFunction.hpp"
 
 ///////////////////////////////////
 // special handlers
@@ -67,6 +70,7 @@
  *   0 : only trace actually required glyphs */
 char DVIToSVG::TRACE_MODE = 0;
 bool DVIToSVG::COMPUTE_PROGRESS = false;
+DVIToSVG::HashSettings DVIToSVG::PAGE_HASH_SETTINGS;
 
 
 DVIToSVG::DVIToSVG (istream &is, SVGOutputBase &out) : DVIReader(is), _out(out)
@@ -83,8 +87,8 @@
 /** Starts the conversion process.
  *  @param[in] first number of first page to convert
  *  @param[in] last number of last page to convert
- *  @param[out] pageinfo (number of converted pages, number of total pages) */
-void DVIToSVG::convert (unsigned first, unsigned last, pair<int,int> *pageinfo) {
+ *  @param[in] hashFunc pointer to function to be used to compute page hashes */
+void DVIToSVG::convert (unsigned first, unsigned last, HashFunction *hashFunc) {
 	if (first > last)
 		swap(first, last);
 	if (first > numberOfPages()) {
@@ -95,28 +99,59 @@
 		throw DVIException(oss.str());
 	}
 	last = min(last, numberOfPages());
+	bool computeHashes = (hashFunc && !_out.ignoresHashes());
+	string shortenedOptHash = XXH32HashFunction(PAGE_HASH_SETTINGS.optionsHash()).digestString();
 	for (unsigned i=first; i <= last; ++i) {
-		executePage(i);
-		_svg.removeRedundantElements();
-		embedFonts(_svg.rootNode());
-		bool success = _svg.write(_out.getPageStream(currentPageNumber(), numberOfPages()));
-		string fname = _out.filename(i, numberOfPages());
-		if (fname.empty())
-			fname = "<stdout>";
-		if (success)
-			Message::mstream(false, Message::MC_PAGE_WRITTEN) << "\noutput written to " << fname << '\n';
-		else
-			Message::wstream(true) << "failed to write output to " << fname << '\n';
-		_svg.reset();
-		_actions->reset();
+		string dviHash, combinedHash;
+		if (computeHashes) {
+			computePageHash(i, *hashFunc);
+			dviHash = hashFunc->digestString();
+			hashFunc->update(PAGE_HASH_SETTINGS.optionsHash());
+			combinedHash = hashFunc->digestString();
+		}
+		const SVGOutput::HashTriple hashTriple(dviHash, shortenedOptHash, combinedHash);
+		string fname = _out.filename(i, numberOfPages(), hashTriple);
+		if (!dviHash.empty() && !PAGE_HASH_SETTINGS.isSet(HashSettings::P_REPLACE) && FileSystem::exists(fname)) {
+			Message::mstream(false, Message::MC_PAGE_NUMBER) << "skipping page " << i;
+			Message::mstream().indent(1);
+			Message::mstream(false, Message::MC_PAGE_WRITTEN) << "\nfile " << fname << " exists\n";
+			Message::mstream().indent(0);
+		}
+		else {
+			executePage(i);
+			_svg.removeRedundantElements();
+			embedFonts(_svg.rootNode());
+			bool success = _svg.write(_out.getPageStream(currentPageNumber(), numberOfPages(), hashTriple));
+			if (fname.empty())
+				fname = "<stdout>";
+			if (success)
+				Message::mstream(false, Message::MC_PAGE_WRITTEN) << "\noutput written to " << fname << '\n';
+			else
+				Message::wstream(true) << "failed to write output to " << fname << '\n';
+			_svg.reset();
+			_actions->reset();
+		}
 	}
-	if (pageinfo) {
-		pageinfo->first = last-first+1;
-		pageinfo->second = numberOfPages();
-	}
 }
 
 
+/** Creates a HashFunction object for a given algorithm name.
+ *  @param[in] algo name of hash algorithm
+ *  @return pointer to hash function
+ *  @throw MessageException if algorithm name is invalid or not supported */
+static unique_ptr<HashFunction> create_hash_function (const string &algo) {
+	if (auto hashFunc = HashFunction::create(algo))
+		return hashFunc;
+
+	string msg = "unknown hash algorithm '"+algo+"' (supported algorithms: ";
+	for (const string &name : HashFunction::supportedAlgorithms())
+		msg += name + ", ";
+	msg.pop_back();
+	msg.back() = ')';
+	throw MessageException(msg);
+}
+
+
 /** Convert DVI pages specified by a page range string.
  *  @param[in] rangestr string describing the pages to convert
  *  @param[out] pageinfo (number of converted pages, number of total pages) */
@@ -134,8 +169,12 @@
 		SpecialManager::instance().notifyPreprocessingFinished();
 	}
 
+	unique_ptr<HashFunction> hashFunc;
+	if (!PAGE_HASH_SETTINGS.algorithm().empty())  // name of hash algorithm present?
+		hashFunc = create_hash_function(PAGE_HASH_SETTINGS.algorithm());
+
 	for (const auto &range : ranges)
-		convert(range.first, range.second);
+		convert(range.first, range.second, hashFunc.get());
 	if (pageinfo) {
 		pageinfo->first = ranges.numberOfPages();
 		pageinfo->second = numberOfPages();
@@ -143,6 +182,37 @@
 }
 
 
+/** Writes the hash values of a selected set of pages to an output stream.
+ *  @param[in] rangestr string describing the pages to convert
+ *  @param[in,out] os stream the output is written to */
+void DVIToSVG::listHashes (const string &rangestr, std::ostream &os) {
+	PageRanges ranges;
+	if (!ranges.parse(rangestr, numberOfPages()))
+		throw MessageException("invalid page range format");
+
+	XXH32HashFunction xxh32;
+	auto hashFunc = create_hash_function(PAGE_HASH_SETTINGS.algorithm());
+	int width1 = util::ilog10(numberOfPages())+1;
+	int width2 = hashFunc->digestSize()*2;
+	int spaces1 = width1+2+(width2-3)/2;
+	int spaces2 = width1+2+width2+2-spaces1-3+(width2-7)/2;
+	string shortenedOptHash = XXH32HashFunction(PAGE_HASH_SETTINGS.optionsHash()).digestString();
+	os << string(spaces1, ' ') << "DVI"
+		<< string(spaces2, ' ') << "DVI+opt\n";
+	for (const auto &range : ranges) {
+		for (int i=range.first; i <= range.second; i++) {
+			computePageHash(i, *hashFunc);
+			os << setw(width1) << i;
+			os << ": " << hashFunc->digestString();
+			hashFunc->update(PAGE_HASH_SETTINGS.optionsHash());
+			os << ", " << hashFunc->digestString() << '\n';
+		}
+	}
+	os << "hash algorithm: " << PAGE_HASH_SETTINGS.algorithm()
+		<< ", options hash: " << shortenedOptHash << '\n';
+}
+
+
 int DVIToSVG::executeCommand () {
 	SignalHandler::instance().check();
 	const streampos cmdpos = tell();
@@ -479,3 +549,26 @@
 void DVIToSVG::dviXTextAndGlyphs (vector<double> &dx, vector<double> &dy, vector<uint16_t>&, vector<uint16_t> &glyphs, const Font &font) {
 	dviXGlyphArray(dx, dy, glyphs, font);
 }
+
+///////////////////////////////////////////////////////////////
+
+/** Parses a string consisting of comma-separated words, and assigns
+ *  the values to the hash settings. */
+void DVIToSVG::HashSettings::setParameters (const string &paramstr) {
+	auto paramnames = util::split(paramstr, ",");
+	map<string, Parameter> paramMap = {
+		{"list", P_LIST},
+		{"replace", P_REPLACE}
+	};
+	for (string &name : paramnames) {
+		name = util::trim(name);
+		auto it = paramMap.find(name);
+		if (it != paramMap.end())
+			_params.insert(it->second);
+		else if (_algo.empty() && HashFunction::isSupportedAlgorithm(name))
+			_algo = name;
+	}
+	// set default hash algorithm if none is given
+	if (_algo.empty())
+		_algo = "xxh64";
+}

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -21,6 +21,7 @@
 #ifndef DVITOSVG_HPP
 #define DVITOSVG_HPP
 
+#include <set>
 #include <string>
 #include <utility>
 #include "DVIReader.hpp"
@@ -28,9 +29,26 @@
 
 struct DVIActions;
 struct SVGOutputBase;
+class HashFunction;
 
 class DVIToSVG : public DVIReader {
 	public:
+		class HashSettings {
+			public:
+				enum Parameter {P_LIST, P_REPLACE};
+				void setParameters (const std::string &paramstr);
+				void setOptionHash (const std::string &optHash) {_optHash = optHash;}
+				std::string algorithm () const {return _algo;}
+				std::string optionsHash () const {return _optHash;}
+				bool isSet (Parameter param) {return _params.find(param) != _params.end();}
+
+			private:
+				std::string _algo;
+				std::string _optHash;
+				std::set<Parameter> _params;
+		};
+
+	public:
 		explicit DVIToSVG (std::istream &is, SVGOutputBase &out);
 		void convert (const std::string &range, std::pair<int,int> *pageinfo=0);
 		void setPageSize (const std::string &format)         {_bboxFormatString = format;}
@@ -41,6 +59,7 @@
 		double getXPos() const override       {return dviState().h+_tx;}
 		double getYPos() const override       {return dviState().v+_ty;}
 		void finishLine () override           {_prevYPos = std::numeric_limits<double>::min();}
+		void listHashes (const std::string &rangestr, std::ostream &os);
 
 		std::string getSVGFilename (unsigned pageno) const;
 		std::string getUserBBoxString () const  {return _bboxFormatString;}
@@ -49,10 +68,11 @@
 	public:
 		static bool COMPUTE_PROGRESS;  ///< if true, an action to handle the progress ratio of a page is triggered
 		static char TRACE_MODE;
+		static HashSettings PAGE_HASH_SETTINGS;
 
 	protected:
 		DVIToSVG (const DVIToSVG&) =delete;
-		void convert (unsigned firstPage, unsigned lastPage, std::pair<int,int> *pageinfo=0);
+		void convert (unsigned firstPage, unsigned lastPage, HashFunction *hashFunc);
 		int executeCommand () override;
 		void enterBeginPage (unsigned pageno, const std::vector<int32_t> &c);
 		void leaveEndPage (unsigned pageno);

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -64,8 +64,8 @@
 					int major_version;
 					iss >> major_version;
 					if (major_version >= 7) {
-						char dll_path[256];  // path to Ghostscript DLL stored in the registry
-						DWORD length;
+						char dll_path[512];  // path to Ghostscript DLL stored in the registry
+						DWORD length = 512;
 						if (RegGetValueA(hkey, subkey, "GS_DLL", RRF_RT_REG_SZ, 0, dll_path, &length) == ERROR_SUCCESS) {
 							RegCloseKey(hkey);
 							return dll_path;

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,84 @@
+/*************************************************************************
+** HashFunction.cpp                                                     **
+**                                                                      **
+** This file is part of dvisvgm -- a fast DVI to SVG converter          **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de>   **
+**                                                                      **
+** This program is free software; you can redistribute it and/or        **
+** modify it under the terms of the GNU General Public License as       **
+** published by the Free Software Foundation; either version 3 of       **
+** the License, or (at your option) any later version.                  **
+**                                                                      **
+** This program is distributed in the hope that it will be useful, but  **
+** WITHOUT ANY WARRANTY; without even the implied warranty of           **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         **
+** GNU General Public License for more details.                         **
+**                                                                      **
+** You should have received a copy of the GNU General Public License    **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#include <algorithm>
+#include <iomanip>
+#include <sstream>
+#include "HashFunction.hpp"
+#include "utility.hpp"
+#include "MD5HashFunction.hpp"
+#include "XXHashFunction.hpp"
+
+using namespace std;
+
+
+/** Returns a vector containing the names of the currently supported hash algorithms. */
+vector<string> HashFunction::supportedAlgorithms () {
+	return vector<string> {"md5", "xxh32", "xxh64"};
+}
+
+
+/** Returns true if 'algo' is the name of a supported hash algorithm. */
+bool HashFunction::isSupportedAlgorithm (const std::string &algo) {
+	auto algos = supportedAlgorithms();
+	return find(algos.begin(), algos.end(), algo) != algos.end();
+}
+
+
+/** Creates a hash function for a given algorithm name/identifier.
+ *  The following names are currently supported: md5, xxh32, xxh64. */
+unique_ptr<HashFunction> HashFunction::create (const string &name) {
+	string lowerName = util::tolower(name);
+	if (lowerName == "md5")
+		return util::make_unique<MD5HashFunction>();
+	if (lowerName == "xxh32")
+		return util::make_unique<XXH32HashFunction>();
+	if (lowerName == "xxh64")
+		return util::make_unique<XXH64HashFunction>();
+	return nullptr;
+}
+
+
+std::unique_ptr<HashFunction> HashFunction::create (const string &name, const char *data, size_t length) {
+	auto hashfunc = create(name);
+	if (hashfunc)
+		hashfunc->update(data, length);
+	return hashfunc;
+}
+
+
+std::unique_ptr<HashFunction> HashFunction::create (const string &name, const string &data) {
+	return create(name, data.data(), data.length());
+}
+
+
+std::unique_ptr<HashFunction> HashFunction::create (const string &name, const vector<uint8_t> &data) {
+	return create(name, reinterpret_cast<const char*>(data.data()), data.size());
+}
+
+
+/** Returns the current digest as hexadecimal value. */
+string HashFunction::digestString () const {
+	ostringstream oss;
+	oss << hex << setfill('0');
+	for (int byte : digestValue())
+		oss << setw(2) << byte;
+	return oss.str();
+}


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,47 @@
+/*************************************************************************
+** HashFunction.hpp                                                     **
+**                                                                      **
+** This file is part of dvisvgm -- a fast DVI to SVG converter          **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de>   **
+**                                                                      **
+** This program is free software; you can redistribute it and/or        **
+** modify it under the terms of the GNU General Public License as       **
+** published by the Free Software Foundation; either version 3 of       **
+** the License, or (at your option) any later version.                  **
+**                                                                      **
+** This program is distributed in the hope that it will be useful, but  **
+** WITHOUT ANY WARRANTY; without even the implied warranty of           **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         **
+** GNU General Public License for more details.                         **
+**                                                                      **
+** You should have received a copy of the GNU General Public License    **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef HASHFUNCTION_HPP
+#define HASHFUNCTION_HPP
+
+#include <memory>
+#include <string>
+#include <vector>
+
+/** Common base class for all hash functions. */
+class HashFunction {
+   public:
+		virtual ~HashFunction () =default;
+		virtual int digestSize () const =0;
+		virtual void reset () =0;
+		virtual void update (const char *data, size_t length) =0;
+		virtual void update (const std::string &data) =0;
+		virtual void update (const std::vector<uint8_t> &data) =0;
+		virtual std::vector<uint8_t> digestValue () const =0;
+		std::string digestString () const;
+		static std::vector<std::string> supportedAlgorithms ();
+		static bool isSupportedAlgorithm (const std::string &algo);
+		static std::unique_ptr<HashFunction> create (const std::string &name);
+		static std::unique_ptr<HashFunction> create (const std::string &name, const char *data, size_t length);
+		static std::unique_ptr<HashFunction> create (const std::string &name, const std::string &data);
+		static std::unique_ptr<HashFunction> create (const std::string &name, const std::vector<uint8_t> &data);
+};
+
+#endif

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,58 @@
+/*************************************************************************
+** MD5HashFunction.hpp                                                  **
+**                                                                      **
+** This file is part of dvisvgm -- a fast DVI to SVG converter          **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de>   **
+**                                                                      **
+** This program is free software; you can redistribute it and/or        **
+** modify it under the terms of the GNU General Public License as       **
+** published by the Free Software Foundation; either version 3 of       **
+** the License, or (at your option) any later version.                  **
+**                                                                      **
+** This program is distributed in the hope that it will be useful, but  **
+** WITHOUT ANY WARRANTY; without even the implied warranty of           **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         **
+** GNU General Public License for more details.                         **
+**                                                                      **
+** You should have received a copy of the GNU General Public License    **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef MD5HASHFUNCTION_HPP
+#define MD5HASHFUNCTION_HPP
+
+#include <config.h>
+#ifdef HAVE_OPENSSL_MD5_H
+#	include <openssl/md5.h>
+#else
+#	include <md5.h>
+#endif
+
+#include "HashFunction.hpp"
+
+class MD5HashFunction : public HashFunction {
+	public:
+		MD5HashFunction () {MD5_Init(&_context);}
+		MD5HashFunction (const char *data, size_t length) : MD5HashFunction() {update(data, length);}
+		MD5HashFunction (const std::string &data) : MD5HashFunction() {update(data);}
+		MD5HashFunction (const std::vector<uint8_t> &data) : MD5HashFunction() {update(data);}
+		int digestSize () const override {return 16;}
+		void reset () override {MD5_Init(&_context);}
+		void update (const char *data, size_t length) override {MD5_Update(&_context, data, length);}
+		void update (const std::string &data) override {update(data.data(), data.length());}
+		void update (const std::vector<uint8_t> &data) override {update(reinterpret_cast<const char*>(data.data()), data.size());}
+
+		std::vector<uint8_t> digestValue () const override {
+			std::vector<uint8_t> hash(16);
+			MD5_CTX savedContext = _context;
+			MD5_Final(hash.data(), &_context);   // also erases the context structure
+			_context = savedContext;
+			return hash;
+		}
+
+	private:
+		mutable MD5_CTX _context;
+};
+
+#endif
+

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am	2018-09-13 17:10:25 UTC (rev 48654)
@@ -38,6 +38,12 @@
 endif
 endif
 
+if USE_BUNDLED_MD5
+dvisvgm_LDADD += ../libs/md5/libmd5.a
+else
+dvisvgm_LDADD += $(LIBCRYPTO_LIBS)
+endif
+
 dvisvgm_LDADD += \
 	$(KPATHSEA_LIBS) \
 	$(FREETYPE2_LIBS) \
@@ -136,6 +142,8 @@
 	Glyph.hpp \
 	GlyphTracerMessages.hpp \
 	GraphicsPath.hpp \
+	HashFunction.cpp \
+	HashFunction.hpp \
 	HtmlSpecialHandler.cpp \
 	HtmlSpecialHandler.hpp \
 	HyperlinkManager.cpp \
@@ -155,6 +163,7 @@
 	MapLine.hpp \
 	Matrix.cpp \
 	Matrix.hpp \
+	MD5HashFunction.hpp \
 	Message.cpp \
 	Message.hpp \
 	MessageException.hpp \
@@ -258,6 +267,7 @@
 	XMLNode.hpp \
 	XMLString.cpp \
 	XMLString.hpp \
+	XXHashFunction.hpp \
 	ZLibOutputStream.hpp
 
 if ENABLE_WOFF
@@ -307,6 +317,13 @@
 	$(WOFF2_CFLAGS)
 endif
 
+if USE_BUNDLED_MD5
+AM_CXXFLAGS += -I$(dvisvgm_srcdir)/libs/md5
+else
+AM_CXXFLAGS += $(LIBCRYPTO_CFLAGS)
+endif
+
+
 AM_LDFLAGS += $(TTFAUTOHINT_LIBS)
 endif
 

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -108,30 +108,34 @@
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@	$(WOFF2_LIBS) \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@	$(BROTLI_LIBS)
 
- at ENABLE_WOFF_TRUE@am__append_5 = ffwrapper.c ffwrapper.h
- at USE_BUNDLED_LIBS_TRUE@am__append_6 = \
+ at USE_BUNDLED_MD5_TRUE@am__append_5 = ../libs/md5/libmd5.a
+ at USE_BUNDLED_MD5_FALSE@am__append_6 = $(LIBCRYPTO_LIBS)
+ at ENABLE_WOFF_TRUE@am__append_7 = ffwrapper.c ffwrapper.h
+ at USE_BUNDLED_LIBS_TRUE@am__append_8 = \
 @USE_BUNDLED_LIBS_TRUE@	-I$(dvisvgm_srcdir)/libs/potrace \
 @USE_BUNDLED_LIBS_TRUE@	-I$(dvisvgm_srcdir)/libs/xxHash
 
- at USE_BUNDLED_LIBS_FALSE@am__append_7 = \
+ at USE_BUNDLED_LIBS_FALSE@am__append_9 = \
 @USE_BUNDLED_LIBS_FALSE@	$(POTRACE_CFLAGS) \
 @USE_BUNDLED_LIBS_FALSE@	$(XXHASH_CFLAGS)
 
- at ENABLE_WOFF_TRUE@am__append_8 = \
+ at ENABLE_WOFF_TRUE@am__append_10 = \
 @ENABLE_WOFF_TRUE@	-I$(dvisvgm_srcdir)/libs/ff-woff/fontforge \
 @ENABLE_WOFF_TRUE@	-I$(dvisvgm_srcdir)/libs/ff-woff/inc
 
- at ENABLE_WOFF_TRUE@am__append_9 = $(TTFAUTOHINT_CFLAGS)
- at ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE at am__append_10 = \
+ at ENABLE_WOFF_TRUE@am__append_11 = $(TTFAUTOHINT_CFLAGS)
+ at ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE at am__append_12 = \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@	-I$(dvisvgm_srcdir)/libs/brotli/include \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@	-I$(dvisvgm_srcdir)/libs/woff2/include
 
- at ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE at am__append_11 = \
+ at ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE at am__append_13 = \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@	$(BROTLI_CFLAGS) \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@	$(WOFF2_CFLAGS)
 
- at ENABLE_WOFF_TRUE@am__append_12 = $(TTFAUTOHINT_LIBS)
- at WIN32_TRUE@am__append_13 = -DTEXLIVEWIN32
+ at ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_TRUE at am__append_14 = -I$(dvisvgm_srcdir)/libs/md5
+ at ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_FALSE at am__append_15 = $(LIBCRYPTO_CFLAGS)
+ at ENABLE_WOFF_TRUE@am__append_16 = $(TTFAUTOHINT_LIBS)
+ at WIN32_TRUE@am__append_17 = -DTEXLIVEWIN32
 subdir = dvisvgm-src/src
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \
@@ -188,30 +192,30 @@
 	FontStyle.hpp FontWriter.cpp FontWriter.hpp GFGlyphTracer.cpp \
 	GFGlyphTracer.hpp GFReader.cpp GFReader.hpp GFTracer.cpp \
 	GFTracer.hpp Ghostscript.cpp Ghostscript.hpp Glyph.hpp \
-	GlyphTracerMessages.hpp GraphicsPath.hpp \
-	HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
+	GlyphTracerMessages.hpp GraphicsPath.hpp HashFunction.cpp \
+	HashFunction.hpp HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
 	HyperlinkManager.cpp HyperlinkManager.hpp ImageToSVG.cpp \
 	ImageToSVG.hpp InputBuffer.cpp InputBuffer.hpp InputReader.cpp \
 	InputReader.hpp JFM.cpp JFM.hpp Length.cpp Length.hpp \
 	macros.hpp MapLine.cpp MapLine.hpp Matrix.cpp Matrix.hpp \
-	Message.cpp Message.hpp MessageException.hpp \
-	MetafontWrapper.cpp MetafontWrapper.hpp NoPsSpecialHandler.cpp \
-	NoPsSpecialHandler.hpp NumericRanges.hpp PageRanges.cpp \
-	PageRanges.hpp PageSize.cpp PageSize.hpp Pair.hpp \
-	PapersizeSpecialHandler.cpp PapersizeSpecialHandler.hpp \
-	PathClipper.cpp PathClipper.hpp PDFParser.cpp PDFParser.hpp \
-	PDFToSVG.hpp PdfSpecialHandler.cpp PdfSpecialHandler.hpp \
-	PreScanDVIReader.cpp PreScanDVIReader.hpp Process.cpp \
-	Process.hpp psdefs.cpp PSFilter.hpp PSInterpreter.cpp \
-	PSInterpreter.hpp PSPattern.cpp PSPattern.hpp \
-	PSPreviewFilter.cpp PSPreviewFilter.hpp PsSpecialHandler.cpp \
-	PsSpecialHandler.hpp RangeMap.cpp RangeMap.hpp \
-	ShadingPatch.cpp ShadingPatch.hpp SignalHandler.cpp \
-	SignalHandler.hpp SourceInput.cpp SourceInput.hpp \
-	SpecialActions.hpp SpecialHandler.hpp SpecialManager.cpp \
-	SpecialManager.hpp StreamReader.cpp StreamReader.hpp \
-	StreamWriter.cpp StreamWriter.hpp Subfont.cpp Subfont.hpp \
-	SVGCharHandler.cpp SVGCharHandler.hpp \
+	MD5HashFunction.hpp Message.cpp Message.hpp \
+	MessageException.hpp MetafontWrapper.cpp MetafontWrapper.hpp \
+	NoPsSpecialHandler.cpp NoPsSpecialHandler.hpp \
+	NumericRanges.hpp PageRanges.cpp PageRanges.hpp PageSize.cpp \
+	PageSize.hpp Pair.hpp PapersizeSpecialHandler.cpp \
+	PapersizeSpecialHandler.hpp PathClipper.cpp PathClipper.hpp \
+	PDFParser.cpp PDFParser.hpp PDFToSVG.hpp PdfSpecialHandler.cpp \
+	PdfSpecialHandler.hpp PreScanDVIReader.cpp \
+	PreScanDVIReader.hpp Process.cpp Process.hpp psdefs.cpp \
+	PSFilter.hpp PSInterpreter.cpp PSInterpreter.hpp PSPattern.cpp \
+	PSPattern.hpp PSPreviewFilter.cpp PSPreviewFilter.hpp \
+	PsSpecialHandler.cpp PsSpecialHandler.hpp RangeMap.cpp \
+	RangeMap.hpp ShadingPatch.cpp ShadingPatch.hpp \
+	SignalHandler.cpp SignalHandler.hpp SourceInput.cpp \
+	SourceInput.hpp SpecialActions.hpp SpecialHandler.hpp \
+	SpecialManager.cpp SpecialManager.hpp StreamReader.cpp \
+	StreamReader.hpp StreamWriter.cpp StreamWriter.hpp Subfont.cpp \
+	Subfont.hpp SVGCharHandler.cpp SVGCharHandler.hpp \
 	SVGCharHandlerFactory.cpp SVGCharHandlerFactory.hpp \
 	SVGCharPathHandler.cpp SVGCharPathHandler.hpp \
 	SVGCharTspanTextHandler.cpp SVGCharTspanTextHandler.hpp \
@@ -227,7 +231,8 @@
 	VectorStream.hpp version.hpp VFActions.hpp VFReader.cpp \
 	VFReader.hpp windows.hpp XMLDocument.cpp XMLDocument.hpp \
 	XMLNode.cpp XMLNode.hpp XMLString.cpp XMLString.hpp \
-	ZLibOutputStream.hpp ffwrapper.c ffwrapper.h
+	XXHashFunction.hpp ZLibOutputStream.hpp ffwrapper.c \
+	ffwrapper.h
 @ENABLE_WOFF_TRUE at am__objects_1 = ffwrapper.$(OBJEXT)
 am_libdvisvgm_a_OBJECTS = BasicDVIReader.$(OBJEXT) Bezier.$(OBJEXT) \
 	BgColorSpecialHandler.$(OBJEXT) Bitmap.$(OBJEXT) \
@@ -244,31 +249,32 @@
 	FontEngine.$(OBJEXT) FontManager.$(OBJEXT) FontMap.$(OBJEXT) \
 	FontMetrics.$(OBJEXT) FontWriter.$(OBJEXT) \
 	GFGlyphTracer.$(OBJEXT) GFReader.$(OBJEXT) GFTracer.$(OBJEXT) \
-	Ghostscript.$(OBJEXT) HtmlSpecialHandler.$(OBJEXT) \
-	HyperlinkManager.$(OBJEXT) ImageToSVG.$(OBJEXT) \
-	InputBuffer.$(OBJEXT) InputReader.$(OBJEXT) JFM.$(OBJEXT) \
-	Length.$(OBJEXT) MapLine.$(OBJEXT) Matrix.$(OBJEXT) \
-	Message.$(OBJEXT) MetafontWrapper.$(OBJEXT) \
-	NoPsSpecialHandler.$(OBJEXT) PageRanges.$(OBJEXT) \
-	PageSize.$(OBJEXT) PapersizeSpecialHandler.$(OBJEXT) \
-	PathClipper.$(OBJEXT) PDFParser.$(OBJEXT) \
-	PdfSpecialHandler.$(OBJEXT) PreScanDVIReader.$(OBJEXT) \
-	Process.$(OBJEXT) psdefs.$(OBJEXT) PSInterpreter.$(OBJEXT) \
-	PSPattern.$(OBJEXT) PSPreviewFilter.$(OBJEXT) \
-	PsSpecialHandler.$(OBJEXT) RangeMap.$(OBJEXT) \
-	ShadingPatch.$(OBJEXT) SignalHandler.$(OBJEXT) \
-	SourceInput.$(OBJEXT) SpecialManager.$(OBJEXT) \
-	StreamReader.$(OBJEXT) StreamWriter.$(OBJEXT) \
-	Subfont.$(OBJEXT) SVGCharHandler.$(OBJEXT) \
-	SVGCharHandlerFactory.$(OBJEXT) SVGCharPathHandler.$(OBJEXT) \
-	SVGCharTspanTextHandler.$(OBJEXT) SVGOutput.$(OBJEXT) \
-	SVGSingleCharTextHandler.$(OBJEXT) SVGTree.$(OBJEXT) \
-	System.$(OBJEXT) TensorProductPatch.$(OBJEXT) \
-	Terminal.$(OBJEXT) TFM.$(OBJEXT) ToUnicodeMap.$(OBJEXT) \
-	TpicSpecialHandler.$(OBJEXT) TriangularPatch.$(OBJEXT) \
-	TrueTypeFont.$(OBJEXT) TTFAutohint.$(OBJEXT) Unicode.$(OBJEXT) \
-	utility.$(OBJEXT) VFReader.$(OBJEXT) XMLDocument.$(OBJEXT) \
-	XMLNode.$(OBJEXT) XMLString.$(OBJEXT) $(am__objects_1)
+	Ghostscript.$(OBJEXT) HashFunction.$(OBJEXT) \
+	HtmlSpecialHandler.$(OBJEXT) HyperlinkManager.$(OBJEXT) \
+	ImageToSVG.$(OBJEXT) InputBuffer.$(OBJEXT) \
+	InputReader.$(OBJEXT) JFM.$(OBJEXT) Length.$(OBJEXT) \
+	MapLine.$(OBJEXT) Matrix.$(OBJEXT) Message.$(OBJEXT) \
+	MetafontWrapper.$(OBJEXT) NoPsSpecialHandler.$(OBJEXT) \
+	PageRanges.$(OBJEXT) PageSize.$(OBJEXT) \
+	PapersizeSpecialHandler.$(OBJEXT) PathClipper.$(OBJEXT) \
+	PDFParser.$(OBJEXT) PdfSpecialHandler.$(OBJEXT) \
+	PreScanDVIReader.$(OBJEXT) Process.$(OBJEXT) psdefs.$(OBJEXT) \
+	PSInterpreter.$(OBJEXT) PSPattern.$(OBJEXT) \
+	PSPreviewFilter.$(OBJEXT) PsSpecialHandler.$(OBJEXT) \
+	RangeMap.$(OBJEXT) ShadingPatch.$(OBJEXT) \
+	SignalHandler.$(OBJEXT) SourceInput.$(OBJEXT) \
+	SpecialManager.$(OBJEXT) StreamReader.$(OBJEXT) \
+	StreamWriter.$(OBJEXT) Subfont.$(OBJEXT) \
+	SVGCharHandler.$(OBJEXT) SVGCharHandlerFactory.$(OBJEXT) \
+	SVGCharPathHandler.$(OBJEXT) SVGCharTspanTextHandler.$(OBJEXT) \
+	SVGOutput.$(OBJEXT) SVGSingleCharTextHandler.$(OBJEXT) \
+	SVGTree.$(OBJEXT) System.$(OBJEXT) \
+	TensorProductPatch.$(OBJEXT) Terminal.$(OBJEXT) TFM.$(OBJEXT) \
+	ToUnicodeMap.$(OBJEXT) TpicSpecialHandler.$(OBJEXT) \
+	TriangularPatch.$(OBJEXT) TrueTypeFont.$(OBJEXT) \
+	TTFAutohint.$(OBJEXT) Unicode.$(OBJEXT) utility.$(OBJEXT) \
+	VFReader.$(OBJEXT) XMLDocument.$(OBJEXT) XMLNode.$(OBJEXT) \
+	XMLString.$(OBJEXT) $(am__objects_1)
 libdvisvgm_a_OBJECTS = $(am_libdvisvgm_a_OBJECTS)
 am_dvisvgm_OBJECTS = dvisvgm.$(OBJEXT)
 dvisvgm_OBJECTS = $(am_dvisvgm_OBJECTS)
@@ -312,7 +318,8 @@
 	./$(DEPDIR)/FontMap.Po ./$(DEPDIR)/FontMetrics.Po \
 	./$(DEPDIR)/FontWriter.Po ./$(DEPDIR)/GFGlyphTracer.Po \
 	./$(DEPDIR)/GFReader.Po ./$(DEPDIR)/GFTracer.Po \
-	./$(DEPDIR)/Ghostscript.Po ./$(DEPDIR)/HtmlSpecialHandler.Po \
+	./$(DEPDIR)/Ghostscript.Po ./$(DEPDIR)/HashFunction.Po \
+	./$(DEPDIR)/HtmlSpecialHandler.Po \
 	./$(DEPDIR)/HyperlinkManager.Po ./$(DEPDIR)/ImageToSVG.Po \
 	./$(DEPDIR)/InputBuffer.Po ./$(DEPDIR)/InputReader.Po \
 	./$(DEPDIR)/JFM.Po ./$(DEPDIR)/Length.Po \
@@ -413,7 +420,7 @@
 AMTAR = @AMTAR@
 AM_CPPFLAGS = @AM_CPPFLAGS@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AM_LDFLAGS = $(KPSE_LIBS) $(CODE_COVERAGE_LDFLAGS) $(am__append_12)
+AM_LDFLAGS = $(KPSE_LIBS) $(CODE_COVERAGE_LDFLAGS) $(am__append_16)
 AR = @AR@
 AS = @AS@
 AUTOCONF = @AUTOCONF@
@@ -560,8 +567,9 @@
 
 dvisvgm_LDADD = $(noinst_LIBRARIES) ../libs/clipper/libclipper.a \
 	$(am__append_1) $(am__append_2) $(am__append_3) \
-	$(am__append_4) $(KPATHSEA_LIBS) $(FREETYPE2_LIBS) \
-	$(FONTFORGE_LIBS) $(ZLIB_LIBS) $(LIBGS_LIBS)
+	$(am__append_4) $(am__append_5) $(am__append_6) \
+	$(KPATHSEA_LIBS) $(FREETYPE2_LIBS) $(FONTFORGE_LIBS) \
+	$(ZLIB_LIBS) $(LIBGS_LIBS)
 dvisvgm_DEPENDENCIES = $(noinst_LIBRARIES) $(KPATHSEA_DEPEND) \
 	$(ZLIB_DEPEND) $(FREETYPE2_DEPEND)
 libdvisvgm_a_SOURCES = AGLTable.hpp BasicDVIReader.cpp \
@@ -587,30 +595,30 @@
 	FontStyle.hpp FontWriter.cpp FontWriter.hpp GFGlyphTracer.cpp \
 	GFGlyphTracer.hpp GFReader.cpp GFReader.hpp GFTracer.cpp \
 	GFTracer.hpp Ghostscript.cpp Ghostscript.hpp Glyph.hpp \
-	GlyphTracerMessages.hpp GraphicsPath.hpp \
-	HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
+	GlyphTracerMessages.hpp GraphicsPath.hpp HashFunction.cpp \
+	HashFunction.hpp HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
 	HyperlinkManager.cpp HyperlinkManager.hpp ImageToSVG.cpp \
 	ImageToSVG.hpp InputBuffer.cpp InputBuffer.hpp InputReader.cpp \
 	InputReader.hpp JFM.cpp JFM.hpp Length.cpp Length.hpp \
 	macros.hpp MapLine.cpp MapLine.hpp Matrix.cpp Matrix.hpp \
-	Message.cpp Message.hpp MessageException.hpp \
-	MetafontWrapper.cpp MetafontWrapper.hpp NoPsSpecialHandler.cpp \
-	NoPsSpecialHandler.hpp NumericRanges.hpp PageRanges.cpp \
-	PageRanges.hpp PageSize.cpp PageSize.hpp Pair.hpp \
-	PapersizeSpecialHandler.cpp PapersizeSpecialHandler.hpp \
-	PathClipper.cpp PathClipper.hpp PDFParser.cpp PDFParser.hpp \
-	PDFToSVG.hpp PdfSpecialHandler.cpp PdfSpecialHandler.hpp \
-	PreScanDVIReader.cpp PreScanDVIReader.hpp Process.cpp \
-	Process.hpp psdefs.cpp PSFilter.hpp PSInterpreter.cpp \
-	PSInterpreter.hpp PSPattern.cpp PSPattern.hpp \
-	PSPreviewFilter.cpp PSPreviewFilter.hpp PsSpecialHandler.cpp \
-	PsSpecialHandler.hpp RangeMap.cpp RangeMap.hpp \
-	ShadingPatch.cpp ShadingPatch.hpp SignalHandler.cpp \
-	SignalHandler.hpp SourceInput.cpp SourceInput.hpp \
-	SpecialActions.hpp SpecialHandler.hpp SpecialManager.cpp \
-	SpecialManager.hpp StreamReader.cpp StreamReader.hpp \
-	StreamWriter.cpp StreamWriter.hpp Subfont.cpp Subfont.hpp \
-	SVGCharHandler.cpp SVGCharHandler.hpp \
+	MD5HashFunction.hpp Message.cpp Message.hpp \
+	MessageException.hpp MetafontWrapper.cpp MetafontWrapper.hpp \
+	NoPsSpecialHandler.cpp NoPsSpecialHandler.hpp \
+	NumericRanges.hpp PageRanges.cpp PageRanges.hpp PageSize.cpp \
+	PageSize.hpp Pair.hpp PapersizeSpecialHandler.cpp \
+	PapersizeSpecialHandler.hpp PathClipper.cpp PathClipper.hpp \
+	PDFParser.cpp PDFParser.hpp PDFToSVG.hpp PdfSpecialHandler.cpp \
+	PdfSpecialHandler.hpp PreScanDVIReader.cpp \
+	PreScanDVIReader.hpp Process.cpp Process.hpp psdefs.cpp \
+	PSFilter.hpp PSInterpreter.cpp PSInterpreter.hpp PSPattern.cpp \
+	PSPattern.hpp PSPreviewFilter.cpp PSPreviewFilter.hpp \
+	PsSpecialHandler.cpp PsSpecialHandler.hpp RangeMap.cpp \
+	RangeMap.hpp ShadingPatch.cpp ShadingPatch.hpp \
+	SignalHandler.cpp SignalHandler.hpp SourceInput.cpp \
+	SourceInput.hpp SpecialActions.hpp SpecialHandler.hpp \
+	SpecialManager.cpp SpecialManager.hpp StreamReader.cpp \
+	StreamReader.hpp StreamWriter.cpp StreamWriter.hpp Subfont.cpp \
+	Subfont.hpp SVGCharHandler.cpp SVGCharHandler.hpp \
 	SVGCharHandlerFactory.cpp SVGCharHandlerFactory.hpp \
 	SVGCharPathHandler.cpp SVGCharPathHandler.hpp \
 	SVGCharTspanTextHandler.cpp SVGCharTspanTextHandler.hpp \
@@ -626,18 +634,19 @@
 	VectorStream.hpp version.hpp VFActions.hpp VFReader.cpp \
 	VFReader.hpp windows.hpp XMLDocument.cpp XMLDocument.hpp \
 	XMLNode.cpp XMLNode.hpp XMLString.cpp XMLString.hpp \
-	ZLibOutputStream.hpp $(am__append_5)
+	XXHashFunction.hpp ZLibOutputStream.hpp $(am__append_7)
 EXTRA_DIST = options.xml options.dtd iapi.h ierrors.h MiKTeXCom.hpp MiKTeXCom.cpp
 dvisvgm_srcdir = $(top_srcdir)/dvisvgm-src
 AM_CFLAGS = $(WARNING_CFLAGS) $(ZLIB_INCLUDES) $(CODE_COVERAGE_CFLAGS) \
-	$(am__append_8)
+	$(am__append_10)
 AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor \
 	-Wno-mismatched-tags -I$(dvisvgm_srcdir)/libs/clipper \
-	-I$(dvisvgm_srcdir)/libs/variant/include $(am__append_6) \
-	$(am__append_7) $(am__append_9) $(am__append_10) \
-	$(am__append_11) $(KPATHSEA_INCLUDES) $(POTRACE_INCLUDES) \
-	$(FREETYPE2_INCLUDES) $(ZLIB_INCLUDES) $(LIBGS_INCLUDES) \
-	$(CODE_COVERAGE_CFLAGS) $(am__append_13)
+	-I$(dvisvgm_srcdir)/libs/variant/include $(am__append_8) \
+	$(am__append_9) $(am__append_11) $(am__append_12) \
+	$(am__append_13) $(am__append_14) $(am__append_15) \
+	$(KPATHSEA_INCLUDES) $(POTRACE_INCLUDES) $(FREETYPE2_INCLUDES) \
+	$(ZLIB_INCLUDES) $(LIBGS_INCLUDES) $(CODE_COVERAGE_CFLAGS) \
+	$(am__append_17)
 CLEANFILES = *.gcda *.gcno
 all: all-am
 
@@ -780,6 +789,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GFReader.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GFTracer.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Ghostscript.Po at am__quote@ # am--include-marker
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HashFunction.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HtmlSpecialHandler.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HyperlinkManager.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ImageToSVG.Po at am__quote@ # am--include-marker
@@ -1065,6 +1075,7 @@
 	-rm -f ./$(DEPDIR)/GFReader.Po
 	-rm -f ./$(DEPDIR)/GFTracer.Po
 	-rm -f ./$(DEPDIR)/Ghostscript.Po
+	-rm -f ./$(DEPDIR)/HashFunction.Po
 	-rm -f ./$(DEPDIR)/HtmlSpecialHandler.Po
 	-rm -f ./$(DEPDIR)/HyperlinkManager.Po
 	-rm -f ./$(DEPDIR)/ImageToSVG.Po
@@ -1205,6 +1216,7 @@
 	-rm -f ./$(DEPDIR)/GFReader.Po
 	-rm -f ./$(DEPDIR)/GFTracer.Po
 	-rm -f ./$(DEPDIR)/Ghostscript.Po
+	-rm -f ./$(DEPDIR)/HashFunction.Po
 	-rm -f ./$(DEPDIR)/HtmlSpecialHandler.Po
 	-rm -f ./$(DEPDIR)/HyperlinkManager.Po
 	-rm -f ./$(DEPDIR)/ImageToSVG.Po

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -43,9 +43,10 @@
 /** Returns an output stream for the given page.
  *  @param[in] page number of current page
  *  @param[in] numPages total number of pages in the DVI file
+ *  @param[in] hash hash value of the current page
  *  @return output stream for the given page */
-ostream& SVGOutput::getPageStream (int page, int numPages) const {
-	string fname = filename(page, numPages);
+ostream& SVGOutput::getPageStream (int page, int numPages, const HashTriple &hashes) const {
+	string fname = filename(page, numPages, hashes);
 	if (fname.empty()) {
 		if (_zipLevel == 0) {
 			_osptr.reset();
@@ -73,14 +74,18 @@
 
 /** Returns the name of the SVG file containing the given page.
  *  @param[in] page number of current page
- *  @param[in] numPages total number of pages */
-string SVGOutput::filename (int page, int numPages) const {
+ *  @param[in] numPages total number of pages
+ *  @param[in] hash hash value of current page */
+string SVGOutput::filename (int page, int numPages, const HashTriple &hashes) const {
 	if (_stdout)
 		return "";
-	string expanded_pattern = util::trim(expandFormatString(_pattern, page, numPages));
+
+	string expanded_pattern = util::trim(expandFormatString(_pattern, page, numPages, hashes));
 	// set and expand default pattern if necessary
-	if (expanded_pattern.empty())
-		expanded_pattern = expandFormatString(numPages > 1 ? "%f-%p" : "%f", page, numPages);
+	if (expanded_pattern.empty()) {
+		string pattern = hashes.empty() ? (numPages > 1 ? "%f-%p" : "%f") : "%f-%hd";
+		expanded_pattern = expandFormatString(pattern, page, numPages, hashes);
+	}
 	// append suffix if necessary
 	FilePath outpath(expanded_pattern, true);
 	if (outpath.suffix().empty())
@@ -109,10 +114,15 @@
 /** Replaces expressions in a given string by the corresponding values and returns the result.
  *  Supported constructs:
  *  %f: basename of the current file (filename without suffix)
+ *  %h: hash value of current page
  *  %[0-9]?p: current page number
  *  %[0-9]?P: number of pages in DVI file
- *  %[0-9]?(expr): arithmetic expression */
-string SVGOutput::expandFormatString (string str, int page, int numPages) const {
+ *  %[0-9]?(expr): arithmetic expression
+ *  @param[in] str string to expand
+ *  @param[in] page number of current page
+ *  @param[in] numPages total number of pages
+ *  @param[in] hash hash value of current page (skipped if empty) */
+string SVGOutput::expandFormatString (string str, int page, int numPages, const HashTriple &hashes) const {
 	string result;
 	while (!str.empty()) {
 		size_t pos = str.find('%');
@@ -125,17 +135,27 @@
 			str = str.substr(pos);
 			pos = 1;
 			ostringstream oss;
-			if (isdigit(str[pos])) {
+			if (!isdigit(str[pos]))
+				oss << setw(util::ilog10(numPages)+1) << setfill('0');
+			else {
 				oss << setw(str[pos]-'0') << setfill('0');
 				pos++;
 			}
-			else {
-				oss << setw(util::ilog10(numPages)+1) << setfill('0');
-			}
 			switch (str[pos]) {
 				case 'f':
 					result += _path.basename();
 					break;
+				case 'h': {
+					char variant = pos+1 < str.length() ? str[++pos] : '\0';
+					switch (variant) {
+						case 'd': result += hashes.dviHash(); break;
+						case 'c': result += hashes.cmbHash(); break;
+						case 'o': result += hashes.optHash(); break;
+						default:
+							throw MessageException("hash type 'd', 'c', or 'o' expected after '%h' in filename pattern");
+					}
+					break;
+				}
 				case 'p':
 				case 'P':
 					oss << (str[pos] == 'p' ? page : numPages);
@@ -168,3 +188,10 @@
 	}
 	return result;
 }
+
+
+/** Returns true if methods 'filename' and 'getPageStream' ignore the hash
+ *  parameter because it's not requested in the filename pattern. */
+bool SVGOutput::ignoresHashes () const {
+	return _stdout || (!_pattern.empty() && _pattern.find("%h") == string::npos);
+}

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -28,9 +28,26 @@
 
 
 struct SVGOutputBase {
+	class HashTriple {
+		public:
+			HashTriple () =default;
+			HashTriple (const std::string &dviHash, const std::string &optHash, const std::string &cmbHash)
+				: _dviHash(dviHash), _optHash(optHash), _cmbHash(cmbHash) {}
+			std::string dviHash () const {return _dviHash;}
+			std::string optHash () const {return _optHash;}
+			std::string cmbHash () const {return _cmbHash;}
+			bool empty () const {return _dviHash.empty();}
+
+		private:
+			std::string _dviHash;  ///< hash of plain DVI data
+			std::string _optHash;  ///< hash of options affecting the SVG document
+			std::string _cmbHash;  ///< combined hash of DVI data and options
+	};
+
 	virtual ~SVGOutputBase () =default;
-	virtual std::ostream& getPageStream (int page, int numPages) const =0;
-	virtual std::string filename (int page, int numPages) const =0;
+	virtual std::ostream& getPageStream (int page, int numPages, const HashTriple &hashes=HashTriple()) const =0;
+	virtual std::string filename (int page, int numPages, const HashTriple &hashes=HashTriple()) const =0;
+	virtual bool ignoresHashes () const {return true;}
 };
 
 
@@ -40,11 +57,12 @@
 		SVGOutput (const std::string &base) : SVGOutput(base, "", 0) {}
 		SVGOutput (const std::string &base, const std::string &pattern) : SVGOutput(base, pattern, 0) {}
 		SVGOutput (const std::string &base, const std::string &pattern, int zipLevel);
-		std::ostream& getPageStream (int page, int numPages) const override;
-		std::string filename (int page, int numPages) const override;
+		std::ostream& getPageStream (int page, int numPages, const HashTriple &hash=HashTriple()) const override;
+		std::string filename (int page, int numPages, const HashTriple &hash=HashTriple()) const override;
+		bool ignoresHashes () const override;
 
 	protected:
-		std::string expandFormatString (std::string str, int page, int numPages) const;
+		std::string expandFormatString (std::string str, int page, int numPages, const HashTriple &hashes) const;
 
 	private:
 		FilePath _path;

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,88 @@
+/*************************************************************************
+** XXHashFunction.hpp                                                   **
+**                                                                      **
+** This file is part of dvisvgm -- a fast DVI to SVG converter          **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de>   **
+**                                                                      **
+** This program is free software; you can redistribute it and/or        **
+** modify it under the terms of the GNU General Public License as       **
+** published by the Free Software Foundation; either version 3 of       **
+** the License, or (at your option) any later version.                  **
+**                                                                      **
+** This program is distributed in the hope that it will be useful, but  **
+** WITHOUT ANY WARRANTY; without even the implied warranty of           **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         **
+** GNU General Public License for more details.                         **
+**                                                                      **
+** You should have received a copy of the GNU General Public License    **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef XXHASHFUNCTION_HPP
+#define XXHASHFUNCTION_HPP
+
+#include <xxhash.h>
+#include "HashFunction.hpp"
+
+
+template <int HASH_SIZE>
+struct XXHInterface {
+};
+
+template<>
+struct XXHInterface<4> {
+	using State = XXH32_state_t;
+	static constexpr auto createState = &XXH32_createState;
+	static constexpr auto freeState = &XXH32_freeState;
+	static constexpr auto reset = &XXH32_reset;
+	static constexpr auto update = &XXH32_update;
+	static constexpr auto digest = &XXH32_digest;
+};
+
+template<>
+struct XXHInterface<8> {
+	using State = XXH64_state_t;
+	static constexpr auto createState = &XXH64_createState;
+	static constexpr auto freeState = &XXH64_freeState;
+	static constexpr auto reset = &XXH64_reset;
+	static constexpr auto update = &XXH64_update;
+	static constexpr auto digest = &XXH64_digest;
+};
+
+
+/** Implements the HashFunction class for the xxHash algorithms. */
+template <int HASH_BYTES>
+class XXHashFunction : public HashFunction {
+	using Interface = XXHInterface<HASH_BYTES>;
+	public:
+		XXHashFunction () : _state(Interface::createState()) {Interface::reset(_state, 0);}
+		XXHashFunction(const char *data, size_t length) : XXHashFunction() {update(data, length);}
+		XXHashFunction(const std::string &data) : XXHashFunction() {update(data);}
+		XXHashFunction(const std::vector<uint8_t> &data) : XXHashFunction() {update(data);}
+		~XXHashFunction () {Interface::freeState(_state);}
+		int digestSize () const override {return HASH_BYTES;}
+		void reset () override {Interface::reset(_state, 0);}
+		void update (const char *data, size_t length) override {Interface::update(_state, data, length);}
+		void update (const std::string &data) override {update(data.data(), data.length());}
+		void update (const std::vector<uint8_t> &data) override {update(reinterpret_cast<const char*>(data.data()), data.size());}
+
+		std::vector<uint8_t> digestValue () const override {
+			std::vector<uint8_t> hash(HASH_BYTES);
+			auto digest = Interface::digest(_state);
+			for (int i=HASH_BYTES-1; i >= 0; i--) {
+				hash[i] = digest & 0xff;
+				digest >>= 8;
+			}
+			return hash;
+		}
+
+		static unsigned version () {return XXH_versionNumber();}
+
+	private:
+		typename Interface::State *_state;
+};
+
+using XXH32HashFunction = XXHashFunction<4>;
+using XXH64HashFunction = XXHashFunction<8>;
+
+#endif

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -26,7 +26,6 @@
 #include <potracelib.h>
 #include <sstream>
 #include <vector>
-#include <xxhash.h>
 #include <zlib.h>
 #include "CommandLine.hpp"
 #include "DVIToSVG.hpp"
@@ -37,6 +36,7 @@
 #include "Font.hpp"
 #include "FontEngine.hpp"
 #include "Ghostscript.hpp"
+#include "HashFunction.hpp"
 #include "HyperlinkManager.hpp"
 #include "Message.hpp"
 #include "PageSize.hpp"
@@ -47,6 +47,7 @@
 #include "SourceInput.hpp"
 #include "SVGOutput.hpp"
 #include "System.hpp"
+#include "XXHashFunction.hpp"
 #include "utility.hpp"
 #include "version.hpp"
 
@@ -114,7 +115,12 @@
 			Message::wstream(true) << "cache directory '" << args.cacheOpt.value() << "' does not exist (caching disabled)\n";
 	}
 	else if (const char *userdir = FileSystem::userdir()) {
-		static string cachepath = userdir + string("/.dvisvgm/cache");
+#ifdef _WIN32
+		string cachedir = "\\.dvisvgm\\cache";
+#else
+		string cachedir = "/.dvisvgm/cache";
+#endif
+		static string cachepath = userdir + cachedir;
 		if (!FileSystem::exists(cachepath))
 			FileSystem::mkdir(cachepath);
 		PhysicalFont::CACHE_PATH = cachepath.c_str();
@@ -247,7 +253,7 @@
 		versionInfo.add("clipper", CLIPPER_VERSION);
 		versionInfo.add("freetype", FontEngine::version());
 		versionInfo.add("potrace", strchr(potrace_version(), ' '));
-		versionInfo.add("xxhash", XXH_versionNumber(), 3, 100);
+		versionInfo.add("xxhash", XXH64HashFunction::version(), 3, 100);
 		versionInfo.add("zlib", zlibVersion());
 		versionInfo.add("Ghostscript", Ghostscript().revisionstr(), true);
 #ifndef DISABLE_WOFF
@@ -285,6 +291,39 @@
 }
 
 
+/** Returns a unique string for the current state of the command-line
+ *  options affecting the SVG output. */
+static string svg_options_hash (const CommandLine &cmdline) {
+	// options affecting the SVG output
+	vector<const CL::Option*> svg_options = {
+		&cmdline.bboxOpt,	&cmdline.clipjoinOpt, &cmdline.colornamesOpt, &cmdline.commentsOpt,
+		&cmdline.exactOpt, &cmdline.fontFormatOpt, &cmdline.fontmapOpt, &cmdline.gradOverlapOpt,
+		&cmdline.gradSegmentsOpt, &cmdline.gradSimplifyOpt, &cmdline.linkmarkOpt, &cmdline.magOpt,
+		&cmdline.noFontsOpt, &cmdline.noMergeOpt,	&cmdline.noSpecialsOpt,	&cmdline.noStylesOpt,
+		&cmdline.precisionOpt,	&cmdline.relativeOpt, &cmdline.zoomOpt
+	};
+	string idString = get_transformation_string(cmdline);
+	for (const CL::Option *opt : svg_options) {
+		idString += opt->given();
+		idString += opt->valueString();
+	}
+	return XXH64HashFunction(idString).digestString();
+}
+
+
+static bool list_page_hashes (const CommandLine &cmdline, DVIToSVG &dvisvg) {
+	if (cmdline.pageHashesOpt.given()) {
+		DVIToSVG::PAGE_HASH_SETTINGS.setParameters(cmdline.pageHashesOpt.value());
+		DVIToSVG::PAGE_HASH_SETTINGS.setOptionHash(svg_options_hash(cmdline));
+		if (DVIToSVG::PAGE_HASH_SETTINGS.isSet(DVIToSVG::HashSettings::P_LIST)) {
+			dvisvg.listHashes(cmdline.pageOpt.value(), cout);
+			return true;
+		}
+	}
+	return false;
+}
+
+
 static void set_variables (const CommandLine &cmdline) {
 	Message::COLORIZE = cmdline.colorOpt.given();
 	if (cmdline.progressOpt.given()) {
@@ -390,6 +429,8 @@
 		else {
 			init_fontmap(cmdline);
 			DVIToSVG dvi2svg(srcin.getInputStream(), out);
+			if (list_page_hashes(cmdline, dvi2svg))
+				return 0;
 			const char *ignore_specials=nullptr;
 			if (cmdline.noSpecialsOpt.given())
 				ignore_specials = cmdline.noSpecialsOpt.value().empty() ? "*" : cmdline.noSpecialsOpt.value().c_str();

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml	2018-09-13 17:10:25 UTC (rev 48654)
@@ -162,6 +162,10 @@
 				<arg type="string" name="prefixes" optional="yes"/>
 				<description>don't process [selected] specials</description>
 			</option>
+			<option long="page-hashes" short="H">
+				<arg type="string" name="params" optional="yes" default="xxh64"/>
+				<description>activate usage of page hashes</description>
+			</option>
 			<option long="trace-all" short="a">
 				<arg name="retrace" type="bool" optional="yes" default="false"/>
 				<description>trace all glyphs of bitmap fonts</description>

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -22,7 +22,7 @@
 #define VERSION_HPP
 
 constexpr const char *PROGRAM_NAME = "dvisvgm";
-constexpr const char *PROGRAM_VERSION = "2.5";
+constexpr const char *PROGRAM_VERSION = "2.6";
 
 #endif
 

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -155,12 +155,12 @@
 
 TEST(CommandLineTest, abbrev_long) {
 	CommandLine cmd;
-	const char *args[] = {"progname", "--pa=9", "--rot=-45.5", "--out=myfile.zyx", "--color"};
+	const char *args[] = {"progname", "--pre=2", "--rot=-45.5", "--out=myfile.zyx", "--color"};
 	char **argv = const_cast<char**>(args);
 	cmd.parse(5, argv);
 
-	EXPECT_TRUE(cmd.pageOpt.given());
-	EXPECT_EQ(cmd.pageOpt.value(), "9");
+	EXPECT_TRUE(cmd.precisionOpt.given());
+	EXPECT_EQ(cmd.precisionOpt.value(), 2);
 	EXPECT_TRUE(cmd.rotateOpt.given());
 	EXPECT_EQ(cmd.rotateOpt.value(), -45.5);
 	EXPECT_TRUE(cmd.outputOpt.given());

Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp	                        (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -0,0 +1,117 @@
+/*************************************************************************
+** HashFunctionTest.cpp                                                 **
+**                                                                      **
+** This file is part of dvisvgm -- a fast DVI to SVG converter          **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de>   **
+**                                                                      **
+** This program is free software; you can redistribute it and/or        **
+** modify it under the terms of the GNU General Public License as       **
+** published by the Free Software Foundation; either version 3 of       **
+** the License, or (at your option) any later version.                  **
+**                                                                      **
+** This program is distributed in the hope that it will be useful, but  **
+** WITHOUT ANY WARRANTY; without even the implied warranty of           **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the         **
+** GNU General Public License for more details.                         **
+**                                                                      **
+** You should have received a copy of the GNU General Public License    **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#include <gtest/gtest.h>
+#include "MD5HashFunction.hpp"
+#include "XXHashFunction.hpp"
+
+using namespace std;
+
+
+TEST(HashFunctionTest, md5) {
+	MD5HashFunction md5;
+	ASSERT_EQ(md5.digestSize(), 16);
+	md5.update("0123456789");
+	EXPECT_EQ(md5.digestString(), "781e5e245d69b566979b86e28d23f2c7");
+	md5.update("abcdefghij");
+	EXPECT_EQ(md5.digestString(), "644be06dfc54061fd1e67f5ebbabcd58");
+	md5.reset();
+	md5.update("0123456789");
+	EXPECT_EQ(md5.digestString(), "781e5e245d69b566979b86e28d23f2c7");
+	uint8_t bytes[] = {0x78, 0x1e, 0x5e, 0x24, 0x5d, 0x69, 0xb5, 0x66, 0x97, 0x9b, 0x86, 0xe2, 0x8d, 0x23, 0xf2, 0xc7};
+	int i=0;
+	for (uint8_t byte : md5.digestValue())
+		EXPECT_EQ(byte, bytes[i++]);
+}
+
+
+TEST(HashFunctionTest, xxh32) {
+	XXH32HashFunction xxh32;
+	ASSERT_EQ(xxh32.digestSize(), 4);
+	xxh32.update("0123456789");
+	EXPECT_EQ(xxh32.digestString(), "950c9c0a");
+	xxh32.update("abcdefghij");
+	EXPECT_EQ(xxh32.digestString(), "35600916");
+	xxh32.reset();
+	xxh32.update("0123456789");
+	EXPECT_EQ(xxh32.digestString(), "950c9c0a");
+	uint8_t bytes[] = {0x95, 0x0c, 0x9c, 0x0a};
+	int i=0;
+	for (uint8_t byte : xxh32.digestValue())
+		EXPECT_EQ(byte, bytes[i++]);
+}
+
+
+TEST(HashFunctionTest, xxh64) {
+	XXH64HashFunction xxh64;
+	ASSERT_EQ(xxh64.digestSize(), 8);
+	xxh64.update("0123456789");
+	EXPECT_EQ(xxh64.digestString(), "3f5fc178a81867e7");
+	xxh64.update("abcdefghij");
+	EXPECT_EQ(xxh64.digestString(), "45c2c0e1eb35a0b6");
+	xxh64.reset();
+	xxh64.update("0123456789");
+	EXPECT_EQ(xxh64.digestString(), "3f5fc178a81867e7");
+	uint8_t bytes[] = {0x3f, 0x5f, 0xc1, 0x78, 0xa8, 0x18, 0x67, 0xe7};
+	int i=0;
+	for (uint8_t byte : xxh64.digestValue())
+		EXPECT_EQ(byte, bytes[i++]);
+}
+
+
+TEST(HashFunctionTest, createMD5) {
+	auto hashfunc = HashFunction::create("md5");
+	ASSERT_TRUE(dynamic_cast<MD5HashFunction*>(hashfunc.get()) != nullptr);
+	hashfunc->update("0123456789");
+	EXPECT_EQ(hashfunc->digestString(), "781e5e245d69b566979b86e28d23f2c7");
+
+	hashfunc = HashFunction::create("md5", "0123456789");
+	ASSERT_TRUE(dynamic_cast<MD5HashFunction*>(hashfunc.get()) != nullptr);
+	EXPECT_EQ(hashfunc->digestString(), "781e5e245d69b566979b86e28d23f2c7");
+}
+
+
+TEST(HashFunctionTest, createXXH32) {
+	auto hashfunc = HashFunction::create("xxh32");
+	ASSERT_TRUE(dynamic_cast<XXH32HashFunction*>(hashfunc.get()) != nullptr);
+	hashfunc->update("0123456789");
+	EXPECT_EQ(hashfunc->digestString(), "950c9c0a");
+
+	hashfunc = HashFunction::create("xxh32", "0123456789");
+	ASSERT_TRUE(dynamic_cast<XXH32HashFunction*>(hashfunc.get()) != nullptr);
+	EXPECT_EQ(hashfunc->digestString(), "950c9c0a");
+}
+
+
+TEST(HashFunctionTest, createXXH64) {
+	auto hashfunc = HashFunction::create("xxh64");
+	ASSERT_TRUE(dynamic_cast<XXH64HashFunction*>(hashfunc.get()) != nullptr);
+	hashfunc->update("0123456789");
+	EXPECT_EQ(hashfunc->digestString(), "3f5fc178a81867e7");
+
+	hashfunc = HashFunction::create("xxh64", "0123456789");
+	ASSERT_TRUE(dynamic_cast<XXH64HashFunction*>(hashfunc.get()) != nullptr);
+	EXPECT_EQ(hashfunc->digestString(), "3f5fc178a81867e7");
+}
+
+
+TEST(HashFunctionTest, createFail) {
+	ASSERT_TRUE(HashFunction::create("not-available") == nullptr);
+}
\ No newline at end of file


Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am	2018-09-13 17:10:25 UTC (rev 48654)
@@ -28,7 +28,7 @@
 LIBS_LIBS  += ../libs/woff2/libwoff2.a ../libs/brotli/libbrotli.a
 endif
 else
-LIBS_CFLAGS = -I$(XXHASH_CFLAGS)
+LIBS_CFLAGS = $(XXHASH_CFLAGS)
 LIBS_LIBS   = $(POTRACE_LIBS) $(XXHASH_LIBS)
 if ENABLE_WOFF
 LIBS_LIBS  += $(WOFF2_LIBS) $(BROTLI_LIBS)
@@ -35,6 +35,14 @@
 endif
 endif
 
+if USE_BUNDLED_MD5
+LIBS_CFLAGS += -I$(top_srcdir)/libs/md5
+LIBS_LIBS   += ../libs/md5/libmd5.a
+else
+LIBS_CFLAGS += $(LIBCRYPTO_CFLAGS)
+LIBS_LIBS   += $(LIBCRYPTO_LIBS)
+endif
+
 AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/libs/variant/include \
 	-Wall -Wno-mismatched-tags \
 	-DBUILDDIR='"$(abs_builddir)"' -DSRCDIR='"$(abs_srcdir)"' \
@@ -58,349 +66,355 @@
 TESTS += BezierTest
 check_PROGRAMS += BezierTest
 BezierTest_SOURCES = BezierTest.cpp testutil.hpp
-BezierTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BezierTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BezierTest_LDADD = $(TESTLIBS)
 
 TESTS += BitmapTest
 check_PROGRAMS += BitmapTest
 BitmapTest_SOURCES = BitmapTest.cpp testutil.hpp
-BitmapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BitmapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BitmapTest_LDADD = $(TESTLIBS)
 
 TESTS += BoundingBoxTest
 check_PROGRAMS += BoundingBoxTest
 BoundingBoxTest_SOURCES = BoundingBoxTest.cpp testutil.hpp
-BoundingBoxTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BoundingBoxTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BoundingBoxTest_LDADD = $(TESTLIBS)
 
 TESTS += CalculatorTest
 check_PROGRAMS += CalculatorTest
 CalculatorTest_SOURCES = CalculatorTest.cpp testutil.hpp
-CalculatorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CalculatorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CalculatorTest_LDADD = $(TESTLIBS)
 
 TESTS += CMapManagerTest
 check_PROGRAMS += CMapManagerTest
 CMapManagerTest_SOURCES = CMapManagerTest.cpp testutil.hpp
-CMapManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapManagerTest_LDADD = $(TESTLIBS)
 
 TESTS += CMapReaderTest
 check_PROGRAMS += CMapReaderTest
 CMapReaderTest_SOURCES = CMapReaderTest.cpp testutil.hpp
-CMapReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += CMapTest
 check_PROGRAMS += CMapTest
 CMapTest_SOURCES = CMapTest.cpp testutil.hpp
-CMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapTest_LDADD = $(TESTLIBS)
 
 TESTS += ColorSpecialTest
 check_PROGRAMS += ColorSpecialTest
 ColorSpecialTest_SOURCES = ColorSpecialTest.cpp testutil.hpp
-ColorSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ColorSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ColorSpecialTest_LDADD = $(TESTLIBS)
 
 TESTS += ColorTest
 check_PROGRAMS += ColorTest
 ColorTest_SOURCES = ColorTest.cpp testutil.hpp
-ColorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ColorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ColorTest_LDADD = $(TESTLIBS)
 
 TESTS += CommandLineTest
 check_PROGRAMS += CommandLineTest
 CommandLineTest_SOURCES = CommandLineTest.cpp testutil.hpp
-CommandLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CommandLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CommandLineTest_LDADD = $(TESTLIBS)
 
 TESTS += CRC32Test
 check_PROGRAMS += CRC32Test
 CRC32Test_SOURCES = CRC32Test.cpp testutil.hpp
-CRC32Test_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CRC32Test_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CRC32Test_LDADD = $(TESTLIBS)
 
 TESTS += DependencyGraphTest
 check_PROGRAMS += DependencyGraphTest
 DependencyGraphTest_SOURCES = DependencyGraphTest.cpp testutil.hpp
-DependencyGraphTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DependencyGraphTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DependencyGraphTest_LDADD = $(TESTLIBS)
 
 TESTS += DirectoryTest
 check_PROGRAMS += DirectoryTest
 DirectoryTest_SOURCES = DirectoryTest.cpp testutil.hpp
-DirectoryTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DirectoryTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DirectoryTest_LDADD = $(TESTLIBS)
 
 TESTS += DVIReaderTest
 check_PROGRAMS += DVIReaderTest
 DVIReaderTest_SOURCES = DVIReaderTest.cpp testutil.hpp
-DVIReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DVIReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DVIReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += DvisvgmSpecialTest
 check_PROGRAMS += DvisvgmSpecialTest
 DvisvgmSpecialTest_SOURCES = DvisvgmSpecialTest.cpp testutil.hpp
-DvisvgmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DvisvgmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DvisvgmSpecialTest_LDADD = $(TESTLIBS)
 
 TESTS += EmSpecialTest
 check_PROGRAMS += EmSpecialTest
 EmSpecialTest_SOURCES = EmSpecialTest.cpp testutil.hpp
-EmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+EmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 EmSpecialTest_LDADD = $(TESTLIBS)
 
 TESTS += FileFinderTest
 check_PROGRAMS += FileFinderTest
 FileFinderTest_SOURCES = FileFinderTest.cpp testutil.hpp
-FileFinderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FileFinderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FileFinderTest_LDADD = $(TESTLIBS)
 
 TESTS += FilePathTest
 check_PROGRAMS += FilePathTest
 FilePathTest_SOURCES = FilePathTest.cpp testutil.hpp
-FilePathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FilePathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FilePathTest_LDADD = $(TESTLIBS)
 
 TESTS += FileSystemTest
 check_PROGRAMS += FileSystemTest
 FileSystemTest_SOURCES = FileSystemTest.cpp testutil.hpp
-FileSystemTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FileSystemTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FileSystemTest_LDADD = $(TESTLIBS)
 
 TESTS += FontCacheTest
 check_PROGRAMS += FontCacheTest
 FontCacheTest_SOURCES = FontCacheTest.cpp testutil.hpp
-FontCacheTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontCacheTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontCacheTest_LDADD = $(TESTLIBS)
 
 TESTS += FontManagerTest
 check_PROGRAMS += FontManagerTest
 FontManagerTest_SOURCES = FontManagerTest.cpp testutil.hpp
-FontManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontManagerTest_LDADD = $(TESTLIBS)
 
 TESTS += FontMapTest
 check_PROGRAMS += FontMapTest
 FontMapTest_SOURCES = FontMapTest.cpp testutil.hpp
-FontMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontMapTest_LDADD = $(TESTLIBS)
 
 TESTS += GFGlyphTracerTest
 check_PROGRAMS += GFGlyphTracerTest
 GFGlyphTracerTest_SOURCES = GFGlyphTracerTest.cpp testutil.hpp
-GFGlyphTracerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GFGlyphTracerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GFGlyphTracerTest_LDADD = $(TESTLIBS)
 
 TESTS += GFReaderTest
 check_PROGRAMS += GFReaderTest
 GFReaderTest_SOURCES = GFReaderTest.cpp testutil.hpp
-GFReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GFReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GFReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += GhostscriptTest
 check_PROGRAMS += GhostscriptTest
 GhostscriptTest_SOURCES = GhostscriptTest.cpp testutil.hpp
-GhostscriptTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GhostscriptTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GhostscriptTest_LDADD = $(TESTLIBS)
 
 TESTS += GraphicsPathTest
 check_PROGRAMS += GraphicsPathTest
 GraphicsPathTest_SOURCES = GraphicsPathTest.cpp testutil.hpp
-GraphicsPathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GraphicsPathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GraphicsPathTest_LDADD = $(TESTLIBS)
 
+TESTS += HashFunctionTest
+check_PROGRAMS += HashFunctionTest
+HashFunctionTest_SOURCES = HashFunctionTest.cpp testutil.hpp
+HashFunctionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
+HashFunctionTest_LDADD = $(TESTLIBS)
+
 TESTS += JFMReaderTest
 check_PROGRAMS += JFMReaderTest
 JFMReaderTest_SOURCES = JFMReaderTest.cpp testutil.hpp
-JFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+JFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 JFMReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += LengthTest
 check_PROGRAMS += LengthTest
 LengthTest_SOURCES = LengthTest.cpp testutil.hpp
-LengthTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+LengthTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 LengthTest_LDADD = $(TESTLIBS)
 
 TESTS += MapLineTest
 check_PROGRAMS += MapLineTest
 MapLineTest_SOURCES = MapLineTest.cpp testutil.hpp
-MapLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MapLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MapLineTest_LDADD = $(TESTLIBS)
 
 TESTS += MatrixTest
 check_PROGRAMS += MatrixTest
 MatrixTest_SOURCES = MatrixTest.cpp testutil.hpp
-MatrixTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MatrixTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MatrixTest_LDADD = $(TESTLIBS)
 
 TESTS += MessageExceptionTest
 check_PROGRAMS += MessageExceptionTest
 MessageExceptionTest_SOURCES = MessageExceptionTest.cpp testutil.hpp
-MessageExceptionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MessageExceptionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MessageExceptionTest_LDADD = $(TESTLIBS)
 
 TESTS += PageRagesTest
 check_PROGRAMS += PageRagesTest
 PageRagesTest_SOURCES = PageRagesTest.cpp testutil.hpp
-PageRagesTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PageRagesTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PageRagesTest_LDADD = $(TESTLIBS)
 
 TESTS += PageSizeTest
 check_PROGRAMS += PageSizeTest
 PageSizeTest_SOURCES = PageSizeTest.cpp testutil.hpp
-PageSizeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PageSizeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PageSizeTest_LDADD = $(TESTLIBS)
 
 TESTS += PairTest
 check_PROGRAMS += PairTest
 PairTest_SOURCES = PairTest.cpp testutil.hpp
-PairTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PairTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PairTest_LDADD = $(TESTLIBS)
 
 TESTS += PapersizeSpecialTest
 check_PROGRAMS += PapersizeSpecialTest
 PapersizeSpecialTest_SOURCES = PapersizeSpecialTest.cpp testutil.hpp
-PapersizeSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PapersizeSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PapersizeSpecialTest_LDADD = $(TESTLIBS)
 
 TESTS += PDFParserTest
 check_PROGRAMS += PDFParserTest
 PDFParserTest_SOURCES = PDFParserTest.cpp testutil.hpp
-PDFParserTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PDFParserTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PDFParserTest_LDADD = $(TESTLIBS)
 
 TESTS += PSInterpreterTest
 check_PROGRAMS += PSInterpreterTest
 PSInterpreterTest_SOURCES = PSInterpreterTest.cpp testutil.hpp
-PSInterpreterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PSInterpreterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PSInterpreterTest_LDADD = $(TESTLIBS)
 
 TESTS += RangeMapTest
 check_PROGRAMS += RangeMapTest
 RangeMapTest_SOURCES = RangeMapTest.cpp testutil.hpp
-RangeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+RangeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 RangeMapTest_LDADD = $(TESTLIBS)
 
 TESTS += ShadingPatchTest
 check_PROGRAMS += ShadingPatchTest
 ShadingPatchTest_SOURCES = ShadingPatchTest.cpp testutil.hpp
-ShadingPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ShadingPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ShadingPatchTest_LDADD = $(TESTLIBS)
 
 TESTS += SpecialManagerTest
 check_PROGRAMS += SpecialManagerTest
 SpecialManagerTest_SOURCES = SpecialManagerTest.cpp testutil.hpp
-SpecialManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SpecialManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SpecialManagerTest_LDADD = $(TESTLIBS)
 
 TESTS += SplittedCharInputBufferTest
 check_PROGRAMS += SplittedCharInputBufferTest
 SplittedCharInputBufferTest_SOURCES = SplittedCharInputBufferTest.cpp testutil.hpp
-SplittedCharInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SplittedCharInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SplittedCharInputBufferTest_LDADD = $(TESTLIBS)
 
 TESTS += StreamInputBufferTest
 check_PROGRAMS += StreamInputBufferTest
 StreamInputBufferTest_SOURCES = StreamInputBufferTest.cpp testutil.hpp
-StreamInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamInputBufferTest_LDADD = $(TESTLIBS)
 
 TESTS += StreamReaderTest
 check_PROGRAMS += StreamReaderTest
 StreamReaderTest_SOURCES = StreamReaderTest.cpp testutil.hpp
-StreamReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += StreamWriterTest
 check_PROGRAMS += StreamWriterTest
 StreamWriterTest_SOURCES = StreamWriterTest.cpp testutil.hpp
-StreamWriterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamWriterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamWriterTest_LDADD = $(TESTLIBS)
 
 TESTS += StringMatcherTest
 check_PROGRAMS += StringMatcherTest
 StringMatcherTest_SOURCES = StringMatcherTest.cpp testutil.hpp
-StringMatcherTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StringMatcherTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StringMatcherTest_LDADD = $(TESTLIBS)
 
 TESTS += SubfontTest
 check_PROGRAMS += SubfontTest
 SubfontTest_SOURCES = SubfontTest.cpp testutil.hpp
-SubfontTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SubfontTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SubfontTest_LDADD = $(TESTLIBS)
 
 TESTS += SVGOutputTest
 check_PROGRAMS += SVGOutputTest
 SVGOutputTest_SOURCES = SVGOutputTest.cpp testutil.hpp
-SVGOutputTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SVGOutputTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SVGOutputTest_LDADD = $(TESTLIBS)
 
 TESTS += TensorProductPatchTest
 check_PROGRAMS += TensorProductPatchTest
 TensorProductPatchTest_SOURCES = TensorProductPatchTest.cpp testutil.hpp
-TensorProductPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TensorProductPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TensorProductPatchTest_LDADD = $(TESTLIBS)
 
 TESTS += TFMReaderTest
 check_PROGRAMS += TFMReaderTest
 TFMReaderTest_SOURCES = TFMReaderTest.cpp testutil.hpp
-TFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TFMReaderTest_LDADD = $(TESTLIBS)
 
 TESTS += ToUnicodeMapTest
 check_PROGRAMS += ToUnicodeMapTest
 ToUnicodeMapTest_SOURCES = ToUnicodeMapTest.cpp testutil.hpp
-ToUnicodeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ToUnicodeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ToUnicodeMapTest_LDADD = $(TESTLIBS)
 
 TESTS += TpicSpecialTest
 check_PROGRAMS += TpicSpecialTest
 TpicSpecialTest_SOURCES = TpicSpecialTest.cpp testutil.hpp
-TpicSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TpicSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TpicSpecialTest_LDADD = $(TESTLIBS)
 
 TESTS += TriangularPatchTest
 check_PROGRAMS += TriangularPatchTest
 TriangularPatchTest_SOURCES = TriangularPatchTest.cpp testutil.hpp
-TriangularPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TriangularPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TriangularPatchTest_LDADD = $(TESTLIBS)
 
 TESTS += UnicodeTest
 check_PROGRAMS += UnicodeTest
 UnicodeTest_SOURCES = UnicodeTest.cpp testutil.hpp
-UnicodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+UnicodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 UnicodeTest_LDADD = $(TESTLIBS)
 
 TESTS += UtilityTest
 check_PROGRAMS += UtilityTest
 UtilityTest_SOURCES = UtilityTest.cpp testutil.hpp
-UtilityTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+UtilityTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 UtilityTest_LDADD = $(TESTLIBS)
 
 TESTS += VectorIteratorTest
 check_PROGRAMS += VectorIteratorTest
 VectorIteratorTest_SOURCES = VectorIteratorTest.cpp testutil.hpp
-VectorIteratorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+VectorIteratorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 VectorIteratorTest_LDADD = $(TESTLIBS)
 
 TESTS += VectorStreamTest
 check_PROGRAMS += VectorStreamTest
 VectorStreamTest_SOURCES = VectorStreamTest.cpp testutil.hpp
-VectorStreamTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+VectorStreamTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 VectorStreamTest_LDADD = $(TESTLIBS)
 
 TESTS += XMLNodeTest
 check_PROGRAMS += XMLNodeTest
 XMLNodeTest_SOURCES = XMLNodeTest.cpp testutil.hpp
-XMLNodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+XMLNodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 XMLNodeTest_LDADD = $(TESTLIBS)
 
 TESTS += XMLStringTest
 check_PROGRAMS += XMLStringTest
 XMLStringTest_SOURCES = XMLStringTest.cpp testutil.hpp
-XMLStringTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+XMLStringTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 XMLStringTest_LDADD = $(TESTLIBS)
 
 EXTRA_DIST += check-conv genhashcheck.py normalize.xsl

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -90,6 +90,10 @@
 target_triplet = @target@
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE at am__append_1 = ../libs/woff2/libwoff2.a ../libs/brotli/libbrotli.a
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE at am__append_2 = $(WOFF2_LIBS) $(BROTLI_LIBS)
+ at USE_BUNDLED_MD5_TRUE@am__append_3 = -I$(top_srcdir)/libs/md5
+ at USE_BUNDLED_MD5_TRUE@am__append_4 = ../libs/md5/libmd5.a
+ at USE_BUNDLED_MD5_FALSE@am__append_5 = $(LIBCRYPTO_CFLAGS)
+ at USE_BUNDLED_MD5_FALSE@am__append_6 = $(LIBCRYPTO_LIBS)
 TESTS = hashcheck$(EXEEXT) BezierTest$(EXEEXT) BitmapTest$(EXEEXT) \
 	BoundingBoxTest$(EXEEXT) CalculatorTest$(EXEEXT) \
 	CMapManagerTest$(EXEEXT) CMapReaderTest$(EXEEXT) \
@@ -102,8 +106,9 @@
 	FontCacheTest$(EXEEXT) FontManagerTest$(EXEEXT) \
 	FontMapTest$(EXEEXT) GFGlyphTracerTest$(EXEEXT) \
 	GFReaderTest$(EXEEXT) GhostscriptTest$(EXEEXT) \
-	GraphicsPathTest$(EXEEXT) JFMReaderTest$(EXEEXT) \
-	LengthTest$(EXEEXT) MapLineTest$(EXEEXT) MatrixTest$(EXEEXT) \
+	GraphicsPathTest$(EXEEXT) HashFunctionTest$(EXEEXT) \
+	JFMReaderTest$(EXEEXT) LengthTest$(EXEEXT) \
+	MapLineTest$(EXEEXT) MatrixTest$(EXEEXT) \
 	MessageExceptionTest$(EXEEXT) PageRagesTest$(EXEEXT) \
 	PageSizeTest$(EXEEXT) PairTest$(EXEEXT) \
 	PapersizeSpecialTest$(EXEEXT) PDFParserTest$(EXEEXT) \
@@ -132,8 +137,9 @@
 	FontCacheTest$(EXEEXT) FontManagerTest$(EXEEXT) \
 	FontMapTest$(EXEEXT) GFGlyphTracerTest$(EXEEXT) \
 	GFReaderTest$(EXEEXT) GhostscriptTest$(EXEEXT) \
-	GraphicsPathTest$(EXEEXT) JFMReaderTest$(EXEEXT) \
-	LengthTest$(EXEEXT) MapLineTest$(EXEEXT) MatrixTest$(EXEEXT) \
+	GraphicsPathTest$(EXEEXT) HashFunctionTest$(EXEEXT) \
+	JFMReaderTest$(EXEEXT) LengthTest$(EXEEXT) \
+	MapLineTest$(EXEEXT) MatrixTest$(EXEEXT) \
 	MessageExceptionTest$(EXEEXT) PageRagesTest$(EXEEXT) \
 	PageSizeTest$(EXEEXT) PairTest$(EXEEXT) \
 	PapersizeSpecialTest$(EXEEXT) PDFParserTest$(EXEEXT) \
@@ -149,7 +155,7 @@
 	UtilityTest$(EXEEXT) VectorIteratorTest$(EXEEXT) \
 	VectorStreamTest$(EXEEXT) XMLNodeTest$(EXEEXT) \
 	XMLStringTest$(EXEEXT)
- at ENABLE_WOFF_TRUE@am__append_3 = ../libs/ff-woff/libfontforge.a
+ at ENABLE_WOFF_TRUE@am__append_7 = ../libs/ff-woff/libfontforge.a
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -181,214 +187,221 @@
 am__DEPENDENCIES_1 =
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE at am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
 @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@	$(am__DEPENDENCIES_1)
- at USE_BUNDLED_LIBS_FALSE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2)
- at USE_BUNDLED_LIBS_TRUE@am__DEPENDENCIES_3 =  \
+ at USE_BUNDLED_MD5_FALSE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
+ at USE_BUNDLED_LIBS_FALSE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_2) \
+ at USE_BUNDLED_LIBS_FALSE@	$(am__append_4) $(am__DEPENDENCIES_3)
+ at USE_BUNDLED_LIBS_TRUE@am__DEPENDENCIES_4 =  \
 @USE_BUNDLED_LIBS_TRUE@	../libs/potrace/libpotrace.a \
 @USE_BUNDLED_LIBS_TRUE@	../libs/xxHash/libxxhash.a \
- at USE_BUNDLED_LIBS_TRUE@	$(am__append_1) $(am__DEPENDENCIES_2)
-am__DEPENDENCIES_4 = libgtest.la ../src/libdvisvgm.a \
-	$(am__DEPENDENCIES_3) $(am__append_3) $(am__DEPENDENCIES_1)
-BezierTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ at USE_BUNDLED_LIBS_TRUE@	$(am__append_1) $(am__DEPENDENCIES_2) \
+ at USE_BUNDLED_LIBS_TRUE@	$(am__append_4) $(am__DEPENDENCIES_3)
+am__DEPENDENCIES_5 = libgtest.la ../src/libdvisvgm.a \
+	$(am__DEPENDENCIES_4) $(am__append_7) $(am__DEPENDENCIES_1)
+BezierTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_BitmapTest_OBJECTS = BitmapTest-BitmapTest.$(OBJEXT)
 BitmapTest_OBJECTS = $(am_BitmapTest_OBJECTS)
-BitmapTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+BitmapTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_BoundingBoxTest_OBJECTS =  \
 	BoundingBoxTest-BoundingBoxTest.$(OBJEXT)
 BoundingBoxTest_OBJECTS = $(am_BoundingBoxTest_OBJECTS)
-BoundingBoxTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+BoundingBoxTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CMapManagerTest_OBJECTS =  \
 	CMapManagerTest-CMapManagerTest.$(OBJEXT)
 CMapManagerTest_OBJECTS = $(am_CMapManagerTest_OBJECTS)
-CMapManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CMapManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CMapReaderTest_OBJECTS = CMapReaderTest-CMapReaderTest.$(OBJEXT)
 CMapReaderTest_OBJECTS = $(am_CMapReaderTest_OBJECTS)
-CMapReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CMapReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CMapTest_OBJECTS = CMapTest-CMapTest.$(OBJEXT)
 CMapTest_OBJECTS = $(am_CMapTest_OBJECTS)
-CMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CMapTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CRC32Test_OBJECTS = CRC32Test-CRC32Test.$(OBJEXT)
 CRC32Test_OBJECTS = $(am_CRC32Test_OBJECTS)
-CRC32Test_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CRC32Test_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CalculatorTest_OBJECTS = CalculatorTest-CalculatorTest.$(OBJEXT)
 CalculatorTest_OBJECTS = $(am_CalculatorTest_OBJECTS)
-CalculatorTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CalculatorTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_ColorSpecialTest_OBJECTS =  \
 	ColorSpecialTest-ColorSpecialTest.$(OBJEXT)
 ColorSpecialTest_OBJECTS = $(am_ColorSpecialTest_OBJECTS)
-ColorSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ColorSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_ColorTest_OBJECTS = ColorTest-ColorTest.$(OBJEXT)
 ColorTest_OBJECTS = $(am_ColorTest_OBJECTS)
-ColorTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ColorTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_CommandLineTest_OBJECTS =  \
 	CommandLineTest-CommandLineTest.$(OBJEXT)
 CommandLineTest_OBJECTS = $(am_CommandLineTest_OBJECTS)
-CommandLineTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+CommandLineTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_DVIReaderTest_OBJECTS = DVIReaderTest-DVIReaderTest.$(OBJEXT)
 DVIReaderTest_OBJECTS = $(am_DVIReaderTest_OBJECTS)
-DVIReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+DVIReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_DependencyGraphTest_OBJECTS =  \
 	DependencyGraphTest-DependencyGraphTest.$(OBJEXT)
 DependencyGraphTest_OBJECTS = $(am_DependencyGraphTest_OBJECTS)
-DependencyGraphTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+DependencyGraphTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_DirectoryTest_OBJECTS = DirectoryTest-DirectoryTest.$(OBJEXT)
 DirectoryTest_OBJECTS = $(am_DirectoryTest_OBJECTS)
-DirectoryTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+DirectoryTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_DvisvgmSpecialTest_OBJECTS =  \
 	DvisvgmSpecialTest-DvisvgmSpecialTest.$(OBJEXT)
 DvisvgmSpecialTest_OBJECTS = $(am_DvisvgmSpecialTest_OBJECTS)
-DvisvgmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+DvisvgmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_EmSpecialTest_OBJECTS = EmSpecialTest-EmSpecialTest.$(OBJEXT)
 EmSpecialTest_OBJECTS = $(am_EmSpecialTest_OBJECTS)
-EmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+EmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FileFinderTest_OBJECTS = FileFinderTest-FileFinderTest.$(OBJEXT)
 FileFinderTest_OBJECTS = $(am_FileFinderTest_OBJECTS)
-FileFinderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FileFinderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FilePathTest_OBJECTS = FilePathTest-FilePathTest.$(OBJEXT)
 FilePathTest_OBJECTS = $(am_FilePathTest_OBJECTS)
-FilePathTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FilePathTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FileSystemTest_OBJECTS = FileSystemTest-FileSystemTest.$(OBJEXT)
 FileSystemTest_OBJECTS = $(am_FileSystemTest_OBJECTS)
-FileSystemTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FileSystemTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FontCacheTest_OBJECTS = FontCacheTest-FontCacheTest.$(OBJEXT)
 FontCacheTest_OBJECTS = $(am_FontCacheTest_OBJECTS)
-FontCacheTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FontCacheTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FontManagerTest_OBJECTS =  \
 	FontManagerTest-FontManagerTest.$(OBJEXT)
 FontManagerTest_OBJECTS = $(am_FontManagerTest_OBJECTS)
-FontManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FontManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_FontMapTest_OBJECTS = FontMapTest-FontMapTest.$(OBJEXT)
 FontMapTest_OBJECTS = $(am_FontMapTest_OBJECTS)
-FontMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+FontMapTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_GFGlyphTracerTest_OBJECTS =  \
 	GFGlyphTracerTest-GFGlyphTracerTest.$(OBJEXT)
 GFGlyphTracerTest_OBJECTS = $(am_GFGlyphTracerTest_OBJECTS)
-GFGlyphTracerTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+GFGlyphTracerTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_GFReaderTest_OBJECTS = GFReaderTest-GFReaderTest.$(OBJEXT)
 GFReaderTest_OBJECTS = $(am_GFReaderTest_OBJECTS)
-GFReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+GFReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_GhostscriptTest_OBJECTS =  \
 	GhostscriptTest-GhostscriptTest.$(OBJEXT)
 GhostscriptTest_OBJECTS = $(am_GhostscriptTest_OBJECTS)
-GhostscriptTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+GhostscriptTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_GraphicsPathTest_OBJECTS =  \
 	GraphicsPathTest-GraphicsPathTest.$(OBJEXT)
 GraphicsPathTest_OBJECTS = $(am_GraphicsPathTest_OBJECTS)
-GraphicsPathTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+GraphicsPathTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
+am_HashFunctionTest_OBJECTS =  \
+	HashFunctionTest-HashFunctionTest.$(OBJEXT)
+HashFunctionTest_OBJECTS = $(am_HashFunctionTest_OBJECTS)
+HashFunctionTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_JFMReaderTest_OBJECTS = JFMReaderTest-JFMReaderTest.$(OBJEXT)
 JFMReaderTest_OBJECTS = $(am_JFMReaderTest_OBJECTS)
-JFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+JFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_LengthTest_OBJECTS = LengthTest-LengthTest.$(OBJEXT)
 LengthTest_OBJECTS = $(am_LengthTest_OBJECTS)
-LengthTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+LengthTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_MapLineTest_OBJECTS = MapLineTest-MapLineTest.$(OBJEXT)
 MapLineTest_OBJECTS = $(am_MapLineTest_OBJECTS)
-MapLineTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+MapLineTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_MatrixTest_OBJECTS = MatrixTest-MatrixTest.$(OBJEXT)
 MatrixTest_OBJECTS = $(am_MatrixTest_OBJECTS)
-MatrixTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+MatrixTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_MessageExceptionTest_OBJECTS =  \
 	MessageExceptionTest-MessageExceptionTest.$(OBJEXT)
 MessageExceptionTest_OBJECTS = $(am_MessageExceptionTest_OBJECTS)
-MessageExceptionTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+MessageExceptionTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PDFParserTest_OBJECTS = PDFParserTest-PDFParserTest.$(OBJEXT)
 PDFParserTest_OBJECTS = $(am_PDFParserTest_OBJECTS)
-PDFParserTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PDFParserTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PSInterpreterTest_OBJECTS =  \
 	PSInterpreterTest-PSInterpreterTest.$(OBJEXT)
 PSInterpreterTest_OBJECTS = $(am_PSInterpreterTest_OBJECTS)
-PSInterpreterTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PSInterpreterTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PageRagesTest_OBJECTS = PageRagesTest-PageRagesTest.$(OBJEXT)
 PageRagesTest_OBJECTS = $(am_PageRagesTest_OBJECTS)
-PageRagesTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PageRagesTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PageSizeTest_OBJECTS = PageSizeTest-PageSizeTest.$(OBJEXT)
 PageSizeTest_OBJECTS = $(am_PageSizeTest_OBJECTS)
-PageSizeTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PageSizeTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PairTest_OBJECTS = PairTest-PairTest.$(OBJEXT)
 PairTest_OBJECTS = $(am_PairTest_OBJECTS)
-PairTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PairTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_PapersizeSpecialTest_OBJECTS =  \
 	PapersizeSpecialTest-PapersizeSpecialTest.$(OBJEXT)
 PapersizeSpecialTest_OBJECTS = $(am_PapersizeSpecialTest_OBJECTS)
-PapersizeSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+PapersizeSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_RangeMapTest_OBJECTS = RangeMapTest-RangeMapTest.$(OBJEXT)
 RangeMapTest_OBJECTS = $(am_RangeMapTest_OBJECTS)
-RangeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+RangeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_SVGOutputTest_OBJECTS = SVGOutputTest-SVGOutputTest.$(OBJEXT)
 SVGOutputTest_OBJECTS = $(am_SVGOutputTest_OBJECTS)
-SVGOutputTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+SVGOutputTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_ShadingPatchTest_OBJECTS =  \
 	ShadingPatchTest-ShadingPatchTest.$(OBJEXT)
 ShadingPatchTest_OBJECTS = $(am_ShadingPatchTest_OBJECTS)
-ShadingPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ShadingPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_SpecialManagerTest_OBJECTS =  \
 	SpecialManagerTest-SpecialManagerTest.$(OBJEXT)
 SpecialManagerTest_OBJECTS = $(am_SpecialManagerTest_OBJECTS)
-SpecialManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+SpecialManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_SplittedCharInputBufferTest_OBJECTS = SplittedCharInputBufferTest-SplittedCharInputBufferTest.$(OBJEXT)
 SplittedCharInputBufferTest_OBJECTS =  \
 	$(am_SplittedCharInputBufferTest_OBJECTS)
-SplittedCharInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+SplittedCharInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_StreamInputBufferTest_OBJECTS =  \
 	StreamInputBufferTest-StreamInputBufferTest.$(OBJEXT)
 StreamInputBufferTest_OBJECTS = $(am_StreamInputBufferTest_OBJECTS)
-StreamInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+StreamInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_StreamReaderTest_OBJECTS =  \
 	StreamReaderTest-StreamReaderTest.$(OBJEXT)
 StreamReaderTest_OBJECTS = $(am_StreamReaderTest_OBJECTS)
-StreamReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+StreamReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_StreamWriterTest_OBJECTS =  \
 	StreamWriterTest-StreamWriterTest.$(OBJEXT)
 StreamWriterTest_OBJECTS = $(am_StreamWriterTest_OBJECTS)
-StreamWriterTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+StreamWriterTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_StringMatcherTest_OBJECTS =  \
 	StringMatcherTest-StringMatcherTest.$(OBJEXT)
 StringMatcherTest_OBJECTS = $(am_StringMatcherTest_OBJECTS)
-StringMatcherTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+StringMatcherTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_SubfontTest_OBJECTS = SubfontTest-SubfontTest.$(OBJEXT)
 SubfontTest_OBJECTS = $(am_SubfontTest_OBJECTS)
-SubfontTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+SubfontTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_TFMReaderTest_OBJECTS = TFMReaderTest-TFMReaderTest.$(OBJEXT)
 TFMReaderTest_OBJECTS = $(am_TFMReaderTest_OBJECTS)
-TFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+TFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_TensorProductPatchTest_OBJECTS =  \
 	TensorProductPatchTest-TensorProductPatchTest.$(OBJEXT)
 TensorProductPatchTest_OBJECTS = $(am_TensorProductPatchTest_OBJECTS)
-TensorProductPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+TensorProductPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_ToUnicodeMapTest_OBJECTS =  \
 	ToUnicodeMapTest-ToUnicodeMapTest.$(OBJEXT)
 ToUnicodeMapTest_OBJECTS = $(am_ToUnicodeMapTest_OBJECTS)
-ToUnicodeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+ToUnicodeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_TpicSpecialTest_OBJECTS =  \
 	TpicSpecialTest-TpicSpecialTest.$(OBJEXT)
 TpicSpecialTest_OBJECTS = $(am_TpicSpecialTest_OBJECTS)
-TpicSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+TpicSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_TriangularPatchTest_OBJECTS =  \
 	TriangularPatchTest-TriangularPatchTest.$(OBJEXT)
 TriangularPatchTest_OBJECTS = $(am_TriangularPatchTest_OBJECTS)
-TriangularPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+TriangularPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_UnicodeTest_OBJECTS = UnicodeTest-UnicodeTest.$(OBJEXT)
 UnicodeTest_OBJECTS = $(am_UnicodeTest_OBJECTS)
-UnicodeTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+UnicodeTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_UtilityTest_OBJECTS = UtilityTest-UtilityTest.$(OBJEXT)
 UtilityTest_OBJECTS = $(am_UtilityTest_OBJECTS)
-UtilityTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+UtilityTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_VectorIteratorTest_OBJECTS =  \
 	VectorIteratorTest-VectorIteratorTest.$(OBJEXT)
 VectorIteratorTest_OBJECTS = $(am_VectorIteratorTest_OBJECTS)
-VectorIteratorTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+VectorIteratorTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_VectorStreamTest_OBJECTS =  \
 	VectorStreamTest-VectorStreamTest.$(OBJEXT)
 VectorStreamTest_OBJECTS = $(am_VectorStreamTest_OBJECTS)
-VectorStreamTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+VectorStreamTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_XMLNodeTest_OBJECTS = XMLNodeTest-XMLNodeTest.$(OBJEXT)
 XMLNodeTest_OBJECTS = $(am_XMLNodeTest_OBJECTS)
-XMLNodeTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+XMLNodeTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_XMLStringTest_OBJECTS = XMLStringTest-XMLStringTest.$(OBJEXT)
 XMLStringTest_OBJECTS = $(am_XMLStringTest_OBJECTS)
-XMLStringTest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+XMLStringTest_DEPENDENCIES = $(am__DEPENDENCIES_5)
 nodist_hashcheck_OBJECTS = hashcheck-hashcheck.$(OBJEXT)
 hashcheck_OBJECTS = $(nodist_hashcheck_OBJECTS)
-hashcheck_DEPENDENCIES = $(am__DEPENDENCIES_3)
+hashcheck_DEPENDENCIES = $(am__DEPENDENCIES_4)
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -454,14 +467,15 @@
 	$(FontCacheTest_SOURCES) $(FontManagerTest_SOURCES) \
 	$(FontMapTest_SOURCES) $(GFGlyphTracerTest_SOURCES) \
 	$(GFReaderTest_SOURCES) $(GhostscriptTest_SOURCES) \
-	$(GraphicsPathTest_SOURCES) $(JFMReaderTest_SOURCES) \
-	$(LengthTest_SOURCES) $(MapLineTest_SOURCES) \
-	$(MatrixTest_SOURCES) $(MessageExceptionTest_SOURCES) \
-	$(PDFParserTest_SOURCES) $(PSInterpreterTest_SOURCES) \
-	$(PageRagesTest_SOURCES) $(PageSizeTest_SOURCES) \
-	$(PairTest_SOURCES) $(PapersizeSpecialTest_SOURCES) \
-	$(RangeMapTest_SOURCES) $(SVGOutputTest_SOURCES) \
-	$(ShadingPatchTest_SOURCES) $(SpecialManagerTest_SOURCES) \
+	$(GraphicsPathTest_SOURCES) $(HashFunctionTest_SOURCES) \
+	$(JFMReaderTest_SOURCES) $(LengthTest_SOURCES) \
+	$(MapLineTest_SOURCES) $(MatrixTest_SOURCES) \
+	$(MessageExceptionTest_SOURCES) $(PDFParserTest_SOURCES) \
+	$(PSInterpreterTest_SOURCES) $(PageRagesTest_SOURCES) \
+	$(PageSizeTest_SOURCES) $(PairTest_SOURCES) \
+	$(PapersizeSpecialTest_SOURCES) $(RangeMapTest_SOURCES) \
+	$(SVGOutputTest_SOURCES) $(ShadingPatchTest_SOURCES) \
+	$(SpecialManagerTest_SOURCES) \
 	$(SplittedCharInputBufferTest_SOURCES) \
 	$(StreamInputBufferTest_SOURCES) $(StreamReaderTest_SOURCES) \
 	$(StreamWriterTest_SOURCES) $(StringMatcherTest_SOURCES) \
@@ -485,14 +499,15 @@
 	$(FontCacheTest_SOURCES) $(FontManagerTest_SOURCES) \
 	$(FontMapTest_SOURCES) $(GFGlyphTracerTest_SOURCES) \
 	$(GFReaderTest_SOURCES) $(GhostscriptTest_SOURCES) \
-	$(GraphicsPathTest_SOURCES) $(JFMReaderTest_SOURCES) \
-	$(LengthTest_SOURCES) $(MapLineTest_SOURCES) \
-	$(MatrixTest_SOURCES) $(MessageExceptionTest_SOURCES) \
-	$(PDFParserTest_SOURCES) $(PSInterpreterTest_SOURCES) \
-	$(PageRagesTest_SOURCES) $(PageSizeTest_SOURCES) \
-	$(PairTest_SOURCES) $(PapersizeSpecialTest_SOURCES) \
-	$(RangeMapTest_SOURCES) $(SVGOutputTest_SOURCES) \
-	$(ShadingPatchTest_SOURCES) $(SpecialManagerTest_SOURCES) \
+	$(GraphicsPathTest_SOURCES) $(HashFunctionTest_SOURCES) \
+	$(JFMReaderTest_SOURCES) $(LengthTest_SOURCES) \
+	$(MapLineTest_SOURCES) $(MatrixTest_SOURCES) \
+	$(MessageExceptionTest_SOURCES) $(PDFParserTest_SOURCES) \
+	$(PSInterpreterTest_SOURCES) $(PageRagesTest_SOURCES) \
+	$(PageSizeTest_SOURCES) $(PairTest_SOURCES) \
+	$(PapersizeSpecialTest_SOURCES) $(RangeMapTest_SOURCES) \
+	$(SVGOutputTest_SOURCES) $(ShadingPatchTest_SOURCES) \
+	$(SpecialManagerTest_SOURCES) \
 	$(SplittedCharInputBufferTest_SOURCES) \
 	$(StreamInputBufferTest_SOURCES) $(StreamReaderTest_SOURCES) \
 	$(StreamWriterTest_SOURCES) $(StringMatcherTest_SOURCES) \
@@ -831,6 +846,8 @@
 LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBCRYPTO_CFLAGS = @LIBCRYPTO_CFLAGS@
+LIBCRYPTO_LIBS = @LIBCRYPTO_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
@@ -940,13 +957,17 @@
 	gtest/src/gtest-port.cc gtest/src/gtest-printers.cc \
 	gtest/src/gtest-test-part.cc gtest/src/gtest-typed-test.cc \
 	check-conv genhashcheck.py normalize.xsl
- at USE_BUNDLED_LIBS_FALSE@LIBS_CFLAGS = -I$(XXHASH_CFLAGS)
- at USE_BUNDLED_LIBS_TRUE@LIBS_CFLAGS = -I$(top_srcdir)/libs/xxHash
+ at USE_BUNDLED_LIBS_FALSE@LIBS_CFLAGS = $(XXHASH_CFLAGS) $(am__append_3) \
+ at USE_BUNDLED_LIBS_FALSE@	$(am__append_5)
+ at USE_BUNDLED_LIBS_TRUE@LIBS_CFLAGS = -I$(top_srcdir)/libs/xxHash \
+ at USE_BUNDLED_LIBS_TRUE@	$(am__append_3) $(am__append_5)
 @USE_BUNDLED_LIBS_FALSE at LIBS_LIBS = $(POTRACE_LIBS) $(XXHASH_LIBS) \
- at USE_BUNDLED_LIBS_FALSE@	$(am__append_2)
+ at USE_BUNDLED_LIBS_FALSE@	$(am__append_2) $(am__append_4) \
+ at USE_BUNDLED_LIBS_FALSE@	$(am__append_6)
 @USE_BUNDLED_LIBS_TRUE at LIBS_LIBS = ../libs/potrace/libpotrace.a \
 @USE_BUNDLED_LIBS_TRUE@	../libs/xxHash/libxxhash.a \
- at USE_BUNDLED_LIBS_TRUE@	$(am__append_1) $(am__append_2)
+ at USE_BUNDLED_LIBS_TRUE@	$(am__append_1) $(am__append_2) \
+ at USE_BUNDLED_LIBS_TRUE@	$(am__append_4) $(am__append_6)
 AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/libs/variant/include \
 	-Wall -Wno-mismatched-tags \
 	-DBUILDDIR='"$(abs_builddir)"' -DSRCDIR='"$(abs_srcdir)"' \
@@ -956,180 +977,183 @@
 hashcheck_CPPFLAGS = $(LIBS_CFLAGS)
 hashcheck_LDADD = $(LIBS_LIBS)
 TESTLIBS = libgtest.la ../src/libdvisvgm.a $(LIBS_LIBS) -lfreetype \
-	$(am__append_3) $(CODE_COVERAGE_LDFLAGS)
+	$(am__append_7) $(CODE_COVERAGE_LDFLAGS)
 BezierTest_SOURCES = BezierTest.cpp testutil.hpp
-BezierTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BezierTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BezierTest_LDADD = $(TESTLIBS)
 BitmapTest_SOURCES = BitmapTest.cpp testutil.hpp
-BitmapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BitmapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BitmapTest_LDADD = $(TESTLIBS)
 BoundingBoxTest_SOURCES = BoundingBoxTest.cpp testutil.hpp
-BoundingBoxTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+BoundingBoxTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 BoundingBoxTest_LDADD = $(TESTLIBS)
 CalculatorTest_SOURCES = CalculatorTest.cpp testutil.hpp
-CalculatorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CalculatorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CalculatorTest_LDADD = $(TESTLIBS)
 CMapManagerTest_SOURCES = CMapManagerTest.cpp testutil.hpp
-CMapManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapManagerTest_LDADD = $(TESTLIBS)
 CMapReaderTest_SOURCES = CMapReaderTest.cpp testutil.hpp
-CMapReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapReaderTest_LDADD = $(TESTLIBS)
 CMapTest_SOURCES = CMapTest.cpp testutil.hpp
-CMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CMapTest_LDADD = $(TESTLIBS)
 ColorSpecialTest_SOURCES = ColorSpecialTest.cpp testutil.hpp
-ColorSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ColorSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ColorSpecialTest_LDADD = $(TESTLIBS)
 ColorTest_SOURCES = ColorTest.cpp testutil.hpp
-ColorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ColorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ColorTest_LDADD = $(TESTLIBS)
 CommandLineTest_SOURCES = CommandLineTest.cpp testutil.hpp
-CommandLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CommandLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CommandLineTest_LDADD = $(TESTLIBS)
 CRC32Test_SOURCES = CRC32Test.cpp testutil.hpp
-CRC32Test_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+CRC32Test_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 CRC32Test_LDADD = $(TESTLIBS)
 DependencyGraphTest_SOURCES = DependencyGraphTest.cpp testutil.hpp
-DependencyGraphTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DependencyGraphTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DependencyGraphTest_LDADD = $(TESTLIBS)
 DirectoryTest_SOURCES = DirectoryTest.cpp testutil.hpp
-DirectoryTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DirectoryTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DirectoryTest_LDADD = $(TESTLIBS)
 DVIReaderTest_SOURCES = DVIReaderTest.cpp testutil.hpp
-DVIReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DVIReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DVIReaderTest_LDADD = $(TESTLIBS)
 DvisvgmSpecialTest_SOURCES = DvisvgmSpecialTest.cpp testutil.hpp
-DvisvgmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+DvisvgmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 DvisvgmSpecialTest_LDADD = $(TESTLIBS)
 EmSpecialTest_SOURCES = EmSpecialTest.cpp testutil.hpp
-EmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+EmSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 EmSpecialTest_LDADD = $(TESTLIBS)
 FileFinderTest_SOURCES = FileFinderTest.cpp testutil.hpp
-FileFinderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FileFinderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FileFinderTest_LDADD = $(TESTLIBS)
 FilePathTest_SOURCES = FilePathTest.cpp testutil.hpp
-FilePathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FilePathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FilePathTest_LDADD = $(TESTLIBS)
 FileSystemTest_SOURCES = FileSystemTest.cpp testutil.hpp
-FileSystemTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FileSystemTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FileSystemTest_LDADD = $(TESTLIBS)
 FontCacheTest_SOURCES = FontCacheTest.cpp testutil.hpp
-FontCacheTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontCacheTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontCacheTest_LDADD = $(TESTLIBS)
 FontManagerTest_SOURCES = FontManagerTest.cpp testutil.hpp
-FontManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontManagerTest_LDADD = $(TESTLIBS)
 FontMapTest_SOURCES = FontMapTest.cpp testutil.hpp
-FontMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+FontMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 FontMapTest_LDADD = $(TESTLIBS)
 GFGlyphTracerTest_SOURCES = GFGlyphTracerTest.cpp testutil.hpp
-GFGlyphTracerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GFGlyphTracerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GFGlyphTracerTest_LDADD = $(TESTLIBS)
 GFReaderTest_SOURCES = GFReaderTest.cpp testutil.hpp
-GFReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GFReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GFReaderTest_LDADD = $(TESTLIBS)
 GhostscriptTest_SOURCES = GhostscriptTest.cpp testutil.hpp
-GhostscriptTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GhostscriptTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GhostscriptTest_LDADD = $(TESTLIBS)
 GraphicsPathTest_SOURCES = GraphicsPathTest.cpp testutil.hpp
-GraphicsPathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+GraphicsPathTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 GraphicsPathTest_LDADD = $(TESTLIBS)
+HashFunctionTest_SOURCES = HashFunctionTest.cpp testutil.hpp
+HashFunctionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
+HashFunctionTest_LDADD = $(TESTLIBS)
 JFMReaderTest_SOURCES = JFMReaderTest.cpp testutil.hpp
-JFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+JFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 JFMReaderTest_LDADD = $(TESTLIBS)
 LengthTest_SOURCES = LengthTest.cpp testutil.hpp
-LengthTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+LengthTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 LengthTest_LDADD = $(TESTLIBS)
 MapLineTest_SOURCES = MapLineTest.cpp testutil.hpp
-MapLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MapLineTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MapLineTest_LDADD = $(TESTLIBS)
 MatrixTest_SOURCES = MatrixTest.cpp testutil.hpp
-MatrixTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MatrixTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MatrixTest_LDADD = $(TESTLIBS)
 MessageExceptionTest_SOURCES = MessageExceptionTest.cpp testutil.hpp
-MessageExceptionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+MessageExceptionTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 MessageExceptionTest_LDADD = $(TESTLIBS)
 PageRagesTest_SOURCES = PageRagesTest.cpp testutil.hpp
-PageRagesTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PageRagesTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PageRagesTest_LDADD = $(TESTLIBS)
 PageSizeTest_SOURCES = PageSizeTest.cpp testutil.hpp
-PageSizeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PageSizeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PageSizeTest_LDADD = $(TESTLIBS)
 PairTest_SOURCES = PairTest.cpp testutil.hpp
-PairTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PairTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PairTest_LDADD = $(TESTLIBS)
 PapersizeSpecialTest_SOURCES = PapersizeSpecialTest.cpp testutil.hpp
-PapersizeSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PapersizeSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PapersizeSpecialTest_LDADD = $(TESTLIBS)
 PDFParserTest_SOURCES = PDFParserTest.cpp testutil.hpp
-PDFParserTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PDFParserTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PDFParserTest_LDADD = $(TESTLIBS)
 PSInterpreterTest_SOURCES = PSInterpreterTest.cpp testutil.hpp
-PSInterpreterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+PSInterpreterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 PSInterpreterTest_LDADD = $(TESTLIBS)
 RangeMapTest_SOURCES = RangeMapTest.cpp testutil.hpp
-RangeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+RangeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 RangeMapTest_LDADD = $(TESTLIBS)
 ShadingPatchTest_SOURCES = ShadingPatchTest.cpp testutil.hpp
-ShadingPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ShadingPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ShadingPatchTest_LDADD = $(TESTLIBS)
 SpecialManagerTest_SOURCES = SpecialManagerTest.cpp testutil.hpp
-SpecialManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SpecialManagerTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SpecialManagerTest_LDADD = $(TESTLIBS)
 SplittedCharInputBufferTest_SOURCES = SplittedCharInputBufferTest.cpp testutil.hpp
-SplittedCharInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SplittedCharInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SplittedCharInputBufferTest_LDADD = $(TESTLIBS)
 StreamInputBufferTest_SOURCES = StreamInputBufferTest.cpp testutil.hpp
-StreamInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamInputBufferTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamInputBufferTest_LDADD = $(TESTLIBS)
 StreamReaderTest_SOURCES = StreamReaderTest.cpp testutil.hpp
-StreamReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamReaderTest_LDADD = $(TESTLIBS)
 StreamWriterTest_SOURCES = StreamWriterTest.cpp testutil.hpp
-StreamWriterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StreamWriterTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StreamWriterTest_LDADD = $(TESTLIBS)
 StringMatcherTest_SOURCES = StringMatcherTest.cpp testutil.hpp
-StringMatcherTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+StringMatcherTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 StringMatcherTest_LDADD = $(TESTLIBS)
 SubfontTest_SOURCES = SubfontTest.cpp testutil.hpp
-SubfontTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SubfontTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SubfontTest_LDADD = $(TESTLIBS)
 SVGOutputTest_SOURCES = SVGOutputTest.cpp testutil.hpp
-SVGOutputTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+SVGOutputTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 SVGOutputTest_LDADD = $(TESTLIBS)
 TensorProductPatchTest_SOURCES = TensorProductPatchTest.cpp testutil.hpp
-TensorProductPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TensorProductPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TensorProductPatchTest_LDADD = $(TESTLIBS)
 TFMReaderTest_SOURCES = TFMReaderTest.cpp testutil.hpp
-TFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TFMReaderTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TFMReaderTest_LDADD = $(TESTLIBS)
 ToUnicodeMapTest_SOURCES = ToUnicodeMapTest.cpp testutil.hpp
-ToUnicodeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+ToUnicodeMapTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 ToUnicodeMapTest_LDADD = $(TESTLIBS)
 TpicSpecialTest_SOURCES = TpicSpecialTest.cpp testutil.hpp
-TpicSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TpicSpecialTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TpicSpecialTest_LDADD = $(TESTLIBS)
 TriangularPatchTest_SOURCES = TriangularPatchTest.cpp testutil.hpp
-TriangularPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+TriangularPatchTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 TriangularPatchTest_LDADD = $(TESTLIBS)
 UnicodeTest_SOURCES = UnicodeTest.cpp testutil.hpp
-UnicodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+UnicodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 UnicodeTest_LDADD = $(TESTLIBS)
 UtilityTest_SOURCES = UtilityTest.cpp testutil.hpp
-UtilityTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+UtilityTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 UtilityTest_LDADD = $(TESTLIBS)
 VectorIteratorTest_SOURCES = VectorIteratorTest.cpp testutil.hpp
-VectorIteratorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+VectorIteratorTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 VectorIteratorTest_LDADD = $(TESTLIBS)
 VectorStreamTest_SOURCES = VectorStreamTest.cpp testutil.hpp
-VectorStreamTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+VectorStreamTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 VectorStreamTest_LDADD = $(TESTLIBS)
 XMLNodeTest_SOURCES = XMLNodeTest.cpp testutil.hpp
-XMLNodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+XMLNodeTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 XMLNodeTest_LDADD = $(TESTLIBS)
 XMLStringTest_SOURCES = XMLStringTest.cpp testutil.hpp
-XMLStringTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include
+XMLStringTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include $(LIBS_CFLAGS)
 XMLStringTest_LDADD = $(TESTLIBS)
 CLEANFILES = *.gcda *.gcno hashcheck.cpp
 all: all-recursive
@@ -1301,6 +1325,10 @@
 	@rm -f GraphicsPathTest$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(GraphicsPathTest_OBJECTS) $(GraphicsPathTest_LDADD) $(LIBS)
 
+HashFunctionTest$(EXEEXT): $(HashFunctionTest_OBJECTS) $(HashFunctionTest_DEPENDENCIES) $(EXTRA_HashFunctionTest_DEPENDENCIES) 
+	@rm -f HashFunctionTest$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(HashFunctionTest_OBJECTS) $(HashFunctionTest_LDADD) $(LIBS)
+
 JFMReaderTest$(EXEEXT): $(JFMReaderTest_OBJECTS) $(JFMReaderTest_DEPENDENCIES) $(EXTRA_JFMReaderTest_DEPENDENCIES) 
 	@rm -f JFMReaderTest$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(JFMReaderTest_OBJECTS) $(JFMReaderTest_LDADD) $(LIBS)
@@ -1467,6 +1495,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GFReaderTest-GFReaderTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GhostscriptTest-GhostscriptTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/GraphicsPathTest-GraphicsPathTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HashFunctionTest-HashFunctionTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/JFMReaderTest-JFMReaderTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/LengthTest-LengthTest.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MapLineTest-MapLineTest.Po at am__quote@
@@ -1905,6 +1934,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(GraphicsPathTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o GraphicsPathTest-GraphicsPathTest.obj `if test -f 'GraphicsPathTest.cpp'; then $(CYGPATH_W) 'GraphicsPathTest.cpp'; else $(CYGPATH_W) '$(srcdir)/GraphicsPathTest.cpp'; fi`
 
+HashFunctionTest-HashFunctionTest.o: HashFunctionTest.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(HashFunctionTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HashFunctionTest-HashFunctionTest.o -MD -MP -MF $(DEPDIR)/HashFunctionTest-HashFunctionTest.Tpo -c -o HashFunctionTest-HashFunctionTest.o `test -f 'HashFunctionTest.cpp' || echo '$(srcdir)/'`HashFunctionTest.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/HashFunctionTest-HashFunctionTest.Tpo $(DEPDIR)/HashFunctionTest-HashFunctionTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='HashFunctionTest.cpp' object='HashFunctionTest-HashFunctionTest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(HashFunctionTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HashFunctionTest-HashFunctionTest.o `test -f 'HashFunctionTest.cpp' || echo '$(srcdir)/'`HashFunctionTest.cpp
+
+HashFunctionTest-HashFunctionTest.obj: HashFunctionTest.cpp
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(HashFunctionTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HashFunctionTest-HashFunctionTest.obj -MD -MP -MF $(DEPDIR)/HashFunctionTest-HashFunctionTest.Tpo -c -o HashFunctionTest-HashFunctionTest.obj `if test -f 'HashFunctionTest.cpp'; then $(CYGPATH_W) 'HashFunctionTest.cpp'; else $(CYGPATH_W) '$(srcdir)/HashFunctionTest.cpp'; fi`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/HashFunctionTest-HashFunctionTest.Tpo $(DEPDIR)/HashFunctionTest-HashFunctionTest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='HashFunctionTest.cpp' object='HashFunctionTest-HashFunctionTest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(HashFunctionTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HashFunctionTest-HashFunctionTest.obj `if test -f 'HashFunctionTest.cpp'; then $(CYGPATH_W) 'HashFunctionTest.cpp'; else $(CYGPATH_W) '$(srcdir)/HashFunctionTest.cpp'; fi`
+
 JFMReaderTest-JFMReaderTest.o: JFMReaderTest.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(JFMReaderTest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT JFMReaderTest-JFMReaderTest.o -MD -MP -MF $(DEPDIR)/JFMReaderTest-JFMReaderTest.Tpo -c -o JFMReaderTest-JFMReaderTest.o `test -f 'JFMReaderTest.cpp' || echo '$(srcdir)/'`JFMReaderTest.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/JFMReaderTest-JFMReaderTest.Tpo $(DEPDIR)/JFMReaderTest-JFMReaderTest.Po
@@ -2827,6 +2870,13 @@
 	--log-file $$b.log --trs-file $$b.trs \
 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+HashFunctionTest.log: HashFunctionTest$(EXEEXT)
+	@p='HashFunctionTest$(EXEEXT)'; \
+	b='HashFunctionTest'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
 JFMReaderTest.log: JFMReaderTest$(EXEEXT)
 	@p='JFMReaderTest$(EXEEXT)'; \
 	b='JFMReaderTest'; \

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp	2018-09-13 17:10:25 UTC (rev 48654)
@@ -95,6 +95,38 @@
 }
 
 
+TEST_F(SVGOutputTest, hashes) {
+	SVGOutput::HashTriple hashes("dvihash", "opthash", "cmbhash");
+	{
+		SVGOutput out("SVGOutputTest.cpp", "%f-%hd-x");
+		EXPECT_EQ(out.filename(1, 10), "SVGOutputTest--x.svg");
+		EXPECT_EQ(out.filename(1, 10, hashes), "SVGOutputTest-dvihash-x.svg");
+	}{
+		SVGOutput out("SVGOutputTest.cpp", "%f-%hd-x-%hc%ho");
+		EXPECT_EQ(out.filename(1, 10), "SVGOutputTest--x-.svg");
+		EXPECT_EQ(out.filename(1, 10, hashes), "SVGOutputTest-dvihash-x-cmbhashopthash.svg");
+	}{
+		SVGOutput out("SVGOutputTest.cpp", "%f-%hd%p%ho");
+		EXPECT_EQ(out.filename(1, 10), "SVGOutputTest-01.svg");
+		EXPECT_EQ(out.filename(1, 10, hashes), "SVGOutputTest-dvihash01opthash.svg");
+	}
+}
+
+
+TEST_F(SVGOutputTest, hashes_fail) {
+	SVGOutput::HashTriple hashes("dvihash", "opthash", "cmbhash");
+	{
+		SVGOutput out("SVGOutputTest.cpp", "%f-%h-x");
+		EXPECT_THROW(out.filename(1, 10), MessageException);
+		EXPECT_THROW(out.filename(1, 10, hashes), MessageException);
+	}{
+		SVGOutput out("SVGOutputTest.cpp", "%f-%hd-x-%ha%ho");
+		EXPECT_THROW(out.filename(1, 10), MessageException);
+		EXPECT_THROW(out.filename(1, 10, hashes), MessageException);
+	}
+}
+
+
 TEST_F(SVGOutputTest, getPageStream) {
 	{
 		SVGOutput out("", "");

Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in	2018-09-13 17:10:25 UTC (rev 48654)
@@ -181,6 +181,8 @@
 LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBCRYPTO_CFLAGS = @LIBCRYPTO_CFLAGS@
+LIBCRYPTO_LIBS = @LIBCRYPTO_LIBS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@

Modified: trunk/Build/source/texk/dvisvgm/version.ac
===================================================================
--- trunk/Build/source/texk/dvisvgm/version.ac	2018-09-13 16:50:33 UTC (rev 48653)
+++ trunk/Build/source/texk/dvisvgm/version.ac	2018-09-13 17:10:25 UTC (rev 48654)
@@ -9,4 +9,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current dvisvgm version
-m4_define([dvisvgm_version], [2.5])
+m4_define([dvisvgm_version], [2.6])



More information about the tex-live-commits mailing list