summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-31 23:11:41 +0000
committerKarl Berry <karl@freefriends.org>2018-08-31 23:11:41 +0000
commit8ba2cf02688200d56e4fe0839a451ef832ce15b6 (patch)
treefcec1a50903a6e5b939859a1f92e15342636f290 /Build/source/texk/dvisvgm
parent5d0960aa5419651a9c9b6503e44be2f098831ef1 (diff)
dvisvgm 2.5, including potrace now bundled with dvisvgm instead of under libs/
git-svn-id: svn://tug.org/texlive/trunk@48527 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvisvgm')
-rw-r--r--Build/source/texk/dvisvgm/ChangeLog9
-rw-r--r--Build/source/texk/dvisvgm/Makefile.in7
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/ChangeLog5
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/TL-Changes5
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles71
-rw-r--r--Build/source/texk/dvisvgm/aclocal.m41
-rw-r--r--Build/source/texk/dvisvgm/config.h.in31
-rwxr-xr-xBuild/source/texk/dvisvgm/configure439
-rw-r--r--Build/source/texk/dvisvgm/configure.ac55
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/AUTHORS9
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog7916
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/Makefile.am4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/NEWS2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/README12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/config.h.in6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/configure.ac31
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/doc/Makefile.in14
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.127
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in18
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.am2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/Makefile.in11
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am5
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in224
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/clipper/Makefile.in7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/ff-woff/Makefile.in7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.am23
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile.in669
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/auxiliary.h80
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/bitmap.h228
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/config.h5
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.c112
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/curve.h77
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.c521
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/decompose.h16
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/lists.h285
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.c114
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/potracelib.h139
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/progress.h79
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.c1249
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/potrace/trace.h15
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/variant/Makefile.in7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.am5
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/woff2/Makefile.in90
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.am3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/Makefile.in22
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BasicDVIReader.hpp13
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.cpp26
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVG.hpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.cpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DVIToSVGActions.hpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.cpp17
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/FilePath.hpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp28
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp100
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp18
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Length.cpp16
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Length.hpp6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am44
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in83
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp16
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp30
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp30
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp5
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp25
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialActions.hpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp37
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/CalculatorTest.cpp17
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/LengthTest.cpp18
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.am25
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/Makefile.in167
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp1
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/data/Makefile.in14
-rw-r--r--Build/source/texk/dvisvgm/version.ac2
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, &param_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 &current_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 &current_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])