From 854bfe4d7f98595f6566c169b98f237eb017f83f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 13 Sep 2018 17:10:25 +0000 Subject: dvisvgm 2.6 git-svn-id: svn://tug.org/texlive/trunk@48654 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/README | 2 +- Build/source/texk/dvisvgm/TLpatches/TL-Changes | 5 +- .../texk/dvisvgm/TLpatches/patch-08-makefiles | 124 +- Build/source/texk/dvisvgm/configure | 78 +- Build/source/texk/dvisvgm/configure.ac | 18 +- Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS | 3 + Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog | 8159 ++++++++++++++++++++ Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in | 4 +- Build/source/texk/dvisvgm/dvisvgm-src/NEWS | 23 + Build/source/texk/dvisvgm/dvisvgm-src/README | 19 +- Build/source/texk/dvisvgm/dvisvgm-src/config.h.in | 3 + Build/source/texk/dvisvgm/dvisvgm-src/configure.ac | 29 +- .../texk/dvisvgm/dvisvgm-src/doc/Makefile.in | 2 + .../source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 | 93 +- .../texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in | 74 +- .../texk/dvisvgm/dvisvgm-src/libs/Makefile.am | 2 +- .../texk/dvisvgm/dvisvgm-src/libs/Makefile.in | 4 +- .../dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp | 30 +- .../texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am | 13 + .../texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in | 643 ++ .../source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c | 291 + .../source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h | 51 + .../libs/variant/include/mpark/config.hpp | 3 +- .../dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp | 4 +- .../texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp | 2 + .../texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp | 43 +- .../texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp | 2 + .../texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp | 133 +- .../texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp | 22 +- .../texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp | 4 +- .../texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp | 84 + .../texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp | 47 + .../dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp | 58 + .../texk/dvisvgm/dvisvgm-src/src/Makefile.am | 17 + .../texk/dvisvgm/dvisvgm-src/src/Makefile.in | 184 +- .../texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp | 53 +- .../texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp | 28 +- .../dvisvgm/dvisvgm-src/src/XXHashFunction.hpp | 88 + .../texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp | 47 +- .../texk/dvisvgm/dvisvgm-src/src/options.xml | 4 + .../texk/dvisvgm/dvisvgm-src/src/version.hpp | 2 +- .../dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp | 6 +- .../dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp | 117 + .../texk/dvisvgm/dvisvgm-src/tests/Makefile.am | 132 +- .../texk/dvisvgm/dvisvgm-src/tests/Makefile.in | 346 +- .../dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp | 32 + .../dvisvgm/dvisvgm-src/tests/data/Makefile.in | 2 + Build/source/texk/dvisvgm/version.ac | 2 +- 48 files changed, 10670 insertions(+), 462 deletions(-) create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp create mode 100644 Build/source/texk/dvisvgm/dvisvgm-src/tests/HashFunctionTest.cpp (limited to 'Build') diff --git a/Build/source/texk/README b/Build/source/texk/README index 7f6d6d43499..364414f02ab 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -60,7 +60,7 @@ dvipos - maintained here, by us 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 diff --git a/Build/source/texk/dvisvgm/TLpatches/TL-Changes b/Build/source/texk/dvisvgm/TLpatches/TL-Changes index 7b49c4a494c..33b35572502 100644 --- a/Build/source/texk/dvisvgm/TLpatches/TL-Changes +++ b/Build/source/texk/dvisvgm/TLpatches/TL-Changes @@ -27,7 +27,10 @@ svn rm `!!` 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 @])], + [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 @@ diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am - $(ZLIB_LIBS) + ../libs/clipper/libclipper.a -@@ -43,3 +40,11 @@ +@@ -49,3 +46,11 @@ +dvisvgm_LDADD += \ + $(KPATHSEA_LIBS) \ @@ -29,7 +93,7 @@ diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am 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,21 +121,26 @@ diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am + -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 + -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 + -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 @@ diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am +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 @@ diff -u1r dvisvgm-2.5/src/Makefile.am dvisvgm-src/src/Makefile.am +@FREETYPE2_RULE@ +## Rebuild libz +@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; + }; diff --git a/Build/source/texk/dvisvgm/configure b/Build/source/texk/dvisvgm/configure index 4f129103da9..c19637de007 100755 --- a/Build/source/texk/dvisvgm/configure +++ b/Build/source/texk/dvisvgm/configure @@ -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 . # @@ -590,8 +590,8 @@ MAKEFLAGS= # 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@tug.org' PACKAGE_URL='' @@ -632,6 +632,7 @@ ac_includes_default="\ # include #endif" +ac_header_list= ac_func_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE @@ -643,6 +644,8 @@ DVISVGM_TREE 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 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures 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 @@ fi 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 @@ fi 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 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by 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 @@ $as_echo "$as_me: creating cache $cache_file" >&6;} >$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_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ 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 @@ fi # Define the identity of the package. PACKAGE='dvisvgm--tex-live-' - VERSION='2.5' + VERSION='2.6' cat >>confdefs.h <<_ACEOF @@ -20190,7 +20198,7 @@ Usage: $0 [OPTIONS] Report bugs to ." 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 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h 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 @@ fi 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 @@ $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h 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 @@ fi # 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,7 +22740,17 @@ else 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. @@ -22744,7 +22771,7 @@ DVISVGM_TREE=dvisvgm-src -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 @@ if test -z "${USE_BUNDLED_LIBS_TRUE}" && test -z "${USE_BUNDLED_LIBS_FALSE}"; th 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 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by 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 @@ _ACEOF 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 @@ do "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" ;; diff --git a/Build/source/texk/dvisvgm/configure.ac b/Build/source/texk/dvisvgm/configure.ac index 91bdab925f4..45edbf75614 100644 --- a/Build/source/texk/dvisvgm/configure.ac +++ b/Build/source/texk/dvisvgm/configure.ac @@ -15,7 +15,7 @@ dnl AC_PREREQ([2.65]) m4_include([version.ac])[] dnl define dvisvgm_version AC_INIT([dvisvgm (TeX Live)], dvisvgm_version, [tex-k@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 @@ KPSE_RESTORE_FLAGS # 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,13 +179,16 @@ fi # 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. @@ -210,6 +207,7 @@ AC_CONFIG_FILES([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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS b/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS index cf134e303f7..2d020140471 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS +++ b/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS @@ -19,6 +19,9 @@ Michael Park libs/variant/include/mpark/* https://github.com/mpark/variant +Alexander Peslyak + libs/md5/* + Peter Selinger libs/potrace/* http://potrace.sourceforge.net diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog b/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog new file mode 100644 index 00000000000..2218766fa85 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog @@ -0,0 +1,8159 @@ +2018-09-07 Martin Gieseking + + * 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 + + * 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 + + * src/DVIReader.cpp, src/DVIToSVG.cpp: + reset hash function before computing a page hash + +2018-09-03 Martin Gieseking + + * libs/clipper/clipper.cpp: + clipper: initialize TEdge by constructor instead of memset() + +2018-09-01 Martin Gieseking + + * configure.ac: + removed redundant check for potrace from configure + +2018-08-31 Martin Gieseking + + * 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 + + * .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 + + * 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 + + * src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/dvisvgm.cpp: + option --page-hashes accepts multiple modifiers now + +2018-08-24 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/DVIReader.cpp: + DVI postamble: relaxed plausibility check of the total page count + +2018-08-08 Martin Gieseking + + * configure.ac: + correctly evaluate config option --disable-bundled-libs (closes #91) + +2018-08-07 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * .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 + + * NEWS: + fixed date in NEWS + +2018-07-18 Martin Gieseking + + * 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 + + * src/HyperlinkManager.cpp: + reduced extent of hyperlinked areas to get a tight bbox + +2018-07-15 Martin Gieseking + + * 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 + + * NEWS: + updated NEWS + + * .gitattributes: + added linguist settings to + .gitattributes + +https://github.com/github/linguist + +2018-07-06 Martin Gieseking + + * 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 + + * doc/dvisvgm.txt.in: + manpage: updated external links + +2018-06-23 Martin Gieseking + + * 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 + + * src/SourceInput.cpp, src/SourceInput.hpp: + moved handling of temporary files to separate class + +2018-05-30 Martin Gieseking + + * src/DVIToSVGActions.cpp, src/ImageToSVG.cpp: + fixed evaluation of progress delay + +2018-05-09 Martin Gieseking + + * doc/dvisvgm.txt.in: + minor fixes in manpage + +2018-05-04 Martin Gieseking + + * 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 + + * NEWS, README, README.md: + updated NEWS and README + +2018-05-02 Martin Gieseking + + * src/Calculator.cpp: + catch exception by reference rather than by value + +2018-04-30 Martin Gieseking + + * 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 + + * src/BoundingBox.cpp: + swap wrongly assigned variables (doesn't affect behavior) + +2018-04-26 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * m4/ax_cxx_compile_stdcxx.m4: + updated ax_cxx_compile_stdcxx.m4 to version 8 + +2018-04-13 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/dvisvgm.cpp: + simplified main() function + +2018-03-27 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * .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 + + * tests/data/Makefile.am: + add required test file cmr10.pfb to source tarballs (closes #87) + +2018-03-07 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * 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 + + * src/RangeMap.cpp, src/RangeMap.hpp: + added iterator and some getters to RangeMap + +2018-01-12 Martin Gieseking + + * .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 + + * doc/dvisvgm.txt.in: + manpage: reworded info about option --bbox=preview (closes #83) + +2018-01-09 Martin Gieseking + + * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: + set version to 2.3.1 + +2018-01-03 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: + updated xxHash to version 0.6.4 + +2017-12-21 Martin Gieseking + + * 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 + + * 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 + + * src/psdefs.cpp: + psdefs: replaced '6 array' with 'matrix' + +2017-12-17 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Makefile.am: + removed redundant lcov statement from Makefile + +2017-11-20 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * README, README.md, doc/dvisvgm.txt.in: + minor additions/fixes of manpage and README + +2017-11-02 Martin Gieseking + + * 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 + + * src/InputReader.cpp, src/InputReader.hpp, src/PSInterpreter.cpp: + simplified code to lookup PS operators + +2017-10-30 Martin Gieseking + + * 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 + + * 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 + + * libs/ff-woff/fontforge/macbinary.c: + updated link to CTAN:/tools/macutils/crc + +2017-10-20 Martin Gieseking + + * libs/woff2/include/woff2/version.h: + replaced CRLF line endings + +2017-10-17 Martin Gieseking + + * 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 + + * 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 + + * src/PDFParser.cpp, src/PDFParser.hpp: + replaced shared_ptr with unique_ptr in PDFParser + +2017-10-13 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * tests/FileSystemTest.cpp: + close streams before removing corresponding files + +2017-09-09 Martin Gieseking + + * src/dvisvgm.cpp: + fixed number of dashes printed by option -V1 + +2017-09-08 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * m4/ax_code_coverage.m4: + updated ax_code_coverage.m4 to version 25 + +2017-08-06 Martin Gieseking + + * .appveyor.yml: + AppVeyor: updated potrace to version 1.15 + +2017-08-01 Martin Gieseking + + * 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 + + * .appveyor.yml: + AppVeyor: changed build image to VS 2017; updated FreeType to 2.8 + +2017-06-20 Martin Gieseking + + * src/PsSpecialHandler.cpp: + psfile: fixed sign of y coordinates + +2017-06-12 Martin Gieseking + + * src/PsSpecialHandler.hpp: + use bp units for line width and miter limit + +2017-06-09 Martin Gieseking + + * src/EPSToSVG.cpp: + remove redundant clipPath elements also when converting EPS files + +2017-05-30 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/Process.cpp: + close pipe if fork() fails + +2017-05-08 Martin Gieseking + + * 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 + + * src/Process.cpp: + quit Process::run() if child process terminated unexpectedly (fixes #68) + +2017-04-27 Martin Gieseking + + * tests/Makefile.am, tests/create-makefile: + added the FontWriter dependencies to the tests + +2017-04-24 Martin Gieseking + + * 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 + + * 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 + + * src/Ghostscript.cpp: + simplify code for looking up libgs (closes #66) + +2017-04-14 Martin Gieseking + + * 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 + + * src/Ghostscript.cpp: + Auto-detect ghostscript dynamic library on macOS + +2017-03-22 Martin Gieseking + + * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4: + updated m4 scripts + +2017-03-03 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * 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 + + * 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 + + * .appveyor.yml, .travis.yml, appveyor.yml: + exclude branch 'tmp' from CI builds + +2017-02-11 Martin Gieseking + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp: + set version to 2.1.1 + +2017-02-04 Martin Gieseking + + * tests/FontCacheTest.cpp: + fixed FontCacheTest ('make distcheck' failed) + +2017-02-03 Martin Gieseking + + * 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 + + * 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 + + * README, README.md: + README: updated links, added release badge + +2017-01-30 Martin Gieseking + + * tests/FontManagerTest.cpp, tests/data/cmr10.pfb: + prevent FontManagerTest to fail due to missing font files + +2017-01-26 Martin Gieseking + + * src/Matrix.cpp, tests/MatrixTest.cpp: + minor changes of matrix class; improved MatrixTest + +2017-01-25 Martin Gieseking + + * 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 + + * README.md, appveyor.yml: + added basic appveyor.yml + +2017-01-20 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/PsSpecialHandler.cpp, src/dvisvgm.cpp: + added missing newlines in messages; fixed typo + +2017-01-05 Martin Gieseking + + * src/AGLTable.hpp: + updated AGL table and removed colliding codepoints (closes #64) + +2017-01-03 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * doc/db2html.xsl, doc/dvisvgm.xpr: + manpage: preserve whitespace in list of supported specials + +2016-11-16 Martin Gieseking + + * configure.ac: + ensure compiling C files with --std=c99 + +2016-11-14 Martin Gieseking + + * NEWS: + updated NEWS + +2016-11-12 Martin Gieseking + + * 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 + + * 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 + + * src/FontWriter.cpp: + few cosmetic changes; added comments + +2016-09-27 Martin Gieseking + + * .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 + + * 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 + + * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp: + fixed regression in character positioning of of virtual fonts + +2016-09-18 Martin Gieseking + + * 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 + + * src/Font.cpp: + fixed sign of character depth computed for native fonts + +2016-09-03 Martin Gieseking + + * .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 + + * 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 + + * src/DVIToSVGActions.hpp, src/FontManager.hpp, src/MetafontWrapper.hpp: + adapted struct/class forward declarations + +2016-08-28 Martin Gieseking + + * 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 + + * .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 + + * 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 + + * src/XMLNode.hpp: + added move constructors to XMLNode classes + +2016-08-23 Martin Gieseking + + * 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 + + * xxHash/xxhash.c, xxHash/xxhash.h: + updated xxHash to version 0.6.2 + +2016-08-17 Martin Gieseking + + * 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 + + * src/Ghostscript.hpp: + removed copy constructor of class Ghostscript + + * src/PathClipper.cpp: + added missing initializers + +2016-08-13 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/PathClipper.cpp: + some minor refactorings of class PathClipper + + * src/CMapReader.cpp: + minor refactoring of class CMapReader + +2016-07-22 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/FileFinder.cpp, src/Message.cpp: + initialize maps with initializer-lists + +2016-07-05 Martin Gieseking + + * src/Length.cpp, src/TpicSpecialHandler.cpp: + replaced 'id macros' with constexpr functions + +2016-07-04 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: + minor improvements to TFM/JFM tests + +2016-06-16 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/DVIToSVG.cpp: + fixed transformation of background color rectange + +2016-05-31 Martin Gieseking + + * src/DVIToSVG.cpp, src/EPSToSVG.cpp: + reworded messages printed after finishing a conversion + +2016-05-30 Martin Gieseking + + * 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 + + * src/BasicDVIReader.cpp, src/DVIReader.cpp: + fixed handling of subfont index in native font definition of XDV 7 + +2016-05-27 Martin Gieseking + + * src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLNode.h, + tests/DvisvgmSpecialTest.cpp: + prevent line wrapping inside text nodes + +2016-05-26 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/Process.cpp: + fixed collecting stdout/stderr output when executing a process + +2016-04-20 Martin Gieseking + + * 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 + + * .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 + + * 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 + + * 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 + + * 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 + + * src/GraphicsPath.h: + renamed GraphicsPath::sconito/scubicto + +2016-03-14 Martin Gieseking + + * 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 + + * NEWS: + updated NEWS + +2016-02-26 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/PsSpecialHandler.cpp: + don't remove clipping paths that consist of single moveto commands only + +2016-02-01 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/BgColorSpecialHandler.cpp, src/ColorSpecialHandler.cpp, + src/ColorSpecialHandler.h, tests/ColorSpecialTest.cpp: + removed check for 'background' special from ColorSpecialHandler + +2016-01-13 Martin Gieseking + + * 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 + + * src/GFReader.cpp, src/GFReader.h: + added checks for misplaced GF commands + + * NEWS: + updated NEWS + +2016-01-04 Martin Gieseking + + * .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 + + * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: + reset PS graphics state at end of every DVI page + +2015-12-28 Martin Gieseking + + * .travis.yml, configure.ac, src/Doxyfile: + set version to 1.14 + + * NEWS: + updated NEWS + +2015-12-27 Martin Gieseking + + * src/PsSpecialHandler.cpp: + added evaluation of PSTricks specials 'pst:' and 'PST:' + +2015-12-26 Martin Gieseking + + * 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 + +2015-12-17 Martin Gieseking + + * 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 + + * 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 + + * .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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * .travis.yml, configure.ac, src/Doxyfile: + set version to 1.12 + + * NEWS: + updated NEWS + +2015-11-16 Martin Gieseking + + * 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 + + * README, README.md: + updated links to Google Test framework + +2015-11-09 Martin Gieseking + + * 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 + + * src/Process.cpp, src/Process.h: + fixed invalid access to freed string memory + +2015-10-06 Martin Gieseking + + * doc/dvisvgm.txt.in: + minor improvements of the manual page + +2015-09-21 Martin Gieseking + + * NEWS, README, README.md: + updated NEWS and README files + +2015-09-18 Martin Gieseking + + * .travis.yml, configure.ac, src/Doxyfile: + set version to 1.11 + +2015-09-14 Martin Gieseking + + * 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 + + * 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 + + * src/SVGTree.cpp: + force creating a new text element after appending a different node to + the page + +2015-08-13 Martin Gieseking + + * README, README.md: + minor updates to README and README.md + +2015-07-29 Martin Gieseking + + * 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 + + * README, README.md, doc/dvisvgm.txt.in: + updated links to project website again (relocated to + dvisvgm.bplaced.net) + +2015-07-20 Martin Gieseking + + * README, README.md, doc/dvisvgm.txt.in: + updated info about new project website + +2015-07-14 Martin Gieseking + + * .travis.yml, configure.ac, src/Doxyfile: + set version to 1.10 + + * NEWS: + updated NEWS + +2015-07-12 Martin Gieseking + + * 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 + + * README, README.md: + updated README + +2015-07-03 Martin Gieseking + + * 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 + + * 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 + + * .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 + + * tests/SVGOutputTest.cpp: + remove output files created by SVGOutputTest::getPageStream() + +2015-04-02 Martin Gieseking + + * README.md: + minor additions to README.md + +2015-03-26 Martin Gieseking + + * 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 + + * 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 + + * tests/StreamWriterTest.cpp: + fixed StreamWriterTest + + * tests/SVGOutputTest.cpp: + improved SVGOutputTest + +2015-03-19 Martin Gieseking + + * tests/Makefile.am, tests/ShadingPatch.cpp: + added ShadingPatchTest + +2015-03-18 Martin Gieseking + + * 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 + + * m4/ax_code_coverage.m4: + added missing file ax_code_coverage.m4 + + * autogen.sh: + updated autogen.sh + +2015-03-15 Martin Gieseking + + * 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 + + * tests/XMLStringTest.cpp: + fixed test class name of XMLString + +2015-03-09 Martin Gieseking + + * tests/CRC32Test.cpp: + added test for 'compute' methods of class CRC32 + + * tests/GraphicPathTest.cpp: + extended tests of class GraphicPath + +2015-03-08 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * .travis.yml: + Travis conf: added configuration data for Coverity Scan + + * README.md: + added license badge to README.md + +2015-02-28 Martin Gieseking + + * NEWS, README.md: + updated NEWS and README.md + +2015-02-27 Martin Gieseking + + * src/Calculator.cpp: + replaced while(1) with for(;;) for consistency + +2015-02-26 Martin Gieseking + + * configure.ac, src/Doxyfile: + set version to 1.9.1 + +2015-02-25 Martin Gieseking + + * src/Ghostscript.cpp: + disable lookup of GS library in Windows registry for old gcc versions + +2015-02-20 Martin Gieseking + + * 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 + + * .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 + + * src/TpicSpecialHandler.cpp: + use constant M_PI rather than computing PI locally + +2015-02-17 Martin Gieseking + + * README, README.md: + updated README and README.md + +2015-01-26 Martin Gieseking + + * src/ShadingPatch.h: + removed redundant methods from class ShadingPatch + +2015-01-21 Martin Gieseking + + * src/TensorProductPatch.cpp, src/TriangularPatch.cpp: + renamed static helper function clip() to snap() + +2015-01-15 Martin Gieseking + + * src/Color.cpp: + resolved ambiguous call of pow (patch by Peter Breitenlohner) + +2015-01-12 Martin Gieseking + + * src/VectorIterator.h: + removed redundant method VectorIterator::distanceToLast() + +2014-12-30 Martin Gieseking + + * 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 + + * 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 + + * src/DVIReader.cpp: + check validity of DVI file before trying to collect the BOPs + +2014-12-18 Martin Gieseking + + * 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 + + * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: + added processing of the optional 'BBox' entry in a PS shading dictionary + +2014-12-03 Martin Gieseking + + * 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 + + * 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 + + * README.md: + added list of features and a download button to README.md + +2014-11-09 Martin Gieseking + + * clipper/clipper.cpp, clipper/clipper.hpp: + updated clipper library to version 6.2.1 + +2014-11-08 Martin Gieseking + + * 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 + + * src/Matrix.cpp: + use constant M_PI rather than defining PI locally + +2014-10-23 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * doc/dvisvgm.txt.in, src/options.xml: + added info about option --no-merge to the manpage + +2014-09-24 Khaled Hosny + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/PSPattern.cpp, src/XMLNode.cpp, src/XMLNode.h: + renamed XMLElementNode::findDescendants() and made it constant + +2014-08-11 Martin Gieseking + + * tests/Makefile.am, tests/create-makefile: + link tests against FreeType library + + * README.md: + minor fixed to README.md + +2014-08-10 Khaled Hosny + + * 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 + + * 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 + + * src/PsSpecialHandler.cpp, src/psdefs.cpp: + prevent side-effects caused by bop/eop operators present in PS specials + +2014-07-29 Martin Gieseking + + * NEWS: + updated NEWS + +2014-07-28 Martin Gieseking + + * 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 + + * src/Font.cpp, src/GFGlyphTracer.cpp, src/GraphicPath.h, + src/PsSpecialHandler.cpp: + renamed GraphicPath::newpath() to GraphicPath::clear() + +2014-07-24 Martin Gieseking + + * src/InputReader.cpp, src/PSInterpreter.cpp: + ensure that InputReader::compare() checks whole and not just partial + words + +2014-07-22 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/Ghostscript.cpp: + get proper name of Ghostscript library when building for Cygwin + +2014-06-23 Martin Gieseking + + * README.md: + added markdown version of README + +2014-06-20 Martin Gieseking + + * src/psdefs.cpp: + suppress output of PS operator ':show' to prevent the creation of + additional graphic elements + +2014-06-17 Martin Gieseking + + * 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 + + * src/XMLNode.cpp, src/XMLNode.h: + added clear() to XMLNode classes; added XMLTextNode::getText() + +2014-06-11 Martin Gieseking + + * 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 + + * src/SpecialActions.h, tests/ColorSpecialTest.cpp: + renamed class SpecialEmptyActions to EmptySpecialActions + +2014-06-09 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/SVGTree.cpp: + don't add unnecessary element 'missing-glyph' to SVG files + +2014-04-24 Martin Gieseking + + * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml: + renamed argument of option --linkmark from 'type' to 'style' + +2014-04-23 Martin Gieseking + + * src/System.h: + removed redundant semicolon + +2014-04-22 Martin Gieseking + + * configure.ac, src/Doxyfile: + set version to 1.6 + + * NEWS: + updated NEWS + +2014-04-21 Martin Gieseking + + * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/EPSToSVG.cpp: + removed date and machine triplet from generated SVG files + +2014-04-18 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/DVIReader.cpp, src/DVIReader.h: + ensure updating the SVG cursor position when executing DVI command + set_rule + +2014-01-13 Martin Gieseking + + * src/Ghostscript.cpp: + check if library given by --libgs is actually a GS library + +2014-01-10 Martin Gieseking + + * NEWS: + updated NEWS + +2014-01-03 Martin Gieseking + + * 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 + + * 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 + + * src/MiKTeXCom.cpp: + prevent releasing MiKTeX object if its initialization failed + +2013-12-29 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/DVIReader.cpp, src/SVGTree.cpp, src/SVGTree.h: + don't let global font colors interfere with color specials + +2013-10-29 Martin Gieseking + + * NEWS: + updated NEWS + +2013-10-28 Martin Gieseking + + * src/Bitmap.cpp, src/Color.cpp, src/JFM.cpp, src/Matrix.cpp: + added missing #includes of header file + + * 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 + + * src/DVIToSVG.cpp: + suppress output of logical page number if it equals physical page number + +2013-10-16 Martin Gieseking + + * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: + ensure proper evaluation of tightpage data if multiple pages are + processed + +2013-10-12 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/SVGTree.cpp: + appended px unit to font-size attributes in style section + +2013-08-22 Martin Gieseking + + * src/XMLString.cpp: + replace very small floating point numbers by 0 + +2013-08-20 Martin Gieseking + + * src/FileFinder.cpp: + suppress error messages from makeFOO tools + +2013-08-13 Martin Gieseking + + * 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 + + * 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 + + * src/Matrix.cpp, src/Matrix.h: + renamed Matrix skewing methods + +2013-08-04 Martin Gieseking + + * 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 + + * src/CMapManager.cpp, src/CMapManager.h, src/FontManager.cpp: + avoid const_cast in CMapManager + +2013-08-02 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/psdefs.cpp: + replaced PS operator prval with =only in psdefs + +2013-07-17 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/FileFinder.cpp: + removed redundant 'using namespace std' + +2013-06-03 Martin Gieseking + + * 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 + + * 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 + + * src/dvisvgm.cpp: + added a missing (underlining) hyphen to the output of -V1 + +2013-05-17 Martin Gieseking + + * src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h: + added missing NoPsSpecialhandler files + +2013-05-13 Martin Gieseking + + * 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 + + * 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 + + * src/DVIToSVGActions.cpp, src/Terminal.cpp, src/Terminal.h: + disable cursor when showing the progress indicator (Windows only) + +2013-04-26 Martin Gieseking + + * src/DVIToSVG.cpp: + don't link NoPsSpecialHandler if HAVE_LIBGS + +2013-04-25 Martin Gieseking + + * src/FontEncoding.cpp: + fixed bracketing bug that prevented lookup of fontmap files + +2013-04-24 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/FileFinder.cpp, src/dvisvgm.cpp: + catch MessageException if MiKTeX version can't be obtained + +2013-04-09 Martin Gieseking + + * 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 + + * 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 + + * src/XMLNode.cpp, src/XMLNode.h: + unhide derived method XMLDeclarationNode::append + +2013-03-10 Martin Gieseking + + * Makefile.am, configure.ac: + don't build bundled potracelib if system library is used (patch by + Alexis Ballier) + +2013-03-03 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/CommandLine.cpp: + fixed alignment of --help text + +2013-01-22 Martin Gieseking + + * 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 + + * 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 + + * src/FontEngine.cpp, src/FontEngine.h: + removed unneeded code related to font sizes from class FontEngine + +2013-01-16 Martin Gieseking + + * 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 + + * 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 + + * src/FileFinder.cpp, src/FileFinder.h, src/FontEncoding.cpp, + src/FontEncoding.h: + removed font encoding methods from FileFinder + +2013-01-02 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/Ghostscript.cpp: + added explicit cast to avoid signed/unsigned comparison warning + +2012-12-02 Martin Gieseking + + * 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 + + * src/Message.cpp: + don't wrap message lines explicitly on Windows +* * * + +2012-11-23 Martin Gieseking + + * 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 + + * src/Message.cpp: + handle wrapping of messages containing newlines correctly + +2012-11-21 Martin Gieseking + + * src/DLLoader.cpp, src/DLLoader.h, src/Ghostscript.cpp: + renamed DLLoader::loadFunction() to DLLoader::loadSymbol() + +2012-11-19 Martin Gieseking + + * 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 + + * src/Directory.h: + undefine macro max() to avoid compilation problems on Windows + +2012-11-15 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/psdefs.psc: + ignore dvips bop operators that might be present in PS specials + +2012-09-17 Martin Gieseking + + * src/StreamReader.cpp: + fixed reading invalid number of string characters + +2012-04-17 Martin Gieseking + + * doc/Makefile.am: + keep manpage when calling 'make clean' + +2012-04-04 Martin Gieseking + + * 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 + + * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: + added Matrix::invert() and det() + +2012-03-29 Martin Gieseking + + * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: + added start index parameter to Matrix::set(vector<>) + +2012-03-21 Martin Gieseking + + * src/psdefs.psc: + evaluate PS operators rectclip, rectfill, and rectstroke + +2012-03-09 Martin Gieseking + + * 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 + + * configure.ac, src/Doxyfile: + set version to 1.0.11 + +2012-03-07 Martin Gieseking + + * src/DVIToSVGActions.cpp: + correct location of a rule's bounding box (lp bug #948713) + +2012-02-24 Martin Gieseking + + * doc/dvisvgm.txt.in: + fixed a couple of mistakes and formatting flaws in the manpage + +2012-02-17 Martin Gieseking + + * README: + updated information about bug reporting + +2012-01-26 Martin Gieseking + + * 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 + + * src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h: + removed outdated files for old MiKTeX bindings + +2012-01-09 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/GraphicPath.h: + added some more comments to the methods of GraphicPath + +2011-11-18 Martin Gieseking + + * configure.ac: + move linker flag -lfreetype from LDFLAGS to LIBS to avoid linking + problems + +2011-10-28 Martin Gieseking + + * 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 + + * configure.ac, src/Doxyfile: + set version to 1.0.9 + + * NEWS: + updated NEWS + +2011-10-09 Martin Gieseking + + * src/FilePath.cpp: + added some missing comments to methods of class FilePath + + * src/Directory.h: + dropped method Directory::getEntry() + +2011-10-07 Martin Gieseking + + * src/Process.cpp: + added missing include 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 + + * doc/Makefile.am: + add metadata/pdfmarks to pdf version of manpage + +2011-09-06 Martin Gieseking + + * 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 + + * 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 + + * configure.ac: + added AC_LANG_SOURCE to avoid autoconf warnings + +2011-05-31 Martin Gieseking + + * 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 + + * tests/check-conv, tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: + updated conversion tests + +2011-05-23 Martin Gieseking + + * 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 + + * 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 + + * src/DLLoader.h: + added #undef NOMINMAX before (re)defining it + +2011-05-12 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/SpecialManager.cpp: + register special prefix ps:: properly + +2011-04-18 Martin Gieseking + + * 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 + + * 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 + + * src/XMLNode.cpp, src/XMLNode.h: + prepended member variables of the XMLNode classes with underscore + +2011-03-15 Martin Gieseking + + * src/DVIReader.cpp: + throw DVI exception if set_char/put_char is executed without preceding + font selection + +2011-03-04 Martin Gieseking + + * 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 + + * NEWS, configure.ac, src/Doxyfile: + set version to 1.0.5, updated NEWS + +2011-02-28 Martin Gieseking + + * 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 + + * 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 + + * src/InputBuffer.h: + reference to scanned string in StringInputBuffer is constant now + +2011-02-10 Martin Gieseking + + * 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 + + * src/CmdLineParserBase.cpp: + print character instead of ascii value in message of command-line parser + +2011-01-30 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/FontEngine.cpp: + fixed FreeType version check (patch by Paul Vojta) + +2010-08-11 Martin Gieseking + + * tests/Makefile.am, tests/PairTest.cpp: + added PairTest + +2010-08-06 Martin Gieseking + + * configure.ac, src/Doxyfile: + set version to 1.0.3 + +2010-08-05 Martin Gieseking + + * NEWS, doc/dvisvgm.txt.in: + updated manpage and NEWS + +2010-08-04 Martin Gieseking + + * 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 + + * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp: + added check of DVI format version + +2010-07-26 Martin Gieseking + + * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: + restore transformation matrix after execution of psfile + +2010-07-13 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * configure.ac: + fixed whitespace issue in CPPFLAGS and LDFLAGS + +2010-05-04 Martin Gieseking + + * 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 + + * NEWS, configure.ac, src/Doxyfile: + set version to 0.9.1 + +2010-04-22 Martin Gieseking + + * 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 + + * src/FontEncoding.cpp: + fixed memory bug in FontEncoding::encoding() + +2010-04-11 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * NEWS, configure.ac, src/Doxyfile: + version updated to 0.8.8 + +2010-02-01 Martin Gieseking + + * tests/check-conv: + skip conversion checks by default + +2010-01-31 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/CommandLine.cpp, src/options.dtd, src/options.xml: + added DTD for options.xml + +2010-01-17 Martin Gieseking + + * 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 + + * src/InputReader.cpp: + fixed bug in InputReader::parseUInt() + +2009-12-15 Martin Gieseking + + * configure.ac, src/dvisvgm.cpp: + appied get_time patch sent by Peter Breitenlohner + +2009-12-02 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/DVIToSVGActions.cpp, src/Font.cpp, src/Font.h: + fixed positioning of italic characters + +2009-10-25 Martin Gieseking + + * src/DvisvgmSpecialHandler.cpp: + added macro {?nl} to dvisvgm:raw evaluator + +2009-10-18 Martin Gieseking + + * src/Font.cpp, src/TFM.cpp, src/TFM.h: + added italic correction values to character widths + +2009-10-16 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/PsSpecialHandler.cpp: + scale clipping paths by 72.27/72 + +2009-10-09 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/GraphicPath.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: + corrected positioning bug introduced with previous PS positioning fix + +2009-10-02 Martin Gieseking + + * 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 + + * doc/Makefile.am, doc/dvisvgm.txt.in: + replaced backticks in manpage by apostrophes; updated date on homepage + +2009-09-30 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * NEWS, README: + updated NEWS and README + +2009-09-04 Martin Gieseking + + * 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 + + * src/PsSpecialHandler.cpp, src/psdefs.psc: + fixed flattened clipping path bug (issue #11) + +2009-08-31 Martin Gieseking + + * src/Makefile.am: + added error checks; disallow numeric optional arguments w/o default + value + +2009-08-28 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * src/CommandLine.cpp, src/CommandLine.h: + speed up printing help by using puts() instead of C++ streams + +2009-08-21 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * LICENSE, Makefile.am, src/Ghostscript.cpp: + modified package to be compatible with prerequisites of Fedora + +2009-07-30 Martin Gieseking + + * 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 + + * src/psdefs.psc: + added vim tag to psdefs.psc + +2009-07-28 Martin Gieseking + + * 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 + + * 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 + + * src/PSInterpreter.cpp: + some clean-ups + +2009-07-22 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/FontGlyph.cpp: + fixed bug in computation of shorthand path command + +2009-04-06 Martin Gieseking + + * 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 + + * 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 + + * src/MetafontWrapper.cpp, src/MetafontWrapper.h: + ported fix in MetafontWrapper back to default branch + +2009-03-25 Martin Gieseking + + * 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 + + * 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 + + * src/FontCache.cpp: + cache files are being compressed now to reduce the file size + +2009-03-19 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/DVIReader.cpp: + made DVICommand local to executeCommand, removed unnecessary if + statement + +2009-02-14 Martin Gieseking + + * 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 + + * 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@xps + + * src/inttypes.h: + added rudimentary files for writing of SWF files; not ready yet + +2009-02-10 Martin Gieseking + + * src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, + src/Makefile.am: + replaced RGB arrays by Color class + +2009-02-09 Martin Gieseking + + * src/TransformationMatrix.cpp: + made y-coordinate of cmdline-option -t optional + +2009-02-06 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/FileFinder.cpp: + adapted Windows version to new release + +2009-01-28 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * doc/Makefile.am, doc/dvisvgm.1.in: + manpage updates + +2009-01-22 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * src/TransformationMatrix.cpp: + fixed bug in argument assignment of transformation command M + +2009-01-15 Martin Gieseking + + * src/TransformationMatrix.cpp: + removed a dangerous loop remained from previous code + +2009-01-14 Martin Gieseking + + * 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 + + * src/CharmapTranslator.cpp: + fixed crash on loading corrupt pfb-files + +2008-06-18 Martin Gieseking + + * src/Makefile.am: + adapted to latest gengetopt version + +2008-04-07 Martin Gieseking + + * src/Makefile.am: + added missing include path + + * src/DVIReader.cpp: + minor change + +2007-03-26 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/Font.cpp, src/Font.h: + added Font classes (not yet error-free) + +2007-03-06 Martin Gieseking + + * src/DVIReader.h, src/DVIToSVG.cpp, src/FontManager.cpp, + src/FontManager.h: + added FontManager skeleton, fixed bug in makehead + +2007-03-03 Martin Gieseking + + * src/DVIReader.cpp, src/FontManager.cpp, src/VFReader.cpp: + added some more skeleton code + +2007-03-02 Martin Gieseking + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in index 46451773dfe..0517bdb5846 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in @@ -165,8 +165,8 @@ am__define_uniq_tagged_files = \ 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`; \ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS index dc9a456e988..adbb49c2b3f 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS +++ b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS @@ -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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/README b/Build/source/texk/dvisvgm/dvisvgm-src/README index 008ffb4a2dd..2fc27223b4f 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/README +++ b/Build/source/texk/dvisvgm/dvisvgm-src/README @@ -41,6 +41,13 @@ DEPENDENCIES 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 @@ BUILDING DVISVGM FROM SOURCE 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") diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in b/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in index d7784f5f874..ce3b33a08de 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in @@ -61,6 +61,9 @@ /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H +/* Define to 1 if you have the header file. */ +#undef HAVE_OPENSSL_MD5_H + /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac b/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac index 8837994a92d..be86119b2c0 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac +++ b/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac @@ -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@uos.de]) -DATE="August 2018" +AC_INIT([dvisvgm],[2.6],[martin.gieseking@uos.de]) +DATE="September 2018" AC_CONFIG_SRCDIR(src) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -71,12 +71,6 @@ AS_IF([test -z "$kpseversion"], 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 @@ AC_ARG_WITH([ttfautohint], [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 @@ AS_IF([test "x$enable_woff" != "xyes"], [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 @@ AC_CONFIG_FILES([ libs/brotli/Makefile libs/clipper/Makefile libs/ff-woff/Makefile + libs/md5/Makefile libs/potrace/Makefile libs/variant/Makefile libs/woff2/Makefile diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in index b71348b5ae1..07f81f54e86 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in @@ -212,6 +212,8 @@ KPSE_LIBS = @KPSE_LIBS@ LCOV = @LCOV@ LD = @LD@ LDFLAGS = @LDFLAGS@ +LIBCRYPTO_CFLAGS = @LIBCRYPTO_CFLAGS@ +LIBCRYPTO_LIBS = @LIBCRYPTO_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 index 43492e225b9..1a08b33e8fb 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 +++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 @@ -2,12 +2,12 @@ .\" Title: dvisvgm .\" Author: Martin Gieseking .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" 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 @@ Sets the pattern specifying the names of the generated SVG files\&. Parameter \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 @@ gets the same number of digits as \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 @@ contain the current page number and the total number of pages, respectively\&. F \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 up to page 10, 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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in index d86a7e724af..2ce8b330310 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in @@ -334,7 +334,7 @@ to *-TS*'sx','sy'. 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,22 +343,24 @@ However, if you prefer direct font references, the default behavior can be disab 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*. -+ -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. +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. ++ +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' @@ -382,6 +384,44 @@ Please consider that the page values don't refer to the page numbers printed on 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. diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am index c81944de2b8..2ee2fc789b5 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am @@ -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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in index 31d1c8bb122..7edf31043c3 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in @@ -165,7 +165,7 @@ am__define_uniq_tagged_files = \ 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 @@ target_alias = @target_alias@ 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: diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp index 89b7e8e683d..1a212478e0e 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/clipper.cpp @@ -68,20 +68,20 @@ struct TEdge { 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 @@ void DisposeOutPts(OutPt*& pp) 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; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am new file mode 100644 index 00000000000..bb96948073a --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.am @@ -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 + +@CODE_COVERAGE_RULES@ +endif + +CLEANFILES = *.gcda *.gcno + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in new file mode 100644 index 00000000000..ad02a1a69c4 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/Makefile.in @@ -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. + +@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_@AM_V@) +am__v_AR_ = $(am__v_AR_@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 +@USE_BUNDLED_MD5_TRUE@am_libmd5_a_OBJECTS = md5.$(OBJEXT) +libmd5_a_OBJECTS = $(am_libmd5_a_OBJECTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@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_@AM_V@) +am__v_lt_ = $(am__v_lt_@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_@AM_V@) +am__v_CC_ = $(am__v_CC_@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_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@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@ +@USE_BUNDLED_MD5_TRUE@noinst_LIBRARIES = libmd5.a +@USE_BUNDLED_MD5_TRUE@libmd5_a_SOURCES = md5.c md5.h +@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 + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@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 + + +@USE_BUNDLED_MD5_TRUE@md5.c: md5.h + +@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: diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c new file mode 100644 index 00000000000..b235e17a568 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.c @@ -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 + * + * 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 + +#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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h new file mode 100644 index 00000000000..4e72a4abfbd --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/md5/md5.h @@ -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 + * + * 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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp index 0d6f4adc3b4..0d7417939b0 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/include/mpark/config.hpp @@ -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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp index 82b9ee0dade..77130b218f9 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp @@ -46,8 +46,8 @@ class BasicDVIReader : public StreamReader { 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); diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp index 1ae9f188d30..f98985ee0d6 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp @@ -54,6 +54,7 @@ class CommandLine : public CL::CommandLine { Option noStylesOpt {"no-styles", '\0', "don't use CSS styles to reference fonts"}; TypedOption outputOpt {"output", 'o', "pattern", "set name pattern of output files"}; TypedOption pageOpt {"page", 'p', "ranges", "1", "choose page(s) to convert"}; + TypedOption pageHashesOpt {"page-hashes", 'H', "params", "xxh64", "activate usage of page hashes"}; Option pdfOpt {"pdf", 'P', "convert PDF file to SVG"}; TypedOption precisionOpt {"precision", 'd', "number", 0, "set number of decimal points (0-6)"}; TypedOption progressOpt {"progress", '\0', "delay", 0.5, "enable progress indicator"}; @@ -136,6 +137,7 @@ class CommandLine : public CL::CommandLine { {&magOpt, 3}, {&noMktexmfOpt, 3}, {&noSpecialsOpt, 3}, + {&pageHashesOpt, 3}, {&traceAllOpt, 3}, {&colorOpt, 4}, {&helpOpt, 4}, diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp index d3aab868cc2..950d8ec024f 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.cpp @@ -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 @@ void DVIReader::executeAll () { /** 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 @@ void DVIReader::collectBopOffsets () { _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(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 @@ void DVIReader::cmdPost (int) { 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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp index a17b98a5f2d..48ac1759776 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIReader.hpp @@ -31,6 +31,7 @@ class Font; class FontStyle; +class HashFunction; class NativeFont; class VirtualFont; @@ -67,6 +68,7 @@ class DVIReader : public BasicDVIReader, public VFActions { 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); diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp index 9a0ff50bf82..cb14c96a408 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp @@ -22,11 +22,13 @@ #include #include #include +#include #include #include #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 @@ using namespace std; * 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 @@ DVIToSVG::DVIToSVG (istream &is, SVGOutputBase &out) : DVIReader(is), _out(out) /** 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 *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 @@ void DVIToSVG::convert (unsigned first, unsigned last, pair *pageinfo) 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 = ""; - 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(); + 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 = ""; + 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(); + } } } +/** 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 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 @@ void DVIToSVG::convert (const string &rangestr, pair *pageinfo) { SpecialManager::instance().notifyPreprocessingFinished(); } + unique_ptr 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 @@ void DVIToSVG::convert (const string &rangestr, pair *pageinfo) { } +/** 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::dviXGlyphString (vector &dx, vector &glyphs, co void DVIToSVG::dviXTextAndGlyphs (vector &dx, vector &dy, vector&, vector &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 ¶mstr) { + auto paramnames = util::split(paramstr, ","); + map 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"; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp index 3c9100a0ec7..b0380e69239 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp @@ -21,6 +21,7 @@ #ifndef DVITOSVG_HPP #define DVITOSVG_HPP +#include #include #include #include "DVIReader.hpp" @@ -28,8 +29,25 @@ 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 ¶mstr); + 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 _params; + }; + public: explicit DVIToSVG (std::istream &is, SVGOutputBase &out); void convert (const std::string &range, std::pair *pageinfo=0); @@ -41,6 +59,7 @@ class DVIToSVG : public DVIReader { double getXPos() const override {return dviState().h+_tx;} double getYPos() const override {return dviState().v+_ty;} void finishLine () override {_prevYPos = std::numeric_limits::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 @@ class DVIToSVG : public DVIReader { 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 *pageinfo=0); + void convert (unsigned firstPage, unsigned lastPage, HashFunction *hashFunc); int executeCommand () override; void enterBeginPage (unsigned pageno, const std::vector &c); void leaveEndPage (unsigned pageno); diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp index cbb3589efc8..4d64fc6996b 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp @@ -64,8 +64,8 @@ static string get_path_from_registry () { 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; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp new file mode 100644 index 00000000000..828ed5ac1e0 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.cpp @@ -0,0 +1,84 @@ +/************************************************************************* +** HashFunction.cpp ** +** ** +** This file is part of dvisvgm -- a fast DVI to SVG converter ** +** Copyright (C) 2005-2018 Martin Gieseking ** +** ** +** 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 . ** +*************************************************************************/ + +#include +#include +#include +#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 HashFunction::supportedAlgorithms () { + return vector {"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::create (const string &name) { + string lowerName = util::tolower(name); + if (lowerName == "md5") + return util::make_unique(); + if (lowerName == "xxh32") + return util::make_unique(); + if (lowerName == "xxh64") + return util::make_unique(); + return nullptr; +} + + +std::unique_ptr 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::create (const string &name, const string &data) { + return create(name, data.data(), data.length()); +} + + +std::unique_ptr HashFunction::create (const string &name, const vector &data) { + return create(name, reinterpret_cast(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(); +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp new file mode 100644 index 00000000000..02318786309 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/HashFunction.hpp @@ -0,0 +1,47 @@ +/************************************************************************* +** HashFunction.hpp ** +** ** +** This file is part of dvisvgm -- a fast DVI to SVG converter ** +** Copyright (C) 2005-2018 Martin Gieseking ** +** ** +** 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 . ** +*************************************************************************/ + +#ifndef HASHFUNCTION_HPP +#define HASHFUNCTION_HPP + +#include +#include +#include + +/** 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 &data) =0; + virtual std::vector digestValue () const =0; + std::string digestString () const; + static std::vector supportedAlgorithms (); + static bool isSupportedAlgorithm (const std::string &algo); + static std::unique_ptr create (const std::string &name); + static std::unique_ptr create (const std::string &name, const char *data, size_t length); + static std::unique_ptr create (const std::string &name, const std::string &data); + static std::unique_ptr create (const std::string &name, const std::vector &data); +}; + +#endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp new file mode 100644 index 00000000000..2bf812dafd7 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/MD5HashFunction.hpp @@ -0,0 +1,58 @@ +/************************************************************************* +** MD5HashFunction.hpp ** +** ** +** This file is part of dvisvgm -- a fast DVI to SVG converter ** +** Copyright (C) 2005-2018 Martin Gieseking ** +** ** +** 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 . ** +*************************************************************************/ + +#ifndef MD5HASHFUNCTION_HPP +#define MD5HASHFUNCTION_HPP + +#include +#ifdef HAVE_OPENSSL_MD5_H +# include +#else +# include +#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 &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 &data) override {update(reinterpret_cast(data.data()), data.size());} + + std::vector digestValue () const override { + std::vector 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 + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am index cd668737062..2ba46e25c9d 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am @@ -38,6 +38,12 @@ dvisvgm_LDADD += \ 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 @@ libdvisvgm_a_SOURCES = \ Glyph.hpp \ GlyphTracerMessages.hpp \ GraphicsPath.hpp \ + HashFunction.cpp \ + HashFunction.hpp \ HtmlSpecialHandler.cpp \ HtmlSpecialHandler.hpp \ HyperlinkManager.cpp \ @@ -155,6 +163,7 @@ libdvisvgm_a_SOURCES = \ MapLine.hpp \ Matrix.cpp \ Matrix.hpp \ + MD5HashFunction.hpp \ Message.cpp \ Message.hpp \ MessageException.hpp \ @@ -258,6 +267,7 @@ libdvisvgm_a_SOURCES = \ XMLNode.hpp \ XMLString.cpp \ XMLString.hpp \ + XXHashFunction.hpp \ ZLibOutputStream.hpp if ENABLE_WOFF @@ -307,6 +317,13 @@ AM_CXXFLAGS += \ $(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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in index f886c02f8c6..a31480fee0b 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in @@ -108,30 +108,34 @@ bin_PROGRAMS = dvisvgm$(EXEEXT) @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(WOFF2_LIBS) \ @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(BROTLI_LIBS) -@ENABLE_WOFF_TRUE@am__append_5 = ffwrapper.c ffwrapper.h -@USE_BUNDLED_LIBS_TRUE@am__append_6 = \ +@USE_BUNDLED_MD5_TRUE@am__append_5 = ../libs/md5/libmd5.a +@USE_BUNDLED_MD5_FALSE@am__append_6 = $(LIBCRYPTO_LIBS) +@ENABLE_WOFF_TRUE@am__append_7 = ffwrapper.c ffwrapper.h +@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 -@USE_BUNDLED_LIBS_FALSE@am__append_7 = \ +@USE_BUNDLED_LIBS_FALSE@am__append_9 = \ @USE_BUNDLED_LIBS_FALSE@ $(POTRACE_CFLAGS) \ @USE_BUNDLED_LIBS_FALSE@ $(XXHASH_CFLAGS) -@ENABLE_WOFF_TRUE@am__append_8 = \ +@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 -@ENABLE_WOFF_TRUE@am__append_9 = $(TTFAUTOHINT_CFLAGS) -@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@am__append_10 = \ +@ENABLE_WOFF_TRUE@am__append_11 = $(TTFAUTOHINT_CFLAGS) +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@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 -@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__append_11 = \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__append_13 = \ @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(BROTLI_CFLAGS) \ @ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(WOFF2_CFLAGS) -@ENABLE_WOFF_TRUE@am__append_12 = $(TTFAUTOHINT_LIBS) -@WIN32_TRUE@am__append_13 = -DTEXLIVEWIN32 +@ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_TRUE@am__append_14 = -I$(dvisvgm_srcdir)/libs/md5 +@ENABLE_WOFF_TRUE@@USE_BUNDLED_MD5_FALSE@am__append_15 = $(LIBCRYPTO_CFLAGS) +@ENABLE_WOFF_TRUE@am__append_16 = $(TTFAUTOHINT_LIBS) +@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 @@ am__libdvisvgm_a_SOURCES_DIST = AGLTable.hpp BasicDVIReader.cpp \ 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 @@ am__libdvisvgm_a_SOURCES_DIST = AGLTable.hpp BasicDVIReader.cpp \ 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@am__objects_1 = ffwrapper.$(OBJEXT) am_libdvisvgm_a_OBJECTS = BasicDVIReader.$(OBJEXT) Bezier.$(OBJEXT) \ BgColorSpecialHandler.$(OBJEXT) Bitmap.$(OBJEXT) \ @@ -244,31 +249,32 @@ am_libdvisvgm_a_OBJECTS = BasicDVIReader.$(OBJEXT) Bezier.$(OBJEXT) \ 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 @@ am__depfiles_remade = ./$(DEPDIR)/BasicDVIReader.Po \ ./$(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 @@ ACLOCAL = @ACLOCAL@ 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_SOURCES = \ 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 @@ libdvisvgm_a_SOURCES = AGLTable.hpp BasicDVIReader.cpp \ 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 @@ libdvisvgm_a_SOURCES = AGLTable.hpp BasicDVIReader.cpp \ 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 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFReader.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GFTracer.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Ghostscript.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HashFunction.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HtmlSpecialHandler.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HyperlinkManager.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImageToSVG.Po@am__quote@ # am--include-marker @@ -1065,6 +1075,7 @@ distclean: distclean-am -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 @@ maintainer-clean: maintainer-clean-am -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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp index a13cc775728..a57cc20fc9b 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp @@ -43,9 +43,10 @@ SVGOutput::SVGOutput (const string &base, const string &pattern, int zipLevel) /** 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 @@ ostream& SVGOutput::getPageStream (int page, int numPages) const { /** 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 @@ string SVGOutput::outpath (int page, int numPages) const { /** 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 @@ string SVGOutput::expandFormatString (string str, int page, int numPages) const 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 @@ string SVGOutput::expandFormatString (string str, int page, int numPages) const } 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); +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp index a19501e5523..5b06577a4f3 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp @@ -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 @@ class SVGOutput : public SVGOutputBase { 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; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp new file mode 100644 index 00000000000..231eec9eb9b --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/XXHashFunction.hpp @@ -0,0 +1,88 @@ +/************************************************************************* +** XXHashFunction.hpp ** +** ** +** This file is part of dvisvgm -- a fast DVI to SVG converter ** +** Copyright (C) 2005-2018 Martin Gieseking ** +** ** +** 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 . ** +*************************************************************************/ + +#ifndef XXHASHFUNCTION_HPP +#define XXHASHFUNCTION_HPP + +#include +#include "HashFunction.hpp" + + +template +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 +class XXHashFunction : public HashFunction { + using Interface = XXHInterface; + 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 &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 &data) override {update(reinterpret_cast(data.data()), data.size());} + + std::vector digestValue () const override { + std::vector 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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp index 297844cb21d..f9aae6963a5 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp @@ -26,7 +26,6 @@ #include #include #include -#include #include #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 @@ static bool set_cache_dir (const CommandLine &args) { 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 @@ static void print_version (bool extended) { 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 @@ static void init_fontmap (const CommandLine &cmdline) { } +/** 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 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 @@ int main (int argc, char *argv[]) { 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(); diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml b/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml index b8b43fcd5f8..c221bcdacd0 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml @@ -162,6 +162,10 @@ don't process [selected] specials +