diff options
Diffstat (limited to 'Build/source/texk/dvisvgm')
80 files changed, 4633 insertions, 8811 deletions
diff --git a/Build/source/texk/dvisvgm/ChangeLog b/Build/source/texk/dvisvgm/ChangeLog index 78dd5a5e39a..2ad3cbb2123 100644 --- a/Build/source/texk/dvisvgm/ChangeLog +++ b/Build/source/texk/dvisvgm/ChangeLog @@ -1,3 +1,12 @@ +2018-08-30 Karl Berry <karl@freefriends.org> + + * version.ac: now version 2.5. + * configure.ac: remove POTRACE_FLAGS, library now bundled. + Track upstream configure.ac somewhat more closely. + Implicitly specify (new) --enable-bundled-libs with + --enable-native-texlive-build. + * dvisvgm-src/Makefile.am: import TL-Changes. + 2018-07-19 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * Import 2.4.2 diff --git a/Build/source/texk/dvisvgm/Makefile.in b/Build/source/texk/dvisvgm/Makefile.in index 1e2c978bab7..ff55288a123 100644 --- a/Build/source/texk/dvisvgm/Makefile.in +++ b/Build/source/texk/dvisvgm/Makefile.in @@ -104,7 +104,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -441,7 +440,9 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -460,6 +461,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -516,9 +518,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/Build/source/texk/dvisvgm/TLpatches/ChangeLog b/Build/source/texk/dvisvgm/TLpatches/ChangeLog index b65dd2b5121..ed28871b415 100644 --- a/Build/source/texk/dvisvgm/TLpatches/ChangeLog +++ b/Build/source/texk/dvisvgm/TLpatches/ChangeLog @@ -1,3 +1,7 @@ +2018-08-30 Karl Berry <karl@freefriends.org> + + * patch-08-makefiles: adapt to 2.5. + 2018-07-19 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * Import 2.4.2. @@ -185,4 +189,3 @@ 2013-01-29 Peter Breitenlohner <peb@mppmu.mpg.de> * Import release 1.1. - diff --git a/Build/source/texk/dvisvgm/TLpatches/TL-Changes b/Build/source/texk/dvisvgm/TLpatches/TL-Changes index d131b8295ac..7b49c4a494c 100644 --- a/Build/source/texk/dvisvgm/TLpatches/TL-Changes +++ b/Build/source/texk/dvisvgm/TLpatches/TL-Changes @@ -2,10 +2,11 @@ Changes applied to the original dvisvgm source as obtained from: https://dvisvgm.de/Downloads/ + or (hopefully) https://ctan.org/pkg/dvisvgm Update version in ./version.ac. -mv dvisvgm-src dvisvm-prev +mv dvisvgm-src dvisvgm-prev tar xf dvisvgm-VER.tar.gz mv dvisvgm-VER dvisvgm-src cd dvisvgm-src @@ -13,7 +14,7 @@ cd dvisvgm-src # remove common and generated files: rm ar-lib compile config.guess config.sub depcomp install-sh rm ltmain.sh missing test-driver -rm aclocal.m4 configure # reduce chance of confusion? +rm -r m4 aclocal.m4 configure # reduce chance of confusion? # # files to add: svn status | sed -n 's/^\?//p' diff --git a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles index f2b066fad46..c7ebcf1207d 100644 --- a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles +++ b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles @@ -1,32 +1,26 @@ -diff -u2r dvisvgm-2.4.2/Makefile.am dvisvgm-src/Makefile.am ---- dvisvgm-2.4.2/Makefile.am Sat Jan 27 22:54:59 2018 -+++ dvisvgm-src/Makefile.am Thu Jul 19 08:20:29 2018 -@@ -6,5 +6,5 @@ - AUTOMAKE_OPTIONS = foreign +diff -u1r dvisvgm-2.5/Makefile.am dvisvgm-src/Makefile.am +--- dvisvgm-2.5/Makefile.am 2018-07-31 07:51:05.000000000 -0700 ++++ dvisvgm-src/Makefile.am 2018-08-27 09:10:41.553596312 -0700 +@@ -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 -u2r dvisvgm-2.4.2/src/Makefile.am dvisvgm-src/src/Makefile.am ---- dvisvgm-2.4.2/src/Makefile.am Thu Jul 19 00:52:27 2018 -+++ dvisvgm-src/src/Makefile.am Thu Jul 19 08:27:05 2018 -@@ -14,8 +14,5 @@ +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 +@@ -14,6 +14,3 @@ $(noinst_LIBRARIES) \ - ../libs/clipper/libclipper.a \ -- ../libs/xxHash/libxxhash.a \ +- ../libs/clipper/libclipper.a \ - $(FREETYPE_LIBS) \ - $(FONTFORGE_LIBS) \ - $(ZLIB_LIBS) -+ ../libs/xxHash/libxxhash.a ++ ../libs/clipper/libclipper.a - if ENABLE_WOFF -@@ -26,5 +23,14 @@ - endif +@@ -43,3 +40,11 @@ +dvisvgm_LDADD += \ + $(KPATHSEA_LIBS) \ -+ $(POTRACE_LIBS) \ + $(FREETYPE2_LIBS) \ + $(FONTFORGE_LIBS) \ + $(ZLIB_LIBS) \ @@ -35,9 +29,7 @@ diff -u2r dvisvgm-2.4.2/src/Makefile.am dvisvgm-src/src/Makefile.am dvisvgm_DEPENDENCIES = $(noinst_LIBRARIES) +dvisvgm_DEPENDENCIES += $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) $(FREETYPE2_DEPEND) - libdvisvgm_a_SOURCES = \ -@@ -246,35 +252,45 @@ - EXTRA_DIST = options.xml options.dtd iapi.h ierrors.h MiKTeXCom.hpp MiKTeXCom.cpp +@@ -263,18 +268,16 @@ -AM_CFLAGS = -Wall \ - $(ZLIB_CFLAGS) \ @@ -47,7 +39,6 @@ diff -u2r dvisvgm-2.4.2/src/Makefile.am dvisvgm-src/src/Makefile.am -AM_CXXFLAGS = -Wall -Wnon-virtual-dtor -Wno-mismatched-tags \ - -I$(top_srcdir)/libs/clipper \ - -I$(top_srcdir)/libs/variant/include \ -- -I$(top_srcdir)/libs/xxHash \ - $(KPSE_CFLAGS) \ - $(FREETYPE_CFLAGS) \ - $(ZLIB_CFLAGS) \ @@ -55,31 +46,32 @@ diff -u2r dvisvgm-2.4.2/src/Makefile.am dvisvgm-src/src/Makefile.am + $(ZLIB_INCLUDES) \ $(CODE_COVERAGE_CFLAGS) -+AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor \ ++AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor -Wno-mismatched-tags \ + -I$(dvisvgm_srcdir)/libs/clipper \ -+ -I$(dvisvgm_srcdir)/libs/variant/include \ -+ -I$(dvisvgm_srcdir)/libs/xxHash ++ -I$(dvisvgm_srcdir)/libs/variant/include + - AM_LDFLAGS = \ -- $(KPSE_LIBS) \ - $(CODE_COVERAGE_LDFLAGS) - - if ENABLE_WOFF + if USE_BUNDLED_LIBS + AM_CXXFLAGS += \ +- -I$(top_srcdir)/libs/potrace \ +- -I$(top_srcdir)/libs/xxHash ++ -I$(dvisvgm_srcdir)/libs/potrace \ ++ -I$(dvisvgm_srcdir)/libs/xxHash + else +@@ -291,4 +294,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 @@ AM_CXXFLAGS += \ - $(TTFAUTOHINT_CFLAGS) \ - -I$(top_srcdir)/libs/brotli/include \ - -I$(top_srcdir)/libs/woff2/include + -I$(dvisvgm_srcdir)/libs/brotli/include \ + -I$(dvisvgm_srcdir)/libs/woff2/include - - AM_LDFLAGS += $(TTFAUTOHINT_LIBS) - endif + else +@@ -309,3 +312,16 @@ +AM_CXXFLAGS += \ + $(KPATHSEA_INCLUDES) \ @@ -88,28 +80,23 @@ diff -u2r dvisvgm-2.4.2/src/Makefile.am dvisvgm-src/src/Makefile.am + $(ZLIB_INCLUDES) \ + $(LIBGS_INCLUDES) \ + $(CODE_COVERAGE_CFLAGS) -+ + +if WIN32 +AM_CXXFLAGS += -DTEXLIVEWIN32 +endif WIN32 - ++ +if ! TEXLIVE_BUILD +# TL: do not try to rebuild these source files. # the command-line parser class is generated from options.xml by opt2cpp - $(srcdir)/CommandLine.hpp: options.xml -@@ -289,6 +305,16 @@ - +@@ -322,2 +338,3 @@ psdefs.ps: ; +endif ! TEXLIVE_BUILD - @CODE_COVERAGE_RULES@ - +@@ -326 +343,8 @@ CLEANFILES = *.gcda *.gcno + +## Rebuild libkpathsea +@KPATHSEA_RULE@ -+## Rebuild libpotrace -+@POTRACE_RULE@ +## Rebuild libfreetype +@FREETYPE2_RULE@ +## Rebuild libz diff --git a/Build/source/texk/dvisvgm/aclocal.m4 b/Build/source/texk/dvisvgm/aclocal.m4 index 37aca6cff37..8e92805971f 100644 --- a/Build/source/texk/dvisvgm/aclocal.m4 +++ b/Build/source/texk/dvisvgm/aclocal.m4 @@ -1234,7 +1234,6 @@ m4_include([../../m4/kpse-common.m4]) m4_include([../../m4/kpse-cxx-hack.m4]) m4_include([../../m4/kpse-freetype2-flags.m4]) m4_include([../../m4/kpse-kpathsea-flags.m4]) -m4_include([../../m4/kpse-potrace-flags.m4]) m4_include([../../m4/kpse-warnings.m4]) m4_include([../../m4/kpse-win32.m4]) m4_include([../../m4/kpse-zlib-flags.m4]) diff --git a/Build/source/texk/dvisvgm/config.h.in b/Build/source/texk/dvisvgm/config.h.in index 0e40d614eed..aae5e156c20 100644 --- a/Build/source/texk/dvisvgm/config.h.in +++ b/Build/source/texk/dvisvgm/config.h.in @@ -6,9 +6,6 @@ /* Set to 1 if PostScript support should be disabled */ #undef DISABLE_GS -/* Define if WOFF support is disabled */ -#undef DISABLE_WOFF - /* Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>. */ #undef GWINSZ_IN_SYS_IOCTL @@ -29,9 +26,6 @@ /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - /* Define to 1 if you have the <float.h> header file. */ #undef HAVE_FLOAT_H @@ -77,10 +71,6 @@ /* Define to 1 if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - /* Define to 1 if you have the `memcmp' function. */ #undef HAVE_MEMCMP @@ -90,9 +80,6 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP @@ -108,6 +95,9 @@ /* Define to 1 if you have the <pwd.h> header file. */ #undef HAVE_PWD_H +/* Define to 1 if you have the `sigaction' function. */ +#undef HAVE_SIGACTION + /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ #undef HAVE_STAT_EMPTY_STRING_BUG @@ -121,9 +111,6 @@ /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR @@ -136,9 +123,6 @@ /* Define to 1 if you have the `strrchr' function. */ #undef HAVE_STRRCHR -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - /* Define to 1 if `st_mtim' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_MTIM @@ -165,15 +149,15 @@ /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H +/* Define to 1 if you have the `umask' function. */ +#undef HAVE_UMASK + /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `uselocale' function. */ #undef HAVE_USELOCALE -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - /* Define to 1 if you have the <xlocale.h> header file. */ #undef HAVE_XLOCALE_H @@ -258,9 +242,6 @@ such a type exists and the standard includes do not define it. */ #undef int64_t -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t diff --git a/Build/source/texk/dvisvgm/configure b/Build/source/texk/dvisvgm/configure index c466beed29d..4f129103da9 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.4.2. +# Generated by GNU Autoconf 2.69 for dvisvgm (TeX Live) 2.5. # # Report bugs to <tex-k@tug.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dvisvgm (TeX Live)' PACKAGE_TARNAME='dvisvgm--tex-live-' -PACKAGE_VERSION='2.4.2' -PACKAGE_STRING='dvisvgm (TeX Live) 2.4.2' +PACKAGE_VERSION='2.5' +PACKAGE_STRING='dvisvgm (TeX Live) 2.5' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -632,13 +632,19 @@ ac_includes_default="\ # include <unistd.h> #endif" +ac_func_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS +AM_LDFLAGS +AM_CPPFLAGS +DATE DVISVGM_TREE CODE_COVERAGE_RULES CODE_COVERAGE_ENABLED_FALSE CODE_COVERAGE_ENABLED_TRUE +USE_BUNDLED_LIBS_FALSE +USE_BUNDLED_LIBS_TRUE ENABLE_WOFF_FALSE ENABLE_WOFF_TRUE LIBOBJS @@ -653,10 +659,6 @@ ZLIB_RULE ZLIB_DEPEND ZLIB_LIBS ZLIB_INCLUDES -POTRACE_RULE -POTRACE_DEPEND -POTRACE_LIBS -POTRACE_INCLUDES KPATHSEA_RULE KPATHSEA_DEPEND KPATHSEA_LIBS @@ -812,14 +814,12 @@ enable_libtool_lock enable_largefile enable_cxx_runtime_hack with_system_kpathsea -with_system_potrace -with_potrace_includes -with_potrace_libdir with_system_zlib with_zlib_includes with_zlib_libdir with_system_freetype2 enable_woff +enable_bundled_libs ' ac_precious_vars='build_alias host_alias @@ -1375,7 +1375,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.4.2 to adapt to many kinds of systems. +\`configure' configures dvisvgm (TeX Live) 2.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1446,7 +1446,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.4.2:";; + short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.5:";; esac cat <<\_ACEOF @@ -1473,7 +1473,9 @@ Optional Features: --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files --enable-cxx-runtime-hack link C++ runtime statically - --disable-woff Disable WOFF support [no] + --disable-woff Disable WOFF support [default=no] + --enable-bundled-libs use bundled libraries instead of the system ones + [default=no] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1488,11 +1490,6 @@ Optional Packages: compiler's sysroot if not specified). --with-system-kpathsea use installed kpathsea headers and library (requires pkg-config) - --with-system-potrace use installed potrace headers and library - --with-potrace-includes=DIR - potrace headers installed in DIR - --with-potrace-libdir=DIR - potrace library installed in DIR --with-system-zlib use installed zlib headers and library --with-zlib-includes=DIR zlib headers installed in DIR @@ -1581,7 +1578,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvisvgm (TeX Live) configure 2.4.2 +dvisvgm (TeX Live) configure 2.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2449,7 +2446,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.4.2, which was +It was created by dvisvgm (TeX Live) $as_me 2.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2729,6 +2726,11 @@ $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +as_fn_append ac_func_list " ftime" +as_fn_append ac_func_list " gettimeofday" +as_fn_append ac_func_list " sigaction" +as_fn_append ac_func_list " umask" +as_fn_append ac_func_list " uselocale" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2797,7 +2799,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +DATE="August 2018" +ac_config_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in ../../build-aux "$srcdir"/../../build-aux; do @@ -2829,7 +2833,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - if test "x$enable_texlive_build" = xyes; then TEXLIVE_BUILD_TRUE= TEXLIVE_BUILD_FALSE='#' @@ -2840,7 +2843,7 @@ fi # Common code for all programs using libkpathsea. -# PROG_AR must become before KPSE_COMMON since that calls LT_INIT. +# PROG_AR must be run before KPSE_COMMON, since the latter calls LT_INIT. # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` @@ -8188,7 +8191,7 @@ fi # Define the identity of the package. PACKAGE='dvisvgm--tex-live-' - VERSION='2.4.2' + VERSION='2.5' cat >>confdefs.h <<_ACEOF @@ -13920,8 +13923,6 @@ fi -ac_config_headers="$ac_config_headers config.h" - cat >>confdefs.h <<_ACEOF @@ -20189,7 +20190,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -dvisvgm (TeX Live) config.lt 2.4.2 +dvisvgm (TeX Live) config.lt 2.5 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -21499,41 +21500,6 @@ if test "x$kpse_cv_kpse_debug" != xyes; then : KPATHSEA_INCLUDES="$KPATHSEA_INCLUDES -DNO_DEBUG" fi -## _KPSE_LIB_FLAGS: Setup potrace (-lpotrace) flags - -# Check whether --with-system-potrace was given. -if test "${with_system_potrace+set}" = set; then : - withval=$with_system_potrace; -fi - -# Check whether --with-potrace-includes was given. -if test "${with_potrace_includes+set}" = set; then : - withval=$with_potrace_includes; -fi - -# Check whether --with-potrace-libdir was given. -if test "${with_potrace_libdir+set}" = set; then : - withval=$with_potrace_libdir; -fi -if test "x$with_system_potrace" = xyes; then - if test "x$with_potrace_includes" != x && test "x$with_potrace_includes" != xyes; then - POTRACE_INCLUDES="-I$with_potrace_includes" -fi -POTRACE_LIBS="-lpotrace" -if test "x$with_potrace_libdir" != x && test "x$with_potrace_libdir" != xyes; then - POTRACE_LIBS="-L$with_potrace_libdir $POTRACE_LIBS" -fi -else - POTRACE_INCLUDES="-I$kpse_BLD/libs/potrace/include" - POTRACE_LIBS="$kpse_BLD/libs/potrace/libpotrace.a" - POTRACE_DEPEND='${top_builddir}/../../libs/potrace/libpotrace.a' - POTRACE_RULE='# Rebuild libpotrace -$(POTRACE_DEPEND): ${top_builddir}/../../libs/potrace/include/potracelib.h - cd ${top_builddir}/../../libs/potrace && $(MAKE) $(AM_MAKEFLAGS) rebuild -${top_builddir}/../../libs/potrace/include/potracelib.h: - cd ${top_builddir}/../../libs/potrace && $(MAKE) $(AM_MAKEFLAGS) rebuild' -fi - ## _KPSE_LIB_FLAGS: Setup zlib (-lz) flags # Check whether --with-system-zlib was given. @@ -21806,7 +21772,7 @@ kpse_save_CPPFLAGS=$CPPFLAGS kpse_save_LIBS=$LIBS -# emacs-page +# emacs-page Ghostscript complexities. LIBGS_INCLUDES= LIBGS_LIBS= if test "x$enable_native_texlive_build" = xyes; then @@ -21868,9 +21834,6 @@ else fi -if test "x$have_libgs" = xyes; then - HAVE_LIBGS=1 -fi if test "x$have_libgs" = "xno"; then : # Ghostscript not found, check for dlopen { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 @@ -22523,129 +22486,6 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : @@ -22692,152 +22532,14 @@ $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 closedir returns void" >&5 -$as_echo_n "checking whether closedir returns void... " >&6; } -if ${ac_cv_func_closedir_void+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_closedir_void=yes -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header_dirent> -#ifndef __cplusplus -int closedir (); -#endif - -int -main () -{ -return closedir (opendir (".")) != 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_closedir_void=no -else - ac_cv_func_closedir_void=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 -$as_echo "$ac_cv_func_closedir_void" >&6; } -if test $ac_cv_func_closedir_void = yes; then - -$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 -$as_echo_n "checking for error_at_line... " >&6; } -if ${ac_cv_lib_error_at_line+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <error.h> -int -main () -{ -error_at_line (0, 0, "", 0, "an error occurred"); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_error_at_line=yes -else - ac_cv_lib_error_at_line=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 -$as_echo "$ac_cv_lib_error_at_line" >&6; } -if test $ac_cv_lib_error_at_line = no; then - case " $LIBOBJS " in - *" error.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS error.$ac_objext" - ;; -esac - -fi - -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_malloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include <stdlib.h> -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes -else - ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_MALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_MALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -$as_echo "#define malloc rpl_malloc" >>confdefs.h - -fi - - { $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; } if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : @@ -22946,26 +22648,10 @@ _ACEOF fi -for ac_func in vprintf -do : - ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VPRINTF 1 -_ACEOF - -ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = xyes; then : -$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h -fi -fi -done - - -for ac_func in ftime gettimeofday memset strcasecmp strtol uselocale + for ac_func in $ac_func_list do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -22978,6 +22664,18 @@ fi done + + + + + + + + + + +# TL? memset strcasecmp strtol + # Check whether --enable-woff was given. if test "${enable_woff+set}" = set; then : enableval=$enable_woff; @@ -22985,7 +22683,6 @@ else enable_woff=yes fi - if test "x$enable_woff" = "xyes"; then ENABLE_WOFF_TRUE= ENABLE_WOFF_FALSE='#' @@ -22994,11 +22691,6 @@ else ENABLE_WOFF_FALSE= fi -if test "x$enable_woff" != "xyes" ; then - -$as_echo "#define DISABLE_WOFF 1" >>confdefs.h - -fi $as_echo "#define HAVE_LIBKPATHSEA 1" >>confdefs.h @@ -23015,7 +22707,26 @@ $as_echo "#define KPSE_CXX_UNSAFE 1" >>confdefs.h fi -# TL: not going to attempt code coverage. +# TL: skip ttfautohint? + +# Add option to enable linking of bundled libraries (brotli, 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 +fi + + if test "x$use_bundled_libs" = "xyes" || test "x$enable_native_texlive_build" = xyes; then + USE_BUNDLED_LIBS_TRUE= + USE_BUNDLED_LIBS_FALSE='#' +else + USE_BUNDLED_LIBS_TRUE='#' + USE_BUNDLED_LIBS_FALSE= +fi + +# that is, use bundled libs for native TL build. + +# TL: not going to build_manpage (which is the default). +# TL: not going to attempt code coverage; need to subst it away. if false; then CODE_COVERAGE_ENABLED_TRUE= CODE_COVERAGE_ENABLED_FALSE='#' @@ -23030,7 +22741,10 @@ CODE_COVERAGE_RULES= 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/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/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 @@ -23184,6 +22898,10 @@ if test -z "${ENABLE_WOFF_TRUE}" && test -z "${ENABLE_WOFF_FALSE}"; then as_fn_error $? "conditional \"ENABLE_WOFF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_BUNDLED_LIBS_TRUE}" && test -z "${USE_BUNDLED_LIBS_FALSE}"; then + 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 "${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 @@ -23585,7 +23303,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.4.2, which was +This file was extended by dvisvgm (TeX Live) $as_me 2.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23651,7 +23369,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.4.2 +dvisvgm (TeX Live) config.status 2.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -24165,9 +23883,9 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "CXXLD.sh") CONFIG_COMMANDS="$CONFIG_COMMANDS CXXLD.sh" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "dvisvgm-src/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/Makefile" ;; @@ -24175,6 +23893,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/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" ;; "dvisvgm-src/libs/xxHash/Makefile") CONFIG_FILES="$CONFIG_FILES dvisvgm-src/libs/xxHash/Makefile" ;; diff --git a/Build/source/texk/dvisvgm/configure.ac b/Build/source/texk/dvisvgm/configure.ac index 1f73c8c77f4..91bdab925f4 100644 --- a/Build/source/texk/dvisvgm/configure.ac +++ b/Build/source/texk/dvisvgm/configure.ac @@ -12,22 +12,23 @@ dnl dnl Adapted for TeX Live from original dvisvgm configure.ac dnl Copyright 2005-2018 Martin Gieseking dnl +AC_PREREQ([2.65]) m4_include([version.ac])[] dnl define dvisvgm_version AC_INIT([dvisvgm (TeX Live)], dvisvgm_version, [tex-k@tug.org]) -AC_PREREQ([2.65]) +DATE="August 2018" AC_CONFIG_SRCDIR([dvisvgm-src/src/dvisvgm.cpp]) +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIRS([../../m4])dnl not just _DIR AC_CONFIG_AUX_DIR([../../build-aux]) -AC_CONFIG_MACRO_DIRS([../../m4]) AM_CONDITIONAL([TEXLIVE_BUILD], [test "x$enable_texlive_build" = xyes]) # Common code for all programs using libkpathsea. -# PROG_AR must become before KPSE_COMMON since that calls LT_INIT. +# PROG_AR must be run before KPSE_COMMON, since the latter calls LT_INIT. AM_PROG_AR KPSE_COMMON([dvisvgm]) -AC_CONFIG_HEADERS([config.h]) - +AH_TEMPLATE([TARGET_SYSTEM], [The machine triplet of the target system]) AC_DEFINE_UNQUOTED([TARGET_SYSTEM], ["$host"], [The machine triplet of the target system.]) @@ -46,13 +47,12 @@ AC_HEADER_TIOCGWINSZ KPSE_COND_WIN32 KPSE_KPATHSEA_FLAGS -KPSE_POTRACE_FLAGS KPSE_FREETYPE2_FLAGS KPSE_ZLIB_FLAGS KPSE_SAVE_FLAGS -# emacs-page +# emacs-page Ghostscript complexities. LIBGS_INCLUDES= LIBGS_LIBS= if test "x$enable_native_texlive_build" = xyes; then @@ -63,9 +63,6 @@ have_libgs=yes AC_CHECK_HEADER([ghostscript/iapi.h], [AC_CHECK_LIB(gs, gsapi_revision,, [have_libgs=no])], [have_libgs=no]) -if test "x$have_libgs" = xyes; then - HAVE_LIBGS=1 -fi AS_IF([test "x$have_libgs" = "xno"], # Ghostscript not found, check for dlopen [AC_CHECK_LIB(dl, dlopen,, @@ -159,28 +156,25 @@ AC_CHECK_HEADERS([libintl.h stdlib.h string.h strings.h unistd.h]) # Check for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL -AC_C_CONST -AC_C_INLINE 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_CLOSEDIR_VOID -AC_FUNC_ERROR_AT_LINE -AC_FUNC_MALLOC AC_FUNC_STAT -AC_FUNC_VPRINTF -AC_CHECK_FUNCS([ftime gettimeofday memset strcasecmp strtol uselocale]) +AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale]) +# TL? memset strcasecmp strtol AC_ARG_ENABLE([woff], - [AS_HELP_STRING([--disable-woff], [Disable WOFF support @<:@no@:>@])], + [AS_HELP_STRING([--disable-woff], [Disable WOFF support @<:@default=no@:>@])], [], [enable_woff=yes]) - AM_CONDITIONAL([ENABLE_WOFF], [test "x$enable_woff" = "xyes"]) -if test "x$enable_woff" != "xyes" ; then - AC_DEFINE([DISABLE_WOFF], 1, [Define if WOFF support is disabled]) -fi AC_DEFINE([HAVE_LIBKPATHSEA], 1, [Define to 1 if you have the `kpathsea' library (-lkpathsea).]) AC_DEFINE([HAVE_LIBFREETYPE], 1, [Define to 1 if you have the `freetype2' library (-lfreetype).]) @@ -189,19 +183,34 @@ if false; then AC_DEFINE([KPSE_CXX_UNSAFE], 1, [Define to 1 if the kpathsea headers are not C++ safe.]) fi -# TL: not going to attempt code coverage. +# TL: skip ttfautohint? + +# Add option to enable linking of bundled libraries (brotli, 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. + +# 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) CODE_COVERAGE_RULES= AC_SUBST([CODE_COVERAGE_RULES]) AC_SUBST([DVISVGM_TREE], [dvisvgm-src]) +AC_SUBST(DATE) +AC_SUBST(AM_CPPFLAGS) +AC_SUBST(AM_LDFLAGS) 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 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS b/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS index 6fe5ecc9245..cf134e303f7 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS +++ b/Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS @@ -6,9 +6,8 @@ Yann Collet https://github.com/Cyan4973/xxHash Google Inc. - libs/woff2/brotli/* - libs/woff2/include/* - libs/woff2/src/* + libs/brotli/* + libs/woff2/* https://github.com/google/brotli https://github.com/google/woff2 @@ -20,6 +19,10 @@ Michael Park libs/variant/include/mpark/* https://github.com/mpark/variant +Peter Selinger + libs/potrace/* + http://potrace.sourceforge.net + George Williams libs/ff-woff/* https://github.com/fontforge/fontforge diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog b/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog deleted file mode 100644 index 3946c2c8fb7..00000000000 --- a/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog +++ /dev/null @@ -1,7916 +0,0 @@ -2018-07-18 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, doc/Makefile.am: - don't try to build manpage if required tools are missing - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.4.2 - - * NEWS: - updated NEWS - -2018-07-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/HyperlinkManager.cpp: - reduced extent of hyperlinked areas to get a tight bbox - -2018-07-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - use unique_ptr in bbox debug code - - * src/PSPreviewFilter.cpp, src/PSPreviewFilter.hpp: - removed redundant method PSPreviewFilter::getBorders() - - * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: - fixed computation of preview extents (closes #89) - - * src/PsSpecialHandler.cpp: - prevent warning about missing psfile "/dev/null" - -2018-07-07 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS: - updated NEWS - - * .gitattributes: - added linguist settings to - .gitattributes - -https://github.com/github/linguist - -2018-07-06 Martin Gieseking <martin.gieseking@uos.de> - - * libs/brotli/Makefile.am, libs/brotli/common/dictionary.c, - libs/brotli/common/platform.h, libs/brotli/common/transform.c, - libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, - libs/brotli/enc/brotli_bit_stream.h, libs/brotli/enc/command.h, - libs/brotli/enc/compress_fragment.c, - libs/brotli/enc/compress_fragment_two_pass.c, libs/brotli/enc/encode.c, - libs/brotli/enc/encoder_dict.h, libs/brotli/enc/fast_log.h, - libs/brotli/enc/hash.h, libs/brotli/enc/hash_composite_inc.h, - libs/brotli/enc/hash_rolling_inc.h, libs/brotli/enc/quality.h, - libs/brotli/enc/static_dict.c, libs/brotli/enc/write_bits.h, - libs/brotli/include/brotli/port.h, libs/brotli/include/brotli/types.h: - updated brotli to version 1.0.5 - - * README, README.md, doc/dvisvgm.txt.in, libs/ff-woff/README.md: - updated links to new project website dvisvgm.de - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.4.1 - -2018-07-04 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - manpage: updated external links - -2018-06-23 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/include/woff2/version.h, libs/woff2/src/font.cc, - libs/woff2/src/normalize.cc, libs/woff2/src/woff2_enc.cc: - updated woff2 to 1.0.2 - -2018-06-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/SourceInput.cpp, src/SourceInput.hpp: - moved handling of temporary files to separate class - -2018-05-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.cpp, src/ImageToSVG.cpp: - fixed evaluation of progress delay - -2018-05-09 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - minor fixes in manpage - -2018-05-04 Martin Gieseking <martin.gieseking@uos.de> - - * doc/conf-dblatex-pdf.xsl: - list options and specials in PDF bookmarks of manpage - - * doc/dvisvgm.txt.in: - manpage: ordered options alphabetically according to long name - -2018-05-03 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README, README.md: - updated NEWS and README - -2018-05-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/Calculator.cpp: - catch exception by reference rather than by value - -2018-04-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/EPSFile.cpp, src/EPSFile.hpp, src/EPSToSVG.cpp: - changed signature of EPSFile::bbox() - - * src/CLCommandLine.cpp: - cmdline: fixed handling of 'usage' section - - * src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/ImageToSVG.cpp, - src/ImageToSVG.hpp, src/Makefile.am: - derive EPSToSVG from abstract class ImageToSVG - - * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/Makefile.am, - src/PDFToSVG.hpp, src/PSInterpreter.cpp, src/PSInterpreter.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/dvisvgm.cpp, - src/options.xml, src/psdefs.cpp, tests/CommandLineTest.cpp, - tests/PSInterpreterTest.cpp: - added option --pdf to convert PDF files to SVG - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.4 - -2018-04-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/BoundingBox.cpp: - swap wrongly assigned variables (doesn't affect behavior) - -2018-04-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - psfile: use operator 'run' to simplify execution of (E)PS files - - * src/PSInterpreter.cpp, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - added special pdffile to embed PDF graphics - - * src/PsSpecialHandler.cpp: - apply outer transformations to psfile/pdffile graphics - -2018-04-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/Ghostscript.cpp, src/Ghostscript.hpp, src/dvisvgm.cpp, - tests/GhostscriptTest.cpp: - added function to get numeric GS revision - - * src/PSInterpreter.cpp, src/PSInterpreter.hpp: - moved GS init options to init method - - * src/PsSpecialHandler.cpp: - replaced str2double() with stod(); added check for zero bbox - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, - src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, - src/SpecialHandler.hpp, src/SpecialManager.cpp, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, - tests/ColorSpecialTest.cpp, tests/DvisvgmSpecialTest.cpp, - tests/PapersizeSpecialTest.cpp, tests/TpicSpecialTest.cpp: - changed type of \special prefix from const char* to string - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, - src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, - src/SpecialHandler.hpp, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.hpp: - removed const from result vector of SpecialHandler::prefixes() - -2018-04-19 Martin Gieseking <martin.gieseking@uos.de> - - * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: - updated xxHash to version 0.6.5 - - * src/psdefs.cpp: - fixed handling of PS operator 'setgstate' - -2018-04-16 Martin Gieseking <martin.gieseking@uos.de> - - * m4/ax_cxx_compile_stdcxx.m4: - updated ax_cxx_compile_stdcxx.m4 to version 8 - -2018-04-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.hpp, src/DvisvgmSpecialHandler.hpp, - src/EmSpecialHandler.hpp, src/HtmlSpecialHandler.hpp, - src/NoPsSpecialHandler.hpp, src/PapersizeSpecialHandler.hpp, - src/PdfSpecialHandler.hpp, src/PsSpecialHandler.hpp, - src/SpecialHandler.hpp, src/SpecialManager.cpp, src/SpecialManager.hpp, - src/TpicSpecialHandler.hpp: - merged listener methods into SpecialHandler class - - * src/CommandLine.hpp: - made opt2cpp compatible with Python 3 - -2018-04-11 Martin Gieseking <martin.gieseking@uos.de> - - * libs/brotli/Makefile.am, libs/brotli/common/constants.h, - libs/brotli/common/platform.h, libs/brotli/common/version.h, - libs/brotli/enc/backward_references.c, - libs/brotli/enc/backward_references_hq.c, libs/brotli/enc/command.h, - libs/brotli/enc/context.h, libs/brotli/enc/encode.c, - libs/brotli/enc/memory.h, libs/brotli/enc/metablock.c, - libs/brotli/enc/metablock.h, libs/brotli/enc/params.h, - libs/brotli/enc/port.h, libs/brotli/enc/quality.h, - libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, - libs/brotli/include/brotli/encode.h: - updated brotli to version 1.0.4 - -2018-03-29 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/SVGOutput.cpp, src/ZLibOutputStream.hpp, - src/dvisvgm.cpp: - enabled to output compressed SVG data to stdout - - * src/dvisvgm.cpp: - renamed SourceInput variable - -2018-03-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/dvisvgm.cpp: - simplified main() function - -2018-03-27 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/CLCommandLine.cpp, src/CLCommandLine.hpp, - src/CommandLine.hpp, src/EPSFile.cpp, src/EPSFile.hpp, src/EPSToSVG.cpp, - src/EPSToSVG.hpp, src/FileSystem.cpp, src/Makefile.am, - src/PsSpecialHandler.cpp, src/SVGOutput.cpp, src/SVGOutput.hpp, - src/SourceInput.cpp, src/SourceInput.hpp, src/dvisvgm.cpp, - src/options.xml, tests/CommandLineTest.cpp, tests/SVGOutputTest.cpp: - added option to read DVI/EPS input from stdin (closes #86) - -2018-03-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSInterpreter.cpp, src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - PS handler: added processing of .setshapealpha and .setblendmode - -2018-03-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/Matrix.cpp, src/Matrix.hpp, tests/MatrixTest.cpp: - added initlist constructor to class Matrix - - * src/PSInterpreter.cpp, src/PSInterpreter.hpp, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - psfile special: added evaluation of operator 'setpagedevice' - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3.5 - - * NEWS: - updated NEWS - -2018-03-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - added missing PS header required to evaluate color names - - * src/PSInterpreter.cpp, src/psdefs.cpp: - drop GS option -dSAFER to stay compatible with GS 9.23 - -2018-03-13 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3.4 - - * NEWS: - updated NEWS - -2018-03-12 Martin Gieseking <martin.gieseking@uos.de> - - * tests/data/Makefile.am: - add required test file cmr10.pfb to source tarballs (closes #87) - -2018-03-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/EmSpecialHandler.hpp, src/XMLDocument.hpp, src/dvisvgm.cpp: - replaced memory-inefficient lists with vectors - - * src/XMLNode.cpp, src/XMLNode.hpp: - replaced lists of XML element pointers with deques - - * src/CLCommandLine.cpp: - fixed message printed if command-line contains an isolated '-' - -2018-03-03 Martin Gieseking <martin.gieseking@uos.de> - - * libs/brotli/Makefile.am, libs/brotli/common/constants.h, - libs/brotli/common/context.h, libs/brotli/common/dictionary.h, - libs/brotli/common/platform.h, libs/brotli/common/transform.h, - libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, - libs/brotli/enc/backward_references.h, - libs/brotli/enc/backward_references_hq.c, - libs/brotli/enc/backward_references_hq.h, - libs/brotli/enc/backward_references_inc.h, libs/brotli/enc/bit_cost.c, - libs/brotli/enc/bit_cost.h, libs/brotli/enc/block_encoder_inc.h, - libs/brotli/enc/block_splitter.c, libs/brotli/enc/block_splitter.h, - libs/brotli/enc/block_splitter_inc.h, - libs/brotli/enc/brotli_bit_stream.c, libs/brotli/enc/brotli_bit_stream.h, - libs/brotli/enc/cluster.c, libs/brotli/enc/cluster.h, - libs/brotli/enc/command.h, libs/brotli/enc/compress_fragment.c, - libs/brotli/enc/compress_fragment.h, - libs/brotli/enc/compress_fragment_two_pass.c, - libs/brotli/enc/compress_fragment_two_pass.h, - libs/brotli/enc/dictionary_hash.c, libs/brotli/enc/encode.c, - libs/brotli/enc/encoder_dict.c, libs/brotli/enc/encoder_dict.h, - libs/brotli/enc/entropy_encode.c, libs/brotli/enc/entropy_encode.h, - libs/brotli/enc/entropy_encode_static.h, libs/brotli/enc/fast_log.h, - libs/brotli/enc/find_match_length.h, libs/brotli/enc/hash.h, - libs/brotli/enc/hash_forgetful_chain_inc.h, - libs/brotli/enc/hash_longest_match64_inc.h, - libs/brotli/enc/hash_longest_match_inc.h, - libs/brotli/enc/hash_longest_match_quickly_inc.h, - libs/brotli/enc/hash_to_binary_tree_inc.h, libs/brotli/enc/histogram.c, - libs/brotli/enc/histogram.h, libs/brotli/enc/histogram_inc.h, - libs/brotli/enc/literal_cost.c, libs/brotli/enc/literal_cost.h, - libs/brotli/enc/memory.c, libs/brotli/enc/memory.h, - libs/brotli/enc/metablock.c, libs/brotli/enc/metablock.h, - libs/brotli/enc/metablock_inc.h, libs/brotli/enc/params.h, - libs/brotli/enc/prefix.h, libs/brotli/enc/quality.h, - libs/brotli/enc/ringbuffer.h, libs/brotli/enc/static_dict.c, - libs/brotli/enc/static_dict.h, libs/brotli/enc/static_dict_lut.h, - libs/brotli/enc/utf8_util.c, libs/brotli/enc/utf8_util.h, - libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, - libs/brotli/include/brotli/encode.h, libs/brotli/include/brotli/port.h: - updated brotli to version 1.0.3 - -2018-02-20 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - minor changes of the manpage - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3.3 - - * NEWS: - updated NEWS - -2018-02-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp: - don't remove fontmap definitions before processing pdf:mapXXX specials - - * src/FontEngine.cpp: - prevent creating string from nullptr - -2018-02-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileSystem.cpp, src/FontCache.cpp, src/FontMap.cpp, - src/GFGlyphTracer.cpp, src/MetafontWrapper.cpp, src/PsSpecialHandler.cpp, - src/utility.cpp, tests/DVIReaderTest.cpp, tests/GFReaderTest.cpp, - tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: - removed calls of c_str() redundant since C++11 - - * src/StreamReader.cpp: - replaced c_str() with data() in StreamReader - -2018-02-08 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3.2 - - * src/TpicSpecialHandler.cpp: - prevent potential division by 0 - - * src/dvisvgm.cpp: - prevent dereferencing nullptr (CACHE_PATH) - - * NEWS: - updated NEWS - -2018-02-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, - src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.hpp: - don't update the SVG position after DVIActions::setChar() -Otherwise, all - characters get an explicit x position assigned even if it's -already - reached by applying the character's advance width. - -2018-01-27 Hironobu Yamashita <h.y.acetaminophen@gmail.com> - - * src/JFM.cpp: - JFM.cpp: support new JFM spec introduced in TeX Live r46452 - - * src/JFM.cpp, src/JFM.hpp, tests/JFMReaderTest.cpp: - adapted types to conform new JFM format - - * src/options.xml: - updated year in options.xml - - * src/FileFinder.cpp, src/Process.cpp: - relaxed reading from process pipe; fixed getting output of kpsewhich - (Win only) - -2018-01-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMap.hpp, src/RangeMap.hpp, src/ToUnicodeMap.cpp, - tests/RangeMapTest.cpp, tests/ToUnicodeMapTest.cpp: - renamed RangeMap::size() to RangeMap::numRanges() - -2018-01-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/RangeMap.cpp, src/RangeMap.hpp: - added iterator and some getters to RangeMap - -2018-01-12 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml: - AppVeyor: updated to FreeType 2.9 and ttfautohint 1.8.1 - - * .appveyor.yml: - AppVeyor: fixed download link of ttfautohint-dll - - * NEWS: - updated NEWS - -2018-01-11 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - manpage: reworded info about option --bbox=preview (closes #83) - -2018-01-09 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3.1 - -2018-01-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMapReader.cpp, src/Directory.cpp, src/Directory.hpp, - src/DvisvgmSpecialHandler.cpp, src/FileFinder.cpp, src/FileFinder.hpp, - src/FilePath.cpp, src/FilePath.hpp, src/FileSystem.cpp, - src/FileSystem.hpp, src/Font.cpp, src/FontCache.cpp, src/FontCache.hpp, - src/FontMap.cpp, src/FontMetrics.cpp, src/FontMetrics.hpp, - src/MetafontWrapper.cpp: - replaced some C string parameters with C++ strings - -2018-01-02 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, - doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, - doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-db-refentry.xsl, - doc/tweak-dblatex-pdf.xsl, libs/Makefile.am, - libs/ff-woff/fontforge/tmpfile2.cpp, src/AGLTable.hpp, - src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/Bezier.cpp, - src/Bezier.hpp, src/BgColorSpecialHandler.cpp, - src/BgColorSpecialHandler.hpp, src/Bitmap.cpp, src/Bitmap.hpp, - src/BoundingBox.cpp, src/BoundingBox.hpp, src/CLCommandLine.cpp, - src/CLCommandLine.hpp, src/CLOption.hpp, src/CMap.cpp, src/CMap.hpp, - src/CMapManager.cpp, src/CMapManager.hpp, src/CMapReader.cpp, - src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp, src/Calculator.cpp, - src/Calculator.hpp, src/CharMapID.cpp, src/CharMapID.hpp, - src/Character.hpp, src/Color.cpp, src/Color.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, - src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp, - src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, - src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp, - src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp, - src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp, - src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp, - src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp, - src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp, - src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp, - src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp, - src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp, - src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp, - src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp, - src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp, - src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp, - src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.hpp, src/HyperlinkManager.cpp, - src/HyperlinkManager.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp, - src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp, - src/Length.cpp, src/Length.hpp, src/Makefile.am, src/MapLine.cpp, - src/MapLine.hpp, src/Matrix.cpp, src/Matrix.hpp, src/Message.cpp, - src/Message.hpp, src/MessageException.hpp, src/MetafontWrapper.cpp, - src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.hpp, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, - src/NumericRanges.hpp, src/PDFParser.cpp, src/PDFParser.hpp, - src/PSFilter.hpp, src/PSInterpreter.cpp, src/PSInterpreter.hpp, - src/PSPattern.cpp, src/PSPattern.hpp, src/PSPreviewFilter.cpp, - src/PSPreviewFilter.hpp, src/PageRanges.cpp, src/PageRanges.hpp, - src/PageSize.cpp, src/PageSize.hpp, src/Pair.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PathClipper.cpp, src/PathClipper.hpp, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.hpp, src/Process.cpp, src/Process.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/RangeMap.cpp, - src/RangeMap.hpp, src/SVGCharHandler.cpp, src/SVGCharHandler.hpp, - src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.hpp, - src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.hpp, - src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.hpp, - src/SVGOutput.cpp, src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, - src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/SVGTree.hpp, - src/ShadingPatch.cpp, src/ShadingPatch.hpp, src/SignalHandler.cpp, - src/SignalHandler.hpp, src/SpecialActions.hpp, src/SpecialHandler.hpp, - src/SpecialManager.cpp, src/SpecialManager.hpp, src/StreamReader.cpp, - src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, - src/Subfont.cpp, src/Subfont.hpp, src/System.cpp, src/System.hpp, - src/TFM.cpp, src/TFM.hpp, src/TTFAutohint.cpp, src/TTFAutohint.hpp, - src/TensorProductPatch.cpp, src/TensorProductPatch.hpp, src/Terminal.cpp, - src/Terminal.hpp, src/ToUnicodeMap.cpp, src/ToUnicodeMap.hpp, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, - src/TriangularPatch.cpp, src/TriangularPatch.hpp, src/TrueTypeFont.cpp, - src/TrueTypeFont.hpp, src/Unicode.cpp, src/Unicode.hpp, - src/VFActions.hpp, src/VFReader.cpp, src/VFReader.hpp, - src/VectorIterator.hpp, src/VectorStream.hpp, src/XMLDocument.cpp, - src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/XMLString.cpp, - src/XMLString.hpp, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, - src/ffwrapper.c, src/ffwrapper.h, src/macros.hpp, src/options.dtd, - src/options.xml, src/psdefs.cpp, src/utility.cpp, src/utility.hpp, - src/version.hpp, src/version.hpp.in, src/windows.hpp, - tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, - tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/CommandLineTest.cpp, tests/DVIReaderTest.cpp, - tests/DependencyGraphTest.cpp, tests/DirectoryTest.cpp, - tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, - tests/FileFinderTest.cpp, tests/FilePathTest.cpp, - tests/FileSystemTest.cpp, tests/FontCacheTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, - tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, - tests/GhostscriptTest.cpp, tests/GraphicsPathTest.cpp, - tests/JFMReaderTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MapLineTest.cpp, tests/MatrixTest.cpp, - tests/MessageExceptionTest.cpp, tests/PDFParserTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/PapersizeSpecialTest.cpp, tests/RangeMapTest.cpp, - tests/SVGOutputTest.cpp, tests/ShadingPatchTest.cpp, - tests/SpecialManagerTest.cpp, tests/SplittedCharInputBufferTest.cpp, - tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, - tests/StreamWriterTest.cpp, tests/StringMatcherTest.cpp, - tests/SubfontTest.cpp, tests/TFMReaderTest.cpp, - tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, - tests/TpicSpecialTest.cpp, tests/TriangularPatchTest.cpp, - tests/UnicodeTest.cpp, tests/UtilityTest.cpp, - tests/VectorIteratorTest.cpp, tests/VectorStreamTest.cpp, - tests/XMLNodeTest.cpp, tests/XMLStringTest.cpp, tests/check-conv, - tests/create-makefile, tests/data/Makefile.am, tests/genhashcheck.py, - tests/normalize.xsl, tests/testmain.cpp: - updated year in copyright statements to 2018 - - * src/dvisvgm.cpp: - avoid potential dangling string pointer to --fontmap argument - - * src/Font.cpp: - fixed char width of fonts slanted by style option (closes #82) - -2017-12-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/TTFAutohint.hpp: - don't declare member variables of TTFAutohint if ttfautohint is not - available - - * src/FontWriter.cpp: - keep unhinted TTF if autohinting failed - -2017-12-28 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml: - AppVeyor: download and install ttfautohint headers - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.3 - - * NEWS, README, README.md: - updated README and NEWS - -2017-12-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp, - src/TTFAutohint.cpp: - simplify function to load a symbol from a dynamic library - -2017-12-23 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/DLLoader.cpp, src/DLLoader.hpp, src/FontWriter.cpp, - src/Makefile.am, src/TTFAutohint.cpp, src/TTFAutohint.hpp, - src/dvisvgm.cpp: - added code to load libttfautohint dynamically at runtime - -2017-12-22 Martin Gieseking <martin.gieseking@uos.de> - - * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: - updated xxHash to version 0.6.4 - -2017-12-21 Martin Gieseking <martin.gieseking@uos.de> - - * tests/gtest/include/gtest/gtest-param-test.h, - tests/gtest/include/gtest/gtest-printers.h, - tests/gtest/include/gtest/gtest-spi.h, - tests/gtest/include/gtest/gtest-typed-test.h, - tests/gtest/include/gtest/gtest.h, - tests/gtest/include/gtest/internal/custom/gtest-port.h, - tests/gtest/include/gtest/internal/custom/gtest.h, - tests/gtest/include/gtest/internal/gtest-internal.h, - tests/gtest/include/gtest/internal/gtest-param-util-generated.h, - tests/gtest/include/gtest/internal/gtest-param-util.h, - tests/gtest/include/gtest/internal/gtest-port-arch.h, - tests/gtest/include/gtest/internal/gtest-port.h, - tests/gtest/src/gtest-death-test.cc, - tests/gtest/src/gtest-internal-inl.h, tests/gtest/src/gtest-port.cc, - tests/gtest/src/gtest-printers.cc, tests/gtest/src/gtest.cc: - updated gtest - -2017-12-19 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac: - configure: dropped check of outdated Ghostscript version - - * configure.ac, src/Makefile.am: - configure: added --with-kpathsea to set the path of the kpathsea devel - files -closes #71 - -2017-12-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.cpp: - psdefs: replaced '6 array' with 'matrix' - -2017-12-17 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/Makefile.am, libs/woff2/include/woff2/file.h, - src/FontWriter.cpp, src/FontWriter.hpp, src/Makefile.am, - src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, - src/TrueTypeFont.cpp, src/TrueTypeFont.hpp, src/ffwrapper.c, - src/ffwrapper.h, src/utility.cpp, src/utility.hpp: - replaced ff_sfd_to_woff() with TrueTypeFont::writeWOFF() - - * configure.ac, src/FontWriter.cpp, src/Makefile.am, src/dvisvgm.cpp: - added optional support for ttfautohint - -2017-12-14 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, libs/Makefile.am, libs/brotli/LICENSE, - libs/brotli/Makefile.am, libs/brotli/common/constants.h, - libs/brotli/common/dictionary.c, libs/brotli/common/dictionary.h, - libs/brotli/common/version.h, libs/brotli/enc/backward_references.c, - libs/brotli/enc/backward_references.h, - libs/brotli/enc/backward_references_hq.c, - libs/brotli/enc/backward_references_hq.h, - libs/brotli/enc/backward_references_inc.h, libs/brotli/enc/bit_cost.c, - libs/brotli/enc/bit_cost.h, libs/brotli/enc/bit_cost_inc.h, - libs/brotli/enc/block_encoder_inc.h, libs/brotli/enc/block_splitter.c, - libs/brotli/enc/block_splitter.h, libs/brotli/enc/block_splitter_inc.h, - libs/brotli/enc/brotli_bit_stream.c, libs/brotli/enc/brotli_bit_stream.h, - libs/brotli/enc/cluster.c, libs/brotli/enc/cluster.h, - libs/brotli/enc/cluster_inc.h, libs/brotli/enc/command.h, - libs/brotli/enc/compress_fragment.c, libs/brotli/enc/compress_fragment.h, - libs/brotli/enc/compress_fragment_two_pass.c, - libs/brotli/enc/compress_fragment_two_pass.h, libs/brotli/enc/context.h, - libs/brotli/enc/dictionary_hash.c, libs/brotli/enc/dictionary_hash.h, - libs/brotli/enc/encode.c, libs/brotli/enc/entropy_encode.c, - libs/brotli/enc/entropy_encode.h, - libs/brotli/enc/entropy_encode_static.h, libs/brotli/enc/fast_log.h, - libs/brotli/enc/find_match_length.h, libs/brotli/enc/hash.h, - libs/brotli/enc/hash_forgetful_chain_inc.h, - libs/brotli/enc/hash_longest_match64_inc.h, - libs/brotli/enc/hash_longest_match_inc.h, - libs/brotli/enc/hash_longest_match_quickly_inc.h, - libs/brotli/enc/hash_to_binary_tree_inc.h, libs/brotli/enc/histogram.c, - libs/brotli/enc/histogram.h, libs/brotli/enc/histogram_inc.h, - libs/brotli/enc/literal_cost.c, libs/brotli/enc/literal_cost.h, - libs/brotli/enc/memory.c, libs/brotli/enc/memory.h, - libs/brotli/enc/metablock.c, libs/brotli/enc/metablock.h, - libs/brotli/enc/metablock_inc.h, libs/brotli/enc/port.h, - libs/brotli/enc/prefix.h, libs/brotli/enc/quality.h, - libs/brotli/enc/ringbuffer.h, libs/brotli/enc/static_dict.c, - libs/brotli/enc/static_dict.h, libs/brotli/enc/static_dict_lut.h, - libs/brotli/enc/utf8_util.c, libs/brotli/enc/utf8_util.h, - libs/brotli/enc/write_bits.h, libs/brotli/include/brotli/decode.h, - libs/brotli/include/brotli/encode.h, libs/brotli/include/brotli/port.h, - libs/brotli/include/brotli/types.h, libs/woff2/Makefile.am, - libs/woff2/brotli/LICENSE, libs/woff2/brotli/Makefile.am, - libs/woff2/brotli/common/constants.h, - libs/woff2/brotli/common/dictionary.c, - libs/woff2/brotli/common/dictionary.h, - libs/woff2/brotli/common/version.h, - libs/woff2/brotli/enc/backward_references.c, - libs/woff2/brotli/enc/backward_references.h, - libs/woff2/brotli/enc/backward_references_hq.c, - libs/woff2/brotli/enc/backward_references_hq.h, - libs/woff2/brotli/enc/backward_references_inc.h, - libs/woff2/brotli/enc/bit_cost.c, libs/woff2/brotli/enc/bit_cost.h, - libs/woff2/brotli/enc/bit_cost_inc.h, - libs/woff2/brotli/enc/block_encoder_inc.h, - libs/woff2/brotli/enc/block_splitter.c, - libs/woff2/brotli/enc/block_splitter.h, - libs/woff2/brotli/enc/block_splitter_inc.h, - libs/woff2/brotli/enc/brotli_bit_stream.c, - libs/woff2/brotli/enc/brotli_bit_stream.h, - libs/woff2/brotli/enc/cluster.c, libs/woff2/brotli/enc/cluster.h, - libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, - libs/woff2/brotli/enc/compress_fragment.c, - libs/woff2/brotli/enc/compress_fragment.h, - libs/woff2/brotli/enc/compress_fragment_two_pass.c, - libs/woff2/brotli/enc/compress_fragment_two_pass.h, - libs/woff2/brotli/enc/context.h, libs/woff2/brotli/enc/dictionary_hash.c, - libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, - libs/woff2/brotli/enc/entropy_encode.c, - libs/woff2/brotli/enc/entropy_encode.h, - libs/woff2/brotli/enc/entropy_encode_static.h, - libs/woff2/brotli/enc/fast_log.h, - libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, - libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, - libs/woff2/brotli/enc/hash_longest_match64_inc.h, - libs/woff2/brotli/enc/hash_longest_match_inc.h, - libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, - libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, - libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/histogram.h, - libs/woff2/brotli/enc/histogram_inc.h, - libs/woff2/brotli/enc/literal_cost.c, - libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/memory.c, - libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, - libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/metablock_inc.h, - libs/woff2/brotli/enc/port.h, libs/woff2/brotli/enc/prefix.h, - libs/woff2/brotli/enc/quality.h, libs/woff2/brotli/enc/ringbuffer.h, - libs/woff2/brotli/enc/static_dict.c, libs/woff2/brotli/enc/static_dict.h, - libs/woff2/brotli/enc/static_dict_lut.h, - libs/woff2/brotli/enc/utf8_util.c, libs/woff2/brotli/enc/utf8_util.h, - libs/woff2/brotli/enc/write_bits.h, - libs/woff2/brotli/include/brotli/decode.h, - libs/woff2/brotli/include/brotli/encode.h, - libs/woff2/brotli/include/brotli/port.h, - libs/woff2/brotli/include/brotli/types.h, src/Makefile.am, - tests/Makefile.am, tests/create-makefile: - moved brotli from woff2 to libs folder - -2017-12-12 Martin Gieseking <martin.gieseking@uos.de> - - * libs/variant/include/mpark/config.hpp, - libs/variant/include/mpark/lib.hpp, - libs/variant/include/mpark/variant.hpp: - updated mpark::variant to - https://github.com/mpark/variant/commit/382014b -fixes a build error - introduced with MSVC 19.12 - -2017-12-11 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.2.3 - - * NEWS: - updated NEWS - -2017-11-29 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/brotli/common/dictionary.h, - libs/woff2/brotli/common/version.h, - libs/woff2/brotli/enc/backward_references_hq.c, - libs/woff2/brotli/enc/backward_references_hq.h, - libs/woff2/brotli/enc/port.h, libs/woff2/brotli/enc/quality.h, - libs/woff2/brotli/include/brotli/decode.h, - libs/woff2/brotli/include/brotli/encode.h: - updated brotli to version 1.0.2 - -2017-11-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp, src/BoundingBox.hpp, - src/Color.cpp, src/PathClipper.cpp, src/SVGTree.cpp, - tests/BoundingBoxTest.cpp: - minor code cleanup and improvements - - * src/DependencyGraph.hpp: - simplified DependencyGraph::GraphNode - -2017-11-23 Martin Gieseking <martin.gieseking@uos.de> - - * tests/TpicSpecialTest.cpp: - added missing initializers in TpicSpecialTest - - * tests/EmSpecialTest.cpp: - added missing initializers in EmSpecialTest - - * src/DependencyGraph.hpp: - fixed dangling pointer issue in DependencyGraph - - * src/Makefile.am, tests/Makefile.am, tests/create-makefile: - suppress warnings regarding 'mismatched tags' - (class/struct) -https://gcc.gnu.org/wiki/FAQ#Why_GCC_does_not_warn_for_mismatch_between_struct_and_class_.28-Wmismatched-tags.29_.3F - -2017-11-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSPattern.cpp, src/SVGCharHandler.cpp, src/SVGTree.cpp, - src/TpicSpecialHandler.cpp: - removed redundant calls of std::move() - - * src/Subfont.cpp, src/Subfont.hpp, tests/CMapManagerTest.cpp, - tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, tests/Makefile.am, - tests/MapLineTest.cpp, tests/SubfontTest.cpp, tests/create-makefile, - tests/testmain.cpp, tests/testutil.hpp: - tests: moved common initializations to testmain.cpp - - * src/DVIReader.hpp, tests/DVIReaderTest.cpp, tests/Makefile.am, - tests/data/Makefile.am, tests/data/cmr10.pfb, tests/data/sample_v2.dvi, - tests/data/sample_v3.dvi: - added test for DVIReader - -2017-11-21 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am: - removed redundant lcov statement from Makefile - -2017-11-20 Martin Gieseking <martin.gieseking@uos.de> - - * tests/CMapTest.cpp, tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp, - tests/RangeMapTest.cpp, tests/TFMReaderTest.cpp, - tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, - tests/VectorStreamTest.cpp: - tests: few code improvements - - * README.md: - added donation badge to readme - -2017-11-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Font.hpp: - prevent dangling pointers to font map entries (closes #79) - - * src/CMapManager.cpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp, - src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp, - src/FontMap.hpp, src/Ghostscript.cpp, src/MiKTeXCom.cpp, src/XMLNode.cpp: - replaced null pointer constants with 'nullptr' - - * src/XMLString.cpp, tests/TensorProductPatchTest.cpp, - tests/XMLStringTest.cpp: - avoid scientific notation when printing floats/doubles - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.2.2 - - * NEWS: - updated NEWS - -2017-11-13 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am: - ensure tweak-db-refentry.xsl is put into the tarball - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.2.1 - - * NEWS, README.md: - updated NEWS and README - - * libs/variant/include/mpark/lib.hpp, - libs/variant/include/mpark/variant.hpp: - updated mpark::variant to commit - ea542a0 -https://github.com/mpark/variant/commit/ea542a0fef86fb8c1696238b95bdaddb8ff2337c - -2017-11-10 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md, doc/dvisvgm.txt.in: - minor additions/fixes of manpage and README - -2017-11-02 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/db2html.xsl, doc/tweak-db-refentry.xsl: - manpage: avoid using 'stats' to improve portability (closes #72) - -2017-10-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/InputReader.cpp, src/InputReader.hpp, src/PSInterpreter.cpp: - simplified code to lookup PS operators - -2017-10-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - properly apply CTM to linewidth (closes #77) - - * src/PsSpecialHandler.hpp, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - call applyscalevals on every change of the CTM - -2017-10-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.hpp, - src/DvisvgmSpecialHandler.cpp, src/EPSToSVG.cpp, src/EPSToSVG.hpp, - src/EmSpecialHandler.cpp, src/HyperlinkManager.cpp, src/PSPattern.cpp, - src/PSPattern.hpp, src/PsSpecialHandler.cpp, src/SVGCharHandler.cpp, - src/SVGCharHandler.hpp, src/SVGCharPathHandler.cpp, - src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp, - src/SVGTree.cpp, src/SVGTree.hpp, src/ShadingPatch.hpp, - src/SpecialActions.hpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, - src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/utility.hpp, - tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, - tests/TpicSpecialTest.cpp, tests/XMLNodeTest.cpp: - replaced raw XMLNode pointers with unique_ptrs -which helps to ensure - proper ownership and simplifies deleting the corresponding objects - - * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp: - manage heap memory in DependencyGraph with unique_ptrs - -2017-10-21 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/fontforge/macbinary.c: - updated link to CTAN:/tools/macutils/crc - -2017-10-20 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/include/woff2/version.h: - replaced CRLF line endings - -2017-10-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMapManager.cpp, src/CMapReader.cpp, src/CMapReader.hpp, - src/DVIActions.hpp, src/DVIToSVG.cpp, src/DVIToSVG.hpp, - src/DVIToSVGActions.hpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp, - src/FontEncoding.cpp, src/FontEncoding.hpp, src/FontEngine.cpp, - src/FontEngine.hpp, src/FontManager.cpp, src/FontMetrics.cpp, - src/FontMetrics.hpp, src/PSPattern.hpp, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.hpp, src/SVGCharHandlerFactory.cpp, - src/SVGCharHandlerFactory.hpp, src/SVGOutput.cpp, - src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/ShadingPatch.cpp, - src/ShadingPatch.hpp, src/SignalHandler.cpp, src/Subfont.cpp, - src/Subfont.hpp, src/XMLNode.cpp, tests/CMapReaderTest.cpp, - tests/ShadingPatchTest.cpp: - replaced several bare new/delete statements with unique pointers - - * src/dvisvgm.cpp: - fixed output of option --version - - * src/Length.hpp, src/PageSize.cpp: - added user-defined literals for some length units - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.2 - - * NEWS, README, README.md: - updated NEWS and README - -2017-10-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontWriter.cpp: - added missing #include of config.h - - * src/Message.cpp: - check for '\0' at end of DVISVGM_COLORS - - * src/Subfont.cpp: - don't access unique_ptr after it has been moved - -2017-10-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/PDFParser.cpp, src/PDFParser.hpp: - replaced shared_ptr with unique_ptr in PDFParser - -2017-10-13 Martin Gieseking <martin.gieseking@uos.de> - - * AUTHORS, configure.ac, doc/dvisvgm.txt.in, libs/Makefile.am, - libs/variant/CMakeLists.txt, libs/variant/LICENSE.md, - libs/variant/Makefile.am, libs/variant/include/mpark/in_place.hpp, - libs/variant/include/mpark/lib.hpp, - libs/variant/include/mpark/variant.hpp, src/HyperlinkManager.cpp, - src/HyperlinkManager.hpp, src/InputReader.hpp, src/Makefile.am, - src/PDFParser.cpp, src/PDFParser.hpp, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.hpp, tests/Makefile.am, tests/PDFParserTest.cpp, - tests/SpecialManagerTest.cpp, tests/create-makefile: - added evaluation of PDF hyperlink specials (closes #74) - - * libs/variant/include/mpark/config.hpp: - added missing config file - - * .travis.yml: - Travis: use gcc 4.9 rather than 4.8 to compile mpark::variant correctly - - * tests/Makefile.am, tests/create-makefile, tests/testmain.cpp: - add custom testmain to gtest.a - -2017-10-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, - src/HyperlinkManager.cpp, src/HyperlinkManager.hpp, src/Makefile.am, - src/dvisvgm.cpp: - separated hyperlink functionality from HtmlSpecialHandler to - HyperlinkManager - -2017-10-09 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, - libs/woff2/src/woff2_enc.cc: - woff2: removed unused variables to prevent compiler warnings - - * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, - libs/woff2/src/woff2_enc.cc: - woff2: removed unused variables to prevent compiler warnings - -2017-10-08 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/Makefile.am, libs/woff2/include/woff2/decode.h, - libs/woff2/include/woff2/encode.h, libs/woff2/include/woff2/file.h, - libs/woff2/include/woff2/output.h, libs/woff2/include/woff2/version.h, - libs/woff2/src/buffer.h, libs/woff2/src/file.h, libs/woff2/src/font.cc, - libs/woff2/src/font.h, libs/woff2/src/glyph.cc, libs/woff2/src/glyph.h, - libs/woff2/src/normalize.cc, libs/woff2/src/normalize.h, - libs/woff2/src/port.h, libs/woff2/src/round.h, - libs/woff2/src/store_bytes.h, libs/woff2/src/table_tags.cc, - libs/woff2/src/table_tags.h, libs/woff2/src/transform.cc, - libs/woff2/src/transform.h, libs/woff2/src/variable_length.cc, - libs/woff2/src/variable_length.h, libs/woff2/src/woff2_common.cc, - libs/woff2/src/woff2_common.h, libs/woff2/src/woff2_dec.h, - libs/woff2/src/woff2_enc.cc, libs/woff2/src/woff2_enc.h, - libs/woff2/src/woff2_out.cc, libs/woff2/src/woff2_out.h, - src/FontWriter.cpp, src/Makefile.am, src/dvisvgm.cpp: - updated woff2 to version 1.0.1 - -2017-10-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/CRC32.hpp, src/SpecialManager.hpp, src/Subfont.hpp, src/XMLNode.hpp: - use delete/default to remove/implement constructors - - * src/XMLNode.cpp, src/XMLNode.hpp: - added move constructor to XMLElementNode - - * src/Subfont.cpp, src/Subfont.hpp, src/utility.hpp: - removed stream-based constructor of SubfontException - -2017-09-29 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/PapersizeSpecialHandler.cpp, - src/PapersizeSpecialHandler.hpp, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.hpp, src/SpecialManager.cpp, - src/SpecialManager.hpp, tests/PapersizeSpecialTest.cpp: - added evaluation of pdf:pagesize specials - -2017-09-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/Length.hpp, src/PageSize.cpp, src/PageSize.hpp, - src/utility.hpp, tests/PageSizeTest.cpp: - use class Length in PageSize rather than plain numbers - - * src/BoundingBox.cpp, src/BoundingBox.hpp, src/DVIToSVG.cpp, - src/utility.cpp, src/utility.hpp, tests/BoundingBoxTest.cpp, - tests/UtilityTest.cpp: - rewrite of BoundingBox::extractLengths() - -2017-09-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/TpicSpecialHandler.cpp: - use isxdigit() to check hex digits - - * src/InputReader.cpp, src/InputReader.hpp, tests/Makefile.am, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StringMatcherTest.cpp: - use Knuth-Morris-Pratt algorithm to find a string in a stream - - * libs/woff2/brotli/common/constants.h, - libs/woff2/brotli/common/dictionary.c, - libs/woff2/brotli/common/dictionary.h, - libs/woff2/brotli/common/version.h, - libs/woff2/brotli/enc/backward_references.c, - libs/woff2/brotli/enc/backward_references_hq.c, - libs/woff2/brotli/enc/backward_references_hq.h, - libs/woff2/brotli/enc/backward_references_inc.h, - libs/woff2/brotli/enc/block_splitter.c, - libs/woff2/brotli/enc/block_splitter_inc.h, - libs/woff2/brotli/enc/brotli_bit_stream.c, - libs/woff2/brotli/enc/brotli_bit_stream.h, - libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, - libs/woff2/brotli/enc/compress_fragment.c, - libs/woff2/brotli/enc/compress_fragment_two_pass.c, - libs/woff2/brotli/enc/encode.c, - libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, - libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, - libs/woff2/brotli/enc/hash_longest_match64_inc.h, - libs/woff2/brotli/enc/hash_longest_match_inc.h, - libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, - libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, - libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/port.h, - libs/woff2/brotli/enc/write_bits.h, - libs/woff2/brotli/include/brotli/decode.h, - libs/woff2/brotli/include/brotli/encode.h: - updated Brotli to version 1.0.1 - -2017-09-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/SpecialManager.cpp, src/SpecialManager.hpp, - src/utility.hpp, tests/Makefile.am, tests/SpecialManagerTest.cpp: - use smart pointers to allocate/deallocate SpecialHandlers - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, - src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, - src/SpecialHandler.hpp, src/SpecialManager.cpp, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, - tests/ColorSpecialTest.cpp, tests/PapersizeSpecialTest.cpp: - changed return value of SpecialHandler::prefixes() to std::vector - - * .appveyor.yml: - AppVeyor: updated FreeType to version 2.8.1 - -2017-09-13 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FileSystemTest.cpp: - close streams before removing corresponding files - -2017-09-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/dvisvgm.cpp: - fixed number of dashes printed by option -V1 - -2017-09-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp: - DependencyGraph::getKeys(): return result, don't use reference parameter - - * src/FileFinder.cpp, src/Makefile.am: - added missing #include; added windows.hpp to Makefile.am - - * tests/Makefile.am, tests/create-makefile, tests/testmain.cpp: - define variable TEST_ARGV0 to make argv[0] of main() available in - tests -this is required to initialize kpathsea properly, for example - - * src/FileFinder.cpp, src/FileFinder.hpp, tests/CMapManagerTest.cpp, - tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, - tests/MapLineTest.cpp, tests/SubfontTest.cpp: - init libkpathsea correctly in tests to prevent assertion failures - - * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: - updated xxHash to version 0.6.3 - -2017-09-07 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FontCacheTest.cpp, tests/Makefile.am, tests/create-makefile: - fixed path issue in FontCacheTest - - * src/GFReader.cpp: - fixed incorrect integer type in GFReader; insert CharInfos with emplace - - * src/MapLine.cpp, tests/MapLineTest.cpp: - treat prefix "<<" in a mapline as "<[" (skip second char) - - * doc/dvisvgm.txt.in, src/dvisvgm.cpp: - added pdftex.map to default mapfiles - -2017-09-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.cpp, src/BgColorSpecialHandler.cpp, src/Bitmap.cpp, - src/BoundingBox.cpp, src/CMap.cpp, src/CMapReader.cpp, src/CRC32.cpp, - src/Calculator.cpp, src/ColorSpecialHandler.cpp, src/DLLoader.cpp, - src/DVIReader.cpp, src/Directory.cpp, src/EPSFile.cpp, src/EPSToSVG.cpp, - src/EmSpecialHandler.cpp, src/EncFile.cpp, src/FileFinder.cpp, - src/FilePath.cpp, src/Font.cpp, src/FontCache.cpp, src/FontEncoding.cpp, - src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp, - src/FontMap.hpp, src/FontMetrics.cpp, src/FontWriter.cpp, - src/GFGlyphTracer.cpp, src/GFTracer.cpp, src/HtmlSpecialHandler.cpp, - src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/MapLine.cpp, - src/Message.cpp, src/MetafontWrapper.cpp, src/MiKTeXCom.cpp, - src/NoPsSpecialHandler.cpp, src/PSInterpreter.cpp, src/PSPattern.cpp, - src/PSPreviewFilter.cpp, src/PageRanges.cpp, src/PageSize.cpp, - src/PathClipper.cpp, src/PdfSpecialHandler.cpp, src/SVGTree.cpp, - src/SpecialManager.cpp, src/StreamWriter.cpp, src/TFM.cpp, - src/VFReader.cpp, src/XMLDocument.cpp, src/XMLNode.cpp, - src/XMLString.cpp, src/dvisvgm.cpp: - removed redundant #includes of config.h - - * src/DLLoader.hpp, src/Directory.cpp, src/Directory.hpp, - src/FileSystem.cpp, src/MiKTeXCom.hpp, src/Process.cpp, src/Terminal.cpp, - src/windows.hpp: - disable macros min/max defined in windows.h - - * src/CLCommandLine.cpp, src/CMapManager.cpp, src/CMapManager.hpp, - src/Calculator.cpp, src/Calculator.hpp, src/DVIToSVG.cpp, - src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, src/FileFinder.cpp, - src/Font.cpp, src/Font.hpp, src/FontCache.hpp, src/FontEncoding.cpp, - src/FontManager.cpp, src/FontManager.hpp, src/FontMap.hpp, - src/GFReader.hpp, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp, - src/InputReader.cpp, src/InputReader.hpp, src/Message.cpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/SVGTree.cpp, - src/SVGTree.hpp, src/SpecialManager.hpp, src/Subfont.cpp, - src/Subfont.hpp, tests/StreamInputBufferTest.cpp: - replaced std::map with std::unordered_map where possible to increase - performance - -2017-09-05 Martin Gieseking <martin.gieseking@uos.de> - - * tests/DvisvgmSpecialTest.cpp: - replaced constexpr with const to make clang happy - - * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp, - tests/DvisvgmSpecialTest.cpp: - allow all common length units in dvisvgm specials - -2017-08-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/AGLTable.hpp, src/CMapReader.cpp, src/Color.cpp, - src/CommandLine.hpp, src/FontWriter.cpp, tests/genhashcheck.py: - use list initialization on constant std::arrays - - * tests/MapLineTest.cpp: - added braces to prevent compiler warnings - -2017-08-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMapManager.cpp, src/DvisvgmSpecialHandler.cpp, src/Font.cpp, - src/Ghostscript.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp, - tests/DvisvgmSpecialTest.cpp: - use range-based for to iterate over a fixed sequence of items - -2017-08-17 Martin Gieseking <martin.gieseking@uos.de> - - * m4/ax_code_coverage.m4: - updated ax_code_coverage.m4 to version 25 - -2017-08-06 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml: - AppVeyor: updated potrace to version 1.15 - -2017-08-01 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc, - libs/woff2/src/port.h, libs/woff2/src/store_bytes.h, - libs/woff2/src/woff2_common.cc, libs/woff2/src/woff2_enc.cc: - updated woff2 to https://github.com/google/woff2/commits/2e09253 - -2017-06-26 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml: - AppVeyor: changed build image to VS 2017; updated FreeType to 2.8 - -2017-06-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - psfile: fixed sign of y coordinates - -2017-06-12 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.hpp: - use bp units for line width and miter limit - -2017-06-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/EPSToSVG.cpp: - remove redundant clipPath elements also when converting EPS files - -2017-05-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/GraphicsPath.hpp: - replaced vector with deque in class GraphicsPath -due to cheaper front - insertions/deletions - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp: - manage memory of ClippingStack with shared pointers -- automatically - deletes unreferenced path objects -- avoids keeping popped (and no longer - required) paths in the pool vector - -2017-05-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/Pair.hpp, tests/PairTest.cpp: - added abs() and negation operator to class Pair - - * src/Matrix.hpp, src/PsSpecialHandler.cpp: - respect transformation of PS state in computation of psfile position - (fixes #70) - - * src/FileFinder.cpp, src/PsSpecialHandler.cpp: - lookup psfile in texmf tree if it's not present in cwd (fixes #69) - -2017-05-16 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FontCacheTest.cpp, tests/Makefile.am, tests/create-makefile: - FontCacheTest: write test output to $builddir/data -$srcdir/data may be - read-only so that the tests fail unintentionally - -2017-05-15 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/brotli/LICENSE, libs/woff2/brotli/Makefile.am, - libs/woff2/brotli/common/constants.h, - libs/woff2/brotli/common/dictionary.c, - libs/woff2/brotli/common/dictionary.h, - libs/woff2/brotli/common/version.h, - libs/woff2/brotli/enc/backward_references.c, - libs/woff2/brotli/enc/backward_references.h, - libs/woff2/brotli/enc/backward_references_hq.c, - libs/woff2/brotli/enc/backward_references_hq.h, - libs/woff2/brotli/enc/backward_references_inc.h, - libs/woff2/brotli/enc/block_splitter_inc.h, - libs/woff2/brotli/enc/command.h, - libs/woff2/brotli/enc/compress_fragment.c, - libs/woff2/brotli/enc/compress_fragment.h, - libs/woff2/brotli/enc/compress_fragment_two_pass.c, - libs/woff2/brotli/enc/compress_fragment_two_pass.h, - libs/woff2/brotli/enc/context.h, libs/woff2/brotli/enc/dictionary_hash.c, - libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, - libs/woff2/brotli/enc/fast_log.h, libs/woff2/brotli/enc/hash.h, - libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, - libs/woff2/brotli/enc/hash_longest_match64_inc.h, - libs/woff2/brotli/enc/hash_longest_match_inc.h, - libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, - libs/woff2/brotli/enc/hash_to_binary_tree_inc.h, - libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/literal_cost.c, - libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, - libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/quality.h, - libs/woff2/brotli/enc/static_dict.c, libs/woff2/brotli/enc/static_dict.h, - libs/woff2/brotli/include/brotli/decode.h, - libs/woff2/brotli/include/brotli/encode.h, - libs/woff2/brotli/include/brotli/port.h, - libs/woff2/brotli/include/brotli/types.h: - updated brotli to version 0.6.0 - -2017-05-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/Process.cpp: - close pipe if fork() fails - -2017-05-08 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/SignalHandler.cpp, src/SignalHandler.hpp: - use sigaction() rather than signal() if possible - - * src/Process.cpp, src/Process.hpp: - refactored Process class -- use separate class to encapsulate - system-dependent stuff and to ensure - proper termination in case of - signals or errors -- prevent blocking if subprocess doesn't write anything - to stdout/stderr - -2017-04-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/Process.cpp: - quit Process::run() if child process terminated unexpectedly (fixes #68) - -2017-04-27 Martin Gieseking <martin.gieseking@uos.de> - - * tests/Makefile.am, tests/create-makefile: - added the FontWriter dependencies to the tests - -2017-04-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp, src/Color.hpp, src/PSPattern.cpp, - tests/ColorSpecialTest.cpp: - avoid implicit conversion of Color object to RGB integer - - * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp, - tests/Makefile.am, tests/TpicSpecialTest.cpp: - improved the TPIC special handler and added tests for it - - * src/TpicSpecialHandler.cpp, tests/TpicSpecialTest.cpp: - added evaluation of TPIC's 'tx' special command - -2017-04-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.hpp, src/BgColorSpecialHandler.hpp, - src/CLCommandLine.hpp, src/CMapManager.hpp, src/DVIToSVGActions.hpp, - src/DependencyGraph.hpp, src/DvisvgmSpecialHandler.hpp, src/FilePath.hpp, - src/Font.hpp, src/FontCache.cpp, src/FontCache.hpp, src/FontEngine.cpp, - src/FontManager.hpp, src/Ghostscript.hpp, src/Glyph.hpp, - src/GraphicsPath.hpp, src/HtmlSpecialHandler.hpp, src/NumericRanges.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PathClipper.cpp, src/PathClipper.hpp, src/PsSpecialHandler.hpp, - src/RangeMap.hpp, src/SVGCharPathHandler.hpp, src/ShadingPatch.hpp, - src/SpecialManager.hpp, src/Subfont.hpp, src/VFReader.hpp, - src/XMLNode.cpp, src/XMLNode.hpp, src/dvisvgm.cpp: - replaced typedefs with 'using' statements - -2017-04-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/Ghostscript.cpp: - simplify code for looking up libgs (closes #66) - -2017-04-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/DLLoader.cpp, src/DLLoader.hpp: - added DLLoader::loadLibrary() to assign a different library - - * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp: - replaced c-string parameters of DLLoader() and loadLibrary() with - std::string - -2017-04-13 Toby Fleming <tobywf@users.noreply.github.com> - - * src/Ghostscript.cpp: - Auto-detect ghostscript dynamic library on macOS - -2017-03-22 Martin Gieseking <martin.gieseking@uos.de> - - * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4: - updated m4 scripts - -2017-03-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp, tests/FileFinderTest.cpp: - fixed handling of absolute additional directories in FileFinder - - * tests/FilePathTest.cpp, tests/FontCacheTest.cpp, - tests/SVGOutputTest.cpp: - tests: minor path improvements - -2017-03-02 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/src/normalize.cc, libs/woff2/src/woff2_enc.cc: - woff2: removed unused variables - - * src/Makefile.am, src/dvisvgm.cpp: - improved generation of list showing the library versions - - * src/Color.cpp, src/FilePath.cpp, src/FontWriter.cpp, src/PageSize.cpp, - src/dvisvgm.cpp, src/utility.cpp, src/utility.hpp, tests/UtilityTest.cpp: - removed side-effect from util::to_lower(); returns new modified string - instead - -2017-03-01 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/fontforge/nowakowskittfinstr.c: - ff-woff: removed redundant variables - - * libs/woff2/Makefile.am, libs/woff2/brotli/Makefile.am, - libs/woff2/brotli/common/constants.h, - libs/woff2/brotli/common/dictionary.c, - libs/woff2/brotli/common/dictionary.h, - libs/woff2/brotli/common/version.h, - libs/woff2/brotli/enc/backward_references.c, - libs/woff2/brotli/enc/backward_references.cc, - libs/woff2/brotli/enc/backward_references.h, - libs/woff2/brotli/enc/backward_references_inc.h, - libs/woff2/brotli/enc/bit_cost.c, libs/woff2/brotli/enc/bit_cost.h, - libs/woff2/brotli/enc/bit_cost_inc.h, - libs/woff2/brotli/enc/block_encoder_inc.h, - libs/woff2/brotli/enc/block_splitter.c, - libs/woff2/brotli/enc/block_splitter.cc, - libs/woff2/brotli/enc/block_splitter.h, - libs/woff2/brotli/enc/block_splitter_inc.h, - libs/woff2/brotli/enc/brotli_bit_stream.c, - libs/woff2/brotli/enc/brotli_bit_stream.cc, - libs/woff2/brotli/enc/brotli_bit_stream.h, - libs/woff2/brotli/enc/cluster.c, libs/woff2/brotli/enc/cluster.h, - libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h, - libs/woff2/brotli/enc/compress_fragment.c, - libs/woff2/brotli/enc/compress_fragment.cc, - libs/woff2/brotli/enc/compress_fragment.h, - libs/woff2/brotli/enc/compress_fragment_two_pass.c, - libs/woff2/brotli/enc/compress_fragment_two_pass.cc, - libs/woff2/brotli/enc/compress_fragment_two_pass.h, - libs/woff2/brotli/enc/compressor.h, libs/woff2/brotli/enc/context.h, - libs/woff2/brotli/enc/dictionary.cc, libs/woff2/brotli/enc/dictionary.h, - libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c, - libs/woff2/brotli/enc/encode.cc, libs/woff2/brotli/enc/encode.h, - libs/woff2/brotli/enc/encode_parallel.cc, - libs/woff2/brotli/enc/encode_parallel.h, - libs/woff2/brotli/enc/entropy_encode.c, - libs/woff2/brotli/enc/entropy_encode.cc, - libs/woff2/brotli/enc/entropy_encode.h, - libs/woff2/brotli/enc/entropy_encode_static.h, - libs/woff2/brotli/enc/fast_log.h, - libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, - libs/woff2/brotli/enc/hash_forgetful_chain_inc.h, - libs/woff2/brotli/enc/hash_longest_match_inc.h, - libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h, - libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/histogram.cc, - libs/woff2/brotli/enc/histogram.h, libs/woff2/brotli/enc/histogram_inc.h, - libs/woff2/brotli/enc/literal_cost.c, - libs/woff2/brotli/enc/literal_cost.cc, - libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/memory.c, - libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c, - libs/woff2/brotli/enc/metablock.cc, libs/woff2/brotli/enc/metablock.h, - libs/woff2/brotli/enc/metablock_inc.h, libs/woff2/brotli/enc/port.h, - libs/woff2/brotli/enc/prefix.h, libs/woff2/brotli/enc/quality.h, - libs/woff2/brotli/enc/ringbuffer.h, libs/woff2/brotli/enc/static_dict.c, - libs/woff2/brotli/enc/static_dict.cc, - libs/woff2/brotli/enc/static_dict.h, - libs/woff2/brotli/enc/static_dict_lut.h, - libs/woff2/brotli/enc/streams.cc, libs/woff2/brotli/enc/streams.h, - libs/woff2/brotli/enc/transform.h, libs/woff2/brotli/enc/types.h, - libs/woff2/brotli/enc/utf8_util.c, libs/woff2/brotli/enc/utf8_util.cc, - libs/woff2/brotli/enc/utf8_util.h, libs/woff2/brotli/enc/write_bits.h, - libs/woff2/brotli/include/brotli/decode.h, - libs/woff2/brotli/include/brotli/encode.h, - libs/woff2/brotli/include/brotli/port.h, - libs/woff2/brotli/include/brotli/types.h, libs/woff2/src/buffer.h, - libs/woff2/src/font.cc, libs/woff2/src/glyph.cc, - libs/woff2/src/variable_length.cc, libs/woff2/src/woff2_dec.h, - libs/woff2/src/woff2_enc.cc, src/Makefile.am: - updated woff2 to https://github.com/google/woff2/commit/68e9ab5 - -2017-02-23 Martin Gieseking <martin.gieseking@uos.de> - - * tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, - tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/ColorTest.cpp, tests/CommandLineTest.cpp, - tests/DirectoryTest.cpp, tests/FileSystemTest.cpp, - tests/GraphicsPathTest.cpp, tests/JFMReaderTest.cpp, - tests/MatrixTest.cpp, tests/PageRagesTest.cpp, tests/RangeMapTest.cpp, - tests/SVGOutputTest.cpp, tests/SplittedCharInputBufferTest.cpp, - tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, - tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, - tests/TFMReaderTest.cpp, tests/ToUnicodeMapTest.cpp, - tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, - tests/XMLNodeTest.cpp: - fixed signed/unsigned warnings in tests - -2017-02-22 Martin Gieseking <martin.gieseking@uos.de> - - * libs/woff2/brotli/tools/bro.cc, libs/woff2/brotli/tools/rfc-format.py, - libs/woff2/brotli/tools/version.h: - removed redundant files - -2017-02-20 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.1.3 - - * NEWS: - updated NEWS - -2017-02-18 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/inc/ffintl.h: - ff-woff: removed redundant defines and prototypes to fix build failure - on Solaris - - * tests/genhashcheck.py: - reformatted genhashcheck - - * tests/BezierTest.cpp, tests/CRC32Test.cpp, tests/ToUnicodeMapTest.cpp, - tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, - tests/XMLNodeTest.cpp: - minor additions to some tests - -2017-02-15 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, libs/ff-woff/Makefile.am, - libs/ff-woff/fontforge/fflocale.c, libs/ff-woff/fontforge/fflocale.h, - libs/ff-woff/fontforge/sfd.c, libs/ff-woff/fontforge/splinefont.h, - libs/ff-woff/fontforge/tottf.c: - ff-woff: only call uselocale() if present, use setlocale() otherwise - -2017-02-14 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - added information on required C++11 compiler to README - - * tests/genhashcheck.py: - made genhashcheck.py compatible with Python 3 (plus few minor changes) - -2017-02-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/MapLine.cpp, src/MapLine.hpp, tests/ColorSpecialTest.cpp, - tests/FontMapTest.cpp, tests/LengthTest.cpp, tests/MapLineTest.cpp: - improved a couple of test cases - - * src/Color.cpp, src/Matrix.cpp, src/TpicSpecialHandler.cpp, - src/utility.hpp: - replaced non-standard constant M_PI with own definition - - * src/Color.cpp, src/Matrix.cpp, src/utility.hpp: - replaced local copies of deg2rad with global function - -2017-02-12 Martin Gieseking <martin.gieseking@uos.de> - - * .appveyor.yml, .travis.yml, appveyor.yml: - exclude branch 'tmp' from CI builds - -2017-02-11 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/Makefile.am, libs/ff-woff/fontforge/fontforge.h, - libs/ff-woff/inc/ffintl.h, libs/ff-woff/inc/intl.h: - don't try to #include libintl.h - - * .travis.yml: - Travis: enable clang builds again - - * NEWS: - updated NEWS - -2017-02-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/Calculator.cpp: - fixed number parsing in Calculator class (failed on Mac) - - * tests/StreamReaderTest.cpp: - clear istream flags to prevent failure of StreamReaderTest - - * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h: - removed 'restrict' keyword from xxHash - - * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.1.2 - -2017-02-09 Martin Gieseking <martin.gieseking@uos.de> - - * .gitignore, .travis.yml, Makefile.am, configure.ac, tests/Makefile.am, - tests/create-makefile, tests/gtest/LICENSE, - tests/gtest/include/gtest/gtest-death-test.h, - tests/gtest/include/gtest/gtest-message.h, - tests/gtest/include/gtest/gtest-param-test.h, - tests/gtest/include/gtest/gtest-printers.h, - tests/gtest/include/gtest/gtest-spi.h, - tests/gtest/include/gtest/gtest-test-part.h, - tests/gtest/include/gtest/gtest-typed-test.h, - tests/gtest/include/gtest/gtest.h, - tests/gtest/include/gtest/gtest_pred_impl.h, - tests/gtest/include/gtest/gtest_prod.h, - tests/gtest/include/gtest/internal/custom/gtest-port.h, - tests/gtest/include/gtest/internal/custom/gtest-printers.h, - tests/gtest/include/gtest/internal/custom/gtest.h, - tests/gtest/include/gtest/internal/gtest-death-test-internal.h, - tests/gtest/include/gtest/internal/gtest-filepath.h, - tests/gtest/include/gtest/internal/gtest-internal.h, - tests/gtest/include/gtest/internal/gtest-linked_ptr.h, - tests/gtest/include/gtest/internal/gtest-param-util-generated.h, - tests/gtest/include/gtest/internal/gtest-param-util.h, - tests/gtest/include/gtest/internal/gtest-port-arch.h, - tests/gtest/include/gtest/internal/gtest-port.h, - tests/gtest/include/gtest/internal/gtest-string.h, - tests/gtest/include/gtest/internal/gtest-tuple.h, - tests/gtest/include/gtest/internal/gtest-type-util.h, - tests/gtest/src/gtest-all.cc, tests/gtest/src/gtest-death-test.cc, - tests/gtest/src/gtest-filepath.cc, tests/gtest/src/gtest-internal-inl.h, - tests/gtest/src/gtest-port.cc, tests/gtest/src/gtest-printers.cc, - tests/gtest/src/gtest-test-part.cc, tests/gtest/src/gtest-typed-test.cc, - tests/gtest/src/gtest.cc, tests/gtest/src/gtest_main.cc: - bundle gtest with the sources to simplify building and running the tests - - * src/Directory.cpp, tests/DirectoryTest.cpp: - prevent calling closedir() with null pointer argument - - * src/VectorStream.hpp: - don't access first vector component if the vector is empty - - * src/GFReader.cpp, src/StreamReader.cpp, tests/GFReaderTest.cpp, - tests/StreamReaderTest.cpp: - improved implementation of getString() - - * src/CLCommandLine.cpp: - reset status flags before changing the sstream source - -2017-02-08 Martin Gieseking <martin.gieseking@uos.de> - - * tests/CommandLineTest.cpp: - removed redundant function - - * src/XMLString.cpp, tests/EmSpecialTest.cpp, tests/GFGlyphTracerTest.cpp: - avoid negative zeros (-0) in SVG output - - * src/BoundingBox.cpp: - fixed memory issue in BoundingBox class - - * src/CMapReader.cpp, src/InputReader.cpp, src/InputReader.hpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp: - fixed potential number overflow issue - - * tests/CMapReaderTest.cpp: - fixed memory leak in CMapReaderTest - - * src/Subfont.cpp: - fixed memory leak in Subfont class - - * src/XMLNode.cpp: - fixed memory leak in class XMLElementNode - -2017-02-07 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac: - replaced deprecated AC_CONFIG_HEADER - - * NEWS: - updated NEWS - - * libs/clipper/License.txt: - fixed line endings of clipper/License.txt - -2017-02-06 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.1.1 - -2017-02-04 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FontCacheTest.cpp: - fixed FontCacheTest ('make distcheck' failed) - -2017-02-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp, src/Color.hpp, src/VectorIterator.hpp, - tests/ColorTest.cpp, tests/VectorIteratorTest.cpp: - increased coverage of ColorTest - - * configure.ac, libs/ff-woff/fontforge/splinefont.h: - include xlocale.h in ff-woff if available (fixes #65) - -2017-02-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am: - removed spurious colon from src/Makefile.am - - * configure.ac: - allow C++11 language extensions if necessary - - * src/Font.cpp, src/Font.hpp: - report Metafont failures only once for each font - -2017-01-31 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - README: updated links, added release badge - -2017-01-30 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FontManagerTest.cpp, tests/data/cmr10.pfb: - prevent FontManagerTest to fail due to missing font files - -2017-01-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/Matrix.cpp, tests/MatrixTest.cpp: - minor changes of matrix class; improved MatrixTest - -2017-01-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - tests/Makefile.am, tests/PapersizeSpecialTest.cpp, tests/create-makefile: - added PapersizeSpecialTest - - * tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, - tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp, - tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, - tests/JFMReaderTest.cpp, tests/MapLineTest.cpp, tests/SubfontTest.cpp, - tests/TFMReaderTest.cpp, tests/TensorProductPatchTest.cpp: - added 'override' specifier to gtest methods - - * src/FontCache.cpp, src/FontCache.hpp, tests/FontCacheTest.cpp, - tests/Makefile.am: - added FontCacheTest - - * tests/Makefile.am, tests/create-makefile: - removed redundant linker flag from tests - - * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4: - updated m4 scripts to latest versions - -2017-01-23 Martin Gieseking <martin.gieseking@uos.de> - - * README.md, appveyor.yml: - added basic appveyor.yml - -2017-01-20 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/Makefile.am, libs/ff-woff/fontforge/fontforge.h, - libs/ff-woff/fontforge/tmpfile2.cpp, libs/ff-woff/fontforge/utils.c, - src/dvisvgm.cpp: - improved error handling of tmpfile2() in ff-woff -The FontForge library - doesn't check the return value of tmpfile() which may lead -to segfaults. - The replacement function tmpfile2() throws an exception or calls -exit() - so that dvisvgm can terminate more cleanly. - -2017-01-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/BoundingBox.cpp, src/Color.cpp, src/DVIToSVGActions.cpp, - src/FilePath.cpp, src/FileSystem.cpp, src/FontWriter.cpp, - src/Makefile.am, src/PageSize.cpp, src/SVGOutput.cpp, src/utility.cpp, - src/utility.hpp, tests/Makefile.am, tests/UtilityTest.cpp: - moved common utility functions to separate compilation unit and - namespace - - * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/EPSToSVG.cpp: - get program name and version from version.hpp, avoid using macros from - config.h - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.1 - - * NEWS: - updated NEWS - -2017-01-17 Martin Gieseking <martin.gieseking@uos.de> - - * libs/ff-woff/fontforge/utils.c, src/FileSystem.cpp, src/FileSystem.hpp, - src/Font.cpp, src/FontWriter.cpp, src/GlyphTracerMessages.hpp, - src/MetafontWrapper.cpp, src/MetafontWrapper.hpp, src/Process.cpp, - src/Process.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp: - create temp files in the system's temp folder rather than in cwd (closes - #63) - - * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/dvisvgm.cpp, - src/options.xml: - added option --tmpdir to select a different temp folder - - * src/FontWriter.cpp, src/FontWriter.hpp: - print error message if FontWriter can't write temporary files - -2017-01-12 Martin Gieseking <martin.gieseking@uos.de> - - * src/FilePath.cpp, src/FilePath.hpp, tests/FilePathTest.cpp, - tests/SVGOutputTest.cpp: - retain letter case of filenames (Windows) - - * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/SVGTree.hpp: - print warning message if output file could not be written - - * tests/GhostscriptTest.cpp: - disable GS banner in GhostscriptTest - -2017-01-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/dvisvgm.cpp: - added missing newlines in messages; fixed typo - -2017-01-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/AGLTable.hpp: - updated AGL table and removed colliding codepoints (closes #64) - -2017-01-03 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, - doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, - doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-dblatex-pdf.xsl, - libs/Makefile.am, src/AGLTable.hpp, src/BasicDVIReader.cpp, - src/BasicDVIReader.hpp, src/Bezier.cpp, src/Bezier.hpp, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp, - src/Bitmap.cpp, src/Bitmap.hpp, src/BoundingBox.cpp, src/BoundingBox.hpp, - src/CLCommandLine.cpp, src/CLCommandLine.hpp, src/CLOption.hpp, - src/CMap.cpp, src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.hpp, - src/CMapReader.cpp, src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp, - src/Calculator.cpp, src/Calculator.hpp, src/CharMapID.cpp, - src/CharMapID.hpp, src/Character.hpp, src/Color.cpp, src/Color.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp, - src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp, - src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp, - src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp, - src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp, - src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp, - src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp, - src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp, - src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp, - src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp, - src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp, - src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp, - src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp, - src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp, - src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp, - src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp, - src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp, - src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp, - src/Length.cpp, src/Length.hpp, src/Makefile.am, src/MapLine.cpp, - src/MapLine.hpp, src/Matrix.cpp, src/Matrix.hpp, src/Message.cpp, - src/Message.hpp, src/MessageException.hpp, src/MetafontWrapper.cpp, - src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.hpp, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.hpp, - src/NumericRanges.hpp, src/PSFilter.hpp, src/PSInterpreter.cpp, - src/PSInterpreter.hpp, src/PSPattern.cpp, src/PSPattern.hpp, - src/PSPreviewFilter.cpp, src/PSPreviewFilter.hpp, src/PageRanges.cpp, - src/PageRanges.hpp, src/PageSize.cpp, src/PageSize.hpp, src/Pair.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp, - src/PathClipper.cpp, src/PathClipper.hpp, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.hpp, src/Process.cpp, src/Process.hpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/RangeMap.cpp, - src/RangeMap.hpp, src/SVGCharHandler.cpp, src/SVGCharHandler.hpp, - src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.hpp, - src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.hpp, - src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.hpp, - src/SVGOutput.cpp, src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, - src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/SVGTree.hpp, - src/ShadingPatch.cpp, src/ShadingPatch.hpp, src/SignalHandler.cpp, - src/SignalHandler.hpp, src/SpecialActions.hpp, src/SpecialHandler.hpp, - src/SpecialManager.cpp, src/SpecialManager.hpp, src/StreamReader.cpp, - src/StreamReader.hpp, src/StreamWriter.cpp, src/StreamWriter.hpp, - src/Subfont.cpp, src/Subfont.hpp, src/System.cpp, src/System.hpp, - src/TFM.cpp, src/TFM.hpp, src/TensorProductPatch.cpp, - src/TensorProductPatch.hpp, src/Terminal.cpp, src/Terminal.hpp, - src/ToUnicodeMap.cpp, src/ToUnicodeMap.hpp, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.hpp, src/TriangularPatch.cpp, - src/TriangularPatch.hpp, src/Unicode.cpp, src/Unicode.hpp, - src/VFActions.hpp, src/VFReader.cpp, src/VFReader.hpp, - src/VectorIterator.hpp, src/VectorStream.hpp, src/XMLDocument.cpp, - src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/XMLString.cpp, - src/XMLString.hpp, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, - src/ffwrapper.c, src/ffwrapper.h, src/macros.hpp, src/options.dtd, - src/options.xml, src/psdefs.cpp, src/version.hpp, src/version.hpp.in, - tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, - tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, - tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, - tests/EmSpecialTest.cpp, tests/FileFinderTest.cpp, - tests/FilePathTest.cpp, tests/FileSystemTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, - tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, - tests/GraphicsPathTest.cpp, tests/JFMReaderTest.cpp, - tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, - tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, tests/RangeMapTest.cpp, - tests/SVGOutputTest.cpp, tests/ShadingPatchTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, - tests/SubfontTest.cpp, tests/TFMReaderTest.cpp, - tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, - tests/TriangularPatchTest.cpp, tests/UnicodeTest.cpp, - tests/VectorIteratorTest.cpp, tests/VectorStreamTest.cpp, - tests/XMLNodeTest.cpp, tests/XMLStringTest.cpp, tests/check-conv, - tests/create-makefile, tests/data/Makefile.am, tests/genhashcheck.py, - tests/normalize.xsl: - updated year in copyright statements to 2017 - -2016-12-20 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, - doc/dvisvgm.txt.in, doc/dvisvgm.xpr, doc/tweak-db-article.xsl: - manpage: minor refactorings of the XSLT scripts; added generation of - epub - -2016-12-16 Martin Gieseking <martin.gieseking@uos.de> - - * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, - doc/tweak-dblatex-pdf.xsl: - added missing email address to copyright headers - - * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, - doc/tweak-dblatex-pdf.xsl: - indent with tabs rather than spaces - - * doc/db2html.xsl: - manpage: replace icon of Author section - - * doc/conf-dblatex-pdf.xsl, doc/tweak-dblatex-pdf.xsl: - manpage: use mixed case titles in pdf output - -2016-12-15 Martin Gieseking <martin.gieseking@uos.de> - - * doc/db2html.xsl, doc/dvisvgm.xpr: - manpage: preserve whitespace in list of supported specials - -2016-11-16 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac: - ensure compiling C files with --std=c99 - -2016-11-14 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS: - updated NEWS - -2016-11-12 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - minor changes in manpage - - * README, README.md, configure.ac, libs/Makefile.am, libs/ff-woff/LICENSE, - libs/ff-woff/Makefile.am, libs/ff-woff/README.md, - libs/ff-woff/fontforge/PfEd.h, libs/ff-woff/fontforge/alphabet.c, - libs/ff-woff/fontforge/asmfpst.c, libs/ff-woff/fontforge/autohint.c, - libs/ff-woff/fontforge/char.c, libs/ff-woff/fontforge/cjk.c, - libs/ff-woff/fontforge/configure-fontforge.h, - libs/ff-woff/fontforge/cvundoes.c, libs/ff-woff/fontforge/dumppfa.c, - libs/ff-woff/fontforge/edgelist.h, libs/ff-woff/fontforge/edgelist2.h, - libs/ff-woff/fontforge/encoding.c, libs/ff-woff/fontforge/encoding.h, - libs/ff-woff/fontforge/fontforge-config.h, - libs/ff-woff/fontforge/fontforge.h, libs/ff-woff/fontforge/fontforgevw.h, - libs/ff-woff/fontforge/fvfonts.c, libs/ff-woff/fontforge/gwwiconv.c, - libs/ff-woff/fontforge/libffstamp.h, libs/ff-woff/fontforge/lookups.c, - libs/ff-woff/fontforge/macbinary.c, libs/ff-woff/fontforge/macenc.c, - libs/ff-woff/fontforge/mathconstants.c, libs/ff-woff/fontforge/memory.c, - libs/ff-woff/fontforge/mm.c, libs/ff-woff/fontforge/namehash.h, - libs/ff-woff/fontforge/namelist.c, libs/ff-woff/fontforge/nouiutil.c, - libs/ff-woff/fontforge/nowakowskittfinstr.c, - libs/ff-woff/fontforge/parsepfa.c, libs/ff-woff/fontforge/parsettf.c, - libs/ff-woff/fontforge/parsettfatt.c, libs/ff-woff/fontforge/psfont.h, - libs/ff-woff/fontforge/psread.c, libs/ff-woff/fontforge/pua.c, - libs/ff-woff/fontforge/sd.h, libs/ff-woff/fontforge/sfd.c, - libs/ff-woff/fontforge/sfd1.c, libs/ff-woff/fontforge/sfd1.h, - libs/ff-woff/fontforge/splinechar.c, libs/ff-woff/fontforge/splinefont.c, - libs/ff-woff/fontforge/splinefont.h, - libs/ff-woff/fontforge/splineorder2.c, - libs/ff-woff/fontforge/splineoverlap.c, - libs/ff-woff/fontforge/splinerefigure.c, - libs/ff-woff/fontforge/splinesave.c, - libs/ff-woff/fontforge/splinesaveafm.c, - libs/ff-woff/fontforge/splineutil.c, - libs/ff-woff/fontforge/splineutil2.c, libs/ff-woff/fontforge/start.c, - libs/ff-woff/fontforge/stemdb.c, libs/ff-woff/fontforge/stemdb.h, - libs/ff-woff/fontforge/tables.h, libs/ff-woff/fontforge/tottf.c, - libs/ff-woff/fontforge/tottfaat.c, libs/ff-woff/fontforge/tottfgpos.c, - libs/ff-woff/fontforge/tottfvar.c, libs/ff-woff/fontforge/ttf.h, - libs/ff-woff/fontforge/ttfinstrs.c, libs/ff-woff/fontforge/ttfinstrs.h, - libs/ff-woff/fontforge/ttfspecial.c, - libs/ff-woff/fontforge/uiinterface.h, libs/ff-woff/fontforge/unialt.c, - libs/ff-woff/fontforge/ustring.c, libs/ff-woff/fontforge/utils.c, - libs/ff-woff/fontforge/utype.c, libs/ff-woff/fontforge/woff.c, - libs/ff-woff/inc/basics.h, libs/ff-woff/inc/chardata.h, - libs/ff-woff/inc/charset.h, libs/ff-woff/inc/dlist.h, - libs/ff-woff/inc/gimage.h, libs/ff-woff/inc/gnetwork.h, - libs/ff-woff/inc/gwwiconv.h, libs/ff-woff/inc/intl.h, - libs/ff-woff/inc/ustring.h, libs/ff-woff/inc/utype.h, src/Makefile.am: - bundle reduced fontforge library (ff-woff) - - * configure.ac, libs/Makefile.am, libs/clipper/Makefile.am, - libs/ff-woff/Makefile.am, libs/woff2/Makefile.am, - libs/woff2/brotli/Makefile.am, libs/woff2/brotli/enc/Makefile.am, - libs/woff2/src/Makefile.am, src/Makefile.am: - added license files of bundled libraries; relocated Makefiles - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.0.4 - -2016-11-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/CommandLine.hpp, src/options.xml: - fixed a typo in the --help output - - * src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/DVIReader.cpp, - src/DVIReader.hpp: - use const variables for DVI opcodes rather than the values directly - -2016-11-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontWriter.cpp: - few cosmetic changes; added comments - -2016-09-27 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.0.3 - - * NEWS, README, README.md: - updated NEWS and README - -2016-09-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp, - src/DVIToSVG.hpp: - dropped tracking of previous DVI state from DVIReader - - * src/DVIReader.cpp: - fixed positioning of rules - -2016-09-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp: - fixed regression in character positioning of of virtual fonts - -2016-09-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp: - fixed type regression in computation of DVI positions (closes #61) - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.0.2 - - * NEWS, README.md: - updated NEWS and README - -2016-09-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp: - fixed sign of character depth computed for native fonts - -2016-09-03 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.0.1 - - * NEWS, README, README.md: - updated NEWS and README - -2016-08-31 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - added link to reduced FF library to README - - * doc/dvisvgm.txt.in, src/FontWriter.cpp, src/FontWriter.hpp, - src/SVGTree.cpp, src/SVGTree.hpp, src/ffwrapper.c: - added option to autohint fonts created by the FontForge library - -2016-08-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.hpp, src/FontManager.hpp, src/MetafontWrapper.hpp: - adapted struct/class forward declarations - -2016-08-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp, src/FileFinder.hpp: - removed unused variable - - * src/CLCommandLine.cpp: - added missing cast to avoid compiler warning - - * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp: - set version to 2.0 - - * README, README.md: - updated README files - - * NEWS: - updated NEWS - -2016-08-27 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml: - use Ubuntu Trusty for Travis builds - - * .travis.yml: - Travis: prevent rebuilding files in folder 'src' when calling 'make - check' - - * src/FontWriter.cpp, src/FontWriter.hpp, src/ffwrapper.c, - src/ffwrapper.h: - added missing copyright headers - -2016-08-25 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, clipper/License.txt, clipper/Makefile.am, - clipper/clipper.cpp, clipper/clipper.hpp, configure.ac, libs/Makefile.am, - libs/clipper/License.txt, libs/clipper/Makefile.am, - libs/clipper/clipper.cpp, libs/clipper/clipper.hpp, libs/xxHash/LICENSE, - libs/xxHash/Makefile.am, libs/xxHash/xxhash.c, libs/xxHash/xxhash.h, - src/Makefile.am, tests/Makefile.am, tests/create-makefile, - xxHash/LICENSE, xxHash/Makefile.am, xxHash/xxhash.c, xxHash/xxhash.h: - moved bundled libraries (clipper, xxHash) to subfolder 'libs' - - * configure.ac, doc/dvisvgm.txt.in, libs/Makefile.am, libs/woff2/LICENSE, - libs/woff2/brotli/LICENSE, libs/woff2/brotli/enc/Makefile.am, - libs/woff2/brotli/enc/backward_references.cc, - libs/woff2/brotli/enc/backward_references.h, - libs/woff2/brotli/enc/bit_cost.h, - libs/woff2/brotli/enc/block_splitter.cc, - libs/woff2/brotli/enc/block_splitter.h, - libs/woff2/brotli/enc/brotli_bit_stream.cc, - libs/woff2/brotli/enc/brotli_bit_stream.h, - libs/woff2/brotli/enc/cluster.h, libs/woff2/brotli/enc/command.h, - libs/woff2/brotli/enc/compress_fragment.cc, - libs/woff2/brotli/enc/compress_fragment.h, - libs/woff2/brotli/enc/compress_fragment_two_pass.cc, - libs/woff2/brotli/enc/compress_fragment_two_pass.h, - libs/woff2/brotli/enc/compressor.h, libs/woff2/brotli/enc/context.h, - libs/woff2/brotli/enc/dictionary.cc, libs/woff2/brotli/enc/dictionary.h, - libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.cc, - libs/woff2/brotli/enc/encode.h, libs/woff2/brotli/enc/encode_parallel.cc, - libs/woff2/brotli/enc/encode_parallel.h, - libs/woff2/brotli/enc/entropy_encode.cc, - libs/woff2/brotli/enc/entropy_encode.h, - libs/woff2/brotli/enc/entropy_encode_static.h, - libs/woff2/brotli/enc/fast_log.h, - libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h, - libs/woff2/brotli/enc/histogram.cc, libs/woff2/brotli/enc/histogram.h, - libs/woff2/brotli/enc/literal_cost.cc, - libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/metablock.cc, - libs/woff2/brotli/enc/metablock.h, libs/woff2/brotli/enc/port.h, - libs/woff2/brotli/enc/prefix.h, libs/woff2/brotli/enc/ringbuffer.h, - libs/woff2/brotli/enc/static_dict.cc, - libs/woff2/brotli/enc/static_dict.h, - libs/woff2/brotli/enc/static_dict_lut.h, - libs/woff2/brotli/enc/streams.cc, libs/woff2/brotli/enc/streams.h, - libs/woff2/brotli/enc/transform.h, libs/woff2/brotli/enc/types.h, - libs/woff2/brotli/enc/utf8_util.cc, libs/woff2/brotli/enc/utf8_util.h, - libs/woff2/brotli/enc/write_bits.h, libs/woff2/brotli/tools/bro.cc, - libs/woff2/brotli/tools/rfc-format.py, libs/woff2/brotli/tools/version.h, - libs/woff2/src/Makefile.am, libs/woff2/src/buffer.h, - libs/woff2/src/file.h, libs/woff2/src/font.cc, libs/woff2/src/font.h, - libs/woff2/src/glyph.cc, libs/woff2/src/glyph.h, - libs/woff2/src/normalize.cc, libs/woff2/src/normalize.h, - libs/woff2/src/port.h, libs/woff2/src/round.h, - libs/woff2/src/store_bytes.h, libs/woff2/src/table_tags.cc, - libs/woff2/src/table_tags.h, libs/woff2/src/transform.cc, - libs/woff2/src/transform.h, libs/woff2/src/variable_length.cc, - libs/woff2/src/variable_length.h, libs/woff2/src/woff2_common.cc, - libs/woff2/src/woff2_common.h, libs/woff2/src/woff2_dec.h, - libs/woff2/src/woff2_enc.cc, libs/woff2/src/woff2_enc.h, - libs/woff2/src/woff2_out.cc, libs/woff2/src/woff2_out.h, - src/FontWriter.cpp, src/FontWriter.hpp, src/Makefile.am: - added support for embedding WOFF2 fonts - -2016-08-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/XMLNode.hpp: - added move constructors to XMLNode classes - -2016-08-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontEngine.cpp: - fixed sign of the font descender - - * configure.ac, doc/dvisvgm.txt.in, src/CommandLine.hpp, - src/FontWriter.cpp, src/FontWriter.hpp, src/GraphicsPath.hpp, - src/Makefile.am, src/SVGTree.cpp, src/SVGTree.hpp, src/XMLNode.cpp, - src/XMLNode.hpp, src/dvisvgm.cpp, src/ffwrapper.c, src/ffwrapper.h, - src/options.xml: - added option --font-format to select the file format used to embed fonts - -2016-08-22 Martin Gieseking <martin.gieseking@uos.de> - - * xxHash/xxhash.c, xxHash/xxhash.h: - updated xxHash to version 0.6.2 - -2016-08-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/FixWord.hpp, src/Font.cpp, src/FontMetrics.hpp, src/SVGTree.cpp, - src/TFM.cpp, src/TFM.hpp: - added getters for ascent and descent to TFM-based fonts - -2016-08-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/Ghostscript.hpp: - removed copy constructor of class Ghostscript - - * src/PathClipper.cpp: - added missing initializers - -2016-08-13 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/CLCommandLine.cpp, src/CLCommandLine.hpp, - src/CommandLine.hpp, src/Makefile.am, src/dvisvgm.cpp, src/options.dtd, - src/options.xml, src/version.hpp, src/version.hpp.in: - added version.hpp to provide the current version number - -2016-08-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIReader.hpp, src/Directory.cpp, - src/Directory.hpp, src/FilePath.cpp, src/FilePath.hpp, src/Font.cpp, - src/Font.hpp, src/FontManager.cpp, src/FontManager.hpp, src/GFReader.hpp, - src/PageRanges.cpp, src/PageRanges.hpp, src/PageSize.cpp, - src/PageSize.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp, - src/VFActions.hpp, src/VFReader.cpp: - pass string parameters by reference if possible - - * src/System.cpp, src/dvisvgm.cpp: - minor refactorings of dvisvgm.cpp - - * src/Ghostscript.cpp, src/MiKTeXCom.cpp: - replaced __WIN64__ with pre-defined _WIN64 - -2016-08-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/CLCommandLine.cpp, src/CLCommandLine.hpp, src/CLOption.hpp, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.hpp, - src/CommandLine.cpp, src/CommandLine.hpp, src/Makefile.am, - src/dvisvgm.cpp, src/options.dtd, src/options.xml, - tests/CommandLineTest.cpp: - reimplemented the CommandLine parser class - - * src/CMap.cpp, src/CMapManager.cpp, src/CMapReader.cpp, src/EncFile.cpp, - src/FileFinder.cpp, src/FileFinder.hpp, src/Font.cpp, - src/FontEncoding.cpp, src/FontManager.cpp, src/FontMap.cpp, - src/FontMetrics.cpp, src/Ghostscript.cpp, src/MetafontWrapper.cpp, - src/PsSpecialHandler.cpp, src/Subfont.cpp, src/dvisvgm.cpp, - tests/CMapManagerTest.cpp, tests/FileFinderTest.cpp, - tests/MapLineTest.cpp, tests/SubfontTest.cpp: - made FileFinder a singleton again - -2016-07-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, - src/FileSystem.cpp, src/FontCache.cpp, src/FontEngine.cpp, - src/FontManager.cpp, src/GraphicsPath.hpp, src/PSInterpreter.cpp, - src/PapersizeSpecialHandler.cpp, src/PathClipper.cpp, src/RangeMap.cpp, - src/Subfont.cpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, - src/XMLNode.cpp: - replaced insert/push_back with emplace/emplace_back where useful - -2016-07-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/PathClipper.cpp: - some minor refactorings of class PathClipper - - * src/CMapReader.cpp: - minor refactoring of class CMapReader - -2016-07-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontMap.cpp, src/FontMap.hpp: - some syntactic refactorings of class FontMap - - * src/FontManager.cpp, src/FontManager.hpp: - use unique_ptr to automatically release Font objects in class - FontManager - -2016-07-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/AGLTable.h, src/AGLTable.hpp, src/BasicDVIReader.cpp, - src/BasicDVIReader.h, src/BasicDVIReader.hpp, src/Bezier.cpp, - src/Bezier.h, src/Bezier.hpp, src/BgColorSpecialHandler.cpp, - src/BgColorSpecialHandler.h, src/BgColorSpecialHandler.hpp, - src/Bitmap.cpp, src/Bitmap.h, src/Bitmap.hpp, src/BoundingBox.cpp, - src/BoundingBox.h, src/BoundingBox.hpp, src/CMap.cpp, src/CMap.h, - src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.h, - src/CMapManager.hpp, src/CMapReader.cpp, src/CMapReader.h, - src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.h, src/CRC32.hpp, - src/Calculator.cpp, src/Calculator.h, src/Calculator.hpp, - src/CharMapID.cpp, src/CharMapID.h, src/CharMapID.hpp, src/Character.h, - src/Character.hpp, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, - src/CmdLineParserBase.hpp, src/Color.cpp, src/Color.h, src/Color.hpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/ColorSpecialHandler.hpp, src/CommandLine.cpp, src/CommandLine.h, - src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.h, src/DLLoader.hpp, - src/DVIActions.h, src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.h, - src/DVIReader.hpp, src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVG.hpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/DVIToSVGActions.hpp, - src/DependencyGraph.h, src/DependencyGraph.hpp, src/Directory.cpp, - src/Directory.h, src/Directory.hpp, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h, src/DvisvgmSpecialHandler.hpp, - src/EPSFile.cpp, src/EPSFile.h, src/EPSFile.hpp, src/EPSToSVG.cpp, - src/EPSToSVG.h, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/EmSpecialHandler.hpp, src/EncFile.cpp, - src/EncFile.h, src/EncFile.hpp, src/FileFinder.cpp, src/FileFinder.h, - src/FileFinder.hpp, src/FilePath.cpp, src/FilePath.h, src/FilePath.hpp, - src/FileSystem.cpp, src/FileSystem.h, src/FileSystem.hpp, src/FixWord.h, - src/FixWord.hpp, src/Font.cpp, src/Font.h, src/Font.hpp, - src/FontCache.cpp, src/FontCache.h, src/FontCache.hpp, - src/FontEncoding.cpp, src/FontEncoding.h, src/FontEncoding.hpp, - src/FontEngine.cpp, src/FontEngine.h, src/FontEngine.hpp, - src/FontManager.cpp, src/FontManager.h, src/FontManager.hpp, - src/FontMap.cpp, src/FontMap.h, src/FontMap.hpp, src/FontMetrics.cpp, - src/FontMetrics.h, src/FontMetrics.hpp, src/FontStyle.h, - src/FontStyle.hpp, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, - src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.h, - src/GFReader.hpp, src/GFTracer.cpp, src/GFTracer.h, src/GFTracer.hpp, - src/Ghostscript.cpp, src/Ghostscript.h, src/Ghostscript.hpp, src/Glyph.h, - src/Glyph.hpp, src/GlyphTracerMessages.h, src/GlyphTracerMessages.hpp, - src/GraphicsPath.h, src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/HtmlSpecialHandler.hpp, - src/InputBuffer.cpp, src/InputBuffer.h, src/InputBuffer.hpp, - src/InputReader.cpp, src/InputReader.h, src/InputReader.hpp, src/JFM.cpp, - src/JFM.h, src/JFM.hpp, src/Length.cpp, src/Length.h, src/Length.hpp, - src/Makefile.am, src/MapLine.cpp, src/MapLine.h, src/MapLine.hpp, - src/Matrix.cpp, src/Matrix.h, src/Matrix.hpp, src/Message.cpp, - src/Message.h, src/Message.hpp, src/MessageException.h, - src/MessageException.hpp, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h, - src/MiKTeXCom.hpp, src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, - src/NoPsSpecialHandler.hpp, src/NumericRanges.h, src/NumericRanges.hpp, - src/PSFilter.h, src/PSFilter.hpp, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PSInterpreter.hpp, src/PSPattern.cpp, - src/PSPattern.h, src/PSPattern.hpp, src/PSPreviewFilter.cpp, - src/PSPreviewFilter.h, src/PSPreviewFilter.hpp, src/PageRanges.cpp, - src/PageRanges.h, src/PageRanges.hpp, src/PageSize.cpp, src/PageSize.h, - src/PageSize.hpp, src/Pair.h, src/Pair.hpp, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h, - src/PapersizeSpecialHandler.hpp, src/PathClipper.cpp, src/PathClipper.h, - src/PathClipper.hpp, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, - src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.h, src/PreScanDVIReader.hpp, src/Process.cpp, - src/Process.h, src/Process.hpp, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/PsSpecialHandler.hpp, src/RangeMap.cpp, - src/RangeMap.h, src/RangeMap.hpp, src/SVGCharHandler.cpp, - src/SVGCharHandler.h, src/SVGCharHandler.hpp, - src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h, - src/SVGCharHandlerFactory.hpp, src/SVGCharPathHandler.cpp, - src/SVGCharPathHandler.h, src/SVGCharPathHandler.hpp, - src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h, - src/SVGCharTspanTextHandler.hpp, src/SVGOutput.cpp, src/SVGOutput.h, - src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp, - src/SVGSingleCharTextHandler.h, src/SVGSingleCharTextHandler.hpp, - src/SVGTree.cpp, src/SVGTree.h, src/SVGTree.hpp, src/ShadingPatch.cpp, - src/ShadingPatch.h, src/ShadingPatch.hpp, src/SignalHandler.cpp, - src/SignalHandler.h, src/SignalHandler.hpp, src/SpecialActions.h, - src/SpecialActions.hpp, src/SpecialHandler.h, src/SpecialHandler.hpp, - src/SpecialManager.cpp, src/SpecialManager.h, src/SpecialManager.hpp, - src/StreamReader.cpp, src/StreamReader.h, src/StreamReader.hpp, - src/StreamWriter.cpp, src/StreamWriter.h, src/StreamWriter.hpp, - src/Subfont.cpp, src/Subfont.h, src/Subfont.hpp, src/System.cpp, - src/System.h, src/System.hpp, src/TFM.cpp, src/TFM.h, src/TFM.hpp, - src/TensorProductPatch.cpp, src/TensorProductPatch.h, - src/TensorProductPatch.hpp, src/Terminal.cpp, src/Terminal.h, - src/Terminal.hpp, src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, - src/ToUnicodeMap.hpp, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/TpicSpecialHandler.hpp, - src/TriangularPatch.cpp, src/TriangularPatch.h, src/TriangularPatch.hpp, - src/Unicode.cpp, src/Unicode.h, src/Unicode.hpp, src/VFActions.h, - src/VFActions.hpp, src/VFReader.cpp, src/VFReader.h, src/VFReader.hpp, - src/VectorIterator.h, src/VectorIterator.hpp, src/VectorStream.h, - src/VectorStream.hpp, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.h, src/XMLNode.hpp, - src/XMLString.cpp, src/XMLString.h, src/XMLString.hpp, - src/ZLibOutputStream.h, src/ZLibOutputStream.hpp, src/dvisvgm.cpp, - src/macros.h, src/macros.hpp, src/psdefs.cpp, tests/BezierTest.cpp, - tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, - tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, - tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, - tests/EmSpecialTest.cpp, tests/FileFinderTest.cpp, - tests/FilePathTest.cpp, tests/FileSystemTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, - tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, - tests/GhostscriptTest.cpp, tests/GraphicsPathTest.cpp, - tests/JFMReaderTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MapLineTest.cpp, tests/MatrixTest.cpp, - tests/MessageExceptionTest.cpp, tests/PSInterpreterTest.cpp, - tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/RangeMapTest.cpp, tests/SVGOutputTest.cpp, - tests/ShadingPatchTest.cpp, tests/SplittedCharInputBufferTest.cpp, - tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, - tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, - tests/TFMReaderTest.cpp, tests/TensorProductPatchTest.cpp, - tests/ToUnicodeMapTest.cpp, tests/TriangularPatchTest.cpp, - tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, - tests/VectorStreamTest.cpp, tests/XMLNodeTest.cpp, - tests/XMLStringTest.cpp, tests/create-makefile: - renamed filename extension of C++ headers to .hpp - -2016-07-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMapManager.cpp, src/CMapManager.h, src/FileFinder.cpp, - src/Font.cpp, src/Font.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, tests/XMLNodeTest.cpp: - use smart pointers to release heap memory - - * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: - create BoxMap object directly, avoid new/delete - -2016-07-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/AGLTable.h, src/Color.cpp, src/Unicode.cpp, tests/genhashcheck.py: - replaced repeated binary search implementations with calls of - lower_bound() - -2016-07-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp, src/Message.cpp: - initialize maps with initializer-lists - -2016-07-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/Length.cpp, src/TpicSpecialHandler.cpp: - replaced 'id macros' with constexpr functions - -2016-07-04 Martin Gieseking <martin.gieseking@uos.de> - - * src/TFM.cpp: - added missing initializers - - * src/dvisvgm.cpp: - catch exception in set_cache_dir() - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.16 - - * NEWS, README.md: - updated NEWS and README - -2016-07-03 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, m4/ax_cxx_compile_stdcxx.m4: - switch from C++03 to C++11 - - * src/NumericRanges.h, src/PapersizeSpecialHandler.cpp, src/Unicode.cpp, - src/VFReader.cpp: - replaced static callback functions with lambdas - - * src/CMapReader.cpp, src/CMapReader.h, src/CmdLineParserBase.cpp, - src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, src/CommandLine.cpp, - src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/EmSpecialHandler.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp, - src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.h, - src/Length.cpp, src/Length.h, src/PathClipper.cpp, - src/PsSpecialHandler.cpp, src/SVGTree.cpp, src/ShadingPatch.cpp, - src/TensorProductPatch.h, tests/BoundingBoxTest.cpp, - tests/LengthTest.cpp, tests/ShadingPatchTest.cpp, - tests/TensorProductPatchTest.cpp, tests/TriangularPatchTest.cpp: - replaced some enums with enum classes - - * clipper/clipper.hpp, src/AGLTable.h, src/BasicDVIReader.cpp, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.h, src/CMap.cpp, - src/CMap.h, src/CMapReader.cpp, src/CRC32.cpp, src/CRC32.h, - src/CharMapID.h, src/Character.h, src/Color.cpp, src/Color.h, - src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/EPSFile.cpp, src/EPSFile.h, src/EncFile.cpp, src/EncFile.h, - src/FileSystem.cpp, src/FileSystem.h, src/FixWord.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontManager.h, src/FontMetrics.cpp, - src/FontMetrics.h, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, - src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, - src/Glyph.h, src/GlyphTracerMessages.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/JFM.cpp, src/JFM.h, src/Makefile.am, - src/Message.h, src/Pair.h, src/PathClipper.cpp, src/PreScanDVIReader.cpp, - src/PsSpecialHandler.h, src/RangeMap.cpp, src/RangeMap.h, - src/SVGCharHandler.h, src/SVGCharPathHandler.cpp, - src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.cpp, - src/SVGCharTspanTextHandler.h, src/SVGSingleCharTextHandler.cpp, - src/SVGSingleCharTextHandler.h, src/StreamReader.cpp, src/StreamReader.h, - src/StreamWriter.cpp, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, - src/TFM.cpp, src/TFM.h, src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, - src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/XMLString.cpp, src/types.h, tests/BitmapTest.cpp, - tests/CRC32Test.cpp, tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, - tests/JFMReaderTest.cpp, tests/Makefile.am, tests/StreamReaderTest.cpp, - tests/TriangularPatchTest.cpp, tests/TypesTest.cpp, - tests/UnicodeTest.cpp: - replaced own fixed-sized integer types with types from cstdint - - * AUTHORS, LGPL-2.1.txt, Makefile.am, gzstream/COPYING.LIB, - gzstream/Makefile, gzstream/README, gzstream/gzstream.cpp, - gzstream/gzstream.h, gzstream/index.html, gzstream/logo.gif, - gzstream/test_gunzip.C, gzstream/test_gzip.C, gzstream/version, - src/Makefile.am, src/SVGOutput.cpp, src/SVGOutput.h, - src/ZLibOutputStream.h, src/dvisvgm.cpp, src/gzstream.cpp, - src/gzstream.h, tests/Makefile.am, tests/SVGOutputTest.cpp, - tests/create-makefile: - replaced old gzstream classes - - * src/DVIReader.cpp, src/DVIReader.h, src/Font.cpp, src/Font.h, - src/FontManager.cpp, src/FontManager.h, src/VFActions.h, - src/VFReader.cpp: - transfer DVI snippet of a VF char by move semantics rather than by heap - pointer - -2016-07-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.cpp, src/BoundingBox.h, src/CMapManager.cpp, - src/CmdLineParserBase.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/DependencyGraph.h, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, - src/FileFinder.cpp, src/FilePath.cpp, src/FilePath.h, src/Font.cpp, - src/FontCache.cpp, src/FontEncoding.cpp, src/FontManager.cpp, - src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, - src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/NumericRanges.h, - src/PSPattern.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp, - src/SVGTree.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/Subfont.cpp, src/Subfont.h, src/TpicSpecialHandler.cpp, - src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/macros.h: - use range-based 'for' loop to iterate over containers; drop FORALL macro - - * clipper/clipper.hpp, src/BgColorSpecialHandler.h, src/Bitmap.cpp, - src/CMap.h, src/CmdLineParserBase.h, src/ColorSpecialHandler.h, - src/CommandLine.h, src/DVIReader.h, src/DVIToSVG.h, - src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/EPSToSVG.h, - src/EmSpecialHandler.h, src/EncFile.h, src/Font.h, src/FontCache.cpp, - src/FontEncoding.h, src/FontMetrics.h, src/GFGlyphTracer.h, - src/GFReader.h, src/GFTracer.h, src/GlyphTracerMessages.h, - src/GraphicsPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.h, - src/InputReader.h, src/JFM.h, src/MessageException.h, - src/NoPsSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h, - src/PapersizeSpecialHandler.h, src/PathClipper.cpp, - src/PdfSpecialHandler.h, src/PreScanDVIReader.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.h, src/SVGOutput.h, - src/SVGSingleCharTextHandler.h, src/SpecialActions.h, src/TFM.h, - src/TensorProductPatch.h, src/TpicSpecialHandler.h, - src/TriangularPatch.h, src/VectorStream.h, src/XMLNode.h: - mark overridden methods with 'override' keyword - - * src/PsSpecialHandler.cpp: - use unique_ptr rather than deprecated auto_ptr - - * src/BasicDVIReader.h, src/Bitmap.h, src/CMap.h, src/CmdLineParserBase.h, - src/DVIActions.h, src/Font.h, src/FontEncoding.h, src/FontMetrics.h, - src/GFGlyphTracer.h, src/GFReader.h, src/GFTracer.h, src/GraphicsPath.h, - src/InputBuffer.h, src/InputReader.h, src/MessageException.h, - src/PSFilter.h, src/PSInterpreter.h, src/PSPattern.h, - src/SVGCharHandler.h, src/SVGOutput.h, src/ShadingPatch.h, - src/SpecialActions.h, src/SpecialHandler.h, src/StreamReader.h, - src/StreamWriter.h, src/Subfont.h, src/VFActions.h, src/XMLNode.h: - replaced empty virtual destructors with default ones - -2016-07-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.h, src/DVIActions.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FontManager.cpp, - src/FontManager.h, src/PreScanDVIReader.h, src/dvisvgm.cpp: - refactored the DVI reader classes -- added higher-level template methods - to process the DVI commands more safely -- moved triggering of DVIActions - from DVIReader to DVIToSVG - -2016-06-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/BoundingBox.cpp, src/BoundingBox.h, src/DVIToSVG.cpp, - src/dvisvgm.cpp: - fixed computation of bounding boxes modified by relative --bbox argument - - * xxHash/xxhash.c, xxHash/xxhash.h: - updated xxHash to version 0.6.1 - -2016-06-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: - minor improvements to TFM/JFM tests - -2016-06-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/VectorStream.h, tests/VectorStreamTest.cpp: - refactored VectorStreamBuffer to keep constness of assigned vector - - * src/GFReader.cpp: - ensure validity of postpost command in GFReader::executePostamble() - -2016-06-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/DvisvgmSpecialHandler.cpp, src/TFM.cpp, src/VFReader.cpp: - replaced local definitions of pt2bp with Length::pt2bp - - * src/XMLNode.h: - added ouput operators for the XML node objects - - * src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, - tests/EmSpecialTest.cpp, tests/Makefile.am: - improved the emTeX special handler; added EmSpecialTest - - * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp: - fixed unit conversion in BoundingBox class - -2016-06-13 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/Length.cpp, src/Length.h, tests/LengthTest.cpp: - added dd, cc, and sp units to class Length; fixed factor pt2pc - -2016-06-12 Martin Gieseking <martin.gieseking@uos.de> - - * xxHash/xxhash.c, xxHash/xxhash.h: - updated xxHash to version 0.6.0 - - * src/DLLoader.cpp, src/DLLoader.h, src/Directory.cpp, src/Directory.h, - src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, src/GFTracer.cpp, - src/Ghostscript.cpp, src/Ghostscript.h, src/Message.cpp, - src/MetafontWrapper.cpp, src/Process.cpp, src/Terminal.cpp, - src/Terminal.h, src/dvisvgm.cpp: - cleaned up Windows-related #defines - -2016-06-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/CommandLine.cpp: - removed redundant #includes - - * src/Length.cpp, src/Length.h, tests/LengthTest.cpp: - added functions to convert between Length::Unit and std::string - -2016-06-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMapManager.cpp, src/CMapManager.h, src/DVIActions.h, - src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/Font.h, - src/FontEngine.h, src/FontManager.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h, - src/SVGCharHandler.cpp, src/SVGCharHandler.h, src/SVGCharPathHandler.cpp, - src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp, - src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, - src/SpecialManager.h, src/XMLDocument.cpp, src/XMLNode.h, - tests/XMLNodeTest.cpp: - changed some structs to classes and replaced #includes with forward - declarations - - * src/SVGCharHandler.h: - added missing initializer to class SVGCharHandler - -2016-06-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h, src/EPSToSVG.cpp, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/NoPsSpecialHandler.cpp, - src/NoPsSpecialHandler.h, src/PSPattern.cpp, src/PSPattern.h, - src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, tests/ColorSpecialTest.cpp, - tests/DvisvgmSpecialTest.cpp: - refactored handling of SpecialAction objects - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SVGTree.cpp, - src/SVGTree.h: - refactored processing of end-of-page (eop) commands - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/Makefile.am, - src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h, - src/PsSpecialHandler.cpp, src/dvisvgm.cpp: - added evaluation of PS special 'papersize=' - -2016-06-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp: - fixed transformation of background color rectange - -2016-05-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/EPSToSVG.cpp: - reworded messages printed after finishing a conversion - -2016-05-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.cpp, src/Font.cpp, src/Makefile.am, - src/SVGCharHandler.cpp, src/SVGCharHandler.h, - src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h, - src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.h, - src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h, - src/SVGSingleCharTextHandler.cpp, src/SVGSingleCharTextHandler.h, - src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp: - replaced static SVG text backend by specialized handler classes - - * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bezier.h, - src/TensorProductPatch.h, src/TriangularPatch.h: - replaced leading spaces with tabs - -2016-05-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.cpp, src/DVIReader.cpp: - fixed handling of subfont index in native font definition of XDV 7 - -2016-05-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLNode.h, - tests/DvisvgmSpecialTest.cpp: - prevent line wrapping inside text nodes - -2016-05-26 Martin Gieseking <martin.gieseking@uos.de> - - * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, - src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIToSVG.cpp: - reworded 'DVI format' to 'DVI (format) version' - - * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, - src/BasicDVIReader.h, src/DVIReader.cpp: - added support for XDV version 7 introduced by XeTeX 0.99995 - -2016-05-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/TFM.cpp: - prevent reading more than 7 TFM param values (fixes #58) - - * .travis.yml: - temporarily drop clang from Travis builds - -2016-05-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/JFM.cpp, src/JFM.h, src/TFM.cpp, src/TFM.h: - TFM: store design size in bp units rather than as fixword - - * src/FontMetrics.h, src/JFM.cpp, src/TFM.cpp, src/TFM.h: - added methods to query space-related parameters from TFM/JFM files - - * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp: - fixed calculation of character dimensions in TFM class - -2016-04-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/Process.cpp: - fixed collecting stdout/stderr output when executing a process - -2016-04-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMap.h, src/CMapReader.cpp, tests/CMapManagerTest.cpp, - tests/Makefile.am, tests/data/Makefile.am, tests/data/ot1.cmap: - added CMapManagerTest - -2016-04-19 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.15.1 - - * NEWS, README, README.md: - updated NEWS and README - -2016-04-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/Calculator.cpp, src/Matrix.cpp: - use std::ws to skip whitespace in istreams - - * src/Matrix.cpp: - avoid adding trailing EOF characters when parsing parameters of - transformation commands - - * tests/CMapReaderTest.cpp: - improved CMapReaderTest - -2016-04-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/AGLTable.h, src/Makefile.am, src/Unicode.cpp, tests/Makefile.am, - tests/create-makefile, tests/genhashcheck.py: - moved AGL hash table from Unicode.cpp to a separate file - -2016-04-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/XMLDocument.cpp: - explicitly specify UTF-8 encoding in XML declaration (closes #54) - - * src/Unicode.cpp, tests/UnicodeTest.cpp: - added support for the AGL character names 'uniFOO' and 'uFOO' - -2016-03-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/GraphicsPath.h: - renamed GraphicsPath::sconito/scubicto - -2016-03-14 Martin Gieseking <martin.gieseking@uos.de> - - * doc/db2html.xsl: - adapted db2html to insert anchors for each option entry - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/SVGTree.cpp, src/SVGTree.h: - changed font parameter of setFont() methods from pointer to reference - - * src/SVGTree.cpp, src/SVGTree.h: - split text and path section of SVGTree::appendChar() into seperate - methods - -2016-02-27 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS: - updated NEWS - -2016-02-26 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/Font.cpp, src/Font.h, src/SVGTree.cpp, src/SVGTree.h, - src/dvisvgm.cpp, src/options.xml: - added option --comments (adds comments with additional information to - the SVG file - - * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp: - renamed Unicode::psNameToCodepoint() to Unicode::aglNameToCodepoint - - * src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp, - src/FileSystem.h, src/Font.cpp, src/MetafontWrapper.cpp, src/dvisvgm.cpp: - changed string parameters of FileSystem functions to type std::string - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.15 - -2016-02-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontEngine.cpp: - reworded error messages of class FontEngine - - * src/MetafontWrapper.cpp, src/Process.cpp: - avoid reading Metafont logfiles to extract the GF filename - - * configure.ac, src/FileFinder.cpp, src/FileFinder.h, - tests/FileFinderTest.cpp, tests/GFGlyphTracerTest.cpp, - tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp, tests/Makefile.am, - tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.600gf, - tests/cmr10.tfm, tests/create-makefile, tests/data/Makefile.am, - tests/data/cidjmgr0-h.tfm, tests/data/cmr10.600gf, tests/data/cmr10.tfm, - tests/data/dvipdfm_test.map, tests/data/dvips_test.map, - tests/data/frktest-nf-cmp.svg, tests/data/frktest-wf-cmp.svg, - tests/data/frktest.dvi, tests/data/sample-nf-cmp.svg, - tests/data/sample-wf-cmp.svg, tests/data/sample.dvi, - tests/data/sample.sfd, tests/dvipdfm_test.map, tests/dvips_test.map, - tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, tests/frktest.dvi, - tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg, tests/sample.dvi, - tests/sample.sfd: - moved test data files to subfolder - -2016-02-22 Martin Gieseking <martin.gieseking@uos.de> - - * tests/FileFinderTest.cpp, tests/GFReaderTest.cpp, - tests/SVGOutputTest.cpp: - avoid implicit casts of ifstream/ozstream objects in tests - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, - tests/CommandLineTest.cpp: - minor improvements of class CommandLineTest - - * src/XMLNode.cpp, tests/DvisvgmSpecialTest.cpp: - improved DvisvgmSpecialTest - - * src/FontEngine.cpp, src/FontEngine.h: - removed redundant code from class FontEngine - -2016-02-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - don't remove clipping paths that consist of single moveto commands only - -2016-02-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.cpp, src/BoundingBox.cpp, src/CMap.cpp, src/CMapManager.cpp, - src/Calculator.cpp, src/CommandLine.cpp, src/DVIReader.cpp, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/Directory.cpp, src/Directory.h, src/EPSToSVG.cpp, src/EncFile.cpp, - src/FileFinder.cpp, src/Font.cpp, src/FontCache.h, src/FontEngine.cpp, - src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp, - src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, - src/HtmlSpecialHandler.cpp, src/InputReader.cpp, src/MapLine.cpp, - src/MetafontWrapper.cpp, src/PSInterpreter.cpp, - src/PdfSpecialHandler.cpp, src/Process.cpp, src/PsSpecialHandler.cpp, - src/SVGTree.cpp, src/SpecialManager.cpp, src/StreamReader.cpp, - src/StreamWriter.cpp, src/Subfont.cpp, src/TFM.cpp, - src/TensorProductPatch.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp, - src/XMLDocument.cpp, src/dvisvgm.cpp, tests/XMLStringTest.cpp: - minor code cleanup (removed redundant includes, added casts) - -2016-01-21 Martin Gieseking <martin.gieseking@uos.de> - - * m4/ax_code_coverage.m4: - updated m4 code coverage script to latest version - - * src/JFM.h, tests/JFMReaderTest.cpp, tests/Makefile.am, - tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.tfm, - tests/create-makefile: - added tests for the TFM and JFM classes - -2016-01-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/GraphicsPath.h, tests/GraphicsPathTest.cpp: - fixed access of invalid iterator - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.14.2 - - * NEWS, README.md: - updated NEWS - -2016-01-18 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - added generic info about the command-line interface to the manpage - - * doc/db2html.xsl: - updated links to Bootstrap and Font Awesome in stylesheet db2html.xsl - - * src/dvisvgm.cpp, xxHash/xxhash.c, xxHash/xxhash.h: - updated xxHash to version 0.5.0 - - * tests/Makefile.am, tests/create-makefile, tests/genhashcheck.py: - added test to check the validity of the char name hashes used in - Unicode.cpp - -2016-01-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/ColorSpecialHandler.cpp, - src/ColorSpecialHandler.h, tests/ColorSpecialTest.cpp: - removed check for 'background' special from ColorSpecialHandler - -2016-01-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.h, src/FontStyle.h, src/SVGTree.cpp, - src/TriangularPatch.cpp: - updated/fixed some comments - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: - corrected handling of background color special across DVI pages - -2016-01-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/GFReader.cpp, src/GFReader.h: - added checks for misplaced GF commands - - * NEWS: - updated NEWS - -2016-01-04 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml: - force Travis to use legacy builds due to an issue with clang and gtest - - * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, - doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl, - doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, src/BasicDVIReader.h, - src/Bezier.cpp, src/Bezier.h, src/BgColorSpecialHandler.cpp, - src/BgColorSpecialHandler.h, src/Bitmap.cpp, src/Bitmap.h, - src/BoundingBox.cpp, src/BoundingBox.h, src/CMap.cpp, src/CMap.h, - src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, - src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, - src/Calculator.h, src/CharMapID.cpp, src/CharMapID.h, src/Character.h, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, - src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/DependencyGraph.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, - src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, - src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicsPath.h, - src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.h, - src/InputBuffer.cpp, src/InputBuffer.h, src/InputReader.cpp, - src/InputReader.h, src/JFM.cpp, src/JFM.h, src/Length.cpp, src/Length.h, - src/Makefile.am, src/MapLine.cpp, src/MapLine.h, src/Matrix.cpp, - src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/MiKTeXCom.cpp, - src/MiKTeXCom.h, src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, - src/NumericRanges.h, src/PSFilter.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PSPattern.cpp, src/PSPattern.h, - src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PageRanges.cpp, - src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, - src/PathClipper.cpp, src/PathClipper.h, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.h, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.h, src/Process.cpp, src/Process.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/RangeMap.cpp, - src/RangeMap.h, src/SVGOutput.cpp, src/SVGOutput.h, src/SVGTree.cpp, - src/SVGTree.h, src/ShadingPatch.cpp, src/ShadingPatch.h, - src/SignalHandler.cpp, src/SignalHandler.h, src/SpecialActions.h, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, - src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, src/System.cpp, - src/System.h, src/TFM.cpp, src/TFM.h, src/TensorProductPatch.cpp, - src/TensorProductPatch.h, src/Terminal.cpp, src/Terminal.h, - src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/TriangularPatch.cpp, src/TriangularPatch.h, - src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/VectorIterator.h, src/VectorStream.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, - src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, - tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp, - tests/CMapReaderTest.cpp, tests/CMapTest.cpp, tests/CRC32Test.cpp, - tests/CalculatorTest.cpp, tests/ColorSpecialTest.cpp, - tests/ColorTest.cpp, tests/CommandLineTest.cpp, - tests/DependencyGraphTest.cpp, tests/DirectoryTest.cpp, - tests/DvisvgmSpecialTest.cpp, tests/FileFinderTest.cpp, - tests/FilePathTest.cpp, tests/FileSystemTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, - tests/GFGlyphTracerTest.cpp, tests/GFReaderTest.cpp, - tests/GraphicsPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MapLineTest.cpp, tests/MatrixTest.cpp, - tests/MessageExceptionTest.cpp, tests/PSInterpreterTest.cpp, - tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/RangeMapTest.cpp, tests/SVGOutputTest.cpp, - tests/ShadingPatchTest.cpp, tests/SplittedCharInputBufferTest.cpp, - tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp, - tests/StreamWriterTest.cpp, tests/SubfontTest.cpp, - tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp, - tests/TriangularPatchTest.cpp, tests/TypesTest.cpp, - tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp, - tests/VectorStreamTest.cpp, tests/XMLNodeTest.cpp, - tests/XMLStringTest.cpp, tests/check-conv, tests/create-makefile, - tests/normalize.xsl: - updated year in copyright statements to 2016 - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.14.1 - -2015-12-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - reset PS graphics state at end of every DVI page - -2015-12-28 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.14 - - * NEWS: - updated NEWS - -2015-12-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - added evaluation of PSTricks specials 'pst:' and 'PST:' - -2015-12-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp: - lookup files in the current working directory before searching the texmf - tree - - * src/GraphicsPath.h, tests/GraphicsPathTest.cpp: - fixed memory issue in class GraphicsPath<T> - -2015-12-17 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.h, - src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PsSpecialHandler.cpp, - src/SpecialActions.h, src/dvisvgm.cpp: - added option --bbox=preview; adapt preview data if --bbox=min - -2015-12-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp: - return entire kpathsea version string if it doesn't start with - 'kpathsea' - - * tests/GhostscriptTest.cpp: - prevent opening a graphics window when running GhostscriptTest - -2015-12-08 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.13 - - * NEWS: - updated NEWS - - * clipper/clipper.cpp, clipper/clipper.hpp: - replaced DOS line endings of the Clipper sources to Unix ones - -2015-12-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Font.h, src/Glyph.h, src/GraphicPath.h, - src/GraphicsPath.h, src/Makefile.am, src/PathClipper.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/ShadingPatch.h, - src/TensorProductPatch.cpp, src/TensorProductPatch.h, - src/TpicSpecialHandler.cpp, src/TriangularPatch.cpp, - src/TriangularPatch.h, tests/GraphicPathTest.cpp, - tests/GraphicsPathTest.cpp, tests/Makefile.am, - tests/TensorProductPatchTest.cpp, tests/TriangularPatchTest.cpp: - renamed class GraphicPath to GraphicsPath - -2015-11-30 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - added a couple of links to the manpage - - * src/GraphicPath.h, src/PsSpecialHandler.cpp: - remove redundant moveto commands from graphics paths - -2015-11-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.cpp, src/EPSToSVG.cpp: - remove progress message before printing a PS error message - - * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: - removed redundant methods - -2015-11-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.cpp: - added evaluation of PS operators ashow, awidthshow, and widthshow (fixes - #49) - - * xxHash/xxhash.c: - updated xxHash to version r42 - -2015-11-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/psdefs.cpp: - minor code cleanup and reordering - - * src/psdefs.cpp: - reduce rounding errors produced by PS operator 'charpath' - - * src/psdefs.cpp: - propagate call of PS operator 'setcolor' to the PS handler - -2015-11-18 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.12 - - * NEWS: - updated NEWS - -2015-11-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontManager.cpp: - removed redundant #include - - * src/FontEngine.cpp: - treat character code as character index if no font mapping is set - -2015-11-12 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - updated links to Google Test framework - -2015-11-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, - src/HtmlSpecialHandler.cpp, tests/ColorTest.cpp: - renamed Color::setName() to Color::setPSName() - - * tests/Makefile.am, tests/ShadingPatch.cpp, tests/ShadingPatchTest.cpp: - renamed ShadingPatchTest - - * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/CommandLine.cpp, - src/CommandLine.h, src/DVIToSVGActions.cpp, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, - src/HtmlSpecialHandler.cpp, src/PSPattern.cpp, src/PsSpecialHandler.cpp, - src/SVGTree.cpp, src/TpicSpecialHandler.cpp, src/dvisvgm.cpp, - src/options.xml, tests/ColorTest.cpp: - added option --colornames to replace RGB color values with SVG color - names - -2015-10-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/Process.cpp, src/Process.h: - fixed invalid access to freed string memory - -2015-10-06 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in: - minor improvements of the manual page - -2015-09-21 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README, README.md: - updated NEWS and README files - -2015-09-18 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.11 - -2015-09-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/ToUnicodeMap.cpp, src/Unicode.cpp, src/Unicode.h, - tests/UnicodeTest.cpp: - improved handling of invalid Unicode points - - * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp: - renamed Unicode::psName2Codepoint to Unicode::psNameToCodepoint - -2015-09-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp: - prevent creating 0x00 codepoints if PS character name is unknown - - * src/HtmlSpecialHandler.cpp: - quote XML metacharacters in xlink:title attributes - - * src/CmdLineParserBase.h, src/InputReader.h: - changed 'struct InputReader' to 'class InputReader' - -2015-09-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/SVGTree.cpp: - force creating a new text element after appending a different node to - the page - -2015-08-13 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - minor updates to README and README.md - -2015-07-29 Martin Gieseking <martin.gieseking@uos.de> - - * tests/GhostscriptTest.cpp, tests/Makefile.am: - added GhostscriptTest - - * tests/UnicodeTest.cpp: - improved UnicodeTest - - * tests/CommandLineTest.cpp, tests/MessageExceptionTest.cpp: - use ASSERT_STREQ in tests - -2015-07-22 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md, doc/dvisvgm.txt.in: - updated links to project website again (relocated to - dvisvgm.bplaced.net) - -2015-07-20 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md, doc/dvisvgm.txt.in: - updated info about new project website - -2015-07-14 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.10 - - * NEWS: - updated NEWS - -2015-07-12 Martin Gieseking <martin.gieseking@uos.de> - - * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, - src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIReader.h, src/Font.h, - src/FontManager.cpp, src/FontManager.h: - added support for new XDV format 6 - -2015-07-11 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - updated README - -2015-07-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/dvisvgm.cpp: - check for option --help before initializing the FileFinder - - * src/MiKTeXCom.cpp: - added some comments to MiKTeXCom.cpp - -2015-07-02 Martin Gieseking <martin.gieseking@uos.de> - - * tests/BezierTest.cpp: - removed #include "debug.h" from test - - * Makefile.am, configure.ac, xxHash/LICENSE, xxHash/Makefile.am, - xxHash/xxhash.c, xxHash/xxhash.h: - added xxHash library (https://github.com/Cyan4973/xxHash) - - * src/Font.cpp, src/Makefile.am, src/Unicode.cpp, src/Unicode.h, - tests/Makefile.am, tests/create-makefile: - added mapping from character names to unicode for PostScript fonts - -2015-04-07 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml, configure.ac, src/Doxyfile: - set version to 1.9.2 - - * NEWS, README.md: - updated NEWS and README.md - - * src/SVGTree.cpp: - apply --precision settings to font-size attributes too - -2015-04-04 Martin Gieseking <martin.gieseking@uos.de> - - * tests/SVGOutputTest.cpp: - remove output files created by SVGOutputTest::getPageStream() - -2015-04-02 Martin Gieseking <martin.gieseking@uos.de> - - * README.md: - minor additions to README.md - -2015-03-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/GlyphTracerMessages.h: - always skip tracer message if no glyphs have been traced - - * src/GFReader.cpp, src/GFReader.h, tests/GFReaderTest.cpp: - improved GFReaderTest - -2015-03-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/GFGlyphTracer.cpp, src/GFTracer.h, tests/GFGlyphTracerTest.cpp, - tests/Makefile.am: - ensure GFGlyphTracer::executeChar() returns the correct status; added - GFGlyphtracerTest - - * src/DVIToSVG.cpp: - avoid retracing of fonts if option --no-fonts is given - -2015-03-22 Martin Gieseking <martin.gieseking@uos.de> - - * tests/StreamWriterTest.cpp: - fixed StreamWriterTest - - * tests/SVGOutputTest.cpp: - improved SVGOutputTest - -2015-03-19 Martin Gieseking <martin.gieseking@uos.de> - - * tests/Makefile.am, tests/ShadingPatch.cpp: - added ShadingPatchTest - -2015-03-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/ShadingPatch.h, src/TensorProductPatch.cpp, - src/TensorProductPatch.h, src/TriangularPatch.cpp, src/TriangularPatch.h, - tests/Makefile.am, tests/TriangularPatchTest.cpp: - added test for class TriangularPatch - - * src/Bezier.cpp, src/Bezier.h, src/TensorProductPatch.cpp, - src/TriangularPatch.cpp, src/TriangularPatch.h, - tests/TriangularPatchTest.cpp: - renamed method pointAt() of class Bezier and TriangularPatch to - valueAt() - - * src/TensorProductPatch.h, tests/TensorProductPatchTest.cpp: - improved TensorProductPatchTest - -2015-03-17 Martin Gieseking <martin.gieseking@uos.de> - - * m4/ax_code_coverage.m4: - added missing file ax_code_coverage.m4 - - * autogen.sh: - updated autogen.sh - -2015-03-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/XMLNode.cpp, src/XMLNode.h, tests/Makefile.am, - tests/XMLNodeTest.cpp: - fixed a few issues in class XMLElementNode; added XMLNodeTest - - * .gitignore, Makefile.am, clipper/Makefile.am, configure.ac, - src/Makefile.am, tests/Makefile.am, tests/create-makefile: - extended build system to generate coverage reports - - * tests/Makefile.am, tests/VectorIteratorTest.cpp: - added VectorIteratorTest - -2015-03-13 Martin Gieseking <martin.gieseking@uos.de> - - * tests/XMLStringTest.cpp: - fixed test class name of XMLString - -2015-03-09 Martin Gieseking <martin.gieseking@uos.de> - - * tests/CRC32Test.cpp: - added test for 'compute' methods of class CRC32 - - * tests/GraphicPathTest.cpp: - extended tests of class GraphicPath - -2015-03-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/Unicode.cpp, tests/Makefile.am, tests/UnicodeTest.cpp: - fixed UTF-8 encoding of 0xfffe and 0xffff; added UnicodeTest - - * tests/StreamReaderTest.cpp: - exteded StreamReader tests - -2015-03-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/XMLString.cpp, tests/Makefile.am, tests/XMLStringTest.cpp: - fixed conversion from C and C++ strings to XMLString; added - XMLStringTest - - * .gitignore: - added .gitignore - -2015-03-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.cpp, src/Bitmap.h, tests/BitmapTest.cpp, - tests/GFReaderTest.cpp, tests/Makefile.am: - small refactorings of class Bitmap; added tests for class Bitmap - - * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp: - improved BoundingBox tests - -2015-03-04 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bezier.cpp, src/BoundingBox.cpp, src/BoundingBox.h, - tests/BezierTest.cpp, tests/Makefile.am: - fixed Bezier::reduceDegree() for degree 1 and added BezierTest class - -2015-03-01 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml: - Travis conf: added configuration data for Coverity Scan - - * README.md: - added license badge to README.md - -2015-02-28 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README.md: - updated NEWS and README.md - -2015-02-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/Calculator.cpp: - replaced while(1) with for(;;) for consistency - -2015-02-26 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.9.1 - -2015-02-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/Ghostscript.cpp: - disable lookup of GS library in Windows registry for old gcc versions - -2015-02-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/Makefile.am, src/SVGOutput.cpp, - src/SVGOutput.h, src/SVGOutputBase.h, src/dvisvgm.cpp: - moved class SVGOutput to separate compilation unit - - * doc/dvisvgm.txt.in, src/SVGOutput.cpp, src/SVGOutput.h, - tests/Makefile.am, tests/SVGOutputTest.cpp, tests/create-makefile: - added width specifiers and exression evaluation to --output patterns - - * doc/dvisvgm.txt.in: - minor additions and formatting changes of the manpage - - * doc/Makefile.am, doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, - doc/dvisvgm.sty, doc/dvisvgm.xpr, doc/tweak-dblatex-pdf.xsl: - improved the layout of the pdf manpage - - * doc/Makefile.am, doc/db2html.xsl, doc/dvisvgm.css: - create html manpage with a separate stylesheet matching the new website - theme - -2015-02-19 Martin Gieseking <martin.gieseking@uos.de> - - * .travis.yml: - added configuration file for Travis CI - - * .travis.yml: - added dependency 'python-lxml' to Travis configuration - - * .travis.yml: - added dependency 'libgtest-dev' to Travis configuration; ensure call of - 'make check' - - * .travis.yml: - Travis conf: added missing call of 'configure' - - * .travis.yml: - Travis conf: build gtest libraries since Ubuntu doesn't provide the - binaries - -2015-02-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/TpicSpecialHandler.cpp: - use constant M_PI rather than computing PI locally - -2015-02-17 Martin Gieseking <martin.gieseking@uos.de> - - * README, README.md: - updated README and README.md - -2015-01-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/ShadingPatch.h: - removed redundant methods from class ShadingPatch - -2015-01-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/TensorProductPatch.cpp, src/TriangularPatch.cpp: - renamed static helper function clip() to snap() - -2015-01-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp: - resolved ambiguous call of pow (patch by Peter Breitenlohner) - -2015-01-12 Martin Gieseking <martin.gieseking@uos.de> - - * src/VectorIterator.h: - removed redundant method VectorIterator::distanceToLast() - -2014-12-30 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, README.md, configure.ac, doc/Makefile.am, - doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, src/BasicDVIReader.h, - src/Bezier.cpp, src/Bezier.h, src/BgColorSpecialHandler.cpp, - src/BgColorSpecialHandler.h, src/Bitmap.cpp, src/Bitmap.h, - src/BoundingBox.cpp, src/BoundingBox.h, src/CMap.cpp, src/CMap.h, - src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, - src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, - src/Calculator.h, src/CharMapID.cpp, src/CharMapID.h, src/Character.h, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, - src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/DependencyGraph.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, - src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, - src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h, - src/Length.cpp, src/Length.h, src/Makefile.am, src/MapLine.cpp, - src/MapLine.h, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, - src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, - src/MetafontWrapper.h, src/MiKTeXCom.cpp, src/MiKTeXCom.h, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, - src/NumericRanges.h, src/PSFilter.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PSPattern.cpp, src/PSPattern.h, - src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PageRanges.cpp, - src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, - src/PathClipper.cpp, src/PathClipper.h, src/PdfSpecialHandler.cpp, - src/PdfSpecialHandler.h, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.h, src/Process.cpp, src/Process.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/RangeMap.cpp, - src/RangeMap.h, src/SVGOutputBase.h, src/SVGTree.cpp, src/SVGTree.h, - src/ShadingPatch.cpp, src/ShadingPatch.h, src/SignalHandler.cpp, - src/SignalHandler.h, src/SpecialActions.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, - src/StreamReader.h, src/StreamWriter.cpp, src/StreamWriter.h, - src/Subfont.cpp, src/Subfont.h, src/System.cpp, src/System.h, - src/TFM.cpp, src/TFM.h, src/TensorProductPatch.cpp, - src/TensorProductPatch.h, src/Terminal.cpp, src/Terminal.h, - src/ToUnicodeMap.cpp, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/TriangularPatch.cpp, src/TriangularPatch.h, - src/Unicode.cpp, src/Unicode.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/VectorIterator.h, src/VectorStream.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, - src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, - tests/BoundingBoxTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/CommandLineTest.cpp, tests/DependencyGraphTest.cpp, - tests/DirectoryTest.cpp, tests/DvisvgmSpecialTest.cpp, - tests/FileFinderTest.cpp, tests/FilePathTest.cpp, - tests/FileSystemTest.cpp, tests/FontManagerTest.cpp, - tests/FontMapTest.cpp, tests/GFReaderTest.cpp, tests/GraphicPathTest.cpp, - tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, - tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, tests/RangeMapTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, - tests/SubfontTest.cpp, tests/TensorProductPatchTest.cpp, - tests/ToUnicodeMapTest.cpp, tests/TypesTest.cpp, - tests/VectorStreamTest.cpp, tests/check-conv, tests/create-makefile, - tests/normalize.xsl: - updated year in copyright statements to 2015 - -2014-12-28 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/ShadingPatch.h, - src/TensorProductPatch.cpp, src/TensorProductPatch.h, - src/TriangularPatch.cpp, src/TriangularPatch.h, src/dvisvgm.cpp, - src/options.xml: - added command-line options --grad-overlap, --grad-segments, and - --grad-simplify - - * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.cpp, - src/EPSToSVG.h, src/SpecialActions.h, src/SpecialManager.cpp, - src/dvisvgm.cpp: - show PS instruction counter when processing EPS files with option - --progress - - * src/dvisvgm.cpp: - clear line before printing the message about user interruption to avoid - trailing text fragments - - * configure.ac, src/Doxyfile: - set version to 1.9 - - * NEWS: - updated NEWS - -2014-12-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp: - check validity of DVI file before trying to collect the BOPs - -2014-12-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am, src/TriangularPatch.cpp, src/TriangularPatch.h: - added class to compute triangular shading patches - - * src/Makefile.am, src/PsSpecialHandler.cpp, src/ShadingPatch.cpp, - src/ShadingPatch.h, src/TensorProductPatch.cpp, src/TensorProductPatch.h: - extracted common interface class ShadingPatch from TensorProductPatch - - * src/Color.cpp, src/Color.h, src/Makefile.am, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/VectorIterator.h, src/psdefs.cpp: - extended PS operator 'shfill' to support triangular patch meshes - -2014-12-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - added processing of the optional 'BBox' entry in a PS shading dictionary - -2014-12-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp, - src/options.xml: - disable option --clipjoin if PS support is disabled - - * src/Color.cpp, tests/ColorSpecialTest.cpp, tests/ColorTest.cpp: - fixed CMYK to RGB approximation - -2014-11-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.cpp, tests/PSInterpreterTest.cpp: - added evaluation of PS operator shfill (Coons and tensor product patches - only) - -2014-11-24 Martin Gieseking <martin.gieseking@uos.de> - - * README.md: - added list of features and a download button to README.md - -2014-11-09 Martin Gieseking <martin.gieseking@uos.de> - - * clipper/clipper.cpp, clipper/clipper.hpp: - updated clipper library to version 6.2.1 - -2014-11-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bezier.cpp, src/Bezier.h, src/BoundingBox.h, src/GraphicPath.h, - src/Makefile.am, src/TensorProductPatch.cpp, src/TensorProductPatch.h, - tests/Makefile.am, tests/TensorProductPatchTest.cpp: - added code to compute tensor-product patches required for gradient fills - -2014-11-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/Matrix.cpp: - use constant M_PI rather than defining PI locally - -2014-10-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, - src/PsSpecialHandler.cpp, tests/ColorTest.cpp: - replaced float by double in class Color - - * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, - src/DVIReader.cpp, src/HtmlSpecialHandler.cpp, src/PsSpecialHandler.cpp, - tests/ColorTest.cpp: - renamed RGB setters/getters of class Color - - * src/Color.cpp, src/Color.h: - replaced vectors with valarrays in class Color - - * src/Color.cpp, src/Color.h, tests/ColorTest.cpp: - added deltaE and L*a*b* color space methods to class Color - -2014-10-17 Martin Gieseking <martin.gieseking@uos.de> - - * clipper/clipper.cpp, clipper/clipper.hpp: - updated clipper library to version 6.2.0 - - * src/GraphicPath.h, src/PathClipper.cpp, src/PathClipper.h, - src/XMLNode.h: - fixed a couple of doxygen comments; removed redundant - PathClipperException - -2014-10-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/CommandLine.cpp: - updated CommandLine.cpp with description of option --no-merge - - * src/Ghostscript.cpp: - try to lookup the location of the GS DLL in the Windows registry - -2014-10-01 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/options.xml: - added info about option --no-merge to the manpage - -2014-09-24 Khaled Hosny <khaled.hosny@hindawi.com> - - * src/Makefile.am: - Add an opt2cpp Python script - -A very ugly script that should work as a - drop in replacement for the -opt2cpp XSLT. - -2014-09-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - ensure that colors set by a color special are always considered by the - PS handler - -2014-09-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.cpp, src/DVIReader.cpp, src/FontCache.cpp, - src/GFReader.cpp, src/dvisvgm.cpp: - replaced namespace 'ios_base' with 'ios' - -2014-08-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - added missing whitespace boundaries in PS code - - * src/FontEngine.cpp, tests/PageRagesTest.cpp: - removed unused static functions - - * configure.ac, src/Doxyfile: - set version to 1.8.1 - - * NEWS: - updated NEWS - -2014-08-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/DependencyGraph.h, src/Makefile.am, - src/SVGTree.cpp, src/SVGTree.h, src/XMLNode.cpp, src/XMLNode.h, - tests/DependencyGraphTest.cpp, tests/Makefile.am: - remove redundant clipPath elements from generated SVG files - -2014-08-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSPattern.cpp, src/XMLNode.cpp, src/XMLNode.h: - renamed XMLElementNode::findDescendants() and made it constant - -2014-08-11 Martin Gieseking <martin.gieseking@uos.de> - - * tests/Makefile.am, tests/create-makefile: - link tests against FreeType library - - * README.md: - minor fixed to README.md - -2014-08-10 Khaled Hosny <khaledhosny@eglug.org> - - * configure.ac, src/Makefile.am: - Don't override CXXFLAGS in configure script - -Breaks standard things - like: - - make CXXFLAGS="-g -O0 -pg" - - * configure.ac, src/Makefile.am: - Don't override CPPFLAGS and LDFLAGS in configure - -For the same reasons - as the previous commit - -2014-08-07 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/dvisvgm.cpp: - removed old code that moved cache files to new location - - * src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h: - removed unused emit() methods from XML classes - -2014-07-31 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PsSpecialHandler.cpp, src/psdefs.cpp: - prevent side-effects caused by bop/eop operators present in PS specials - -2014-07-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS: - updated NEWS - -2014-07-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/GraphicPath.h, src/PSInterpreter.cpp, src/PSInterpreter.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/psdefs.cpp, - tests/PSInterpreterTest.cpp: - added evaluation of PS operator 'clippath' (copies clipping path into - graphics path) - - * configure.ac, src/Doxyfile: - set version to 1.8 - -2014-07-26 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/GFGlyphTracer.cpp, src/GraphicPath.h, - src/PsSpecialHandler.cpp: - renamed GraphicPath::newpath() to GraphicPath::clear() - -2014-07-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputReader.cpp, src/PSInterpreter.cpp: - ensure that InputReader::compare() checks whole and not just partial - words - -2014-07-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.h, src/dvisvgm.cpp: - prevent throwing a DVIException when option -l is present - - * Makefile.am, clipper/License.txt, clipper/Makefile.am, - clipper/clipper.cpp, clipper/clipper.hpp, configure.ac, src/Makefile.am: - added slightly modified sources of clipper library (computes boolops on - polygons) - - * src/GraphicPath.h: - added field to store the winding rule to class GraphicPath - - * README, README.md, src/Bezier.cpp, src/Bezier.h, src/GraphicPath.h, - src/Makefile.am, src/PathClipper.cpp, src/PathClipper.h, src/dvisvgm.cpp: - added class PathClipper to compute intersections of closed curved - graphics paths - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/dvisvgm.cpp, - src/options.xml: - added option --clippath to compute the intersection of clipping paths - -2014-07-20 Khaled Hosny <khaledhosny@eglug.org> - - * src/FontEngine.cpp: - Free existing FT_Face before creating a new one - -FontEngine was never - destroying the FT_Face's it creates, except the -very last one that was - destroyed by the destructor. For some reason, -this was causing - FT_New_Face() to fail on Windows after processing the -first hundred or so - pages of DVI files. - -2014-07-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/GraphicPath.h, src/PsSpecialHandler.cpp, src/SVGTree.cpp, - src/SVGTree.h, src/dvisvgm.cpp, src/options.xml, - tests/GraphicPathTest.cpp: - added option to create relative rather than absolute path commands - - * src/TpicSpecialHandler.cpp: - TPIC handler: use class GraphicPath to create SVG path commands - -2014-07-07 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.h, src/Doxyfile, src/HtmlSpecialHandler.h, - src/RangeMap.cpp, src/SpecialManager.cpp, src/ToUnicodeMap.cpp: - fixed a couple of broken doxygen comments - -2014-06-25 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Ghostscript.cpp: - get proper name of Ghostscript library when building for Cygwin - -2014-06-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * README.md: - added markdown version of README - -2014-06-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.cpp: - suppress output of PS operator ':show' to prevent the creation of - additional graphic elements - -2014-06-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/SpecialManager.cpp, src/SpecialManager.h: - removed redundant method SpecialManager::leavePSHeaderSection() - - * doc/dvisvgm.txt.in, src/DVIToSVGActions.cpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - tests/DvisvgmSpecialTest.cpp, tests/Makefile.am: - added/improved dvisvgm::raw* specials - - * src/InputReader.cpp: - added missing include - - * configure.ac, src/Doxyfile: - set version to 1.7 - - * NEWS: - updated NEWS - -2014-06-12 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLNode.cpp, src/XMLNode.h: - added clear() to XMLNode classes; added XMLTextNode::getText() - -2014-06-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/InputReader.cpp, src/InputReader.h: - added InputReader::getLine() - - * src/DVIToSVG.cpp, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h: - added listener to allow SpecialHandlers being notified when - pre-processing has finished - -2014-06-10 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/SpecialActions.h, tests/ColorSpecialTest.cpp: - renamed class SpecialEmptyActions to EmptySpecialActions - -2014-06-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/Ghostscript.cpp: - removed unused variable; call Ghostscript::exit() with explicitely given - object - - * src/DVIToSVG.h, src/SpecialManager.h: - removed redundant definition of assignment operators - -2014-06-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/DVIReader.cpp, - src/DVIReader.h, src/Makefile.am: - moved basic funtionality of DVIReader to base class BasicDVIReader - - * src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/dvisvgm.cpp: - moved call of executePreamble() and executePostamble() from DVIToSVG to - DVIReader - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, - src/PreScanDVIReader.cpp, src/PreScanDVIReader.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, - src/StreamReader.h: - pre-process DVI file to collect required data not present in the page - ranges to be converted - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/SpecialManager.cpp, src/SpecialManager.h, src/dvisvgm.cpp: - made class SpecialManager a singleton - - * src/BasicDVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h: - allow to replace the DVI reader assigned to an instance of - DVIToSVGActions - - * doc/dvisvgm.txt.in, src/BasicDVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/EPSToSVG.cpp, src/EPSToSVG.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/PreScanDVIReader.cpp, - src/PreScanDVIReader.h, src/SpecialActions.h: - process hyperref anchors and links across pages - - * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bitmap.h, - src/BoundingBox.h, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, - src/CMapReader.h, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, - src/CmdLineParserBase.h, src/Color.cpp, src/ColorSpecialHandler.cpp, - src/ColorSpecialHandler.h, src/CommandLine.cpp, src/CommandLine.h, - src/DLLoader.h, src/DVIReader.cpp, src/DVIToSVG.h, src/DVIToSVGActions.h, - src/Directory.h, src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/EncFile.h, src/FileFinder.h, - src/FileSystem.cpp, src/Font.cpp, src/Font.h, src/FontCache.h, - src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, - src/GFReader.h, src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, - src/GraphicPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/JFM.h, src/Length.cpp, src/Length.h, - src/MapLine.cpp, src/MapLine.h, src/Matrix.cpp, src/Matrix.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/NoPsSpecialHandler.h, src/NumericRanges.h, src/PSInterpreter.h, - src/PSPattern.h, src/PSPreviewFilter.h, src/PageRanges.h, src/PageSize.h, - src/Pair.h, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, - src/Process.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SVGTree.h, src/SignalHandler.h, src/SpecialActions.h, - src/SpecialManager.h, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, - src/TFM.h, src/ToUnicodeMap.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/VFReader.cpp, src/VectorStream.h, - src/XMLDocument.h, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/types.h: - replaced leading spaces by tabs; removed trailing whitespace - -2014-06-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/DVIReader.h: - removed redundant variable DVIReader::_prevBop - - * src/PsSpecialHandler.cpp: - fixed incorrect extent values shown when applying a preview bbox - (bp->pt) - -2014-06-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/EPSFile.cpp, src/GFReader.cpp: - replaced relative variant of seekg() by absolute one where possible - - * src/DVIReader.cpp, src/DVIReader.h: - removed redundant code from DVIReader::evalCommand() - -2014-05-31 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/VFReader.cpp: - few code adjustments - - * src/DVIReader.cpp, src/StreamReader.cpp, src/StreamReader.h, - src/VFReader.cpp: - removed StreamReader::in() - - * src/DVIReader.cpp, src/StreamReader.h, src/VFReader.cpp: - renamed some methods of class StreamReader - -2014-05-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/DVIReader.h, src/StreamReader.h: - collect all DVI BOP offsets to reach them quickly - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h: - removed DVIReader::_totalPages; use number of BOP offsets instead - - * src/DVIReader.cpp, src/DVIReader.h, src/dvisvgm.cpp: - simplified computation of progress ratio - - * src/DVIReader.cpp, src/DVIReader.h: - simplified DVIReader::executePage; removed DVIReader::executePages - -2014-05-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Makefile.am, src/Unicode.cpp, src/Unicode.h, - src/XMLString.cpp: - moved unicode-related funtions to separate class - - * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/FontEngine.cpp, - src/FontEngine.h: - removed redundant method CharMap::invert() - - * src/CMap.cpp, src/CMap.h, src/Makefile.am, src/RangeMap.cpp, - src/RangeMap.h, tests/Makefile.am, tests/RangeMapTest.cpp: - extracted class RangeMap previously implemented as part of SegmentedCMap - - * src/RangeMap.cpp: - fixed right joins of touching ranges in a RangeMap - - * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/Font.h, - src/FontEngine.cpp, src/FontEngine.h, src/Makefile.am: - replaced class CharMap with more generic class RangeMap - - * src/DVIToSVG.cpp, src/Makefile.am, src/NumericRanges.h, - src/PageRanges.cpp, src/PageRanges.h, tests/PageRagesTest.cpp: - extracted functionality of class PageRanges to separate class - NumericRanges - - * src/Makefile.am, src/RangeMap.h, src/ToUnicodeMap.cpp, - src/ToUnicodeMap.h, tests/Makefile.am, tests/ToUnicodeMapTest.cpp: - added class ToUnicodeMap to handle mappings from character indexes to - unicode points - - * src/Makefile.am: - Makefile: put source files on separate lines - -2014-04-30 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CharMapID.cpp, src/CharMapID.h, src/DVIReader.cpp, src/Font.cpp, - src/Font.h, src/FontEngine.cpp, src/FontEngine.h: - try to add unicode mappings missing in a font's cmap table - -2014-04-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/SVGTree.cpp: - don't add unnecessary element 'missing-glyph' to SVG files - -2014-04-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml: - renamed argument of option --linkmark from 'type' to 'style' - -2014-04-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/System.h: - removed redundant semicolon - -2014-04-22 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.6 - - * NEWS: - updated NEWS - -2014-04-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/EPSToSVG.cpp: - removed date and machine triplet from generated SVG files - -2014-04-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h: - added optional selection of line/box colors to option --linkmark - -2014-04-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CommandLine.h, src/DVIToSVG.cpp, src/EPSToSVG.cpp: - don't link GS messages unnecessarily if HAVE_LIBGS is defined - - * src/DVIReader.h, src/DVIToSVGActions.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/SpecialActions.h: - only split hyperlink boxes on line breaks - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml: - changed default argument of option --linkmark to 'box' - -2014-04-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DLLoader.cpp: - prevent calling dlopen() if the length of the string argument is 0 - - * doc/dvisvgm.txt.in, src/Ghostscript.cpp: - if libgs is loaded during runtime, look for libgs.so.X instead of - libgs.so - - * src/Ghostscript.cpp, src/dvisvgm.cpp: - moved lookup of MiKTeX's GS DLL to get_libgs() - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp, src/options.xml: - added command-line option --zoom - -2014-04-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CMap.cpp, src/CmdLineParserBase.cpp, src/ColorSpecialHandler.cpp, - src/DVIReader.cpp, src/DVIToSVGActions.cpp, src/Doxyfile, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EPSFile.cpp, src/EmSpecialHandler.cpp, src/FileFinder.cpp, - src/FileSystem.cpp, src/Font.cpp, src/FontCache.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontMap.cpp, src/GraphicPath.h, - src/PSInterpreter.cpp, src/PageRanges.cpp, src/PsSpecialHandler.cpp, - src/SVGTree.cpp, src/SVGTree.h, src/SpecialManager.cpp, src/Subfont.cpp, - src/TFM.cpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp, - src/XMLNode.cpp, src/dvisvgm.cpp: - fixed issues in the doxygen documentation - - * configure.ac, src/Doxyfile: - set version to 1.5.3 - - * NEWS: - updated NEWS - -2014-04-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp: - equalize implementations of moveToX and moveToY - - * src/BoundingBox.h, src/DVIActions.cpp, src/DVIActions.h, - src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/DvisvgmSpecialHandler.cpp, src/EPSToSVG.cpp, - src/EmSpecialHandler.cpp, src/Font.h, src/FontManager.cpp, - src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, - src/GFTracer.h, src/GraphicPath.h, src/HtmlSpecialHandler.h, - src/Makefile.am, src/PSPattern.cpp, src/PSPreviewFilter.cpp, - src/PSPreviewFilter.h, src/PageSize.cpp, src/PageSize.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SVGTree.cpp, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/TFM.cpp, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, - src/VFReader.cpp: - switched internal computations from TeX points (pt) to PS points (bp) - -2014-02-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIReader.h: - ensure updating the SVG cursor position when executing DVI command - set_rule - -2014-01-13 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Ghostscript.cpp: - check if library given by --libgs is actually a GS library - -2014-01-10 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS: - updated NEWS - -2014-01-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - catch exceptions thrown by MiKTeXCom object - - * src/Directory.cpp: - initialize Directory member variables (Win only) - - * src/FileFinder.cpp: - return 'unknown' if MiKTeX version can't be retrieved - - * configure.ac, src/Doxyfile: - set version to 1.5.2 - -2014-01-02 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, - src/CMapReader.cpp, src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, - src/Calculator.cpp, src/Calculator.h, src/CharMap.cpp, src/CharMap.h, - src/CharMapID.cpp, src/CharMapID.h, src/Character.h, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, - src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp, - src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp, - src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h, - src/Length.cpp, src/Length.h, src/Makefile.am, src/MapLine.cpp, - src/MapLine.h, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, - src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, - src/MetafontWrapper.h, src/MiKTeXCom.cpp, src/MiKTeXCom.h, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, src/PSFilter.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PSPattern.cpp, - src/PSPattern.h, src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, - src/PageRanges.cpp, src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, - src/Pair.h, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h, - src/Process.cpp, src/Process.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGOutputBase.h, src/SVGTree.cpp, - src/SVGTree.h, src/SignalHandler.cpp, src/SignalHandler.h, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h, src/StreamReader.cpp, src/StreamReader.h, - src/StreamWriter.cpp, src/StreamWriter.h, src/Subfont.cpp, src/Subfont.h, - src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, src/Terminal.cpp, - src/Terminal.h, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, - src/VFActions.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, - src/options.dtd, src/options.xml, src/psdefs.cpp, src/types.h, - tests/BoundingBoxTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, - tests/CommandLineTest.cpp, tests/DirectoryTest.cpp, - tests/FileFinderTest.cpp, tests/FilePathTest.cpp, - tests/FileSystemTest.cpp, tests/FontManagerTest.cpp, - tests/FontMapTest.cpp, tests/GFReaderTest.cpp, tests/GraphicPathTest.cpp, - tests/LengthTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, - tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, - tests/SubfontTest.cpp, tests/TypesTest.cpp, tests/VectorStreamTest.cpp, - tests/check-conv, tests/create-makefile, tests/normalize.xsl: - updated year in copyright statements to 2014 - -2014-01-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/MiKTeXCom.cpp: - prevent releasing MiKTeX object if its initialization failed - -2013-12-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp: - check if units per EM are not 0 to prevent divisions by zero - - * src/Directory.cpp, src/Directory.h, src/FontMap.cpp, - tests/DirectoryTest.cpp: - changed directory entry types from char to enums - - * src/FontCache.cpp: - catch potential StreamReaderException - -2013-12-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/BoundingBox.cpp: - explicitely initialize BoundingBox fields - - * src/FontCache.cpp: - avoid accessing strings constructed from temporaries - - * src/Matrix.cpp: - ensure return value of istream::get() is assigned to int vars - - * src/DVIReader.cpp: - check if denominator of DVI unit is non-zero - - * src/DvisvgmSpecialHandler.cpp, src/FontCache.cpp: - ensure null pointer checks before dereferencing - - * src/FontCache.cpp, src/SpecialManager.cpp: - restore stream format flags - - * src/DVIReader.cpp, src/Directory.cpp, src/GFReader.cpp: - added missing initializations of member variables - -2013-12-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.h, src/Bitmap.h, src/BoundingBox.h, - src/CMap.h, src/CMapManager.h, src/CMapReader.h, src/Calculator.h, - src/CharMap.h, src/CharMapID.h, src/Character.h, src/CmdLineParserBase.h, - src/Color.h, src/ColorSpecialHandler.h, src/CommandLine.h, - src/DLLoader.h, src/DVIActions.h, src/DVIReader.h, src/DVIToSVG.h, - src/DVIToSVGActions.h, src/Directory.h, src/DvisvgmSpecialHandler.h, - src/EPSFile.h, src/EPSToSVG.h, src/EmSpecialHandler.h, src/EncFile.h, - src/FileFinder.h, src/FilePath.h, src/FileSystem.h, src/Font.h, - src/FontCache.h, src/FontEncoding.h, src/FontEngine.h, src/FontManager.h, - src/FontMap.h, src/FontMetrics.h, src/GFGlyphTracer.h, src/GFReader.h, - src/GFTracer.h, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.h, - src/InputBuffer.h, src/InputReader.h, src/JFM.h, src/Length.h, - src/MapLine.h, src/Matrix.h, src/Message.h, src/MessageException.h, - src/MetafontWrapper.h, src/MiKTeXCom.h, src/NoPsSpecialHandler.h, - src/PSFilter.h, src/PSInterpreter.h, src/PSPattern.h, - src/PSPreviewFilter.h, src/PageRanges.h, src/PageSize.h, src/Pair.h, - src/PdfSpecialHandler.h, src/Process.h, src/PsSpecialHandler.h, - src/SVGOutputBase.h, src/SVGTree.h, src/SignalHandler.h, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.h, - src/StreamReader.h, src/StreamWriter.h, src/Subfont.h, src/System.h, - src/TFM.h, src/Terminal.h, src/TpicSpecialHandler.h, src/VFActions.h, - src/VFReader.h, src/VectorStream.h, src/XMLDocument.h, src/XMLNode.h, - src/XMLString.h, src/macros.h, src/types.h: - prefixed include guards with DVISVGM_ to prevent ambiguities with - external headers - -2013-11-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/SVGTree.cpp, src/SVGTree.h: - don't let global font colors interfere with color specials - -2013-10-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS: - updated NEWS - -2013-10-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Bitmap.cpp, src/Color.cpp, src/JFM.cpp, src/Matrix.cpp: - added missing #includes of header file <algorithm> - - * src/FileSystem.cpp, src/MetafontWrapper.cpp: - added explicit casts from ifstream to bool - - * src/DVIReader.cpp: - temporarily reactivated processing of font definitions located in the - postamble - - * configure.ac, src/Doxyfile: - set version to 1.5.1 - -2013-10-27 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp: - suppress output of logical page number if it equals physical page number - -2013-10-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: - ensure proper evaluation of tightpage data if multiple pages are - processed - -2013-10-12 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputBuffer.h: - don't check unsigned variables for negative values - - * src/Color.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - added 'const' to read-only methods - -2013-09-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontCache.cpp, src/FontCache.h: - renamed FontCache::VERSION to FontCache::FORMAT_VERSION - - * src/DVIToSVG.cpp, src/Ghostscript.h, src/dvisvgm.cpp: - added missing guards and functions to prevent compilation errors if - DISABLE_GS is set - - * src/DVIToSVG.cpp: - changed warning message that appears if PS support has been disabled - permanently - -2013-09-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/Bitmap.cpp, src/BoundingBox.cpp, - src/CMap.cpp, src/CMapManager.cpp, src/CMapReader.cpp, src/CRC32.cpp, - src/Calculator.cpp, src/CharMap.cpp, src/CmdLineParserBase.cpp, - src/Color.cpp, src/ColorSpecialHandler.cpp, src/CommandLine.cpp, - src/CommandLine.h, src/DLLoader.cpp, src/DVIActions.cpp, - src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/Directory.cpp, src/DvisvgmSpecialHandler.cpp, src/EPSFile.cpp, - src/EPSToSVG.cpp, src/EmSpecialHandler.cpp, src/EncFile.cpp, - src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp, src/Font.cpp, - src/FontCache.cpp, src/FontEncoding.cpp, src/FontEngine.cpp, - src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp, - src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp, - src/Ghostscript.cpp, src/Ghostscript.h, src/HtmlSpecialHandler.cpp, - src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/Length.cpp, - src/MapLine.cpp, src/Matrix.cpp, src/Message.cpp, - src/MetafontWrapper.cpp, src/MiKTeXCom.cpp, src/NoPsSpecialHandler.cpp, - src/PSInterpreter.cpp, src/PSPattern.cpp, src/PSPreviewFilter.cpp, - src/PageRanges.cpp, src/PageSize.cpp, src/PdfSpecialHandler.cpp, - src/Process.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp, - src/SignalHandler.cpp, src/SpecialManager.cpp, src/StreamReader.cpp, - src/StreamWriter.cpp, src/Subfont.cpp, src/System.cpp, src/TFM.cpp, - src/Terminal.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp, - src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/dvisvgm.cpp: - include config.h at the top of every translation unit - - * src/DLLoader.h, src/Directory.h: - moved #define NOMINMAX to Windows config.h - - * configure.ac, src/Doxyfile: - set version to 1.5 - - * NEWS: - updated NEWS - -2013-08-30 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontMetrics.h, src/JFM.cpp, src/JFM.h, src/TFM.h: - added retrieval of vertical mode flag to class FontMetrics - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontMetrics.h, src/JFM.h, - src/SVGTree.cpp, src/SVGTree.h, src/TFM.h, src/dvisvgm.cpp: - added support for DVI format 3 (pTeX, vertical mode) - - * src/DVIReader.cpp, src/DVIReader.h, src/Font.cpp, src/Font.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontManager.h, src/FontStyle.h, src/SVGTree.cpp, src/dvisvgm.cpp: - added support for XDV (DVI format 5) files - - * src/Font.cpp, src/Font.h, src/XMLString.cpp: - replaced entity references by corresponding UTF-8 characters; use - correct unicode points rather than DVI charcodes - - * doc/dvisvgm.txt.in: - updated manpage - -2013-08-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/Font.h, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/Makefile.am: - replaced local std::map tables used in Font classes with new class - CharMap - -2013-08-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/SVGTree.cpp: - appended px unit to font-size attributes in style section - -2013-08-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLString.cpp: - replace very small floating point numbers by 0 - -2013-08-20 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - suppress error messages from makeFOO tools - -2013-08-13 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, - src/EncFile.h, src/Font.cpp, src/Font.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h: - derive EncodingPair from FontEncoding - - * src/Font.cpp, src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h: - moved assignment of base font map to Font class - -2013-08-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/FileFinder.cpp: - check if the kpathsea library is C++-safe (patch by Peter Breitenlohner) - - * src/dvisvgm.cpp: - fix number of dashes printed by -V1 - -2013-08-08 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Matrix.cpp, src/Matrix.h: - renamed Matrix skewing methods - -2013-08-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/Font.h, src/FontEngine.cpp, src/FontManager.cpp, - src/FontMap.cpp, src/FontMap.h, src/FontStyle.h, src/Makefile.am: - store pointers to font map and encoding in Font objects to speed up - looking them up - - * src/Ghostscript.h, src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp: - added missing variable initializations - -2013-08-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CMapManager.cpp, src/CMapManager.h, src/FontManager.cpp: - avoid const_cast in CMapManager - -2013-08-02 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp: - disable font processing while scanning PS header specials - - * src/CMap.h, src/CMapManager.cpp: - properly handle 'unicode' encoding entries set in font map - -2013-08-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLDocument.cpp, src/XMLString.cpp: - changed encoding of SVG files from ISO-8859-1 to UTF-8 - - * src/DVIToSVG.cpp, src/Makefile.am, src/SVGTree.cpp, - src/XMLDocTypeNode.h: - removed DOCTYPE declaration from generated files as suggested by the SVG - specification - - * src/DVIToSVG.cpp: - removed redundant #include statements - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.h, src/EPSToSVG.h, - src/Matrix.cpp, src/Matrix.h, src/PsSpecialHandler.cpp, - src/SpecialActions.h, src/dvisvgm.cpp: - apply page transformations to width, height, and depth of preview bbox - - * NEWS: - updated NEWS - - * configure.ac, src/Doxyfile: - set version to 1.4 - -2013-07-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, - src/CMapReader.cpp, src/CMapReader.h, src/FontManager.cpp, - src/Makefile.am, tests/CMapTest.cpp, tests/Makefile.am: - added classes to handle CMap files - - * src/CMap.cpp, src/CMap.h, src/CMapManager.h, src/EncFile.cpp, - src/EncFile.h, src/FileFinder.cpp, src/Font.cpp, src/Font.h, - src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontManager.cpp, src/Makefile.am, - tests/CMapTest.cpp: - derive .enc encoding vectors and CMaps from common base class - FontEncoding - - * src/CMap.cpp, src/CMap.h, src/Character.h, src/EncFile.h, src/Font.cpp, - src/Font.h, src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/Makefile.am, tests/CMapTest.cpp: - added Character class to handle character names, codes, and indexes - consistently - - * src/FileFinder.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp: - added support for OTF fonts - - * src/Font.cpp, src/Font.h, src/FontMetric.cpp, src/FontMetric.h, - src/FontMetrics.cpp, src/FontMetrics.h, src/Makefile.am, src/TFM.h: - renamed class FontMetric to FontMetrics - - * src/CMap.cpp, src/CMap.h, src/CMapReader.cpp, src/CMapReader.h, - tests/CMapReaderTest.cpp, tests/CMapTest.cpp, tests/Makefile.am: - added evaluation of base font (bf) sections in CMap files - - * src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp, - src/CharMapID.cpp, src/CharMapID.h, src/Font.cpp, src/Font.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontMap.cpp, src/FontMap.h, src/Makefile.am: - try to decode characters of non-CID fonts that have a CMap assigned in - the fontmap - -2013-07-27 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h: - moved lookup of the encoding of a font to the Font class - - * src/JFM.cpp: - fixed retrieval of char indexes if a JFM contains entries of chartype 0 - only - - * src/BgColorSpecialHandler.h, src/DVIToSVG.cpp, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h: - ensure that PS header code is evaluated before the page/body code; also - execute bop-hook and eop-hook - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp: - added funtion to execute PS code snippets and retrieve their results - - * doc/dvisvgm.txt.in, src/DVIActions.h, src/DVIReader.cpp, - src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/EPSToSVG.cpp, src/Makefile.am, src/PSFilter.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialActions.h, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: - added evaluation of bounding box information created by preview package - -2013-07-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/EPSToSVG.cpp: - print warning message if height or width of EPS bbox is 0 - - * src/psdefs.cpp: - PS handler: call newpath before executing charpath in operator show - - * src/FontMap.cpp: - check for EOF prior to try to parse another mapline - -2013-07-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.cpp: - replaced PS operator prval with =only in psdefs - -2013-07-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp: - ensure catching PSExceptions while processing PS header specials to - prevent segfaults - - * src/psdefs.cpp: - properly store PS operator applyscalevals in systemdict - -2013-07-14 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Process.cpp, src/Process.h: - extended Process::run() to grab the output written to stdout - - * src/FileFinder.cpp, src/FileFinder.h: - FileFinder: added lookup of cmap files - -2013-07-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp: - command-line parser: changed type of argument mode from char to enum - -2013-06-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - removed redundant 'using namespace std' - -2013-06-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/dvisvgm.cpp: - extend option --linkmark to highlight linked areas by a given background - color - -2013-06-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, - src/ColorSpecialHandler.h, src/SpecialActions.h, - tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, tests/Makefile.am: - use Color class in ColorSpecialHandler rather than local code; added - ColorTest - -2013-05-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/dvisvgm.cpp: - added a missing (underlining) hyphen to the output of -V1 - -2013-05-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h: - added missing NoPsSpecialhandler files - -2013-05-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Font.h, src/FontManager.h, src/FontMetric.cpp, - src/FontMetric.h, src/Makefile.am, src/TFM.cpp, src/TFM.h: - handle invalid TFM files properly - - * src/Font.cpp, src/FontMetric.cpp, src/FontMetric.h, src/JFM.cpp, - src/JFM.h, src/Makefile.am, src/StreamReader.h, src/TFM.cpp, src/TFM.h: - added support for Japanese font metric (JFM) files - - * src/FileFinder.cpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h, src/dvisvgm.cpp: - try to load the Ghostscript library that comes with MiKTeX - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/HtmlSpecialHandler.cpp, - src/HtmlSpecialHandler.h, src/Makefile.am, src/SpecialManager.cpp: - added support of hyperref specials - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/HtmlSpecialHandler.cpp, src/dvisvgm.cpp, src/options.xml: - added option --linkmark to select the highlighing variant for hyperlinks - - * configure.ac, src/Doxyfile: - set version to 1.3 - - * NEWS: - updated NEWS - -2013-05-02 Martin Gieseking <martin.gieseking@uos.de> - - * AUTHORS, Makefile.am, README, configure.ac, potracelib/Makefile.am, - potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - removed bundled potrace library - - * src/SVGTree.cpp, src/SVGTree.h: - added methods to push and pop 'context elements' to a page that wrap - parts of the page contents - - * src/DVIToSVGActions.h, src/EPSToSVG.h, src/SpecialActions.h: - provide the context push/pop methods of class SVGTree to special - handlers - - * src/InputReader.cpp, src/InputReader.h: - added optional parameter 'quotechar' to InputReader::parseAttributes() - - * src/EmSpecialHandler.h, src/NoPsSpecialHandler.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.h: - moved DVI listener methods to dedicated listener interface classes - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, - src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: - added page number parameter to DVIEndPageListener::dviEndPage() - -2013-05-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp, src/Terminal.cpp, src/Terminal.h: - disable cursor when showing the progress indicator (Windows only) - -2013-04-26 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp: - don't link NoPsSpecialHandler if HAVE_LIBGS - -2013-04-25 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontEncoding.cpp: - fixed bracketing bug that prevented lookup of fontmap files - -2013-04-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, - src/Calculator.h, src/Matrix.cpp, src/Matrix.h, src/MessageException.h, - src/PageSize.cpp, src/PageSize.h, src/StreamReader.cpp, - src/StreamReader.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocument.cpp, src/XMLDocument.h: - added missing underscores to private member variables - - * configure.ac, src/Doxyfile: - set version to 1.2.2 - - * NEWS: - updated NEWS - -2013-04-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/dvisvgm.cpp: - avoid output of empty parentheses if TARGET_SYSTEM is not set - - * doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, src/CommandLine.cpp, - src/options.dtd, src/options.xml: - added information about 'dvisvgm -E' to usage line - - * src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.h, - src/CmdLineParserBase.h, src/DVIToSVGActions.cpp, src/Message.cpp, - src/VFReader.cpp: - added missing member initializations to some classes - -2013-04-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/Makefile.am, src/SpecialManager.cpp: - print a warning message if PS specials are found but ignored - -2013-04-15 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp, src/dvisvgm.cpp: - catch MessageException if MiKTeX version can't be obtained - -2013-04-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/Makefile.am, tests/create-makefile: - updated tests/Makefile.am to honor system potracelib if present - - * configure.ac, src/Doxyfile: - set version to 1.2.1 - - * NEWS: - updated NEWS - -2013-04-08 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/DVIToSVGActions.cpp: - allow the background color special to insert white rectancles - - * src/PageRanges.h: - dropped unused variable PageRanges::_max - -2013-04-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLNode.cpp, src/XMLNode.h: - unhide derived method XMLDeclarationNode::append - -2013-03-10 Martin Gieseking <mgieseki@users.sourceforge.net> - - * Makefile.am, configure.ac: - don't build bundled potracelib if system library is used (patch by - Alexis Ballier) - -2013-03-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - updated bundled potrace library to version 1.11 - -2013-03-02 Martin Gieseking <martin.gieseking@uos.de> - - * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/decompose.h, potracelib/lists.h, potracelib/progress.h, - potracelib/trace.c, potracelib/trace.h, src/EPSFile.cpp, - src/EPSToSVG.cpp, src/EPSToSVG.h, src/PSPattern.cpp, src/PSPattern.h, - src/SVGOutputBase.h: - converted DOS line endings - -2013-02-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am, src/PSInterpreter.cpp, src/PSInterpreter.h, - src/PSPattern.cpp, src/PSPattern.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.psc, tests/PSInterpreterTest.cpp: - PS handler: added support of tiling patterns - - * src/Makefile.am, src/PSInterpreter.cpp, src/psdefs.cpp, src/psdefs.psc: - make psdefs a separate compilation unit - - * tests/MapLineTest.cpp: - prevent MapLineTest from failing if file UGBK.sfd is not available - - * src/psdefs.cpp: - improved processing of PS operator 'show' - - * configure.ac, src/Doxyfile: - set version to 1.2 - - * NEWS: - updated NEWS - -2013-02-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLNode.cpp, src/XMLNode.h: - added virtual constructor XMLNode::clone() - - * src/XMLNode.cpp, src/XMLNode.h: - added methods to lookup attribute values and selected descendant XML - nodes - -2013-02-19 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PSInterpreter.cpp, src/PSInterpreter.h: - added PSInterpreter::limit() to limit the number of bytes to be - processed - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/EPSFile.cpp, src/EPSFile.h, - src/EPSToSVG.cpp, src/EPSToSVG.h, src/Makefile.am, - src/PsSpecialHandler.cpp, src/SVGOutputBase.h, src/dvisvgm.cpp, - src/options.xml: - add option to directly convert EPS files to SVG - - * src/FilePath.cpp: - adapt path separators on Windows systems to get the correct output path - -2013-02-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, - src/CommandLine.h: - applied a few refactorings to the command-line parser - -2013-02-07 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, - src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp, src/options.xml: - added optional parameter to option --help to specify output format - -2013-02-06 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/CommandLine.cpp, - src/CommandLine.h, src/EmSpecialHandler.cpp, src/GraphicPath.h, - src/Matrix.cpp, src/PsSpecialHandler.cpp, src/TpicSpecialHandler.cpp, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/options.xml: - added option --precision to set the number of decimal places applied to - attribute values - -2013-01-30 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CommandLine.cpp: - fixed alignment of --help text - -2013-01-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp, src/FontEngine.cpp, src/Makefile.am, - src/MiKTeXCom.cpp, src/MiKTeXCom.h: - moved MiKTeX COM code to separate class - -2013-01-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp, src/Font.cpp, - src/Font.h, src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h, - src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/Makefile.am, - src/MapLine.cpp, src/MapLine.h, src/Subfont.cpp, src/Subfont.h, - tests/FontMapTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp, - tests/SubfontTest.cpp, tests/create-makefile, tests/sample.sfd: - added support for subfont definitions and multi-font (.ttc) files - - * src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/MapLine.h: - replaced FontMap entries by pointers; initialize entries with MapLine - objects - - * src/CommandLine.cpp, src/Font.cpp, src/Font.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, - src/MapLine.cpp, src/MapLine.h, tests/MapLineTest.cpp: - implemented evaluation of font style options given in a mapline - - * configure.ac, src/Doxyfile: - set version to 1.1 - - * NEWS, README: - updated NEWS and README - -2013-01-20 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontEngine.cpp, src/FontEngine.h: - removed unneeded code related to font sizes from class FontEngine - -2013-01-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/FontMap.cpp, src/FontMap.h, src/dvisvgm.cpp, src/options.xml: - renamed option --map-file to --fontmap; allow multiple mapfiles and - modes - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/FontMap.cpp, src/FontMap.h, - src/Makefile.am, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h: - added PdfSpecialHandler to evaluate pdf:mapline and pdf:mapfile specials - -2013-01-10 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/FontEncoding.cpp: - fixed a string exception that occurred when an encoding file or an entry - in the encoding table is unavailable - -2013-01-06 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp, src/FileFinder.h, src/FontEncoding.cpp, - src/FontEncoding.h: - removed font encoding methods from FileFinder - -2013-01-02 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, - src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, - src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, - src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, - src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, - src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/MiKTeXCom.cpp, - src/MiKTeXCom.h, src/PSInterpreter.cpp, src/PSInterpreter.h, - src/PageRanges.cpp, src/PageRanges.h, src/PageSize.cpp, src/PageSize.h, - src/Pair.h, src/Process.cpp, src/Process.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGTree.cpp, src/SVGTree.h, - src/SignalHandler.cpp, src/SignalHandler.h, src/SpecialActions.h, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, - src/StreamWriter.h, src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, - src/Terminal.cpp, src/Terminal.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, - src/options.dtd, src/options.xml, src/psdefs.psc, src/types.h, - tests/BoundingBoxTest.cpp, tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, - tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, - tests/FilePathTest.cpp, tests/FileSystemTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, - tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, - tests/TypesTest.cpp, tests/VectorStreamTest.cpp, tests/create-makefile: - updated year in copyright statements to 2013 - -2012-12-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontCache.cpp, src/PsSpecialHandler.cpp, src/TpicSpecialHandler.cpp: - check emptiness of containers with empty() instead of size() - - * src/FileFinder.cpp, src/MiKTeXCom.cpp, src/Process.cpp: - avoid creating copies of exception objects - - * src/CmdLineParserBase.h, src/Directory.cpp, src/GFReader.cpp, - src/PsSpecialHandler.cpp: - initialize uninitialized member variables - - * src/FileFinder.cpp, src/Message.cpp, src/dvisvgm.cpp: - reduced scope of some variables - -2012-12-12 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontCache.cpp: - replaced 'char' with 'glyph' in font cache listing - - * src/SpecialManager.cpp: - clear all corresponding containers when calling - SpecialHandler::unregisterHandlers() - -2012-12-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Ghostscript.cpp: - added explicit cast to avoid signed/unsigned comparison warning - -2012-12-02 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FilePath.cpp, tests/FilePathTest.cpp: - strip drive letter if it's not set (Windows only) - - * tests/FileSystemTest.cpp, tests/GFReaderTest.cpp: - ensure that tests work properly on Windows - - * src/macros.h: - removed SHOW() from macros.h - - * doc/dvisvgm.txt.in, src/Ghostscript.cpp: - use gsdll64.dll for 64-bit builds; added info about gsdll64.dll to - manpage - -2012-11-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Message.cpp: - don't wrap message lines explicitly on Windows -* * * - -2012-11-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Ghostscript.cpp, src/Ghostscript.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/dvisvgm.cpp: - print an error message if the execution of PS code fails - - * src/PSInterpreter.cpp, src/psdefs.psc: - print operand stack in case of a PS error - -2012-11-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Message.cpp: - handle wrapping of messages containing newlines correctly - -2012-11-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DLLoader.cpp, src/DLLoader.h, src/Ghostscript.cpp: - renamed DLLoader::loadFunction() to DLLoader::loadSymbol() - -2012-11-19 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontEngine.cpp, src/FontEngine.h: - renamed FontEngine::fname to FontEngine::_fontname - - * src/Font.cpp, src/Font.h, src/FontManager.cpp: - print warning if font checksums don't match - -2012-11-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Directory.h: - undefine macro max() to avoid compilation problems on Windows - -2012-11-15 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp, src/FileFinder.h, src/FontMap.cpp, src/FontMap.h, - tests/FontMapTest.cpp: - made class FontMap a singleton - - * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp: - moved initialization of FontMap from FileFinder to dvisvgm.cpp - - * src/Makefile.am, src/MapLine.cpp, src/MapLine.h, tests/Makefile.am, - tests/MapLineTest.cpp: - added new class MapLine to parse and evaluate a single line of a map - file - - * src/FileFinder.cpp, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, - tests/FontMapTest.cpp: - adapted code to use new MapLine class; introduced support of map line - modes - -2012-11-14 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - initialize Ghostscript when compiled for TeX Live Win32 (patch by Peter - Breitenlohner) - - * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp, - tests/FileFinderTest.cpp, tests/FontManagerTest.cpp: - initialize second parameter of kpse_set_program_name() correctly - - * src/DVIToSVG.cpp: - prevent compilation error when using a C++11 compiler (patch by Peter - Breitenlohner) - -2012-11-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputBuffer.cpp, src/InputBuffer.h, src/InputReader.cpp, - src/InputReader.h, src/PsSpecialHandler.cpp, - tests/StreamInputBufferTest.cpp: - some refactorings of class InputReader; added InputReader::find() - -2012-10-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/dvisvgm.cpp: - don't show warning about disabled PS support in list of special handlers - -2012-09-27 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.0.12 - - * NEWS: - updated NEWS - - * src/options.ggo: - removed deprecated file options.ggo - -2012-09-20 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp: - show warning if processing of PS specials is disabled - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - removed Ghostscript info from ps entry in list of special handlers - -2012-09-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.psc: - ignore dvips bop operators that might be present in PS specials - -2012-09-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/StreamReader.cpp: - fixed reading invalid number of string characters - -2012-04-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/Makefile.am: - keep manpage when calling 'make clean' - -2012-04-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp, src/SVGTree.cpp, src/SVGTree.h, - tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, - tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: - scale point units in the SVG files to big points (bp) - -2012-04-02 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: - added Matrix::invert() and det() - -2012-03-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp: - added start index parameter to Matrix::set(vector<>) - -2012-03-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.psc: - evaluate PS operators rectclip, rectfill, and rectstroke - -2012-03-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Ghostscript.cpp, src/Ghostscript.h: - added optional parameter to Ghostscript::revision() to retrieve the - revision number only - - * src/dvisvgm.cpp: - added Ghostscript to library list printed by --version=yes - - * NEWS: - updated NEWS - -2012-03-08 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.0.11 - -2012-03-07 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp: - correct location of a rule's bounding box (lp bug #948713) - -2012-02-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in: - fixed a couple of mistakes and formatting flaws in the manpage - -2012-02-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * README: - updated information about bug reporting - -2012-01-26 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CmdLineParserBase.h, src/DVIActions.h, src/DVIReader.h, - src/DVIToSVGActions.h, src/FontEngine.h, src/FontManager.h, - src/MetafontWrapper.h, src/SVGTree.h, src/SpecialActions.h, - src/SpecialHandler.h, src/SpecialManager.h, src/TFM.h, src/VFReader.h: - adapt forward declarations of classes and structs to their corresponding - definition (SF bug #3480013) - -2012-01-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h: - removed outdated files for old MiKTeX bindings - -2012-01-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputReader.cpp, tests/StreamInputBufferTest.cpp: - fixed parsing of negative floating point numbers starting with '-0.' (SF - bug #3471097) - - * src/TpicSpecialHandler.cpp: - added some more comments to methods of class TpicSpecialHandler - -2012-01-06 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h, - src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp, - src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, - src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, - src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, - src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, - src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PageRanges.cpp, src/PageRanges.h, - src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/Process.cpp, - src/Process.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SVGTree.cpp, src/SVGTree.h, src/SignalHandler.cpp, - src/SignalHandler.h, src/SpecialActions.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp, - src/StreamReader.h, src/StreamWriter.cpp, src/StreamWriter.h, - src/System.cpp, src/System.h, src/TFM.cpp, src/TFM.h, src/Terminal.cpp, - src/Terminal.h, src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, - src/VFActions.h, src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/macros.h, src/options.dtd, src/options.xml, - src/psdefs.psc, src/types.h, tests/BoundingBoxTest.cpp, - tests/CRC32Test.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, - tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, - tests/FilePathTest.cpp, tests/FileSystemTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, - tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MatrixTest.cpp, tests/MessageExceptionTest.cpp, - tests/PSInterpreterTest.cpp, tests/PageRagesTest.cpp, - tests/PageSizeTest.cpp, tests/PairTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp, - tests/StreamReaderTest.cpp, tests/StreamWriterTest.cpp, - tests/TypesTest.cpp, tests/VectorStreamTest.cpp, tests/check-conv, - tests/create-makefile: - updated year in copyright statements - -2011-12-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/Makefile.am, tests/create-makefile: - link tests with -lpthread (required by gtest on Ubuntu) - - * configure.ac, src/Doxyfile: - set version to 1.0.10 - - * NEWS: - updated NEWS - -2011-12-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/GlyphTracerMessages.h, - src/Message.cpp, src/Message.h, src/MetafontWrapper.cpp, - src/Terminal.cpp, src/Terminal.h, src/dvisvgm.cpp: - allow users to customize the message colors - - * doc/dvisvgm.txt.in: - added documentation on environment variable DVISVGM_COLORS to manpage - -2011-11-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/GraphicPath.h: - added some more comments to the methods of GraphicPath - -2011-11-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac: - move linker flag -lfreetype from LDFLAGS to LIBS to avoid linking - problems - -2011-10-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontMap.cpp: - removed unused variable eval_prefix in helper function read_entry() - - * src/SVGTree.cpp: - avoid possible collisions of glyph IDs - -2011-10-13 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.0.9 - - * NEWS: - updated NEWS - -2011-10-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FilePath.cpp: - added some missing comments to methods of class FilePath - - * src/Directory.h: - dropped method Directory::getEntry() - -2011-10-07 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Process.cpp: - added missing include <signal.h> to Process.cpp - - * src/Process.cpp: - exclude definition of split_paramstr() from Windows builds as it's not - used there - -2011-10-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/Makefile.am: - add metadata/pdfmarks to pdf version of manpage - -2011-09-06 Martin Gieseking <mgieseki@users.sourceforge.net> - - * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - updated bundled potrace library to version 1.10 - -2011-06-04 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.0.9dev - - * src/FileFinder.cpp, src/MetafontWrapper.cpp: - fixed segfault occured in TeX Live Win32 caused by mf.exe being - unavailable (SF bug #3308473) - -2011-06-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac: - added AC_LANG_SOURCE to avoid autoconf warnings - -2011-05-31 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0.8; updated NEWS - - * src/PsSpecialHandler.cpp: - explicitly cast double to int in call of ClippingStack::dup()/pop() - -2011-05-27 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/check-conv, tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: - updated conversion tests - -2011-05-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Makefile.am, src/MetafontWrapper.cpp, - src/MetafontWrapper.h, src/Process.cpp, src/Process.h, - src/SignalHandler.cpp: - replaced call of system() with Process::run() and kill child process if - necessary - -2011-05-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - MiKTeX: maketfm and makemf have been renamed to miktex-maketfm and - miktex-makemf - - * src/MetafontWrapper.cpp: - dropped '--halt-on-error' in Metafont call to process buggy mf files - completely - -2011-05-19 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DLLoader.h: - added #undef NOMINMAX before (re)defining it - -2011-05-12 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.psc, tests/PSInterpreterTest.cpp: - PS handler: implemented evaluation of save, restore, and grestoreall - -2011-05-07 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/Doxyfile: - set version to 1.0.8dev - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVGActions.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialActions.h: - fixed interaction between PS and DVI drawing position - - * src/PsSpecialHandler.cpp: - add definitions in literal PS headers to dictionary TeXDict - - * src/PsSpecialHandler.cpp: - fixed potential segfault caused by invisible zero-length paths - -2011-05-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/psdefs.psc: - PS handler: added missing unit conversions (pt vs. bp) - - * NEWS, README, configure.ac, src/Doxyfile: - set version to 1.0.7; updated NEWS and README - -2011-05-05 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PSInterpreter.cpp, src/PsSpecialHandler.cpp: - separate PS snippets by newline characters to leave preceding comments - - * src/PsSpecialHandler.h: - corrected scaling formula applied to PS line properties - - * doc/dvisvgm.txt.in: - added info about dvips rounding issues to manpage - -2011-05-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PsSpecialHandler.cpp: - don't call Ghostscript::revision() in initialization of static variable - - * src/Ghostscript.cpp, src/Ghostscript.h, src/PSInterpreter.cpp, - src/PSInterpreter.h: - avoid 'this' pointer in initialazation list of - PSInterpreter::PSInterpreter() - - * src/Length.h: - undefine macro IN - -2011-05-03 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.7dev - - * src/psdefs.psc: - catch PS error /nocurrentpoint in operator 'setpos' properly - - * src/psdefs.psc: - PS handler: recognize save/restore operators - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, - src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h: - replaced methods for DVI position alterations with translation semantics - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/macros.h, src/psdefs.psc, - tests/PSInterpreterTest.cpp: - improved handling of pure PostScript specials - - * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: - tpic special 'ip' must not draw the outline of the polygon but only fill - its interior - - * src/DLLoader.cpp, src/DLLoader.h: - don't define min/max macros in windows.h - -2011-04-30 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/SpecialManager.cpp: - register special prefix ps:: properly - -2011-04-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp, - tests/FileFinderTest.cpp: - dropped class FileFinder::Impl and simplified FileFinder interface - - * src/DVIReader.cpp, src/Font.cpp, src/GFReader.cpp, src/Makefile.am, - src/MetafontWrapper.cpp, src/PSInterpreter.cpp, src/SignalHandler.cpp, - src/SignalHandler.h, src/TFM.cpp, src/dvisvgm.cpp: - added class SignalHandler for CTRL-C signals - - * NEWS, README, configure.ac, src/Doxyfile: - set version to 1.0.6; updated NEWS and README - -2011-04-14 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp, src/MessageException.h, src/dvisvgm.cpp, - tests/Makefile.am, tests/MessageExceptionTest.cpp: - derived MessageException from std::exception and replaced getMessage() - with what() - -2011-04-13 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/XMLNode.cpp, src/XMLNode.h: - prepended member variables of the XMLNode classes with underscore - -2011-03-15 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp: - throw DVI exception if set_char/put_char is executed without preceding - font selection - -2011-03-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.6dev - - * potracelib/potracelib.c, potracelib/potracelib.h: - changed return type of potrace_version() to 'const char *' in order to - avoid compiler warning - -2011-03-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0.5, updated NEWS - -2011-02-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/FontCache.cpp, src/FontCache.h, src/dvisvgm.cpp: - added code to remove outdated and corrupted cache files - - * src/Ghostscript.cpp: - fixed formatting of GS version number - -2011-02-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.5dev - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/GraphicPath.h, src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp, - src/options.xml, tests/CommandLineTest.cpp: - added option to replace use elements with paths - - * src/SVGTree.cpp: - added missing unit in height/width attribute of svg root element - - * tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, - tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: - updated conversion test files - -2011-02-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputBuffer.h: - reference to scanned string in StringInputBuffer is constant now - -2011-02-10 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileSystem.cpp, src/FileSystem.h, src/dvisvgm.cpp, - tests/FileSystemTest.cpp: - merged FileSystem::move() into FileSystem::copy() - - * src/CRC32.cpp, src/CRC32.h, src/Makefile.am, tests/CRC32Test.cpp, - tests/Makefile.am: - added class CRC32 and corresponding tests - - * src/StreamReader.cpp, src/StreamReader.h, src/StreamWriter.cpp, - src/StreamWriter.h, tests/Makefile.am, tests/StreamReaderTest.cpp, - tests/StreamWriterTest.cpp: - added CRC32 computation methods to StreamReader and StreamWriter - - * src/FontCache.cpp, src/FontCache.h: - added CRC32 checks to cache files - -2011-01-31 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CmdLineParserBase.cpp: - print character instead of ascii value in message of command-line parser - -2011-01-30 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/FileFinder.cpp, src/FileFinder.h, src/FontEngine.cpp, - src/FontEngine.h, src/dvisvgm.cpp, src/options.xml: - added optional argument to --version - -2011-01-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - updated bundled potrace library to version 1.9 - -2011-01-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileSystem.cpp, src/FileSystem.h, tests/FileSystemTest.cpp, - tests/Makefile.am: - added FileSystem::copy and FileSystem::move; added FileSystemTest - - * doc/dvisvgm.txt.in, src/dvisvgm.cpp: - moved cache files to subfolder ($HOME/.dvisvgm/cache) - -2011-01-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CmdLineParserBase.cpp, - src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, - src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, - src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp, - src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h, - src/GlyphTracerMessages.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Length.cpp, src/Length.h, src/Makefile.am, src/Matrix.cpp, - src/Matrix.h, src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PageRanges.cpp, src/PageRanges.h, - src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGTree.cpp, src/SVGTree.h, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h, src/StreamReader.cpp, src/StreamReader.h, - src/StreamWriter.cpp, src/StreamWriter.h, src/System.cpp, src/System.h, - src/TFM.cpp, src/TFM.h, src/Terminal.cpp, src/Terminal.h, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, - src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/macros.h, src/options.dtd, src/options.xml, - src/psdefs.psc, src/types.h, tests/BoundingBoxTest.cpp, - tests/CalculatorTest.cpp, tests/ColorSpecialTest.cpp, - tests/CommandLineTest.cpp, tests/DirectoryTest.cpp, - tests/FileFinderTest.cpp, tests/FilePathTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, tests/GFReaderTest.cpp, - tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MatrixTest.cpp, tests/PageRagesTest.cpp, tests/PageSizeTest.cpp, - tests/PairTest.cpp, tests/SplittedCharInputBufferTest.cpp, - tests/StreamInputBufferTest.cpp, tests/TypesTest.cpp, - tests/VectorStreamTest.cpp, tests/check-conv, tests/create-makefile: - updated year in copyright info - - * tests/Makefile.am, tests/PSInterpreterTest.cpp: - added basic tests for class PSInterpreter - -2010-12-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FileFinder.cpp: - updated to MiKTeX 2.8 SDK - - * src/PsSpecialHandler.cpp: - fixed scaling issue in PS positioning - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.psc: - PS handler: added missing scaling of linewidths and dash distances - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0.4; updated NEWS - - * doc/dvisvgm.txt.in: - minor update to the manpage - -2010-08-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontEngine.cpp: - fixed FreeType version check (patch by Paul Vojta) - -2010-08-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/Makefile.am, tests/PairTest.cpp: - added PairTest - -2010-08-06 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.3 - -2010-08-05 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS, doc/dvisvgm.txt.in: - updated manpage and NEWS - -2010-08-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/BoundingBox.cpp, src/BoundingBox.h, src/Matrix.cpp, src/Matrix.h, - src/PsSpecialHandler.cpp: - revamped PsSpecialHandler::psfile() to fix a transformation issue (SF - bug #3037372) - -2010-07-28 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp: - added check of DVI format version - -2010-07-26 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - restore transformation matrix after execution of psfile - -2010-07-13 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.3dev - - * src/InputBuffer.h: - added missing namespace prefix - - * src/Terminal.cpp: - replaced \e with \x1B - - * src/GraphicPath.h, src/PsSpecialHandler.h: - fixed missing initialization of GraphicPath iterator - - * src/Directory.cpp, src/Directory.h, src/GFReader.cpp, src/GFReader.h: - added leading underscore to variables of GFReader - -2010-06-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/gzstream.cpp, src/gzstream.h: - fixed class variable issue introduced by previous AIX patch - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0.2 - -2010-06-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Bitmap.cpp, tests/DirectoryTest.cpp, tests/GFReaderTest.cpp, - tests/Makefile.am, tests/cmr10.600gf, tests/create-makefile: - added GFReaderTest; updated DirectoryTest - -2010-06-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Bitmap.cpp, src/Calculator.cpp, src/CmdLineParserBase.cpp, - src/Color.cpp, src/ColorSpecialHandler.cpp, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, - src/EmSpecialHandler.cpp, src/FontCache.cpp, src/FontEncoding.cpp, - src/GFGlyphTracer.cpp, src/Pair.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/TFM.cpp, src/TFM.h: - fixed some type conversion warnings - - * src/Message.cpp, src/Message.h: - renamed MessageStream::putchar() to MessageStream::putChar() to avoid - name clashes - - * src/types.h, tests/Makefile.am, tests/TypesTest.cpp: - added TypesTest - -2010-06-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * potracelib/curve.c, potracelib/curve.h, potracelib/decompose.c: - renamed internal potrace functions path_new() and path_free() to prevent - linker conflicts on OS X - -2010-06-14 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.2dev - - * configure.ac, src/CmdLineParserBase.h, src/FileFinder.h, - src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp, - src/FontEngine.cpp, src/GFGlyphTracer.h, src/MetafontWrapper.cpp, - src/gzstream.cpp: - applied latest TL patches from Peter Breitenlohner and Karl Berry - -2010-06-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Message.cpp: - suppress ANSI color code by default - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0.1 - -2010-06-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 1.0.1dev - - * src/psdefs.psc: - fixed recursion issue in PS operator charpath - -2010-06-08 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, doc/Makefile.am, src/Makefile.am: - cleaned up configuration scripts - - * configure.ac, src/Doxyfile: - set version to 1.0dev - - * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.cpp, - src/EmSpecialHandler.cpp, src/PsSpecialHandler.cpp, src/SpecialActions.h, - src/SpecialManager.cpp, src/TpicSpecialHandler.cpp: - added special for creating local bounding boxes - - * src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, - src/Makefile.am, tests/FilePathTest.cpp, tests/Makefile.am: - added class FilePath - - * src/InputBuffer.h, tests/ColorSpecialTest.cpp, - tests/StreamInputBufferTest.cpp: - added InputBuffer::invalidate() - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, - src/PageRanges.cpp, src/PageRanges.h, src/StreamCounter.h, - src/dvisvgm.cpp, src/options.xml, tests/BoundingBoxTest.cpp, - tests/CommandLineTest.cpp, tests/Makefile.am, tests/PageRagesTest.cpp, - tests/StreamCounterTest.cpp: - added conversion of multiple pages - - * configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in, src/CommandLine.cpp, - src/CommandLine.h, src/DVIActions.h, src/DVIToSVG.cpp, src/GFTracer.cpp, - src/GlyphTracerMessages.h, src/Makefile.am, src/Message.cpp, - src/Message.h, src/MetafontWrapper.cpp, src/Terminal.cpp, src/Terminal.h, - src/dvisvgm.cpp, src/options.xml: - improved output of messages including optional colorization - - * src/Font.cpp: - print error message if Metafont failed - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.psc: - evaluate Ghostscript operator .setopacityalpha - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h: - added method to compute length of DVI command - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/DVIActions.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/Makefile.am, src/Message.cpp, src/Message.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SpecialActions.h, src/System.cpp, src/System.h, src/dvisvgm.cpp, - src/options.xml: - added percentage-based progress indicator - - * doc/Makefile.am, doc/dvisvgm.txt.in: - documented option --help and --version in manpage - - * NEWS, configure.ac, src/Doxyfile: - set version to 1.0 - - * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h: - fixed PS destructor issue (SF bug #3013392) - -2010-05-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac: - fixed whitespace issue in CPPFLAGS and LDFLAGS - -2010-05-04 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac: - fixed kpathsea check; use pkg-config to check freetype availability - - * tests/FileFinderTest.cpp, tests/FontManagerTest.cpp, tests/check-conv: - fixed segfaults in tests - -2010-04-23 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS, configure.ac, src/Doxyfile: - set version to 0.9.1 - -2010-04-22 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CommandLine.cpp, src/options.xml: - output of option --help: replaced '(default: FOO)' by '[FOO]' - - * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/SVGTree.cpp, src/SVGTree.h, src/XMLNode.cpp, src/XMLNode.h: - ignore unused fonts in CSS styles list - - * src/SVGTree.cpp: - fixed broken validity when using SVG fonts - - * src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: - print page count and page number of DVI page being processed - - * tests/check-conv, tests/frktest-wf-cmp.svg, tests/sample-wf-cmp.svg: - adapted conversion tests to new output format - -2010-04-20 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontEncoding.cpp: - fixed memory bug in FontEncoding::encoding() - -2010-04-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 0.9.1dev - - * src/DVIToSVGActions.cpp: - replaced wrong font pointer that could lead to segfaults - -2010-03-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/Font.h, src/dvisvgm.cpp: - moved some methods from PhysicalFontImpl to PysicalFont - - * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, - src/CommandLine.cpp, src/CommandLine.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, - src/GlyphTracerMessages.h, src/Makefile.am, src/dvisvgm.cpp, - src/options.xml: - added command-line option --exact - - * src/FontCache.cpp, src/Makefile.am, src/StreamWriter.cpp, - src/StreamWriter.h, src/TFM.cpp: - replaced local stream IO functions by StreamReader/StreamWriter methods - - * src/CmdLineParserBase.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/FontEngine.cpp, src/GlyphTracerMessages.h, src/Message.cpp, - src/Message.h, src/MetafontWrapper.cpp, src/dvisvgm.cpp: - added class MessageStream, updated message output - - * src/FontCache.cpp, src/GFGlyphTracer.cpp, src/GFReader.cpp: - variable _fontname is now correctly set in class FontCache - - * NEWS, configure.ac, src/Doxyfile: - set version to 0.9 - - * tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, - tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg: - updated conversion tests - -2010-03-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/SVGTree.cpp: - moved creation of SVG 'use' elements from class DVIToSVG to class - SVGTree - - * src/DVIToSVG.cpp, src/Font.cpp, src/Font.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/SVGTree.cpp, src/SVGTree.h: - added class GFGlyphTracer::Callback providing an interface used to print - status information about the tracer - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h: - added evaluation of boolean and char arguments to the command-line - parser - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/Font.cpp, src/Font.h, - src/dvisvgm.cpp, src/options.xml, tests/CommandLineTest.cpp: - reactivated option --trace-all, and added optional argument 'retrace' to - it - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/Font.cpp, src/Font.h, src/dvisvgm.cpp, src/options.xml: - added command-line option --keep - -2010-03-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/GFReader.cpp, src/GFReader.h: - replaced GFReader messages by exceptions - - * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, - src/Makefile.am, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, - src/SVGTree.h: - removed class CharmapTranslator - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/FontManager.cpp, src/FontManager.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, - src/SVGTree.h, src/VFReader.h, tests/FontManagerTest.cpp: - made FontManager a singleton - - * src/FontCache.cpp, src/FontCache.h: - added method FontCache::write(const char *dir) that updates the cache - file of the current font - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/Font.cpp, - src/Font.h, src/FontEmitter.h, src/GFGlyphTracer.h, src/Makefile.am, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, - src/SVGTree.h, src/dvisvgm.cpp, tests/Makefile.am, tests/check-conv, - tests/create-makefile: - removed emitter classes; incorporated their functionality into SVGTree - and PhysicalFontImpl - - * src/BoundingBox.cpp, src/Calculator.cpp, src/Matrix.cpp, - src/PSInterpreter.cpp, src/PSInterpreter.h: - fixed a couple of comments - -2010-02-26 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/FontCache.cpp, src/FontCache.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h: - refactorings of GF tracer class; removed transferGlyph() - -2010-02-21 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontManager.cpp, src/FontManager.h, src/SVGFontEmitter.cpp: - moved method encoding() from class FontManager to class FontEncoding - - * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEngine.cpp, - src/FontEngine.h, src/Glyph.cpp, src/Glyph.h, src/Makefile.am, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h: - removed class Glyph and incorporated its functionality into Font class - -2010-02-05 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/Doxyfile: - set version to 0.8.9dev - - * src/psdefs.psc: - removed PS error handler nocurrentpoint - - * src/DVIToSVG.cpp: - added evaluation of literal PS headers to PSHeaderActions - -2010-02-02 Martin Gieseking <mgieseki@users.sourceforge.net> - - * NEWS, configure.ac, src/Doxyfile: - version updated to 0.8.8 - -2010-02-01 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/check-conv: - skip conversion checks by default - -2010-01-31 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/Makefile.am, tests/check-conv, tests/create-makefile, - tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, tests/frktest.dvi, - tests/normalize.xsl, tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg, - tests/sample.dvi: - added tests to check conversion results - - * tests/normalize.xsl: - some improvements to normalize.xsl - -2010-01-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, - src/CommandLine.h: - removed CmdLineParserBase::numOptions() - - * src/GraphicPath.h: - fixed scaling bug in computation of glyph paths when using -n - -2010-01-24 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/FontCache.h, src/dvisvgm.cpp, src/options.dtd, src/options.xml: - added command-line option --libgs - -2010-01-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/CommandLine.cpp, src/options.dtd, src/options.xml: - added DTD for options.xml - -2010-01-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac: - updated type of kpathsea_version_string (patch by lomov_vl) - - * fedora/dvisvgm-gs.patch, fedora/dvisvgm-potrace.patch, - fedora/dvisvgm.spec: - removed fedora directory - - * doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, - src/DVIToSVG.cpp, tests/BoundingBoxTest.cpp, tests/Makefile.am: - added support for enlarging the minimal bbox by a given amount. - - * Makefile.am, README, configure.ac, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, - src/CharmapTranslator.h, src/CmdLineParserBase.cpp, - src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h, - src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp, - src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, - src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, - src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontManager.cpp, src/FontManager.h, - src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, - src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.cpp, - src/Glyph.h, src/GraphicPath.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/InputReader.cpp, src/InputReader.h, src/Length.cpp, src/Length.h, - src/Makefile.am, src/Matrix.cpp, src/Matrix.h, src/Message.cpp, - src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, - src/MetafontWrapper.h, src/PSInterpreter.cpp, src/PSInterpreter.h, - src/PageSize.cpp, src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, - src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/StreamCounter.h, - src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, - src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/macros.h, src/options.xml, src/psdefs.psc, - src/types.h, tests/BoundingBoxTest.cpp, tests/CalculatorTest.cpp, - tests/ColorSpecialTest.cpp, tests/CommandLineTest.cpp, - tests/DirectoryTest.cpp, tests/FileFinderTest.cpp, - tests/FontManagerTest.cpp, tests/FontMapTest.cpp, - tests/GraphicPathTest.cpp, tests/LengthTest.cpp, tests/Makefile.am, - tests/MatrixTest.cpp, tests/PageSizeTest.cpp, - tests/SplittedCharInputBufferTest.cpp, tests/StreamCounterTest.cpp, - tests/StreamInputBufferTest.cpp, tests/VectorStreamTest.cpp, - tests/create-makefile: - updated boilerplates - - * doc/dvisvgm.txt.in, src/FileFinder.cpp, src/Ghostscript.cpp, - src/Ghostscript.h, src/dvisvgm.cpp: - environment variable LIBGS can now be used to set the name of the GS - shared library - - * NEWS: - updated NEWS - - * src/Ghostscript.cpp: - fixed typo in variable name - -2009-12-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/InputReader.cpp: - fixed bug in InputReader::parseUInt() - -2009-12-15 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, src/dvisvgm.cpp: - appied get_time patch sent by Peter Breitenlohner - -2009-12-02 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/BoundingBox.h, src/Calculator.h, src/CharmapTranslator.h, - src/DVIReader.h, src/DVIToSVG.h, src/DVIToSVGActions.h, src/Font.h, - src/FontEngine.h, src/FontManager.h, src/FontMap.h, src/GFGlyphTracer.h, - src/GFReader.h, src/MessageException.h, src/MetafontWrapper.h, - src/PageSize.h, src/SVGTree.cpp, src/SVGTree.h, src/StreamReader.h, - src/VFActions.h, src/VFReader.h, src/XMLDocTypeNode.h, src/XMLDocument.h, - src/XMLNode.h, src/XMLString.h: - removed using statements from header files - -2009-11-25 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/FontCache.cpp, src/FontCache.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFTracer.cpp, - src/Glyph.cpp, src/Glyph.h, src/GraphicPath.h, src/Makefile.am, - src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp, - tests/GraphicPathTest.cpp: - removed FEGlyphCommands and replaced separate glyph class implementation - by class GraphicPath - -2009-11-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/Ghostscript.cpp, src/Ghostscript.h: - replaced #if !DISABLE_GS by #if !defined(DISABLE_GS) (Peter - Breitenlohner) - - * src/Ghostscript.cpp, src/Ghostscript.h: - replaced #if HAVE_LIBGS by #if defined(HAVE_LIBGS) - - * src/DLLoader.cpp, src/DLLoader.h: - fixed line endings - -2009-11-17 Martin Gieseking <mgieseki@users.sourceforge.net> - - * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: - set version number to 0.8.8dev - - * potracelib/potracelib.c, potracelib/potracelib.h: - replaced outdated string constant type char* by const char* in - potrace_version() - - * src/Color.cpp, src/ColorSpecialHandler.cpp, src/FontManager.cpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/TpicSpecialHandler.cpp: - added explicit casts to avoid compiler warnings (Peter Breitenlohner) - - * src/InputReader.cpp: - added missing initialization value (Peter Breitenlohner) - - * src/CmdLineParserBase.h, src/GraphicPath.h, src/InputReader.h, - src/Makefile.am, src/PSInterpreter.h, src/SpecialManager.h: - added missing virtual destructors to avoid warnings - - * src/dvisvgm.cpp: - don't use email adress PACKAGE_BUGREPORT for copyright notice - - * NEWS: - updated NEWS - -2009-11-09 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVG.cpp, src/dvisvgm.cpp: - added total number of pages to message text - - * NEWS, src/Color.cpp, src/Color.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGTree.cpp: - PS handler: colors set by color specials are now considered properly - - * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: - set version to 0.8.7 - -2009-11-06 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/GraphicPath.h, src/PsSpecialHandler.cpp: - PS handler: replace zero-length paths by dots - - * NEWS, doc/dvisvgm.txt.in: - updated NEWS and manpage - - * NEWS, src/PsSpecialHandler.cpp: - fixed path scaling issue in PS handler - -2009-10-29 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DVIToSVGActions.cpp, src/Font.cpp, src/Font.h: - fixed positioning of italic characters - -2009-10-25 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/DvisvgmSpecialHandler.cpp: - added macro {?nl} to dvisvgm:raw evaluator - -2009-10-18 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/Font.cpp, src/TFM.cpp, src/TFM.h: - added italic correction values to character widths - -2009-10-16 Martin Gieseking <mgieseki@users.sourceforge.net> - - * tests/Makefile.am, tests/create-makefile: - added script to create tests/Makefile.am - - * configure.ac, src/Doxyfile: - increased version to 0.8.7dev - -2009-10-13 Martin Gieseking <mgieseki@users.sourceforge.net> - - * doc/Makefile.am, doc/dvisvgm.txt.in: - removed outdated post-processing of manpage - - * fedora/dvisvgm.spec: - updated spec file - - * doc/Makefile.am: - added missing dvi suffix in Makefile target dvi-pdf - - * README, tests/CalculatorTest.cpp, tests/CalculatorTest.h, - tests/ColorSpecialTest.cpp, tests/ColorSpecialTest.h, - tests/CommandLineTest.cpp, tests/CommandLineTest.h, - tests/DirectoryTest.cpp, tests/DirectoryTest.h, tests/FileFinderTest.cpp, - tests/FileFinderTest.h, tests/FontManagerTest.cpp, - tests/FontManagerTest.h, tests/FontMapTest.cpp, tests/FontMapTest.h, - tests/GraphicPathTest.cpp, tests/GraphicPathTest.h, tests/LengthTest.cpp, - tests/LengthTest.h, tests/Makefile.am, tests/MatrixTest.cpp, - tests/MatrixTest.h, tests/PageSizeTest.cpp, tests/PageSizeTest.h, - tests/SplittedCharInputBufferTest.cpp, - tests/SplittedCharInputBufferTest.h, tests/StreamCounterTest.cpp, - tests/StreamCounterTest.h, tests/StreamInputBufferTest.cpp, - tests/StreamInputBufferTest.h, tests/VectorStreamTest.cpp, - tests/VectorStreamTest.h: - replaced cxxtest by googletest - -2009-10-12 Martin Gieseking <mgieseki@users.sourceforge.net> - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, - src/CharmapTranslator.h, src/CmdLineParserBase.cpp, - src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DLLoader.cpp, - src/DLLoader.h, src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h, - src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/FileFinder.cpp, src/FileFinder.h, - src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, - src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, - src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, - src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, src/Ghostscript.cpp, - src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, - src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h, src/StreamCounter.h, src/StreamReader.cpp, - src/StreamReader.h, src/TFM.cpp, src/TFM.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/macros.h, src/types.h: - code cleanup - -2009-10-11 Martin Gieseking <mgieseki@users.sourceforge.net> - - * autogen.sh: - fixed file permissions of autogen.sh - - * src/DVIToSVG.cpp, src/DvisvgmSpecialHandler.cpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SVGTree.cpp, - src/SVGTree.h: - suppress empty style and transformation elements - - * NEWS: - NEWS updated - -2009-10-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - scale clipping paths by 72.27/72 - -2009-10-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.h: - fixed bit shift overflow in Bitmap class occured on 64-bit systems - - * autogen.sh, prepare: - prepare script replaced by autogen.sh - - * doc/dvisvgm.txt.in: - fixed formatting of manual page - - * src/Length.cpp, src/Length.h, tests/LengthTest.h: - fixed unit conversion bug - - * src/Makefile.am: - fixed Makefile - -2009-10-08 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/CommandLine.cpp, - src/CommandLine.h, src/DVIToSVG.cpp, src/DVIToSVG.h, src/dvisvgm.cpp, - src/options.xml, tests/CommandLineTest.h, tests/Makefile.am: - cmdline parameter --bbox can now be used to set the absolute bounding - box - - * NEWS, src/GraphicPath.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h: - PS clipping path sequences and intersections are now handled correctly - - * src/MetafontWrapper.cpp: - fixed file permissions - - * src/dvisvgm.cpp: - fixed uncaught PageSizeException - -2009-10-07 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h, - src/DvisvgmSpecialHandler.cpp: - added the special variant 'dvisvgm:bbox abs' and 'dvisvgm:bbox fix' - - * src/BoundingBox.cpp, src/BoundingBox.h, src/Length.cpp, src/Length.h, - src/Makefile.am, tests/LengthTest.h: - class Length provides length unit calculations - -2009-10-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/BoundingBox.cpp, src/BoundingBox.h, src/GraphicPath.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/psdefs.psc: - fixed some PS bounding box and positioning issues introduced by previous - changesets - - * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile: - set version to 0.8.6 - -2009-10-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - convert PS path coordinated to TeX point units - - * NEWS, src/PsSpecialHandler.cpp: - fixed another positioning bug reported by John Bowman - -2009-10-04 Martin Gieseking <martin.gieseking@uos.de> - - * src/GraphicPath.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - corrected positioning bug introduced with previous PS positioning fix - -2009-10-02 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/dvisvgm.txt.in: - generate pdf manpage directly with groff; adapted manpage source to work - with latest asciidoc - -2009-10-01 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/dvisvgm.txt.in: - replaced backticks in manpage by apostrophes; updated date on homepage - -2009-09-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/DvisvgmSpecialHandler.cpp: - added optional depth parameter to special dvisvgm:raw - - * doc/dvisvgm.txt.in: - added dvisvgm:raw example to man page - - * LGPL-2.1.txt, NEWS, README: - updated README and NEWS, and added file with LGPL license text - - * Makefile.am, configure.ac, fedora/dvisvgm.spec, src/Doxyfile: - increased version number to 0.8.5 - -2009-09-17 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS: - added cretdit to John Bowman for sending a patch for the already fixed - clipping bug - - * src/PsSpecialHandler.h: - increased the default linewidth to 0.5 - - * fedora/dvisvgm.spec: - updated spec file and fixed typo on website - - * doc/dvisvgm.txt.in: - minor changes of the documentation - -2009-09-11 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/CmdLineParserBase.cpp, src/FontCache.cpp, - src/SVGFontTraceEmitter.cpp: - fixed memory bug in tracer module (issue #21) - - * NEWS, doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialManager.cpp, - src/SpecialManager.h, src/dvisvgm.cpp, src/options.xml: - added option --progress for enabling a progress indicator (feature #22) - - * src/FileSystem.cpp, src/MetafontWrapper.cpp: - Windows: Metafont is now called via CreateProcess() - -2009-09-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h: - refactored prefixes methods of the SpecialHandlers (ticket #20) - - * NEWS, doc/dvisvgm.txt.in, src/FileSystem.cpp, src/FileSystem.h, - src/FontCache.cpp, src/FontCache.h, src/dvisvgm.cpp: - option --cache prints additional information about the cached fonts - (feature #7) - - * src/FileSystem.cpp, src/FontCache.cpp: - fixed Windows-related bug in FileSystem::collect - -2009-09-06 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README: - updated NEWS and README - -2009-09-04 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, fedora/dvisvgm.spec, src/Doxyfile: - increased version number to 0.8.4 - - * src/BoundingBox.cpp, src/BoundingBox.h, src/PsSpecialHandler.cpp: - linewidths are now considered properly in computation of bounding box - (issue #13) - - * src/dvisvgm.cpp: - fixed evaluation of option --help - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp, - src/InputBuffer.h, src/InputReader.h, src/psdefs.psc, - tests/CommandLineTest.h: - improved the command line parser to make it more POSIX-compliant - (feature #17) - -2009-09-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp, src/psdefs.psc: - fixed flattened clipping path bug (issue #11) - -2009-08-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am: - added error checks; disallow numeric optional arguments w/o default - value - -2009-08-28 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/PSInterpreter.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp, - src/psdefs.psc: - added evaluation of PS 'show' operator in order to evaluate PSTricks - Type 3 fonts properly - - * fedora/dvisvgm.spec: - updated spec file and homepage to latest release - -2009-08-27 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, configure.ac, doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, - src/CommandLine.cpp, src/Doxyfile, src/dvisvgm.cpp, src/getopt.c, - src/getopt.h, src/getopt1.c, src/options.xml: - replaced option --cache=? by --cache; increased version number to 0.8.3 - -2009-08-26 Martin Gieseking <martin.gieseking@uos.de> - - * fedora/dvisvgm-0.8.1-potrace.patch, fedora/dvisvgm-gs.patch, - fedora/dvisvgm-potrace.patch, fedora/dvisvgm.spec: - updated Fedora files - - * configure.ac, fedora/dvisvgm.spec, src/Ghostscript.cpp, - src/Ghostscript.h, src/Makefile.am: - improved Ghostscript and potrace linking checks to simplify usage of - external devel files - - * NEWS, configure.ac, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/PsSpecialHandler.cpp, - src/SpecialManager.cpp, src/SpecialManager.h: - PS prologue files referenced in first page are now always loaded - -2009-08-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/CommandLine.cpp, src/CommandLine.h: - speed up printing help by using puts() instead of C++ streams - -2009-08-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontMap.cpp: - fixed memory bug in FontMap - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Makefile.am, - src/dvisvgm.cpp, src/options.xml, tests/CommandLineTest.h, - tests/Makefile.am: - improved CmdLineParserBase and replaced gengetopt-based parser - - * NEWS, configure.ac, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, - src/Doxyfile: - increased version number to 0.8.2 - -2009-08-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/InputReader.cpp, src/InputReader.h: - added method parseUInt() - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/options.xml: - added files for replacement of gengetopt (not active yet) - - * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h: - finished cmdline parser - - * COPYING: - added copy of file COPYING - -2009-08-17 Martin Gieseking <martin.gieseking@uos.de> - - * tests/Makefile.am: - added include path to fix broken distcheck - - * COPYING, LICENSE, Makefile.am, README, doc/dvisvgm.txt.in, - src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, - src/CharmapTranslator.h, src/Color.cpp, src/Color.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DLLoader.cpp, - src/DLLoader.h, src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Directory.cpp, - src/Directory.h, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/FileFinder.cpp, src/FileFinder.h, - src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, - src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h, - src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp, - src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, src/Ghostscript.cpp, - src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, - src/PageSize.h, src/Pair.h, src/PsSpecialHandler.cpp, - src/PsSpecialHandler.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.cpp, - src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/StreamCounter.h, - src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, - src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h, src/VFActions.h, - src/VFReader.cpp, src/VFReader.h, src/VectorStream.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/inttypes.h, src/macros.h, src/psdefs.psc, - src/types.h, tests/CalculatorTest.h, tests/ColorSpecialTest.h, - tests/DirectoryTest.h, tests/FileFinderTest.h, tests/FontManagerTest.h, - tests/FontMapTest.h, tests/GraphicPathTest.h, tests/MatrixTest.h, - tests/PageSizeTest.h, tests/SplittedCharInputBufferTest.h, - tests/StreamCounterTest.h, tests/StreamInputBufferTest.h, - tests/VectorStreamTest.h: - changed license to GPL version 3 or later - -2009-08-10 Martin Gieseking <martin.gieseking@uos.de> - - * fedora/dvisvgm-0.8.1-potrace.patch, fedora/dvisvgm.spec: - added spec file and patch for Fedora builds - - * Makefile.am, configure.ac, src/Makefile.am, src/tests/CalculatorTest.h, - src/tests/ColorSpecialTest.h, src/tests/DirectoryTest.h, - src/tests/FileFinderTest.h, src/tests/FontManagerTest.h, - src/tests/FontMapTest.h, src/tests/GraphicPathTest.h, - src/tests/MatrixTest.h, src/tests/PageSizeTest.h, - src/tests/SplittedCharInputBufferTest.h, src/tests/StreamCounterTest.h, - src/tests/StreamInputBufferTest.h, src/tests/VectorStreamTest.h, - src/tests/dvipdfm_test.map, src/tests/dvips_test.map, - tests/CalculatorTest.h, tests/ColorSpecialTest.h, tests/DirectoryTest.h, - tests/FileFinderTest.h, tests/FontManagerTest.h, tests/FontMapTest.h, - tests/GraphicPathTest.h, tests/Makefile.am, tests/MatrixTest.h, - tests/PageSizeTest.h, tests/SplittedCharInputBufferTest.h, - tests/StreamCounterTest.h, tests/StreamInputBufferTest.h, - tests/VectorStreamTest.h, tests/dvipdfm_test.map, tests/dvips_test.map: - moved tests from src/tests to ./tests - - * tests/Makefile.am: - added generated file test-all.cpp to CLEANFILES - -2009-08-02 Martin Gieseking <martin.gieseking@uos.de> - - * LICENSE, Makefile.am, src/Ghostscript.cpp: - modified package to be compatible with prerequisites of Fedora - -2009-07-30 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, src/DVIToSVG.cpp: - added target triplet to version string in SVG output - - * src/DVIToSVGActions.cpp, src/Ghostscript.cpp, src/Ghostscript.h, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - added Ghostscript revision info to output of dvisvgm -l - -2009-07-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/psdefs.psc: - added vim tag to psdefs.psc - -2009-07-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/PsSpecialHandler.cpp: - added evaluation of more psfile parameters; fixed psfile bounding box - bug - - * NEWS, configure.ac, src/Doxyfile: - updated version number to 0.8.1 - - * NEWS, src/FileSystem.cpp, src/FontEngine.cpp, src/FontManager.cpp, - src/Ghostscript.cpp, src/PageSize.cpp, src/dvisvgm.cpp: - fixed bug related to unsigned/size_t mismatch on x64 systems - - * src/psdefs.psc: - cleaned up VC++ build files; added batch file to generate cmdline.c; - added generated file psdefs.psc for convenience - -2009-07-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/DLLoader.cpp, src/InputReader.cpp, src/PSInterpreter.cpp: - changes to make VC happy; fixed potential memory bug - - * NEWS, README: - fixed typos; updated homepage/manpage - - * src/DVIReader.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/InputReader.cpp, src/InputReader.h, src/Matrix.cpp, src/Matrix.h, - src/PSInterpreter.h: - replaced size_t parameters by unsigned - -2009-07-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/PSInterpreter.cpp: - some clean-ups - -2009-07-22 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README, doc/dvisvgm.txt.in, src/BoundingBox.cpp, - src/BoundingBox.h, src/GraphicPath.h, src/PSInterpreter.cpp, - src/PsSpecialHandler.cpp, src/PsSpecialHandler.h: - fixed clipping bug; updated homepage, README, NEWS - - * src/TpicSpecialHandler.cpp: - fixed reintroduced bug in TPIC handler - -2009-07-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/DvisvgmSpecialHandler.cpp, src/InputBuffer.cpp, src/InputReader.cpp, - src/InputReader.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/tests/StreamInputBufferTest.h: - implemented psfile special; fixed some bugs - - * src/PsSpecialHandler.cpp, src/SVGTree.cpp: - fixed bbox bug; added missing file - -2009-07-19 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, doc/dvisvgm.txt.in, src/BoundingBox.cpp, - src/BoundingBox.h, src/Color.cpp, src/Color.h, src/DLLoader.cpp, - src/DLLoader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Doxyfile, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, - src/FileFinder.cpp, src/FontEncoding.cpp, src/Ghostscript.cpp, - src/Ghostscript.h, src/GraphicPath.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/InputReader.cpp, src/InputReader.h, - src/Makefile.am, src/Matrix.cpp, src/Matrix.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/SVGTree.h, - src/SpecialActions.h, src/TpicSpecialHandler.cpp, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/iapi.h, src/ierrors.h, src/tests/GraphicPathTest.h, - src/tests/MatrixTest.h, src/tests/SplittedCharInputBufferTest.h, - src/tests/StreamInputBufferTest.h: - transplanted PS functionality to default branch - -2009-06-01 Martin Gieseking <martin.gieseking@uos.de> - - * src/GFReader.cpp, src/GFReader.h: - removed error method, use Message::estream instead - - * src/InputBuffer.cpp, src/InputBuffer.h, src/Makefile.am: - transplanted changes to InputBuffer from branch 'pages' - - * src/Bitmap.cpp, src/Bitmap.h: - transplanted changes to Bitmap from branch 'pages' - - * src/DVIReader.cpp, src/DVIReader.h: - transplanted changes to DVIReader from branch 'pages' - - * src/FileSystem.cpp, src/FileSystem.h: - transplanted changes to FileSystem from branch 'pages' - - * src/VFReader.cpp: - transplanted changes to VFReader from branch 'pages' - - * src/GFTracer.cpp: - transplanted changes to GFTracer from branch 'pages' - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h, - src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h: - transplanted changes to SpecialHandlers from branch 'pages' - -2009-04-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/TpicSpecialHandler.cpp: - fixed TPIC handler bug that could caused unwanted color fills of - ellipses due to a missing call of reset() - - * NEWS, configure.ac, src/Doxyfile: - increased version number to 0.7.3 - - * src/FontCache.h: - increased version of font cache files to ensure their recreation due to - the previously fixed shorthand path command bug - -2009-04-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontGlyph.cpp: - fixed bug in computation of shorthand path command - -2009-04-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontMap.cpp: - fixed bug in FontMap that causes a segfault if extension in given font - file is missing (reported by Armin Geisse) - -2009-04-02 Martin Gieseking <martin.gieseking@uos.de> - - * configure.ac, doc/dvisvgm.txt.in, src/MetafontWrapper.cpp, - src/dvisvgm.cpp: - prepared release 0.7.2 (removed inclusions of debug.h, adapted homepage - and manpage) - -2009-03-31 Martin Gieseking <martin.gieseking@uos.de> - - * src/MetafontWrapper.cpp, src/MetafontWrapper.h: - ported fix in MetafontWrapper back to default branch - -2009-03-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/FontGlyph.cpp, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp: - replaced Metafont magnification variable and its setters by a public - class variable - - * src/Doxyfile: - added doxygen files - - * src/SVGFontTraceEmitter.cpp: - fixed closing bracket "bug" when writing the currently traced character - to the terminal - -2009-03-24 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/FontCache.cpp, src/FontGlyph.cpp, src/FontGlyph.h, - src/GFGlyphTracer.cpp, src/Pair.h, src/SVGFontEmitter.cpp: - use of shorthand path commands has been implemented - - * src/FontGlyph.cpp: - fixed potential bug in Glyph::optimizeCommands() - - * src/FontGlyph.cpp: - fixed memory bug in Glyph::optimizeCommands() - -2009-03-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontCache.cpp: - cache files are being compressed now to reduce the file size - -2009-03-19 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/dvisvgm.txt.in, src/FontEmitter.h, src/GFGlyphTracer.cpp, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp, - src/options.ggo: - added option --trace-all that forces tracing of all glyphs of all - currently used bitmap fonts - - * src/FontCache.cpp, src/SVGFontTraceEmitter.cpp: - don't read existing cache file if --trace-all is given (trace complete - font and then write cache file instead) - -2009-03-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontCache.cpp: - fixed bug in read/write functions of FontCache - - * src/DVIToSVG.cpp, src/TFM.cpp, src/TFM.h: - added firstChar()/lastChar() to TFM class, removed unnecessary mag - member variable and its setter - -2009-03-17 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/FileSystem.cpp, - src/FileSystem.h, src/FontCache.cpp, src/FontCache.h, src/FontGlyph.h, - src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/Makefile.am, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp: - completed font caching support - - * doc/dvisvgm.txt.in, src/dvisvgm.cpp: - added option variant --cache=? to display the default cache directory - - * src/FontCache.cpp: - reduced size of cache file format by using variable integer sizes - -2009-03-16 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, configure.ac, doc/dvisvgm.txt.in, src/DVIToSVG.cpp, - src/FileSystem.cpp, src/FileSystem.h, src/FontCache.cpp, src/FontCache.h, - src/FontGlyph.cpp, src/FontGlyph.h, src/GFGlyphTracer.cpp, - src/GFGlyphTracer.h, src/GFTracer.cpp, src/options.ggo: - first additions to support font caching; not working yet - -2009-03-11 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/FontEmitter.h, src/SVGFontEmitter.cpp, - src/SVGFontEmitter.h, src/SVGFontTraceEmitter.cpp, - src/SVGFontTraceEmitter.h: - improved font embedding algorithm in case of --no-fonts (identical - glyphs in different sizes are now referenced rather than duplicated) - -2009-03-10 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.h, - src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp: - all glyph sizes are now computed correctly in conjuction with option - --no-fonts - -2009-03-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/BgColorSpecialHandler.cpp, src/SpecialManager.cpp, - src/TpicSpecialHandler.cpp: - adapted Code to make VC happy - - * src/types.h: - minor changes to homepage and .hgignore - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp: - fixed transformation bug (transformations are now applied properly to - the page) - -2009-03-08 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, README, src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, src/Makefile.am, - src/TpicSpecialHandler.cpp: - added bgcolor support, updated homepage, fixed color handler bug - - * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h: - added missing background color handler - -2009-03-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: - implemented arc drawing of tpic special set - - * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h: - implemented splines of tpic specials - -2009-03-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/BoundingBox.cpp, src/BoundingBox.h, src/Color.cpp, - src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIActions.h, - src/DVIBBoxActions.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EmSpecialHandler.cpp, - src/Makefile.am, src/SpecialActions.h, src/SpecialHandler.h, - src/TpicSpecialHandler.cpp: - improved computation of the bounding box (works with specials now); - added dummy function for background color assignments - - * doc/Makefile.am, doc/dvisvgm.txt.in, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/SpecialActions.h: - implemented the dvisvgm specials raw, image, and bbox - - * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h: - minor code improvements; comments added - -2009-02-26 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/dvisvgm.txt, doc/dvisvgm.txt.in: - removed generated file, added dvisvgm.txt.in - - * doc/Makefile.am, doc/dvisvgm.txt.in: - improved manpage - -2009-02-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, - src/SpecialActions.h, src/TpicSpecialHandler.cpp: - renamed appendInPage() to appendToPage - -2009-02-24 Martin Gieseking <martin.gieseking@uos.de> - - * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp, - src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp, - src/EmSpecialHandler.h, src/Makefile.am, src/SpecialColorHandler.cpp, - src/SpecialColorHandler.h, src/SpecialDvisvgmHandler.cpp, - src/SpecialDvisvgmHandler.h, src/SpecialEmHandler.cpp, - src/SpecialEmHandler.h, src/SpecialHandler.h, src/SpecialHtmlHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, - src/tests/ColorSpecialTest.h: - improved SpecialHandler is now able to handle unprefixed specials - - * NEWS, src/Color.cpp, src/Color.h, src/DVIToSVGActions.cpp, - src/Makefile.am, src/Pair.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp, - src/TpicSpecialHandler.h: - first tpic implementations; not complete yet - - * NEWS, doc/dvisvgm.1.in, src/TpicSpecialHandler.cpp: - few additions to tpic handler - -2009-02-23 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, configure.ac, doc/dvisvgm.1.in, src/DVIBBoxActions.h, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/FontEmitter.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/XMLNode.cpp, - src/XMLNode.h, src/dvisvgm.cpp, src/options.ggo, - src/tests/ColorSpecialTest.h: - added option --no-fonts wich uses path elements instead of fonts - -2009-02-20 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/dvisvgm.1.in, src/Color.cpp, src/Color.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, - src/SpecialActions.h, src/SpecialColorHandler.cpp, - src/SpecialDvisvgmHandler.cpp, src/SpecialDvisvgmHandler.h, - src/SpecialEmHandler.cpp, src/SpecialEmHandler.h, - src/SpecialHtmlHandler.h, src/VerbSpecialHandler.cpp, - src/VerbSpecialHandler.h: - fixed bug in color handler, added skeletons of dvisvgm/hyperref special - handlers - -2009-02-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/Makefile.am, src/SpecialActions.h, src/SpecialColorHandler.cpp, - src/SpecialEmHandler.cpp: - added color support to emTeX specials, removed Color class - - * NEWS, src/SpecialActions.h, src/tests/ColorSpecialTest.h: - adapted color test to new interface, added emtex info - -2009-02-17 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp: - made DVICommand local to executeCommand, removed unnecessary if - statement - -2009-02-14 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h: - finished color support - - * src/dvisvgm.cpp: - fixed incorrect behavior of option -V/--version - - * NEWS, configure.ac: - increased version number to 0.6.2, updated NEWS - - * doc/dvisvgm.1.in, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/dvisvgm.cpp, src/options.ggo: - added option --no-style - - * NEWS, configure.ac: - prepared release of version 0.7 - -2009-02-13 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile.am, configure.ac, src/tests/DirectoryTest.h: - removed rpm support - - * prepare: - added administrative files - - * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h: - reverted to previous version, removed dependency on Color class - - * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am, - src/SpecialActions.h, src/SpecialHandler.h, src/SpecialManager.cpp, - src/SpecialManager.h: - color specials are now processed by DVIToSVGActions, but don't create - any results yet - - * prepare: - updated administrative files - - * src/ColorSpecialHandler.cpp, src/Makefile.am, - src/tests/ColorSpecialTest.h: - added tests for ColorSpecialHandler - -2009-02-12 martin@xps <martin@xps> - - * src/inttypes.h: - added rudimentary files for writing of SWF files; not ready yet - -2009-02-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/Makefile.am: - replaced RGB arrays by Color class - -2009-02-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/TransformationMatrix.cpp: - made y-coordinate of cmdline-option -t optional - -2009-02-06 Martin Gieseking <martin.gieseking@uos.de> - - * doc/dvisvgm.1.in, src/ColorSpecialHandler.h, src/DVIToSVG.cpp, - src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h, - src/dvisvgm.cpp, src/options.ggo: - added option --list-specials that lists all registered special handlers - - * src/FileFinder.cpp: - changed lookup order of font maps - -2009-02-05 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/dvisvgm.cpp, src/options.ggo: - added optional prefix list to commandline option --no-specials - - * src/DVIToSVGActions.cpp: - replaced special ignore list evaluation algorithm - -2009-02-04 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp: - added option for additional loading of user maps - - * src/FontMap.cpp: - added output of font encoding in write method - -2009-02-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialHandler.h, - src/SpecialManager.cpp, src/SpecialManager.h, src/options.ggo: - more color special implementation (color constants), still not ready - - * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp: - option -m/--map-file is now evaluated properly - - * map/cork-lm.map: - removed deprecated map subdirectory - -2009-02-02 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/FileFinder.cpp: - fixed buggy call of maketfm/makemf in Windows version - - * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/Makefile.am, - src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h: - added special support skeletons; not working yet - - * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h: - some refactorings in color handler - -2009-01-30 Martin Gieseking <martin.gieseking@uos.de> - - * src/dvisvgm.cpp: - prevented writing zero-length svg files; simplified main code by using - auto pointers - - * NEWS, src/DVIReader.cpp, src/DVIReader.h: - fixed magnification bug - -2009-01-29 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp: - adapted Windows version to new release - -2009-01-28 Martin Gieseking <martin.gieseking@uos.de> - - * src/FileFinder.cpp, src/FileFinder.h, src/Makefile.am, - src/tests/DirectoryTest.h, src/tests/FileFinderTest.h, - src/tests/FontManagerTest.h, src/tests/KPSFileFinderTest.h: - refactored FileFinder (implementation as singleton) - - * src/dvisvgm.cpp: - use new initialisation of FileFinder - - * src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h: - improved GFTracer to support unscaled results - - * src/FontMap.cpp, src/Makefile.am, src/tests/FontMapTest.h, - src/tests/dvipdfm_test.map, src/tests/dvips_test.map: - extensions to FontMap almost complete but not finished yet - - * src/Calculator.cpp, src/DVIToSVG.cpp, src/FontEncoding.cpp, - src/FontMap.cpp, src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp: - replaced comparisions with "" with calls of empty() - - * src/FileFinder.cpp, src/FontMap.cpp, src/FontMap.h, - src/tests/FontMapTest.h, src/tests/dvips_test.map: - FontMap now supports dvips and dvipdfm maps - - * NEWS, configure.ac, doc/dvisvgm.1.in: - adapted configuration and documentation to new dvips map file support - -2009-01-27 Martin Gieseking <martin.gieseking@uos.de> - - * src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFTracer.cpp, - src/GFTracer.h, src/Makefile.am, src/SVGFontTraceEmitter.cpp, - src/SVGFontTraceEmitter.h: - made GFTracer a generic class with template methods - -2009-01-26 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.cpp, src/Bitmap.h, src/GFReader.cpp, src/GFReader.h, - src/GFTracer.cpp, src/Makefile.am: - improvements to GF handling, first skeletton of gf->metapost (gfprint) - - * src/InputBuffer.h: - fixed incompatible types bug - -2009-01-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/InputBuffer.cpp, src/InputBuffer.h: - added missing include - - * src/FontMap.cpp, src/FontMap.h: - started redesign of FontMap, not complete yet - - * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp, - src/FileFinder.h, src/Font.cpp, src/FontEncoding.cpp, - src/FontManager.cpp, src/KPSFileFinder.cpp, src/KPSFileFinder.h, - src/Makefile.am, src/MetafontWrapper.cpp, src/TFM.cpp, src/dvisvgm.cpp: - renamed KPSFileFinder to FileFinder - - * src/FontMap.cpp: - basic dvips font map support, not complete yet - -2009-01-23 Martin Gieseking <martin.gieseking@uos.de> - - * doc/Makefile.am, doc/dvisvgm.1.in: - manpage updates - -2009-01-22 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontMap.cpp: - forgot to remove address operator - - * src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/dvisvgm.cpp: - added support for MiKTeX' new COM interface - - * src/DVIReader.cpp, src/FontManager.cpp, src/KPSFileFinder.cpp: - memory leak fixed - - * src/KPSFileFinder.cpp: - fixed throwing of COM exception - - * Makefile.am, NEWS, README, configure.ac, potracelib/Makefile.am: - updated version info to 0.6 - - * src/tests/CalculatorTest.h, src/tests/DirectoryTest.h, - src/tests/FontManagerTest.h, src/tests/FontMapTest.h, - src/tests/KPSFileFinderTest.h, src/tests/PageSizeTest.h, - src/tests/StreamCounterTest.h, src/tests/VectorStreamTest.h: - updated tests - - * doc/dvisvgm.1.in, src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, - src/BoundingBox.h, src/Calculator.cpp, src/Calculator.h, - src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIActions.cpp, - src/DVIActions.h, src/DVIBBoxActions.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Directory.cpp, - src/Directory.h, src/FileFinder.cpp, src/FileFinder.h, - src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h, - src/FontEmitter.h, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h, - src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, - src/InputBuffer.cpp, src/InputBuffer.h, src/KPSFileFinder.cpp, - src/KPSFileFinder.h, src/Makefile.am, src/Matrix.cpp, src/Matrix.h, - src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/StreamReader.cpp, src/StreamReader.h, - src/TFM.cpp, src/TFM.h, src/TransformationMatrix.cpp, - src/TransformationMatrix.h, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/VectorStream.h, src/XMLDocTypeNode.h, - src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h, - src/XMLString.cpp, src/XMLString.h, src/dvisvgm.cpp, src/macros.h, - src/options.ggo, src/types.h: - updated file header comments - - * configure.ac: - added test whether dvipdfm.map is available - -2009-01-21 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/FontEncoding.cpp, src/FontGlyph.cpp: - fixed bugs in handling of font encodings and virtual fonts - - * src/Calculator.cpp, src/DVIReader.cpp, src/DVIToSVGActions.cpp, - src/Directory.cpp, src/FontEncoding.cpp, src/FontEngine.cpp, - src/FontManager.cpp, src/FontMap.cpp, src/KPSFileFinder.cpp, - src/MetafontWrapper.cpp, src/PageSize.cpp, src/StreamReader.cpp, - src/TFM.cpp, src/TransformationMatrix.cpp, src/VFReader.cpp, - src/XMLDocument.cpp, src/XMLNode.cpp: - added in/out attributes to parameter documentation - -2009-01-20 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.h, src/FontEncoding.cpp, - src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontGlyph.cpp, src/FontGlyph.h, src/FontManager.cpp, - src/FontManager.h, src/InputBuffer.cpp, src/InputBuffer.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h: - first working version with font encoding support - - * src/FontEngine.cpp, src/FontEngine.h, src/SVGFontEmitter.cpp: - fixed glyph positioning bug occured in conjunction with font encoding - - * src/SVGFontEmitter.cpp: - fixed memory bug - -2009-01-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp, - src/FontEngine.h, src/FontManager.cpp, src/FontManager.h, - src/FontMap.cpp, src/FontMap.h, src/KPSFileFinder.cpp, - src/KPSFileFinder.h: - more encoding implementations, not complete yet - - * src/DVIReader.cpp, src/FontEncoding.cpp, src/FontEncoding.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp, - src/FontManager.h, src/FontMap.cpp: - partly working mapping support, but yet too slow - -2009-01-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/TransformationMatrix.cpp: - fixed bug in argument assignment of transformation command M - -2009-01-15 Martin Gieseking <martin.gieseking@uos.de> - - * src/TransformationMatrix.cpp: - removed a dangerous loop remained from previous code - -2009-01-14 Martin Gieseking <martin.gieseking@uos.de> - - * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - updated libpotrace to version 1.8 - - * src/FontEncoding.cpp, src/FontEncoding.h, src/InputBuffer.cpp, - src/InputBuffer.h, src/Makefile.am: - added basic skeleton for handling of font encodings - - * src/FileSystem.cpp, src/FileSystem.h: - const string parameters - - * src/dvisvgm.cpp: - updated copyright string - - * src/KPSFileFinder.cpp: - added enc-file support - -2009-01-13 Martin Gieseking <martin.gieseking@uos.de> - - * src/CharmapTranslator.cpp: - fixed crash on loading corrupt pfb-files - -2008-06-18 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am: - adapted to latest gengetopt version - -2008-04-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/Makefile.am: - added missing include path - - * src/DVIReader.cpp: - minor change - -2007-03-26 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/CharmapTranslator.cpp, src/CharmapTranslator.h, - src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.h, - src/FontManager.cpp, src/Makefile.am, src/SVGFontTraceEmitter.cpp, - src/SVGFontTraceEmitter.h: - redesigned DVIActions and CharmapTranslator - - * src/DVIActions.cpp, src/DVIReader.cpp, src/DVIReader.h, - src/FontManager.cpp, src/tests/FontManagerTest.h: - few minor changes - -2007-03-25 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIActions.cpp, src/DVIActions.h, src/DVIBBoxActions.h, - src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, - src/FontManager.cpp, src/FontManager.h, src/StreamReader.cpp, - src/StreamReader.h, src/VFActions.h, src/VFReader.cpp, src/VFReader.h, - src/VectorStream.h: - first working version 0.5, release candidate 1 - - * src/DVIReader.cpp, src/DVIReader.h, src/VFActions.h: - minor fixes - -2007-03-23 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/FontManager.cpp, src/FontManager.h, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/VFReader.cpp: - more vf implementations, not complete yet - -2007-03-22 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/Makefile.in, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/FileSystem.cpp, src/FileSystem.h, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile.am, - src/dvisvgm.cpp, src/tests/DirectoryTest.h, src/tests/FontManagerTest.h: - reintegrated font map initialization into KPSFileFinderm adapted some - tests - - * src/DVIReader.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp, - src/VFActions.h, src/VFReader.cpp, src/VFReader.h: - more vf implementations - -2007-03-21 Martin Gieseking <martin.gieseking@uos.de> - - * AUTHORS, Makefile.am, README, potracelib/Makefile.am, src/Directory.cpp, - src/Directory.h, src/KPSFileFinder.cpp, src/Makefile, src/Makefile.am, - src/Makefile.in, src/SVGFontTraceEmitter.cpp, src/test-all.cpp, - src/tests/DirectoryTest.h: - implemented Directory class for Linux, added DirectoryTest - - * src/Calculator.cpp, src/DVIReader.cpp, src/Directory.cpp, src/Font.h, - src/FontManager.cpp, src/Makefile, src/Makefile.am, src/Makefile.in, - src/MetafontWrapper.cpp, src/VFReader.cpp, src/VectorStream.h, - src/test-all.cpp, src/tests/VectorStreamTest.h: - removed redundant code and commented code fragments, added - VectorInputStream class - - * src/Directory.cpp, src/Directory.h, src/KPSFileFinder.cpp, - src/KPSFileFinder.h, src/dvisvgm.cpp: - completed MiKTeX font map file look-up, fixed bug in Directory class - - * src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/dvisvgm.cpp: - implemented options -n and -m - -2007-03-20 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, doc/Makefile, doc/Makefile.in, doc/dvisvgm.1.in, - src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.cpp, src/Font.h, - src/FontManager.cpp, src/KPSFileFinder.cpp, src/Makefile, - src/Makefile.am, src/Makefile.in, src/VFReader.cpp, src/dvisvgm.cpp, - src/test-all.cpp, src/tests/KPSFileFinderTest.h: - added KPSFileFinderTest, added EmptyFont, fixed compilation error - - * src/Directory.cpp, src/Directory.h, src/FileSystem.cpp, src/FontMap.cpp, - src/FontMap.h, src/KPSFileFinder.cpp: - more changes for MiKTeX support - -2007-03-19 Martin Gieseking <martin.gieseking@uos.de> - - * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FontManager.cpp, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile, - src/Makefile.am, src/Makefile.in, src/MetafontWrapper.cpp, src/TFM.cpp: - added mktexFOO support and font map lookups to KPSFileFinder - - * src/KPSFileFinder.cpp: - bug fixed, font maps work now - - * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp, - src/FontMap.h, src/KPSFileFinder.cpp: - made sources comaptible with MikTeX - -2007-03-16 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp, - src/FontMap.h, src/KPSFileFinder.cpp, src/Makefile, src/Makefile.am, - src/Makefile.in, src/StreamReader.cpp, src/TFM.cpp, src/options.ggo, - src/tests/FontMapTest.h: - more coding in the font department, not finished yet - -2007-03-09 Martin Gieseking <martin.gieseking@uos.de> - - * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.cpp, - src/FontManager.cpp, src/GFTracer.cpp, src/KPSFileFinder.cpp, - src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamReader.cpp, src/StreamReader.h, src/TFM.cpp, src/TFM.h, - src/VFReader.cpp, src/VFReader.h, src/dvisvgm.cpp, src/options.ggo, - src/test-all.cpp: - refactorings: extracted StreamReader class, replaced generic FileFinder - support by KPSFileFinder calls - -2007-03-08 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIActions.h, src/DVIBBoxActions.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, src/FontManager.cpp, - src/FontManager.h, src/KPSFileFinder.cpp, src/KPSFileFinder.h, - src/Makefile, src/Makefile.am, src/Makefile.in, src/Message.cpp, - src/dvisvgm.cpp, src/macros.h, src/test-all.cpp: - first unstable version with redesigned font handling - - * COPYING, Makefile, Makefile.am, Makefile.in, Martins_svg_neu.svg, NEWS, - aclocal.m4, cmdline.c, config.guess, config.h, config.h.in, - config.status, config.sub, configure.ac, depcomp, doc/Makefile, - doc/dvisvgm.1, doc/dvisvgm.1.in, gpl.txt, install-sh, missing, - src/FontManager.cpp, src/FontManager.h, src/Makefile.am, - src/VFReader.cpp, src/tests/FontManagerTest.h, stamp-h1, table.txt: - removed some garbage from the repository, added initial FontManagerTest - - * doc/dvisvgm.1, src/FontEngine.h, src/dvisvgm.cpp, - src/tests/FontManagerTest.h: - minor changes - - * src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/Font.cpp, src/Font.h, - src/StreamCounter.h, src/dvisvgm.cpp: - fixed memory bug - - * src/DVIReader.cpp, src/DVIToSVGActions.cpp, src/Font.h, src/Makefile, - src/Makefile.am, src/Makefile.in, src/VFActions.h, src/VFReader.cpp, - src/VFReader.h, src/dvisvgm.cpp: - plugged VFReader and its actions into the code (not usable yet) - -2007-03-07 Martin Gieseking <martin.gieseking@uos.de> - - * src/Font.cpp, src/Font.h: - added Font classes (not yet error-free) - -2007-03-06 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.h, src/DVIToSVG.cpp, src/FontManager.cpp, - src/FontManager.h: - added FontManager skeleton, fixed bug in makehead - -2007-03-03 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/FontManager.cpp, src/VFReader.cpp: - added some more skeleton code - -2007-03-02 Martin Gieseking <martin.gieseking@uos.de> - - * src/DVIReader.cpp, src/Makefile, src/Makefile.in, src/VFReader.cpp, - src/VFReader.h, src/options.ggo: - added skeleton of VFReader - -2007-01-10 Martin Gieseking <martin.gieseking@uos.de> - - * src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, - src/CharmapTranslator.h, src/DVIActions.h, src/DVIBBoxActions.h, - src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, - src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, - src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, - src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile, - src/Makefile.am, src/Makefile.in, src/Matrix.cpp, src/Matrix.h, - src/Message.cpp, src/Message.h, src/MessageException.h, - src/MetafontWrapper.cpp, src/MetafontWrapper.h, src/PSInterpreter.cpp, - src/PSInterpreter.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/TFM.cpp, src/TFM.h, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, - src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, - src/macros.h, src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h, - src/options.ggo, src/test-all.cpp, src/tests/CalculatorTest.h, - src/tests/PageSizeTest.h, src/tests/StreamCounterTest.h, src/types.h: - moved dir - - * INSTALL, Makefile.am, NEWS, README, configure.ac, doc/Makefile, - doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, - gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, - gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, - gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, - gzstream/version, map/cork-lm.map, potracelib/Makefile.am, - potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c, - potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h, - potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h, - potracelib/progress.h, potracelib/trace.c, potracelib/trace.h: - moved sources - - * src/cmdline.c, src/cmdline.h: - remove unnecessary files - -2007-01-09 Martin Gieseking <martin.gieseking@uos.de> - - * INSTALL, Makefile.am, NEWS, README, configure.ac, doc/Makefile, - doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, - gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, - gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, - gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, - gzstream/version, potracelib/Makefile.am, potracelib/auxiliary.h, - potracelib/bitmap.h, potracelib/curve.c, potracelib/curve.h, - potracelib/decompose.c, potracelib/decompose.h, potracelib/lists.h, - potracelib/potracelib.c, potracelib/potracelib.h, potracelib/progress.h, - potracelib/trace.c, potracelib/trace.h, src/Bitmap.cpp, src/Bitmap.h, - src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, - src/Calculator.h, src/CharmapTranslator.cpp, src/CharmapTranslator.h, - src/DVIActions.h, src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, - src/DVIBBoxReader.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/FileFinder.cpp, src/FileFinder.h, - src/FileSystem.cpp, src/FileSystem.h, src/FontEmitter.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, - src/GFTracer.cpp, src/GFTracer.h, src/KPSFileFinder.cpp, - src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, - src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, - src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/TFM.cpp, src/TFM.h, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, - src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, - src/macros.h, src/miktex-core.def, src/miktex-kps.def, src/miktex-kps.h, - src/options.ggo, src/test-all.cpp, src/tests/CalculatorTest.h, - src/tests/PageSizeTest.h, src/tests/StreamCounterTest.h, src/types.h: - moved files to trunk subfolder - - * map/cork-lm.map: - moved files to trunk - -2007-01-05 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile, Makefile.am, Makefile.in, README, config.status, configure.ac, - potracelib/Makefile.am, potracelib/bitops.h, potracelib/flate.c, - potracelib/flate.h, src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, - src/BoundingBox.h, src/Calculator.cpp, src/Calculator.h, - src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIActions.h, - src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, - src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, - src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, - src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, - src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile.am, - src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, - src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/TFM.cpp, src/TFM.h, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/macros.h, src/test-all.cpp, src/types.h: - minor modifications - -2007-01-03 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, src/KPSFileFinder.cpp: - updated homepage - - * Makefile, Makefile.am, Makefile.in, config.h, config.h.in, - config.status, configure, configure.ac, doc/Makefile, - potracelib/Makefile.am, potracelib/auxiliary.h, potracelib/bitmap.h, - potracelib/bitops.h, potracelib/curve.c, potracelib/curve.h, - potracelib/decompose.c, potracelib/decompose.h, potracelib/flate.c, - potracelib/flate.h, potracelib/lists.h, potracelib/potracelib.c, - potracelib/potracelib.h, potracelib/progress.h, potracelib/trace.c, - potracelib/trace.h, src/Makefile, src/Makefile.am, src/Makefile.in: - added potracelib to distribution - - * configure: - removed configure from repository - -2006-12-31 Martin Gieseking <martin.gieseking@uos.de> - - * NEWS, configure.ac, src/DVIToSVG.cpp, src/FileSystem.cpp, - src/FontEngine.cpp, src/GFTracer.cpp, src/KPSFileFinder.cpp, - src/Matrix.h, src/Message.cpp, src/PageSize.cpp, - src/TransformationMatrix.cpp, src/dvisvgm.cpp: - updated to MikTeX 2.5 support - - * Makefile, config.status, configure, configure.ac, doc/Makefile, - doc/dvisvgm.1, src/FileSystem.cpp, src/FontEngine.cpp, - src/KPSFileFinder.cpp, src/Makefile, src/dvisvgm.cpp, src/test-all.cpp: - some minor fixes - - * src/KPSFileFinder.cpp: - fixed namepsace bug - -2006-08-01 Martin Gieseking <martin.gieseking@uos.de> - - * Makefile, Makefile.in, NEWS, aclocal.m4, autom4te.cache/output.0, - autom4te.cache/requests, autom4te.cache/traces.0, config.h, config.log, - config.status, configure, configure.ac, doc/Makefile, doc/Makefile.in, - doc/dvisvgm.1, src/FontEngine.cpp, src/Makefile, src/Makefile.in, - src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp: - added support for freetype version >= 2.1.1 - - * configure.ac: - enabled svn keyword expansion - -2006-04-12 Martin Gieseking <martin.gieseking@uos.de> - - * COPYING, INSTALL, Makefile, Makefile.am, Makefile.in, - Martins_svg_neu.svg, NEWS, README, aclocal.m4, autom4te.cache/output.0, - autom4te.cache/requests, autom4te.cache/traces.0, cmdline.c, - config.guess, config.h, config.h.in, config.log, config.status, - config.sub, configure, configure.ac, depcomp, doc/Makefile, - doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in, - gpl.txt, gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README, - gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html, - gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C, - gzstream/version, install-sh, map/cork-lm.map, missing, src/Bitmap.cpp, - src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, src/Calculator.cpp, - src/Calculator.h, src/CharmapTranslator.cpp, src/CharmapTranslator.h, - src/DVIActions.h, src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, - src/DVIBBoxReader.h, src/DVIReader.cpp, src/DVIReader.h, - src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp, - src/DVIToSVGActions.h, src/FileFinder.cpp, src/FileFinder.h, - src/FileSystem.cpp, src/FileSystem.h, src/FontEmitter.h, - src/FontEngine.cpp, src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, - src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h, - src/GFTracer.cpp, src/GFTracer.h, src/KPSFileFinder.cpp, - src/KPSFileFinder.h, src/Makefile, src/Makefile.am, src/Makefile.in, - src/Matrix.cpp, src/Matrix.h, src/Message.cpp, src/Message.h, - src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h, - src/PSInterpreter.cpp, src/PSInterpreter.h, src/PageSize.cpp, - src/PageSize.h, src/Pair.h, src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/TFM.cpp, src/TFM.h, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp, src/getopt.c, - src/getopt.h, src/getopt1.c, src/gzstream.cpp, src/gzstream.h, - src/lshort-cm.dvi, src/lshort-cm.svg, src/lshort-cm.svgz, src/lshort.dvi, - src/lshort.svg, src/lshort.svgz, src/macros.h, src/miktex-core.def, - src/miktex-kps.def, src/miktex-kps.h, src/options.ggo, src/test-all.cpp, - src/tests/CalculatorTest.h, src/tests/PageSizeTest.h, - src/tests/StreamCounterTest.h, src/types.h, stamp-h1, table.txt: - initial import - - * src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h, - src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp, - src/CharmapTranslator.h, src/DVIActions.h, src/DVIBBoxActions.h, - src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/DVIReader.cpp, - src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h, - src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp, - src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h, - src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h, - src/FontGlyph.cpp, src/FontGlyph.h, src/FontMap.cpp, src/FontMap.h, - src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h, - src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Message.cpp, - src/Message.h, src/MessageException.h, src/MetafontWrapper.cpp, - src/MetafontWrapper.h, src/PageSize.cpp, src/PageSize.h, src/Pair.h, - src/SVGFontEmitter.cpp, src/SVGFontEmitter.h, - src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, - src/StreamCounter.h, src/TFM.cpp, src/TFM.h, - src/TransformationMatrix.cpp, src/TransformationMatrix.h, - src/XMLDocTypeNode.h, src/XMLDocument.cpp, src/XMLDocument.h, - src/XMLNode.cpp, src/XMLNode.h, src/XMLString.cpp, src/XMLString.h, - src/dvisvgm.cpp, src/macros.h, src/test-all.cpp, - src/tests/CalculatorTest.h, src/tests/PageSizeTest.h, - src/tests/StreamCounterTest.h, src/types.h: - changed keyword tags - - * src/lshort-cm.dvi, src/lshort-cm.svg, src/lshort-cm.svgz, - src/lshort.dvi, src/lshort.svg, src/lshort.svgz: - removed files that need not be version controlled - diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.am index 1aedd13864d..bcf82833315 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.am @@ -8,6 +8,10 @@ EXTRA_DIST = COPYING SUBDIRS = libs src #not for TL: tests doc ACLOCAL_AMFLAGS = -I m4 +if USE_BUNDLED_LIBS +AM_DISTCHECK_CONFIGURE_FLAGS = --enable-bundled-libs +endif + if CODE_COVERAGE_ENABLED lcov_dir=$(top_builddir)/lcov lcov_file=$(lcov_dir)/lcov.info diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in index 819a2239c0f..46451773dfe 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in @@ -94,7 +94,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -166,8 +165,8 @@ am__define_uniq_tagged_files = \ ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \ - INSTALL NEWS README +am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING INSTALL NEWS \ + README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -196,7 +195,9 @@ am__relativize = \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -215,6 +216,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -271,9 +273,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -342,6 +341,7 @@ AUTOMAKE_OPTIONS = foreign EXTRA_DIST = COPYING SUBDIRS = libs src #not for TL: tests doc ACLOCAL_AMFLAGS = -I m4 +@USE_BUNDLED_LIBS_TRUE@AM_DISTCHECK_CONFIGURE_FLAGS = --enable-bundled-libs @CODE_COVERAGE_ENABLED_TRUE@lcov_dir = $(top_builddir)/lcov @CODE_COVERAGE_ENABLED_TRUE@lcov_file = $(lcov_dir)/lcov.info all: all-recursive diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS index 1b038ee5bd5..dc9a456e988 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS +++ b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS @@ -1,4 +1,4 @@ -dvisvgm-2.4.2 (2018-18-07) +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 - prevent warnings if special "psfile" is called with argument "/dev/null" diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/README b/Build/source/texk/dvisvgm/dvisvgm-src/README index 611bdba3324..008ffb4a2dd 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/README +++ b/Build/source/texk/dvisvgm/dvisvgm-src/README @@ -3,7 +3,7 @@ dvisvgm -- A DVI to SVG converter DESCRIPTION dvisvgm is a utility for TeX/LaTeX users. It converts DVI, EPS, and - singe-page PDF files to the XML-based scalable vector graphics format SVG. + PDF files to the XML-based scalable vector graphics format SVG. DEPENDENCIES @@ -43,7 +43,7 @@ DEPENDENCIES * potracelib (http://potrace.sourceforge.net) Peter Selinger's bitmap tracing library is utilized to vectorize Metafont's - bitmap output. + bitmap output. A recent version is also part of the dvisvgm sources. * ttfautohint (https://www.freetype.org/ttfautohint) dvisvgm can optionally be built with ttfautohint support to replace the @@ -77,9 +77,15 @@ BUILDING DVISVGM FROM SOURCE options if necessary. Quick installation info: + * ensure that the development packages of all libraries, listed above, + are installed * type "./autogen.sh" if "configure" is not present in the dvisvgm root folder - * type "./configure" + * 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 f847b92cb0b..d7784f5f874 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/config.h.in @@ -49,6 +49,9 @@ /* Define to 1 if you have the `ttfautohint' library (-lttfautohint). */ #undef HAVE_LIBTTFAUTOHINT +/* Define to 1 if you have the `xxhash' library (-lxxhash). */ +#undef HAVE_LIBXXHASH + /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ @@ -103,6 +106,9 @@ /* Define to 1 if you have the <ttfautohint.h> header file. */ #undef HAVE_TTFAUTOHINT_H +/* Define to 1 if you have the `umask' function. */ +#undef HAVE_UMASK + /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac b/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac index 1a0aa401f27..8837994a92d 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.4.2],[martin.gieseking@uos.de]) -DATE="July 2018" +AC_INIT([dvisvgm],[2.5],[martin.gieseking@uos.de]) +DATE="August 2018" AC_CONFIG_SRCDIR(src) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -98,13 +98,35 @@ AC_ARG_ENABLE([woff], [AS_HELP_STRING([--disable-woff], [Disable WOFF support @<:@default=no@:>@])], [], [enable_woff=yes]) +AM_CONDITIONAL([ENABLE_WOFF], [test "x$enable_woff" = "xyes"]) AC_ARG_WITH([ttfautohint], [AS_HELP_STRING([--with-ttfautohint@<:@=prefix@:>@], [enable ttfautohint support (disabled by default)])], [with_ttfautohint="$withval"], [with_ttfautohint=no]) -AM_CONDITIONAL([ENABLE_WOFF], [test "x$enable_woff" = "xyes"]) +# Add option to enable linking of bundled libraries (brotli, 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"]) + +# 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"], + [AC_CHECK_HEADER([potracelib.h], + [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])])] + [AS_IF([test "x$enable_woff" = "xyes"], + [PKG_CHECK_MODULES([BROTLI], [libbrotlienc],, + [AC_MSG_ERROR([system library 'libbrotlienc' not found])])] + [PKG_CHECK_MODULES([WOFF2], [libwoff2enc],, + [AC_MSG_ERROR([system library 'libwoff2enc' not found])])])] + [AC_CHECK_HEADER([xxhash.h], + [AC_CHECK_LIB(xxhash, XXH32,, + [AC_MSG_ERROR([system library 'libxxhash' not found])])], + [AC_MSG_ERROR([header file 'xxhash.h' for system library 'libxxhash' not found])])]) + AS_IF([test "x$enable_woff" != "xyes"], [AC_DEFINE([DISABLE_WOFF], 1, [Define if WOFF support is disabled])], [AS_IF([test "x$with_ttfautohint" != "xno"], @@ -138,7 +160,7 @@ AC_STRUCT_TM # Check for library functions. AC_FUNC_STAT -AC_CHECK_FUNCS([ftime gettimeofday sigaction uselocale]) +AC_CHECK_FUNCS_ONCE([ftime gettimeofday sigaction umask uselocale]) # add options for selection of "optional" library locations # currently these libraries are mandatory; the --with-foo options @@ -200,6 +222,7 @@ AC_CONFIG_FILES([ libs/brotli/Makefile libs/clipper/Makefile libs/ff-woff/Makefile + libs/potrace/Makefile libs/variant/Makefile libs/woff2/Makefile libs/xxHash/Makefile diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in index 220f72836a2..b71348b5ae1 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in @@ -90,7 +90,11 @@ host_triplet = @host@ target_triplet = @target@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.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)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) @@ -162,6 +166,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BROTLI_CFLAGS = @BROTLI_CFLAGS@ +BROTLI_LIBS = @BROTLI_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -241,6 +247,8 @@ STRIP = @STRIP@ TTFAUTOHINT_CFLAGS = @TTFAUTOHINT_CFLAGS@ TTFAUTOHINT_LIBS = @TTFAUTOHINT_LIBS@ VERSION = @VERSION@ +WOFF2_CFLAGS = @WOFF2_CFLAGS@ +WOFF2_LIBS = @WOFF2_LIBS@ XMLTO = @XMLTO@ XSLTPROC = @XSLTPROC@ ZLIB_CFLAGS = @ZLIB_CFLAGS@ @@ -326,9 +334,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 index 036a281aa7e..43492e225b9 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 <martin.gieseking@uos.de> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 07/18/2018 +.\" Date: 08/08/2018 .\" Manual: dvisvgm Manual -.\" Source: dvisvgm 2.4.2 +.\" Source: dvisvgm 2.5 .\" Language: English .\" -.TH "DVISVGM" "1" "07/18/2018" "dvisvgm 2\&.4\&.2" "dvisvgm Manual" +.TH "DVISVGM" "1" "08/08/2018" "dvisvgm 2\&.5" "dvisvgm Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -527,9 +527,11 @@ converts all pages starting with page 10\&. Please consider that the page values .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\&. In order to do so, a single +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 +\fB\-\-page\fR +can be used to select different pages, page ranges, and/or page sequences\&. The conversion is realized by creating a single \fIpdffile\fR -special command is created and forwarded to the PostScript special handler\&. This option is only available if dvisvgm was built with PostScript support enabled, and requires Ghostscript to be available\&. See option +special command which is forwarded to the PostScript special handler\&. Therefore, this option is only available if dvisvgm was built with PostScript support enabled, and requires Ghostscript to be accessible\&. See option \fB\-\-libgs\fR for further information\&. .RE @@ -770,12 +772,16 @@ page width in TeX point units (0 in case of T} .TE .sp 1 -Furthermore, you can use the length constants +Furthermore, you can use the 9 length constants \fBpt\fR, +\fBbp\fR, +\fBcm\fR, \fBmm\fR, -\fBcm\fR -and -\fBin\fR, e\&.g\&. +\fBin\fR, +\fBpc\fR, +\fBdd\fR, +\fBcc\fR, and +\fBsp\fR, e\&.g\&. \fB2cm\fR or \fB1\&.6in\fR\&. Thus, option @@ -788,7 +794,8 @@ For single transformations, there are also the short\-hand options and \fB\-r\fR available\&. In contrast to the -\fB\-\-transform\fR* commands, the order of these options is not significant, so that it\(cqs not possible to describe transformation sequences with them\&. +\fB\-\-transform\fR +commands, the order of these options is not significant, so that it\(cqs not possible to describe transformation sequences with them\&. .sp .5v .RE .RE 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 dff70dd0ceb..d86a7e724af 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in @@ -384,10 +384,12 @@ gets number 1. *-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. In order to do so, a single 'pdffile' special command is created and forwarded to the -PostScript special handler. -This option is only available if dvisvgm was built with PostScript support enabled, and requires -Ghostscript to be available. See option *--libgs* for further information. +it to SVG. Similar to the conversion of DVI files, only the first page is processed by default. +Option *--page* can be used to select different pages, page ranges, and/or page sequences. +The conversion is realized by creating a single 'pdffile' special command which is forwarded to +the PostScript special handler. Therefore, this option is only available if dvisvgm was built +with PostScript support enabled, and requires Ghostscript to be accessible. See option *--libgs* +for further information. *-d, --precision*='digits':: Specifies the maximal number of decimal places applied to floating-point attribute values. @@ -502,12 +504,12 @@ Additionally, some pre-defined constants are provided: *h*:: page height in TeX point units (0 in case of *-bnone*) *w*:: page width in TeX point units (0 in case of *-bnone*) -Furthermore, you can use the length constants *pt*, *mm*, *cm* and *in*, e.g. -+2cm+ or +1.6in+. Thus, option +-TT1in,0R45+ moves the page content 1 inch to the right and rotates it -by 45 degrees around the page center afterwards. +Furthermore, you can use the 9 length constants +pt+, +bp+, +cm+, +mm+, +in+, +pc+, +dd+, +cc+, +and +sp+, e.g. +2cm+ or +1.6in+. Thus, option +-TT1in,0R45+ moves the page content 1 inch to +the right and rotates it by 45 degrees around the page center afterwards. For single transformations, there are also the short-hand options *-c*, *-t* and *-r* available. -In contrast to the *--transform** commands, the order of these options is not significant, so +In contrast to the *--transform* commands, the order of these options is not significant, so that it's not possible to describe transformation sequences with them. ================================================================================================= diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am index 4a83b99a890..c81944de2b8 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 variant xxHash +SUBDIRS = clipper 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 5176ed5540a..31d1c8bb122 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -166,7 +165,7 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = clipper variant xxHash brotli ff-woff woff2 +DIST_SUBDIRS = clipper potrace variant xxHash brotli ff-woff woff2 am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ @@ -196,7 +195,9 @@ am__relativize = \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -215,6 +216,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -271,9 +273,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -338,7 +337,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = clipper variant xxHash $(am__append_1) +SUBDIRS = clipper potrace variant xxHash $(am__append_1) all: all-recursive .SUFFIXES: diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am index e6a446d333c..04857a9e2d4 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am @@ -1,3 +1,4 @@ +if USE_BUNDLED_LIBS noinst_LIBRARIES = libbrotli.a libbrotli_a_SOURCES = \ common/constants.h \ @@ -73,10 +74,10 @@ libbrotli_a_SOURCES = \ include/brotli/port.h \ include/brotli/types.h -EXTRA_DIST = LICENSE - AM_CFLAGS = -Wall -I$(srcdir)/include @CODE_COVERAGE_RULES@ +endif +EXTRA_DIST = LICENSE CLEANFILES = *.gcda *.gcno diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in index 9f8132a404c..c07172f2e3c 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -120,18 +119,57 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libbrotli_a_AR = $(AR) $(ARFLAGS) libbrotli_a_LIBADD = +am__libbrotli_a_SOURCES_DIST = common/constants.h common/context.h \ + common/dictionary.c common/dictionary.h common/platform.h \ + common/transform.c common/transform.h common/version.h \ + enc/backward_references.c enc/backward_references.h \ + enc/backward_references_hq.c enc/backward_references_hq.h \ + enc/backward_references_inc.h enc/bit_cost.c enc/bit_cost.h \ + enc/bit_cost_inc.h enc/block_encoder_inc.h \ + enc/block_splitter.c enc/block_splitter.h \ + enc/block_splitter_inc.h enc/brotli_bit_stream.c \ + enc/brotli_bit_stream.h enc/cluster.c enc/cluster.h \ + enc/cluster_inc.h enc/command.h enc/compress_fragment.c \ + enc/compress_fragment.h enc/compress_fragment_two_pass.c \ + enc/compress_fragment_two_pass.h enc/dictionary_hash.c \ + enc/dictionary_hash.h enc/encode.c enc/encoder_dict.c \ + enc/encoder_dict.h enc/entropy_encode.c enc/entropy_encode.h \ + enc/entropy_encode_static.h enc/fast_log.h \ + enc/find_match_length.h enc/hash_composite_inc.h \ + enc/hash_forgetful_chain_inc.h enc/hash.h \ + enc/hash_longest_match64_inc.h enc/hash_longest_match_inc.h \ + enc/hash_longest_match_quickly_inc.h enc/hash_rolling_inc.h \ + enc/hash_to_binary_tree_inc.h enc/histogram.c enc/histogram.h \ + enc/histogram_inc.h enc/literal_cost.c enc/literal_cost.h \ + enc/memory.c enc/memory.h enc/metablock.c enc/metablock.h \ + enc/metablock_inc.h enc/params.h enc/prefix.h enc/quality.h \ + enc/ringbuffer.h enc/static_dict.c enc/static_dict.h \ + enc/static_dict_lut.h enc/utf8_util.c enc/utf8_util.h \ + enc/write_bits.h include/brotli/decode.h \ + include/brotli/encode.h include/brotli/port.h \ + include/brotli/types.h am__dirstamp = $(am__leading_dot)dirstamp -am_libbrotli_a_OBJECTS = common/dictionary.$(OBJEXT) \ - common/transform.$(OBJEXT) enc/backward_references.$(OBJEXT) \ - enc/backward_references_hq.$(OBJEXT) enc/bit_cost.$(OBJEXT) \ - enc/block_splitter.$(OBJEXT) enc/brotli_bit_stream.$(OBJEXT) \ - enc/cluster.$(OBJEXT) enc/compress_fragment.$(OBJEXT) \ - enc/compress_fragment_two_pass.$(OBJEXT) \ - enc/dictionary_hash.$(OBJEXT) enc/encode.$(OBJEXT) \ - enc/encoder_dict.$(OBJEXT) enc/entropy_encode.$(OBJEXT) \ - enc/histogram.$(OBJEXT) enc/literal_cost.$(OBJEXT) \ - enc/memory.$(OBJEXT) enc/metablock.$(OBJEXT) \ - enc/static_dict.$(OBJEXT) enc/utf8_util.$(OBJEXT) +@USE_BUNDLED_LIBS_TRUE@am_libbrotli_a_OBJECTS = \ +@USE_BUNDLED_LIBS_TRUE@ common/dictionary.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ common/transform.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references_hq.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/bit_cost.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/block_splitter.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/brotli_bit_stream.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/cluster.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment_two_pass.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/dictionary_hash.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/encode.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/encoder_dict.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/entropy_encode.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/histogram.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/literal_cost.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/memory.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/metablock.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/static_dict.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ enc/utf8_util.$(OBJEXT) libbrotli_a_OBJECTS = $(am_libbrotli_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -185,7 +223,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libbrotli_a_SOURCES) -DIST_SOURCES = $(libbrotli_a_SOURCES) +DIST_SOURCES = $(am__libbrotli_a_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -215,7 +253,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ 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@ @@ -234,6 +274,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -290,9 +331,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -357,83 +395,83 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -noinst_LIBRARIES = libbrotli.a -libbrotli_a_SOURCES = \ - common/constants.h \ - common/context.h \ - common/dictionary.c \ - common/dictionary.h \ - common/platform.h \ - common/transform.c \ - common/transform.h \ - common/version.h \ - enc/backward_references.c \ - enc/backward_references.h \ - enc/backward_references_hq.c \ - enc/backward_references_hq.h \ - enc/backward_references_inc.h \ - enc/bit_cost.c \ - enc/bit_cost.h \ - enc/bit_cost_inc.h \ - enc/block_encoder_inc.h \ - enc/block_splitter.c \ - enc/block_splitter.h \ - enc/block_splitter_inc.h \ - enc/brotli_bit_stream.c \ - enc/brotli_bit_stream.h \ - enc/cluster.c \ - enc/cluster.h \ - enc/cluster_inc.h \ - enc/command.h \ - enc/compress_fragment.c \ - enc/compress_fragment.h \ - enc/compress_fragment_two_pass.c \ - enc/compress_fragment_two_pass.h \ - enc/dictionary_hash.c \ - enc/dictionary_hash.h \ - enc/encode.c \ - enc/encoder_dict.c \ - enc/encoder_dict.h \ - enc/entropy_encode.c \ - enc/entropy_encode.h \ - enc/entropy_encode_static.h \ - enc/fast_log.h \ - enc/find_match_length.h \ - enc/hash_composite_inc.h \ - enc/hash_forgetful_chain_inc.h \ - enc/hash.h \ - enc/hash_longest_match64_inc.h \ - enc/hash_longest_match_inc.h \ - enc/hash_longest_match_quickly_inc.h \ - enc/hash_rolling_inc.h \ - enc/hash_to_binary_tree_inc.h \ - enc/histogram.c \ - enc/histogram.h \ - enc/histogram_inc.h \ - enc/literal_cost.c \ - enc/literal_cost.h \ - enc/memory.c \ - enc/memory.h \ - enc/metablock.c \ - enc/metablock.h \ - enc/metablock_inc.h \ - enc/params.h \ - enc/prefix.h \ - enc/quality.h \ - enc/ringbuffer.h \ - enc/static_dict.c \ - enc/static_dict.h \ - enc/static_dict_lut.h \ - enc/utf8_util.c \ - enc/utf8_util.h \ - enc/write_bits.h \ - include/brotli/decode.h \ - include/brotli/encode.h \ - include/brotli/port.h \ - include/brotli/types.h - +@USE_BUNDLED_LIBS_TRUE@noinst_LIBRARIES = libbrotli.a +@USE_BUNDLED_LIBS_TRUE@libbrotli_a_SOURCES = \ +@USE_BUNDLED_LIBS_TRUE@ common/constants.h \ +@USE_BUNDLED_LIBS_TRUE@ common/context.h \ +@USE_BUNDLED_LIBS_TRUE@ common/dictionary.c \ +@USE_BUNDLED_LIBS_TRUE@ common/dictionary.h \ +@USE_BUNDLED_LIBS_TRUE@ common/platform.h \ +@USE_BUNDLED_LIBS_TRUE@ common/transform.c \ +@USE_BUNDLED_LIBS_TRUE@ common/transform.h \ +@USE_BUNDLED_LIBS_TRUE@ common/version.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references_hq.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references_hq.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/backward_references_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/bit_cost.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/bit_cost.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/bit_cost_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/block_encoder_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/block_splitter.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/block_splitter.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/block_splitter_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/brotli_bit_stream.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/brotli_bit_stream.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/cluster.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/cluster.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/cluster_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/command.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment_two_pass.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/compress_fragment_two_pass.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/dictionary_hash.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/dictionary_hash.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/encode.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/encoder_dict.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/encoder_dict.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/entropy_encode.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/entropy_encode.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/entropy_encode_static.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/fast_log.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/find_match_length.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_composite_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_forgetful_chain_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_longest_match64_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_longest_match_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_longest_match_quickly_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_rolling_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/hash_to_binary_tree_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/histogram.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/histogram.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/histogram_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/literal_cost.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/literal_cost.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/memory.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/memory.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/metablock.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/metablock.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/metablock_inc.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/params.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/prefix.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/quality.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/ringbuffer.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/static_dict.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/static_dict.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/static_dict_lut.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/utf8_util.c \ +@USE_BUNDLED_LIBS_TRUE@ enc/utf8_util.h \ +@USE_BUNDLED_LIBS_TRUE@ enc/write_bits.h \ +@USE_BUNDLED_LIBS_TRUE@ include/brotli/decode.h \ +@USE_BUNDLED_LIBS_TRUE@ include/brotli/encode.h \ +@USE_BUNDLED_LIBS_TRUE@ include/brotli/port.h \ +@USE_BUNDLED_LIBS_TRUE@ include/brotli/types.h + +@USE_BUNDLED_LIBS_TRUE@AM_CFLAGS = -Wall -I$(srcdir)/include EXTRA_DIST = LICENSE -AM_CFLAGS = -Wall -I$(srcdir)/include CLEANFILES = *.gcda *.gcno all: all-am @@ -846,7 +884,7 @@ uninstall-am: .PRECIOUS: Makefile -@CODE_COVERAGE_RULES@ +@USE_BUNDLED_LIBS_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. diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/Makefile.in index 26c31237d38..810b6b7f1e0 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -209,7 +208,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ 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@ @@ -228,6 +229,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -284,9 +286,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/Makefile.in index 2553875ff24..ae4704d1c83 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -273,7 +272,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ 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@ @@ -292,6 +293,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -348,9 +350,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.am new file mode 100644 index 00000000000..44079e902cf --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.am @@ -0,0 +1,23 @@ +if USE_BUNDLED_LIBS +noinst_LIBRARIES = libpotrace.a +libpotrace_a_SOURCES = \ + auxiliary.h \ + bitmap.h \ + config.h \ + curve.c \ + curve.h \ + decompose.c \ + decompose.h \ + lists.h \ + potracelib.c \ + potracelib.h \ + progress.h \ + trace.c \ + trace.h + +AM_CFLAGS = -Wall -I$(srcdir) + +@CODE_COVERAGE_RULES@ +endif + +CLEANFILES = *.gcda *.gcno diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.in new file mode 100644 index 00000000000..aaaca6bac5a --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.in @@ -0,0 +1,669 @@ +# 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/potrace +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 = +libpotrace_a_AR = $(AR) $(ARFLAGS) +libpotrace_a_LIBADD = +am__libpotrace_a_SOURCES_DIST = auxiliary.h bitmap.h config.h curve.c \ + curve.h decompose.c decompose.h lists.h potracelib.c \ + potracelib.h progress.h trace.c trace.h +@USE_BUNDLED_LIBS_TRUE@am_libpotrace_a_OBJECTS = curve.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ decompose.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ potracelib.$(OBJEXT) trace.$(OBJEXT) +libpotrace_a_OBJECTS = $(am_libpotrace_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)/curve.Po ./$(DEPDIR)/decompose.Po \ + ./$(DEPDIR)/potracelib.Po ./$(DEPDIR)/trace.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 = $(libpotrace_a_SOURCES) +DIST_SOURCES = $(am__libpotrace_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_LIBS_TRUE@noinst_LIBRARIES = libpotrace.a +@USE_BUNDLED_LIBS_TRUE@libpotrace_a_SOURCES = \ +@USE_BUNDLED_LIBS_TRUE@ auxiliary.h \ +@USE_BUNDLED_LIBS_TRUE@ bitmap.h \ +@USE_BUNDLED_LIBS_TRUE@ config.h \ +@USE_BUNDLED_LIBS_TRUE@ curve.c \ +@USE_BUNDLED_LIBS_TRUE@ curve.h \ +@USE_BUNDLED_LIBS_TRUE@ decompose.c \ +@USE_BUNDLED_LIBS_TRUE@ decompose.h \ +@USE_BUNDLED_LIBS_TRUE@ lists.h \ +@USE_BUNDLED_LIBS_TRUE@ potracelib.c \ +@USE_BUNDLED_LIBS_TRUE@ potracelib.h \ +@USE_BUNDLED_LIBS_TRUE@ progress.h \ +@USE_BUNDLED_LIBS_TRUE@ trace.c \ +@USE_BUNDLED_LIBS_TRUE@ trace.h + +@USE_BUNDLED_LIBS_TRUE@AM_CFLAGS = -Wall -I$(srcdir) +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/potrace/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign dvisvgm-src/libs/potrace/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) + +libpotrace.a: $(libpotrace_a_OBJECTS) $(libpotrace_a_DEPENDENCIES) $(EXTRA_libpotrace_a_DEPENDENCIES) + $(AM_V_at)-rm -f libpotrace.a + $(AM_V_AR)$(libpotrace_a_AR) libpotrace.a $(libpotrace_a_OBJECTS) $(libpotrace_a_LIBADD) + $(AM_V_at)$(RANLIB) libpotrace.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decompose.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/potracelib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trace.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)/curve.Po + -rm -f ./$(DEPDIR)/decompose.Po + -rm -f ./$(DEPDIR)/potracelib.Po + -rm -f ./$(DEPDIR)/trace.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)/curve.Po + -rm -f ./$(DEPDIR)/decompose.Po + -rm -f ./$(DEPDIR)/potracelib.Po + -rm -f ./$(DEPDIR)/trace.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_LIBS_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/potrace/auxiliary.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/auxiliary.h new file mode 100644 index 00000000000..bb0c6e03cb9 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/auxiliary.h @@ -0,0 +1,80 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +/* This header file collects some general-purpose macros (and static + inline functions) that are used in various places. */ + +#ifndef AUXILIARY_H +#define AUXILIARY_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdlib.h> + +/* ---------------------------------------------------------------------- */ +/* point arithmetic */ + +#include "potracelib.h" + +struct point_s { + long x; + long y; +}; +typedef struct point_s point_t; + +typedef potrace_dpoint_t dpoint_t; + +/* convert point_t to dpoint_t */ +static inline dpoint_t dpoint(point_t p) { + dpoint_t res; + res.x = p.x; + res.y = p.y; + return res; +} + +/* range over the straight line segment [a,b] when lambda ranges over [0,1] */ +static inline dpoint_t interval(double lambda, dpoint_t a, dpoint_t b) { + dpoint_t res; + + res.x = a.x + lambda * (b.x - a.x); + res.y = a.y + lambda * (b.y - a.y); + return res; +} + +/* ---------------------------------------------------------------------- */ +/* some useful macros. Note: the "mod" macro works correctly for + negative a. Also note that the test for a>=n, while redundant, + speeds up the mod function by 70% in the average case (significant + since the program spends about 16% of its time here - or 40% + without the test). The "floordiv" macro returns the largest integer + <= a/n, and again this works correctly for negative a, as long as + a,n are integers and n>0. */ + +/* integer arithmetic */ + +static inline int mod(int a, int n) { + return a>=n ? a%n : a>=0 ? a : n-1-(-1-a)%n; +} + +static inline int floordiv(int a, int n) { + return a>=0 ? a/n : -1-(-1-a)/n; +} + +/* Note: the following work for integers and other numeric types. */ +#undef sign +#undef abs +#undef min +#undef max +#undef sq +#undef cu +#define sign(x) ((x)>0 ? 1 : (x)<0 ? -1 : 0) +#define abs(a) ((a)>0 ? (a) : -(a)) +#define min(a,b) ((a)<(b) ? (a) : (b)) +#define max(a,b) ((a)>(b) ? (a) : (b)) +#define sq(a) ((a)*(a)) +#define cu(a) ((a)*(a)*(a)) + +#endif /* AUXILIARY_H */ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/bitmap.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/bitmap.h new file mode 100644 index 00000000000..2e91ab1e7d7 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/bitmap.h @@ -0,0 +1,228 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +#ifndef BITMAP_H +#define BITMAP_H + +#include <string.h> +#include <stdlib.h> +#include <errno.h> +#include <stddef.h> + +/* The bitmap type is defined in potracelib.h */ +#include "potracelib.h" + +/* The present file defines some convenient macros and static inline + functions for accessing bitmaps. Since they only produce inline + code, they can be conveniently shared by the library and frontends, + if desired */ + +/* ---------------------------------------------------------------------- */ +/* some measurements */ + +#define BM_WORDSIZE ((int)sizeof(potrace_word)) +#define BM_WORDBITS (8*BM_WORDSIZE) +#define BM_HIBIT (((potrace_word)1)<<(BM_WORDBITS-1)) +#define BM_ALLBITS (~(potrace_word)0) + +/* macros for accessing pixel at index (x,y). U* macros omit the + bounds check. */ + +#define bm_scanline(bm, y) ((bm)->map + (ptrdiff_t)(y)*(ptrdiff_t)(bm)->dy) +#define bm_index(bm, x, y) (&bm_scanline(bm, y)[(x)/BM_WORDBITS]) +#define bm_mask(x) (BM_HIBIT >> ((x) & (BM_WORDBITS-1))) +#define bm_range(x, a) ((int)(x) >= 0 && (int)(x) < (a)) +#define bm_safe(bm, x, y) (bm_range(x, (bm)->w) && bm_range(y, (bm)->h)) +#define BM_UGET(bm, x, y) ((*bm_index(bm, x, y) & bm_mask(x)) != 0) +#define BM_USET(bm, x, y) (*bm_index(bm, x, y) |= bm_mask(x)) +#define BM_UCLR(bm, x, y) (*bm_index(bm, x, y) &= ~bm_mask(x)) +#define BM_UINV(bm, x, y) (*bm_index(bm, x, y) ^= bm_mask(x)) +#define BM_UPUT(bm, x, y, b) ((b) ? BM_USET(bm, x, y) : BM_UCLR(bm, x, y)) +#define BM_GET(bm, x, y) (bm_safe(bm, x, y) ? BM_UGET(bm, x, y) : 0) +#define BM_SET(bm, x, y) (bm_safe(bm, x, y) ? BM_USET(bm, x, y) : 0) +#define BM_CLR(bm, x, y) (bm_safe(bm, x, y) ? BM_UCLR(bm, x, y) : 0) +#define BM_INV(bm, x, y) (bm_safe(bm, x, y) ? BM_UINV(bm, x, y) : 0) +#define BM_PUT(bm, x, y, b) (bm_safe(bm, x, y) ? BM_UPUT(bm, x, y, b) : 0) + +/* calculate the size, in bytes, required for the data area of a + bitmap of the given dy and h. Assume h >= 0. Return -1 if the size + does not fit into the ptrdiff_t type. */ +static inline ptrdiff_t getsize(int dy, int h) { + ptrdiff_t size; + + if (dy < 0) { + dy = -dy; + } + + size = (ptrdiff_t)dy * (ptrdiff_t)h * (ptrdiff_t)BM_WORDSIZE; + + /* check for overflow error */ + if (size < 0 || (h != 0 && dy != 0 && size / h / dy != BM_WORDSIZE)) { + return -1; + } + + return size; +} + +/* return the size, in bytes, of the data area of the bitmap. Return + -1 if the size does not fit into the ptrdiff_t type; however, this + cannot happen if the bitmap is well-formed, i.e., if created with + bm_new or bm_dup. */ +static inline ptrdiff_t bm_size(const potrace_bitmap_t *bm) { + return getsize(bm->dy, bm->h); +} + +/* calculate the base address of the bitmap data. Assume that the + bitmap is well-formed, i.e., its size fits into the ptrdiff_t type. + This is the case if created with bm_new or bm_dup. The base address + may differ from bm->map if dy is negative */ +static inline potrace_word *bm_base(const potrace_bitmap_t *bm) { + int dy = bm->dy; + + if (dy >= 0 || bm->h == 0) { + return bm->map; + } else { + return bm_scanline(bm, bm->h - 1); + } +} + +/* free the given bitmap. Leaves errno untouched. */ +static inline void bm_free(potrace_bitmap_t *bm) { + if (bm && bm->map) { + free(bm_base(bm)); + } + free(bm); +} + +/* return new bitmap initialized to 0. NULL with errno on error. + Assumes w, h >= 0. */ +static inline potrace_bitmap_t *bm_new(int w, int h) { + potrace_bitmap_t *bm; + int dy = w == 0 ? 0 : (w - 1) / BM_WORDBITS + 1; + ptrdiff_t size; + + size = getsize(dy, h); + if (size < 0) { + errno = ENOMEM; + return NULL; + } + if (size == 0) { + size = 1; /* make sure calloc() doesn't return NULL */ + } + + bm = (potrace_bitmap_t *) malloc(sizeof(potrace_bitmap_t)); + if (!bm) { + return NULL; + } + bm->w = w; + bm->h = h; + bm->dy = dy; + bm->map = (potrace_word *) calloc(1, size); + if (!bm->map) { + free(bm); + return NULL; + } + return bm; +} + +/* clear the given bitmap. Set all bits to c. Assumes a well-formed + bitmap. */ +static inline void bm_clear(potrace_bitmap_t *bm, int c) { + /* Note: if the bitmap was created with bm_new, then it is + guaranteed that size will fit into the ptrdiff_t type. */ + ptrdiff_t size = bm_size(bm); + memset(bm_base(bm), c ? -1 : 0, size); +} + +/* duplicate the given bitmap. Return NULL on error with errno + set. Assumes a well-formed bitmap. */ +static inline potrace_bitmap_t *bm_dup(const potrace_bitmap_t *bm) { + potrace_bitmap_t *bm1 = bm_new(bm->w, bm->h); + int y; + + if (!bm1) { + return NULL; + } + for (y=0; y < bm->h; y++) { + memcpy(bm_scanline(bm1, y), bm_scanline(bm, y), (size_t)bm1->dy * (size_t)BM_WORDSIZE); + } + return bm1; +} + +/* invert the given bitmap. */ +static inline void bm_invert(potrace_bitmap_t *bm) { + int dy = bm->dy; + int y; + int i; + potrace_word *p; + + if (dy < 0) { + dy = -dy; + } + + for (y=0; y < bm->h; y++) { + p = bm_scanline(bm, y); + for (i=0; i < dy; i++) { + p[i] ^= BM_ALLBITS; + } + } +} + +/* turn the given bitmap upside down. This does not move the bitmap + data or change the bm_base() address. */ +static inline void bm_flip(potrace_bitmap_t *bm) { + int dy = bm->dy; + + if (bm->h == 0 || bm->h == 1) { + return; + } + + bm->map = bm_scanline(bm, bm->h - 1); + bm->dy = -dy; +} + +/* resize the bitmap to the given new height. The bitmap data remains + bottom-aligned (truncated at the top) when dy >= 0 and top-aligned + (truncated at the bottom) when dy < 0. Return 0 on success, or 1 on + error with errno set. If the new height is <= the old one, no error + should occur. If the new height is larger, the additional bitmap + data is *not* initialized. */ +static inline int bm_resize(potrace_bitmap_t *bm, int h) { + int dy = bm->dy; + ptrdiff_t newsize; + potrace_word *newmap; + + if (dy < 0) { + bm_flip(bm); + } + + newsize = getsize(dy, h); + if (newsize < 0) { + errno = ENOMEM; + goto error; + } + if (newsize == 0) { + newsize = 1; /* make sure realloc() doesn't return NULL */ + } + + newmap = (potrace_word *)realloc(bm->map, newsize); + if (newmap == NULL) { + goto error; + } + bm->map = newmap; + bm->h = h; + + if (dy < 0) { + bm_flip(bm); + } + return 0; + + error: + if (dy < 0) { + bm_flip(bm); + } + return 1; +} + +#endif /* BITMAP_H */ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/config.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/config.h new file mode 100644 index 00000000000..2d3e609c137 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/config.h @@ -0,0 +1,5 @@ +#ifndef CONFIG_H +#define CONFIG_H +#define VERSION "1.15" +#define HAVE_INTTYPES_H 1 +#endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.c new file mode 100644 index 00000000000..0f415559589 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.c @@ -0,0 +1,112 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +/* private part of the path and curve data structures */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "potracelib.h" +#include "lists.h" +#include "curve.h" + +#define SAFE_CALLOC(var, n, typ) \ + if ((var = (typ *)calloc(n, sizeof(typ))) == NULL) goto calloc_error + +/* ---------------------------------------------------------------------- */ +/* allocate and free path objects */ + +path_t *path_new(void) { + path_t *p = NULL; + privpath_t *priv = NULL; + + SAFE_CALLOC(p, 1, path_t); + memset(p, 0, sizeof(path_t)); + SAFE_CALLOC(priv, 1, privpath_t); + memset(priv, 0, sizeof(privpath_t)); + p->priv = priv; + return p; + + calloc_error: + free(p); + free(priv); + return NULL; +} + +/* free the members of the given curve structure. Leave errno unchanged. */ +static void privcurve_free_members(privcurve_t *curve) { + free(curve->tag); + free(curve->c); + free(curve->vertex); + free(curve->alpha); + free(curve->alpha0); + free(curve->beta); +} + +/* free a path. Leave errno untouched. */ +void path_free(path_t *p) { + if (p) { + if (p->priv) { + free(p->priv->pt); + free(p->priv->lon); + free(p->priv->sums); + free(p->priv->po); + privcurve_free_members(&p->priv->curve); + privcurve_free_members(&p->priv->ocurve); + } + free(p->priv); + /* do not free p->fcurve ! */ + } + free(p); +} + +/* free a pathlist, leaving errno untouched. */ +void pathlist_free(path_t *plist) { + path_t *p; + + list_forall_unlink(p, plist) { + path_free(p); + } +} + +/* ---------------------------------------------------------------------- */ +/* initialize and finalize curve structures */ + +typedef dpoint_t dpoint3_t[3]; + +/* initialize the members of the given curve structure to size m. + Return 0 on success, 1 on error with errno set. */ +int privcurve_init(privcurve_t *curve, int n) { + memset(curve, 0, sizeof(privcurve_t)); + curve->n = n; + SAFE_CALLOC(curve->tag, n, int); + SAFE_CALLOC(curve->c, n, dpoint3_t); + SAFE_CALLOC(curve->vertex, n, dpoint_t); + SAFE_CALLOC(curve->alpha, n, double); + SAFE_CALLOC(curve->alpha0, n, double); + SAFE_CALLOC(curve->beta, n, double); + return 0; + + calloc_error: + free(curve->tag); + free(curve->c); + free(curve->vertex); + free(curve->alpha); + free(curve->alpha0); + free(curve->beta); + return 1; +} + +/* copy private to public curve structure */ +void privcurve_to_curve(privcurve_t *pc, potrace_curve_t *c) { + c->n = pc->n; + c->tag = pc->tag; + c->c = pc->c; +} + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.h new file mode 100644 index 00000000000..00f042cc228 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.h @@ -0,0 +1,77 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +#ifndef CURVE_H +#define CURVE_H + +#include "auxiliary.h" + +/* vertex is c[1] for tag=POTRACE_CORNER, and the intersection of + .c[-1][2]..c[0] and c[1]..c[2] for tag=POTRACE_CURVETO. alpha is only + defined for tag=POTRACE_CURVETO and is the alpha parameter of the curve: + .c[-1][2]..c[0] = alpha*(.c[-1][2]..vertex), and + c[2]..c[1] = alpha*(c[2]..vertex). + Beta is so that (.beta[i])[.vertex[i],.vertex[i+1]] = .c[i][2]. +*/ + +struct privcurve_s { + int n; /* number of segments */ + int *tag; /* tag[n]: POTRACE_CORNER or POTRACE_CURVETO */ + dpoint_t (*c)[3]; /* c[n][i]: control points. + c[n][0] is unused for tag[n]=POTRACE_CORNER */ + /* the remainder of this structure is special to privcurve, and is + used in EPS debug output and special EPS "short coding". These + fields are valid only if "alphacurve" is set. */ + int alphacurve; /* have the following fields been initialized? */ + dpoint_t *vertex; /* for POTRACE_CORNER, this equals c[1] */ + double *alpha; /* only for POTRACE_CURVETO */ + double *alpha0; /* "uncropped" alpha parameter - for debug output only */ + double *beta; +}; +typedef struct privcurve_s privcurve_t; + +struct sums_s { + double x; + double y; + double x2; + double xy; + double y2; +}; +typedef struct sums_s sums_t; + +/* the path structure is filled in with information about a given path + as it is accumulated and passed through the different stages of the + Potrace algorithm. Backends only need to read the fcurve and fm + fields of this data structure, but debugging backends may read + other fields. */ +struct potrace_privpath_s { + int len; + point_t *pt; /* pt[len]: path as extracted from bitmap */ + int *lon; /* lon[len]: (i,lon[i]) = longest straight line from i */ + + int x0, y0; /* origin for sums */ + sums_t *sums; /* sums[len+1]: cache for fast summing */ + + int m; /* length of optimal polygon */ + int *po; /* po[m]: optimal polygon */ + + privcurve_t curve; /* curve[m]: array of curve elements */ + privcurve_t ocurve; /* ocurve[om]: array of curve elements */ + privcurve_t *fcurve; /* final curve: this points to either curve or + ocurve. Do not free this separately. */ +}; +typedef struct potrace_privpath_s potrace_privpath_t; + +/* shorter names */ +typedef potrace_privpath_t privpath_t; +typedef potrace_path_t path_t; + +path_t *path_new(void); +void path_free(path_t *p); +void pathlist_free(path_t *plist); +int privcurve_init(privcurve_t *curve, int n); +void privcurve_to_curve(privcurve_t *pc, potrace_curve_t *c); + +#endif /* CURVE_H */ + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.c new file mode 100644 index 00000000000..5439ad51f3a --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.c @@ -0,0 +1,521 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#ifdef HAVE_INTTYPES_H +#include <inttypes.h> +#endif + +#include "potracelib.h" +#include "curve.h" +#include "lists.h" +#include "bitmap.h" +#include "decompose.h" +#include "progress.h" + +/* ---------------------------------------------------------------------- */ +/* deterministically and efficiently hash (x,y) into a pseudo-random bit */ + +static inline int detrand(int x, int y) { + unsigned int z; + static const unsigned char t[256] = { + /* non-linear sequence: constant term of inverse in GF(8), + mod x^8+x^4+x^3+x+1 */ + 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, + 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, + 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, + 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, + 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, + 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + }; + + /* 0x04b3e375 and 0x05a8ef93 are chosen to contain every possible + 5-bit sequence */ + z = ((0x04b3e375 * x) ^ y) * 0x05a8ef93; + z = t[z & 0xff] ^ t[(z>>8) & 0xff] ^ t[(z>>16) & 0xff] ^ t[(z>>24) & 0xff]; + return z; +} + +/* ---------------------------------------------------------------------- */ +/* auxiliary bitmap manipulations */ + +/* set the excess padding to 0 */ +static void bm_clearexcess(potrace_bitmap_t *bm) { + potrace_word mask; + int y; + + if (bm->w % BM_WORDBITS != 0) { + mask = BM_ALLBITS << (BM_WORDBITS - (bm->w % BM_WORDBITS)); + for (y=0; y<bm->h; y++) { + *bm_index(bm, bm->w, y) &= mask; + } + } +} + +struct bbox_s { + int x0, x1, y0, y1; /* bounding box */ +}; +typedef struct bbox_s bbox_t; + +/* clear the bm, assuming the bounding box is set correctly (faster + than clearing the whole bitmap) */ +static void clear_bm_with_bbox(potrace_bitmap_t *bm, bbox_t *bbox) { + int imin = (bbox->x0 / BM_WORDBITS); + int imax = ((bbox->x1 + BM_WORDBITS-1) / BM_WORDBITS); + int i, y; + + for (y=bbox->y0; y<bbox->y1; y++) { + for (i=imin; i<imax; i++) { + bm_scanline(bm, y)[i] = 0; + } + } +} + +/* ---------------------------------------------------------------------- */ +/* auxiliary functions */ + +/* return the "majority" value of bitmap bm at intersection (x,y). We + assume that the bitmap is balanced at "radius" 1. */ +static int majority(potrace_bitmap_t *bm, int x, int y) { + int i, a, ct; + + for (i=2; i<5; i++) { /* check at "radius" i */ + ct = 0; + for (a=-i+1; a<=i-1; a++) { + ct += BM_GET(bm, x+a, y+i-1) ? 1 : -1; + ct += BM_GET(bm, x+i-1, y+a-1) ? 1 : -1; + ct += BM_GET(bm, x+a-1, y-i) ? 1 : -1; + ct += BM_GET(bm, x-i, y+a) ? 1 : -1; + } + if (ct>0) { + return 1; + } else if (ct<0) { + return 0; + } + } + return 0; +} + +/* ---------------------------------------------------------------------- */ +/* decompose image into paths */ + +/* efficiently invert bits [x,infty) and [xa,infty) in line y. Here xa + must be a multiple of BM_WORDBITS. */ +static void xor_to_ref(potrace_bitmap_t *bm, int x, int y, int xa) { + int xhi = x & -BM_WORDBITS; + int xlo = x & (BM_WORDBITS-1); /* = x % BM_WORDBITS */ + int i; + + if (xhi<xa) { + for (i = xhi; i < xa; i+=BM_WORDBITS) { + *bm_index(bm, i, y) ^= BM_ALLBITS; + } + } else { + for (i = xa; i < xhi; i+=BM_WORDBITS) { + *bm_index(bm, i, y) ^= BM_ALLBITS; + } + } + /* note: the following "if" is needed because x86 treats a<<b as + a<<(b&31). I spent hours looking for this bug. */ + if (xlo) { + *bm_index(bm, xhi, y) ^= (BM_ALLBITS << (BM_WORDBITS - xlo)); + } +} + +/* a path is represented as an array of points, which are thought to + lie on the corners of pixels (not on their centers). The path point + (x,y) is the lower left corner of the pixel (x,y). Paths are + represented by the len/pt components of a path_t object (which + also stores other information about the path) */ + +/* xor the given pixmap with the interior of the given path. Note: the + path must be within the dimensions of the pixmap. */ +static void xor_path(potrace_bitmap_t *bm, path_t *p) { + int xa, x, y, k, y1; + + if (p->priv->len <= 0) { /* a path of length 0 is silly, but legal */ + return; + } + + y1 = p->priv->pt[p->priv->len-1].y; + + xa = p->priv->pt[0].x & -BM_WORDBITS; + for (k=0; k<p->priv->len; k++) { + x = p->priv->pt[k].x; + y = p->priv->pt[k].y; + + if (y != y1) { + /* efficiently invert the rectangle [x,xa] x [y,y1] */ + xor_to_ref(bm, x, min(y,y1), xa); + y1 = y; + } + } +} + +/* Find the bounding box of a given path. Path is assumed to be of + non-zero length. */ +static void setbbox_path(bbox_t *bbox, path_t *p) { + int x, y; + int k; + + bbox->y0 = INT_MAX; + bbox->y1 = 0; + bbox->x0 = INT_MAX; + bbox->x1 = 0; + + for (k=0; k<p->priv->len; k++) { + x = p->priv->pt[k].x; + y = p->priv->pt[k].y; + + if (x < bbox->x0) { + bbox->x0 = x; + } + if (x > bbox->x1) { + bbox->x1 = x; + } + if (y < bbox->y0) { + bbox->y0 = y; + } + if (y > bbox->y1) { + bbox->y1 = y; + } + } +} + +/* compute a path in the given pixmap, separating black from white. + Start path at the point (x0,x1), which must be an upper left corner + of the path. Also compute the area enclosed by the path. Return a + new path_t object, or NULL on error (note that a legitimate path + cannot have length 0). Sign is required for correct interpretation + of turnpolicies. */ +static path_t *findpath(potrace_bitmap_t *bm, int x0, int y0, int sign, int turnpolicy) { + int x, y, dirx, diry, len, size; + uint64_t area; + int c, d, tmp; + point_t *pt, *pt1; + path_t *p = NULL; + + x = x0; + y = y0; + dirx = 0; + diry = -1; + + len = size = 0; + pt = NULL; + area = 0; + + while (1) { + /* add point to path */ + if (len>=size) { + size += 100; + size = (int)(1.3 * size); + pt1 = (point_t *)realloc(pt, size * sizeof(point_t)); + if (!pt1) { + goto error; + } + pt = pt1; + } + pt[len].x = x; + pt[len].y = y; + len++; + + /* move to next point */ + x += dirx; + y += diry; + area += x*diry; + + /* path complete? */ + if (x==x0 && y==y0) { + break; + } + + /* determine next direction */ + c = BM_GET(bm, x + (dirx+diry-1)/2, y + (diry-dirx-1)/2); + d = BM_GET(bm, x + (dirx-diry-1)/2, y + (diry+dirx-1)/2); + + if (c && !d) { /* ambiguous turn */ + if (turnpolicy == POTRACE_TURNPOLICY_RIGHT + || (turnpolicy == POTRACE_TURNPOLICY_BLACK && sign == '+') + || (turnpolicy == POTRACE_TURNPOLICY_WHITE && sign == '-') + || (turnpolicy == POTRACE_TURNPOLICY_RANDOM && detrand(x,y)) + || (turnpolicy == POTRACE_TURNPOLICY_MAJORITY && majority(bm, x, y)) + || (turnpolicy == POTRACE_TURNPOLICY_MINORITY && !majority(bm, x, y))) { + tmp = dirx; /* right turn */ + dirx = diry; + diry = -tmp; + } else { + tmp = dirx; /* left turn */ + dirx = -diry; + diry = tmp; + } + } else if (c) { /* right turn */ + tmp = dirx; + dirx = diry; + diry = -tmp; + } else if (!d) { /* left turn */ + tmp = dirx; + dirx = -diry; + diry = tmp; + } + } /* while this path */ + + /* allocate new path object */ + p = path_new(); + if (!p) { + goto error; + } + + p->priv->pt = pt; + p->priv->len = len; + p->area = area <= INT_MAX ? area : INT_MAX; /* avoid overflow */ + p->sign = sign; + + return p; + + error: + free(pt); + return NULL; +} + +/* Give a tree structure to the given path list, based on "insideness" + testing. I.e., path A is considered "below" path B if it is inside + path B. The input pathlist is assumed to be ordered so that "outer" + paths occur before "inner" paths. The tree structure is stored in + the "childlist" and "sibling" components of the path_t + structure. The linked list structure is also changed so that + negative path components are listed immediately after their + positive parent. Note: some backends may ignore the tree + structure, others may use it e.g. to group path components. We + assume that in the input, point 0 of each path is an "upper left" + corner of the path, as returned by bm_to_pathlist. This makes it + easy to find an "interior" point. The bm argument should be a + bitmap of the correct size (large enough to hold all the paths), + and will be used as scratch space. Return 0 on success or -1 on + error with errno set. */ + +static void pathlist_to_tree(path_t *plist, potrace_bitmap_t *bm) { + path_t *p, *p1; + path_t *heap, *heap1; + path_t *cur; + path_t *head; + path_t **plist_hook; /* for fast appending to linked list */ + path_t **hook_in, **hook_out; /* for fast appending to linked list */ + bbox_t bbox; + + bm_clear(bm, 0); + + /* save original "next" pointers */ + list_forall(p, plist) { + p->sibling = p->next; + p->childlist = NULL; + } + + heap = plist; + + /* the heap holds a list of lists of paths. Use "childlist" field + for outer list, "next" field for inner list. Each of the sublists + is to be turned into a tree. This code is messy, but it is + actually fast. Each path is rendered exactly once. We use the + heap to get a tail recursive algorithm: the heap holds a list of + pathlists which still need to be transformed. */ + + while (heap) { + /* unlink first sublist */ + cur = heap; + heap = heap->childlist; + cur->childlist = NULL; + + /* unlink first path */ + head = cur; + cur = cur->next; + head->next = NULL; + + /* render path */ + xor_path(bm, head); + setbbox_path(&bbox, head); + + /* now do insideness test for each element of cur; append it to + head->childlist if it's inside head, else append it to + head->next. */ + hook_in=&head->childlist; + hook_out=&head->next; + list_forall_unlink(p, cur) { + if (p->priv->pt[0].y <= bbox.y0) { + list_insert_beforehook(p, hook_out); + /* append the remainder of the list to hook_out */ + *hook_out = cur; + break; + } + if (BM_GET(bm, p->priv->pt[0].x, p->priv->pt[0].y-1)) { + list_insert_beforehook(p, hook_in); + } else { + list_insert_beforehook(p, hook_out); + } + } + + /* clear bm */ + clear_bm_with_bbox(bm, &bbox); + + /* now schedule head->childlist and head->next for further + processing */ + if (head->next) { + head->next->childlist = heap; + heap = head->next; + } + if (head->childlist) { + head->childlist->childlist = heap; + heap = head->childlist; + } + } + + /* copy sibling structure from "next" to "sibling" component */ + p = plist; + while (p) { + p1 = p->sibling; + p->sibling = p->next; + p = p1; + } + + /* reconstruct a new linked list ("next") structure from tree + ("childlist", "sibling") structure. This code is slightly messy, + because we use a heap to make it tail recursive: the heap + contains a list of childlists which still need to be + processed. */ + heap = plist; + if (heap) { + heap->next = NULL; /* heap is a linked list of childlists */ + } + plist = NULL; + plist_hook = &plist; + while (heap) { + heap1 = heap->next; + for (p=heap; p; p=p->sibling) { + /* p is a positive path */ + /* append to linked list */ + list_insert_beforehook(p, plist_hook); + + /* go through its children */ + for (p1=p->childlist; p1; p1=p1->sibling) { + /* append to linked list */ + list_insert_beforehook(p1, plist_hook); + /* append its childlist to heap, if non-empty */ + if (p1->childlist) { + list_append(path_t, heap1, p1->childlist); + } + } + } + heap = heap1; + } + + return; +} + +/* find the next set pixel in a row <= y. Pixels are searched first + left-to-right, then top-down. In other words, (x,y)<(x',y') if y>y' + or y=y' and x<x'. If found, return 0 and store pixel in + (*xp,*yp). Else return 1. Note that this function assumes that + excess bytes have been cleared with bm_clearexcess. */ +static int findnext(potrace_bitmap_t *bm, int *xp, int *yp) { + int x; + int y; + int x0; + + x0 = (*xp) & ~(BM_WORDBITS-1); + + for (y=*yp; y>=0; y--) { + for (x=x0; x<bm->w && x>=0; x+=(unsigned)BM_WORDBITS) { + if (*bm_index(bm, x, y)) { + while (!BM_GET(bm, x, y)) { + x++; + } + /* found */ + *xp = x; + *yp = y; + return 0; + } + } + x0 = 0; + } + /* not found */ + return 1; +} + +/* Decompose the given bitmap into paths. Returns a linked list of + path_t objects with the fields len, pt, area, sign filled + in. Returns 0 on success with plistp set, or -1 on error with errno + set. */ + +int bm_to_pathlist(const potrace_bitmap_t *bm, path_t **plistp, const potrace_param_t *param, progress_t *progress) { + int x; + int y; + path_t *p; + path_t *plist = NULL; /* linked list of path objects */ + path_t **plist_hook = &plist; /* used to speed up appending to linked list */ + potrace_bitmap_t *bm1 = NULL; + int sign; + + bm1 = bm_dup(bm); + if (!bm1) { + goto error; + } + + /* be sure the byte padding on the right is set to 0, as the fast + pixel search below relies on it */ + bm_clearexcess(bm1); + + /* iterate through components */ + x = 0; + y = bm1->h - 1; + while (findnext(bm1, &x, &y) == 0) { + /* calculate the sign by looking at the original */ + sign = BM_GET(bm, x, y) ? '+' : '-'; + + /* calculate the path */ + p = findpath(bm1, x, y+1, sign, param->turnpolicy); + if (p==NULL) { + goto error; + } + + /* update buffered image */ + xor_path(bm1, p); + + /* if it's a turd, eliminate it, else append it to the list */ + if (p->area <= param->turdsize) { + path_free(p); + } else { + list_insert_beforehook(p, plist_hook); + } + + if (bm1->h > 0) { /* to be sure */ + progress_update(1-y/(double)bm1->h, progress); + } + } + + pathlist_to_tree(plist, bm1); + bm_free(bm1); + *plistp = plist; + + progress_update(1.0, progress); + + return 0; + + error: + bm_free(bm1); + list_forall_unlink(p, plist) { + path_free(p); + } + return -1; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.h new file mode 100644 index 00000000000..a80a480ccbf --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.h @@ -0,0 +1,16 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + + +#ifndef DECOMPOSE_H +#define DECOMPOSE_H + +#include "potracelib.h" +#include "progress.h" +#include "curve.h" + +int bm_to_pathlist(const potrace_bitmap_t *bm, path_t **plistp, const potrace_param_t *param, progress_t *progress); + +#endif /* DECOMPOSE_H */ + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/lists.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/lists.h new file mode 100644 index 00000000000..f76bdcde14b --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/lists.h @@ -0,0 +1,285 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + + +#ifndef _PS_LISTS_H +#define _PS_LISTS_H + +/* here we define some general list macros. Because they are macros, + they should work on any datatype with a "->next" component. Some of + them use a "hook". If elt and list are of type t* then hook is of + type t**. A hook stands for an insertion point in the list, i.e., + either before the first element, or between two elements, or after + the last element. If an operation "sets the hook" for an element, + then the hook is set to just before the element. One can insert + something at a hook. One can also unlink at a hook: this means, + unlink the element just after the hook. By "to unlink", we mean the + element is removed from the list, but not deleted. Thus, it and its + components still need to be freed. */ + +/* Note: these macros are somewhat experimental. Only the ones that + are actually *used* have been tested. So be careful to test any + that you use. Looking at the output of the preprocessor, "gcc -E" + (possibly piped though "indent"), might help too. Also: these + macros define some internal (local) variables that start with + "_". */ + +/* we enclose macro definitions whose body consists of more than one + statement in MACRO_BEGIN and MACRO_END, rather than '{' and '}'. The + reason is that we want to be able to use the macro in a context + such as "if (...) macro(...); else ...". If we didn't use this obscure + trick, we'd have to omit the ";" in such cases. */ + +#define MACRO_BEGIN do { +#define MACRO_END } while (0) + +/* ---------------------------------------------------------------------- */ +/* macros for singly-linked lists */ + +/* traverse list. At the end, elt is set to NULL. */ +#define list_forall(elt, list) for (elt=list; elt!=NULL; elt=elt->next) + +/* set elt to the first element of list satisfying boolean condition + c, or NULL if not found */ +#define list_find(elt, list, c) \ + MACRO_BEGIN list_forall(elt, list) if (c) break; MACRO_END + +/* like forall, except also set hook for elt. */ +#define list_forall2(elt, list, hook) \ + for (elt=list, hook=&list; elt!=NULL; hook=&elt->next, elt=elt->next) + +/* same as list_find, except also set hook for elt. */ +#define list_find2(elt, list, c, hook) \ + MACRO_BEGIN list_forall2(elt, list, hook) if (c) break; MACRO_END + +/* same, except only use hook. */ +#define _list_forall_hook(list, hook) \ + for (hook=&list; *hook!=NULL; hook=&(*hook)->next) + +/* same, except only use hook. Note: c may only refer to *hook, not elt. */ +#define _list_find_hook(list, c, hook) \ + MACRO_BEGIN _list_forall_hook(list, hook) if (c) break; MACRO_END + +/* insert element after hook */ +#define list_insert_athook(elt, hook) \ + MACRO_BEGIN elt->next = *hook; *hook = elt; MACRO_END + +/* insert element before hook */ +#define list_insert_beforehook(elt, hook) \ + MACRO_BEGIN elt->next = *hook; *hook = elt; hook=&elt->next; MACRO_END + +/* unlink element after hook, let elt be unlinked element, or NULL. + hook remains. */ +#define list_unlink_athook(list, elt, hook) \ + MACRO_BEGIN \ + elt = hook ? *hook : NULL; if (elt) { *hook = elt->next; elt->next = NULL; }\ + MACRO_END + +/* unlink the specific element, if it is in the list. Otherwise, set + elt to NULL */ +#define list_unlink(listtype, list, elt) \ + MACRO_BEGIN \ + listtype **_hook; \ + _list_find_hook(list, *_hook==elt, _hook); \ + list_unlink_athook(list, elt, _hook); \ + MACRO_END + +/* prepend elt to list */ +#define list_prepend(list, elt) \ + MACRO_BEGIN elt->next = list; list = elt; MACRO_END + +/* append elt to list. */ +#define list_append(listtype, list, elt) \ + MACRO_BEGIN \ + listtype **_hook; \ + _list_forall_hook(list, _hook) {} \ + list_insert_athook(elt, _hook); \ + MACRO_END + +/* unlink the first element that satisfies the condition. */ +#define list_unlink_cond(listtype, list, elt, c) \ + MACRO_BEGIN \ + listtype **_hook; \ + list_find2(elt, list, c, _hook); \ + list_unlink_athook(list, elt, _hook); \ + MACRO_END + +/* let elt be the nth element of the list, starting to count from 0. + Return NULL if out of bounds. */ +#define list_nth(elt, list, n) \ + MACRO_BEGIN \ + int _x; /* only evaluate n once */ \ + for (_x=(n), elt=list; _x && elt; _x--, elt=elt->next) {} \ + MACRO_END + +/* let elt be the nth element of the list, starting to count from 0. + Return NULL if out of bounds. */ +#define list_nth_hook(elt, list, n, hook) \ + MACRO_BEGIN \ + int _x; /* only evaluate n once */ \ + for (_x=(n), elt=list, hook=&list; _x && elt; _x--, hook=&elt->next, elt=elt->next) {} \ + MACRO_END + +/* set n to the length of the list */ +#define list_length(listtype, list, n) \ + MACRO_BEGIN \ + listtype *_elt; \ + n=0; \ + list_forall(_elt, list) \ + n++; \ + MACRO_END + +/* set n to the index of the first element satisfying cond, or -1 if + none found. Also set elt to the element, or NULL if none found. */ +#define list_index(list, n, elt, c) \ + MACRO_BEGIN \ + n=0; \ + list_forall(elt, list) { \ + if (c) break; \ + n++; \ + } \ + if (!elt) \ + n=-1; \ + MACRO_END + +/* set n to the number of elements in the list that satisfy condition c */ +#define list_count(list, n, elt, c) \ + MACRO_BEGIN \ + n=0; \ + list_forall(elt, list) { \ + if (c) n++; \ + } \ + MACRO_END + +/* let elt be each element of the list, unlinked. At the end, set list=NULL. */ +#define list_forall_unlink(elt, list) \ + for (elt=list; elt ? (list=elt->next, elt->next=NULL), 1 : 0; elt=list) + +/* reverse a list (efficient) */ +#define list_reverse(listtype, list) \ + MACRO_BEGIN \ + listtype *_list1=NULL, *elt; \ + list_forall_unlink(elt, list) \ + list_prepend(_list1, elt); \ + list = _list1; \ + MACRO_END + +/* insert the element ELT just before the first element TMP of the + list for which COND holds. Here COND must be a condition of ELT and + TMP. Typical usage is to insert an element into an ordered list: + for instance, list_insert_ordered(listtype, list, elt, tmp, + elt->size <= tmp->size). Note: if we give a "less than or equal" + condition, the new element will be inserted just before a sequence + of equal elements. If we give a "less than" condition, the new + element will be inserted just after a list of equal elements. + Note: it is much more efficient to construct a list with + list_prepend and then order it with list_merge_sort, than to + construct it with list_insert_ordered. */ +#define list_insert_ordered(listtype, list, elt, tmp, cond) \ + MACRO_BEGIN \ + listtype **_hook; \ + _list_find_hook(list, (tmp=*_hook, (cond)), _hook); \ + list_insert_athook(elt, _hook); \ + MACRO_END + +/* sort the given list, according to the comparison condition. + Typical usage is list_sort(listtype, list, a, b, a->size < + b->size). Note: if we give "less than or equal" condition, each + segment of equal elements will be reversed in order. If we give a + "less than" condition, each segment of equal elements will retain + the original order. The latter is slower but sometimes + prettier. Average running time: n*n/2. */ +#define list_sort(listtype, list, a, b, cond) \ + MACRO_BEGIN \ + listtype *_newlist=NULL; \ + list_forall_unlink(a, list) \ + list_insert_ordered(listtype, _newlist, a, b, cond); \ + list = _newlist; \ + MACRO_END + +/* a much faster sort algorithm (merge sort, n log n worst case). It + is required that the list type has an additional, unused next1 + component. Note there is no curious reversal of order of equal + elements as for list_sort. */ + +#define list_mergesort(listtype, list, a, b, cond) \ + MACRO_BEGIN \ + listtype *_elt, **_hook1; \ + \ + for (_elt=list; _elt; _elt=_elt->next1) { \ + _elt->next1 = _elt->next; \ + _elt->next = NULL; \ + } \ + do { \ + _hook1 = &(list); \ + while ((a = *_hook1) != NULL && (b = a->next1) != NULL ) { \ + _elt = b->next1; \ + _list_merge_cond(listtype, a, b, cond, *_hook1); \ + _hook1 = &((*_hook1)->next1); \ + *_hook1 = _elt; \ + } \ + } while (_hook1 != &(list)); \ + MACRO_END + +/* merge two sorted lists. Store result at &result */ +#define _list_merge_cond(listtype, a, b, cond, result) \ + MACRO_BEGIN \ + listtype **_hook; \ + _hook = &(result); \ + while (1) { \ + if (a==NULL) { \ + *_hook = b; \ + break; \ + } else if (b==NULL) { \ + *_hook = a; \ + break; \ + } else if (cond) { \ + *_hook = a; \ + _hook = &(a->next); \ + a = a->next; \ + } else { \ + *_hook = b; \ + _hook = &(b->next); \ + b = b->next; \ + } \ + } \ + MACRO_END + +/* ---------------------------------------------------------------------- */ +/* macros for doubly-linked lists */ + +#define dlist_append(head, end, elt) \ + MACRO_BEGIN \ + elt->prev = end; \ + elt->next = NULL; \ + if (end) { \ + end->next = elt; \ + } else { \ + head = elt; \ + } \ + end = elt; \ + MACRO_END + +/* let elt be each element of the list, unlinked. At the end, set list=NULL. */ +#define dlist_forall_unlink(elt, head, end) \ + for (elt=head; elt ? (head=elt->next, elt->next=NULL, elt->prev=NULL), 1 : (end=NULL, 0); elt=head) + +/* unlink the first element of the list */ +#define dlist_unlink_first(head, end, elt) \ + MACRO_BEGIN \ + elt = head; \ + if (head) { \ + head = head->next; \ + if (head) { \ + head->prev = NULL; \ + } else { \ + end = NULL; \ + } \ + elt->prev = NULL; \ + elt->next = NULL; \ + } \ + MACRO_END + +#endif /* _PS_LISTS_H */ + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.c new file mode 100644 index 00000000000..7dc9fe940ab --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.c @@ -0,0 +1,114 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdlib.h> +#include <string.h> + +#include "potracelib.h" +#include "curve.h" +#include "decompose.h" +#include "trace.h" +#include "progress.h" + +/* default parameters */ +static const potrace_param_t param_default = { + 2, /* turdsize */ + POTRACE_TURNPOLICY_MINORITY, /* turnpolicy */ + 1.0, /* alphamax */ + 1, /* opticurve */ + 0.2, /* opttolerance */ + { + NULL, /* callback function */ + NULL, /* callback data */ + 0.0, 1.0, /* progress range */ + 0.0, /* granularity */ + }, +}; + +/* Return a fresh copy of the set of default parameters, or NULL on + failure with errno set. */ +potrace_param_t *potrace_param_default(void) { + potrace_param_t *p; + + p = (potrace_param_t *) malloc(sizeof(potrace_param_t)); + if (!p) { + return NULL; + } + memcpy(p, ¶m_default, sizeof(potrace_param_t)); + return p; +} + +/* On success, returns a Potrace state st with st->status == + POTRACE_STATUS_OK. On failure, returns NULL if no Potrace state + could be created (with errno set), or returns an incomplete Potrace + state (with st->status == POTRACE_STATUS_INCOMPLETE, and with errno + set). Complete or incomplete Potrace state can be freed with + potrace_state_free(). */ +potrace_state_t *potrace_trace(const potrace_param_t *param, const potrace_bitmap_t *bm) { + int r; + path_t *plist = NULL; + potrace_state_t *st; + progress_t prog; + progress_t subprog; + + /* prepare private progress bar state */ + prog.callback = param->progress.callback; + prog.data = param->progress.data; + prog.min = param->progress.min; + prog.max = param->progress.max; + prog.epsilon = param->progress.epsilon; + prog.d_prev = param->progress.min; + + /* allocate state object */ + st = (potrace_state_t *)malloc(sizeof(potrace_state_t)); + if (!st) { + return NULL; + } + + progress_subrange_start(0.0, 0.1, &prog, &subprog); + + /* process the image */ + r = bm_to_pathlist(bm, &plist, param, &subprog); + if (r) { + free(st); + return NULL; + } + + st->status = POTRACE_STATUS_OK; + st->plist = plist; + st->priv = NULL; /* private state currently unused */ + + progress_subrange_end(&prog, &subprog); + + progress_subrange_start(0.1, 1.0, &prog, &subprog); + + /* partial success. */ + r = process_path(plist, param, &subprog); + if (r) { + st->status = POTRACE_STATUS_INCOMPLETE; + } + + progress_subrange_end(&prog, &subprog); + + return st; +} + +/* free a Potrace state, without disturbing errno. */ +void potrace_state_free(potrace_state_t *st) { + pathlist_free(st->plist); + free(st); +} + +/* free a parameter list, without disturbing errno. */ +void potrace_param_free(potrace_param_t *p) { + free(p); +} + +const char *potrace_version(void) { + return "potracelib " VERSION ""; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.h new file mode 100644 index 00000000000..003297740af --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.h @@ -0,0 +1,139 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +#ifndef POTRACELIB_H +#define POTRACELIB_H + +/* this file defines the API for the core Potrace library. For a more + detailed description of the API, see potracelib.pdf */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------------------------------------------------- */ +/* tracing parameters */ + +/* turn policies */ +#define POTRACE_TURNPOLICY_BLACK 0 +#define POTRACE_TURNPOLICY_WHITE 1 +#define POTRACE_TURNPOLICY_LEFT 2 +#define POTRACE_TURNPOLICY_RIGHT 3 +#define POTRACE_TURNPOLICY_MINORITY 4 +#define POTRACE_TURNPOLICY_MAJORITY 5 +#define POTRACE_TURNPOLICY_RANDOM 6 + +/* structure to hold progress bar callback data */ +struct potrace_progress_s { + void (*callback)(double progress, void *privdata); /* callback fn */ + void *data; /* callback function's private data */ + double min, max; /* desired range of progress, e.g. 0.0 to 1.0 */ + double epsilon; /* granularity: can skip smaller increments */ +}; +typedef struct potrace_progress_s potrace_progress_t; + +/* structure to hold tracing parameters */ +struct potrace_param_s { + int turdsize; /* area of largest path to be ignored */ + int turnpolicy; /* resolves ambiguous turns in path decomposition */ + double alphamax; /* corner threshold */ + int opticurve; /* use curve optimization? */ + double opttolerance; /* curve optimization tolerance */ + potrace_progress_t progress; /* progress callback function */ +}; +typedef struct potrace_param_s potrace_param_t; + +/* ---------------------------------------------------------------------- */ +/* bitmaps */ + +/* native word size */ +typedef unsigned long potrace_word; + +/* Internal bitmap format. The n-th scanline starts at scanline(n) = + (map + n*dy). Raster data is stored as a sequence of potrace_words + (NOT bytes). The leftmost bit of scanline n is the most significant + bit of scanline(n)[0]. */ +struct potrace_bitmap_s { + int w, h; /* width and height, in pixels */ + int dy; /* words per scanline (not bytes) */ + potrace_word *map; /* raw data, dy*h words */ +}; +typedef struct potrace_bitmap_s potrace_bitmap_t; + +/* ---------------------------------------------------------------------- */ +/* curves */ + +/* point */ +struct potrace_dpoint_s { + double x, y; +}; +typedef struct potrace_dpoint_s potrace_dpoint_t; + +/* segment tags */ +#define POTRACE_CURVETO 1 +#define POTRACE_CORNER 2 + +/* closed curve segment */ +struct potrace_curve_s { + int n; /* number of segments */ + int *tag; /* tag[n]: POTRACE_CURVETO or POTRACE_CORNER */ + potrace_dpoint_t (*c)[3]; /* c[n][3]: control points. + c[n][0] is unused for tag[n]=POTRACE_CORNER */ +}; +typedef struct potrace_curve_s potrace_curve_t; + +/* Linked list of signed curve segments. Also carries a tree structure. */ +struct potrace_path_s { + int area; /* area of the bitmap path */ + int sign; /* '+' or '-', depending on orientation */ + potrace_curve_t curve; /* this path's vector data */ + + struct potrace_path_s *next; /* linked list structure */ + + struct potrace_path_s *childlist; /* tree structure */ + struct potrace_path_s *sibling; /* tree structure */ + + struct potrace_privpath_s *priv; /* private state */ +}; +typedef struct potrace_path_s potrace_path_t; + +/* ---------------------------------------------------------------------- */ +/* Potrace state */ + +#define POTRACE_STATUS_OK 0 +#define POTRACE_STATUS_INCOMPLETE 1 + +struct potrace_state_s { + int status; + potrace_path_t *plist; /* vector data */ + + struct potrace_privstate_s *priv; /* private state */ +}; +typedef struct potrace_state_s potrace_state_t; + +/* ---------------------------------------------------------------------- */ +/* API functions */ + +/* get default parameters */ +potrace_param_t *potrace_param_default(void); + +/* free parameter set */ +void potrace_param_free(potrace_param_t *p); + +/* trace a bitmap */ +potrace_state_t *potrace_trace(const potrace_param_t *param, + const potrace_bitmap_t *bm); + +/* free a Potrace state */ +void potrace_state_free(potrace_state_t *st); + +/* return a static plain text version string identifying this version + of potracelib */ +const char *potrace_version(void); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* POTRACELIB_H */ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/progress.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/progress.h new file mode 100644 index 00000000000..cdd637694c1 --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/progress.h @@ -0,0 +1,79 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +/* operations on potrace_progress_t objects, which are defined in + potracelib.h. Note: the code attempts to minimize runtime overhead + when no progress monitoring was requested. It also tries to + minimize excessive progress calculations beneath the "epsilon" + threshold. */ + +#ifndef PROGRESS_H +#define PROGRESS_H + +/* structure to hold progress bar callback data */ +struct progress_s { + void (*callback)(double progress, void *privdata); /* callback fn */ + void *data; /* callback function's private data */ + double min, max; /* desired range of progress, e.g. 0.0 to 1.0 */ + double epsilon; /* granularity: can skip smaller increments */ + double b; /* upper limit of subrange in superrange units */ + double d_prev; /* previous value of d */ +}; +typedef struct progress_s progress_t; + +/* notify given progress object of current progress. Note that d is + given in the 0.0-1.0 range, which will be scaled and translated to + the progress object's range. */ +static inline void progress_update(double d, progress_t *prog) { + double d_scaled; + + if (prog != NULL && prog->callback != NULL) { + d_scaled = prog->min * (1-d) + prog->max * d; + if (d == 1.0 || d_scaled >= prog->d_prev + prog->epsilon) { + prog->callback(prog->min * (1-d) + prog->max * d, prog->data); + prog->d_prev = d_scaled; + } + } +} + +/* start a subrange of the given progress object. The range is + narrowed to [a..b], relative to 0.0-1.0 coordinates. If new range + is below granularity threshold, disable further subdivisions. */ +static inline void progress_subrange_start(double a, double b, const progress_t *prog, progress_t *sub) { + double min, max; + + if (prog == NULL || prog->callback == NULL) { + sub->callback = NULL; + return; + } + + min = prog->min * (1-a) + prog->max * a; + max = prog->min * (1-b) + prog->max * b; + + if (max - min < prog->epsilon) { + sub->callback = NULL; /* no further progress info in subrange */ + sub->b = b; + return; + } + sub->callback = prog->callback; + sub->data = prog->data; + sub->epsilon = prog->epsilon; + sub->min = min; + sub->max = max; + sub->d_prev = prog->d_prev; + return; +} + +static inline void progress_subrange_end(progress_t *prog, progress_t *sub) { + if (prog != NULL && prog->callback != NULL) { + if (sub->callback == NULL) { + progress_update(sub->b, prog); + } else { + prog->d_prev = sub->d_prev; + } + } +} + +#endif /* PROGRESS_H */ + diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.c new file mode 100644 index 00000000000..b0b9944ae6a --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.c @@ -0,0 +1,1249 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + +/* transform jaggy paths into smooth curves */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdio.h> +#include <math.h> +#include <stdlib.h> +#include <string.h> + +#include "potracelib.h" +#include "curve.h" +#include "lists.h" +#include "auxiliary.h" +#include "trace.h" +#include "progress.h" + +#define INFTY 10000000 /* it suffices that this is longer than any + path; it need not be really infinite */ +#define COS179 -0.999847695156 /* the cosine of 179 degrees */ + +/* ---------------------------------------------------------------------- */ +#define SAFE_CALLOC(var, n, typ) \ + if ((var = (typ *)calloc(n, sizeof(typ))) == NULL) goto calloc_error + +/* ---------------------------------------------------------------------- */ +/* auxiliary functions */ + +/* return a direction that is 90 degrees counterclockwise from p2-p0, + but then restricted to one of the major wind directions (n, nw, w, etc) */ +static inline point_t dorth_infty(dpoint_t p0, dpoint_t p2) { + point_t r; + + r.y = sign(p2.x-p0.x); + r.x = -sign(p2.y-p0.y); + + return r; +} + +/* return (p1-p0)x(p2-p0), the area of the parallelogram */ +static inline double dpara(dpoint_t p0, dpoint_t p1, dpoint_t p2) { + double x1, y1, x2, y2; + + x1 = p1.x-p0.x; + y1 = p1.y-p0.y; + x2 = p2.x-p0.x; + y2 = p2.y-p0.y; + + return x1*y2 - x2*y1; +} + +/* ddenom/dpara have the property that the square of radius 1 centered + at p1 intersects the line p0p2 iff |dpara(p0,p1,p2)| <= ddenom(p0,p2) */ +static inline double ddenom(dpoint_t p0, dpoint_t p2) { + point_t r = dorth_infty(p0, p2); + + return r.y*(p2.x-p0.x) - r.x*(p2.y-p0.y); +} + +/* return 1 if a <= b < c < a, in a cyclic sense (mod n) */ +static inline int cyclic(int a, int b, int c) { + if (a<=c) { + return (a<=b && b<c); + } else { + return (a<=b || b<c); + } +} + +/* determine the center and slope of the line i..j. Assume i<j. Needs + "sum" components of p to be set. */ +static void pointslope(privpath_t *pp, int i, int j, dpoint_t *ctr, dpoint_t *dir) { + /* assume i<j */ + + int n = pp->len; + sums_t *sums = pp->sums; + + double x, y, x2, xy, y2; + double k; + double a, b, c, lambda2, l; + int r=0; /* rotations from i to j */ + + while (j>=n) { + j-=n; + r+=1; + } + while (i>=n) { + i-=n; + r-=1; + } + while (j<0) { + j+=n; + r-=1; + } + while (i<0) { + i+=n; + r+=1; + } + + x = sums[j+1].x-sums[i].x+r*sums[n].x; + y = sums[j+1].y-sums[i].y+r*sums[n].y; + x2 = sums[j+1].x2-sums[i].x2+r*sums[n].x2; + xy = sums[j+1].xy-sums[i].xy+r*sums[n].xy; + y2 = sums[j+1].y2-sums[i].y2+r*sums[n].y2; + k = j+1-i+r*n; + + ctr->x = x/k; + ctr->y = y/k; + + a = (x2-(double)x*x/k)/k; + b = (xy-(double)x*y/k)/k; + c = (y2-(double)y*y/k)/k; + + lambda2 = (a+c+sqrt((a-c)*(a-c)+4*b*b))/2; /* larger e.value */ + + /* now find e.vector for lambda2 */ + a -= lambda2; + c -= lambda2; + + if (fabs(a) >= fabs(c)) { + l = sqrt(a*a+b*b); + if (l!=0) { + dir->x = -b/l; + dir->y = a/l; + } + } else { + l = sqrt(c*c+b*b); + if (l!=0) { + dir->x = -c/l; + dir->y = b/l; + } + } + if (l==0) { + dir->x = dir->y = 0; /* sometimes this can happen when k=4: + the two eigenvalues coincide */ + } +} + +/* the type of (affine) quadratic forms, represented as symmetric 3x3 + matrices. The value of the quadratic form at a vector (x,y) is v^t + Q v, where v = (x,y,1)^t. */ +typedef double quadform_t[3][3]; + +/* Apply quadratic form Q to vector w = (w.x,w.y) */ +static inline double quadform(quadform_t Q, dpoint_t w) { + double v[3]; + int i, j; + double sum; + + v[0] = w.x; + v[1] = w.y; + v[2] = 1; + sum = 0.0; + + for (i=0; i<3; i++) { + for (j=0; j<3; j++) { + sum += v[i] * Q[i][j] * v[j]; + } + } + return sum; +} + +/* calculate p1 x p2 */ +static inline int xprod(point_t p1, point_t p2) { + return p1.x*p2.y - p1.y*p2.x; +} + +/* calculate (p1-p0)x(p3-p2) */ +static inline double cprod(dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) { + double x1, y1, x2, y2; + + x1 = p1.x - p0.x; + y1 = p1.y - p0.y; + x2 = p3.x - p2.x; + y2 = p3.y - p2.y; + + return x1*y2 - x2*y1; +} + +/* calculate (p1-p0)*(p2-p0) */ +static inline double iprod(dpoint_t p0, dpoint_t p1, dpoint_t p2) { + double x1, y1, x2, y2; + + x1 = p1.x - p0.x; + y1 = p1.y - p0.y; + x2 = p2.x - p0.x; + y2 = p2.y - p0.y; + + return x1*x2 + y1*y2; +} + +/* calculate (p1-p0)*(p3-p2) */ +static inline double iprod1(dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) { + double x1, y1, x2, y2; + + x1 = p1.x - p0.x; + y1 = p1.y - p0.y; + x2 = p3.x - p2.x; + y2 = p3.y - p2.y; + + return x1*x2 + y1*y2; +} + +/* calculate distance between two points */ +static inline double ddist(dpoint_t p, dpoint_t q) { + return sqrt(sq(p.x-q.x)+sq(p.y-q.y)); +} + +/* calculate point of a bezier curve */ +static inline dpoint_t bezier(double t, dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) { + double s = 1-t; + dpoint_t res; + + /* Note: a good optimizing compiler (such as gcc-3) reduces the + following to 16 multiplications, using common subexpression + elimination. */ + + res.x = s*s*s*p0.x + 3*(s*s*t)*p1.x + 3*(t*t*s)*p2.x + t*t*t*p3.x; + res.y = s*s*s*p0.y + 3*(s*s*t)*p1.y + 3*(t*t*s)*p2.y + t*t*t*p3.y; + + return res; +} + +/* calculate the point t in [0..1] on the (convex) bezier curve + (p0,p1,p2,p3) which is tangent to q1-q0. Return -1.0 if there is no + solution in [0..1]. */ +static double tangent(dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3, dpoint_t q0, dpoint_t q1) { + double A, B, C; /* (1-t)^2 A + 2(1-t)t B + t^2 C = 0 */ + double a, b, c; /* a t^2 + b t + c = 0 */ + double d, s, r1, r2; + + A = cprod(p0, p1, q0, q1); + B = cprod(p1, p2, q0, q1); + C = cprod(p2, p3, q0, q1); + + a = A - 2*B + C; + b = -2*A + 2*B; + c = A; + + d = b*b - 4*a*c; + + if (a==0 || d<0) { + return -1.0; + } + + s = sqrt(d); + + r1 = (-b + s) / (2 * a); + r2 = (-b - s) / (2 * a); + + if (r1 >= 0 && r1 <= 1) { + return r1; + } else if (r2 >= 0 && r2 <= 1) { + return r2; + } else { + return -1.0; + } +} + +/* ---------------------------------------------------------------------- */ +/* Preparation: fill in the sum* fields of a path (used for later + rapid summing). Return 0 on success, 1 with errno set on + failure. */ +static int calc_sums(privpath_t *pp) { + int i, x, y; + int n = pp->len; + + SAFE_CALLOC(pp->sums, pp->len+1, sums_t); + + /* origin */ + pp->x0 = pp->pt[0].x; + pp->y0 = pp->pt[0].y; + + /* preparatory computation for later fast summing */ + pp->sums[0].x2 = pp->sums[0].xy = pp->sums[0].y2 = pp->sums[0].x = pp->sums[0].y = 0; + for (i=0; i<n; i++) { + x = pp->pt[i].x - pp->x0; + y = pp->pt[i].y - pp->y0; + pp->sums[i+1].x = pp->sums[i].x + x; + pp->sums[i+1].y = pp->sums[i].y + y; + pp->sums[i+1].x2 = pp->sums[i].x2 + (double)x*x; + pp->sums[i+1].xy = pp->sums[i].xy + (double)x*y; + pp->sums[i+1].y2 = pp->sums[i].y2 + (double)y*y; + } + return 0; + + calloc_error: + return 1; +} + +/* ---------------------------------------------------------------------- */ +/* Stage 1: determine the straight subpaths (Sec. 2.2.1). Fill in the + "lon" component of a path object (based on pt/len). For each i, + lon[i] is the furthest index such that a straight line can be drawn + from i to lon[i]. Return 1 on error with errno set, else 0. */ + +/* this algorithm depends on the fact that the existence of straight + subpaths is a triplewise property. I.e., there exists a straight + line through squares i0,...,in iff there exists a straight line + through i,j,k, for all i0<=i<j<k<=in. (Proof?) */ + +/* this implementation of calc_lon is O(n^2). It replaces an older + O(n^3) version. A "constraint" means that future points must + satisfy xprod(constraint[0], cur) >= 0 and xprod(constraint[1], + cur) <= 0. */ + +/* Remark for Potrace 1.1: the current implementation of calc_lon is + more complex than the implementation found in Potrace 1.0, but it + is considerably faster. The introduction of the "nc" data structure + means that we only have to test the constraints for "corner" + points. On a typical input file, this speeds up the calc_lon + function by a factor of 31.2, thereby decreasing its time share + within the overall Potrace algorithm from 72.6% to 7.82%, and + speeding up the overall algorithm by a factor of 3.36. On another + input file, calc_lon was sped up by a factor of 6.7, decreasing its + time share from 51.4% to 13.61%, and speeding up the overall + algorithm by a factor of 1.78. In any case, the savings are + substantial. */ + +/* returns 0 on success, 1 on error with errno set */ +static int calc_lon(privpath_t *pp) { + point_t *pt = pp->pt; + int n = pp->len; + int i, j, k, k1; + int ct[4], dir; + point_t constraint[2]; + point_t cur; + point_t off; + int *pivk = NULL; /* pivk[n] */ + int *nc = NULL; /* nc[n]: next corner */ + point_t dk; /* direction of k-k1 */ + int a, b, c, d; + + SAFE_CALLOC(pivk, n, int); + SAFE_CALLOC(nc, n, int); + + /* initialize the nc data structure. Point from each point to the + furthest future point to which it is connected by a vertical or + horizontal segment. We take advantage of the fact that there is + always a direction change at 0 (due to the path decomposition + algorithm). But even if this were not so, there is no harm, as + in practice, correctness does not depend on the word "furthest" + above. */ + k = 0; + for (i=n-1; i>=0; i--) { + if (pt[i].x != pt[k].x && pt[i].y != pt[k].y) { + k = i+1; /* necessarily i<n-1 in this case */ + } + nc[i] = k; + } + + SAFE_CALLOC(pp->lon, n, int); + + /* determine pivot points: for each i, let pivk[i] be the furthest k + such that all j with i<j<k lie on a line connecting i,k. */ + + for (i=n-1; i>=0; i--) { + ct[0] = ct[1] = ct[2] = ct[3] = 0; + + /* keep track of "directions" that have occurred */ + dir = (3+3*(pt[mod(i+1,n)].x-pt[i].x)+(pt[mod(i+1,n)].y-pt[i].y))/2; + ct[dir]++; + + constraint[0].x = 0; + constraint[0].y = 0; + constraint[1].x = 0; + constraint[1].y = 0; + + /* find the next k such that no straight line from i to k */ + k = nc[i]; + k1 = i; + while (1) { + + dir = (3+3*sign(pt[k].x-pt[k1].x)+sign(pt[k].y-pt[k1].y))/2; + ct[dir]++; + + /* if all four "directions" have occurred, cut this path */ + if (ct[0] && ct[1] && ct[2] && ct[3]) { + pivk[i] = k1; + goto foundk; + } + + cur.x = pt[k].x - pt[i].x; + cur.y = pt[k].y - pt[i].y; + + /* see if current constraint is violated */ + if (xprod(constraint[0], cur) < 0 || xprod(constraint[1], cur) > 0) { + goto constraint_viol; + } + + /* else, update constraint */ + if (abs(cur.x) <= 1 && abs(cur.y) <= 1) { + /* no constraint */ + } else { + off.x = cur.x + ((cur.y>=0 && (cur.y>0 || cur.x<0)) ? 1 : -1); + off.y = cur.y + ((cur.x<=0 && (cur.x<0 || cur.y<0)) ? 1 : -1); + if (xprod(constraint[0], off) >= 0) { + constraint[0] = off; + } + off.x = cur.x + ((cur.y<=0 && (cur.y<0 || cur.x<0)) ? 1 : -1); + off.y = cur.y + ((cur.x>=0 && (cur.x>0 || cur.y<0)) ? 1 : -1); + if (xprod(constraint[1], off) <= 0) { + constraint[1] = off; + } + } + k1 = k; + k = nc[k1]; + if (!cyclic(k,i,k1)) { + break; + } + } + constraint_viol: + /* k1 was the last "corner" satisfying the current constraint, and + k is the first one violating it. We now need to find the last + point along k1..k which satisfied the constraint. */ + dk.x = sign(pt[k].x-pt[k1].x); + dk.y = sign(pt[k].y-pt[k1].y); + cur.x = pt[k1].x - pt[i].x; + cur.y = pt[k1].y - pt[i].y; + /* find largest integer j such that xprod(constraint[0], cur+j*dk) + >= 0 and xprod(constraint[1], cur+j*dk) <= 0. Use bilinearity + of xprod. */ + a = xprod(constraint[0], cur); + b = xprod(constraint[0], dk); + c = xprod(constraint[1], cur); + d = xprod(constraint[1], dk); + /* find largest integer j such that a+j*b>=0 and c+j*d<=0. This + can be solved with integer arithmetic. */ + j = INFTY; + if (b<0) { + j = floordiv(a,-b); + } + if (d>0) { + j = min(j, floordiv(-c,d)); + } + pivk[i] = mod(k1+j,n); + foundk: + ; + } /* for i */ + + /* clean up: for each i, let lon[i] be the largest k such that for + all i' with i<=i'<k, i'<k<=pivk[i']. */ + + j=pivk[n-1]; + pp->lon[n-1]=j; + for (i=n-2; i>=0; i--) { + if (cyclic(i+1,pivk[i],j)) { + j=pivk[i]; + } + pp->lon[i]=j; + } + + for (i=n-1; cyclic(mod(i+1,n),j,pp->lon[i]); i--) { + pp->lon[i] = j; + } + + free(pivk); + free(nc); + return 0; + + calloc_error: + free(pivk); + free(nc); + return 1; +} + + +/* ---------------------------------------------------------------------- */ +/* Stage 2: calculate the optimal polygon (Sec. 2.2.2-2.2.4). */ + +/* Auxiliary function: calculate the penalty of an edge from i to j in + the given path. This needs the "lon" and "sum*" data. */ + +static double penalty3(privpath_t *pp, int i, int j) { + int n = pp->len; + point_t *pt = pp->pt; + sums_t *sums = pp->sums; + + /* assume 0<=i<j<=n */ + double x, y, x2, xy, y2; + double k; + double a, b, c, s; + double px, py, ex, ey; + + int r = 0; /* rotations from i to j */ + + if (j>=n) { + j -= n; + r = 1; + } + + /* critical inner loop: the "if" gives a 4.6 percent speedup */ + if (r == 0) { + x = sums[j+1].x - sums[i].x; + y = sums[j+1].y - sums[i].y; + x2 = sums[j+1].x2 - sums[i].x2; + xy = sums[j+1].xy - sums[i].xy; + y2 = sums[j+1].y2 - sums[i].y2; + k = j+1 - i; + } else { + x = sums[j+1].x - sums[i].x + sums[n].x; + y = sums[j+1].y - sums[i].y + sums[n].y; + x2 = sums[j+1].x2 - sums[i].x2 + sums[n].x2; + xy = sums[j+1].xy - sums[i].xy + sums[n].xy; + y2 = sums[j+1].y2 - sums[i].y2 + sums[n].y2; + k = j+1 - i + n; + } + + px = (pt[i].x + pt[j].x) / 2.0 - pt[0].x; + py = (pt[i].y + pt[j].y) / 2.0 - pt[0].y; + ey = (pt[j].x - pt[i].x); + ex = -(pt[j].y - pt[i].y); + + a = ((x2 - 2*x*px) / k + px*px); + b = ((xy - x*py - y*px) / k + px*py); + c = ((y2 - 2*y*py) / k + py*py); + + s = ex*ex*a + 2*ex*ey*b + ey*ey*c; + + return sqrt(s); +} + +/* find the optimal polygon. Fill in the m and po components. Return 1 + on failure with errno set, else 0. Non-cyclic version: assumes i=0 + is in the polygon. Fixme: implement cyclic version. */ +static int bestpolygon(privpath_t *pp) +{ + int i, j, m, k; + int n = pp->len; + double *pen = NULL; /* pen[n+1]: penalty vector */ + int *prev = NULL; /* prev[n+1]: best path pointer vector */ + int *clip0 = NULL; /* clip0[n]: longest segment pointer, non-cyclic */ + int *clip1 = NULL; /* clip1[n+1]: backwards segment pointer, non-cyclic */ + int *seg0 = NULL; /* seg0[m+1]: forward segment bounds, m<=n */ + int *seg1 = NULL; /* seg1[m+1]: backward segment bounds, m<=n */ + double thispen; + double best; + int c; + + SAFE_CALLOC(pen, n+1, double); + SAFE_CALLOC(prev, n+1, int); + SAFE_CALLOC(clip0, n, int); + SAFE_CALLOC(clip1, n+1, int); + SAFE_CALLOC(seg0, n+1, int); + SAFE_CALLOC(seg1, n+1, int); + + /* calculate clipped paths */ + for (i=0; i<n; i++) { + c = mod(pp->lon[mod(i-1,n)]-1,n); + if (c == i) { + c = mod(i+1,n); + } + if (c < i) { + clip0[i] = n; + } else { + clip0[i] = c; + } + } + + /* calculate backwards path clipping, non-cyclic. j <= clip0[i] iff + clip1[j] <= i, for i,j=0..n. */ + j = 1; + for (i=0; i<n; i++) { + while (j <= clip0[i]) { + clip1[j] = i; + j++; + } + } + + /* calculate seg0[j] = longest path from 0 with j segments */ + i = 0; + for (j=0; i<n; j++) { + seg0[j] = i; + i = clip0[i]; + } + seg0[j] = n; + m = j; + + /* calculate seg1[j] = longest path to n with m-j segments */ + i = n; + for (j=m; j>0; j--) { + seg1[j] = i; + i = clip1[i]; + } + seg1[0] = 0; + + /* now find the shortest path with m segments, based on penalty3 */ + /* note: the outer 2 loops jointly have at most n iterations, thus + the worst-case behavior here is quadratic. In practice, it is + close to linear since the inner loop tends to be short. */ + pen[0]=0; + for (j=1; j<=m; j++) { + for (i=seg1[j]; i<=seg0[j]; i++) { + best = -1; + for (k=seg0[j-1]; k>=clip1[i]; k--) { + thispen = penalty3(pp, k, i) + pen[k]; + if (best < 0 || thispen < best) { + prev[i] = k; + best = thispen; + } + } + pen[i] = best; + } + } + + pp->m = m; + SAFE_CALLOC(pp->po, m, int); + + /* read off shortest path */ + for (i=n, j=m-1; i>0; j--) { + i = prev[i]; + pp->po[j] = i; + } + + free(pen); + free(prev); + free(clip0); + free(clip1); + free(seg0); + free(seg1); + return 0; + + calloc_error: + free(pen); + free(prev); + free(clip0); + free(clip1); + free(seg0); + free(seg1); + return 1; +} + +/* ---------------------------------------------------------------------- */ +/* Stage 3: vertex adjustment (Sec. 2.3.1). */ + +/* Adjust vertices of optimal polygon: calculate the intersection of + the two "optimal" line segments, then move it into the unit square + if it lies outside. Return 1 with errno set on error; 0 on + success. */ + +static int adjust_vertices(privpath_t *pp) { + int m = pp->m; + int *po = pp->po; + int n = pp->len; + point_t *pt = pp->pt; + int x0 = pp->x0; + int y0 = pp->y0; + + dpoint_t *ctr = NULL; /* ctr[m] */ + dpoint_t *dir = NULL; /* dir[m] */ + quadform_t *q = NULL; /* q[m] */ + double v[3]; + double d; + int i, j, k, l; + dpoint_t s; + int r; + + SAFE_CALLOC(ctr, m, dpoint_t); + SAFE_CALLOC(dir, m, dpoint_t); + SAFE_CALLOC(q, m, quadform_t); + + r = privcurve_init(&pp->curve, m); + if (r) { + goto calloc_error; + } + + /* calculate "optimal" point-slope representation for each line + segment */ + for (i=0; i<m; i++) { + j = po[mod(i+1,m)]; + j = mod(j-po[i],n)+po[i]; + pointslope(pp, po[i], j, &ctr[i], &dir[i]); + } + + /* represent each line segment as a singular quadratic form; the + distance of a point (x,y) from the line segment will be + (x,y,1)Q(x,y,1)^t, where Q=q[i]. */ + for (i=0; i<m; i++) { + d = sq(dir[i].x) + sq(dir[i].y); + if (d == 0.0) { + for (j=0; j<3; j++) { + for (k=0; k<3; k++) { + q[i][j][k] = 0; + } + } + } else { + v[0] = dir[i].y; + v[1] = -dir[i].x; + v[2] = - v[1] * ctr[i].y - v[0] * ctr[i].x; + for (l=0; l<3; l++) { + for (k=0; k<3; k++) { + q[i][l][k] = v[l] * v[k] / d; + } + } + } + } + + /* now calculate the "intersections" of consecutive segments. + Instead of using the actual intersection, we find the point + within a given unit square which minimizes the square distance to + the two lines. */ + for (i=0; i<m; i++) { + quadform_t Q; + dpoint_t w; + double dx, dy; + double det; + double min, cand; /* minimum and candidate for minimum of quad. form */ + double xmin, ymin; /* coordinates of minimum */ + int z; + + /* let s be the vertex, in coordinates relative to x0/y0 */ + s.x = pt[po[i]].x-x0; + s.y = pt[po[i]].y-y0; + + /* intersect segments i-1 and i */ + + j = mod(i-1,m); + + /* add quadratic forms */ + for (l=0; l<3; l++) { + for (k=0; k<3; k++) { + Q[l][k] = q[j][l][k] + q[i][l][k]; + } + } + + while(1) { + /* minimize the quadratic form Q on the unit square */ + /* find intersection */ + +#ifdef HAVE_GCC_LOOP_BUG + /* work around gcc bug #12243 */ + free(NULL); +#endif + + det = Q[0][0]*Q[1][1] - Q[0][1]*Q[1][0]; + if (det != 0.0) { + w.x = (-Q[0][2]*Q[1][1] + Q[1][2]*Q[0][1]) / det; + w.y = ( Q[0][2]*Q[1][0] - Q[1][2]*Q[0][0]) / det; + break; + } + + /* matrix is singular - lines are parallel. Add another, + orthogonal axis, through the center of the unit square */ + if (Q[0][0]>Q[1][1]) { + v[0] = -Q[0][1]; + v[1] = Q[0][0]; + } else if (Q[1][1]) { + v[0] = -Q[1][1]; + v[1] = Q[1][0]; + } else { + v[0] = 1; + v[1] = 0; + } + d = sq(v[0]) + sq(v[1]); + v[2] = - v[1] * s.y - v[0] * s.x; + for (l=0; l<3; l++) { + for (k=0; k<3; k++) { + Q[l][k] += v[l] * v[k] / d; + } + } + } + dx = fabs(w.x-s.x); + dy = fabs(w.y-s.y); + if (dx <= .5 && dy <= .5) { + pp->curve.vertex[i].x = w.x+x0; + pp->curve.vertex[i].y = w.y+y0; + continue; + } + + /* the minimum was not in the unit square; now minimize quadratic + on boundary of square */ + min = quadform(Q, s); + xmin = s.x; + ymin = s.y; + + if (Q[0][0] == 0.0) { + goto fixx; + } + for (z=0; z<2; z++) { /* value of the y-coordinate */ + w.y = s.y-0.5+z; + w.x = - (Q[0][1] * w.y + Q[0][2]) / Q[0][0]; + dx = fabs(w.x-s.x); + cand = quadform(Q, w); + if (dx <= .5 && cand < min) { + min = cand; + xmin = w.x; + ymin = w.y; + } + } + fixx: + if (Q[1][1] == 0.0) { + goto corners; + } + for (z=0; z<2; z++) { /* value of the x-coordinate */ + w.x = s.x-0.5+z; + w.y = - (Q[1][0] * w.x + Q[1][2]) / Q[1][1]; + dy = fabs(w.y-s.y); + cand = quadform(Q, w); + if (dy <= .5 && cand < min) { + min = cand; + xmin = w.x; + ymin = w.y; + } + } + corners: + /* check four corners */ + for (l=0; l<2; l++) { + for (k=0; k<2; k++) { + w.x = s.x-0.5+l; + w.y = s.y-0.5+k; + cand = quadform(Q, w); + if (cand < min) { + min = cand; + xmin = w.x; + ymin = w.y; + } + } + } + + pp->curve.vertex[i].x = xmin + x0; + pp->curve.vertex[i].y = ymin + y0; + continue; + } + + free(ctr); + free(dir); + free(q); + return 0; + + calloc_error: + free(ctr); + free(dir); + free(q); + return 1; +} + +/* ---------------------------------------------------------------------- */ +/* Stage 4: smoothing and corner analysis (Sec. 2.3.3) */ + +/* reverse orientation of a path */ +static void reverse(privcurve_t *curve) { + int m = curve->n; + int i, j; + dpoint_t tmp; + + for (i=0, j=m-1; i<j; i++, j--) { + tmp = curve->vertex[i]; + curve->vertex[i] = curve->vertex[j]; + curve->vertex[j] = tmp; + } +} + +/* Always succeeds */ +static void smooth(privcurve_t *curve, double alphamax) { + int m = curve->n; + + int i, j, k; + double dd, denom, alpha; + dpoint_t p2, p3, p4; + + /* examine each vertex and find its best fit */ + for (i=0; i<m; i++) { + j = mod(i+1, m); + k = mod(i+2, m); + p4 = interval(1/2.0, curve->vertex[k], curve->vertex[j]); + + denom = ddenom(curve->vertex[i], curve->vertex[k]); + if (denom != 0.0) { + dd = dpara(curve->vertex[i], curve->vertex[j], curve->vertex[k]) / denom; + dd = fabs(dd); + alpha = dd>1 ? (1 - 1.0/dd) : 0; + alpha = alpha / 0.75; + } else { + alpha = 4/3.0; + } + curve->alpha0[j] = alpha; /* remember "original" value of alpha */ + + if (alpha >= alphamax) { /* pointed corner */ + curve->tag[j] = POTRACE_CORNER; + curve->c[j][1] = curve->vertex[j]; + curve->c[j][2] = p4; + } else { + if (alpha < 0.55) { + alpha = 0.55; + } else if (alpha > 1) { + alpha = 1; + } + p2 = interval(.5+.5*alpha, curve->vertex[i], curve->vertex[j]); + p3 = interval(.5+.5*alpha, curve->vertex[k], curve->vertex[j]); + curve->tag[j] = POTRACE_CURVETO; + curve->c[j][0] = p2; + curve->c[j][1] = p3; + curve->c[j][2] = p4; + } + curve->alpha[j] = alpha; /* store the "cropped" value of alpha */ + curve->beta[j] = 0.5; + } + curve->alphacurve = 1; + + return; +} + +/* ---------------------------------------------------------------------- */ +/* Stage 5: Curve optimization (Sec. 2.4) */ + +/* a private type for the result of opti_penalty */ +struct opti_s { + double pen; /* penalty */ + dpoint_t c[2]; /* curve parameters */ + double t, s; /* curve parameters */ + double alpha; /* curve parameter */ +}; +typedef struct opti_s opti_t; + +/* calculate best fit from i+.5 to j+.5. Assume i<j (cyclically). + Return 0 and set badness and parameters (alpha, beta), if + possible. Return 1 if impossible. */ +static int opti_penalty(privpath_t *pp, int i, int j, opti_t *res, double opttolerance, int *convc, double *areac) { + int m = pp->curve.n; + int k, k1, k2, conv, i1; + double area, alpha, d, d1, d2; + dpoint_t p0, p1, p2, p3, pt; + double A, R, A1, A2, A3, A4; + double s, t; + + /* check convexity, corner-freeness, and maximum bend < 179 degrees */ + + if (i==j) { /* sanity - a full loop can never be an opticurve */ + return 1; + } + + k = i; + i1 = mod(i+1, m); + k1 = mod(k+1, m); + conv = convc[k1]; + if (conv == 0) { + return 1; + } + d = ddist(pp->curve.vertex[i], pp->curve.vertex[i1]); + for (k=k1; k!=j; k=k1) { + k1 = mod(k+1, m); + k2 = mod(k+2, m); + if (convc[k1] != conv) { + return 1; + } + if (sign(cprod(pp->curve.vertex[i], pp->curve.vertex[i1], pp->curve.vertex[k1], pp->curve.vertex[k2])) != conv) { + return 1; + } + if (iprod1(pp->curve.vertex[i], pp->curve.vertex[i1], pp->curve.vertex[k1], pp->curve.vertex[k2]) < d * ddist(pp->curve.vertex[k1], pp->curve.vertex[k2]) * COS179) { + return 1; + } + } + + /* the curve we're working in: */ + p0 = pp->curve.c[mod(i,m)][2]; + p1 = pp->curve.vertex[mod(i+1,m)]; + p2 = pp->curve.vertex[mod(j,m)]; + p3 = pp->curve.c[mod(j,m)][2]; + + /* determine its area */ + area = areac[j] - areac[i]; + area -= dpara(pp->curve.vertex[0], pp->curve.c[i][2], pp->curve.c[j][2])/2; + if (i>=j) { + area += areac[m]; + } + + /* find intersection o of p0p1 and p2p3. Let t,s such that o = + interval(t,p0,p1) = interval(s,p3,p2). Let A be the area of the + triangle (p0,o,p3). */ + + A1 = dpara(p0, p1, p2); + A2 = dpara(p0, p1, p3); + A3 = dpara(p0, p2, p3); + /* A4 = dpara(p1, p2, p3); */ + A4 = A1+A3-A2; + + if (A2 == A1) { /* this should never happen */ + return 1; + } + + t = A3/(A3-A4); + s = A2/(A2-A1); + A = A2 * t / 2.0; + + if (A == 0.0) { /* this should never happen */ + return 1; + } + + R = area / A; /* relative area */ + alpha = 2 - sqrt(4 - R / 0.3); /* overall alpha for p0-o-p3 curve */ + + res->c[0] = interval(t * alpha, p0, p1); + res->c[1] = interval(s * alpha, p3, p2); + res->alpha = alpha; + res->t = t; + res->s = s; + + p1 = res->c[0]; + p2 = res->c[1]; /* the proposed curve is now (p0,p1,p2,p3) */ + + res->pen = 0; + + /* calculate penalty */ + /* check tangency with edges */ + for (k=mod(i+1,m); k!=j; k=k1) { + k1 = mod(k+1,m); + t = tangent(p0, p1, p2, p3, pp->curve.vertex[k], pp->curve.vertex[k1]); + if (t<-.5) { + return 1; + } + pt = bezier(t, p0, p1, p2, p3); + d = ddist(pp->curve.vertex[k], pp->curve.vertex[k1]); + if (d == 0.0) { /* this should never happen */ + return 1; + } + d1 = dpara(pp->curve.vertex[k], pp->curve.vertex[k1], pt) / d; + if (fabs(d1) > opttolerance) { + return 1; + } + if (iprod(pp->curve.vertex[k], pp->curve.vertex[k1], pt) < 0 || iprod(pp->curve.vertex[k1], pp->curve.vertex[k], pt) < 0) { + return 1; + } + res->pen += sq(d1); + } + + /* check corners */ + for (k=i; k!=j; k=k1) { + k1 = mod(k+1,m); + t = tangent(p0, p1, p2, p3, pp->curve.c[k][2], pp->curve.c[k1][2]); + if (t<-.5) { + return 1; + } + pt = bezier(t, p0, p1, p2, p3); + d = ddist(pp->curve.c[k][2], pp->curve.c[k1][2]); + if (d == 0.0) { /* this should never happen */ + return 1; + } + d1 = dpara(pp->curve.c[k][2], pp->curve.c[k1][2], pt) / d; + d2 = dpara(pp->curve.c[k][2], pp->curve.c[k1][2], pp->curve.vertex[k1]) / d; + d2 *= 0.75 * pp->curve.alpha[k1]; + if (d2 < 0) { + d1 = -d1; + d2 = -d2; + } + if (d1 < d2 - opttolerance) { + return 1; + } + if (d1 < d2) { + res->pen += sq(d1 - d2); + } + } + + return 0; +} + +/* optimize the path p, replacing sequences of Bezier segments by a + single segment when possible. Return 0 on success, 1 with errno set + on failure. */ +static int opticurve(privpath_t *pp, double opttolerance) { + int m = pp->curve.n; + int *pt = NULL; /* pt[m+1] */ + double *pen = NULL; /* pen[m+1] */ + int *len = NULL; /* len[m+1] */ + opti_t *opt = NULL; /* opt[m+1] */ + int om; + int i,j,r; + opti_t o; + dpoint_t p0; + int i1; + double area; + double alpha; + double *s = NULL; + double *t = NULL; + + int *convc = NULL; /* conv[m]: pre-computed convexities */ + double *areac = NULL; /* cumarea[m+1]: cache for fast area computation */ + + SAFE_CALLOC(pt, m+1, int); + SAFE_CALLOC(pen, m+1, double); + SAFE_CALLOC(len, m+1, int); + SAFE_CALLOC(opt, m+1, opti_t); + SAFE_CALLOC(convc, m, int); + SAFE_CALLOC(areac, m+1, double); + + /* pre-calculate convexity: +1 = right turn, -1 = left turn, 0 = corner */ + for (i=0; i<m; i++) { + if (pp->curve.tag[i] == POTRACE_CURVETO) { + convc[i] = sign(dpara(pp->curve.vertex[mod(i-1,m)], pp->curve.vertex[i], pp->curve.vertex[mod(i+1,m)])); + } else { + convc[i] = 0; + } + } + + /* pre-calculate areas */ + area = 0.0; + areac[0] = 0.0; + p0 = pp->curve.vertex[0]; + for (i=0; i<m; i++) { + i1 = mod(i+1, m); + if (pp->curve.tag[i1] == POTRACE_CURVETO) { + alpha = pp->curve.alpha[i1]; + area += 0.3*alpha*(4-alpha)*dpara(pp->curve.c[i][2], pp->curve.vertex[i1], pp->curve.c[i1][2])/2; + area += dpara(p0, pp->curve.c[i][2], pp->curve.c[i1][2])/2; + } + areac[i+1] = area; + } + + pt[0] = -1; + pen[0] = 0; + len[0] = 0; + + /* Fixme: we always start from a fixed point -- should find the best + curve cyclically */ + + for (j=1; j<=m; j++) { + /* calculate best path from 0 to j */ + pt[j] = j-1; + pen[j] = pen[j-1]; + len[j] = len[j-1]+1; + + for (i=j-2; i>=0; i--) { + r = opti_penalty(pp, i, mod(j,m), &o, opttolerance, convc, areac); + if (r) { + break; + } + if (len[j] > len[i]+1 || (len[j] == len[i]+1 && pen[j] > pen[i] + o.pen)) { + pt[j] = i; + pen[j] = pen[i] + o.pen; + len[j] = len[i] + 1; + opt[j] = o; + } + } + } + om = len[m]; + r = privcurve_init(&pp->ocurve, om); + if (r) { + goto calloc_error; + } + SAFE_CALLOC(s, om, double); + SAFE_CALLOC(t, om, double); + + j = m; + for (i=om-1; i>=0; i--) { + if (pt[j]==j-1) { + pp->ocurve.tag[i] = pp->curve.tag[mod(j,m)]; + pp->ocurve.c[i][0] = pp->curve.c[mod(j,m)][0]; + pp->ocurve.c[i][1] = pp->curve.c[mod(j,m)][1]; + pp->ocurve.c[i][2] = pp->curve.c[mod(j,m)][2]; + pp->ocurve.vertex[i] = pp->curve.vertex[mod(j,m)]; + pp->ocurve.alpha[i] = pp->curve.alpha[mod(j,m)]; + pp->ocurve.alpha0[i] = pp->curve.alpha0[mod(j,m)]; + pp->ocurve.beta[i] = pp->curve.beta[mod(j,m)]; + s[i] = t[i] = 1.0; + } else { + pp->ocurve.tag[i] = POTRACE_CURVETO; + pp->ocurve.c[i][0] = opt[j].c[0]; + pp->ocurve.c[i][1] = opt[j].c[1]; + pp->ocurve.c[i][2] = pp->curve.c[mod(j,m)][2]; + pp->ocurve.vertex[i] = interval(opt[j].s, pp->curve.c[mod(j,m)][2], pp->curve.vertex[mod(j,m)]); + pp->ocurve.alpha[i] = opt[j].alpha; + pp->ocurve.alpha0[i] = opt[j].alpha; + s[i] = opt[j].s; + t[i] = opt[j].t; + } + j = pt[j]; + } + + /* calculate beta parameters */ + for (i=0; i<om; i++) { + i1 = mod(i+1,om); + pp->ocurve.beta[i] = s[i] / (s[i] + t[i1]); + } + pp->ocurve.alphacurve = 1; + + free(pt); + free(pen); + free(len); + free(opt); + free(s); + free(t); + free(convc); + free(areac); + return 0; + + calloc_error: + free(pt); + free(pen); + free(len); + free(opt); + free(s); + free(t); + free(convc); + free(areac); + return 1; +} + +/* ---------------------------------------------------------------------- */ + +#define TRY(x) if (x) goto try_error + +/* return 0 on success, 1 on error with errno set. */ +int process_path(path_t *plist, const potrace_param_t *param, progress_t *progress) { + path_t *p; + double nn = 0, cn = 0; + + if (progress->callback) { + /* precompute task size for progress estimates */ + nn = 0; + list_forall (p, plist) { + nn += p->priv->len; + } + cn = 0; + } + + /* call downstream function with each path */ + list_forall (p, plist) { + TRY(calc_sums(p->priv)); + TRY(calc_lon(p->priv)); + TRY(bestpolygon(p->priv)); + TRY(adjust_vertices(p->priv)); + if (p->sign == '-') { /* reverse orientation of negative paths */ + reverse(&p->priv->curve); + } + smooth(&p->priv->curve, param->alphamax); + if (param->opticurve) { + TRY(opticurve(p->priv, param->opttolerance)); + p->priv->fcurve = &p->priv->ocurve; + } else { + p->priv->fcurve = &p->priv->curve; + } + privcurve_to_curve(p->priv->fcurve, &p->curve); + + if (progress->callback) { + cn += p->priv->len; + progress_update(cn/nn, progress); + } + } + + progress_update(1.0, progress); + + return 0; + + try_error: + return 1; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.h new file mode 100644 index 00000000000..5976453353b --- /dev/null +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.h @@ -0,0 +1,15 @@ +/* Copyright (C) 2001-2017 Peter Selinger. + This file is part of Potrace. It is free software and it is covered + by the GNU General Public License. See the file COPYING for details. */ + + +#ifndef TRACE_H +#define TRACE_H + +#include "potracelib.h" +#include "progress.h" +#include "curve.h" + +int process_path(path_t *plist, const potrace_param_t *param, progress_t *progress); + +#endif /* TRACE_H */ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/Makefile.in index 112e5ee313a..e09defab1e7 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -156,7 +155,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in 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@ @@ -175,6 +176,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -231,9 +233,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.am index 386b805a403..2534baa1c85 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.am @@ -1,3 +1,4 @@ +if USE_BUNDLED_LIBS noinst_LIBRARIES = libwoff2.a libwoff2_a_SOURCES = \ include/woff2/decode.h \ @@ -25,10 +26,10 @@ libwoff2_a_SOURCES = \ src/woff2_enc.cc \ src/woff2_out.cc -EXTRA_DIST = LICENSE - AM_CXXFLAGS = -Wall -I$(srcdir)/include -I$(srcdir)/../brotli/include @CODE_COVERAGE_RULES@ +endif +EXTRA_DIST = LICENSE CLEANFILES = *.gcda *.gcno diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.in index 991de12dd3d..2074271ab7c 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -120,12 +119,25 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libwoff2_a_AR = $(AR) $(ARFLAGS) libwoff2_a_LIBADD = +am__libwoff2_a_SOURCES_DIST = include/woff2/decode.h \ + include/woff2/encode.h include/woff2/output.h \ + include/woff2/version.h src/buffer.h src/font.cc src/font.h \ + src/glyph.cc src/glyph.h src/normalize.cc src/normalize.h \ + src/port.h src/round.h src/store_bytes.h src/table_tags.cc \ + src/table_tags.h src/transform.cc src/transform.h \ + src/variable_length.cc src/variable_length.h \ + src/woff2_common.cc src/woff2_common.h src/woff2_enc.cc \ + src/woff2_out.cc am__dirstamp = $(am__leading_dot)dirstamp -am_libwoff2_a_OBJECTS = src/font.$(OBJEXT) src/glyph.$(OBJEXT) \ - src/normalize.$(OBJEXT) src/table_tags.$(OBJEXT) \ - src/transform.$(OBJEXT) src/variable_length.$(OBJEXT) \ - src/woff2_common.$(OBJEXT) src/woff2_enc.$(OBJEXT) \ - src/woff2_out.$(OBJEXT) +@USE_BUNDLED_LIBS_TRUE@am_libwoff2_a_OBJECTS = src/font.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/glyph.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/normalize.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/table_tags.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/transform.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/variable_length.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_common.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_enc.$(OBJEXT) \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_out.$(OBJEXT) libwoff2_a_OBJECTS = $(am_libwoff2_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -188,7 +200,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libwoff2_a_SOURCES) -DIST_SOURCES = $(libwoff2_a_SOURCES) +DIST_SOURCES = $(am__libwoff2_a_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -218,7 +230,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ 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@ @@ -237,6 +251,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -293,9 +308,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -360,35 +372,35 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -noinst_LIBRARIES = libwoff2.a -libwoff2_a_SOURCES = \ - include/woff2/decode.h \ - include/woff2/encode.h \ - include/woff2/output.h \ - include/woff2/version.h \ - src/buffer.h \ - src/font.cc \ - src/font.h \ - src/glyph.cc \ - src/glyph.h \ - src/normalize.cc \ - src/normalize.h \ - src/port.h \ - src/round.h \ - src/store_bytes.h \ - src/table_tags.cc \ - src/table_tags.h \ - src/transform.cc \ - src/transform.h \ - src/variable_length.cc \ - src/variable_length.h \ - src/woff2_common.cc \ - src/woff2_common.h \ - src/woff2_enc.cc \ - src/woff2_out.cc - +@USE_BUNDLED_LIBS_TRUE@noinst_LIBRARIES = libwoff2.a +@USE_BUNDLED_LIBS_TRUE@libwoff2_a_SOURCES = \ +@USE_BUNDLED_LIBS_TRUE@ include/woff2/decode.h \ +@USE_BUNDLED_LIBS_TRUE@ include/woff2/encode.h \ +@USE_BUNDLED_LIBS_TRUE@ include/woff2/output.h \ +@USE_BUNDLED_LIBS_TRUE@ include/woff2/version.h \ +@USE_BUNDLED_LIBS_TRUE@ src/buffer.h \ +@USE_BUNDLED_LIBS_TRUE@ src/font.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/font.h \ +@USE_BUNDLED_LIBS_TRUE@ src/glyph.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/glyph.h \ +@USE_BUNDLED_LIBS_TRUE@ src/normalize.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/normalize.h \ +@USE_BUNDLED_LIBS_TRUE@ src/port.h \ +@USE_BUNDLED_LIBS_TRUE@ src/round.h \ +@USE_BUNDLED_LIBS_TRUE@ src/store_bytes.h \ +@USE_BUNDLED_LIBS_TRUE@ src/table_tags.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/table_tags.h \ +@USE_BUNDLED_LIBS_TRUE@ src/transform.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/transform.h \ +@USE_BUNDLED_LIBS_TRUE@ src/variable_length.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/variable_length.h \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_common.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_common.h \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_enc.cc \ +@USE_BUNDLED_LIBS_TRUE@ src/woff2_out.cc + +@USE_BUNDLED_LIBS_TRUE@AM_CXXFLAGS = -Wall -I$(srcdir)/include -I$(srcdir)/../brotli/include EXTRA_DIST = LICENSE -AM_CXXFLAGS = -Wall -I$(srcdir)/include -I$(srcdir)/../brotli/include CLEANFILES = *.gcda *.gcno all: all-am @@ -735,7 +747,7 @@ uninstall-am: .PRECIOUS: Makefile -@CODE_COVERAGE_RULES@ +@USE_BUNDLED_LIBS_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. diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.am index df0a4c53238..8f1b340c5c6 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.am @@ -1,10 +1,13 @@ +if USE_BUNDLED_LIBS noinst_LIBRARIES = libxxhash.a + libxxhash_a_SOURCES = xxhash.c xxhash.h AM_CXXFLAGS = -Wall xxhash.c: xxhash.h @CODE_COVERAGE_RULES@ +endif CLEANFILES = *.gcda *.gcno diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.in index 944ebf43b39..9a63e23e912 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.in @@ -95,7 +95,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -120,7 +119,8 @@ am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libxxhash_a_AR = $(AR) $(ARFLAGS) libxxhash_a_LIBADD = -am_libxxhash_a_OBJECTS = xxhash.$(OBJEXT) +am__libxxhash_a_SOURCES_DIST = xxhash.c xxhash.h +@USE_BUNDLED_LIBS_TRUE@am_libxxhash_a_OBJECTS = xxhash.$(OBJEXT) libxxhash_a_OBJECTS = $(am_libxxhash_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -162,7 +162,7 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libxxhash_a_SOURCES) -DIST_SOURCES = $(libxxhash_a_SOURCES) +DIST_SOURCES = $(am__libxxhash_a_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -192,7 +192,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in \ 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@ @@ -211,6 +213,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -267,9 +270,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -334,9 +334,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -noinst_LIBRARIES = libxxhash.a -libxxhash_a_SOURCES = xxhash.c xxhash.h -AM_CXXFLAGS = -Wall +@USE_BUNDLED_LIBS_TRUE@noinst_LIBRARIES = libxxhash.a +@USE_BUNDLED_LIBS_TRUE@libxxhash_a_SOURCES = xxhash.c xxhash.h +@USE_BUNDLED_LIBS_TRUE@AM_CXXFLAGS = -Wall CLEANFILES = *.gcda *.gcno all: all-am @@ -634,9 +634,9 @@ uninstall-am: .PRECIOUS: Makefile -xxhash.c: xxhash.h +@USE_BUNDLED_LIBS_TRUE@xxhash.c: xxhash.h -@CODE_COVERAGE_RULES@ +@USE_BUNDLED_LIBS_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. diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp index f3fc8c7d37c..82b9ee0dade 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp @@ -21,21 +21,19 @@ #ifndef BASICDVIREADER_HPP #define BASICDVIREADER_HPP +#include "Matrix.hpp" #include "MessageException.hpp" #include "StreamReader.hpp" -struct DVIException : public MessageException -{ +struct DVIException : public MessageException { explicit DVIException (const std::string &msg) : MessageException(msg) {} }; -struct InvalidDVIFileException : public DVIException -{ +struct InvalidDVIFileException : public DVIException { explicit InvalidDVIFileException (const std::string &msg) : DVIException(msg) {} }; -class Matrix; /** This class provides the basic functionality to read a DVI file. * It just skips all DVI commands and apply any semantic to it. The latter must @@ -44,8 +42,7 @@ class Matrix; * require to read and evaluate the correct portion of data from the DVI stream. * Since the DVI commands are almost skipped by advancing the file pointer, * running through a DVI file is pretty fast. */ -class BasicDVIReader : public StreamReader -{ +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}; @@ -62,7 +59,7 @@ class BasicDVIReader : public StreamReader virtual void translateToX (double x) {} virtual void translateToY (double y) {} virtual int stackDepth () const {return 0;} - virtual void getPageTransformation (Matrix &matrix) const {} + virtual Matrix getPageTransformation () const {return Matrix(1);} virtual unsigned currentPageNumber () const {return 0;} protected: diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp index ebdbd485d6a..65e2405eae5 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp @@ -257,6 +257,8 @@ ostream& BoundingBox::write (ostream &os) const { os << '(' << _ulx << ", " << _uly << ", " << _lrx << ", " << _lry << ')'; if (!_valid) os << " (invalid)"; + else if (_locked) + os << " (locked)"; return os; } diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp index 79744656f3a..9a0ff50bf82 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp @@ -187,9 +187,8 @@ void DVIToSVG::leaveEndPage (unsigned) { // set bounding box and apply page transformations BoundingBox bbox = _actions->bbox(); // bounding box derived from the DVI commands executed if (_bboxFormatString == "min" || _bboxFormatString == "preview" || _bboxFormatString == "papersize") { - Matrix matrix; - getPageTransformation(matrix); - bbox.transform(matrix); + bbox.unlock(); + bbox.transform(getPageTransformation()); } else if (_bboxFormatString == "dvi") { // center page content @@ -216,9 +215,7 @@ void DVIToSVG::leaveEndPage (unsigned) { vector<Length> lengths = BoundingBox::extractLengths(_bboxFormatString); if (lengths.size() == 1 || lengths.size() == 2) { // relative box size? // apply the page transformation and adjust the bbox afterwards - Matrix matrix; - getPageTransformation(matrix); - bbox.transform(matrix); + bbox.transform(getPageTransformation()); } bbox.set(lengths); } @@ -242,25 +239,24 @@ void DVIToSVG::leaveEndPage (unsigned) { } -void DVIToSVG::getPageTransformation(Matrix &matrix) const { - if (_transCmds.empty()) - matrix.set(1); // unity matrix - else { +Matrix DVIToSVG::getPageTransformation () const { + Matrix matrix(1); // unity matrix + if (!_transCmds.empty()) { Calculator calc; if (_actions) { - const double bp2pt = 72.27/72; + const double bp2pt = (1_bp).pt(); BoundingBox &bbox = _actions->bbox(); calc.setVariable("ux", bbox.minX()*bp2pt); calc.setVariable("uy", bbox.minY()*bp2pt); calc.setVariable("w", bbox.width()*bp2pt); calc.setVariable("h", bbox.height()*bp2pt); } - calc.setVariable("pt", 1); - calc.setVariable("in", 72.27); - calc.setVariable("cm", 72.27/2.54); - calc.setVariable("mm", 72.27/25.4); + // add constants for length units to calculator + for (auto unit : Length::getUnits()) + calc.setVariable(unit.first, Length(1, unit.second).pt()); matrix.set(_transCmds, calc); } + return matrix; } diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp index 5b5c619be02..3c9100a0ec7 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp @@ -27,7 +27,6 @@ #include "SVGTree.hpp" struct DVIActions; -class Matrix; struct SVGOutputBase; class DVIToSVG : public DVIReader { @@ -36,7 +35,7 @@ class DVIToSVG : public DVIReader { void convert (const std::string &range, std::pair<int,int> *pageinfo=0); void setPageSize (const std::string &format) {_bboxFormatString = format;} void setPageTransformation (const std::string &cmds) {_transCmds = cmds;} - void getPageTransformation (Matrix &matrix) const override; + Matrix getPageTransformation () const override; void translateToX (double x) override {_tx = x-dviState().h-_tx;} void translateToY (double y) override {_ty = y-dviState().v-_ty;} double getXPos() const override {return dviState().h+_tx;} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp index d9af5936bc5..efe43be851f 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp @@ -228,8 +228,7 @@ void DVIToSVGActions::beginPage (unsigned pageno, const vector<int32_t>&) { /** This method is called when an "end of page (eop)" command was found in the DVI file. */ void DVIToSVGActions::endPage (unsigned pageno) { SpecialManager::instance().notifyEndPage(pageno, *this); - Matrix matrix; - _dvireader->getPageTransformation(matrix); + Matrix matrix = _dvireader->getPageTransformation(); _svg.transformPage(matrix); if (_bgcolor != Color::TRANSPARENT) { // create a rectangle filled with the background color diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp index 8b3ef317759..7d46fb7b10e 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp @@ -50,7 +50,7 @@ class DVIToSVGActions : public DVIActions, public SpecialActions { void setColor (const Color &color) override {_svg.setColor(color);} void setMatrix (const Matrix &m) override {_svg.setMatrix(m);} const Matrix& getMatrix () const override {return _svg.getMatrix();} - void getPageTransform (Matrix &matrix) const override {_dvireader->getPageTransformation(matrix);} + Matrix getPageTransformation () const override {return _dvireader->getPageTransformation();} Color getColor () const override {return _svg.getColor();} int getDVIStackDepth() const override {return _dvireader->stackDepth();} unsigned getCurrentPageNumber() const override {return _dvireader->currentPageNumber();} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp index 8e7dd29f9b2..fc3ff883666 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp @@ -24,9 +24,13 @@ #include "EPSFile.hpp" #include "ImageToSVG.hpp" +class PsSpecialHandler; + class EPSToSVG : public ImageToSVG { public: EPSToSVG (const std::string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) {} + bool isSinglePageFormat() const override {return true;} + int totalPageCount() override {return 1;} protected: std::string imageFormat () const override {return "EPS";} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp index 405a6f2da21..649ea5ea999 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp @@ -63,9 +63,6 @@ FileFinder::FileFinder () { kpse_set_program_enabled(kpse_tfm_format, 1, kpse_src_env); kpse_set_program_enabled(kpse_mf_format, 1, kpse_src_env); kpse_make_tex_discard_errors = true; // suppress messages from mktexFOO tools -#ifdef TEXLIVEWIN32 - texlive_gs_init(); -#endif #endif } diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp index f7fe431cf16..638689f6b57 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp @@ -78,14 +78,6 @@ bool FilePath::Directory::operator == (const Directory &dir) const { } -/** Constructs a FilePath object from a given path. Relative paths are - * relative to the current working directory. - * @param[in] path absolute or relative path to a file or directory */ -FilePath::FilePath (const string &path) { - init(path, !FileSystem::isDirectory(path), FileSystem::getcwd()); -} - - /** Constructs a FilePath object. * @param[in] path absolute or relative path to a file or directory * @param[in] isfile true if 'path' references a file, false if a directory is referenced @@ -95,11 +87,20 @@ FilePath::FilePath (const string &path, bool isfile, const string ¤t_dir) } +/** Assigns a new path. Relative paths are relative to the current working directory. + * @param[in] path absolute or relative path to a file or directory */ +void FilePath::set(const string &path) { + init(path, !FileSystem::isDirectory(path), FileSystem::getcwd()); +} + + /** Initializes a FilePath object. This method should be called by the constructors only. * @param[in] path absolute or relative path to a file or directory * @param[in] isfile true if 'path' references a file, false if a directory is referenced * @param[in] current_dir if 'path' is a relative path expression it will be related to 'current_dir' */ void FilePath::init (string path, bool isfile, string current_dir) { + _dirs.clear(); + _fname.clear(); single_slashes(path); single_slashes(current_dir); #ifdef _WIN32 diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp index 385e1d2fb4b..a1e59a5db36 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp @@ -39,9 +39,10 @@ class FilePath { }; public: - FilePath (const std::string &path); + FilePath (const std::string &path) {set(path);} FilePath (const std::string &path, bool isfile) : FilePath(path, isfile, "") {} FilePath (const std::string &path, bool isfile, const std::string ¤t_dir); + void set (const std::string &path); std::string absolute (bool with_filename=true) const; std::string relative (std::string reldir="", bool with_filename=true) const; std::string basename () const; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp index dab7175e4fd..cbb3589efc8 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp @@ -19,7 +19,9 @@ *************************************************************************/ #include <config.h> +#include "FilePath.hpp" #include "Ghostscript.hpp" +#include "utility.hpp" #if !defined(DISABLE_GS) #include <cstring> #include <iomanip> @@ -77,7 +79,27 @@ static string get_path_from_registry () { #endif // RRF_RT_REG_SZ return ""; } -#endif // _WIN32 +#endif // _WIN32 + +#if defined(_WIN32) && !defined(_WIN64) +static string get_gsdll32 () { + string pathstr; +#if defined(TEXLIVEWIN32) + char exepath[256]; + if (GetModuleFileNameA(NULL, exepath, 256)) { + FilePath path(exepath); + path.set(path.absolute(false)+"/../../tlpkg/tlgs"); + pathstr = util::replace(path.absolute(false)+"/", "/", "\\"); + string envvar = "GS_LIB="; + for (string dirs : {"lib", "fonts", "Resource\\Init", "Resource", "kanji"}) + envvar += pathstr+dirs+";"; + _putenv(envvar.c_str()); + pathstr += "bin\\"; + } +#endif + return pathstr+"gsdll32.dll"; +} +#endif // _WIN32 && !_WIN64 /** Try to detect name of the Ghostscript shared library depending on the user settings. @@ -101,11 +123,11 @@ static string get_libgs (const string &fname) { string gsdll_path = get_path_from_registry(); if (!gsdll_path.empty()) return gsdll_path; -#endif +#endif //_WIN32 #if defined(_WIN64) return "gsdll64.dll"; #elif defined(_WIN32) - return "gsdll32.dll"; + return get_gsdll32(); #else // try to find libgs.so.X on the user's system const int abi_min=7, abi_max=9; // supported libgs ABI versions diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp index 72c134d5a4e..4a14603a996 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp @@ -21,9 +21,11 @@ #include <config.h> #include <fstream> #include <sstream> +#include "Calculator.hpp" #include "ImageToSVG.hpp" #include "Message.hpp" #include "MessageException.hpp" +#include "PageRanges.hpp" #include "PsSpecialHandler.hpp" #include "SVGOutput.hpp" #include "System.hpp" @@ -33,17 +35,27 @@ using namespace std; -void ImageToSVG::convert () { -#ifndef HAVE_LIBGS - if (!Ghostscript().available()) - throw MessageException("Ghostscript is required to process "+imageFormat()+" files"); +void ImageToSVG::checkGSAndFileFormat () { + if (!_haveGS) { +#ifdef HAVE_LIBGS + _haveGS = true; +#else + _haveGS = Ghostscript().available(); #endif - if (!imageIsValid()) - throw PSException("invalid "+imageFormat()+" file"); + if (!_haveGS) + throw MessageException("Ghostscript is required to process "+imageFormat()+" files"); + if (!imageIsValid()) + throw MessageException("invalid "+imageFormat()+" file"); + } +} + +void ImageToSVG::convert (int pageno) { + checkGSAndFileFormat(); BoundingBox bbox = imageBBox(); if (bbox.valid() && (bbox.width() == 0 || bbox.height() == 0)) Message::wstream(true) << "bounding box of " << imageFormat() << " file is empty\n"; + Message::mstream().indent(0); Message::mstream(false, Message::MC_PAGE_NUMBER) << "processing " << imageFormat() << " file\n"; Message::mstream().indent(1); _svg.newPage(1); @@ -54,21 +66,25 @@ void ImageToSVG::convert () { "lly=" << bbox.minY() << " " "urx=" << bbox.maxX() << " " "ury=" << bbox.maxY(); + if (!isSinglePageFormat()) + ss << " page=" << pageno; try { - PsSpecialHandler pshandler; - pshandler.process(psSpecialCmd(), ss, *this); + _psHandler.process(psSpecialCmd(), ss, *this); } catch (...) { progress(0); // remove progress message throw; } progress(0); + Matrix matrix = getUserMatrix(_bbox); // output SVG file _svg.removeRedundantElements(); + _svg.transformPage(matrix); + _bbox.transform(matrix); _svg.setBBox(_bbox); _svg.appendToDoc(util::make_unique<XMLCommentNode>(" This file was generated by dvisvgm " + string(PROGRAM_VERSION) + " ")); - bool success = _svg.write(_out.getPageStream(1, 1)); - string svgfname = _out.filename(1, 1); + bool success = _svg.write(_out.getPageStream(pageno, totalPageCount())); + string svgfname = _out.filename(pageno, totalPageCount()); if (svgfname.empty()) svgfname = "<stdout>"; if (!success) @@ -82,6 +98,49 @@ void ImageToSVG::convert () { " x " << XMLString(_bbox.height()*bp2mm) << "mm)\n"; Message::mstream(false, Message::MC_PAGE_WRITTEN) << "output written to " << svgfname << '\n'; } + _svg.reset(); +} + + +void ImageToSVG::convert (int firstPage, int lastPage, pair<int,int> *pageinfo) { + checkGSAndFileFormat(); + int pageCount = 1; // number of pages converted + if (isSinglePageFormat()) + convert(1); + else { + if (firstPage > lastPage) + swap(firstPage, lastPage); + firstPage = max(1, firstPage); + if (firstPage > totalPageCount()) + pageCount = 0; + else { + lastPage = min(totalPageCount(), lastPage); + pageCount = lastPage-firstPage+1; + for (int i=firstPage; i <= lastPage; i++) + convert(i); + } + } + if (pageinfo) { + pageinfo->first = pageCount; + pageinfo->second = totalPageCount(); + } +} + + +void ImageToSVG::convert (const std::string &rangestr, pair<int,int> *pageinfo) { + checkGSAndFileFormat(); + PageRanges ranges; + if (!ranges.parse(rangestr, totalPageCount())) + throw MessageException("invalid page range format"); + + int pageCount=0; // number of pages converted + for (const auto &range : ranges) { + convert(range.first, range.second, pageinfo); + if (pageinfo) + pageCount += pageinfo->first; + } + if (pageinfo) + pageinfo->first = pageCount; } @@ -116,3 +175,24 @@ void ImageToSVG::progress (const char *id) { time = System::time(); } } + + +/** Returns the matrix describing the graphics transformations + * given by the user in terms of transformation commands. + * @param[in] bbox bounding box of the graphics to transform */ +Matrix ImageToSVG::getUserMatrix (const BoundingBox &bbox) const { + Matrix matrix(1); + if (!_transCmds.empty()) { + const double bp2pt = (1_bp).pt(); + Calculator calc; + calc.setVariable("ux", bbox.minX()*bp2pt); + calc.setVariable("uy", bbox.minY()*bp2pt); + calc.setVariable("w", bbox.width()*bp2pt); + calc.setVariable("h", bbox.height()*bp2pt); + // add constants for length units to calculator + for (auto unit : Length::getUnits()) + calc.setVariable(unit.first, Length(1, unit.second).pt()); + matrix.set(_transCmds, calc); + } + return matrix; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp index a9424af38fb..5ff9e407bae 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp @@ -24,6 +24,7 @@ #include <istream> #include <memory> #include <string> +#include "PsSpecialHandler.hpp" #include "SpecialActions.hpp" #include "SVGTree.hpp" @@ -33,12 +34,19 @@ class ImageToSVG : protected SpecialActions { public: ImageToSVG (const std::string &fname, SVGOutputBase &out) : _fname(fname), _out(out) {} virtual ~ImageToSVG () =default; - void convert (); - void setTransformation (const Matrix &m); - void setPageSize (const std::string &name); + void convert (int pageno); + void convert (int firstPage, int lastPage, std::pair<int,int> *pageinfo); + void convert (const std::string &rangestr, std::pair<int,int> *pageinfo); + void setPageTransformation (const std::string &transCmds) {_transCmds = transCmds;} +// void setPageSize (const std::string &name); std::string filename () const {return _fname;} + PSInterpreter& psInterpreter () {return _psHandler.psInterpreter();} + virtual bool isSinglePageFormat () const =0; + virtual int totalPageCount () =0; protected: + void checkGSAndFileFormat (); + Matrix getUserMatrix (const BoundingBox &bbox) const; virtual std::string imageFormat () const =0; virtual bool imageIsValid () const =0; virtual BoundingBox imageBBox () const =0; @@ -53,7 +61,6 @@ class ImageToSVG : protected SpecialActions { Color getColor () const override {return _svg.getColor();} void setMatrix (const Matrix &m) override {_svg.setMatrix(m);} const Matrix& getMatrix () const override {return _svg.getMatrix();} - void getPageTransform (Matrix &matrix) const override {} void setBgColor (const Color &color) override {} void appendToPage(std::unique_ptr<XMLNode> &&node) override {_svg.appendToPage(std::move(node));} void appendToDefs(std::unique_ptr<XMLNode> &&node) override {_svg.appendToDefs(std::move(node));} @@ -75,6 +82,9 @@ class ImageToSVG : protected SpecialActions { SVGOutputBase &_out; double _x=0, _y=0; BoundingBox _bbox; + PsSpecialHandler _psHandler; + bool _haveGS=false; ///< true if Ghostscript is available + std::string _transCmds; ///< transformation commands }; #endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp index f4c9d6638d0..aaafd6aa68e 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp @@ -139,3 +139,19 @@ void Length::set (double val, string unitstr) { throw UnitException(string("invalid length unit: ")+unitstr); set(val, stringToUnit(unitstr)); } + + +map<string,Length::Unit> Length::getUnits () { + map<string,Length::Unit> units = { + {"pt", Unit::PT}, + {"bp", Unit::BP}, + {"in", Unit::IN}, + {"cm", Unit::CM}, + {"mm", Unit::MM}, + {"pc", Unit::PC}, + {"dd", Unit::DD}, + {"cc", Unit::CC}, + {"sp", Unit::SP}, + }; + return units; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp index f606dab4549..ef47b854a10 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp @@ -21,7 +21,8 @@ #ifndef LENGTH_HPP #define LENGTH_HPP -#include <string> +#include <map> +#include <vector> #include "MessageException.hpp" #ifdef IN @@ -57,9 +58,12 @@ class Length { double sp () const {return _pt*pt2sp;} double get (Unit unit) const; std::string toString (Unit unit) const; + bool operator == (Length len) const {return _pt == len._pt;} + bool operator != (Length len) const {return _pt != len._pt;} static Unit stringToUnit (const std::string &unitstr); static std::string unitToString (Unit unit); + static std::map<std::string,Unit> getUnits (); public: static constexpr double pt2in = 1.0/72.27; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am index e073594a218..cd668737062 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am @@ -12,19 +12,34 @@ dvisvgm_SOURCES = \ dvisvgm_LDADD = \ $(noinst_LIBRARIES) \ - ../libs/clipper/libclipper.a \ + ../libs/clipper/libclipper.a + +if USE_BUNDLED_LIBS +dvisvgm_LDADD += \ + ../libs/potrace/libpotrace.a \ ../libs/xxHash/libxxhash.a +else +dvisvgm_LDADD += \ + $(POTRACE_LIBS) \ + $(XXHASH_LIBS) +endif if ENABLE_WOFF +if USE_BUNDLED_LIBS dvisvgm_LDADD += \ ../libs/ff-woff/libfontforge.a \ ../libs/woff2/libwoff2.a \ ../libs/brotli/libbrotli.a +else +dvisvgm_LDADD += \ + ../libs/ff-woff/libfontforge.a \ + $(WOFF2_LIBS) \ + $(BROTLI_LIBS) +endif endif dvisvgm_LDADD += \ $(KPATHSEA_LIBS) \ - $(POTRACE_LIBS) \ $(FREETYPE2_LIBS) \ $(FONTFORGE_LIBS) \ $(ZLIB_LIBS) \ @@ -257,12 +272,22 @@ AM_CFLAGS = $(WARNING_CFLAGS) \ $(ZLIB_INCLUDES) \ $(CODE_COVERAGE_CFLAGS) -AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor \ +AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor -Wno-mismatched-tags \ -I$(dvisvgm_srcdir)/libs/clipper \ - -I$(dvisvgm_srcdir)/libs/variant/include \ + -I$(dvisvgm_srcdir)/libs/variant/include + +if USE_BUNDLED_LIBS +AM_CXXFLAGS += \ + -I$(dvisvgm_srcdir)/libs/potrace \ -I$(dvisvgm_srcdir)/libs/xxHash +else +AM_CXXFLAGS += \ + $(POTRACE_CFLAGS) \ + $(XXHASH_CFLAGS) +endif AM_LDFLAGS = \ + $(KPSE_LIBS) \ $(CODE_COVERAGE_LDFLAGS) if ENABLE_WOFF @@ -270,10 +295,17 @@ AM_CFLAGS += \ -I$(dvisvgm_srcdir)/libs/ff-woff/fontforge \ -I$(dvisvgm_srcdir)/libs/ff-woff/inc +AM_CXXFLAGS += $(TTFAUTOHINT_CFLAGS) + +if USE_BUNDLED_LIBS AM_CXXFLAGS += \ - $(TTFAUTOHINT_CFLAGS) \ -I$(dvisvgm_srcdir)/libs/brotli/include \ -I$(dvisvgm_srcdir)/libs/woff2/include +else +AM_CXXFLAGS += \ + $(BROTLI_CFLAGS) \ + $(WOFF2_CFLAGS) +endif AM_LDFLAGS += $(TTFAUTOHINT_LIBS) endif @@ -312,8 +344,6 @@ CLEANFILES = *.gcda *.gcno ## Rebuild libkpathsea @KPATHSEA_RULE@ -## Rebuild libpotrace -@POTRACE_RULE@ ## Rebuild libfreetype @FREETYPE2_RULE@ ## Rebuild libz diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in index f1f546553f9..f886c02f8c6 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in @@ -90,23 +90,48 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = dvisvgm$(EXEEXT) -@ENABLE_WOFF_TRUE@am__append_1 = \ -@ENABLE_WOFF_TRUE@ ../libs/ff-woff/libfontforge.a \ -@ENABLE_WOFF_TRUE@ ../libs/woff2/libwoff2.a \ -@ENABLE_WOFF_TRUE@ ../libs/brotli/libbrotli.a - -@ENABLE_WOFF_TRUE@am__append_2 = ffwrapper.c ffwrapper.h -@ENABLE_WOFF_TRUE@am__append_3 = \ +@USE_BUNDLED_LIBS_TRUE@am__append_1 = \ +@USE_BUNDLED_LIBS_TRUE@ ../libs/potrace/libpotrace.a \ +@USE_BUNDLED_LIBS_TRUE@ ../libs/xxHash/libxxhash.a + +@USE_BUNDLED_LIBS_FALSE@am__append_2 = \ +@USE_BUNDLED_LIBS_FALSE@ $(POTRACE_LIBS) \ +@USE_BUNDLED_LIBS_FALSE@ $(XXHASH_LIBS) + +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@am__append_3 = \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@ ../libs/ff-woff/libfontforge.a \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@ ../libs/woff2/libwoff2.a \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@ ../libs/brotli/libbrotli.a + +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__append_4 = \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ ../libs/ff-woff/libfontforge.a \ +@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_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@ $(POTRACE_CFLAGS) \ +@USE_BUNDLED_LIBS_FALSE@ $(XXHASH_CFLAGS) + +@ENABLE_WOFF_TRUE@am__append_8 = \ @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_4 = \ -@ENABLE_WOFF_TRUE@ $(TTFAUTOHINT_CFLAGS) \ -@ENABLE_WOFF_TRUE@ -I$(dvisvgm_srcdir)/libs/brotli/include \ -@ENABLE_WOFF_TRUE@ -I$(dvisvgm_srcdir)/libs/woff2/include +@ENABLE_WOFF_TRUE@am__append_9 = $(TTFAUTOHINT_CFLAGS) +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@am__append_10 = \ +@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@ $(BROTLI_CFLAGS) \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(WOFF2_CFLAGS) -@ENABLE_WOFF_TRUE@am__append_5 = $(TTFAUTOHINT_LIBS) -@WIN32_TRUE@am__append_6 = -DTEXLIVEWIN32 +@ENABLE_WOFF_TRUE@am__append_12 = $(TTFAUTOHINT_LIBS) +@WIN32_TRUE@am__append_13 = -DTEXLIVEWIN32 subdir = dvisvgm-src/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ @@ -114,7 +139,6 @@ am__aclocal_m4_deps = $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.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-potrace-flags.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 \ $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ @@ -249,6 +273,7 @@ libdvisvgm_a_OBJECTS = $(am_libdvisvgm_a_OBJECTS) am_dvisvgm_OBJECTS = dvisvgm.$(OBJEXT) dvisvgm_OBJECTS = $(am_dvisvgm_OBJECTS) am__DEPENDENCIES_1 = +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__DEPENDENCIES_2 = ../libs/ff-woff/libfontforge.a AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -386,7 +411,9 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.hpp.in \ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_CPPFLAGS = @AM_CPPFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = $(KPSE_LIBS) $(CODE_COVERAGE_LDFLAGS) $(am__append_12) AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ @@ -405,6 +432,7 @@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXLD = @CXXLD@ CYGPATH_W = @CYGPATH_W@ +DATE = @DATE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ @@ -461,9 +489,6 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ -POTRACE_DEPEND = @POTRACE_DEPEND@ -POTRACE_INCLUDES = @POTRACE_INCLUDES@ -POTRACE_LIBS = @POTRACE_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -534,9 +559,9 @@ dvisvgm_SOURCES = \ dvisvgm.cpp dvisvgm_LDADD = $(noinst_LIBRARIES) ../libs/clipper/libclipper.a \ - ../libs/xxHash/libxxhash.a $(am__append_1) $(KPATHSEA_LIBS) \ - $(POTRACE_LIBS) $(FREETYPE2_LIBS) $(FONTFORGE_LIBS) \ - $(ZLIB_LIBS) $(LIBGS_LIBS) + $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) $(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 \ @@ -601,19 +626,18 @@ 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_2) + ZLibOutputStream.hpp $(am__append_5) 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_3) + $(am__append_8) AM_CXXFLAGS = $(WARNING_CFLAGS) -Wnon-virtual-dtor \ - -I$(dvisvgm_srcdir)/libs/clipper \ - -I$(dvisvgm_srcdir)/libs/variant/include \ - -I$(dvisvgm_srcdir)/libs/xxHash $(am__append_4) \ - $(KPATHSEA_INCLUDES) $(POTRACE_INCLUDES) $(FREETYPE2_INCLUDES) \ - $(ZLIB_INCLUDES) $(LIBGS_INCLUDES) $(CODE_COVERAGE_CFLAGS) \ - $(am__append_6) -AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS) $(am__append_5) + -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) CLEANFILES = *.gcda *.gcno all: all-am @@ -1293,7 +1317,6 @@ uninstall-am: uninstall-binPROGRAMS @CODE_COVERAGE_RULES@ @KPATHSEA_RULE@ -@POTRACE_RULE@ @FREETYPE2_RULE@ @ZLIB_RULE@ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp index 570eecd6384..647bef5ee0e 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp @@ -24,9 +24,22 @@ #include <fstream> #include "ImageToSVG.hpp" +class PsSpecialHandler; + class PDFToSVG : public ImageToSVG { public: PDFToSVG (const std::string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) {} + bool isSinglePageFormat() const override {return false;} + + /** Returns the total number of pages in the PDF file. */ + int totalPageCount() override { + if (_totalPageCount < 0) { + _totalPageCount = psInterpreter().pdfPageCount(filename()); + if (_totalPageCount < 1) + throw MessageException("can't retrieve number of pages from file " + filename()); + } + return _totalPageCount; + } protected: bool imageIsValid () const override { @@ -41,6 +54,9 @@ class PDFToSVG : public ImageToSVG { std::string imageFormat () const override {return "PDF";} BoundingBox imageBBox () const override {return BoundingBox();} std::string psSpecialCmd () const override {return "pdffile=";} + + private: + mutable int _totalPageCount = -1; }; #endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp index f87a6467a09..4bb34616432 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp @@ -263,7 +263,6 @@ void PSInterpreter::callActions (InputReader &in) { {"makepattern", {-1, &PSActions::makepattern}}, {"moveto", { 2, &PSActions::moveto}}, {"newpath", { 1, &PSActions::newpath}}, - {"pdfpagebox", { 4, &PSActions::pdfpagebox}}, {"querypos", { 2, &PSActions::querypos}}, {"raw", {-1, nullptr}}, {"restore", { 1, &PSActions::restore}}, @@ -341,3 +340,32 @@ int GSDLLCALL PSInterpreter::error (void *inst, const char *buf, int len) { return len; } + +/** Returns the total number of pages of a PDF file. + * @param[in] fname name/path of the PDF file */ +int PSInterpreter::pdfPageCount (const string &fname) { + executeRaw("\n("+fname+")@pdfpagecount ", 1); + if (!_rawData.empty()) { + size_t index; + int ret = stoi(_rawData[0], &index, 10); + if (index > 0) + return ret; + } + return 0; +} + + +/** Returns the bounding box of a PDF page. If the selected page doesn't exist, + * the "invalid" flag of the returned bounding box is set. + * @param[in] fname name/path of the PDF file + * @param[in] pageno page number + * @return the bounding box of the given page */ +BoundingBox PSInterpreter::pdfPageBox (const string &fname, int pageno) { + BoundingBox pagebox; + executeRaw("\n"+to_string(pageno)+"("+fname+")@pdfpagebox ", 4); + if (_rawData.size() < 4) + pagebox.invalidate(); + else + pagebox = BoundingBox(stod(_rawData[0]), stod(_rawData[1]), stod(_rawData[2]), stod(_rawData[3])); + return pagebox; +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp index 2db857e0f61..6be12e34504 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp @@ -25,6 +25,7 @@ #include <istream> #include <string> #include <vector> +#include "BoundingBox.hpp" #include "Ghostscript.hpp" #include "InputReader.hpp" #include "MessageException.hpp" @@ -55,7 +56,6 @@ struct PSActions { virtual void makepattern (std::vector<double> &p) =0; virtual void moveto (std::vector<double> &p) =0; virtual void newpath (std::vector<double> &p) =0; - virtual void pdfpagebox (std::vector<double> &p) =0; virtual void querypos (std::vector<double> &p) =0; virtual void restore (std::vector<double> &p) =0; virtual void rotate (std::vector<double> &p) =0; @@ -101,6 +101,8 @@ class PSInterpreter { void limit (size_t max_bytes) {_bytesToRead = max_bytes;} void setFilter (PSFilter *filter) {_filter = filter;} PSActions* setActions (PSActions *actions); + int pdfPageCount (const std::string &fname); + BoundingBox pdfPageBox (const std::string &fname, int pageno); const std::vector<std::string>& rawData () const {return _rawData;} protected: diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp index 75d83f2b4b6..167ab0bc393 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp @@ -45,7 +45,7 @@ int PsSpecialHandler::SHADING_SEGMENT_SIZE = 20; double PsSpecialHandler::SHADING_SIMPLIFY_DELTA = 0.01; -PsSpecialHandler::PsSpecialHandler () : _psi(this), _actions(), _previewFilter(_psi), _psSection(PS_NONE), _xmlnode(), _savenode() +PsSpecialHandler::PsSpecialHandler () : _psi(this), _actions(), _previewFilter(_psi), _xmlnode(), _savenode() { } @@ -286,14 +286,15 @@ void PsSpecialHandler::imgfile (FileType filetype, const string &fname, const un double lly = (it = attr.find("lly")) != attr.end() ? stod(it->second) : 0; double urx = (it = attr.find("urx")) != attr.end() ? stod(it->second) : 0; double ury = (it = attr.find("ury")) != attr.end() ? stod(it->second) : 0; + int pageno = (it = attr.find("page")) != attr.end() ? stoi(it->second, nullptr, 10) : 1; if (filetype == FileType::PDF && llx == 0 && lly == 0 && urx == 0 && ury == 0) { - _psi.execute("\n("+fname+")@getpdfpagebox "); - if (_pdfpagebox.valid()) { - llx = _pdfpagebox.minX(); - lly = _pdfpagebox.minY(); - urx = _pdfpagebox.maxX(); - ury = _pdfpagebox.maxY(); + BoundingBox pagebox = _psi.pdfPageBox(fname, pageno); + if (pagebox.valid()) { + llx = pagebox.minX(); + lly = pagebox.minY(); + urx = pagebox.maxX(); + ury = pagebox.maxY(); } } @@ -335,11 +336,13 @@ void PsSpecialHandler::imgfile (FileType filetype, const string &fname, const un auto groupNode = util::make_unique<XMLElementNode>("g"); // append following elements to this group _xmlnode = groupNode.get(); _psi.execute( - "\n@beginspecial @setspecial" // enter special environment - "/setpagedevice{@setpagedevice}def" // activate processing of operator "setpagedevice" - "[1 0 0 -1 0 0] setmatrix" // don't apply outer PS transformations - "(" + string(filepath) + ")run " // execute file content - "@endspecial " // leave special environment + "\n@beginspecial @setspecial" // enter special environment + "/setpagedevice{@setpagedevice}def" // activate processing of operator "setpagedevice" + "[1 0 0 -1 0 0] setmatrix" // don't apply outer PS transformations + "/FirstPage "+to_string(pageno)+" def" // set number of fisrt page to convert (PDF only) + "/LastPage "+to_string(pageno)+" def" // set number of last page to convert (PDF only) + "(" + string(filepath) + ")run " // execute file content + "@endspecial " // leave special environment ); if (!groupNode->empty()) { // has anything been drawn? Matrix matrix(1); @@ -421,8 +424,7 @@ void PsSpecialHandler::dviEndPage (unsigned, SpecialActions &actions) { Message::mstream() << " preview package (version " << _previewFilter.version() << ")\n"; // apply page transformations to box extents - Matrix pagetrans; - actions.getPageTransform(pagetrans); + Matrix pagetrans = actions.getPageTransformation(); bool isBaselineHorizontal = transform_box_extents(pagetrans, w, h, d); actions.bbox().lock(); diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp index 1a16412fbb2..d531d9e4e0a 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp @@ -88,6 +88,7 @@ class PsSpecialHandler : public SpecialHandler, protected PSActions { bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override; void setDviScaleFactor (double dvi2bp) override {_previewFilter.setDviScaleFactor(dvi2bp);} void enterBodySection (); + PSInterpreter& psInterpreter () {return _psi;} public: static bool COMPUTE_CLIPPATHS_INTERSECTIONS; @@ -128,7 +129,6 @@ class PsSpecialHandler : public SpecialHandler, protected PSActions { void makepattern (std::vector<double> &p) override; void moveto (std::vector<double> &p) override; void newpath (std::vector<double> &p) override; - void pdfpagebox (std::vector<double> &p) override {_pdfpagebox = BoundingBox(p[0], p[1], p[2], p[3]);} void querypos (std::vector<double> &p) override {_currentpoint = DPair(p[0], p[1]);} void restore (std::vector<double> &p) override; void rotate (std::vector<double> &p) override; @@ -158,7 +158,7 @@ class PsSpecialHandler : public SpecialHandler, protected PSActions { PSInterpreter _psi; SpecialActions *_actions; PSPreviewFilter _previewFilter; ///< filter to extract information generated by the preview package - PsSection _psSection; ///< current section processed (nothing yet, headers, or body specials) + PsSection _psSection=PS_NONE; ///< current section processed (nothing yet, headers, or body specials) XMLElementNode *_xmlnode; ///< if != 0, created SVG elements are appended to this node XMLElementNode *_savenode; ///< pointer to temporaryly store _xmlnode std::string _headerCode; ///< collected literal PS header code @@ -179,7 +179,6 @@ class PsSpecialHandler : public SpecialHandler, protected PSActions { ClippingStack _clipStack; std::unordered_map<int, std::unique_ptr<PSPattern>> _patterns; PSTilingPattern *_pattern; ///< current pattern - BoundingBox _pdfpagebox; }; #endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp index d1622fb66f5..d884be4ab7e 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp @@ -27,16 +27,21 @@ #include "utility.hpp" #ifdef _WIN32 -#include <fcntl.h> -#include <sys/stat.h> -#include <windows.h> +# include <fcntl.h> +# include <sys/stat.h> +# include <windows.h> +#else +# include <config.h> +# ifdef HAVE_UMASK +# include <sys/stat.h> +# endif #endif #ifdef _MSC_VER -#include <io.h> +# include <io.h> #else -#include <cstdlib> -#include <unistd.h> +# include <cstdlib> +# include <unistd.h> #endif using namespace std; @@ -60,8 +65,14 @@ bool TemporaryFile::create () { _path = FileSystem::tmpdir(); #ifndef _WIN32 _path += "stdinXXXXXX"; +#ifdef HAVE_UMASK + mode_t mode_mask = umask(S_IXUSR | S_IRWXG | S_IRWXO); // set file permissions to 0600 +#endif _fd = mkstemp(&_path[0]); -#else +#ifdef HAVE_UMASK + umask(mode_mask); +#endif +#else // !_WIN32 char fname[MAX_PATH]; std::replace(_path.begin(), _path.end(), '/', '\\'); if (GetTempFileName(_path.c_str(), "stdin", 0, fname)) { diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp index 80dbd595d91..4d8d964de37 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp @@ -42,7 +42,7 @@ class SpecialActions { virtual Color getColor () const =0; virtual void setMatrix (const Matrix &m) =0; virtual const Matrix& getMatrix () const =0; - virtual void getPageTransform (Matrix &matrix) const =0; + virtual Matrix getPageTransformation () const {return Matrix(1);} virtual void setBgColor (const Color &color) =0; virtual void appendToPage(std::unique_ptr<XMLNode> &&node) =0; virtual void appendToDefs(std::unique_ptr<XMLNode> &&node) =0; @@ -75,7 +75,6 @@ class EmptySpecialActions : public SpecialActions { Color getColor () const override {return Color::BLACK;} void setMatrix (const Matrix &m) override {} const Matrix& getMatrix () const override {return _matrix;} - void getPageTransform (Matrix &matrix) const override {} void appendToPage(std::unique_ptr<XMLNode> &&node) override {} void appendToDefs(std::unique_ptr<XMLNode> &&node) override {} void prependToPage(std::unique_ptr<XMLNode> &&node) override {} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp index d778c84c5f9..297844cb21d 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp @@ -52,7 +52,7 @@ #ifndef DISABLE_WOFF #include <brotli/encode.h> -#include <woff2/version.h> +//#include <woff2/version.h> #include "ffwrapper.h" #include "TTFAutohint.hpp" #endif @@ -252,7 +252,7 @@ static void print_version (bool extended) { versionInfo.add("Ghostscript", Ghostscript().revisionstr(), true); #ifndef DISABLE_WOFF versionInfo.add("brotli", BrotliEncoderVersion(), 3, 0x1000); - versionInfo.add("woff2", woff2::version, 3, 0x100); +// versionInfo.add("woff2", woff2::version, 3, 0x100); versionInfo.add("fontforge", ff_version()); versionInfo.add("ttfautohint", TTFAutohint().version(), true); #endif @@ -320,6 +320,19 @@ static void set_variables (const CommandLine &cmdline) { } +static void timer_message (double start_time, const pair<int,int> *pageinfo) { + Message::mstream().indent(0); + if (!pageinfo) + Message::mstream(false, Message::MC_PAGE_NUMBER) << "\n" << "file"; + else { + Message::mstream(false, Message::MC_PAGE_NUMBER) << "\n" << pageinfo->first << " of " << pageinfo->second << " page"; + if (pageinfo->second > 1) + Message::mstream(false, Message::MC_PAGE_NUMBER) << 's'; + } + Message::mstream(false, Message::MC_PAGE_NUMBER) << " converted in " << (System::time()-start_time) << " seconds\n"; +} + + int main (int argc, char *argv[]) { try { CommandLine cmdline; @@ -364,20 +377,15 @@ int main (int argc, char *argv[]) { SVGOutput out(cmdline.stdoutOpt.given() ? "" : srcin.getFileName(), cmdline.outputOpt.value(), cmdline.zipOpt.given() ? cmdline.zipOpt.value() : 0); + pair<int,int> pageinfo; if (cmdline.epsOpt.given() || cmdline.pdfOpt.given()) { auto img2svg = unique_ptr<ImageToSVG>( cmdline.epsOpt.given() ? static_cast<ImageToSVG*>(new EPSToSVG(srcin.getFilePath(), out)) : static_cast<ImageToSVG*>(new PDFToSVG(srcin.getFilePath(), out))); - img2svg->convert(); - Message::mstream().indent(0); - Message::mstream(false, Message::MC_PAGE_NUMBER) << "file converted in " << (System::time()-start_time) << " seconds\n"; - } - else if (cmdline.pdfOpt.given()) { - PDFToSVG pdf2svg(srcin.getFilePath(), out); - pdf2svg.convert(); - Message::mstream().indent(0); - Message::mstream(false, Message::MC_PAGE_NUMBER) << "file converted in " << (System::time()-start_time) << " seconds\n"; + img2svg->setPageTransformation(get_transformation_string(cmdline)); + img2svg->convert(cmdline.pageOpt.value(), &pageinfo); + timer_message(start_time, img2svg->isSinglePageFormat() ? nullptr : &pageinfo); } else { init_fontmap(cmdline); @@ -389,13 +397,8 @@ int main (int argc, char *argv[]) { dvi2svg.setPageTransformation(get_transformation_string(cmdline)); dvi2svg.setPageSize(cmdline.bboxOpt.value()); - pair<int,int> pageinfo; dvi2svg.convert(cmdline.pageOpt.value(), &pageinfo); - Message::mstream().indent(0); - Message::mstream(false, Message::MC_PAGE_NUMBER) << "\n" << pageinfo.first << " of " << pageinfo.second << " page"; - if (pageinfo.second > 1) - Message::mstream(false, Message::MC_PAGE_NUMBER) << 's'; - Message::mstream(false, Message::MC_PAGE_NUMBER) << " converted in " << (System::time()-start_time) << " seconds\n"; + timer_message(start_time, &pageinfo); } } catch (DVIException &e) { diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp index 5efa9db4dc4..3246ed22720 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp @@ -105,6 +105,8 @@ const char *PSInterpreter::PSDEFS = "exec<</Normal 0/Compatible 0/Multiply 1/Screen 2/Overlay 3/SoftLight 4/HardLig" "ht 5/ColorDodge 6/ColorBurn 7/Darken 8/Lighten 9/Difference 10/Exclusion 11/Hu" "e 12/Saturation 13/Color 14/Luminosity 15/CompatibleOverprint 16>>exch get 1(s" -"etblendmode)prcmd}def/@getpdfpagebox{GS_PDF_ProcSet begin pdfdict begin(r)file" -" pdfopen begin 1 pdfgetpage/MediaBox pget pop aload pop 4(pdfpagebox)prcmd cur" -"rentdict pdfclose end end end}def DELAYBIND{.bindnow}if "; +"etblendmode)prcmd}def/@pdfpagecount{GS_PDF_ProcSet begin pdfdict begin(r)file " +"pdfopen begin pdfpagecount currentdict pdfclose end end end}def/@pdfpagebox{GS" +"_PDF_ProcSet begin pdfdict begin(r)file pdfopen begin dup dup 1 lt exch pdfpag" +"ecount gt or{pop}{pdfgetpage/MediaBox pget pop aload pop}ifelse currentdict pd" +"fclose end end end}def DELAYBIND{.bindnow}if "; diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp index 14bfeacaf85..cf86d2ca2d4 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp @@ -22,7 +22,7 @@ #define VERSION_HPP constexpr const char *PROGRAM_NAME = "dvisvgm"; -constexpr const char *PROGRAM_VERSION = "2.4.2"; +constexpr const char *PROGRAM_VERSION = "2.5"; #endif diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/CalculatorTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/CalculatorTest.cpp index 74069e54154..45a530c92c5 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/CalculatorTest.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/CalculatorTest.cpp @@ -20,6 +20,8 @@ #include <gtest/gtest.h> #include "Calculator.hpp" +#include "Length.hpp" + TEST(CalculatorTest, eval) { Calculator calc; @@ -38,10 +40,10 @@ TEST(CalculatorTest, variables) { Calculator calc; calc.setVariable("a", 1); EXPECT_EQ(calc.getVariable("a"), 1); - + calc.setVariable("a", 2); EXPECT_EQ(calc.getVariable("a"), 2); - + calc.setVariable("b", 3); EXPECT_EQ(calc.eval("a+b"), 5); EXPECT_EQ(calc.eval("2a+2b"), 10); @@ -58,3 +60,14 @@ TEST(CalculatorTest, exceptions) { ASSERT_THROW(calc.eval("2*(3+4))"), CalculatorException); } + +TEST(CalculatorTest, units) { + Calculator calc; + for (auto unit : Length::getUnits()) + calc.setVariable(unit.first, Length(1, unit.second).bp()); + EXPECT_DOUBLE_EQ(calc.eval("1bp+3bp"), 4.0); + EXPECT_DOUBLE_EQ(calc.eval("1bp+1in"), 73.0); + EXPECT_DOUBLE_EQ(calc.eval("5cm/1cm"), 5.0); + EXPECT_DOUBLE_EQ(calc.eval("5cm/1cm"), 5.0); + EXPECT_DOUBLE_EQ(calc.eval("5cm"), 5/2.54*72); +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/LengthTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/LengthTest.cpp index ad8c5f36af9..cf665d6a384 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/LengthTest.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/LengthTest.cpp @@ -232,4 +232,20 @@ TEST(LengthTest, toString) { EXPECT_EQ(Length(10, Length::Unit::DD).toString(Length::Unit::DD), "10dd"); EXPECT_EQ(Length(10, Length::Unit::CC).toString(Length::Unit::CC), "10cc"); EXPECT_EQ(Length(10, Length::Unit::SP).toString(Length::Unit::SP), "10sp"); -}
\ No newline at end of file +} + + +TEST(LengthTest, literals) { + EXPECT_EQ(1_pt, Length(1, "pt")); + EXPECT_EQ(2_bp, Length(2, "bp")); + EXPECT_EQ(3_in, Length(3, "in")); + EXPECT_EQ(5_mm, Length(5, "mm")); +} + + +TEST(LengthTest, getUnits) { + for (auto unit : Length::getUnits()) { + EXPECT_EQ(unit.first, Length::unitToString(unit.second)); + EXPECT_EQ(unit.second, Length::stringToUnit(unit.first)); + } +} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am index 642c9c97aed..9a446763f86 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am @@ -21,6 +21,20 @@ EXTRA_DIST = gtest/LICENSE \ gtest/src/gtest-test-part.cc \ gtest/src/gtest-typed-test.cc +if USE_BUNDLED_LIBS +LIBS_CFLAGS = -I$(top_srcdir)/libs/xxHash +LIBS_LIBS = ../libs/potrace/libpotrace.a ../libs/xxHash/libxxhash.a +if ENABLE_WOFF +LIBS_LIBS += ../libs/woff2/libwoff2.a ../libs/brotli/libbrotli.a +endif +else +LIBS_CFLAGS = -I$(XXHASH_CFLAGS) +LIBS_LIBS = $(POTRACE_LIBS) $(XXHASH_LIBS) +if ENABLE_WOFF +LIBS_LIBS += $(WOFF2_LIBS) $(BROTLI_LIBS) +endif +endif + AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/libs/variant/include \ -Wall -Wno-mismatched-tags \ -DBUILDDIR='"$(abs_builddir)"' -DSRCDIR='"$(abs_srcdir)"' \ @@ -29,18 +43,15 @@ AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/libs/variant/include \ TESTS = hashcheck check_PROGRAMS = hashcheck nodist_hashcheck_SOURCES = hashcheck.cpp -hashcheck_LDADD = ../libs/xxHash/libxxhash.a -hashcheck_CPPFLAGS = -I$(top_srcdir)/libs/xxHash +hashcheck_CPPFLAGS = $(LIBS_CFLAGS) +hashcheck_LDADD = $(LIBS_LIBS) hashcheck.cpp: genhashcheck.py $(top_srcdir)/src/AGLTable.hpp $(top_srcdir)/libs/xxHash/xxhash.h python $^ >$@ -TESTLIBS = libgtest.la ../src/libdvisvgm.a ../libs/xxHash/libxxhash.a -lpotrace -lfreetype +TESTLIBS = libgtest.la ../src/libdvisvgm.a $(LIBS_LIBS) -lfreetype if ENABLE_WOFF -TESTLIBS += \ - ../libs/ff-woff/libfontforge.a \ - ../libs/woff2/libwoff2.a \ - ../libs/brotli/libbrotli.a +TESTLIBS += ../libs/ff-woff/libfontforge.a endif TESTLIBS += $(CODE_COVERAGE_LDFLAGS) diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in index 6547ca87641..b83d512e9ac 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in @@ -88,6 +88,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_TRUE@am__append_1 = ../libs/woff2/libwoff2.a ../libs/brotli/libbrotli.a +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__append_2 = $(WOFF2_LIBS) $(BROTLI_LIBS) TESTS = hashcheck$(EXEEXT) BezierTest$(EXEEXT) BitmapTest$(EXEEXT) \ BoundingBoxTest$(EXEEXT) CalculatorTest$(EXEEXT) \ CMapManagerTest$(EXEEXT) CMapReaderTest$(EXEEXT) \ @@ -147,14 +149,14 @@ check_PROGRAMS = hashcheck$(EXEEXT) BezierTest$(EXEEXT) \ UtilityTest$(EXEEXT) VectorIteratorTest$(EXEEXT) \ VectorStreamTest$(EXEEXT) XMLNodeTest$(EXEEXT) \ XMLStringTest$(EXEEXT) -@ENABLE_WOFF_TRUE@am__append_1 = \ -@ENABLE_WOFF_TRUE@ ../libs/ff-woff/libfontforge.a \ -@ENABLE_WOFF_TRUE@ ../libs/woff2/libwoff2.a \ -@ENABLE_WOFF_TRUE@ ../libs/brotli/libbrotli.a - +@ENABLE_WOFF_TRUE@am__append_3 = ../libs/ff-woff/libfontforge.a subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.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)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) @@ -177,210 +179,216 @@ libgtest_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ am_BezierTest_OBJECTS = BezierTest-BezierTest.$(OBJEXT) BezierTest_OBJECTS = $(am_BezierTest_OBJECTS) am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = libgtest.la ../src/libdvisvgm.a \ - ../libs/xxHash/libxxhash.a $(am__append_1) \ - $(am__DEPENDENCIES_1) -BezierTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \ +@ENABLE_WOFF_TRUE@@USE_BUNDLED_LIBS_FALSE@ $(am__DEPENDENCIES_1) +@USE_BUNDLED_LIBS_FALSE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) +@USE_BUNDLED_LIBS_TRUE@am__DEPENDENCIES_3 = \ +@USE_BUNDLED_LIBS_TRUE@ ../libs/potrace/libpotrace.a \ +@USE_BUNDLED_LIBS_TRUE@ ../libs/xxHash/libxxhash.a \ +@USE_BUNDLED_LIBS_TRUE@ $(am__append_1) $(am__DEPENDENCIES_2) +am__DEPENDENCIES_4 = libgtest.la ../src/libdvisvgm.a \ + $(am__DEPENDENCIES_3) $(am__append_3) $(am__DEPENDENCIES_1) +BezierTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_BitmapTest_OBJECTS = BitmapTest-BitmapTest.$(OBJEXT) BitmapTest_OBJECTS = $(am_BitmapTest_OBJECTS) -BitmapTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +BitmapTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_BoundingBoxTest_OBJECTS = \ BoundingBoxTest-BoundingBoxTest.$(OBJEXT) BoundingBoxTest_OBJECTS = $(am_BoundingBoxTest_OBJECTS) -BoundingBoxTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +BoundingBoxTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CMapManagerTest_OBJECTS = \ CMapManagerTest-CMapManagerTest.$(OBJEXT) CMapManagerTest_OBJECTS = $(am_CMapManagerTest_OBJECTS) -CMapManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +CMapManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CMapReaderTest_OBJECTS = CMapReaderTest-CMapReaderTest.$(OBJEXT) CMapReaderTest_OBJECTS = $(am_CMapReaderTest_OBJECTS) -CMapReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +CMapReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CMapTest_OBJECTS = CMapTest-CMapTest.$(OBJEXT) CMapTest_OBJECTS = $(am_CMapTest_OBJECTS) -CMapTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +CMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CRC32Test_OBJECTS = CRC32Test-CRC32Test.$(OBJEXT) CRC32Test_OBJECTS = $(am_CRC32Test_OBJECTS) -CRC32Test_DEPENDENCIES = $(am__DEPENDENCIES_2) +CRC32Test_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CalculatorTest_OBJECTS = CalculatorTest-CalculatorTest.$(OBJEXT) CalculatorTest_OBJECTS = $(am_CalculatorTest_OBJECTS) -CalculatorTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +CalculatorTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_ColorSpecialTest_OBJECTS = \ ColorSpecialTest-ColorSpecialTest.$(OBJEXT) ColorSpecialTest_OBJECTS = $(am_ColorSpecialTest_OBJECTS) -ColorSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +ColorSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_ColorTest_OBJECTS = ColorTest-ColorTest.$(OBJEXT) ColorTest_OBJECTS = $(am_ColorTest_OBJECTS) -ColorTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +ColorTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_CommandLineTest_OBJECTS = \ CommandLineTest-CommandLineTest.$(OBJEXT) CommandLineTest_OBJECTS = $(am_CommandLineTest_OBJECTS) -CommandLineTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +CommandLineTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_DVIReaderTest_OBJECTS = DVIReaderTest-DVIReaderTest.$(OBJEXT) DVIReaderTest_OBJECTS = $(am_DVIReaderTest_OBJECTS) -DVIReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +DVIReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_DependencyGraphTest_OBJECTS = \ DependencyGraphTest-DependencyGraphTest.$(OBJEXT) DependencyGraphTest_OBJECTS = $(am_DependencyGraphTest_OBJECTS) -DependencyGraphTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +DependencyGraphTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_DirectoryTest_OBJECTS = DirectoryTest-DirectoryTest.$(OBJEXT) DirectoryTest_OBJECTS = $(am_DirectoryTest_OBJECTS) -DirectoryTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +DirectoryTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_DvisvgmSpecialTest_OBJECTS = \ DvisvgmSpecialTest-DvisvgmSpecialTest.$(OBJEXT) DvisvgmSpecialTest_OBJECTS = $(am_DvisvgmSpecialTest_OBJECTS) -DvisvgmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +DvisvgmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_EmSpecialTest_OBJECTS = EmSpecialTest-EmSpecialTest.$(OBJEXT) EmSpecialTest_OBJECTS = $(am_EmSpecialTest_OBJECTS) -EmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +EmSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FileFinderTest_OBJECTS = FileFinderTest-FileFinderTest.$(OBJEXT) FileFinderTest_OBJECTS = $(am_FileFinderTest_OBJECTS) -FileFinderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FileFinderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FilePathTest_OBJECTS = FilePathTest-FilePathTest.$(OBJEXT) FilePathTest_OBJECTS = $(am_FilePathTest_OBJECTS) -FilePathTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FilePathTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FileSystemTest_OBJECTS = FileSystemTest-FileSystemTest.$(OBJEXT) FileSystemTest_OBJECTS = $(am_FileSystemTest_OBJECTS) -FileSystemTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FileSystemTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FontCacheTest_OBJECTS = FontCacheTest-FontCacheTest.$(OBJEXT) FontCacheTest_OBJECTS = $(am_FontCacheTest_OBJECTS) -FontCacheTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FontCacheTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FontManagerTest_OBJECTS = \ FontManagerTest-FontManagerTest.$(OBJEXT) FontManagerTest_OBJECTS = $(am_FontManagerTest_OBJECTS) -FontManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FontManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_FontMapTest_OBJECTS = FontMapTest-FontMapTest.$(OBJEXT) FontMapTest_OBJECTS = $(am_FontMapTest_OBJECTS) -FontMapTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +FontMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_GFGlyphTracerTest_OBJECTS = \ GFGlyphTracerTest-GFGlyphTracerTest.$(OBJEXT) GFGlyphTracerTest_OBJECTS = $(am_GFGlyphTracerTest_OBJECTS) -GFGlyphTracerTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +GFGlyphTracerTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_GFReaderTest_OBJECTS = GFReaderTest-GFReaderTest.$(OBJEXT) GFReaderTest_OBJECTS = $(am_GFReaderTest_OBJECTS) -GFReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +GFReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_GhostscriptTest_OBJECTS = \ GhostscriptTest-GhostscriptTest.$(OBJEXT) GhostscriptTest_OBJECTS = $(am_GhostscriptTest_OBJECTS) -GhostscriptTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +GhostscriptTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_GraphicsPathTest_OBJECTS = \ GraphicsPathTest-GraphicsPathTest.$(OBJEXT) GraphicsPathTest_OBJECTS = $(am_GraphicsPathTest_OBJECTS) -GraphicsPathTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +GraphicsPathTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_JFMReaderTest_OBJECTS = JFMReaderTest-JFMReaderTest.$(OBJEXT) JFMReaderTest_OBJECTS = $(am_JFMReaderTest_OBJECTS) -JFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +JFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_LengthTest_OBJECTS = LengthTest-LengthTest.$(OBJEXT) LengthTest_OBJECTS = $(am_LengthTest_OBJECTS) -LengthTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +LengthTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_MapLineTest_OBJECTS = MapLineTest-MapLineTest.$(OBJEXT) MapLineTest_OBJECTS = $(am_MapLineTest_OBJECTS) -MapLineTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +MapLineTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_MatrixTest_OBJECTS = MatrixTest-MatrixTest.$(OBJEXT) MatrixTest_OBJECTS = $(am_MatrixTest_OBJECTS) -MatrixTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +MatrixTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_MessageExceptionTest_OBJECTS = \ MessageExceptionTest-MessageExceptionTest.$(OBJEXT) MessageExceptionTest_OBJECTS = $(am_MessageExceptionTest_OBJECTS) -MessageExceptionTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +MessageExceptionTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PDFParserTest_OBJECTS = PDFParserTest-PDFParserTest.$(OBJEXT) PDFParserTest_OBJECTS = $(am_PDFParserTest_OBJECTS) -PDFParserTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PDFParserTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PSInterpreterTest_OBJECTS = \ PSInterpreterTest-PSInterpreterTest.$(OBJEXT) PSInterpreterTest_OBJECTS = $(am_PSInterpreterTest_OBJECTS) -PSInterpreterTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PSInterpreterTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PageRagesTest_OBJECTS = PageRagesTest-PageRagesTest.$(OBJEXT) PageRagesTest_OBJECTS = $(am_PageRagesTest_OBJECTS) -PageRagesTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PageRagesTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PageSizeTest_OBJECTS = PageSizeTest-PageSizeTest.$(OBJEXT) PageSizeTest_OBJECTS = $(am_PageSizeTest_OBJECTS) -PageSizeTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PageSizeTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PairTest_OBJECTS = PairTest-PairTest.$(OBJEXT) PairTest_OBJECTS = $(am_PairTest_OBJECTS) -PairTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PairTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_PapersizeSpecialTest_OBJECTS = \ PapersizeSpecialTest-PapersizeSpecialTest.$(OBJEXT) PapersizeSpecialTest_OBJECTS = $(am_PapersizeSpecialTest_OBJECTS) -PapersizeSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +PapersizeSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_RangeMapTest_OBJECTS = RangeMapTest-RangeMapTest.$(OBJEXT) RangeMapTest_OBJECTS = $(am_RangeMapTest_OBJECTS) -RangeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +RangeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_SVGOutputTest_OBJECTS = SVGOutputTest-SVGOutputTest.$(OBJEXT) SVGOutputTest_OBJECTS = $(am_SVGOutputTest_OBJECTS) -SVGOutputTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +SVGOutputTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_ShadingPatchTest_OBJECTS = \ ShadingPatchTest-ShadingPatchTest.$(OBJEXT) ShadingPatchTest_OBJECTS = $(am_ShadingPatchTest_OBJECTS) -ShadingPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +ShadingPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_SpecialManagerTest_OBJECTS = \ SpecialManagerTest-SpecialManagerTest.$(OBJEXT) SpecialManagerTest_OBJECTS = $(am_SpecialManagerTest_OBJECTS) -SpecialManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +SpecialManagerTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_SplittedCharInputBufferTest_OBJECTS = SplittedCharInputBufferTest-SplittedCharInputBufferTest.$(OBJEXT) SplittedCharInputBufferTest_OBJECTS = \ $(am_SplittedCharInputBufferTest_OBJECTS) -SplittedCharInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +SplittedCharInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_StreamInputBufferTest_OBJECTS = \ StreamInputBufferTest-StreamInputBufferTest.$(OBJEXT) StreamInputBufferTest_OBJECTS = $(am_StreamInputBufferTest_OBJECTS) -StreamInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +StreamInputBufferTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_StreamReaderTest_OBJECTS = \ StreamReaderTest-StreamReaderTest.$(OBJEXT) StreamReaderTest_OBJECTS = $(am_StreamReaderTest_OBJECTS) -StreamReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +StreamReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_StreamWriterTest_OBJECTS = \ StreamWriterTest-StreamWriterTest.$(OBJEXT) StreamWriterTest_OBJECTS = $(am_StreamWriterTest_OBJECTS) -StreamWriterTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +StreamWriterTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_StringMatcherTest_OBJECTS = \ StringMatcherTest-StringMatcherTest.$(OBJEXT) StringMatcherTest_OBJECTS = $(am_StringMatcherTest_OBJECTS) -StringMatcherTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +StringMatcherTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_SubfontTest_OBJECTS = SubfontTest-SubfontTest.$(OBJEXT) SubfontTest_OBJECTS = $(am_SubfontTest_OBJECTS) -SubfontTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +SubfontTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_TFMReaderTest_OBJECTS = TFMReaderTest-TFMReaderTest.$(OBJEXT) TFMReaderTest_OBJECTS = $(am_TFMReaderTest_OBJECTS) -TFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +TFMReaderTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_TensorProductPatchTest_OBJECTS = \ TensorProductPatchTest-TensorProductPatchTest.$(OBJEXT) TensorProductPatchTest_OBJECTS = $(am_TensorProductPatchTest_OBJECTS) -TensorProductPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +TensorProductPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_ToUnicodeMapTest_OBJECTS = \ ToUnicodeMapTest-ToUnicodeMapTest.$(OBJEXT) ToUnicodeMapTest_OBJECTS = $(am_ToUnicodeMapTest_OBJECTS) -ToUnicodeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +ToUnicodeMapTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_TpicSpecialTest_OBJECTS = \ TpicSpecialTest-TpicSpecialTest.$(OBJEXT) TpicSpecialTest_OBJECTS = $(am_TpicSpecialTest_OBJECTS) -TpicSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +TpicSpecialTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_TriangularPatchTest_OBJECTS = \ TriangularPatchTest-TriangularPatchTest.$(OBJEXT) TriangularPatchTest_OBJECTS = $(am_TriangularPatchTest_OBJECTS) -TriangularPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +TriangularPatchTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_UnicodeTest_OBJECTS = UnicodeTest-UnicodeTest.$(OBJEXT) UnicodeTest_OBJECTS = $(am_UnicodeTest_OBJECTS) -UnicodeTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +UnicodeTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_UtilityTest_OBJECTS = UtilityTest-UtilityTest.$(OBJEXT) UtilityTest_OBJECTS = $(am_UtilityTest_OBJECTS) -UtilityTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +UtilityTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_VectorIteratorTest_OBJECTS = \ VectorIteratorTest-VectorIteratorTest.$(OBJEXT) VectorIteratorTest_OBJECTS = $(am_VectorIteratorTest_OBJECTS) -VectorIteratorTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +VectorIteratorTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_VectorStreamTest_OBJECTS = \ VectorStreamTest-VectorStreamTest.$(OBJEXT) VectorStreamTest_OBJECTS = $(am_VectorStreamTest_OBJECTS) -VectorStreamTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +VectorStreamTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_XMLNodeTest_OBJECTS = XMLNodeTest-XMLNodeTest.$(OBJEXT) XMLNodeTest_OBJECTS = $(am_XMLNodeTest_OBJECTS) -XMLNodeTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +XMLNodeTest_DEPENDENCIES = $(am__DEPENDENCIES_4) am_XMLStringTest_OBJECTS = XMLStringTest-XMLStringTest.$(OBJEXT) XMLStringTest_OBJECTS = $(am_XMLStringTest_OBJECTS) -XMLStringTest_DEPENDENCIES = $(am__DEPENDENCIES_2) +XMLStringTest_DEPENDENCIES = $(am__DEPENDENCIES_4) nodist_hashcheck_OBJECTS = hashcheck-hashcheck.$(OBJEXT) hashcheck_OBJECTS = $(nodist_hashcheck_OBJECTS) -hashcheck_DEPENDENCIES = ../libs/xxHash/libxxhash.a +hashcheck_DEPENDENCIES = $(am__DEPENDENCIES_3) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -777,6 +785,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BROTLI_CFLAGS = @BROTLI_CFLAGS@ +BROTLI_LIBS = @BROTLI_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -856,6 +866,8 @@ STRIP = @STRIP@ TTFAUTOHINT_CFLAGS = @TTFAUTOHINT_CFLAGS@ TTFAUTOHINT_LIBS = @TTFAUTOHINT_LIBS@ VERSION = @VERSION@ +WOFF2_CFLAGS = @WOFF2_CFLAGS@ +WOFF2_LIBS = @WOFF2_LIBS@ XMLTO = @XMLTO@ XSLTPROC = @XSLTPROC@ ZLIB_CFLAGS = @ZLIB_CFLAGS@ @@ -928,16 +940,23 @@ EXTRA_DIST = gtest/LICENSE gtest/include gtest/src/gtest.cc \ gtest/src/gtest-port.cc gtest/src/gtest-printers.cc \ gtest/src/gtest-test-part.cc gtest/src/gtest-typed-test.cc \ check-conv genhashcheck.py normalize.xsl +@USE_BUNDLED_LIBS_FALSE@LIBS_CFLAGS = -I$(XXHASH_CFLAGS) +@USE_BUNDLED_LIBS_TRUE@LIBS_CFLAGS = -I$(top_srcdir)/libs/xxHash +@USE_BUNDLED_LIBS_FALSE@LIBS_LIBS = $(POTRACE_LIBS) $(XXHASH_LIBS) \ +@USE_BUNDLED_LIBS_FALSE@ $(am__append_2) +@USE_BUNDLED_LIBS_TRUE@LIBS_LIBS = ../libs/potrace/libpotrace.a \ +@USE_BUNDLED_LIBS_TRUE@ ../libs/xxHash/libxxhash.a \ +@USE_BUNDLED_LIBS_TRUE@ $(am__append_1) $(am__append_2) AM_CXXFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/libs/variant/include \ -Wall -Wno-mismatched-tags \ -DBUILDDIR='"$(abs_builddir)"' -DSRCDIR='"$(abs_srcdir)"' \ $(CODE_COVERAGE_CFLAGS) nodist_hashcheck_SOURCES = hashcheck.cpp -hashcheck_LDADD = ../libs/xxHash/libxxhash.a -hashcheck_CPPFLAGS = -I$(top_srcdir)/libs/xxHash -TESTLIBS = libgtest.la ../src/libdvisvgm.a ../libs/xxHash/libxxhash.a \ - -lpotrace -lfreetype $(am__append_1) $(CODE_COVERAGE_LDFLAGS) +hashcheck_CPPFLAGS = $(LIBS_CFLAGS) +hashcheck_LDADD = $(LIBS_LIBS) +TESTLIBS = libgtest.la ../src/libdvisvgm.a $(LIBS_LIBS) -lfreetype \ + $(am__append_3) $(CODE_COVERAGE_LDFLAGS) BezierTest_SOURCES = BezierTest.cpp testutil.hpp BezierTest_CPPFLAGS = -I$(top_srcdir)/tests/gtest/include BezierTest_LDADD = $(TESTLIBS) @@ -1126,9 +1145,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Makefile + $(AUTOMAKE) --foreign tests/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp index b2b6253bedf..90238b05da2 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp @@ -47,7 +47,6 @@ class PSTestActions : public PSActions { void setpagedevice (vector<double> &p) override {print("setpagedevice", p);} void newpath (vector<double> &p) override {print("newpath", p);} void querypos (vector<double> &p) override {print("querypos", p);} - void pdfpagebox (std::vector<double> &p) override {print("pdfpagebox", p);} void restore(std::vector<double> &p) override {print("restore", p);} void rotate (vector<double> &p) override {print("rotate", p);} void save(std::vector<double> &p) override {print("save", p);} diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in index 95bd92e7645..066562b432c 100644 --- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in +++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in @@ -90,7 +90,11 @@ host_triplet = @host@ target_triplet = @target@ subdir = tests/data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.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)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) @@ -131,6 +135,8 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BROTLI_CFLAGS = @BROTLI_CFLAGS@ +BROTLI_LIBS = @BROTLI_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -210,6 +216,8 @@ STRIP = @STRIP@ TTFAUTOHINT_CFLAGS = @TTFAUTOHINT_CFLAGS@ TTFAUTOHINT_LIBS = @TTFAUTOHINT_LIBS@ VERSION = @VERSION@ +WOFF2_CFLAGS = @WOFF2_CFLAGS@ +WOFF2_LIBS = @WOFF2_LIBS@ XMLTO = @XMLTO@ XSLTPROC = @XSLTPROC@ ZLIB_CFLAGS = @ZLIB_CFLAGS@ @@ -301,9 +309,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/data/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/data/Makefile + $(AUTOMAKE) --foreign tests/data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff --git a/Build/source/texk/dvisvgm/version.ac b/Build/source/texk/dvisvgm/version.ac index 8cb5dcca2e1..ccbe6895264 100644 --- a/Build/source/texk/dvisvgm/version.ac +++ b/Build/source/texk/dvisvgm/version.ac @@ -9,4 +9,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current dvisvgm version -m4_define([dvisvgm_version], [2.4.2]) +m4_define([dvisvgm_version], [2.5]) |