summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-05-04 04:54:00 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-05-04 04:54:00 +0000
commit1bab9f565782a0f389314cb1a5dfc6f597d96e22 (patch)
treecda8c972ba15244ffa89e88d743a2cdce0fa99e6 /Build/source/texk/dvisvgm
parent90faf12dc7ac78559d3bb81953320d776a835e4b (diff)
dvisvgm-2.4
git-svn-id: svn://tug.org/texlive/trunk@47608 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvisvgm')
-rw-r--r--Build/source/texk/dvisvgm/ChangeLog4
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/ChangeLog5
-rw-r--r--Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles16
-rwxr-xr-xBuild/source/texk/dvisvgm/configure22
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog7471
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/NEWS11
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/README4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/configure.ac4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.160
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in30
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h25
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h184
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c91
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h15
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c146
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h192
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h18
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c337
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h168
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m44
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp9
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp19
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp15
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp9
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp15
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp52
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp1
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp3
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp25
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp9
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp (renamed from Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp)37
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp80
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in190
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp1
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp6
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp47
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp29
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp16
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp10
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp12
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp24
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp174
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp17
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp8
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp20
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp13
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp123
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp42
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp35
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp37
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp10
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp181
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp93
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml13
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp148
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp38
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp10
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp42
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp7
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp4
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp2
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp3
-rw-r--r--Build/source/texk/dvisvgm/version.ac2
96 files changed, 1773 insertions, 8854 deletions
diff --git a/Build/source/texk/dvisvgm/ChangeLog b/Build/source/texk/dvisvgm/ChangeLog
index e6795ae380c..174e600413b 100644
--- a/Build/source/texk/dvisvgm/ChangeLog
+++ b/Build/source/texk/dvisvgm/ChangeLog
@@ -1,3 +1,7 @@
+2018-05-04 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * Import 2.4.
+
2018-03-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* Import 2.3.5.
diff --git a/Build/source/texk/dvisvgm/TLpatches/ChangeLog b/Build/source/texk/dvisvgm/TLpatches/ChangeLog
index 23e078530ce..6b5085a6a10 100644
--- a/Build/source/texk/dvisvgm/TLpatches/ChangeLog
+++ b/Build/source/texk/dvisvgm/TLpatches/ChangeLog
@@ -1,3 +1,8 @@
+2018-05-04 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * Import 2.4.
+ * patch-08-makefiles: adapt.
+
2018-03-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* Import 2.3.5.
diff --git a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
index aa4d787d7fb..bef9eaed511 100644
--- a/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
+++ b/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
@@ -1,6 +1,6 @@
-diff -u2r dvisvgm-2.3.5/Makefile.am dvisvgm-src/Makefile.am
---- dvisvgm-2.3.5/Makefile.am Mon Feb 05 19:10:22 2018
-+++ dvisvgm-src/Makefile.am Sat Mar 24 15:28:20 2018
+diff -u2r dvisvgm-2.4/Makefile.am dvisvgm-src/Makefile.am
+--- dvisvgm-2.4/Makefile.am Tue Jan 02 18:32:38 2018
++++ dvisvgm-src/Makefile.am Fri May 04 13:03:43 2018
@@ -6,5 +6,5 @@
AUTOMAKE_OPTIONS = foreign
EXTRA_DIST = COPYING
@@ -8,9 +8,9 @@ diff -u2r dvisvgm-2.3.5/Makefile.am dvisvgm-src/Makefile.am
+SUBDIRS = libs src #not for TL: tests doc
ACLOCAL_AMFLAGS = -I m4
-diff -u2r dvisvgm-2.3.5/src/Makefile.am dvisvgm-src/src/Makefile.am
---- dvisvgm-2.3.5/src/Makefile.am Thu Mar 22 18:24:00 2018
-+++ dvisvgm-src/src/Makefile.am Sat Mar 24 15:28:48 2018
+diff -u2r dvisvgm-2.4/src/Makefile.am dvisvgm-src/src/Makefile.am
+--- dvisvgm-2.4/src/Makefile.am Thu May 03 17:27:18 2018
++++ dvisvgm-src/src/Makefile.am Fri May 04 13:12:50 2018
@@ -14,8 +14,5 @@
$(noinst_LIBRARIES) \
../libs/clipper/libclipper.a \
@@ -36,7 +36,7 @@ diff -u2r dvisvgm-2.3.5/src/Makefile.am dvisvgm-src/src/Makefile.am
+dvisvgm_DEPENDENCIES += $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) $(FREETYPE2_DEPEND)
libdvisvgm_a_SOURCES = \
-@@ -242,35 +248,45 @@
+@@ -246,35 +252,45 @@
EXTRA_DIST = options.xml options.dtd iapi.h ierrors.h MiKTeXCom.hpp MiKTeXCom.cpp
-AM_CFLAGS = -Wall \
@@ -97,7 +97,7 @@ diff -u2r dvisvgm-2.3.5/src/Makefile.am dvisvgm-src/src/Makefile.am
+# 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
-@@ -285,6 +301,16 @@
+@@ -289,6 +305,16 @@
psdefs.ps: ;
+endif ! TEXLIVE_BUILD
diff --git a/Build/source/texk/dvisvgm/configure b/Build/source/texk/dvisvgm/configure
index fff542dcf2b..078a13122e1 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.3.5.
+# Generated by GNU Autoconf 2.69 for dvisvgm (TeX Live) 2.4.
#
# 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.3.5'
-PACKAGE_STRING='dvisvgm (TeX Live) 2.3.5'
+PACKAGE_VERSION='2.4'
+PACKAGE_STRING='dvisvgm (TeX Live) 2.4'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -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.3.5 to adapt to many kinds of systems.
+\`configure' configures dvisvgm (TeX Live) 2.4 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.3.5:";;
+ short | recursive ) echo "Configuration of dvisvgm (TeX Live) 2.4:";;
esac
cat <<\_ACEOF
@@ -1581,7 +1581,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dvisvgm (TeX Live) configure 2.3.5
+dvisvgm (TeX Live) configure 2.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2449,7 +2449,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dvisvgm (TeX Live) $as_me 2.3.5, which was
+It was created by dvisvgm (TeX Live) $as_me 2.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -8188,7 +8188,7 @@ fi
# Define the identity of the package.
PACKAGE='dvisvgm--tex-live-'
- VERSION='2.3.5'
+ VERSION='2.4'
cat >>confdefs.h <<_ACEOF
@@ -20189,7 +20189,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dvisvgm (TeX Live) config.lt 2.3.5
+dvisvgm (TeX Live) config.lt 2.4
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -23585,7 +23585,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.3.5, which was
+This file was extended by dvisvgm (TeX Live) $as_me 2.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23651,7 +23651,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.3.5
+dvisvgm (TeX Live) config.status 2.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog b/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
deleted file mode 100644
index def2eca2b78..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
+++ /dev/null
@@ -1,7471 +0,0 @@
-2018-02-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml, .travis.yml, CMakeLists.txt, 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-08 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml, .travis.yml, CMakeLists.txt, 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-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, src/Ghostscript.cpp:
- prevent build error if GS development files are missing
-
-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: 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, CMakeLists.txt, configure.ac, src/Doxyfile,
- src/version.hpp:
- set version to 2.3.1
-
-2018-01-08 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml:
- updated FreeType to version 2.9
-
-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/Makefile.old,
- 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/SWFWriter.cpp, src/SWFWriter.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/genhashmap.py, src/gf2xml.cpp,
- src/macros.hpp, src/options.dtd, src/options.xml, src/psdefs.cpp,
- src/psdefs.ps, 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, update-copyright-year.sh:
- 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, CMakeLists.txt, 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>
-
- * cmake-config.h, cmake/FindTTFAutohint.cmake, configure.ac,
- src/CMakeLists.txt, 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, libs/xxHash/xxhsum.c:
- 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/CMakeLists.txt, 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()
-
- * CMakeLists.txt, cmake-config.h, cmake/FindTTFAutohint.cmake,
- configure.ac, src/CMakeLists.txt, src/FontWriter.cpp, src/Makefile.am,
- src/dvisvgm.cpp, tests/CMakeLists.txt:
- added optional support for ttfautohint
-
-2017-12-14 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, libs/CMakeLists.txt, libs/Makefile.am,
- libs/brotli/CMakeLists.txt, 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/CMakeLists.txt,
- 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/CMakeLists.txt,
- 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
-
- * tests/CMakeLists.txt:
- ctest: colorize test results and keep gtest colors
-
-2017-12-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml, .travis.yml, CMakeLists.txt, 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/CMakeLists.txt,
- 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/CMakeLists.txt, 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, CMakeLists.txt, configure.ac, src/Doxyfile,
- src/version.hpp:
- set version to 2.2.2
-
- * NEWS:
- updated NEWS
-
-2017-11-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * CMakeLists.txt:
- cmake: generate compile_commands.json by default
-
-2017-11-13 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml, .travis.yml, CMakeLists.txt, 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/CMakeLists.txt, src/PsSpecialHandler.hpp, src/psdefs.cpp,
- src/psdefs.ps, tests/PSInterpreterTest.cpp:
- properly apply CTM to linewidth (closes #77)
-
- * src/PsSpecialHandler.hpp, src/psdefs.cpp, src/psdefs.ps,
- 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, CMakeLists.txt, 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/CMakeLists.txt,
- libs/Makefile.am, libs/variant/CMakeLists.txt, libs/variant/LICENSE.md,
- libs/variant/Makefile.am, libs/variant/include/mpark/config.hpp,
- libs/variant/include/mpark/in_place.hpp,
- libs/variant/include/mpark/lib.hpp,
- libs/variant/include/mpark/variant.hpp, src/CMakeLists.txt,
- 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/CMakeLists.txt, tests/Makefile.am, tests/PDFParserTest.cpp,
- tests/SpecialManagerTest.cpp, tests/create-makefile:
- added evaluation of PDF hyperlink specials (closes #74)
-
- * .travis.yml:
- Travis: use gcc 4.9 rather than 4.8 to compile mpark::variant correctly
-
-2017-10-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/CMakeLists.txt, 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
-
-2017-10-08 Martin Gieseking <martin.gieseking@uos.de>
-
- * libs/woff2/CMakeLists.txt, 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/CMakeLists.txt,
- 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-19 Martin Gieseking <martin.gieseking@uos.de>
-
- * transfer-cs:
- updated makeskel and transfer-cs
-
-2017-09-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml:
- updated FreeType to version 2.8.1
-
-2017-09-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp, src/SpecialManager.cpp, src/SpecialManager.hpp,
- src/utility.hpp, tests/CMakeLists.txt, 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
-
-2017-09-13 Martin Gieseking <martin.gieseking@uos.de>
-
- * tests/FileSystemTest.cpp:
- close streams before removing crresponding files
-
- * tests/CMakeLists.txt:
- make name of Python script part of custom command
-
-2017-09-12 Martin Gieseking <martin.gieseking@uos.de>
-
- * tests/CMakeLists.txt:
- made testmain a library to prevent separate builds for each test
-
-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/CMakeLists.txt, tests/Makefile.am, tests/create-makefile,
- tests/gtest/CMakeLists.txt, 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, libs/xxHash/xxhsum.c:
- updated xxhash to version 0.6.3
-
-2017-09-07 Martin Gieseking <martin.gieseking@uos.de>
-
- * tests/CMakeLists.txt, 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/CMakeLists.txt, src/CMapReader.cpp, src/Color.cpp,
- src/CommandLine.hpp, src/FontWriter.cpp, src/genhashmap.py,
- 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:
- 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-30 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/gf2xml.cpp, src/gf2xml.mak:
- added scripts to generate SVG files from GF glyphs
-
-2017-06-29 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/gfprint.mak:
- updated gfprint utility
-
-2017-06-26 Martin Gieseking <martin.gieseking@uos.de>
-
- * .appveyor.yml:
- AppVeyor: changed build image to VS 2017
-
-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/CMakeLists.txt, 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
-
- * .appveyor.yml:
- updated FreeType to version 2.8
-
-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>
-
- * CMakeLists.txt, cmake-config.h, 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/CMakeLists.txt, 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-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * .gitignore:
- updated .hgignore
-
-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 parameter of DLLoader() and loadLibrary() with string
-
- * src/Ghostscript.cpp:
- try to load libgs.X.dylib on Mac systems (closes #66)
-
-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
-
- * .gitignore, CMakeLists.txt, libs/ff-woff/CMakeLists.txt,
- src/CMakeLists.txt, tests/CMakeLists.txt:
- cmake: fixed build issues when using a separate build directory
-
- * 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
-
- * libs/woff2/CMakeLists.txt, 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:
- util::tolower() no longer modifies its string parameter
-
-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
-
- * libs/woff2/CMakeLists.txt:
- adapted Makefiles to updated libwoff2
-
-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
-
- * CMakeLists.txt, cmake-config.h, cmake/CodeCoverage.cmake,
- cmake/GetTriple.cmake, libs/CMakeLists.txt, libs/clipper/CMakeLists.txt,
- libs/ff-woff/CMakeLists.txt, libs/woff2/CMakeLists.txt,
- libs/xxHash/CMakeLists.txt, prepare-cmake.sh, src/CMakeLists.txt,
- tests/CMakeLists.txt, tests/gtest/CMakeLists.txt:
- improved cmake build environment (works with ninja)
-
-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.hpp:
- removed 'expicit' keyword from default constructor to make gcc 4.8 happy
-
- * 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-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
-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-27 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
-
-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-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/options.xml:
- get name of options.xml from command-line; fixed indentation
-
- * src/genhashmap.cpp, src/genhashmap.py, src/glyphlist/Makefile,
- src/glyphlist/glyphlist.dtd, src/glyphlist/glyphlist.xsl,
- src/glyphlist/xmlify.py:
- improved generation of AGLTable.hpp
-
-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, src/genhashmap.cpp, src/glyphlist.txt,
- src/glyphlist/Makefile, src/glyphlist/glyphlist-tex.txt,
- src/glyphlist/glyphlist.dtd, src/glyphlist/glyphlist.txt,
- src/glyphlist/glyphlist.xsl, src/glyphlist/xmlify.py:
- 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/Makefile.old,
- 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/SWFWriter.cpp, src/SWFWriter.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/psdefs.ps, 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)
-
- * src/RangeMap.cpp:
- don't decrement iterator if it points to begin()
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.0.2
-
- * NEWS, README.md:
- updated NEWS and README
-
-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>
-
- * 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-fileno.patch,
- libs/xxHash/xxhash.c, libs/xxHash/xxhash.h, libs/xxHash/xxhsum.c,
- src/Makefile.am, tests/Makefile.am, tests/create-makefile,
- xxHash/LICENSE, xxHash/Makefile.am, xxHash/xxhash-fileno.patch,
- xxHash/xxhash.c, xxHash/xxhash.h, xxHash/xxhsum.c:
- 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, xxHash/xxhsum.c:
- 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>
-
- * CMakeLists.txt, 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-10 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/MiKTeX209-session_i.c:
- added Makefile rule to invocate midl automatically if MiKTeX's COM
- interface changes
-
-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>
-
- * CMakeLists.txt, 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, src/genhashmap.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/SWFWriter.cpp,
- src/SWFWriter.h, src/SWFWriter.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/genhashmap.cpp, src/glyphlist.txt:
- added genhashmap (generates AGLTable.h from glyphlist.txt)
-
- * 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/SWFWriter.cpp, src/SWFWriter.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, xxHash/xxhsum.c:
- 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
-
- * xxHash/xxhash-fileno.patch, xxHash/xxhsum.c:
- added xxHash test utility 'xxhsum'
-
-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='
-
- * CMakeLists.txt:
- updated CMakeLists.txt
-
-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:
- 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)
-
-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>
-
- * transfer-cs:
- remove patch files after they've been transferred
-
- * 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>
-
- * 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/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>
-
- * 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/Makefile.old, 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/SWFWriter.cpp, src/SWFWriter.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.ggo, src/options.xml, src/psdefs.cpp,
- src/psdefs.ps, 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
-
- * .travis.yml:
- force Travis to use legacy builds due to an issue with clang and gtest
-
-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>
-
- * CMakeLists.txt, 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-27 Martin Gieseking <martin.gieseking@uos.de>
-
- * .gitignore, CMakeLists.txt, cmake/FindGhostscript.cmake,
- cmake/FindKpathsea.cmake, cmake/FindPotrace.cmake:
- added files for cmake
-
-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, src/psdefs.ps:
- 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, src/psdefs.ps:
- minor code cleanup and reordering
-
- * src/psdefs.cpp, src/psdefs.ps:
- reduce rounding errors produced by PS operator 'charpath'
-
- * src/psdefs.cpp, src/psdefs.ps:
- 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-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
-
-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>
-
- * 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
-
- * Makefile.am, clipper/Makefile.am, configure.ac, m4/ax_code_coverage.m4,
- 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>
-
- * 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-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>
-
- * 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-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/Makefile.old,
- 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/SWFWriter.cpp, src/SWFWriter.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/gfprint.mak, src/macros.h,
- src/options.dtd, src/options.xml, src/psdefs.cpp, src/psdefs.ps,
- 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,
- src/psdefs.ps:
- 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, src/psdefs.ps,
- 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-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/MiKTeXCom.cpp:
- added missing includes to make MinGW-w64 happy
-
-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-20 Khaled Hosny <khaled.hosny@hindawi.com>
-
- * src/CommandLine.cpp, src/CommandLine.h, src/SVGTree.cpp, src/SVGTree.h,
- src/dvisvgm.cpp, src/options.xml:
- Add an option not to merge adjacent chars
-
-With this option on, each DVI
- character is put in its own <text> tag.
-Makes post processing the SVG
- file a bit simpler.
-
-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
-
-2014-08-10 Khaled Hosny <khaledhosny@eglug.org>
-
- * configure.ac, src/Makefile.am:
- EXTRA_LIBS is not used anymore
-
- * 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 <martin.gieseking@uos.de>
-
- * src/XMLDocument.cpp, src/XMLDocument.h, src/XMLNode.cpp, src/XMLNode.h:
- removed unused emit() methods from XML classes
-
-2014-08-06 Martin Gieseking <martin.gieseking@uos.de>
-
- * README.md:
- minor fixes to README.md
-
-2014-07-31 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/PsSpecialHandler.cpp, src/psdefs.cpp, src/psdefs.ps:
- prevent side-effects caused by bop/eop operators present in PS specials
-
-2014-07-29 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS:
- updated NEWS
-
-2014-07-28 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/GraphicPath.h, src/PSInterpreter.cpp, src/PSInterpreter.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/psdefs.cpp,
- src/psdefs.ps, 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 <martin.gieseking@uos.de>
-
- * src/Font.cpp, src/GFGlyphTracer.cpp, src/GraphicPath.h,
- src/PsSpecialHandler.cpp:
- renamed GraphicPath::newpath() to GraphicPath::clear()
-
-2014-07-24 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/InputReader.cpp, src/PSInterpreter.cpp:
- ensure that InputReader::compare() checks whole and not just partial
- words
-
-2014-07-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
-2014-07-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Ghostscript.cpp:
- get proper name of Ghostscript library when building for Cygwin
-
-2014-06-23 Martin Gieseking <martin.gieseking@uos.de>
-
- * README.md:
- added markdown version of README
-
-2014-06-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/psdefs.cpp, src/psdefs.ps:
- suppress output of PS operator ':show' to prevent the creation of
- additional graphic elements
-
-2014-06-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/SpecialActions.h, tests/ColorSpecialTest.cpp:
- renamed class SpecialEmptyActions to EmptySpecialActions
-
-2014-06-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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/SWFWriter.cpp, 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 <martin.gieseking@uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.h:
- removed redundant variable DVIReader::_prevBop
-
- * rpm/Makefile.am:
- removed outdated project folder 'rpm'
-
- * src/PsSpecialHandler.cpp:
- fixed incorrect extent values shown when applying a preview bbox
- (bp->pt)
-
-2014-06-01 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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/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:
- Makefiles: put source files on separate lines
-
-2014-04-30 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/SVGTree.cpp:
- don't add unnecessary element 'missing-glyph' to SVG files
-
-2014-04-24 Martin Gieseking <martin.gieseking@uos.de>
-
- * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/options.xml:
- renamed argument of option --linkmark from 'type' to 'style'
-
-2014-04-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.6
-
-2014-04-21 Martin Gieseking <martin.gieseking@uos.de>
-
- * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/EPSToSVG.cpp:
- removed date and machine triplet from generated SVG files
-
-2014-04-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Ghostscript.cpp:
- check if library given by --libgs is actually a GS library
-
-2014-01-10 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS:
- updated NEWS
-
-2014-01-03 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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/Makefile.old,
- 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/SWFWriter.cpp, src/SWFWriter.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/psdefs.ps,
- 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
-
-2013-12-29 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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-11-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIReader.cpp, src/SVGTree.cpp, src/SVGTree.h:
- don't let global font colors interfere with color specials
-
-2013-10-29 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS:
- updated NEWS
-
-2013-10-28 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp:
- suppress output of logical page number if it equals physical page number
-
-2013-10-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/PSPreviewFilter.cpp, src/PsSpecialHandler.cpp:
- ensure proper evaluation of tightpage data if multiple pages are
- processed
-
-2013-10-12 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/XMLString.cpp:
- replace very small floating point numbers by 0
-
-2013-08-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FileFinder.cpp:
- suppress error messages from makeFOO tools
-
-2013-08-13 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Matrix.cpp, src/Matrix.h:
- renamed Matrix skewing methods
-
-2013-08-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/CMapManager.cpp, src/CMapManager.h, src/FontManager.cpp:
- avoid const_cast in CMapManager
-
-2013-08-02 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/EPSToSVG.cpp:
- print warning message if height or width of EPS bbox is 0
-
- * src/psdefs.cpp, src/psdefs.ps:
- 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, src/psdefs.ps:
- replaced PS operator prval with =only in psdefs
-
-2013-07-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp:
- ensure catching PSExceptions while processing PS header specials to
- prevent segfaults
-
- * src/psdefs.cpp, src/psdefs.ps:
- properly store PS operator applyscalevals in systemdict
-
-2013-07-14 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/FileFinder.cpp:
- removed redundant 'using namespace std'
-
-2013-06-03 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/dvisvgm.cpp:
- added a missing (underlining) hyphen to the output of -V1
-
-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/HtmlSpecialHandler.h:
- dropped old HtmlSpecialHandler.h that should had been removed long time
- ago
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVGActions.cpp, src/Terminal.cpp, src/Terminal.h:
- disable cursor when showing the progress indicator (Windows only)
-
-2013-04-26 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp:
- don't link NoPsSpecialHandler if HAVE_LIBGS
-
-2013-04-25 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FontEncoding.cpp:
- fixed bracketing bug that prevented lookup of fontmap files
-
-2013-04-24 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/dvisvgm.cpp:
- avoid output of empty parentheses if TARGET_SYSTEM is not set
-
- * 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/NoPsSpecialHandler.cpp,
- src/NoPsSpecialHandler.h, src/SpecialManager.cpp:
- print a warning message if PS specials are found but ignored
-
-2013-04-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FileFinder.cpp, src/dvisvgm.cpp:
- catch MessageException if MiKTeX version can't be obtained
-
-2013-04-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/DVIToSVGActions.cpp:
- allow the background color special to insert white rectancles
-
- * src/CmdLineParserBase.h, src/InputReader.h:
- changed 'struct InputReader' to 'class InputReader'
-
- * src/PageRanges.h:
- dropped unused variable PageRanges::_max
-
-2013-04-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- unhide derived method XMLDeclarationNode::append
-
-2013-03-10 Martin Gieseking <martin.gieseking@uos.de>
-
- * Makefile.am, configure.ac:
- don't build bundled potracelib if system library is used (patch by
- Alexis Ballier)
-
-2013-03-03 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 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.ps, src/psdefs.psc,
- tests/PSInterpreterTest.cpp:
- PS handler: added support of tiling patterns
-
- * src/Makefile.am, src/PSInterpreter.cpp, src/psdefs.cpp, src/psdefs.ps,
- 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, src/psdefs.ps:
- improved processing of PS operator "show"
-
- * configure.ac, src/Doxyfile:
- set version to 1.2
-
- * NEWS:
- updated NEWS
-
-2013-02-21 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- added methods to lookup attribute values and selected descendant XML
- nodes
-
-2013-02-19 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/PSInterpreter.cpp, src/PSInterpreter.h:
- added PSInterpreter::limit() to limit the number of bytes to be
- processed
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/CommandLine.cpp:
- fixed alignment of --help text
-
-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 <martin.gieseking@uos.de>
-
- * src/FontEngine.cpp, src/FontEngine.h:
- removed unneeded code related to font sizes from class FontEngine
-
-2013-01-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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/HtmlSpecialHandler.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/SWFWriter.cpp, src/SWFWriter.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.ps, 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Ghostscript.cpp:
- added explicit cast to avoid signed/unsigned comparison warning
-
-2012-12-02 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
- * src/MiKTeX209-session_i.c:
- add additiona files required to build dvisvgm with MinGW
-
- * src/FileFinder.cpp, src/FontEngine.cpp, src/Makefile.am,
- src/MiKTeXCom.cpp, src/MiKTeXCom.h:
- moved MiKTeX COM code to separate class
-
- * doc/dvisvgm.txt.in, src/Ghostscript.cpp:
- use gsdll64.dll for 64-bit builds; added info about gsdll64.dll to
- manpage
-
-2012-11-23 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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.ps, src/psdefs.psc:
- print operand stack in case of a PS error
-
-2012-11-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/Message.cpp:
- handle wrapping of messages containing newlines correctly
-
-2012-11-21 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DLLoader.cpp, src/DLLoader.h, src/Ghostscript.cpp:
- renamed DLLoader::loadFunction() to DLLoader::loadSymbol()
-
-2012-11-19 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Directory.h:
- undefine macro max() to avoid compilation problems on Windows
-
-2012-11-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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
-
- * doc/Makefile.am:
- remove manpage when calling 'make distclean'
-
-2012-09-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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-06-06 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/gfprint.mak:
- fixed bugs in gfprint, and added gfprint.mak for easier builds
-
-2012-04-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * doc/Makefile.am:
- keep manpage when calling 'make clean' or 'make distclean'
-
-2012-04-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp:
- added Matrix::invert() and det()
-
-2012-03-29 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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.ps, src/psdefs.psc:
- evaluate PS operators rectclip, rectfill, and rectstroke
-
-2012-03-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVGActions.cpp:
- correct location of a rule's bounding box (lp bug #948713)
-
-2012-02-24 Martin Gieseking <martin.gieseking@uos.de>
-
- * doc/dvisvgm.txt.in:
- fixed a couple of mistakes and formatting flaws in the manpage
-
-2012-02-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * README:
- updated information about bug reporting
-
-2012-01-26 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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/HtmlSpecialHandler.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/SWFWriter.cpp, src/SWFWriter.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.ps, 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/GraphicPath.h:
- added some more comments to the methods of GraphicPath
-
-2011-11-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac:
- move linker flag -lfreetype from LDFLAGS to LIBS to avoid linking
- problems
-
-2011-10-28 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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>
-
- * NEWS:
- updated NEWS
-
-2011-10-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FilePath.cpp:
- added some missing comments to methods of class FilePath
-
- * src/Directory.h:
- dropped method Directory::getEntry()
-
-2011-10-07 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * doc/Makefile.am:
- add metadata/pdfmarks to pdf version of manpage
-
-2011-09-06 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 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-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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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.ps, 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>
-
- * NEWS, README, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.7; updated NEWS and README
-
- * fedora/dvisvgm-gs.patch, fedora/dvisvgm-potrace.patch,
- fedora/dvisvgm.spec:
- removed directories 'fedora' and 'homepage'
-
-2011-05-05 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
- * src/DVIToSVGActions.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h,
- src/psdefs.ps, src/psdefs.psc:
- PS handler: added missing unit conversions (pt vs. bp)
-
- * doc/dvisvgm.txt.in:
- added info about dvips rounding issues to manpage
-
-2011-05-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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.ps, 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
-
-2011-05-02 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/psdefs.ps, src/psdefs.psc:
- PS handler: recognize save/restore operators
-
-2011-04-30 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.7dev
-
- * src/SpecialManager.cpp:
- register special prefix ps:: properly
-
- * src/psdefs.ps, src/psdefs.psc:
- catch PS error /nocurrentpoint in operator 'setpos' properly
-
-2011-04-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS, README, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.6; updated NEWS and README
-
-2011-04-14 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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()
-
- * 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
-
-2011-04-13 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- prepended member variables of the XMLNode classes with underscore
-
-2011-04-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp,
- tests/FileFinderTest.cpp:
- dropped class FileFinder::Impl and simplified FileFinder interface
-
-2011-03-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIReader.cpp:
- throw DVI exception if set_char/put_char is executed without preceding
- font selection
-
-2011-03-12 Martin Gieseking <martin.gieseking@uos.de>
-
- * pull-wiki:
- updated rsync parameters in 'pull-wiki'
-
-2011-03-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, 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
-
- * src/CRC32.cpp, src/StreamWriter.cpp:
- added missing 'const' to type casts (Peter Breitenlohner)
-
-2011-02-28 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.5, updated NEWS
-
-2011-02-21 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/InputBuffer.h:
- reference to scanned string in StringInputBuffer is constant now
-
-2011-02-10 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/CmdLineParserBase.cpp:
- print character instead of ascii value in message of command-line parser
-
-2011-01-30 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <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 bundled potrace library to version 1.9
-
-2011-01-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * doc/dvisvgm.txt.in, src/dvisvgm.cpp:
- moved cache files to subfolder ($HOME/.dvisvgm/cache)
-
-2011-01-04 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/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/HtmlSpecialHandler.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/SWFWriter.cpp, src/SWFWriter.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.ps, 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 <martin.gieseking@uos.de>
-
- * src/PsSpecialHandler.cpp:
- fixed scaling issue in PS positioning
-
- * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/psdefs.ps, src/psdefs.psc:
- PS handler: added missing scaling of linewidths and dash distances
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.4; updated NEWS
-
- * doc/dvisvgm.txt.in:
- minor update to the manpage
-
-2010-12-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FileFinder.cpp:
- updated to MiKTeX 2.8 SDK
-
-2010-08-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FontEngine.cpp:
- fixed FreeType version check (patch by Paul Vojta)
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.4dev
-
-2010-08-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * tests/Makefile.am, tests/PairTest.cpp:
- added PairTest
-
-2010-08-05 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.3
-
- * NEWS, doc/dvisvgm.txt.in:
- updated manpage and NEWS
-
-2010-08-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp:
- added check of DVI format version
-
-2010-07-26 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- restore transformation matrix after execution of psfile
-
-2010-07-13 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, 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 <martin.gieseking@uos.de>
-
- * src/gzstream.cpp, src/gzstream.h:
- fixed class variable issue introduced by previous AIX patch
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.2
-
-2010-06-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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
-
- * 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 <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.2dev
-
-2010-06-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/Message.cpp:
- suppress ANSI color code by default
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.1
-
-2010-06-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.1dev
-
- * src/psdefs.ps, src/psdefs.psc:
- fixed recursion issue in PS operator charpath
-
-2010-06-08 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, doc/Makefile.am, src/Makefile.am:
- cleaned up configuration scripts
-
- * configure.ac, fedora/dvisvgm.spec, 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.ps, 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, fedora/dvisvgm.spec, 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 <martin.gieseking@uos.de>
-
- * configure.ac:
- fixed whitespace issue in CPPFLAGS and LDFLAGS
-
-2010-05-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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-22 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 0.9.1
-
-2010-04-20 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/FontEncoding.cpp:
- fixed memory bug in FontEncoding::encoding()
-
-2010-04-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 0.9.1dev
-
- * src/DVIToSVGActions.cpp:
- replaced wrong font pointer that could lead to segfaults
-
-2010-03-25 Martin Gieseking <martin.gieseking@uos.de>
-
- * fedora/dvisvgm.spec:
- updated spec file
-
-2010-03-24 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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, fedora/dvisvgm.spec, 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
-
- * transfer-cs:
- added extension .patch to exported changesets
-
-2010-03-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp:
- added evaluation of literal PS headers to PSHeaderActions
-
-2010-02-04 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/psdefs.ps, src/psdefs.psc:
- removed PS error handler nocurrentpoint
-
-2010-02-02 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- version updated to 0.8.8
-
- * fedora/dvisvgm.spec:
- updated homepage and spec file
-
-2010-02-01 Martin Gieseking <martin.gieseking@uos.de>
-
- * tests/check-conv:
- skip conversion checks by default
-
-2010-01-31 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/CommandLine.cpp, src/options.dtd, src/options.xml:
- added DTD for options.xml
-
-2010-01-17 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac:
- updated type of kpathsea_version_string (patch by lomov_vl)
-
- * 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/HtmlSpecialHandler.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/SWFWriter.cpp, src/SWFWriter.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.ps, 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 <martin.gieseking@uos.de>
-
- * src/InputReader.cpp:
- fixed bug in InputReader::parseUInt()
-
-2009-12-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * configure.ac, src/dvisvgm.cpp:
- appied get_time patch sent by Peter Breitenlohner
-
-2009-12-02 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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-23 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIToSVG.cpp:
- avoid scaling by 1 in use elements
-
-2009-11-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version 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-10 Martin Gieseking <martin.gieseking@uos.de>
-
- * fedora/dvisvgm.spec:
- updated spec file
-
-2009-11-09 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * src/DVIToSVGActions.cpp, src/Font.cpp, src/Font.h:
- fixed positioning of italic characters
-
-2009-10-18 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/Font.cpp, src/TFM.cpp, src/TFM.h:
- added italic correction values to character widths
-
-2009-10-16 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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 <martin.gieseking@uos.de>
-
- * 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
-
- * src/FontInfo.cpp, src/FontInfo.h, src/FontTracer.h, src/PSObject.cpp,
- src/PSObject.h, src/PSState.cpp, src/PSState.h, src/global.cpp,
- src/global.h:
- removed unused source files
-
-2009-10-11 Martin Gieseking <martin.gieseking@uos.de>
-
- * transfer-cs:
- improved transfer-cs
-
- * 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
-
- * transfer-cs:
- added script to transfer changesets to dvisvgm-pub
-
- * 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.ps, 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>
-
- * 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.ps, 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.ps, src/psdefs.psc:
- added evaluation of PS 'show' operator in order to evaluate PSTricks
- Type 3 fonts properly
-
-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/FontInfo.cpp,
- src/FontInfo.h, src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp,
- src/FontMap.h, src/FontTracer.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/HtmlSpecialHandler.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/PSObject.cpp,
- src/PSObject.h, src/PSState.cpp, src/PSState.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/SWFWriter.cpp, src/SWFWriter.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/global.cpp,
- src/global.h, src/inttypes.h, src/macros.h, src/psdefs.ps,
- 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,
- rpm/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, rpm/dvisvgm.spec, rpm/dvisvgm.spec.in,
- 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, src/psdefs.ps:
- 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/psdefs.ps, src/tests/StreamInputBufferTest.h:
- implemented psfile special; fixed some bugs
-
- * src/PsSpecialHandler.cpp, src/SVGTree.cpp:
- fixed bbox bug; added missing file
-
-2009-06-01 Martin Gieseking <martin.gieseking@uos.de>
-
- * 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-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-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
-
-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/HtmlSpecialHandler.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-15 Martin Gieseking <martin.gieseking@uos.de>
-
- * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am,
- src/SpecialActions.h, src/SpecialManager.cpp, src/VerbSpecialHandler.cpp,
- src/VerbSpecialHandler.h, src/XMLString.cpp, src/XMLString.h:
- added special handler for verbatim output
-
-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>
-
- * src/types.h:
- replaced static definition of sized integers by template program
-
- * Makefile.am, configure.ac, src/tests/DirectoryTest.h:
- removed rpm support
-
- * hgauthors, 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-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/extract-colors.php:
- added php-script that extracts color definitions from color.pro
-
- * 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, rpm/dvisvgm.spec.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/FontInfo.cpp, src/FontInfo.h, src/FontManager.cpp, src/FontManager.h,
- src/FontMap.cpp, src/FontMap.h, src/FontTracer.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/Makefile.orig, 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/PSObject.cpp, src/PSObject.h, src/PSState.cpp,
- src/PSState.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/global.cpp,
- src/global.h, 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/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,
- rpm/dvisvgm.spec.in, 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/FontInfo.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/Makefile.orig, src/dvisvgm.cpp,
- src/tests/FontManagerTest.h:
- minor changes
-
- * src/DVIBBoxReader.cpp, src/DVIBBoxReader.h, src/Font.cpp, src/Font.h,
- src/Makefile.orig, 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/Makefile.orig, 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>
-
- * 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, mkwindist.pl, 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,
- rpm/Makefile, rpm/Makefile.am, rpm/Makefile.in, rpm/dvisvgm.spec,
- rpm/dvisvgm.spec.in:
- moved sources
-
-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, mkwindist.pl, 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,
- rpm/Makefile, rpm/Makefile.am, rpm/Makefile.in, rpm/dvisvgm.spec,
- rpm/dvisvgm.spec.in, src/A, 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/FontInfo.cpp, src/FontInfo.h, src/FontMap.cpp, src/FontMap.h,
- src/FontTracer.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/Makefile.orig, 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/PSObject.cpp, src/PSObject.h, src/PSState.cpp,
- src/PSState.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/global.cpp, src/global.h,
- 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, rpm/Makefile, rpm/Makefile.am, rpm/Makefile.in,
- rpm/dvisvgm.spec, rpm/dvisvgm.spec.in:
- 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/FontInfo.cpp, src/FontInfo.h,
- src/FontMap.cpp, src/FontMap.h, src/FontTracer.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/PSObject.cpp, src/PSObject.h, src/PSState.cpp,
- src/PSState.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/global.cpp, src/global.h, src/macros.h,
- src/test-all.cpp, src/types.h:
- minor modifications
-
-2007-01-03 Martin Gieseking <martin.gieseking@uos.de>
-
- * NEWS, mkwindist.pl, 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/Makefile.orig, 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, mkwindist.pl,
- src/A, 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/FontInfo.cpp, src/FontInfo.h,
- src/FontMap.cpp, src/FontMap.h, src/FontTracer.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/Makefile.orig, 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/PSObject.cpp, src/PSObject.h, src/PSState.cpp, src/PSState.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/global.cpp, src/global.h,
- 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/FontInfo.cpp, src/FontInfo.h,
- src/FontMap.cpp, src/FontMap.h, src/FontTracer.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/PSObject.cpp, src/PSObject.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/global.cpp, src/global.h, src/macros.h,
- src/test-all.cpp, src/tests/CalculatorTest.h, src/tests/PageSizeTest.h,
- src/tests/StreamCounterTest.h, src/types.h:
- changed keyword tags
-
- * src/lshort-cm.dvi, src/lshort-cm.svg, src/lshort-cm.svgz,
- src/lshort.dvi, src/lshort.svg, src/lshort.svgz:
- removed files that need not be version controlled
-
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
index 8db55229142..26737ac098e 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
@@ -166,8 +166,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`; \
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
index c0b1b2c16ce..5a789c53a0d 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
@@ -1,3 +1,14 @@
+dvisvgm-2.4 (2018-05-03)
+- added special 'pdffile' similar to 'psfile' to embed PDF graphics
+- added option --pdf to convert single-page PDF documents to SVG
+- reassigned short option -P from --progress to --pdf
+- added option --stdin to receive input from stdin
+- option --stdout can now be combined with option --zip
+- added processing of GS operators '.setshapealpha' and '.setblendmode'
+- fixed outer transformations applied to psfile specials
+- fixed computation of bounding boxes triggered by psfile specials
+- several code refactorings
+
dvisvgm-2.3.5 (2018-03-23)
- added evaluation of PS operator 'setpagedevice' in psfile specials
- fixed evaluation of dvips color names
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/README b/Build/source/texk/dvisvgm/dvisvgm-src/README
index 6ef9454bbdf..101888ffa99 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/README
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/README
@@ -2,8 +2,8 @@ dvisvgm -- A DVI to SVG converter
DESCRIPTION
- dvisvgm is a utility for TeX/LaTeX users. It converts DVI and EPS files to
- the XML-based scalable vector graphics format SVG.
+ 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.
DEPENDENCIES
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac b/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac
index 94cb240c008..22e0a4367fc 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.3.5],[martin.gieseking@uos.de])
-DATE="March 2018"
+AC_INIT([dvisvgm],[2.4],[martin.gieseking@uos.de])
+DATE="April 2018"
AC_CONFIG_SRCDIR(src)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1
index a7624a4f082..8c707db8cb0 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: 03/23/2018
+.\" Date: 05/03/2018
.\" Manual: dvisvgm Manual
-.\" Source: dvisvgm 2.3.5
+.\" Source: dvisvgm 2.4
.\" Language: English
.\"
-.TH "DVISVGM" "1" "03/23/2018" "dvisvgm 2\&.3\&.5" "dvisvgm Manual"
+.TH "DVISVGM" "1" "05/03/2018" "dvisvgm 2\&.4" "dvisvgm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -33,7 +33,9 @@ dvisvgm \- converts DVI and EPS files to the XML\-based SVG format
.sp
\fBdvisvgm\fR [ \fIoptions\fR ] \fIfile\fR [\&.dvi]
.sp
-\fBdvisvgm\fR \-E [ \fIoptions\fR ] \fIfile\fR [\&.eps]
+\fBdvisvgm\fR \-\-eps [ \fIoptions\fR ] \fIfile\fR [\&.eps]
+.sp
+\fBdvisvgm\fR \-\-pdf [ \fIoptions\fR ] \fIfile\fR [\&.pdf]
.SH "DESCRIPTION"
.sp
The command\-line utility \fBdvisvgm\fR converts DVI files, as generated by TeX/LaTeX, to the XML\-based scalable vector graphics format SVG\&. It supports the classic DVI version 2 as well as version 3 (created by pTeX in vertical mode), and the XeTeX versions 5 to 7 which are also known as XDV\&. Besides the basic DVI commands, dvisvgm also evaluates many so\-called \fIspecials\fR which heavily extend the capabilities of the plain DVI format\&. For a more detailed overview, see section \fBSupported Specials\fR below\&.
@@ -554,6 +556,15 @@ converts all pages up to page 10,
converts all pages starting with page 10\&. Please consider that the page values don\(cqt refer to the page numbers printed on the corresponding page\&. Instead, the physical page count is expected, where the first page always gets number 1\&.
.RE
.PP
+\fB\-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
+\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
+\fB\-\-libgs\fR
+for further information\&.
+.RE
+.PP
\fB\-d, \-\-precision\fR=\fIdigits\fR
.RS 4
Specifies the maximal number of decimal places applied to floating\-point attribute values\&. All attribute values written to the generated SVG file(s) are rounded accordingly\&. The parameter
@@ -562,7 +573,7 @@ accepts integer values from 0 to 6, where 0 enables the automatic selection of s
\fB\-\-precision\fR\&.
.RE
.PP
-\fB\-P, \-\-progress\fR[=\fIdelay\fR]
+\fB\-\-progress\fR[=\fIdelay\fR]
.RS 4
Enables a simple progress indicator shown when time\-consuming operations like PostScript specials are processed\&. The indicator doesn\(cqt appear before the given delay (in seconds) has elapsed\&. The default delay value is 0\&.5 seconds\&.
.RE
@@ -582,6 +593,17 @@ SVG allows to define graphics paths by a sequence of absolute and/or relative pa
is given, relative commands are created instead\&. This slightly reduces the size of the SVG files in most cases\&.
.RE
.PP
+\fB\-\-stdin\fR
+.RS 4
+Tells dvisvgm to read the DVI or EPS input data from
+\fBstdin\fR
+instead from a file\&. Alternatively to option
+\fB\-\-stdin\fR, a single dash (\-) can be given\&. The default name of the generated SVG file is
+\fIstdin\&.svg\fR
+which can be changed with option
+\fB\-\-output\fR\&.
+.RE
+.PP
\fB\-s, \-\-stdout\fR
.RS 4
Don\(cqt write the SVG output to a file but redirect it to
@@ -835,22 +857,6 @@ Prints the version of dvisvgm and exits\&. If the optional argument is set to
\fB\-z, \-\-zip\fR[=\fIlevel\fR]
.RS 4
Creates a compressed SVG file with suffix \&.svgz\&. The optional argument specifies the compression level\&. Valid values are in the range of 1 to 9 (default value is 9)\&. Larger values cause better compression results but may take slightly more computation time\&.
-.if n \{\
-.sp
-.\}
-.RS 4
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBCaution\fR
-.ps -1
-.br
-This option cannot be combined with
-\fB\-s, \-\-stdout\fR\&.
-.sp .5v
-.RE
.RE
.PP
\fB\-Z, \-\-zoom\fR[=\fIfactor\fR]
@@ -1137,6 +1143,18 @@ Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svg\fR\&.
.RS 4
.\}
.nf
+dvisvgm \- < file\&.dvi
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Converts the first page of \fIfile\&.dvi\fR to \fIstdin\&.svg\fR where the contents of \fIfile\&.dvi\fR is read from \fBstdin\fR\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
dvisvgm \-z file
.fi
.if n \{\
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 1392cb9e333..ee982c442c3 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
@@ -32,7 +32,9 @@ Synopsis
--------
*dvisvgm* [ 'options' ] 'file' [.dvi]
-*dvisvgm* -E [ 'options' ] 'file' [.eps]
+*dvisvgm* --eps [ 'options' ] 'file' [.eps]
+
+*dvisvgm* --pdf [ 'options' ] 'file' [.pdf]
Description
@@ -395,6 +397,13 @@ Please consider that the page values don't refer to the page numbers printed on
corresponding page. Instead, the physical page count is expected, where the first page always
gets number 1.
+*-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.
+
*-d, --precision*='digits'::
Specifies the maximal number of decimal places applied to floating-point attribute values.
All attribute values written to the generated SVG file(s) are rounded accordingly. The
@@ -402,7 +411,7 @@ parameter 'digits' accepts integer values from 0 to 6, where 0 enables the autom
of significant decimal places. This is also the default value if dvisvgm is called without
option *--precision*.
-*-P, --progress*[='delay']::
+*--progress*[='delay']::
Enables a simple progress indicator shown when time-consuming operations like PostScript specials
are processed. The indicator doesn't appear before the given delay (in seconds) has elapsed.
The default delay value is 0.5 seconds.
@@ -418,6 +427,11 @@ current drawing position. By default, dvisvgm creates paths made up of absolute
If option *--relative* is given, relative commands are created instead. This slightly reduces
the size of the SVG files in most cases.
+*--stdin*::
+Tells dvisvgm to read the DVI or EPS input data from *stdin* instead from a file. Alternatively
+to option *--stdin*, a single dash (-) can be given. The default name of the generated SVG file
+is 'stdin.svg' which can be changed with option *--output*.
+
*-s, --stdout*::
Don't write the SVG output to a file but redirect it to *stdout*.
@@ -529,8 +543,6 @@ version numbers of the linked libraries are printed as well.
Creates a compressed SVG file with suffix .svgz. The optional argument specifies the compression
level. Valid values are in the range of 1 to 9 (default value is 9). Larger values cause better
compression results but may take slightly more computation time.
-+
-CAUTION: This option cannot be combined with *-s, --stdout*.
*-Z, --zoom*[='factor']::
Multiplies the 'width' and 'height' attributes of the SVG root element by argument 'factor' while
@@ -710,11 +722,17 @@ eepic and tplot, use these specials to describe graphics.
Examples
--------
---------------
+------------
dvisvgm file
---------------
+------------
Converts the first page of 'file.dvi' to 'file.svg'.
+--------------------
+dvisvgm - < file.dvi
+--------------------
+Converts the first page of 'file.dvi' to 'stdin.svg' where the contents of 'file.dvi'
+is read from *stdin*.
+
---------------
dvisvgm -z file
---------------
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 bb1abc712a1..0d003184008 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am
@@ -29,7 +29,6 @@ libbrotli_a_SOURCES = \
enc/compress_fragment.h \
enc/compress_fragment_two_pass.c \
enc/compress_fragment_two_pass.h \
- enc/context.h \
enc/dictionary_hash.c \
enc/dictionary_hash.h \
enc/encode.c \
@@ -57,7 +56,6 @@ libbrotli_a_SOURCES = \
enc/metablock.h \
enc/metablock_inc.h \
enc/params.h \
- enc/port.h \
enc/prefix.h \
enc/quality.h \
enc/ringbuffer.h \
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 01005633007..0d53a841126 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in
@@ -375,7 +375,6 @@ libbrotli_a_SOURCES = \
enc/compress_fragment.h \
enc/compress_fragment_two_pass.c \
enc/compress_fragment_two_pass.h \
- enc/context.h \
enc/dictionary_hash.c \
enc/dictionary_hash.h \
enc/encode.c \
@@ -403,7 +402,6 @@ libbrotli_a_SOURCES = \
enc/metablock.h \
enc/metablock_inc.h \
enc/params.h \
- enc/port.h \
enc/prefix.h \
enc/quality.h \
enc/ringbuffer.h \
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h
index 26edcd59218..d1b88d12af3 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h
@@ -38,7 +38,7 @@
#define BROTLI_MAX_NPOSTFIX 3
#define BROTLI_MAX_NDIRECT 120
#define BROTLI_MAX_DISTANCE_BITS 24U
-#define BROTLI_DISTANCE_ALPHABET_SIZE(NDIRECT, NPOSTFIX, MAXNBITS) ( \
+#define BROTLI_DISTANCE_ALPHABET_SIZE(NPOSTFIX, NDIRECT, MAXNBITS) ( \
BROTLI_NUM_DISTANCE_SHORT_CODES + (NDIRECT) + \
((MAXNBITS) << ((NPOSTFIX) + 1)))
/* BROTLI_NUM_DISTANCE_SYMBOLS == 1128 */
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h
index d6fd3ee90e9..8d1429094c8 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h
@@ -99,17 +99,15 @@
#define BROTLI_NOINLINE
#endif
-#if defined(__arm__) || defined(__thumb__) || \
- defined(_M_ARM) || defined(_M_ARMT) || defined(__ARM64_ARCH_8__)
-#define BROTLI_TARGET_ARM
#if (defined(__ARM_ARCH) && (__ARM_ARCH == 7)) || \
(defined(M_ARM) && (M_ARM == 7))
#define BROTLI_TARGET_ARMV7
#endif /* ARMv7 */
-#if defined(__aarch64__) || defined(__ARM64_ARCH_8__)
+
+#if (defined(__ARM_ARCH) && (__ARM_ARCH == 8)) || \
+ defined(__aarch64__) || defined(__ARM64_ARCH_8__)
#define BROTLI_TARGET_ARMV8
#endif /* ARMv8 */
-#endif /* ARM */
#if defined(__i386) || defined(_M_IX86)
#define BROTLI_TARGET_X86
@@ -213,12 +211,25 @@ static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
return *(const uint32_t*)p;
}
+#if (BROTLI_64_BITS)
static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
return *(const uint64_t*)p;
}
static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
*(uint64_t*)p = v;
}
+#else /* BROTLI_64_BITS */
+/* Avoid emitting LDRD / STRD, which require properly aligned address. */
+static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
+ const uint32_t* dwords = (const uint32_t*)p;
+ return dwords[0] | ((uint64_t)dwords[1] << 32);
+}
+static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
+ uint32_t* dwords = (uint32_t *)p;
+ dwords[0] = (uint32_t)v;
+ dwords[1] = (uint32_t)(v >> 32);
+}
+#endif /* BROTLI_64_BITS */
#endif /* BROTLI_ALIGNED_READ */
#if BROTLI_LITTLE_ENDIAN
@@ -328,7 +339,7 @@ OR:
#define BROTLI_IS_CONSTANT(x) (!!0)
#endif
-#if defined(BROTLI_TARGET_ARM)
+#if defined(BROTLI_TARGET_ARMV7) || defined(BROTLI_TARGET_ARMV8)
#define BROTLI_HAS_UBFX (!!1)
#else
#define BROTLI_HAS_UBFX (!!0)
@@ -362,7 +373,7 @@ static BROTLI_INLINE brotli_reg_t BrotliRBit(brotli_reg_t input) {
return output;
}
#define BROTLI_RBIT(x) BrotliRBit(x)
-#endif /* armv7 */
+#endif /* armv7 / armv8 */
#endif /* gcc || clang */
#if !defined(BROTLI_RBIT)
static BROTLI_INLINE void BrotliRBit(void) { /* Should break build if used. */ }
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h
index 435371c2d8d..54470f6006f 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h
@@ -14,13 +14,13 @@
BrotliEncoderVersion methods. */
/* Semantic version, calculated as (MAJOR << 24) | (MINOR << 12) | PATCH */
-#define BROTLI_VERSION 0x1000003
+#define BROTLI_VERSION 0x1000004
/* This macro is used by build system to produce Libtool-friendly soname. See
https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
*/
/* ABI version, calculated as (CURRENT << 24) | (REVISION << 12) | AGE */
-#define BROTLI_ABI_VERSION 0x1003000
+#define BROTLI_ABI_VERSION 0x1004000
#endif /* BROTLI_COMMON_VERSION_H_ */
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c
index 62ecea75dfb..3dd897b217a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c
@@ -49,6 +49,7 @@ static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance,
#define CAT(a, b) a ## b
#define FN(X) EXPAND_CAT(X, HASHER())
#define EXPORT_FN(X) EXPAND_CAT(X, EXPAND_CAT(PREFIX(), HASHER()))
+
#define PREFIX() N
#define HASHER() H2
@@ -97,6 +98,7 @@ static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance,
#undef HASHER
#undef PREFIX
+
#undef EXPORT_FN
#undef FN
#undef CAT
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c
index 62c6ba24a7b..e7486c4584b 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c
@@ -76,7 +76,7 @@ typedef struct ZopfliCostModel {
/* The insert and copy length symbols. */
float cost_cmd_[BROTLI_NUM_COMMAND_SYMBOLS];
float* cost_dist_;
- uint32_t distance_alphabet_size;
+ uint32_t distance_histogram_size;
/* Cumulative costs of literals per position in the stream. */
float* literal_costs_;
float min_cost_cmd_;
@@ -86,10 +86,14 @@ typedef struct ZopfliCostModel {
static void InitZopfliCostModel(
MemoryManager* m, ZopfliCostModel* self, const BrotliDistanceParams* dist,
size_t num_bytes) {
+ uint32_t distance_histogram_size = dist->alphabet_size;
+ if (distance_histogram_size > BROTLI_MAX_EFFECTIVE_DISTANCE_ALPHABET_SIZE) {
+ distance_histogram_size = BROTLI_MAX_EFFECTIVE_DISTANCE_ALPHABET_SIZE;
+ }
self->num_bytes_ = num_bytes;
self->literal_costs_ = BROTLI_ALLOC(m, float, num_bytes + 2);
self->cost_dist_ = BROTLI_ALLOC(m, float, dist->alphabet_size);
- self->distance_alphabet_size = dist->alphabet_size;
+ self->distance_histogram_size = distance_histogram_size;
if (BROTLI_IS_OOM(m)) return;
}
@@ -171,7 +175,7 @@ static void ZopfliCostModelSetFromCommands(ZopfliCostModel* self,
cost_literal);
SetCost(histogram_cmd, BROTLI_NUM_COMMAND_SYMBOLS, BROTLI_FALSE,
cost_cmd);
- SetCost(histogram_dist, self->distance_alphabet_size, BROTLI_FALSE,
+ SetCost(histogram_dist, self->distance_histogram_size, BROTLI_FALSE,
self->cost_dist_);
for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) {
@@ -214,7 +218,7 @@ static void ZopfliCostModelSetFromLiteralCosts(ZopfliCostModel* self,
for (i = 0; i < BROTLI_NUM_COMMAND_SYMBOLS; ++i) {
cost_cmd[i] = (float)FastLog2(11 + (uint32_t)i);
}
- for (i = 0; i < self->distance_alphabet_size; ++i) {
+ for (i = 0; i < self->distance_histogram_size; ++i) {
cost_dist[i] = (float)FastLog2(20 + (uint32_t)i);
}
self->min_cost_cmd_ = (float)FastLog2(11);
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h
index 6075dfe5b18..3fcf186b49f 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h
@@ -145,11 +145,11 @@ static BROTLI_INLINE void InitInsertCommand(Command* self, size_t insertlen) {
static BROTLI_INLINE uint32_t CommandRestoreDistanceCode(
const Command* self, const BrotliDistanceParams* dist) {
- if ((self->dist_prefix_ & 0x3FF) <
+ if ((self->dist_prefix_ & 0x3FFu) <
BROTLI_NUM_DISTANCE_SHORT_CODES + dist->num_direct_distance_codes) {
- return self->dist_prefix_ & 0x3FF;
+ return self->dist_prefix_ & 0x3FFu;
} else {
- uint32_t dcode = self->dist_prefix_ & 0x3FF;
+ uint32_t dcode = self->dist_prefix_ & 0x3FFu;
uint32_t nbits = self->dist_prefix_ >> 10;
uint32_t extra = self->dist_extra_;
uint32_t postfix_mask = (1U << dist->distance_postfix_bits) - 1U;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h
deleted file mode 100644
index 0e2e453a4b5..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Functions to map previous bytes into a context id. */
-
-#ifndef BROTLI_ENC_CONTEXT_H_
-#define BROTLI_ENC_CONTEXT_H_
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-/* Second-order context lookup table for UTF8 byte streams.
-
- If p1 and p2 are the previous two bytes, we calculate the context as
-
- context = kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256].
-
- If the previous two bytes are ASCII characters (i.e. < 128), this will be
- equivalent to
-
- context = 4 * context1(p1) + context2(p2),
-
- where context1 is based on the previous byte in the following way:
-
- 0 : non-ASCII control
- 1 : \t, \n, \r
- 2 : space
- 3 : other punctuation
- 4 : " '
- 5 : %
- 6 : ( < [ {
- 7 : ) > ] }
- 8 : , ; :
- 9 : .
- 10 : =
- 11 : number
- 12 : upper-case vowel
- 13 : upper-case consonant
- 14 : lower-case vowel
- 15 : lower-case consonant
-
- and context2 is based on the second last byte:
-
- 0 : control, space
- 1 : punctuation
- 2 : upper-case letter, number
- 3 : lower-case letter
-
- If the last byte is ASCII, and the second last byte is not (in a valid UTF8
- stream it will be a continuation byte, value between 128 and 191), the
- context is the same as if the second last byte was an ASCII control or space.
-
- If the last byte is a UTF8 lead byte (value >= 192), then the next byte will
- be a continuation byte and the context id is 2 or 3 depending on the LSB of
- the last byte and to a lesser extent on the second last byte if it is ASCII.
-
- If the last byte is a UTF8 continuation byte, the second last byte can be:
- - continuation byte: the next byte is probably ASCII or lead byte (assuming
- 4-byte UTF8 characters are rare) and the context id is 0 or 1.
- - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1
- - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3
-
- The possible value combinations of the previous two bytes, the range of
- context ids and the type of the next byte is summarized in the table below:
-
- |--------\-----------------------------------------------------------------|
- | \ Last byte |
- | Second \---------------------------------------------------------------|
- | last byte \ ASCII | cont. byte | lead byte |
- | \ (0-127) | (128-191) | (192-) |
- |=============|===================|=====================|==================|
- | ASCII | next: ASCII/lead | not valid | next: cont. |
- | (0-127) | context: 4 - 63 | | context: 2 - 3 |
- |-------------|-------------------|---------------------|------------------|
- | cont. byte | next: ASCII/lead | next: ASCII/lead | next: cont. |
- | (128-191) | context: 4 - 63 | context: 0 - 1 | context: 2 - 3 |
- |-------------|-------------------|---------------------|------------------|
- | lead byte | not valid | next: ASCII/lead | not valid |
- | (192-207) | | context: 0 - 1 | |
- |-------------|-------------------|---------------------|------------------|
- | lead byte | not valid | next: cont. | not valid |
- | (208-) | | context: 2 - 3 | |
- |-------------|-------------------|---------------------|------------------|
-*/
-static const uint8_t kUTF8ContextLookup[512] = {
- /* Last byte. */
- /* */
- /* ASCII range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,
- 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,
- 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,
- 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,
- 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0,
- /* UTF8 continuation byte range. */
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- /* UTF8 lead byte range. */
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
- /* Second last byte. */
- /* */
- /* ASCII range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
- 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,
- /* UTF8 continuation byte range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- /* UTF8 lead byte range. */
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-};
-
-/* Context lookup table for small signed integers. */
-static const uint8_t kSigned3BitContextLookup[] = {
- 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,
-};
-
-typedef enum ContextType {
- CONTEXT_LSB6 = 0,
- CONTEXT_MSB6 = 1,
- CONTEXT_UTF8 = 2,
- CONTEXT_SIGNED = 3
-} ContextType;
-
-static BROTLI_INLINE uint8_t Context(uint8_t p1, uint8_t p2, ContextType mode) {
- switch (mode) {
- case CONTEXT_LSB6:
- return p1 & 0x3f;
- case CONTEXT_MSB6:
- return (uint8_t)(p1 >> 2);
- case CONTEXT_UTF8:
- return kUTF8ContextLookup[p1] | kUTF8ContextLookup[p2 + 256];
- case CONTEXT_SIGNED:
- return (uint8_t)((kSigned3BitContextLookup[p1] << 3) +
- kSigned3BitContextLookup[p2]);
- default:
- return 0;
- }
-}
-
-#if defined(__cplusplus) || defined(c_plusplus)
-} /* extern "C" */
-#endif
-
-#endif /* BROTLI_ENC_CONTEXT_H_ */
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c
index 563c8270a61..4bf0cb4d98a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c
@@ -167,6 +167,14 @@ BROTLI_BOOL BrotliEncoderSetParameter(
state->params.large_window = TO_BROTLI_BOOL(!!value);
return BROTLI_TRUE;
+ case BROTLI_PARAM_NPOSTFIX:
+ state->params.dist.distance_postfix_bits = value;
+ return BROTLI_TRUE;
+
+ case BROTLI_PARAM_NDIRECT:
+ state->params.dist.num_direct_distance_codes = value;
+ return BROTLI_TRUE;
+
default: return BROTLI_FALSE;
}
}
@@ -545,6 +553,7 @@ static void WriteMetaBlockInternal(MemoryManager* m,
uint16_t last_bytes;
uint8_t last_bytes_bits;
ContextLut literal_context_lut = BROTLI_CONTEXT_LUT(literal_context_mode);
+ BrotliEncoderParams block_params = *params;
if (bytes == 0) {
/* Write the ISLAST and ISEMPTY bits. */
@@ -596,7 +605,7 @@ static void WriteMetaBlockInternal(MemoryManager* m,
literal_context_map, commands, num_commands, &mb);
if (BROTLI_IS_OOM(m)) return;
} else {
- BrotliBuildMetaBlock(m, data, wrapped_last_flush_pos, mask, params,
+ BrotliBuildMetaBlock(m, data, wrapped_last_flush_pos, mask, &block_params,
prev_byte, prev_byte2,
commands, num_commands,
literal_context_mode,
@@ -604,9 +613,10 @@ static void WriteMetaBlockInternal(MemoryManager* m,
if (BROTLI_IS_OOM(m)) return;
}
if (params->quality >= MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS) {
- /* The number of distance symbols effectively used by
- "Large Window Brotli" (32-bit). */
- uint32_t num_effective_dist_codes = params->dist.alphabet_size;
+ /* The number of distance symbols effectively used for distance
+ histograms. It might be less than distance alphabet size
+ for "Large Window Brotli" (32-bit). */
+ uint32_t num_effective_dist_codes = block_params.dist.alphabet_size;
if (num_effective_dist_codes > BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS) {
num_effective_dist_codes = BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS;
}
@@ -615,7 +625,7 @@ static void WriteMetaBlockInternal(MemoryManager* m,
BrotliStoreMetaBlock(m, data, wrapped_last_flush_pos, bytes, mask,
prev_byte, prev_byte2,
is_last,
- params,
+ &block_params,
literal_context_mode,
commands, num_commands,
&mb,
@@ -636,37 +646,29 @@ static void WriteMetaBlockInternal(MemoryManager* m,
}
static void ChooseDistanceParams(BrotliEncoderParams* params) {
- /* NDIRECT, NPOSTFIX must be both zero for qualities
- up to MIN_QUALITY_FOR_BLOCK_SPLIT == 3. */
- uint32_t num_direct_distance_codes = 0;
uint32_t distance_postfix_bits = 0;
- uint32_t alphabet_size;
- size_t max_distance = BROTLI_MAX_DISTANCE;
-
- if (params->quality >= MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES &&
- params->mode == BROTLI_MODE_FONT) {
- num_direct_distance_codes = 12;
- distance_postfix_bits = 1;
- max_distance = (1U << 27) + 4;
- }
-
- alphabet_size = BROTLI_DISTANCE_ALPHABET_SIZE(
- num_direct_distance_codes, distance_postfix_bits,
- BROTLI_MAX_DISTANCE_BITS);
- if (params->large_window) {
- max_distance = BROTLI_MAX_ALLOWED_DISTANCE;
- if (num_direct_distance_codes != 0 || distance_postfix_bits != 0) {
- max_distance = (3U << 29) - 4;
+ uint32_t num_direct_distance_codes = 0;
+
+ if (params->quality >= MIN_QUALITY_FOR_NONZERO_DISTANCE_PARAMS) {
+ uint32_t ndirect_msb;
+ if (params->mode == BROTLI_MODE_FONT) {
+ distance_postfix_bits = 1;
+ num_direct_distance_codes = 12;
+ } else {
+ distance_postfix_bits = params->dist.distance_postfix_bits;
+ num_direct_distance_codes = params->dist.num_direct_distance_codes;
+ }
+ ndirect_msb = (num_direct_distance_codes >> distance_postfix_bits) & 0x0F;
+ if (distance_postfix_bits > BROTLI_MAX_NPOSTFIX ||
+ num_direct_distance_codes > BROTLI_MAX_NDIRECT ||
+ (ndirect_msb << distance_postfix_bits) != num_direct_distance_codes) {
+ distance_postfix_bits = 0;
+ num_direct_distance_codes = 0;
}
- alphabet_size = BROTLI_DISTANCE_ALPHABET_SIZE(
- num_direct_distance_codes, distance_postfix_bits,
- BROTLI_LARGE_MAX_DISTANCE_BITS);
}
- params->dist.num_direct_distance_codes = num_direct_distance_codes;
- params->dist.distance_postfix_bits = distance_postfix_bits;
- params->dist.alphabet_size = alphabet_size;
- params->dist.max_distance = max_distance;
+ BrotliInitDistanceParams(
+ params, distance_postfix_bits, num_direct_distance_codes);
}
static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s) {
@@ -710,8 +712,8 @@ static void BrotliEncoderInitParams(BrotliEncoderParams* params) {
params->size_hint = 0;
params->disable_literal_context_modeling = BROTLI_FALSE;
BrotliInitEncoderDictionary(&params->dictionary);
- params->dist.num_direct_distance_codes = 0;
params->dist.distance_postfix_bits = 0;
+ params->dist.num_direct_distance_codes = 0;
params->dist.alphabet_size =
BROTLI_DISTANCE_ALPHABET_SIZE(0, 0, BROTLI_MAX_DISTANCE_BITS);
params->dist.max_distance = BROTLI_MAX_DISTANCE;
@@ -1307,20 +1309,25 @@ static BROTLI_BOOL BrotliCompressBufferQuality10(
&storage_ix, storage);
} else {
MetaBlockSplit mb;
- /* The number of distance symbols effectively used by
- "Large Window Brotli" (32-bit). */
- uint32_t num_effective_dist_codes = params.dist.alphabet_size;
- if (num_effective_dist_codes > BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS) {
- num_effective_dist_codes = BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS;
- }
+ BrotliEncoderParams block_params = params;
InitMetaBlockSplit(&mb);
- BrotliBuildMetaBlock(m, input_buffer, metablock_start, mask, &params,
+ BrotliBuildMetaBlock(m, input_buffer, metablock_start, mask,
+ &block_params,
prev_byte, prev_byte2,
commands, num_commands,
literal_context_mode,
&mb);
if (BROTLI_IS_OOM(m)) goto oom;
- BrotliOptimizeHistograms(num_effective_dist_codes, &mb);
+ {
+ /* The number of distance symbols effectively used for distance
+ histograms. It might be less than distance alphabet size
+ for "Large Window Brotli" (32-bit). */
+ uint32_t num_effective_dist_codes = block_params.dist.alphabet_size;
+ if (num_effective_dist_codes > BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS) {
+ num_effective_dist_codes = BROTLI_NUM_HISTOGRAM_DISTANCE_SYMBOLS;
+ }
+ BrotliOptimizeHistograms(num_effective_dist_codes, &mb);
+ }
storage = BROTLI_ALLOC(m, uint8_t, 2 * metablock_size + 503);
if (BROTLI_IS_OOM(m)) goto oom;
storage[0] = (uint8_t)last_bytes;
@@ -1328,7 +1335,7 @@ static BROTLI_BOOL BrotliCompressBufferQuality10(
BrotliStoreMetaBlock(m, input_buffer, metablock_start, metablock_size,
mask, prev_byte, prev_byte2,
is_last,
- &params,
+ &block_params,
literal_context_mode,
commands, num_commands,
&mb,
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h
index 2d56e97961a..ab928d019be 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h
@@ -80,6 +80,21 @@ R: requested size
} \
}
+/*
+Appends value and dynamically grows array capacity when needed
+M: MemoryManager
+T: data type
+A: array
+C: array capacity
+S: array size
+V: value to append
+*/
+#define BROTLI_ENSURE_CAPACITY_APPEND(M, T, A, C, S, V) { \
+ (S)++; \
+ BROTLI_ENSURE_CAPACITY(M, T, A, C, S); \
+ A[(S) - 1] = (V); \
+}
+
#if defined(__cplusplus) || defined(c_plusplus)
} /* extern "C" */
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c
index 621929291f4..641f95e5def 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c
@@ -25,14 +25,116 @@
extern "C" {
#endif
+void BrotliInitDistanceParams(BrotliEncoderParams* params,
+ uint32_t npostfix, uint32_t ndirect) {
+ BrotliDistanceParams* dist_params = &params->dist;
+ uint32_t alphabet_size, max_distance;
+
+ dist_params->distance_postfix_bits = npostfix;
+ dist_params->num_direct_distance_codes = ndirect;
+
+ alphabet_size = BROTLI_DISTANCE_ALPHABET_SIZE(
+ npostfix, ndirect, BROTLI_MAX_DISTANCE_BITS);
+ max_distance = ndirect + (1U << (BROTLI_MAX_DISTANCE_BITS + npostfix + 2)) -
+ (1U << (npostfix + 2));
+
+ if (params->large_window) {
+ static const uint32_t bound[BROTLI_MAX_NPOSTFIX + 1] = {0, 4, 12, 28};
+ uint32_t postfix = 1U << npostfix;
+ alphabet_size = BROTLI_DISTANCE_ALPHABET_SIZE(
+ npostfix, ndirect, BROTLI_LARGE_MAX_DISTANCE_BITS);
+ /* The maximum distance is set so that no distance symbol used can encode
+ a distance larger than BROTLI_MAX_ALLOWED_DISTANCE with all
+ its extra bits set. */
+ if (ndirect < bound[npostfix]) {
+ max_distance = BROTLI_MAX_ALLOWED_DISTANCE - (bound[npostfix] - ndirect);
+ } else if (ndirect >= bound[npostfix] + postfix) {
+ max_distance = (3U << 29) - 4 + (ndirect - bound[npostfix]);
+ } else {
+ max_distance = BROTLI_MAX_ALLOWED_DISTANCE;
+ }
+ }
+
+ dist_params->alphabet_size = alphabet_size;
+ dist_params->max_distance = max_distance;
+}
+
+static void RecomputeDistancePrefixes(Command* cmds,
+ size_t num_commands,
+ const BrotliDistanceParams* orig_params,
+ const BrotliDistanceParams* new_params) {
+ size_t i;
+
+ if (orig_params->distance_postfix_bits == new_params->distance_postfix_bits &&
+ orig_params->num_direct_distance_codes ==
+ new_params->num_direct_distance_codes) {
+ return;
+ }
+
+ for (i = 0; i < num_commands; ++i) {
+ Command* cmd = &cmds[i];
+ if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) {
+ PrefixEncodeCopyDistance(CommandRestoreDistanceCode(cmd, orig_params),
+ new_params->num_direct_distance_codes,
+ new_params->distance_postfix_bits,
+ &cmd->dist_prefix_,
+ &cmd->dist_extra_);
+ }
+ }
+}
+
+static BROTLI_BOOL ComputeDistanceCost(const Command* cmds,
+ size_t num_commands,
+ const BrotliDistanceParams* orig_params,
+ const BrotliDistanceParams* new_params,
+ double* cost) {
+ size_t i;
+ BROTLI_BOOL equal_params = BROTLI_FALSE;
+ uint16_t dist_prefix;
+ uint32_t dist_extra;
+ double extra_bits = 0.0;
+ HistogramDistance histo;
+ HistogramClearDistance(&histo);
+
+ if (orig_params->distance_postfix_bits == new_params->distance_postfix_bits &&
+ orig_params->num_direct_distance_codes ==
+ new_params->num_direct_distance_codes) {
+ equal_params = BROTLI_TRUE;
+ }
+
+ for (i = 0; i < num_commands; i++) {
+ const Command* cmd = &cmds[i];
+ if (CommandCopyLen(cmd) && cmd->cmd_prefix_ >= 128) {
+ if (equal_params) {
+ dist_prefix = cmd->dist_prefix_;
+ } else {
+ uint32_t distance = CommandRestoreDistanceCode(cmd, orig_params);
+ if (distance > new_params->max_distance) {
+ return BROTLI_FALSE;
+ }
+ PrefixEncodeCopyDistance(distance,
+ new_params->num_direct_distance_codes,
+ new_params->distance_postfix_bits,
+ &dist_prefix,
+ &dist_extra);
+ }
+ HistogramAddDistance(&histo, dist_prefix & 0x3FF);
+ extra_bits += dist_prefix >> 10;
+ }
+ }
+
+ *cost = BrotliPopulationCostDistance(&histo) + extra_bits;
+ return BROTLI_TRUE;
+}
+
void BrotliBuildMetaBlock(MemoryManager* m,
const uint8_t* ringbuffer,
const size_t pos,
const size_t mask,
- const BrotliEncoderParams* params,
+ BrotliEncoderParams* params,
uint8_t prev_byte,
uint8_t prev_byte2,
- const Command* cmds,
+ Command* cmds,
size_t num_commands,
ContextType literal_context_mode,
MetaBlockSplit* mb) {
@@ -45,6 +147,46 @@ void BrotliBuildMetaBlock(MemoryManager* m,
size_t distance_histograms_size;
size_t i;
size_t literal_context_multiplier = 1;
+ uint32_t npostfix;
+ uint32_t ndirect_msb = 0;
+ BROTLI_BOOL check_orig = BROTLI_TRUE;
+ double best_dist_cost = 1e99;
+ BrotliEncoderParams orig_params = *params;
+ BrotliEncoderParams new_params = *params;
+
+ for (npostfix = 0; npostfix <= BROTLI_MAX_NPOSTFIX; npostfix++) {
+ for (; ndirect_msb < 16; ndirect_msb++) {
+ uint32_t ndirect = ndirect_msb << npostfix;
+ BROTLI_BOOL skip;
+ double dist_cost;
+ BrotliInitDistanceParams(&new_params, npostfix, ndirect);
+ if (npostfix == orig_params.dist.distance_postfix_bits &&
+ ndirect == orig_params.dist.num_direct_distance_codes) {
+ check_orig = BROTLI_FALSE;
+ }
+ skip = !ComputeDistanceCost(
+ cmds, num_commands,
+ &orig_params.dist, &new_params.dist, &dist_cost);
+ if (skip || (dist_cost > best_dist_cost)) {
+ break;
+ }
+ best_dist_cost = dist_cost;
+ params->dist = new_params.dist;
+ }
+ if (ndirect_msb > 0) ndirect_msb--;
+ ndirect_msb /= 2;
+ }
+ if (check_orig) {
+ double dist_cost;
+ ComputeDistanceCost(cmds, num_commands,
+ &orig_params.dist, &orig_params.dist, &dist_cost);
+ if (dist_cost < best_dist_cost) {
+ best_dist_cost = dist_cost;
+ params->dist = orig_params.dist;
+ }
+ }
+ RecomputeDistancePrefixes(cmds, num_commands,
+ &orig_params.dist, &params->dist);
BrotliSplitBlock(m, cmds, num_commands,
ringbuffer, pos, mask, params,
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h
index 76a65940a92..334a79a443c 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h
@@ -67,15 +67,18 @@ static BROTLI_INLINE void DestroyMetaBlockSplit(
BROTLI_FREE(m, mb->distance_histograms);
}
-/* Uses the slow shortest-path block splitter and does context clustering. */
+/* Uses the slow shortest-path block splitter and does context clustering.
+ The distance parameters are dynamically selected based on the commands
+ which get recomputed under the new distance parameters. The new distance
+ parameters are stored into *params. */
BROTLI_INTERNAL void BrotliBuildMetaBlock(MemoryManager* m,
const uint8_t* ringbuffer,
const size_t pos,
const size_t mask,
- const BrotliEncoderParams* params,
+ BrotliEncoderParams* params,
uint8_t prev_byte,
uint8_t prev_byte2,
- const Command* cmds,
+ Command* cmds,
size_t num_commands,
ContextType literal_context_mode,
MetaBlockSplit* mb);
@@ -92,6 +95,9 @@ BROTLI_INTERNAL void BrotliBuildMetaBlockGreedy(
BROTLI_INTERNAL void BrotliOptimizeHistograms(uint32_t num_distance_codes,
MetaBlockSplit* mb);
+BROTLI_INTERNAL void BrotliInitDistanceParams(BrotliEncoderParams* params,
+ uint32_t npostfix, uint32_t ndirect);
+
#if defined(__cplusplus) || defined(c_plusplus)
} /* extern "C" */
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h
index 9bcf2361219..6ecf1d3f995 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h
@@ -21,8 +21,8 @@ typedef struct BrotliHasherParams {
} BrotliHasherParams;
typedef struct BrotliDistanceParams {
- uint32_t num_direct_distance_codes;
uint32_t distance_postfix_bits;
+ uint32_t num_direct_distance_codes;
uint32_t alphabet_size;
size_t max_distance;
} BrotliDistanceParams;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h
deleted file mode 100644
index c3befdf17f5..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/* Copyright 2013 Google Inc. All Rights Reserved.
-
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
-*/
-
-/* Macros for endianness, branch prediction and unaligned loads and stores. */
-
-#ifndef BROTLI_ENC_PORT_H_
-#define BROTLI_ENC_PORT_H_
-
-#include <assert.h>
-#include <string.h> /* memcpy */
-
-#include <brotli/port.h>
-#include <brotli/types.h>
-
-#if defined OS_LINUX || defined OS_CYGWIN
-#include <endian.h>
-#elif defined OS_FREEBSD
-#include <machine/endian.h>
-#elif defined OS_MACOSX
-#include <machine/endian.h>
-/* Let's try and follow the Linux convention */
-#define __BYTE_ORDER BYTE_ORDER
-#define __LITTLE_ENDIAN LITTLE_ENDIAN
-#endif
-
-/* define the macro BROTLI_LITTLE_ENDIAN
- using the above endian definitions from endian.h if
- endian.h was included */
-#ifdef __BYTE_ORDER
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define BROTLI_LITTLE_ENDIAN
-#endif
-
-#else
-
-#if defined(__LITTLE_ENDIAN__)
-#define BROTLI_LITTLE_ENDIAN
-#endif
-#endif /* __BYTE_ORDER */
-
-#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
-#define BROTLI_LITTLE_ENDIAN
-#endif
-
-/* Enable little-endian optimization for x64 architecture on Windows. */
-#if (defined(_WIN32) || defined(_WIN64)) && defined(_M_X64)
-#define BROTLI_LITTLE_ENDIAN
-#endif
-
-/* Portable handling of unaligned loads, stores, and copies.
- On some platforms, like ARM, the copy functions can be more efficient
- then a load and a store. */
-
-#if defined(BROTLI_LITTLE_ENDIAN) && (\
- defined(ARCH_PIII) || defined(ARCH_ATHLON) || \
- defined(ARCH_K8) || defined(_ARCH_PPC))
-
-/* x86 and x86-64 can perform unaligned loads/stores directly;
- modern PowerPC hardware can also do unaligned integer loads and stores;
- but note: the FPU still sends unaligned loads and stores to a trap handler!
-*/
-
-#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p))
-#define BROTLI_UNALIGNED_LOAD64LE(_p) (*(const uint64_t *)(_p))
-
-#define BROTLI_UNALIGNED_STORE64LE(_p, _val) \
- (*(uint64_t *)(_p) = (_val))
-
-#elif defined(BROTLI_LITTLE_ENDIAN) && defined(__arm__) && \
- !defined(__ARM_ARCH_5__) && \
- !defined(__ARM_ARCH_5T__) && \
- !defined(__ARM_ARCH_5TE__) && \
- !defined(__ARM_ARCH_5TEJ__) && \
- !defined(__ARM_ARCH_6__) && \
- !defined(__ARM_ARCH_6J__) && \
- !defined(__ARM_ARCH_6K__) && \
- !defined(__ARM_ARCH_6Z__) && \
- !defined(__ARM_ARCH_6ZK__) && \
- !defined(__ARM_ARCH_6T2__)
-
-/* ARMv7 and newer support native unaligned accesses, but only of 16-bit
- and 32-bit values (not 64-bit); older versions either raise a fatal signal,
- do an unaligned read and rotate the words around a bit, or do the reads very
- slowly (trip through kernel mode). */
-
-#define BROTLI_UNALIGNED_LOAD32(_p) (*(const uint32_t *)(_p))
-
-static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void *p) {
- uint64_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-
-static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void *p, uint64_t v) {
- memcpy(p, &v, sizeof v);
-}
-
-#else
-
-/* These functions are provided for architectures that don't support */
-/* unaligned loads and stores. */
-
-static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32(const void *p) {
- uint32_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-
-#if defined(BROTLI_LITTLE_ENDIAN)
-
-static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void *p) {
- uint64_t t;
- memcpy(&t, p, sizeof t);
- return t;
-}
-
-static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void *p, uint64_t v) {
- memcpy(p, &v, sizeof v);
-}
-
-#else /* BROTLI_LITTLE_ENDIAN */
-
-static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void *p) {
- const uint8_t* in = (const uint8_t*)p;
- uint64_t value = (uint64_t)(in[0]);
- value |= (uint64_t)(in[1]) << 8;
- value |= (uint64_t)(in[2]) << 16;
- value |= (uint64_t)(in[3]) << 24;
- value |= (uint64_t)(in[4]) << 32;
- value |= (uint64_t)(in[5]) << 40;
- value |= (uint64_t)(in[6]) << 48;
- value |= (uint64_t)(in[7]) << 56;
- return value;
-}
-
-static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void *p, uint64_t v) {
- uint8_t* out = (uint8_t*)p;
- out[0] = (uint8_t)v;
- out[1] = (uint8_t)(v >> 8);
- out[2] = (uint8_t)(v >> 16);
- out[3] = (uint8_t)(v >> 24);
- out[4] = (uint8_t)(v >> 32);
- out[5] = (uint8_t)(v >> 40);
- out[6] = (uint8_t)(v >> 48);
- out[7] = (uint8_t)(v >> 56);
-}
-
-#endif /* BROTLI_LITTLE_ENDIAN */
-
-#endif
-
-#define TEMPLATE_(T) \
- static BROTLI_INLINE T brotli_min_ ## T (T a, T b) { return a < b ? a : b; } \
- static BROTLI_INLINE T brotli_max_ ## T (T a, T b) { return a > b ? a : b; }
-TEMPLATE_(double) TEMPLATE_(float) TEMPLATE_(int)
-TEMPLATE_(size_t) TEMPLATE_(uint32_t) TEMPLATE_(uint8_t)
-#undef TEMPLATE_
-#define BROTLI_MIN(T, A, B) (brotli_min_ ## T((A), (B)))
-#define BROTLI_MAX(T, A, B) (brotli_max_ ## T((A), (B)))
-
-#define BROTLI_SWAP(T, A, I, J) { \
- T __brotli_swap_tmp = (A)[(I)]; \
- (A)[(I)] = (A)[(J)]; \
- (A)[(J)] = __brotli_swap_tmp; \
-}
-
-/*
-Dynamically grows array capacity to at least the requested size
-M: MemoryManager
-T: data type
-A: array
-C: capacity
-R: requested size
-*/
-#define BROTLI_ENSURE_CAPACITY(M, T, A, C, R) { \
- if (C < (R)) { \
- size_t _new_size = (C == 0) ? (R) : C; \
- T* new_array; \
- while (_new_size < (R)) _new_size *= 2; \
- new_array = BROTLI_ALLOC((M), T, _new_size); \
- if (!BROTLI_IS_OOM(M) && C != 0) \
- memcpy(new_array, A, C * sizeof(T)); \
- BROTLI_FREE((M), A); \
- A = new_array; \
- C = _new_size; \
- } \
-}
-
-#endif /* BROTLI_ENC_PORT_H_ */
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h
index f9b11117381..aa7ba0d82c8 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h
@@ -21,13 +21,12 @@
#define MAX_QUALITY_FOR_STATIC_ENTROPY_CODES 2
#define MIN_QUALITY_FOR_BLOCK_SPLIT 4
+#define MIN_QUALITY_FOR_NONZERO_DISTANCE_PARAMS 4
#define MIN_QUALITY_FOR_OPTIMIZE_HISTOGRAMS 4
#define MIN_QUALITY_FOR_EXTENSIVE_REFERENCE_SEARCH 5
#define MIN_QUALITY_FOR_CONTEXT_MODELING 5
#define MIN_QUALITY_FOR_HQ_CONTEXT_MODELING 7
#define MIN_QUALITY_FOR_HQ_BLOCK_SPLITTING 10
-/* Only for "font" mode. */
-#define MIN_QUALITY_FOR_RECOMPUTE_DISTANCE_PREFIXES 10
/* For quality below MIN_QUALITY_FOR_BLOCK_SPLIT there is no block splitting,
so we buffer at most this much literals and commands. */
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h
index 7733d925b1c..ddfebeb7eb8 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h
@@ -44,7 +44,7 @@ static BROTLI_INLINE void BrotliWriteBits(size_t n_bits,
bits are in *p and we write 57 bits, then the next write will
access a byte that was never initialized). */
uint8_t* p = &array[*pos >> 3];
- uint64_t v = *p;
+ uint64_t v = (uint64_t)(*p); /* Zero-extend 8 to 64 bits. */
BROTLI_LOG(("WriteBits %2d 0x%08x%08x %10d\n", (int)n_bits,
(uint32_t)(bits >> 32), (uint32_t)(bits & 0xFFFFFFFF),
(int)*pos));
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h
index 61a4326c1ac..0f5c8f9d111 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h
@@ -85,9 +85,8 @@ typedef enum {
BROTLI_ERROR_CODE(_ERROR_FORMAT_, PADDING_2, -15) SEPARATOR \
BROTLI_ERROR_CODE(_ERROR_FORMAT_, DISTANCE, -16) SEPARATOR \
\
- /* -17 code is reserved */ \
+ /* -17..-18 codes are reserved */ \
\
- BROTLI_ERROR_CODE(_ERROR_, COMPOUND_DICTIONARY, -18) SEPARATOR \
BROTLI_ERROR_CODE(_ERROR_, DICTIONARY_NOT_SET, -19) SEPARATOR \
BROTLI_ERROR_CODE(_ERROR_, INVALID_ARGUMENTS, -20) SEPARATOR \
\
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h
index 0b5c8c7d2f5..0ced7e55be7 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h
@@ -185,7 +185,23 @@ typedef enum BrotliEncoderParameter {
/**
* Flag that determines if "Large Window Brotli" is used.
*/
- BROTLI_PARAM_LARGE_WINDOW = 6
+ BROTLI_PARAM_LARGE_WINDOW = 6,
+ /**
+ * Recommended number of postfix bits (NPOSTFIX).
+ *
+ * Encoder may change this value.
+ *
+ * Range is from 0 to ::BROTLI_MAX_NPOSTFIX.
+ */
+ BROTLI_PARAM_NPOSTFIX = 7,
+ /**
+ * Recommended number of direct distance codes (NDIRECT).
+ *
+ * Encoder may change this value.
+ *
+ * Range is from 0 to (15 << NPOSTFIX) in steps of (1 << NPOSTFIX).
+ */
+ BROTLI_PARAM_NDIRECT = 8
} BrotliEncoderParameter;
/**
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c
index 63a11711c8a..da06ea72bff 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c
@@ -54,7 +54,7 @@
|| defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
|| defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) )
# define XXH_FORCE_MEMORY_ACCESS 2
-# elif defined(__INTEL_COMPILER) || \
+# elif (defined(__INTEL_COMPILER) && !defined(_WIN32)) || \
(defined(__GNUC__) && ( defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
|| defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
|| defined(__ARM_ARCH_7S__) ))
@@ -111,6 +111,8 @@ static void XXH_free (void* p) { free(p); }
#include <string.h>
static void* XXH_memcpy(void* dest, const void* src, size_t size) { return memcpy(dest,src,size); }
+#include <assert.h> /* assert */
+
#define XXH_STATIC_LINKING_ONLY
#include "xxhash.h"
@@ -215,8 +217,12 @@ typedef enum { XXH_bigEndian=0, XXH_littleEndian=1 } XXH_endianess;
/* XXH_CPU_LITTLE_ENDIAN can be defined externally, for example on the compiler command line */
#ifndef XXH_CPU_LITTLE_ENDIAN
- static const int g_one = 1;
-# define XXH_CPU_LITTLE_ENDIAN (*(const char*)(&g_one))
+static int XXH_isLittleEndian(void)
+{
+ const union { U32 u; BYTE c[4]; } one = { 1 }; /* don't use static : performance detrimental */
+ return one.c[0];
+}
+# define XXH_CPU_LITTLE_ENDIAN XXH_isLittleEndian()
#endif
@@ -252,7 +258,7 @@ XXH_PUBLIC_API unsigned XXH_versionNumber (void) { return XXH_VERSION_NUMBER; }
/* *******************************************************************
-* 32-bits hash functions
+* 32-bit hash functions
*********************************************************************/
static const U32 PRIME32_1 = 2654435761U;
static const U32 PRIME32_2 = 2246822519U;
@@ -268,12 +274,87 @@ static U32 XXH32_round(U32 seed, U32 input)
return seed;
}
-FORCE_INLINE U32 XXH32_endian_align(const void* input, size_t len, U32 seed, XXH_endianess endian, XXH_alignment align)
+/* mix all bits */
+static U32 XXH32_avalanche(U32 h32)
+{
+ h32 ^= h32 >> 15;
+ h32 *= PRIME32_2;
+ h32 ^= h32 >> 13;
+ h32 *= PRIME32_3;
+ h32 ^= h32 >> 16;
+ return(h32);
+}
+
+#define XXH_get32bits(p) XXH_readLE32_align(p, endian, align)
+
+static U32
+XXH32_finalize(U32 h32, const void* ptr, size_t len,
+ XXH_endianess endian, XXH_alignment align)
+
+{
+ const BYTE* p = (const BYTE*)ptr;
+#define PROCESS1 \
+ h32 += (*p) * PRIME32_5; \
+ p++; \
+ h32 = XXH_rotl32(h32, 11) * PRIME32_1 ;
+
+#define PROCESS4 \
+ h32 += XXH_get32bits(p) * PRIME32_3; \
+ p+=4; \
+ h32 = XXH_rotl32(h32, 17) * PRIME32_4 ;
+
+ switch(len&15) /* or switch(bEnd - p) */
+ {
+ case 12: PROCESS4;
+ /* fallthrough */
+ case 8: PROCESS4;
+ /* fallthrough */
+ case 4: PROCESS4;
+ return XXH32_avalanche(h32);
+
+ case 13: PROCESS4;
+ /* fallthrough */
+ case 9: PROCESS4;
+ /* fallthrough */
+ case 5: PROCESS4;
+ PROCESS1;
+ return XXH32_avalanche(h32);
+
+ case 14: PROCESS4;
+ /* fallthrough */
+ case 10: PROCESS4;
+ /* fallthrough */
+ case 6: PROCESS4;
+ PROCESS1;
+ PROCESS1;
+ return XXH32_avalanche(h32);
+
+ case 15: PROCESS4;
+ /* fallthrough */
+ case 11: PROCESS4;
+ /* fallthrough */
+ case 7: PROCESS4;
+ /* fallthrough */
+ case 3: PROCESS1;
+ /* fallthrough */
+ case 2: PROCESS1;
+ /* fallthrough */
+ case 1: PROCESS1;
+ /* fallthrough */
+ case 0: return XXH32_avalanche(h32);
+ }
+ assert(0);
+ return h32; /* reaching this point is deemed impossible */
+}
+
+
+FORCE_INLINE U32
+XXH32_endian_align(const void* input, size_t len, U32 seed,
+ XXH_endianess endian, XXH_alignment align)
{
const BYTE* p = (const BYTE*)input;
const BYTE* bEnd = p + len;
U32 h32;
-#define XXH_get32bits(p) XXH_readLE32_align(p, endian, align)
#if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && (XXH_ACCEPT_NULL_INPUT_POINTER>=1)
if (p==NULL) {
@@ -283,7 +364,7 @@ FORCE_INLINE U32 XXH32_endian_align(const void* input, size_t len, U32 seed, XXH
#endif
if (len>=16) {
- const BYTE* const limit = bEnd - 16;
+ const BYTE* const limit = bEnd - 15;
U32 v1 = seed + PRIME32_1 + PRIME32_2;
U32 v2 = seed + PRIME32_2;
U32 v3 = seed + 0;
@@ -294,34 +375,17 @@ FORCE_INLINE U32 XXH32_endian_align(const void* input, size_t len, U32 seed, XXH
v2 = XXH32_round(v2, XXH_get32bits(p)); p+=4;
v3 = XXH32_round(v3, XXH_get32bits(p)); p+=4;
v4 = XXH32_round(v4, XXH_get32bits(p)); p+=4;
- } while (p<=limit);
+ } while (p < limit);
- h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18);
+ h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7)
+ + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18);
} else {
h32 = seed + PRIME32_5;
}
- h32 += (U32) len;
+ h32 += (U32)len;
- while (p+4<=bEnd) {
- h32 += XXH_get32bits(p) * PRIME32_3;
- h32 = XXH_rotl32(h32, 17) * PRIME32_4 ;
- p+=4;
- }
-
- while (p<bEnd) {
- h32 += (*p) * PRIME32_5;
- h32 = XXH_rotl32(h32, 11) * PRIME32_1 ;
- p++;
- }
-
- h32 ^= h32 >> 15;
- h32 *= PRIME32_2;
- h32 ^= h32 >> 13;
- h32 *= PRIME32_3;
- h32 ^= h32 >> 16;
-
- return h32;
+ return XXH32_finalize(h32, p, len&15, endian, align);
}
@@ -446,6 +510,7 @@ XXH_errorcode XXH32_update_endian (XXH32_state_t* state, const void* input, size
return XXH_OK;
}
+
XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t* state_in, const void* input, size_t len)
{
XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN;
@@ -457,11 +522,9 @@ XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t* state_in, const void*
}
-
-FORCE_INLINE U32 XXH32_digest_endian (const XXH32_state_t* state, XXH_endianess endian)
+FORCE_INLINE U32
+XXH32_digest_endian (const XXH32_state_t* state, XXH_endianess endian)
{
- const BYTE * p = (const BYTE*)state->mem32;
- const BYTE* const bEnd = (const BYTE*)(state->mem32) + state->memsize;
U32 h32;
if (state->large_len) {
@@ -475,25 +538,7 @@ FORCE_INLINE U32 XXH32_digest_endian (const XXH32_state_t* state, XXH_endianess
h32 += state->total_len_32;
- while (p+4<=bEnd) {
- h32 += XXH_readLE32(p, endian) * PRIME32_3;
- h32 = XXH_rotl32(h32, 17) * PRIME32_4;
- p+=4;
- }
-
- while (p<bEnd) {
- h32 += (*p) * PRIME32_5;
- h32 = XXH_rotl32(h32, 11) * PRIME32_1;
- p++;
- }
-
- h32 ^= h32 >> 15;
- h32 *= PRIME32_2;
- h32 ^= h32 >> 13;
- h32 *= PRIME32_3;
- h32 ^= h32 >> 16;
-
- return h32;
+ return XXH32_finalize(h32, state->mem32, state->memsize, endian, XXH_aligned);
}
@@ -532,7 +577,7 @@ XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t* src
#ifndef XXH_NO_LONG_LONG
/* *******************************************************************
-* 64-bits hash functions
+* 64-bit hash functions
*********************************************************************/
/*====== Memory access ======*/
@@ -639,12 +684,136 @@ static U64 XXH64_mergeRound(U64 acc, U64 val)
return acc;
}
-FORCE_INLINE U64 XXH64_endian_align(const void* input, size_t len, U64 seed, XXH_endianess endian, XXH_alignment align)
+static U64 XXH64_avalanche(U64 h64)
+{
+ h64 ^= h64 >> 33;
+ h64 *= PRIME64_2;
+ h64 ^= h64 >> 29;
+ h64 *= PRIME64_3;
+ h64 ^= h64 >> 32;
+ return h64;
+}
+
+
+#define XXH_get64bits(p) XXH_readLE64_align(p, endian, align)
+
+static U64
+XXH64_finalize(U64 h64, const void* ptr, size_t len,
+ XXH_endianess endian, XXH_alignment align)
+{
+ const BYTE* p = (const BYTE*)ptr;
+
+#define PROCESS1_64 \
+ h64 ^= (*p) * PRIME64_5; \
+ p++; \
+ h64 = XXH_rotl64(h64, 11) * PRIME64_1;
+
+#define PROCESS4_64 \
+ h64 ^= (U64)(XXH_get32bits(p)) * PRIME64_1; \
+ p+=4; \
+ h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;
+
+#define PROCESS8_64 { \
+ U64 const k1 = XXH64_round(0, XXH_get64bits(p)); \
+ p+=8; \
+ h64 ^= k1; \
+ h64 = XXH_rotl64(h64,27) * PRIME64_1 + PRIME64_4; \
+}
+
+ switch(len&31) {
+ case 24: PROCESS8_64;
+ /* fallthrough */
+ case 16: PROCESS8_64;
+ /* fallthrough */
+ case 8: PROCESS8_64;
+ return XXH64_avalanche(h64);
+
+ case 28: PROCESS8_64;
+ /* fallthrough */
+ case 20: PROCESS8_64;
+ /* fallthrough */
+ case 12: PROCESS8_64;
+ /* fallthrough */
+ case 4: PROCESS4_64;
+ return XXH64_avalanche(h64);
+
+ case 25: PROCESS8_64;
+ /* fallthrough */
+ case 17: PROCESS8_64;
+ /* fallthrough */
+ case 9: PROCESS8_64;
+ PROCESS1_64;
+ return XXH64_avalanche(h64);
+
+ case 29: PROCESS8_64;
+ /* fallthrough */
+ case 21: PROCESS8_64;
+ /* fallthrough */
+ case 13: PROCESS8_64;
+ /* fallthrough */
+ case 5: PROCESS4_64;
+ PROCESS1_64;
+ return XXH64_avalanche(h64);
+
+ case 26: PROCESS8_64;
+ /* fallthrough */
+ case 18: PROCESS8_64;
+ /* fallthrough */
+ case 10: PROCESS8_64;
+ PROCESS1_64;
+ PROCESS1_64;
+ return XXH64_avalanche(h64);
+
+ case 30: PROCESS8_64;
+ /* fallthrough */
+ case 22: PROCESS8_64;
+ /* fallthrough */
+ case 14: PROCESS8_64;
+ /* fallthrough */
+ case 6: PROCESS4_64;
+ PROCESS1_64;
+ PROCESS1_64;
+ return XXH64_avalanche(h64);
+
+ case 27: PROCESS8_64;
+ /* fallthrough */
+ case 19: PROCESS8_64;
+ /* fallthrough */
+ case 11: PROCESS8_64;
+ PROCESS1_64;
+ PROCESS1_64;
+ PROCESS1_64;
+ return XXH64_avalanche(h64);
+
+ case 31: PROCESS8_64;
+ /* fallthrough */
+ case 23: PROCESS8_64;
+ /* fallthrough */
+ case 15: PROCESS8_64;
+ /* fallthrough */
+ case 7: PROCESS4_64;
+ /* fallthrough */
+ case 3: PROCESS1_64;
+ /* fallthrough */
+ case 2: PROCESS1_64;
+ /* fallthrough */
+ case 1: PROCESS1_64;
+ /* fallthrough */
+ case 0: return XXH64_avalanche(h64);
+ }
+
+ /* impossible to reach */
+ assert(0);
+ return 0; /* unreachable, but some compilers complain without it */
+}
+
+FORCE_INLINE U64
+XXH64_endian_align(const void* input, size_t len, U64 seed,
+ XXH_endianess endian, XXH_alignment align)
{
const BYTE* p = (const BYTE*)input;
const BYTE* bEnd = p + len;
U64 h64;
-#define XXH_get64bits(p) XXH_readLE64_align(p, endian, align)
#if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && (XXH_ACCEPT_NULL_INPUT_POINTER>=1)
if (p==NULL) {
@@ -679,32 +848,7 @@ FORCE_INLINE U64 XXH64_endian_align(const void* input, size_t len, U64 seed, XXH
h64 += (U64) len;
- while (p+8<=bEnd) {
- U64 const k1 = XXH64_round(0, XXH_get64bits(p));
- h64 ^= k1;
- h64 = XXH_rotl64(h64,27) * PRIME64_1 + PRIME64_4;
- p+=8;
- }
-
- if (p+4<=bEnd) {
- h64 ^= (U64)(XXH_get32bits(p)) * PRIME64_1;
- h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;
- p+=4;
- }
-
- while (p<bEnd) {
- h64 ^= (*p) * PRIME64_5;
- h64 = XXH_rotl64(h64, 11) * PRIME64_1;
- p++;
- }
-
- h64 ^= h64 >> 33;
- h64 *= PRIME64_2;
- h64 ^= h64 >> 29;
- h64 *= PRIME64_3;
- h64 ^= h64 >> 32;
-
- return h64;
+ return XXH64_finalize(h64, p, len, endian, align);
}
@@ -835,8 +979,6 @@ XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH64_state_t* state_in, const void*
FORCE_INLINE U64 XXH64_digest_endian (const XXH64_state_t* state, XXH_endianess endian)
{
- const BYTE * p = (const BYTE*)state->mem64;
- const BYTE* const bEnd = (const BYTE*)state->mem64 + state->memsize;
U64 h64;
if (state->total_len >= 32) {
@@ -851,37 +993,12 @@ FORCE_INLINE U64 XXH64_digest_endian (const XXH64_state_t* state, XXH_endianess
h64 = XXH64_mergeRound(h64, v3);
h64 = XXH64_mergeRound(h64, v4);
} else {
- h64 = state->v3 + PRIME64_5;
+ h64 = state->v3 /*seed*/ + PRIME64_5;
}
h64 += (U64) state->total_len;
- while (p+8<=bEnd) {
- U64 const k1 = XXH64_round(0, XXH_readLE64(p, endian));
- h64 ^= k1;
- h64 = XXH_rotl64(h64,27) * PRIME64_1 + PRIME64_4;
- p+=8;
- }
-
- if (p+4<=bEnd) {
- h64 ^= (U64)(XXH_readLE32(p, endian)) * PRIME64_1;
- h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;
- p+=4;
- }
-
- while (p<bEnd) {
- h64 ^= (*p) * PRIME64_5;
- h64 = XXH_rotl64(h64, 11) * PRIME64_1;
- p++;
- }
-
- h64 ^= h64 >> 33;
- h64 *= PRIME64_2;
- h64 ^= h64 >> 29;
- h64 *= PRIME64_3;
- h64 ^= h64 >> 32;
-
- return h64;
+ return XXH64_finalize(h64, state->mem64, (size_t)state->total_len, endian, XXH_aligned);
}
XXH_PUBLIC_API unsigned long long XXH64_digest (const XXH64_state_t* state_in)
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h
index 13136633843..d6bad943358 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h
@@ -57,8 +57,8 @@ Q.Score is a measure of quality of the hash function.
It depends on successfully passing SMHasher test set.
10 is a perfect score.
-A 64-bits version, named XXH64, is available since r35.
-It offers much better speed, but for 64-bits applications only.
+A 64-bit version, named XXH64, is available since r35.
+It offers much better speed, but for 64-bit applications only.
Name Speed on 64 bits Speed on 32 bits
XXH64 13.8 GB/s 1.9 GB/s
XXH32 6.8 GB/s 6.0 GB/s
@@ -80,18 +80,19 @@ typedef enum { XXH_OK=0, XXH_ERROR } XXH_errorcode;
/* ****************************
-* API modifier
-******************************/
-/** XXH_PRIVATE_API
-* This is useful to include xxhash functions in `static` mode
-* in order to inline them, and remove their symbol from the public list.
-* Methodology :
-* #define XXH_PRIVATE_API
-* #include "xxhash.h"
-* `xxhash.c` is automatically included.
-* It's not useful to compile and link it as a separate module.
-*/
-#ifdef XXH_PRIVATE_API
+ * API modifier
+ ******************************/
+/** XXH_INLINE_ALL (and XXH_PRIVATE_API)
+ * This is useful to include xxhash functions in `static` mode
+ * in order to inline them, and remove their symbol from the public list.
+ * Inlining can offer dramatic performance improvement on small keys.
+ * Methodology :
+ * #define XXH_INLINE_ALL
+ * #include "xxhash.h"
+ * `xxhash.c` is automatically included.
+ * It's not useful to compile and link it as a separate module.
+ */
+#if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
# ifndef XXH_STATIC_LINKING_ONLY
# define XXH_STATIC_LINKING_ONLY
# endif
@@ -107,19 +108,19 @@ typedef enum { XXH_OK=0, XXH_ERROR } XXH_errorcode;
# endif
#else
# define XXH_PUBLIC_API /* do nothing */
-#endif /* XXH_PRIVATE_API */
-
-/*!XXH_NAMESPACE, aka Namespace Emulation :
-
-If you want to include _and expose_ xxHash functions from within your own library,
-but also want to avoid symbol collisions with other libraries which may also include xxHash,
-
-you can use XXH_NAMESPACE, to automatically prefix any public symbol from xxhash library
-with the value of XXH_NAMESPACE (therefore, avoid NULL and numeric values).
-
-Note that no change is required within the calling program as long as it includes `xxhash.h` :
-regular symbol name will be automatically translated by this header.
-*/
+#endif /* XXH_INLINE_ALL || XXH_PRIVATE_API */
+
+/*! XXH_NAMESPACE, aka Namespace Emulation :
+ *
+ * If you want to include _and expose_ xxHash functions from within your own library,
+ * but also want to avoid symbol collisions with other libraries which may also include xxHash,
+ *
+ * you can use XXH_NAMESPACE, to automatically prefix any public symbol from xxhash library
+ * with the value of XXH_NAMESPACE (therefore, avoid NULL and numeric values).
+ *
+ * Note that no change is required within the calling program as long as it includes `xxhash.h` :
+ * regular symbol name will be automatically translated by this header.
+ */
#ifdef XXH_NAMESPACE
# define XXH_CAT(A,B) A##B
# define XXH_NAME2(A,B) XXH_CAT(A,B)
@@ -150,18 +151,18 @@ regular symbol name will be automatically translated by this header.
***************************************/
#define XXH_VERSION_MAJOR 0
#define XXH_VERSION_MINOR 6
-#define XXH_VERSION_RELEASE 4
+#define XXH_VERSION_RELEASE 5
#define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
XXH_PUBLIC_API unsigned XXH_versionNumber (void);
/*-**********************************************************************
-* 32-bits hash
+* 32-bit hash
************************************************************************/
typedef unsigned int XXH32_hash_t;
/*! XXH32() :
- Calculate the 32-bits hash of sequence "length" bytes stored at memory address "input".
+ Calculate the 32-bit hash of sequence "length" bytes stored at memory address "input".
The memory between input & input+length must be valid (allocated and read-accessible).
"seed" can be used to alter the result predictably.
Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s */
@@ -178,26 +179,25 @@ XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t* statePtr, const void*
XXH_PUBLIC_API XXH32_hash_t XXH32_digest (const XXH32_state_t* statePtr);
/*
-These functions generate the xxHash of an input provided in multiple segments.
-Note that, for small input, they are slower than single-call functions, due to state management.
-For small input, prefer `XXH32()` and `XXH64()` .
-
-XXH state must first be allocated, using XXH*_createState() .
-
-Start a new hash by initializing state with a seed, using XXH*_reset().
-
-Then, feed the hash state by calling XXH*_update() as many times as necessary.
-Obviously, input must be allocated and read accessible.
-The function returns an error code, with 0 meaning OK, and any other value meaning there is an error.
-
-Finally, a hash value can be produced anytime, by using XXH*_digest().
-This function returns the nn-bits hash as an int or long long.
-
-It's still possible to continue inserting input into the hash state after a digest,
-and generate some new hashes later on, by calling again XXH*_digest().
-
-When done, free XXH state space if it was allocated dynamically.
-*/
+ * Streaming functions generate the xxHash of an input provided in multiple segments.
+ * Note that, for small input, they are slower than single-call functions, due to state management.
+ * For small inputs, prefer `XXH32()` and `XXH64()`, which are better optimized.
+ *
+ * XXH state must first be allocated, using XXH*_createState() .
+ *
+ * Start a new hash by initializing state with a seed, using XXH*_reset().
+ *
+ * Then, feed the hash state by calling XXH*_update() as many times as necessary.
+ * The function returns an error code, with 0 meaning OK, and any other value meaning there is an error.
+ *
+ * Finally, a hash value can be produced anytime, by using XXH*_digest().
+ * This function returns the nn-bits hash as an int or long long.
+ *
+ * It's still possible to continue inserting input into the hash state after a digest,
+ * and generate some new hashes later on, by calling again XXH*_digest().
+ *
+ * When done, free XXH state space if it was allocated dynamically.
+ */
/*====== Canonical representation ======*/
@@ -206,22 +206,22 @@ XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t
XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t* src);
/* Default result type for XXH functions are primitive unsigned 32 and 64 bits.
-* The canonical representation uses human-readable write convention, aka big-endian (large digits first).
-* These functions allow transformation of hash result into and from its canonical format.
-* This way, hash values can be written into a file / memory, and remain comparable on different systems and programs.
-*/
+ * The canonical representation uses human-readable write convention, aka big-endian (large digits first).
+ * These functions allow transformation of hash result into and from its canonical format.
+ * This way, hash values can be written into a file / memory, and remain comparable on different systems and programs.
+ */
#ifndef XXH_NO_LONG_LONG
/*-**********************************************************************
-* 64-bits hash
+* 64-bit hash
************************************************************************/
typedef unsigned long long XXH64_hash_t;
/*! XXH64() :
- Calculate the 64-bits hash of sequence of length "len" stored at memory address "input".
+ Calculate the 64-bit hash of sequence of length "len" stored at memory address "input".
"seed" can be used to alter the result predictably.
- This function runs faster on 64-bits systems, but slower on 32-bits systems (see benchmark).
+ This function runs faster on 64-bit systems, but slower on 32-bit systems (see benchmark).
*/
XXH_PUBLIC_API XXH64_hash_t XXH64 (const void* input, size_t length, unsigned long long seed);
@@ -242,6 +242,7 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src
#endif /* XXH_NO_LONG_LONG */
+
#ifdef XXH_STATIC_LINKING_ONLY
/* ================================================================================================
@@ -251,9 +252,39 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src
Never use them in association with dynamic linking !
=================================================================================================== */
-/* These definitions are only meant to make possible
- static allocation of XXH state, on stack or in a struct for example.
- Never use members directly. */
+/* These definitions are only present to allow
+ * static allocation of XXH state, on stack or in a struct for example.
+ * Never **ever** use members directly. */
+
+#if !defined (__VMS) \
+ && (defined (__cplusplus) \
+ || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
+# include <stdint.h>
+
+struct XXH32_state_s {
+ uint32_t total_len_32;
+ uint32_t large_len;
+ uint32_t v1;
+ uint32_t v2;
+ uint32_t v3;
+ uint32_t v4;
+ uint32_t mem32[4];
+ uint32_t memsize;
+ uint32_t reserved; /* never read nor write, might be removed in a future version */
+}; /* typedef'd to XXH32_state_t */
+
+struct XXH64_state_s {
+ uint64_t total_len;
+ uint64_t v1;
+ uint64_t v2;
+ uint64_t v3;
+ uint64_t v4;
+ uint64_t mem64[4];
+ uint32_t memsize;
+ uint32_t reserved[2]; /* never read nor write, might be removed in a future version */
+}; /* typedef'd to XXH64_state_t */
+
+# else
struct XXH32_state_s {
unsigned total_len_32;
@@ -262,25 +293,28 @@ struct XXH32_state_s {
unsigned v2;
unsigned v3;
unsigned v4;
- unsigned mem32[4]; /* buffer defined as U32 for alignment */
+ unsigned mem32[4];
unsigned memsize;
- unsigned reserved; /* never read nor write, will be removed in a future version */
+ unsigned reserved; /* never read nor write, might be removed in a future version */
}; /* typedef'd to XXH32_state_t */
-#ifndef XXH_NO_LONG_LONG /* remove 64-bits support */
+# ifndef XXH_NO_LONG_LONG /* remove 64-bit support */
struct XXH64_state_s {
unsigned long long total_len;
unsigned long long v1;
unsigned long long v2;
unsigned long long v3;
unsigned long long v4;
- unsigned long long mem64[4]; /* buffer defined as U64 for alignment */
+ unsigned long long mem64[4];
unsigned memsize;
- unsigned reserved[2]; /* never read nor write, will be removed in a future version */
+ unsigned reserved[2]; /* never read nor write, might be removed in a future version */
}; /* typedef'd to XXH64_state_t */
-#endif
+# endif
+
+# endif
+
-#ifdef XXH_PRIVATE_API
+#if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
# include "xxhash.c" /* include xxhash function bodies as `static`, for inlining */
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4 b/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4
index 5032bba8091..85efc7cb8e6 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4
@@ -40,12 +40,11 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 7
+#serial 8
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
dnl (serial version number 13).
-AX_REQUIRE_DEFINED([AC_MSG_WARN])
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
[$1], [14], [ax_cxx_compile_alternatives="14 1y"],
@@ -139,7 +138,6 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
[define if the compiler supports basic C++$1 syntax])
fi
AC_SUBST(HAVE_CXX$1)
- m4_if([$1], [17], [AC_MSG_WARN([C++17 is not yet standardized, so the checks may change in incompatible ways anytime])])
])
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
index e2873311574..8d0ee51b841 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
@@ -29,7 +29,7 @@ using namespace std;
/** Collect all background color changes while preprocessing the DVI file.
* We need them in order to apply the correct background colors even if
* not all but only selected DVI pages are converted. */
-void BgColorSpecialHandler::preprocess (const char*, std::istream &is, SpecialActions &actions) {
+void BgColorSpecialHandler::preprocess (const string&, std::istream &is, SpecialActions &actions) {
Color color = ColorSpecialHandler::readColor(is);
unsigned pageno = actions.getCurrentPageNumber();
if (_pageColors.empty() || _pageColors.back().second != color) {
@@ -41,7 +41,7 @@ void BgColorSpecialHandler::preprocess (const char*, std::istream &is, SpecialAc
}
-bool BgColorSpecialHandler::process (const char*, istream &, SpecialActions&) {
+bool BgColorSpecialHandler::process (const string&, istream&, SpecialActions&) {
return true;
}
@@ -62,7 +62,7 @@ void BgColorSpecialHandler::dviBeginPage (unsigned pageno, SpecialActions &actio
}
-const vector<const char*> BgColorSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"background"};
+vector<const char*> BgColorSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"background"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp
index 06572ab1a7e..d8e0b760f85 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp
@@ -26,14 +26,13 @@
#include "SpecialHandler.hpp"
-class BgColorSpecialHandler : public SpecialHandler, public DVIBeginPageListener
-{
+class BgColorSpecialHandler : public SpecialHandler {
public:
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
const char* info () const override {return "background color special";}
const char* name () const override {return "bgcolor";}
- const std::vector<const char*> prefixes () const override;
+ std::vector<const char*> prefixes() const override;
protected:
void dviBeginPage (unsigned pageno, SpecialActions &actions) override;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
index 1b1f234a604..ebdbd485d6a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
@@ -234,8 +234,8 @@ void BoundingBox::scale (double sx, double sy) {
void BoundingBox::transform (const Matrix &tm) {
if (!_locked) {
- DPair ul = tm * DPair(_lrx, _lry);
- DPair lr = tm * DPair(_ulx, _uly);
+ DPair ul = tm * DPair(_ulx, _uly);
+ DPair lr = tm * DPair(_lrx, _lry);
DPair ll = tm * DPair(_ulx, _lry);
DPair ur = tm * DPair(_lrx, _uly);
_ulx = min(min(ul.x(), lr.x()), min(ur.x(), ll.x()));
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp
index 851737628fb..b72a50fc3ce 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp
@@ -42,7 +42,9 @@ void CommandLine::parse (int argc, char **argv) {
_files.push_back(argv[i]);
else {
iss.get(); // skip dash
- if (iss.peek() != '-')
+ if (iss.peek() < 0)
+ _singleDashParsed = true;
+ else if (iss.peek() != '-')
parseShortOption(iss, argc, argv, i);
else {
iss.get(); // skip dash
@@ -94,8 +96,6 @@ static void type_error (const Option &option, bool shortname) {
void CommandLine::parseShortOption (istringstream &iss, int argc, char **argv, int &argn) {
bool combined = false;
do {
- if (iss.peek() < 0)
- throw CommandLineException("missing character after '-'");
char shortname = static_cast<char>(iss.get());
if (!isalnum(shortname))
throw CommandLineException(string("syntax error: -")+shortname);
@@ -184,11 +184,15 @@ void CommandLine::help (ostream &os, int mode) const {
os << PROGRAM_NAME << ' '<< PROGRAM_VERSION << "\n\n";
os << _summary << "\n\n";
// print usage info
- size_t start=0, pos=0;
string usage = _usage;
- while ((pos = usage.find('\n', start)) != string::npos || start < usage.length()) {
- os << (start == 0 ? "Usage: " : " ") << PROGRAM_NAME << ' ' << usage.substr(start, pos) << '\n';
- start = (pos != string::npos ? pos+1 : string::npos);
+ int count=0;
+ while (!usage.empty()) {
+ size_t pos = usage.find('\n');
+ os << (count++ == 0 ? "Usage: " : " ") << PROGRAM_NAME << ' ' << usage.substr(0, pos) << '\n';
+ if (pos != string::npos)
+ usage = usage.substr(pos+1);
+ else
+ usage.clear();
}
if (mode > 0)
os << '\n';
@@ -197,6 +201,7 @@ void CommandLine::help (ostream &os, int mode) const {
unordered_map<Option*, pair<string,string>> linecols;
size_t col1width=0;
for (const OptSectPair &ospair : options()) {
+ size_t pos;
string line = ospair.first->helpline();
if ((pos = line.find('\t')) != string::npos) {
linecols.emplace(ospair.first, pair<string,string>(line.substr(0, pos), line.substr(pos+1)));
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp
index e4e6788aef6..a541f065291 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp
@@ -37,6 +37,8 @@ class CommandLine {
virtual ~CommandLine () =default;
void parse (int argc, char **argv);
void help (std::ostream &os, int mode=0) const;
+ void addFilename (std::string fname) {_files.emplace_back(fname);}
+ bool singleDashGiven () const {return _singleDashParsed;}
const std::vector<std::string>& filenames () const {return _files;}
protected:
@@ -52,12 +54,12 @@ class CommandLine {
const char *_summary;
const char *_usage;
const char *_copyright;
+ bool _singleDashParsed=false; ///< true if a single '-' w/o a following char was parsed
std::vector<std::string> _files;
};
-struct CommandLineException : public MessageException
-{
+struct CommandLineException : public MessageException {
CommandLineException (const std::string &msg) : MessageException(msg) {}
};
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp
index b4e90eacec2..f5511935a18 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp
@@ -154,7 +154,7 @@ char Calculator::lex (istream &is) {
try {
_numValue = stod(str);
}
- catch (exception) {
+ catch (const exception&) {
throw CalculatorException("invalid number: "+str);
}
break;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp
index ffca4aa780d..e129fdcedcb 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp
@@ -91,7 +91,7 @@ Color ColorSpecialHandler::readColor (istream &is) {
}
-bool ColorSpecialHandler::process (const char *, istream &is, SpecialActions &actions) {
+bool ColorSpecialHandler::process (const string&, istream &is, SpecialActions &actions) {
string cmd;
is >> cmd;
if (cmd == "push") // color push <model> <params>
@@ -113,8 +113,8 @@ bool ColorSpecialHandler::process (const char *, istream &is, SpecialActions &ac
}
-const vector<const char*> ColorSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"color"};
+vector<const char*> ColorSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"color"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp
index e36901564b2..fb7e7050d8c 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp
@@ -28,15 +28,14 @@
#include "SpecialHandler.hpp"
-class ColorSpecialHandler : public SpecialHandler
-{
+class ColorSpecialHandler : public SpecialHandler {
public:
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
static Color readColor (std::istream &is);
static Color readColor (const std::string &model, std::istream &is);
const char* name () const override {return "color";}
const char* info () const override {return "complete support of color specials";}
- const std::vector<const char*> prefixes () const override;
+ std::vector<const char*> prefixes() const override;
private:
std::stack<Color> _colorStack;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
index d742d6a877d..1ae9f188d30 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
@@ -15,12 +15,11 @@
using CL::Option;
using CL::TypedOption;
-class CommandLine : public CL::CommandLine
-{
+class CommandLine : public CL::CommandLine {
public:
CommandLine () : CL::CommandLine(
"This program converts DVI files, as created by TeX/LaTeX, to\nthe XML-based scalable vector graphics format SVG.",
- "[options] dvifile\n-E [options] epsfile",
+ "[options] dvifile\n--eps [options] epsfile\n--pdf [options] pdffile",
"Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de>"
) {}
@@ -35,7 +34,7 @@ class CommandLine : public CL::CommandLine
Option colorOpt {"color", '\0', "colorize messages"};
Option colornamesOpt {"colornames", '\0', "prefer color names to RGB values if possible"};
Option commentsOpt {"comments", '\0', "add comments with additional information"};
- Option epsOpt {"eps", 'E', "convert an EPS file to SVG"};
+ Option epsOpt {"eps", 'E', "convert EPS file to SVG"};
Option exactOpt {"exact", 'e', "compute exact glyph boxes"};
TypedOption<std::string, Option::ArgMode::REQUIRED> fontFormatOpt {"font-format", 'f', "format", "svg", "select file format of embedded fonts"};
TypedOption<std::string, Option::ArgMode::REQUIRED> fontmapOpt {"fontmap", 'm', "filenames", "evaluate (additional) font map files"};
@@ -55,11 +54,13 @@ class CommandLine : public CL::CommandLine
Option noStylesOpt {"no-styles", '\0', "don't use CSS styles to reference fonts"};
TypedOption<std::string, Option::ArgMode::REQUIRED> outputOpt {"output", 'o', "pattern", "set name pattern of output files"};
TypedOption<std::string, Option::ArgMode::REQUIRED> pageOpt {"page", 'p', "ranges", "1", "choose page(s) to convert"};
+ Option pdfOpt {"pdf", 'P', "convert PDF file to SVG"};
TypedOption<int, Option::ArgMode::REQUIRED> precisionOpt {"precision", 'd', "number", 0, "set number of decimal points (0-6)"};
- TypedOption<double, Option::ArgMode::OPTIONAL> progressOpt {"progress", 'P', "delay", 0.5, "enable progress indicator"};
+ TypedOption<double, Option::ArgMode::OPTIONAL> progressOpt {"progress", '\0', "delay", 0.5, "enable progress indicator"};
Option relativeOpt {"relative", 'R', "create relative path commands"};
TypedOption<double, Option::ArgMode::REQUIRED> rotateOpt {"rotate", 'r', "angle", "rotate page content clockwise"};
TypedOption<std::string, Option::ArgMode::REQUIRED> scaleOpt {"scale", 'c', "sx[,sy]", "scale page content"};
+ Option stdinOpt {"stdin", '\0', "read input file from stdin"};
Option stdoutOpt {"stdout", 's', "write SVG output to stdout"};
TypedOption<std::string, Option::ArgMode::OPTIONAL> tmpdirOpt {"tmpdir", '\0', "path", "set/print the directory for temporary files"};
TypedOption<bool, Option::ArgMode::OPTIONAL> traceAllOpt {"trace-all", 'a', "retrace", false, "trace all glyphs of bitmap fonts"};
@@ -89,6 +90,10 @@ class CommandLine : public CL::CommandLine
#if !defined(DISABLE_GS)
{&epsOpt, 0},
#endif
+#if !defined(DISABLE_GS)
+ {&pdfOpt, 0},
+#endif
+ {&stdinOpt, 0},
{&bboxOpt, 1},
#if !defined(DISABLE_GS)
{&clipjoinOpt, 1},
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp
index 720da8ddeca..da9b4b7540b 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp
@@ -39,7 +39,7 @@ DvisvgmSpecialHandler::DvisvgmSpecialHandler ()
}
-void DvisvgmSpecialHandler::preprocess (const char*, istream &is, SpecialActions&) {
+void DvisvgmSpecialHandler::preprocess (const string&, istream &is, SpecialActions&) {
struct Command {
const char *name;
void (DvisvgmSpecialHandler::*handler)(InputReader&);
@@ -53,7 +53,7 @@ void DvisvgmSpecialHandler::preprocess (const char*, istream &is, SpecialActions
}};
StreamInputReader ir(is);
- string cmdstr = ir.getWord();
+ const string cmdstr = ir.getWord();
for (const Command &command : commands) {
if (command.name == cmdstr) {
ir.skipSpace();
@@ -117,7 +117,7 @@ void DvisvgmSpecialHandler::preprocessRawPut (InputReader &ir) {
* @param[in] prefix special prefix read by the SpecialManager
* @param[in] is the special statement is read from this stream
* @param[in] actions object providing the actions that can be performed by the SpecialHandler */
-bool DvisvgmSpecialHandler::process (const char *prefix, istream &is, SpecialActions &actions) {
+bool DvisvgmSpecialHandler::process (const string &prefix, istream &is, SpecialActions &actions) {
struct Command {
const char *name;
void (DvisvgmSpecialHandler::*handler)(InputReader&, SpecialActions&);
@@ -132,7 +132,7 @@ bool DvisvgmSpecialHandler::process (const char *prefix, istream &is, SpecialAct
{"img", &DvisvgmSpecialHandler::processImg}
}};
StreamInputReader ir(is);
- string cmdstr = ir.getWord();
+ const string cmdstr = ir.getWord();
for (const Command &command : commands) {
if (command.name == cmdstr) {
ir.skipSpace();
@@ -362,7 +362,7 @@ void DvisvgmSpecialHandler::dviEndPage (unsigned, SpecialActions&) {
}
-const vector<const char*> DvisvgmSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"dvisvgm:"};
+vector<const char*> DvisvgmSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"dvisvgm:"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp
index 242aa6a4aa4..0b6bc9bd428 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp
@@ -29,8 +29,7 @@
class InputReader;
class SpecialActions;
-class DvisvgmSpecialHandler : public SpecialHandler, public DVIPreprocessingListener, public DVIEndPageListener
-{
+class DvisvgmSpecialHandler : public SpecialHandler {
using StringVector = std::vector<std::string>;
using MacroMap = std::unordered_map<std::string, StringVector>;
@@ -38,9 +37,9 @@ class DvisvgmSpecialHandler : public SpecialHandler, public DVIPreprocessingList
DvisvgmSpecialHandler ();
const char* name () const override {return "dvisvgm";}
const char* info () const override {return "special set for embedding raw SVG snippets";}
- const std::vector<const char*> prefixes () const override;
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ std::vector<const char*> prefixes() const override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
protected:
void preprocessRaw (InputReader &ir);
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp
index ef1096ef6b9..dd71ff92ab8 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp
@@ -56,8 +56,7 @@ static size_t getline (istream &is, char *line, size_t n) {
}
-EPSFile::EPSFile (const std::string& fname) : _ifs(fname.c_str(), ios::binary), _headerValid(false), _offset(0), _pslength(0)
-{
+EPSFile::EPSFile (const string &fname) : _ifs(fname, ios::binary) {
if (_ifs) {
if (getUInt32(_ifs) != 0xC6D3D0C5) // no binary header present?
_ifs.seekg(0); // go back to the first byte
@@ -84,10 +83,10 @@ istream& EPSFile::istream () const {
}
-/** Extracts the bounding box information from the DSC header/footer (if present)
- * @param[out] box the extracted bounding box
- * @return true if %%BoundingBox data could be read successfully */
-bool EPSFile::bbox (BoundingBox &box) const {
+/** Extracts the bounding box information from the DSC header/footer (if present).
+ * @return the extracted bounding box */
+BoundingBox EPSFile::bbox () const {
+ BoundingBox box;
std::istream &is = EPSFile::istream();
if (is) {
char buf[64];
@@ -105,10 +104,10 @@ bool EPSFile::bbox (BoundingBox &box) const {
ir.parseInt(val[i]);
}
box = BoundingBox(val[0], val[1], val[2], val[3]);
- return true;
+ break;
}
}
}
}
- return false;
+ return box;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
index 28d2aa8264c..fa996367bea 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
@@ -22,23 +22,23 @@
#define EPSFILE_HPP
#include <fstream>
+#include <istream>
#include <string>
#include "BoundingBox.hpp"
-class EPSFile
-{
+class EPSFile {
public:
EPSFile (const std::string &fname);
std::istream& istream () const;
bool hasValidHeader () const {return _headerValid;}
- bool bbox (BoundingBox &box) const;
+ BoundingBox bbox () const;
uint32_t pslength () const {return _pslength;}
private:
mutable std::ifstream _ifs;
- bool _headerValid; ///< true if file has a valid header
- uint32_t _offset; ///< stream offset where ASCII part of the file begins
- uint32_t _pslength; ///< length of PS section (in bytes)
+ bool _headerValid=false; ///< true if file has a valid header
+ uint32_t _offset=0; ///< stream offset where ASCII part of the file begins
+ uint32_t _pslength=0; ///< length of PS section (in bytes)
};
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp
index 6965a65a9e9..8e7dd29f9b2 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp
@@ -21,53 +21,19 @@
#ifndef EPSTOSVG_HPP
#define EPSTOSVG_HPP
-#include <memory>
-#include <string>
-#include "SpecialActions.hpp"
-#include "SVGTree.hpp"
+#include "EPSFile.hpp"
+#include "ImageToSVG.hpp"
-struct SVGOutputBase;
-
-class EPSToSVG : protected SpecialActions {
+class EPSToSVG : public ImageToSVG {
public:
- EPSToSVG (const std::string &fname, SVGOutputBase &out) : _fname(fname), _out(out), _x(0), _y(0) {}
- void convert ();
- void setTransformation (const Matrix &m);
- void setPageSize (const std::string &name);
+ EPSToSVG (const std::string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) {}
protected:
- // implement abstract base class SpecialActions
- double getX () const override {return _x;}
- double getY () const override {return _y;}
- void setX (double x) override {_x = x; _svg.setX(x);}
- void setY (double y) override {_y = y; _svg.setY(y);}
- void finishLine () override {}
- void setColor (const Color &color) override {_svg.setColor(color);}
- 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));}
- void prependToPage(std::unique_ptr<XMLNode> &&node) override {_svg.prependToPage(std::move(node));}
- void pushContextElement (std::unique_ptr<XMLElementNode> &&node) override {_svg.pushContextElement(std::move(node));}
- void popContextElement () override {_svg.popContextElement();}
- void embed (const BoundingBox &bbox) override {_bbox.embed(bbox);}
- void embed (const DPair &p, double r=0) override {if (r==0) _bbox.embed(p); else _bbox.embed(p, r);}
- void progress (const char *id) override;
- unsigned getCurrentPageNumber() const override {return 0;}
- BoundingBox& bbox () override {return _bbox;}
- BoundingBox& bbox (const std::string &name, bool reset=false) override {return _bbox;}
- std::string getSVGFilename (unsigned pageno) const override;
- std::string getBBoxFormatString () const override {return "";}
-
- private:
- std::string _fname; ///< name of EPS file
- SVGTree _svg;
- SVGOutputBase &_out;
- double _x, _y;
- BoundingBox _bbox;
+ std::string imageFormat () const override {return "EPS";}
+ bool imageIsValid () const override {return EPSFile(filename()).hasValidHeader();}
+ BoundingBox imageBBox () const override {return EPSFile(filename()).bbox();}
+ std::string psSpecialCmd () const override {return "psfile=";}
};
#endif
+
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp
index 83f167e428e..1b7b172cedc 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp
@@ -138,7 +138,7 @@ static double read_length (InputReader &in) {
}
-bool EmSpecialHandler::process (const char *prefix, istream &is, SpecialActions &actions) {
+bool EmSpecialHandler::process (const string &prefix, istream &is, SpecialActions &actions) {
// em:moveto => move graphic cursor to dvi position
// em:lineto => draw line from graphic cursor to dvi cursor, then move graphic cursor to dvi position
// em:linewidth <w> => set line width to <w>
@@ -167,7 +167,7 @@ bool EmSpecialHandler::process (const char *prefix, istream &is, SpecialActions
};
StreamInputReader ir(is);
- string cmdstr = ir.getWord();
+ const string cmdstr = ir.getWord();
for (Command *cmd=commands; cmd->name; cmd++) {
if (cmdstr == cmd->name) {
(this->*cmd->handler)(ir, actions);
@@ -258,7 +258,7 @@ void EmSpecialHandler::dviEndPage (unsigned pageno, SpecialActions &actions) {
}
-const vector<const char*> EmSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"em:"};
+vector<const char*> EmSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"em:"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp
index 36990ce17ba..3c58e55f06d 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp
@@ -29,7 +29,7 @@
class InputReader;
class SpecialActions;
-class EmSpecialHandler : public SpecialHandler, public DVIEndPageListener {
+class EmSpecialHandler : public SpecialHandler {
struct Line {
Line (int pp1, int pp2, char cc1, char cc2, double w) : p1(pp1), p2(pp2), c1(cc1), c2(cc2), width(w) {}
int p1, p2; ///< point numbers of line ends
@@ -41,8 +41,8 @@ class EmSpecialHandler : public SpecialHandler, public DVIEndPageListener {
EmSpecialHandler ();
const char* name () const override {return "em";}
const char* info () const override {return "line drawing statements of the emTeX special set";}
- const std::vector<const char*> prefixes () const override;
- bool process (const char *prefix, std::istream &in, SpecialActions &actions) override;
+ std::vector<const char*> prefixes() const override;
+ bool process (const std::string &prefix, std::istream &in, SpecialActions &actions) override;
protected:
void dviEndPage (unsigned pageno, SpecialActions &actions) override;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp
index 40a7aa01c22..405a6f2da21 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp
@@ -142,6 +142,7 @@ const char* FileFinder::findFile (const std::string &fname, const char *ftype) c
// to work around this, we try to lookup the files by calling kpsewhich.
Process process("kpsewhich", "-format=cmap "+fname);
process.run(&buf);
+ buf = util::trim(buf);
return buf.empty() ? nullptr : buf.c_str();
}
try {
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp
index 769ff0a7c23..4804b56f404 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp
@@ -310,7 +310,8 @@ bool FileSystem::exists (const string &fname) {
bool FileSystem::isDirectory (const string &fname) {
if (const char *cfname = fname.c_str()) {
#ifdef _WIN32
- return GetFileAttributes(cfname) & FILE_ATTRIBUTE_DIRECTORY;
+ auto attr = GetFileAttributes(cfname);
+ return attr != INVALID_FILE_ATTRIBUTES && (attr & FILE_ATTRIBUTE_DIRECTORY);
#else
struct stat attr;
return stat(cfname, &attr) == 0 && S_ISDIR(attr.st_mode);
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
index 5672a8b4eb0..dab7175e4fd 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
@@ -203,18 +203,21 @@ bool Ghostscript::revision (gsapi_revision_t *r) {
}
-/** Returns product name and revision number of the GS library.
- * @param[in] revonly if true, only the revision number is returned */
-string Ghostscript::revision (bool revonly) {
+/** Returns the revision number of the GS library. */
+int Ghostscript::revision () {
gsapi_revision_t r;
- if (revision(&r)) {
- ostringstream oss;
- if (!revonly)
- oss << r.product << ' ';
- oss << (r.revision/100) << '.' << setfill('0') << setw(2) << (r.revision%100);
- return oss.str();
- }
- return "";
+ if (revision(&r))
+ return static_cast<int>(r.revision);
+ return 0;
+}
+
+
+/** Returns the revision of the GS library as a string of the form "MAJOR.MINOR". */
+string Ghostscript::revisionstr () {
+ string revstr;
+ if (int rev = revision())
+ revstr = to_string(rev/100) + "." + to_string(rev%100);
+ return revstr;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp
index 258055f7672..06f1d38fa9b 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp
@@ -38,8 +38,7 @@
#endif
#if defined(DISABLE_GS)
-struct Ghostscript
-{
+struct Ghostscript {
using Stdin = int (GSDLLCALLPTR)(void *caller, char *buf, int len);
using Stdout = int (GSDLLCALLPTR)(void *caller, const char *str, int len);
using Stderr = int (GSDLLCALLPTR)(void *caller, const char *str, int len);
@@ -49,7 +48,8 @@ struct Ghostscript
bool init (int argc, const char **argv, void *caller=0) {return false;}
bool available () {return false;}
bool revision (gsapi_revision_t *r) {return false;}
- std::string revision (bool revonly=false) {return "";}
+ int revision () {return 0;}
+ std::string revisionstr () {return "";}
int set_stdio (Stdin in, Stdout out, Stderr err) {return 0;}
int run_string_begin (int user_errors, int *pexit_code) {return 0;}
int run_string_continue (const char *str, unsigned int length, int user_errors, int *pexit_code) {return 0;}
@@ -79,7 +79,8 @@ class Ghostscript
bool init (int argc, const char **argv, void *caller=0);
bool available ();
bool revision (gsapi_revision_t *r);
- std::string revision (bool revonly=false);
+ int revision ();
+ std::string revisionstr ();
int set_stdio (Stdin in, Stdout out, Stderr err);
int run_string_begin (int user_errors, int *pexit_code);
int run_string_continue (const char *str, unsigned int length, int user_errors, int *pexit_code);
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp
index 86f0ef022bf..52ed5efe780 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp
@@ -26,7 +26,7 @@
using namespace std;
-void HtmlSpecialHandler::preprocess (const char *, istream &is, SpecialActions &actions) {
+void HtmlSpecialHandler::preprocess (const string&, istream &is, SpecialActions &actions) {
StreamInputReader ir(is);
ir.skipSpace();
// collect page number and ID of named anchors
@@ -41,7 +41,7 @@ void HtmlSpecialHandler::preprocess (const char *, istream &is, SpecialActions &
}
-bool HtmlSpecialHandler::process (const char *, istream &is, SpecialActions &actions) {
+bool HtmlSpecialHandler::process (const string&, istream &is, SpecialActions &actions) {
_active = true;
StreamInputReader ir(is);
ir.skipSpace();
@@ -80,7 +80,7 @@ void HtmlSpecialHandler::dviEndPage (unsigned pageno, SpecialActions &actions) {
}
-const vector<const char*> HtmlSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"html:"};
+vector<const char*> HtmlSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"html:"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp
index 125f69192fd..3bebabd4746 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp
@@ -28,14 +28,14 @@
class SpecialActions;
-class HtmlSpecialHandler : public SpecialHandler, public DVIEndPageListener, public DVIPositionListener {
+class HtmlSpecialHandler : public SpecialHandler {
public:
HtmlSpecialHandler () : _active(false) {}
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
const char* name () const override {return "html";}
const char* info () const override {return "hyperref specials";}
- const std::vector<const char*> prefixes () const override;
+ std::vector<const char*> prefixes() const override;
protected:
void dviEndPage (unsigned pageno, SpecialActions &actions) override;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp
index 06958c1b963..27285fbb7c2 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp
@@ -1,5 +1,5 @@
/*************************************************************************
-** EPSToSVG.cpp **
+** ImageToSVG.cpp **
** **
** This file is part of dvisvgm -- a fast DVI to SVG converter **
** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
@@ -21,8 +21,7 @@
#include <config.h>
#include <fstream>
#include <sstream>
-#include "EPSFile.hpp"
-#include "EPSToSVG.hpp"
+#include "ImageToSVG.hpp"
#include "Message.hpp"
#include "MessageException.hpp"
#include "PsSpecialHandler.hpp"
@@ -34,20 +33,18 @@
using namespace std;
-void EPSToSVG::convert () {
+void ImageToSVG::convert () {
#ifndef HAVE_LIBGS
if (!Ghostscript().available())
- throw MessageException("Ghostscript is required to process the EPS file");
+ throw MessageException("Ghostscript is required to process "+imageFormat()+" files");
#endif
- EPSFile epsfile(_fname);
- if (!epsfile.hasValidHeader())
- throw PSException("invalid EPS file");
+ if (!imageIsValid())
+ throw PSException("invalid "+imageFormat()+" file");
- BoundingBox bbox;
- epsfile.bbox(bbox);
- if (bbox.width() == 0 || bbox.height() == 0)
- Message::wstream(true) << "bounding box of file " << _fname << " is empty\n";
- Message::mstream(false, Message::MC_PAGE_NUMBER) << "processing file " << _fname << '\n';
+ 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(false, Message::MC_PAGE_NUMBER) << "processing " << imageFormat() << " file\n";
Message::mstream().indent(1);
_svg.newPage(1);
// create a psfile special and forward it to the PsSpecialHandler
@@ -59,7 +56,7 @@ void EPSToSVG::convert () {
"ury=" << bbox.maxY();
try {
PsSpecialHandler pshandler;
- pshandler.process("psfile=", ss, *this);
+ pshandler.process(psSpecialCmd(), ss, *this);
}
catch (...) {
progress(0); // remove progress message
@@ -79,23 +76,23 @@ void EPSToSVG::convert () {
else {
const double bp2pt = 72.27/72;
const double bp2mm = 25.4/72;
- Message::mstream(false, Message::MC_PAGE_SIZE) << "graphic size: " << XMLString(bbox.width()*bp2pt) << "pt"
- " x " << XMLString(bbox.height()*bp2pt) << "pt"
- " (" << XMLString(bbox.width()*bp2mm) << "mm"
- " x " << XMLString(bbox.height()*bp2mm) << "mm)\n";
+ Message::mstream(false, Message::MC_PAGE_SIZE) << "graphic size: " << XMLString(_bbox.width()*bp2pt) << "pt"
+ " x " << XMLString(_bbox.height()*bp2pt) << "pt"
+ " (" << XMLString(_bbox.width()*bp2mm) << "mm"
+ " x " << XMLString(_bbox.height()*bp2mm) << "mm)\n";
Message::mstream(false, Message::MC_PAGE_WRITTEN) << "output written to " << svgfname << '\n';
}
}
-string EPSToSVG::getSVGFilename (unsigned pageno) const {
+string ImageToSVG::getSVGFilename (unsigned pageno) const {
if (pageno == 1)
return _out.filename(1, 1);
return "";
}
-void EPSToSVG::progress (const char *id) {
+void ImageToSVG::progress (const char *id) {
static double time=0;
static bool draw=false; // show progress indicator?
static size_t count=0;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
new file mode 100644
index 00000000000..a9424af38fb
--- /dev/null
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
@@ -0,0 +1,80 @@
+/*************************************************************************
+** ImageToSVG.hpp **
+** **
+** This file is part of dvisvgm -- a fast DVI to SVG converter **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef IMAGETOSVG_HPP
+#define IMAGETOSVG_HPP
+
+#include <istream>
+#include <memory>
+#include <string>
+#include "SpecialActions.hpp"
+#include "SVGTree.hpp"
+
+struct SVGOutputBase;
+
+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);
+ std::string filename () const {return _fname;}
+
+ protected:
+ virtual std::string imageFormat () const =0;
+ virtual bool imageIsValid () const =0;
+ virtual BoundingBox imageBBox () const =0;
+ virtual std::string psSpecialCmd () const =0;
+ // implement abstract base class SpecialActions
+ double getX () const override {return _x;}
+ double getY () const override {return _y;}
+ void setX (double x) override {_x = x; _svg.setX(x);}
+ void setY (double y) override {_y = y; _svg.setY(y);}
+ void finishLine () override {}
+ void setColor (const Color &color) override {_svg.setColor(color);}
+ 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));}
+ void prependToPage(std::unique_ptr<XMLNode> &&node) override {_svg.prependToPage(std::move(node));}
+ void pushContextElement (std::unique_ptr<XMLElementNode> &&node) override {_svg.pushContextElement(std::move(node));}
+ void popContextElement () override {_svg.popContextElement();}
+ void embed (const BoundingBox &bbox) override {_bbox.embed(bbox);}
+ void embed (const DPair &p, double r=0) override {if (r==0) _bbox.embed(p); else _bbox.embed(p, r);}
+ void progress (const char *id) override;
+ unsigned getCurrentPageNumber() const override {return 0;}
+ BoundingBox& bbox () override {return _bbox;}
+ BoundingBox& bbox (const std::string &name, bool reset=false) override {return _bbox;}
+ std::string getSVGFilename (unsigned pageno) const override;
+ std::string getBBoxFormatString () const override {return "";}
+
+ private:
+ std::string _fname; ///< name of image file
+ SVGTree _svg;
+ SVGOutputBase &_out;
+ double _x=0, _y=0;
+ BoundingBox _bbox;
+};
+
+#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
index 9d098904169..e073594a218 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
@@ -85,7 +85,6 @@ libdvisvgm_a_SOURCES = \
EncFile.hpp \
EPSFile.cpp \
EPSFile.hpp \
- EPSToSVG.cpp \
EPSToSVG.hpp \
FileFinder.cpp \
FileFinder.hpp \
@@ -126,6 +125,8 @@ libdvisvgm_a_SOURCES = \
HtmlSpecialHandler.hpp \
HyperlinkManager.cpp \
HyperlinkManager.hpp \
+ ImageToSVG.cpp \
+ ImageToSVG.hpp \
InputBuffer.cpp \
InputBuffer.hpp \
InputReader.cpp \
@@ -158,6 +159,7 @@ libdvisvgm_a_SOURCES = \
PathClipper.hpp \
PDFParser.cpp \
PDFParser.hpp \
+ PDFToSVG.hpp \
PdfSpecialHandler.cpp \
PdfSpecialHandler.hpp \
PreScanDVIReader.cpp \
@@ -180,6 +182,8 @@ libdvisvgm_a_SOURCES = \
ShadingPatch.hpp \
SignalHandler.cpp \
SignalHandler.hpp \
+ SourceInput.cpp \
+ SourceInput.hpp \
SpecialActions.hpp \
SpecialHandler.hpp \
SpecialManager.cpp \
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
index dfaa9fb0896..838276b69ed 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
@@ -153,45 +153,47 @@ am__libdvisvgm_a_SOURCES_DIST = AGLTable.hpp BasicDVIReader.cpp \
DvisvgmSpecialHandler.cpp DvisvgmSpecialHandler.hpp \
DVIToSVG.cpp DVIToSVG.hpp DVIToSVGActions.cpp \
DVIToSVGActions.hpp EmSpecialHandler.cpp EmSpecialHandler.hpp \
- EncFile.cpp EncFile.hpp EPSFile.cpp EPSFile.hpp EPSToSVG.cpp \
- EPSToSVG.hpp FileFinder.cpp FileFinder.hpp FilePath.cpp \
- FilePath.hpp FileSystem.cpp FileSystem.hpp FixWord.hpp \
- Font.cpp Font.hpp FontCache.cpp FontCache.hpp FontEncoding.cpp \
- FontEncoding.hpp FontEngine.cpp FontEngine.hpp FontManager.cpp \
- FontManager.hpp FontMap.cpp FontMap.hpp FontMetrics.cpp \
- FontMetrics.hpp FontStyle.hpp FontWriter.cpp FontWriter.hpp \
- GFGlyphTracer.cpp GFGlyphTracer.hpp GFReader.cpp GFReader.hpp \
- GFTracer.cpp GFTracer.hpp Ghostscript.cpp Ghostscript.hpp \
- Glyph.hpp GlyphTracerMessages.hpp GraphicsPath.hpp \
+ EncFile.cpp EncFile.hpp EPSFile.cpp EPSFile.hpp EPSToSVG.hpp \
+ FileFinder.cpp FileFinder.hpp FilePath.cpp FilePath.hpp \
+ FileSystem.cpp FileSystem.hpp FixWord.hpp Font.cpp Font.hpp \
+ FontCache.cpp FontCache.hpp FontEncoding.cpp FontEncoding.hpp \
+ FontEngine.cpp FontEngine.hpp FontManager.cpp FontManager.hpp \
+ FontMap.cpp FontMap.hpp FontMetrics.cpp FontMetrics.hpp \
+ FontStyle.hpp FontWriter.cpp FontWriter.hpp GFGlyphTracer.cpp \
+ GFGlyphTracer.hpp GFReader.cpp GFReader.hpp GFTracer.cpp \
+ GFTracer.hpp Ghostscript.cpp Ghostscript.hpp Glyph.hpp \
+ GlyphTracerMessages.hpp GraphicsPath.hpp \
HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
- HyperlinkManager.cpp HyperlinkManager.hpp InputBuffer.cpp \
- InputBuffer.hpp InputReader.cpp InputReader.hpp JFM.cpp \
- JFM.hpp Length.cpp Length.hpp macros.hpp MapLine.cpp \
- MapLine.hpp Matrix.cpp Matrix.hpp Message.cpp Message.hpp \
- MessageException.hpp MetafontWrapper.cpp MetafontWrapper.hpp \
- NoPsSpecialHandler.cpp NoPsSpecialHandler.hpp \
- NumericRanges.hpp PageRanges.cpp PageRanges.hpp PageSize.cpp \
- PageSize.hpp Pair.hpp PapersizeSpecialHandler.cpp \
- PapersizeSpecialHandler.hpp PathClipper.cpp PathClipper.hpp \
- PDFParser.cpp PDFParser.hpp PdfSpecialHandler.cpp \
- PdfSpecialHandler.hpp PreScanDVIReader.cpp \
- PreScanDVIReader.hpp Process.cpp Process.hpp psdefs.cpp \
- PSFilter.hpp PSInterpreter.cpp PSInterpreter.hpp PSPattern.cpp \
- PSPattern.hpp PSPreviewFilter.cpp PSPreviewFilter.hpp \
- PsSpecialHandler.cpp PsSpecialHandler.hpp RangeMap.cpp \
- RangeMap.hpp ShadingPatch.cpp ShadingPatch.hpp \
- SignalHandler.cpp SignalHandler.hpp SpecialActions.hpp \
- SpecialHandler.hpp SpecialManager.cpp SpecialManager.hpp \
- StreamReader.cpp StreamReader.hpp StreamWriter.cpp \
- StreamWriter.hpp Subfont.cpp Subfont.hpp SVGCharHandler.cpp \
- SVGCharHandler.hpp SVGCharHandlerFactory.cpp \
- SVGCharHandlerFactory.hpp SVGCharPathHandler.cpp \
- SVGCharPathHandler.hpp SVGCharTspanTextHandler.cpp \
- SVGCharTspanTextHandler.hpp SVGOutput.cpp SVGOutput.hpp \
- SVGSingleCharTextHandler.cpp SVGSingleCharTextHandler.hpp \
- SVGTree.cpp SVGTree.hpp System.cpp System.hpp \
- TensorProductPatch.cpp TensorProductPatch.hpp Terminal.cpp \
- Terminal.hpp TFM.cpp TFM.hpp ToUnicodeMap.cpp ToUnicodeMap.hpp \
+ HyperlinkManager.cpp HyperlinkManager.hpp ImageToSVG.cpp \
+ ImageToSVG.hpp InputBuffer.cpp InputBuffer.hpp InputReader.cpp \
+ InputReader.hpp JFM.cpp JFM.hpp Length.cpp Length.hpp \
+ macros.hpp MapLine.cpp MapLine.hpp Matrix.cpp Matrix.hpp \
+ Message.cpp Message.hpp MessageException.hpp \
+ MetafontWrapper.cpp MetafontWrapper.hpp NoPsSpecialHandler.cpp \
+ NoPsSpecialHandler.hpp NumericRanges.hpp PageRanges.cpp \
+ PageRanges.hpp PageSize.cpp PageSize.hpp Pair.hpp \
+ PapersizeSpecialHandler.cpp PapersizeSpecialHandler.hpp \
+ PathClipper.cpp PathClipper.hpp PDFParser.cpp PDFParser.hpp \
+ PDFToSVG.hpp PdfSpecialHandler.cpp PdfSpecialHandler.hpp \
+ PreScanDVIReader.cpp PreScanDVIReader.hpp Process.cpp \
+ Process.hpp psdefs.cpp PSFilter.hpp PSInterpreter.cpp \
+ PSInterpreter.hpp PSPattern.cpp PSPattern.hpp \
+ PSPreviewFilter.cpp PSPreviewFilter.hpp PsSpecialHandler.cpp \
+ PsSpecialHandler.hpp RangeMap.cpp RangeMap.hpp \
+ ShadingPatch.cpp ShadingPatch.hpp SignalHandler.cpp \
+ SignalHandler.hpp SourceInput.cpp SourceInput.hpp \
+ SpecialActions.hpp SpecialHandler.hpp SpecialManager.cpp \
+ SpecialManager.hpp StreamReader.cpp StreamReader.hpp \
+ StreamWriter.cpp StreamWriter.hpp Subfont.cpp Subfont.hpp \
+ SVGCharHandler.cpp SVGCharHandler.hpp \
+ SVGCharHandlerFactory.cpp SVGCharHandlerFactory.hpp \
+ SVGCharPathHandler.cpp SVGCharPathHandler.hpp \
+ SVGCharTspanTextHandler.cpp SVGCharTspanTextHandler.hpp \
+ SVGOutput.cpp SVGOutput.hpp SVGSingleCharTextHandler.cpp \
+ SVGSingleCharTextHandler.hpp SVGTree.cpp SVGTree.hpp \
+ System.cpp System.hpp TensorProductPatch.cpp \
+ TensorProductPatch.hpp Terminal.cpp Terminal.hpp TFM.cpp \
+ TFM.hpp ToUnicodeMap.cpp ToUnicodeMap.hpp \
TpicSpecialHandler.cpp TpicSpecialHandler.hpp \
TriangularPatch.cpp TriangularPatch.hpp TrueTypeFont.cpp \
TrueTypeFont.hpp TTFAutohint.cpp TTFAutohint.hpp Unicode.cpp \
@@ -210,25 +212,26 @@ am_libdvisvgm_a_OBJECTS = BasicDVIReader.$(OBJEXT) Bezier.$(OBJEXT) \
Directory.$(OBJEXT) DLLoader.$(OBJEXT) DVIReader.$(OBJEXT) \
DvisvgmSpecialHandler.$(OBJEXT) DVIToSVG.$(OBJEXT) \
DVIToSVGActions.$(OBJEXT) EmSpecialHandler.$(OBJEXT) \
- EncFile.$(OBJEXT) EPSFile.$(OBJEXT) EPSToSVG.$(OBJEXT) \
- FileFinder.$(OBJEXT) FilePath.$(OBJEXT) FileSystem.$(OBJEXT) \
- Font.$(OBJEXT) FontCache.$(OBJEXT) FontEncoding.$(OBJEXT) \
+ EncFile.$(OBJEXT) EPSFile.$(OBJEXT) FileFinder.$(OBJEXT) \
+ FilePath.$(OBJEXT) FileSystem.$(OBJEXT) Font.$(OBJEXT) \
+ FontCache.$(OBJEXT) FontEncoding.$(OBJEXT) \
FontEngine.$(OBJEXT) FontManager.$(OBJEXT) FontMap.$(OBJEXT) \
FontMetrics.$(OBJEXT) FontWriter.$(OBJEXT) \
GFGlyphTracer.$(OBJEXT) GFReader.$(OBJEXT) GFTracer.$(OBJEXT) \
Ghostscript.$(OBJEXT) HtmlSpecialHandler.$(OBJEXT) \
- HyperlinkManager.$(OBJEXT) InputBuffer.$(OBJEXT) \
- InputReader.$(OBJEXT) JFM.$(OBJEXT) Length.$(OBJEXT) \
- MapLine.$(OBJEXT) Matrix.$(OBJEXT) Message.$(OBJEXT) \
- MetafontWrapper.$(OBJEXT) NoPsSpecialHandler.$(OBJEXT) \
- PageRanges.$(OBJEXT) PageSize.$(OBJEXT) \
- PapersizeSpecialHandler.$(OBJEXT) PathClipper.$(OBJEXT) \
- PDFParser.$(OBJEXT) PdfSpecialHandler.$(OBJEXT) \
- PreScanDVIReader.$(OBJEXT) Process.$(OBJEXT) psdefs.$(OBJEXT) \
- PSInterpreter.$(OBJEXT) PSPattern.$(OBJEXT) \
- PSPreviewFilter.$(OBJEXT) PsSpecialHandler.$(OBJEXT) \
- RangeMap.$(OBJEXT) ShadingPatch.$(OBJEXT) \
- SignalHandler.$(OBJEXT) SpecialManager.$(OBJEXT) \
+ HyperlinkManager.$(OBJEXT) ImageToSVG.$(OBJEXT) \
+ InputBuffer.$(OBJEXT) InputReader.$(OBJEXT) JFM.$(OBJEXT) \
+ Length.$(OBJEXT) MapLine.$(OBJEXT) Matrix.$(OBJEXT) \
+ Message.$(OBJEXT) MetafontWrapper.$(OBJEXT) \
+ NoPsSpecialHandler.$(OBJEXT) PageRanges.$(OBJEXT) \
+ PageSize.$(OBJEXT) PapersizeSpecialHandler.$(OBJEXT) \
+ PathClipper.$(OBJEXT) PDFParser.$(OBJEXT) \
+ PdfSpecialHandler.$(OBJEXT) PreScanDVIReader.$(OBJEXT) \
+ Process.$(OBJEXT) psdefs.$(OBJEXT) PSInterpreter.$(OBJEXT) \
+ PSPattern.$(OBJEXT) PSPreviewFilter.$(OBJEXT) \
+ PsSpecialHandler.$(OBJEXT) RangeMap.$(OBJEXT) \
+ ShadingPatch.$(OBJEXT) SignalHandler.$(OBJEXT) \
+ SourceInput.$(OBJEXT) SpecialManager.$(OBJEXT) \
StreamReader.$(OBJEXT) StreamWriter.$(OBJEXT) \
Subfont.$(OBJEXT) SVGCharHandler.$(OBJEXT) \
SVGCharHandlerFactory.$(OBJEXT) SVGCharPathHandler.$(OBJEXT) \
@@ -499,45 +502,47 @@ libdvisvgm_a_SOURCES = AGLTable.hpp BasicDVIReader.cpp \
DvisvgmSpecialHandler.cpp DvisvgmSpecialHandler.hpp \
DVIToSVG.cpp DVIToSVG.hpp DVIToSVGActions.cpp \
DVIToSVGActions.hpp EmSpecialHandler.cpp EmSpecialHandler.hpp \
- EncFile.cpp EncFile.hpp EPSFile.cpp EPSFile.hpp EPSToSVG.cpp \
- EPSToSVG.hpp FileFinder.cpp FileFinder.hpp FilePath.cpp \
- FilePath.hpp FileSystem.cpp FileSystem.hpp FixWord.hpp \
- Font.cpp Font.hpp FontCache.cpp FontCache.hpp FontEncoding.cpp \
- FontEncoding.hpp FontEngine.cpp FontEngine.hpp FontManager.cpp \
- FontManager.hpp FontMap.cpp FontMap.hpp FontMetrics.cpp \
- FontMetrics.hpp FontStyle.hpp FontWriter.cpp FontWriter.hpp \
- GFGlyphTracer.cpp GFGlyphTracer.hpp GFReader.cpp GFReader.hpp \
- GFTracer.cpp GFTracer.hpp Ghostscript.cpp Ghostscript.hpp \
- Glyph.hpp GlyphTracerMessages.hpp GraphicsPath.hpp \
+ EncFile.cpp EncFile.hpp EPSFile.cpp EPSFile.hpp EPSToSVG.hpp \
+ FileFinder.cpp FileFinder.hpp FilePath.cpp FilePath.hpp \
+ FileSystem.cpp FileSystem.hpp FixWord.hpp Font.cpp Font.hpp \
+ FontCache.cpp FontCache.hpp FontEncoding.cpp FontEncoding.hpp \
+ FontEngine.cpp FontEngine.hpp FontManager.cpp FontManager.hpp \
+ FontMap.cpp FontMap.hpp FontMetrics.cpp FontMetrics.hpp \
+ FontStyle.hpp FontWriter.cpp FontWriter.hpp GFGlyphTracer.cpp \
+ GFGlyphTracer.hpp GFReader.cpp GFReader.hpp GFTracer.cpp \
+ GFTracer.hpp Ghostscript.cpp Ghostscript.hpp Glyph.hpp \
+ GlyphTracerMessages.hpp GraphicsPath.hpp \
HtmlSpecialHandler.cpp HtmlSpecialHandler.hpp \
- HyperlinkManager.cpp HyperlinkManager.hpp InputBuffer.cpp \
- InputBuffer.hpp InputReader.cpp InputReader.hpp JFM.cpp \
- JFM.hpp Length.cpp Length.hpp macros.hpp MapLine.cpp \
- MapLine.hpp Matrix.cpp Matrix.hpp Message.cpp Message.hpp \
- MessageException.hpp MetafontWrapper.cpp MetafontWrapper.hpp \
- NoPsSpecialHandler.cpp NoPsSpecialHandler.hpp \
- NumericRanges.hpp PageRanges.cpp PageRanges.hpp PageSize.cpp \
- PageSize.hpp Pair.hpp PapersizeSpecialHandler.cpp \
- PapersizeSpecialHandler.hpp PathClipper.cpp PathClipper.hpp \
- PDFParser.cpp PDFParser.hpp PdfSpecialHandler.cpp \
- PdfSpecialHandler.hpp PreScanDVIReader.cpp \
- PreScanDVIReader.hpp Process.cpp Process.hpp psdefs.cpp \
- PSFilter.hpp PSInterpreter.cpp PSInterpreter.hpp PSPattern.cpp \
- PSPattern.hpp PSPreviewFilter.cpp PSPreviewFilter.hpp \
- PsSpecialHandler.cpp PsSpecialHandler.hpp RangeMap.cpp \
- RangeMap.hpp ShadingPatch.cpp ShadingPatch.hpp \
- SignalHandler.cpp SignalHandler.hpp SpecialActions.hpp \
- SpecialHandler.hpp SpecialManager.cpp SpecialManager.hpp \
- StreamReader.cpp StreamReader.hpp StreamWriter.cpp \
- StreamWriter.hpp Subfont.cpp Subfont.hpp SVGCharHandler.cpp \
- SVGCharHandler.hpp SVGCharHandlerFactory.cpp \
- SVGCharHandlerFactory.hpp SVGCharPathHandler.cpp \
- SVGCharPathHandler.hpp SVGCharTspanTextHandler.cpp \
- SVGCharTspanTextHandler.hpp SVGOutput.cpp SVGOutput.hpp \
- SVGSingleCharTextHandler.cpp SVGSingleCharTextHandler.hpp \
- SVGTree.cpp SVGTree.hpp System.cpp System.hpp \
- TensorProductPatch.cpp TensorProductPatch.hpp Terminal.cpp \
- Terminal.hpp TFM.cpp TFM.hpp ToUnicodeMap.cpp ToUnicodeMap.hpp \
+ HyperlinkManager.cpp HyperlinkManager.hpp ImageToSVG.cpp \
+ ImageToSVG.hpp InputBuffer.cpp InputBuffer.hpp InputReader.cpp \
+ InputReader.hpp JFM.cpp JFM.hpp Length.cpp Length.hpp \
+ macros.hpp MapLine.cpp MapLine.hpp Matrix.cpp Matrix.hpp \
+ Message.cpp Message.hpp MessageException.hpp \
+ MetafontWrapper.cpp MetafontWrapper.hpp NoPsSpecialHandler.cpp \
+ NoPsSpecialHandler.hpp NumericRanges.hpp PageRanges.cpp \
+ PageRanges.hpp PageSize.cpp PageSize.hpp Pair.hpp \
+ PapersizeSpecialHandler.cpp PapersizeSpecialHandler.hpp \
+ PathClipper.cpp PathClipper.hpp PDFParser.cpp PDFParser.hpp \
+ PDFToSVG.hpp PdfSpecialHandler.cpp PdfSpecialHandler.hpp \
+ PreScanDVIReader.cpp PreScanDVIReader.hpp Process.cpp \
+ Process.hpp psdefs.cpp PSFilter.hpp PSInterpreter.cpp \
+ PSInterpreter.hpp PSPattern.cpp PSPattern.hpp \
+ PSPreviewFilter.cpp PSPreviewFilter.hpp PsSpecialHandler.cpp \
+ PsSpecialHandler.hpp RangeMap.cpp RangeMap.hpp \
+ ShadingPatch.cpp ShadingPatch.hpp SignalHandler.cpp \
+ SignalHandler.hpp SourceInput.cpp SourceInput.hpp \
+ SpecialActions.hpp SpecialHandler.hpp SpecialManager.cpp \
+ SpecialManager.hpp StreamReader.cpp StreamReader.hpp \
+ StreamWriter.cpp StreamWriter.hpp Subfont.cpp Subfont.hpp \
+ SVGCharHandler.cpp SVGCharHandler.hpp \
+ SVGCharHandlerFactory.cpp SVGCharHandlerFactory.hpp \
+ SVGCharPathHandler.cpp SVGCharPathHandler.hpp \
+ SVGCharTspanTextHandler.cpp SVGCharTspanTextHandler.hpp \
+ SVGOutput.cpp SVGOutput.hpp SVGSingleCharTextHandler.cpp \
+ SVGSingleCharTextHandler.hpp SVGTree.cpp SVGTree.hpp \
+ System.cpp System.hpp TensorProductPatch.cpp \
+ TensorProductPatch.hpp Terminal.cpp Terminal.hpp TFM.cpp \
+ TFM.hpp ToUnicodeMap.cpp ToUnicodeMap.hpp \
TpicSpecialHandler.cpp TpicSpecialHandler.hpp \
TriangularPatch.cpp TriangularPatch.hpp TrueTypeFont.cpp \
TrueTypeFont.hpp TTFAutohint.cpp TTFAutohint.hpp Unicode.cpp \
@@ -683,7 +688,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Directory.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DvisvgmSpecialHandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPSFile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPSToSVG.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmSpecialHandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncFile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileFinder.Po@am__quote@
@@ -703,6 +707,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Ghostscript.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HtmlSpecialHandler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HyperlinkManager.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ImageToSVG.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputBuffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputReader.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/JFM.Po@am__quote@
@@ -734,6 +739,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SVGTree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShadingPatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandler.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceInput.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpecialManager.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamReader.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamWriter.Po@am__quote@
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp
index d22cc45f690..bce560c1dee 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp
@@ -18,7 +18,6 @@
** along with this program; if not, see <http://www.gnu.org/licenses/>. **
*************************************************************************/
-#include <stdio.h>
#include <comdef.h>
#include <string>
#include "MessageException.hpp"
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp
index a1df816cb67..67d61447a16 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp
@@ -24,7 +24,7 @@
using namespace std;
-bool NoPsSpecialHandler::process (const char *prefix, istream &is, SpecialActions &actions) {
+bool NoPsSpecialHandler::process (const string&, istream&, SpecialActions&) {
_count++;
return true;
}
@@ -39,7 +39,7 @@ void NoPsSpecialHandler::dviEndPage (unsigned pageno, SpecialActions &actions) {
}
-const vector<const char*> NoPsSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"header=", "psfile=", "PSfile=", "ps:", "ps::", "!", "\""};
+vector<const char*> NoPsSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"header=", "psfile=", "PSfile=", "ps:", "ps::", "!", "\""};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp
index 33922799b2f..fbd088d2703 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp
@@ -23,14 +23,13 @@
#include "SpecialHandler.hpp"
-class NoPsSpecialHandler : public SpecialHandler, public DVIEndPageListener
-{
+class NoPsSpecialHandler : public SpecialHandler {
public:
NoPsSpecialHandler () : _count(0) {}
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
const char* name () const override {return 0;}
const char* info () const override {return 0;}
- const std::vector<const char*> prefixes () const override;
+ std::vector<const char*> prefixes() const override;
protected:
void dviEndPage (unsigned pageno, SpecialActions &actions) override;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp
new file mode 100644
index 00000000000..570eecd6384
--- /dev/null
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp
@@ -0,0 +1,47 @@
+/*************************************************************************
+** PDFToSVG.hpp **
+** **
+** This file is part of dvisvgm -- a fast DVI to SVG converter **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef PDFTOSVG_HPP
+#define PDFTOSVG_HPP
+
+#include <fstream>
+#include "ImageToSVG.hpp"
+
+class PDFToSVG : public ImageToSVG {
+ public:
+ PDFToSVG (const std::string &fname, SVGOutputBase &out) : ImageToSVG(fname, out) {}
+
+ protected:
+ bool imageIsValid () const override {
+ std::ifstream ifs(filename());
+ if (ifs) {
+ char buf[16];
+ ifs.getline(buf, 16);
+ return std::strncmp(buf, "%PDF-1.", 7) == 0;
+ }
+ return false;
+ }
+ std::string imageFormat () const override {return "PDF";}
+ BoundingBox imageBBox () const override {return BoundingBox();}
+ std::string psSpecialCmd () const override {return "pdffile=";}
+};
+
+#endif
+
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp
index 57441da6eca..f87a6467a09 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp
@@ -33,29 +33,27 @@
using namespace std;
-const char *PSInterpreter::GSARGS[] = {
- "gs", // dummy name
- "-q", // be quiet, suppress gs banner
-// "-dSAFER", // disallow writing of files
- "-dNODISPLAY", // we don't need a display device
- "-dNOPAUSE", // keep going
- "-dWRITESYSTEMDICT", // leave systemdict writable as some operators must be replaced
- "-dNOPROMPT",
-// "-dNOBIND",
-};
-
-
/** Constructs a new PSInterpreter object.
* @param[in] actions template methods to be executed after recognizing the corresponding PS operator. */
PSInterpreter::PSInterpreter (PSActions *actions)
- : _mode(PS_NONE), _actions(actions), _filter(0), _bytesToRead(0), _inError(false), _initialized(false)
+ : _mode(PS_NONE), _actions(actions)
{
}
void PSInterpreter::init () {
if (!_initialized) {
- _gs.init(sizeof(GSARGS)/sizeof(char*), GSARGS, this);
+ vector<const char*> gsargs {
+ "gs", // dummy name
+ "-q", // be quiet, suppress gs banner
+ "-dNODISPLAY", // we don't need a display device
+ "-dNOPAUSE", // keep going
+ "-dWRITESYSTEMDICT", // leave systemdict writable as some operators must be replaced
+ "-dNOPROMPT"
+ };
+ if (int gsrev = _gs.revision())
+ gsargs.emplace_back(gsrev == 922 ? "-dREALLYDELAYBIND" : "-dDELAYBIND");
+ _gs.init(gsargs.size(), gsargs.data(), this);
_gs.set_stdio(input, output, error);
_initialized = true;
// Before executing any random PS code redefine some operators and run
@@ -265,12 +263,14 @@ 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}},
{"rotate", { 1, &PSActions::rotate}},
{"save", { 1, &PSActions::save}},
{"scale", { 2, &PSActions::scale}},
+ {"setblendmode", { 1, &PSActions::setblendmode}},
{"setcmykcolor", { 4, &PSActions::setcmykcolor}},
{"setdash", {-1, &PSActions::setdash}},
{"setgray", { 1, &PSActions::setgray}},
@@ -281,6 +281,7 @@ void PSInterpreter::callActions (InputReader &in) {
{"setmatrix", { 6, &PSActions::setmatrix}},
{"setmiterlimit", { 1, &PSActions::setmiterlimit}},
{"setopacityalpha",{ 1, &PSActions::setopacityalpha}},
+ {"setshapealpha", { 1, &PSActions::setshapealpha}},
{"setpagedevice", { 0, &PSActions::setpagedevice}},
{"setpattern", {-1, &PSActions::setpattern}},
{"setrgbcolor", { 3, &PSActions::setrgbcolor}},
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp
index ae75152899e..2db857e0f61 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp
@@ -55,11 +55,13 @@ 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;
virtual void save (std::vector<double> &p) =0;
virtual void scale (std::vector<double> &p) =0;
+ virtual void setblendmode (std::vector<double> &p) =0;
virtual void setcmykcolor (std::vector<double> &cmyk) =0;
virtual void setdash (std::vector<double> &p) =0;
virtual void setgray (std::vector<double> &p) =0;
@@ -70,10 +72,11 @@ struct PSActions {
virtual void setmatrix (std::vector<double> &p) =0;
virtual void setmiterlimit (std::vector<double> &p) =0;
virtual void setopacityalpha (std::vector<double> &p) =0;
+ virtual void setshapealpha (std::vector<double> &p) =0;
virtual void setpagedevice (std::vector<double> &p) =0;
virtual void setpattern (std::vector<double> &p) =0;
virtual void setrgbcolor (std::vector<double> &rgb) =0;
- virtual void shfill (std::vector<double> &rgb) =0;
+ virtual void shfill (std::vector<double> &p) =0;
virtual void stroke (std::vector<double> &p) =0;
virtual void translate (std::vector<double> &p) =0;
virtual void executed () {} // triggered if one of the above PS operators has been executed
@@ -113,15 +116,14 @@ class PSInterpreter {
private:
Ghostscript _gs;
Mode _mode; ///< current execution mode
- PSActions *_actions; ///< actions to be performed
- PSFilter *_filter; ///< active filter used to process PS code
- size_t _bytesToRead; ///< if > 0, maximal number of bytes to be processed by following calls of execute()
+ PSActions *_actions=nullptr; ///< actions to be performed
+ PSFilter *_filter=nullptr; ///< active filter used to process PS code
+ size_t _bytesToRead=0; ///< if > 0, maximal number of bytes to be processed by following calls of execute()
std::vector<char> _linebuf;
std::string _errorMessage; ///< text of error message
- bool _inError; ///< true if scanning error message
- bool _initialized; ///< true if PSInterpreter has been completely initialized
+ bool _inError=false; ///< true if scanning error message
+ bool _initialized=false; ///< true if PSInterpreter has been completely initialized
std::vector<std::string> _rawData; ///< raw data received
- static const char *GSARGS[]; ///< parameters passed to Ghostscript
static const char *PSDEFS; ///< initial PostScript definitions
};
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp
index 00cd7428757..10ed7d96a64 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp
@@ -24,11 +24,11 @@
using namespace std;
-void PapersizeSpecialHandler::preprocess (const char*, std::istream &is, SpecialActions &actions) {
+void PapersizeSpecialHandler::preprocess (const string&, std::istream &is, SpecialActions &actions) {
string params;
is >> params;
Length w, h;
- size_t splitpos = params.find(',');
+ const size_t splitpos = params.find(',');
try {
if (splitpos == string::npos) {
w.set(params);
@@ -45,7 +45,7 @@ void PapersizeSpecialHandler::preprocess (const char*, std::istream &is, Special
}
-bool PapersizeSpecialHandler::process (const char*, std::istream&, SpecialActions&) {
+bool PapersizeSpecialHandler::process (const string&, std::istream&, SpecialActions&) {
return true;
}
@@ -92,7 +92,7 @@ void PapersizeSpecialHandler::dviEndPage (unsigned pageno, SpecialActions &actio
}
-const vector<const char*> PapersizeSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"papersize="};
+vector<const char*> PapersizeSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"papersize="};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp
index c38b58cd649..ac5f42d9d2b 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp
@@ -26,16 +26,16 @@
#include "Length.hpp"
#include "SpecialHandler.hpp"
-class PapersizeSpecialHandler : public SpecialHandler, public DVIEndPageListener {
+class PapersizeSpecialHandler : public SpecialHandler {
using DoublePair = std::pair<double,double>; // (width, height)
using PageSize = std::pair<unsigned,DoublePair>; // page number -> (width, height)
public:
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
const char* info () const override {return "special to set the page size";}
const char* name () const override {return "papersize";}
- const std::vector<const char*> prefixes () const override;
+ std::vector<const char*> prefixes() const override;
void storePaperSize (unsigned pageno, Length width, Length height);
void reset () {_pageSizes.clear();}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp
index 06d1daadf5d..34da25efba9 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp
@@ -39,10 +39,10 @@ using namespace std;
using CmdHandler = void (PdfSpecialHandler::*)(StreamInputReader&, SpecialActions&);
-void PdfSpecialHandler::preprocess (const char*, istream &is, SpecialActions &actions) {
+void PdfSpecialHandler::preprocess (const string&, istream &is, SpecialActions &actions) {
StreamInputReader ir(is);
ir.skipSpace();
- string cmdstr = ir.getWord();
+ const string cmdstr = ir.getWord();
static unordered_map<string, CmdHandler> commands = {
{"bann", &PdfSpecialHandler::preprocessBeginAnn},
{"bannot", &PdfSpecialHandler::preprocessBeginAnn},
@@ -56,11 +56,11 @@ void PdfSpecialHandler::preprocess (const char*, istream &is, SpecialActions &ac
}
-bool PdfSpecialHandler::process (const char*, istream &is, SpecialActions &actions) {
+bool PdfSpecialHandler::process (const string&, istream &is, SpecialActions &actions) {
_active = true;
StreamInputReader ir(is);
ir.skipSpace();
- string cmdstr = ir.getWord();
+ const string cmdstr = ir.getWord();
ir.skipSpace();
// dvipdfm(x) specials currently supported
static unordered_map<string, CmdHandler> commands = {
@@ -283,7 +283,7 @@ void PdfSpecialHandler::dviEndPage (unsigned pageno, SpecialActions &actions) {
}
-const vector<const char*> PdfSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"pdf:"};
+vector<const char*> PdfSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"pdf:"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp
index 5027af86606..8e3b7ebb59a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp
@@ -25,13 +25,13 @@
class StreamInputReader;
-class PdfSpecialHandler : public SpecialHandler, public DVIPositionListener, public DVIEndPageListener {
+class PdfSpecialHandler : public SpecialHandler {
public:
const char* info () const override {return "PDF hyperlink, font map, and pagesize specials";}
const char* name () const override {return "pdf";}
- const std::vector<const char*> prefixes () const override;
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ std::vector<const char*> prefixes() const override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
protected:
// handlers for corresponding PDF specials
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp
index 238bacb2373..adb364855a4 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp
@@ -76,8 +76,10 @@ bool Process::run (string *out) {
if (!subprocess.run(_cmd, _paramstr))
return false;
for (;;) {
- if (out)
+ if (out) {
+ out->clear();
subprocess.readFromPipe(*out);
+ }
Subprocess::State state = subprocess.state();
if (state != Subprocess::State::RUNNING)
return state == Subprocess::State::FINISHED;
@@ -133,12 +135,22 @@ bool Subprocess::readFromPipe (string &out) {
return false;
bool success=false;
- DWORD len;
- while (PeekNamedPipe(_pipeReadHandle, NULL, 0, NULL, &len, NULL) && len > 0) { // prevent blocking
- char buf[4096];
- success = ReadFile(_pipeReadHandle, buf, sizeof(buf), &len, NULL);
- if (success && len > 0)
+ bool processExited=false;
+ DWORD len=0;
+ while (PeekNamedPipe(_pipeReadHandle, NULL, 0, NULL, &len, NULL)) { // prevent blocking
+ if (len == 0) {
+ if (processExited)
+ break;
+ // process still busy
+ processExited = (!_childProcHandle || WaitForSingleObject(_childProcHandle, 100) != WAIT_TIMEOUT);
+ }
+ else {
+ char buf[4096];
+ success = ReadFile(_pipeReadHandle, buf, sizeof(buf), &len, NULL);
+ if (!success || len == 0)
+ break;
out.append(buf, len);
+ }
}
return success;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp
index 8c5e7276ddb..f6aa64fc144 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp
@@ -18,12 +18,14 @@
** along with this program; if not, see <http://www.gnu.org/licenses/>. **
*************************************************************************/
+#include <array>
#include <cmath>
#include <fstream>
#include <memory>
#include <sstream>
#include "EPSFile.hpp"
#include "FileFinder.hpp"
+#include "FileSystem.hpp"
#include "Message.hpp"
#include "PathClipper.hpp"
#include "PSPattern.hpp"
@@ -34,18 +36,9 @@
#include "TensorProductPatch.hpp"
#include "TriangularPatch.hpp"
-
using namespace std;
-static inline double str2double (const string &str) {
- double ret;
- istringstream iss(str);
- iss >> ret;
- return ret;
-}
-
-
bool PsSpecialHandler::COMPUTE_CLIPPATHS_INTERSECTIONS = false;
bool PsSpecialHandler::SHADING_SEGMENT_OVERLAP = false;
int PsSpecialHandler::SHADING_SEGMENT_SIZE = 20;
@@ -85,7 +78,8 @@ void PsSpecialHandler::initgraphics () {
_linecap = _linejoin = 0; // butt end caps and miter joins
_miterlimit = 4;
_xmlnode = _savenode = nullptr;
- _opacityalpha = 1; // fully opaque
+ _opacityalpha = _shapealpha = 1; // fully opaque
+ _blendmode = 0; // "normal" mode (no blending)
_sx = _sy = _cos = 1.0;
_pattern = nullptr;
_currentcolor = Color::BLACK;
@@ -170,17 +164,17 @@ void PsSpecialHandler::executeAndSync (istream &is, bool updatePos) {
}
-void PsSpecialHandler::preprocess (const char *prefix, istream &is, SpecialActions &actions) {
+void PsSpecialHandler::preprocess (const string &prefix, istream &is, SpecialActions &actions) {
initialize();
if (_psSection != PS_HEADERS)
return;
_actions = &actions;
- if (*prefix == '!') {
+ if (prefix == "!") {
_headerCode += "\n";
_headerCode += string(istreambuf_iterator<char>(is), istreambuf_iterator<char>());
}
- else if (strcmp(prefix, "header=") == 0) {
+ else if (prefix == "header=") {
// read and execute PS header file
string fname;
is >> fname;
@@ -189,9 +183,9 @@ void PsSpecialHandler::preprocess (const char *prefix, istream &is, SpecialActio
}
-bool PsSpecialHandler::process (const char *prefix, istream &is, SpecialActions &actions) {
+bool PsSpecialHandler::process (const string &prefix, istream &is, SpecialActions &actions) {
// process PS headers only once (in prescan)
- if (*prefix == '!' || strcmp(prefix, "header=") == 0)
+ if (prefix == "!" || prefix == "header=")
return true;
_actions = &actions;
@@ -199,23 +193,23 @@ bool PsSpecialHandler::process (const char *prefix, istream &is, SpecialActions
if (_psSection != PS_BODY)
enterBodySection();
- if (*prefix == '"' || strcmp(prefix, "pst:") == 0) {
+ if (prefix == "\"" || prefix == "pst:") {
// read and execute literal PostScript code (isolated by a wrapping save/restore pair)
moveToDVIPos();
_psi.execute("\n@beginspecial @setspecial ");
executeAndSync(is, false);
_psi.execute("\n@endspecial ");
}
- else if (strcmp(prefix, "psfile=") == 0 || strcmp(prefix, "PSfile=") == 0) {
+ else if (prefix == "psfile=" || prefix == "PSfile=" || prefix == "pdffile=") {
if (_actions) {
StreamInputReader in(is);
- string fname = in.getQuotedString(in.peek() == '"' ? '"' : 0);
+ const string fname = in.getQuotedString(in.peek() == '"' ? '"' : 0);
unordered_map<string,string> attr;
in.parseAttributes(attr);
- psfile(fname, attr);
+ imgfile(prefix == "pdffile=" ? FileType::PDF : FileType::EPS, fname, attr);
}
}
- else if (strcmp(prefix, "ps::") == 0) {
+ else if (prefix == "ps::") {
if (_actions)
_actions->finishLine(); // reset DVI position on next DVI command
if (is.peek() == '[') {
@@ -266,46 +260,57 @@ bool PsSpecialHandler::process (const char *prefix, istream &is, SpecialActions
}
-/** Handles psfile special.
- * @param[in] fname EPS file to be included
- * @param[in] attr attributes given with \\special psfile */
-void PsSpecialHandler::psfile (const string &fname, const unordered_map<string,string> &attr) {
+/** Handles a psfile/pdffile special which places an external EPS/PDF graphic
+ * at the current DVI position. The lower left corner (llx,lly) of the
+ * given bounding box is placed at the DVI position.
+ * @param[in] filetype type of file to process (EPS or PDF)
+ * @param[in] fname EPS/PDF file to be included
+ * @param[in] attr attributes given with psfile/pdffile special */
+void PsSpecialHandler::imgfile (FileType filetype, const string &fname, const unordered_map<string,string> &attr) {
const char *filepath = FileFinder::instance().lookup(fname, false);
+ if (!filepath && FileSystem::exists(fname))
+ filepath = fname.c_str();
if (!filepath) {
- Message::wstream(true) << "file '" << fname << "' not found in special 'psfile'\n";
+ Message::wstream(true) << "file '" << fname << "' not found\n";
return;
}
unordered_map<string,string>::const_iterator it;
- // bounding box of EPS figure (lower left and upper right corner)
- double llx = (it = attr.find("llx")) != attr.end() ? str2double(it->second) : 0;
- double lly = (it = attr.find("lly")) != attr.end() ? str2double(it->second) : 0;
- double urx = (it = attr.find("urx")) != attr.end() ? str2double(it->second) : 0;
- double ury = (it = attr.find("ury")) != attr.end() ? str2double(it->second) : 0;
+ // bounding box of EPS figure in PS point units (lower left and upper right corner)
+ double llx = (it = attr.find("llx")) != attr.end() ? stod(it->second) : 0;
+ 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;
+
+ 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();
+ }
+ }
- // desired width/height of resulting figure
- double rwi = (it = attr.find("rwi")) != attr.end() ? str2double(it->second)/10.0 : -1;
- double rhi = (it = attr.find("rhi")) != attr.end() ? str2double(it->second)/10.0 : -1;
+ // desired width and height of the untransformed figure in PS point units
+ double rwi = (it = attr.find("rwi")) != attr.end() ? stod(it->second)/10.0 : -1;
+ double rhi = (it = attr.find("rhi")) != attr.end() ? stod(it->second)/10.0 : -1;
if (rwi == 0 || rhi == 0 || urx-llx == 0 || ury-lly == 0)
return;
// user transformations (default values chosen according to dvips manual)
- double hoffset = (it = attr.find("hoffset")) != attr.end() ? str2double(it->second) : 0;
- double voffset = (it = attr.find("voffset")) != attr.end() ? str2double(it->second) : 0;
-// double hsize = (it = attr.find("hsize")) != attr.end() ? str2double(it->second) : 612;
-// double vsize = (it = attr.find("vsize")) != attr.end() ? str2double(it->second) : 792;
- double hscale = (it = attr.find("hscale")) != attr.end() ? str2double(it->second) : 100;
- double vscale = (it = attr.find("vscale")) != attr.end() ? str2double(it->second) : 100;
- double angle = (it = attr.find("angle")) != attr.end() ? str2double(it->second) : 0;
-
- Matrix m(1);
- m.rotate(angle).scale(hscale/100, vscale/100).translate(hoffset, voffset);
- BoundingBox bbox(llx, lly, urx, ury);
- bbox.transform(m);
+ // order of transformations: rotate, scale, translate/offset
+ double hoffset = (it = attr.find("hoffset")) != attr.end() ? stod(it->second) : 0;
+ double voffset = (it = attr.find("voffset")) != attr.end() ? stod(it->second) : 0;
+// double hsize = (it = attr.find("hsize")) != attr.end() ? stod(it->second) : 612;
+// double vsize = (it = attr.find("vsize")) != attr.end() ? stod(it->second) : 792;
+ double hscale = (it = attr.find("hscale")) != attr.end() ? stod(it->second) : 100;
+ double vscale = (it = attr.find("vscale")) != attr.end() ? stod(it->second) : 100;
+ double angle = (it = attr.find("angle")) != attr.end() ? stod(it->second) : 0;
// compute factors to scale the bounding box to width rwi and height rhi
- double sx = rwi/bbox.width();
- double sy = rhi/bbox.height();
+ double sx = rwi/abs(llx-urx);
+ double sy = rhi/abs(lly-ury);
if (sx == 0 || sy == 0)
return;
@@ -314,34 +319,32 @@ void PsSpecialHandler::psfile (const string &fname, const unordered_map<string,s
if (sx < 0) sx = sy = 1.0; // neither rwi nor rhi set
// save current DVI position
- const double x = _actions->getX();
- const double y = _actions->getY();
+ double x = _actions->getX();
+ double y = _actions->getY();
// all following drawings are relative to (0,0)
_actions->setX(0);
_actions->setY(0);
moveToDVIPos();
- // transform current DVI position and bounding box location
- // according to current transformation matrix
- DPair llTrans = _actions->getMatrix()*DPair(llx, -lly);
- DPair urTrans = _actions->getMatrix()*DPair(urx, -ury);
- DPair dviposTrans = _actions->getMatrix()*DPair(x, y);
-
auto groupNode = util::make_unique<XMLElementNode>("g"); // append following elements to this group
_xmlnode = groupNode.get();
- _psi.execute("\n@beginspecial @setspecial /setpagedevice{@setpagedevice}def "); // enter \special environment
- EPSFile epsfile(filepath);
- _psi.limit(epsfile.pslength()); // limit the number of bytes going to be processed
- _psi.execute(epsfile.istream()); // process EPS file
- _psi.limit(0); // disable limitation
- _psi.execute("\n@endspecial "); // leave special environment
+ _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
+ );
if (!groupNode->empty()) { // has anything been drawn?
Matrix matrix(1);
- matrix.rotate(angle).scale(hscale/100, vscale/100).translate(hoffset, voffset);
- matrix.translate(-llTrans);
- matrix.scale(sx, sy); // resize image to width "rwi" and height "rhi"
- matrix.translate(dviposTrans); // move image to current DVI position
+ if (filetype == FileType::PDF)
+ matrix.translate(-llx, -lly).scale(1, -1); //.translate(0, lly); // flip vertically
+ else
+ matrix.translate(-llx, lly);
+ matrix.scale(sx, sy).rotate(-angle).scale(hscale/100, vscale/100);
+ matrix.translate(x+hoffset, y-voffset); // move image to current DVI position
+ matrix.rmultiply(_actions->getMatrix());
if (!matrix.isIdentity())
groupNode->addAttribute("transform", matrix.getSVG());
_actions->appendToPage(std::move(groupNode));
@@ -354,10 +357,12 @@ void PsSpecialHandler::psfile (const string &fname, const unordered_map<string,s
moveToDVIPos();
// update bounding box
- m.scale(sx, -sy);
- m.translate(dviposTrans);
- bbox = BoundingBox(DPair(0, 0), abs(urTrans-llTrans));
- bbox.transform(m);
+ BoundingBox bbox(0, 0, urx-llx, ury-lly);
+ Matrix matrix(1);
+ matrix.scale(sx, -sy).rotate(-angle).scale(hscale/100, vscale/100);
+ matrix.translate(x+hoffset, y-voffset);
+ matrix.rmultiply(_actions->getMatrix());
+ bbox.transform(matrix);
_actions->embed(bbox);
}
@@ -474,7 +479,8 @@ void PsSpecialHandler::setpagedevice (std::vector<double> &p) {
_linewidth = 1;
_linecap = _linejoin = 0; // butt end caps and miter joins
_miterlimit = 4;
- _opacityalpha = 1; // fully opaque
+ _opacityalpha = _shapealpha = 1; // fully opaque
+ _blendmode = 0; // "normal" mode (no blending)
_sx = _sy = _cos = 1.0;
_pattern = nullptr;
_currentcolor = Color::BLACK;
@@ -529,6 +535,17 @@ void PsSpecialHandler::closepath (vector<double>&) {
}
+static string css_blendmode_name (int mode) {
+ static const array<const char*,16> modenames = {{
+ "normal", "multiply", "screen", "overlay", "soft-light", "hard-light", "color-dodge", "color-burn",
+ "darken", "lighten", "difference", "exclusion", "hue", "saturation", "color", "luminosity"
+ }};
+ if (mode < 0 || mode > 15)
+ return "";
+ return modenames[mode];
+}
+
+
/** Draws the current path recorded by previously executed path commands (moveto, lineto,...).
* @param[in] p not used */
void PsSpecialHandler::stroke (vector<double> &p) {
@@ -578,8 +595,10 @@ void PsSpecialHandler::stroke (vector<double> &p) {
path->addAttribute("stroke-linecap", _linecap == 1 ? "round" : "square");
if (_linejoin > 0) // default value is "miter", no need to set it explicitly
path->addAttribute("stroke-linejoin", _linecap == 1 ? "round" : "bevel");
- if (_opacityalpha < 1)
- path->addAttribute("stroke-opacity", _opacityalpha);
+ if (_opacityalpha < 1 || _shapealpha < 1)
+ path->addAttribute("stroke-opacity", _opacityalpha*_shapealpha);
+ if (_blendmode > 0 && _blendmode < 16)
+ path->addAttribute("style", "mix-blend-mode:"+css_blendmode_name(_blendmode));
if (!_dashpattern.empty()) {
ostringstream oss;
for (size_t i=0; i < _dashpattern.size(); i++) {
@@ -647,8 +666,10 @@ void PsSpecialHandler::fill (vector<double> &p, bool evenodd) {
}
if (evenodd) // SVG default fill rule is "nonzero" algorithm
path->addAttribute("fill-rule", "evenodd");
- if (_opacityalpha < 1)
- path->addAttribute("fill-opacity", _opacityalpha);
+ if (_opacityalpha < 1 || _shapealpha < 1)
+ path->addAttribute("fill-opacity", _opacityalpha*_shapealpha);
+ if (_blendmode > 0 && _blendmode < 16)
+ path->addAttribute("style", "mix-blend-mode:"+css_blendmode_name(_blendmode));
if (_xmlnode)
_xmlnode->append(std::move(path));
else {
@@ -1246,9 +1267,10 @@ void PsSpecialHandler::ClippingStack::dup (int saveID) {
}
-const vector<const char*> PsSpecialHandler::prefixes () const {
- const vector<const char*> pfx {
+vector<const char*> PsSpecialHandler::prefixes() const {
+ vector<const char*> pfx {
"header=", // read and execute PS header file prior to the following PS statements
+ "pdffile=", // process PDF file
"psfile=", // read and execute PS file
"PSfile=", // dito
"ps:", // execute literal PS code wrapped by @beginspecial and @endspecial
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp
index a9683be77d6..1a16412fbb2 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp
@@ -36,7 +36,7 @@
class PSPattern;
class XMLElementNode;
-class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, protected PSActions {
+class PsSpecialHandler : public SpecialHandler, protected PSActions {
using Path = GraphicsPath<double>;
using ColorSpace = Color::ColorSpace;
@@ -76,15 +76,16 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
};
enum PsSection {PS_NONE, PS_HEADERS, PS_BODY};
+ enum class FileType {EPS, PDF};
public:
PsSpecialHandler ();
~PsSpecialHandler ();
const char* name () const override {return "ps";}
const char* info () const override {return "dvips PostScript specials";}
- const std::vector<const char*> prefixes () const override;
- void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ std::vector<const char*> prefixes() const override;
+ void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
void setDviScaleFactor (double dvi2bp) override {_previewFilter.setDviScaleFactor(dvi2bp);}
void enterBodySection ();
@@ -100,7 +101,7 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
void moveToDVIPos ();
void executeAndSync (std::istream &is, bool updatePos);
void processHeaderFile (const char *fname);
- void psfile (const std::string &fname, const std::unordered_map<std::string,std::string> &attr);
+ void imgfile (FileType type, const std::string &fname, const std::unordered_map<std::string,std::string> &attr);
void dviEndPage (unsigned pageno, SpecialActions &actions) override;
void clip (Path &path, bool evenodd);
void processSequentialPatchMesh (int shadingTypeID, ColorSpace cspace, VectorIterator<double> &it);
@@ -127,11 +128,13 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
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;
void save (std::vector<double> &p) override;
void scale (std::vector<double> &p) override;
+ void setblendmode (std::vector<double> &p) override {_blendmode = int(p[0]);}
void setcmykcolor (std::vector<double> &cmyk) override;
void setdash (std::vector<double> &p) override;
void setgray (std::vector<double> &p) override;
@@ -142,6 +145,7 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
void setmatrix (std::vector<double> &p) override;
void setmiterlimit (std::vector<double> &p) override {_miterlimit = p[0];}
void setopacityalpha (std::vector<double> &p) override {_opacityalpha = p[0];}
+ void setshapealpha (std::vector<double> &p) override {_shapealpha = p[0];}
void setpagedevice (std::vector<double> &p) override;
void setpattern (std::vector<double> &p) override;
void setrgbcolor (std::vector<double> &rgb) override;
@@ -166,6 +170,8 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
double _linewidth; ///< current line width in bp units
double _miterlimit; ///< current miter limit in bp units
double _opacityalpha; ///< opacity level (0=fully transparent, ..., 1=opaque)
+ double _shapealpha; ///< shape opacity level (0=fully transparent, ..., 1=opaque)
+ int _blendmode; ///< blend mode used when overlaying colored areas
uint8_t _linecap : 2; ///< current line cap (0=butt, 1=round, 2=projecting square)
uint8_t _linejoin : 2; ///< current line join (0=miter, 1=round, 2=bevel)
double _dashoffset; ///< current dash offset
@@ -173,6 +179,7 @@ class PsSpecialHandler : public SpecialHandler, public DVIEndPageListener, prote
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/RangeMap.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp
index ea5f8d64a6e..c96aa1029bf 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp
@@ -125,11 +125,11 @@ void RangeMap::addRange (uint32_t cmin, uint32_t cmax, uint32_t vmin) {
void RangeMap::adaptNeighbors (Ranges::iterator it) {
if (it != _ranges.end()) {
// adapt left neighbor
- if (it != _ranges.begin() && it->min() <= (it-1)->max()) {
- Ranges::iterator lit = it-1; // points to left neighbor
+ Ranges::iterator lit = it-1; // points to left neighbor
+ if (it != _ranges.begin() && it->min() <= lit->max()) {
bool left_neighbor_valid = (it->min() > 0 && it->min()-1 >= lit->min());
- if (left_neighbor_valid) // is adapted left neighbor valid?
- lit->max(it->min()-1); // => assign new max value
+ if (left_neighbor_valid) // is adapted left neighbor valid?
+ lit->max(it->min()-1); // => assign new max value
if (!left_neighbor_valid || it->join(*lit))
it = _ranges.erase(lit);
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
index f65d4e85181..a13cc775728 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
@@ -33,8 +33,9 @@
using namespace std;
-SVGOutput::SVGOutput (const char *base, const string &pattern, int zipLevel)
- : _path(base ? base : ""), _pattern(pattern), _stdout(base == 0), _zipLevel(zipLevel), _page(-1)
+
+SVGOutput::SVGOutput (const string &base, const string &pattern, int zipLevel)
+ : _path(base), _pattern(pattern), _stdout(base.empty()), _zipLevel(zipLevel), _page(-1)
{
}
@@ -46,17 +47,24 @@ SVGOutput::SVGOutput (const char *base, const string &pattern, int zipLevel)
ostream& SVGOutput::getPageStream (int page, int numPages) const {
string fname = filename(page, numPages);
if (fname.empty()) {
- _osptr.reset();
- return cout;
+ if (_zipLevel == 0) {
+ _osptr.reset();
+ return cout;
+ }
+#ifdef _WIN32
+ if (_setmode(_fileno(stdout), _O_BINARY) == -1)
+ throw MessageException("can't open stdout in binary mode");
+#endif
+ return *(_osptr = util::make_unique<ZLibOutputStream>(cout, ZLIB_GZIP, _zipLevel));
}
if (page == _page)
return *_osptr;
_page = page;
if (_zipLevel > 0)
- _osptr = util::make_unique<ZLibOutputStream>(fname, _zipLevel);
+ _osptr = util::make_unique<ZLibOutputFileStream>(fname, ZLIB_GZIP, _zipLevel);
else
- _osptr = util::make_unique<ofstream>(fname.c_str());
+ _osptr = util::make_unique<ofstream>(fname);
if (!_osptr)
throw MessageException("can't open file "+fname+" for writing");
return *_osptr;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
index a24f09821e6..a19501e5523 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
@@ -31,20 +31,17 @@ struct SVGOutputBase {
virtual ~SVGOutputBase () =default;
virtual std::ostream& getPageStream (int page, int numPages) const =0;
virtual std::string filename (int page, int numPages) const =0;
-// virtual std::string outpath (int page, int numPages) const =0;
};
-class SVGOutput : public SVGOutputBase
-{
+class SVGOutput : public SVGOutputBase {
public:
- SVGOutput () : SVGOutput(0, "", 0) {}
- SVGOutput (const char *base) : SVGOutput(base, "", 0) {}
- SVGOutput (const char *base, const std::string &pattern) : SVGOutput(base, pattern, 0) {}
- SVGOutput (const char *base, const std::string &pattern, int zipLevel);
+ SVGOutput () : SVGOutput("", "", 0) {}
+ SVGOutput (const std::string &base) : SVGOutput(base, "", 0) {}
+ SVGOutput (const std::string &base, const std::string &pattern) : SVGOutput(base, pattern, 0) {}
+ SVGOutput (const std::string &base, const std::string &pattern, int zipLevel);
std::ostream& getPageStream (int page, int numPages) const override;
std::string filename (int page, int numPages) const override;
-// std::string outpath (int page, int numPages) const override;
protected:
std::string expandFormatString (std::string str, int page, int numPages) const;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp
new file mode 100644
index 00000000000..96efb50a875
--- /dev/null
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp
@@ -0,0 +1,123 @@
+/*************************************************************************
+** SourceInput.cpp **
+** **
+** This file is part of dvisvgm -- a fast DVI to SVG converter **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#include <fstream>
+#include <iostream>
+#include "FileSystem.hpp"
+#include "Message.hpp"
+#include "MessageException.hpp"
+#include "SourceInput.hpp"
+#include "utility.hpp"
+
+#ifdef _WIN32
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <windows.h>
+#endif
+
+#ifdef _MSC_VER
+#include <io.h>
+#else
+#include <cstdlib>
+#include <unistd.h>
+#endif
+
+using namespace std;
+
+#ifdef _WIN32
+static int fdwrite (int fd, const char *buf, size_t len) {return _write(fd, buf, len);}
+static int fdclose (int fd) {return _close(fd);}
+#else
+static int fdwrite (int fd, const char *buf, size_t len) {return write(fd, buf, len);}
+static int fdclose (int fd) {return close(fd);}
+#endif
+
+
+SourceInput::~SourceInput () {
+ // remove temporary file created for reading from stdin
+ if (!_tmpfilepath.empty())
+ FileSystem::remove(_tmpfilepath);
+}
+
+
+/** Creates a temporary file in the configured tmp folder.
+ * @param[out] path path of the created file
+ * @return file descriptor (>= 0 on success) */
+static int create_tmp_file (string &path) {
+ path = FileSystem::tmpdir();
+#ifndef _WIN32
+ path += "stdinXXXXXX";
+ int fd = mkstemp(&path[0]);
+#else
+ int fd = -1;
+ char fname[MAX_PATH];
+ std::replace(path.begin(), path.end(), '/', '\\');
+ if (GetTempFileName(path.c_str(), "stdin", 0, fname)) {
+ fd = _open(fname, _O_CREAT | _O_WRONLY | _O_BINARY, _S_IWRITE);
+ path = fname;
+ }
+#endif
+ return fd;
+}
+
+
+istream& SourceInput::getInputStream (bool showMessages) {
+ if (!_ifs.is_open()) {
+ if (!_fname.empty())
+ _ifs.open(_fname, ios::binary);
+ else {
+ int fd = create_tmp_file(_tmpfilepath);
+ if (fd < 0)
+ throw MessageException("can't create temporary file for writing");
+#ifdef _WIN32
+ if (_setmode(_fileno(stdin), _O_BINARY) == -1)
+ throw MessageException("can't open stdin in binary mode");
+#endif
+ if (showMessages)
+ Message::mstream() << "reading from " << getMessageFileName() << '\n';
+ char buf[1024];
+ while (cin) {
+ cin.read(buf, 1024);
+ size_t count = cin.gcount();
+ if (fdwrite(fd, buf, count) < 0)
+ throw MessageException("failed to write data to temporary file");
+ }
+ if (fdclose(fd) < 0)
+ throw MessageException("failed to close temporary file");
+ _ifs.open(_tmpfilepath, ios::binary);
+ }
+ }
+ return _ifs;
+}
+
+
+string SourceInput::getFileName () const {
+ return _fname.empty() ? "stdin" : _fname;
+}
+
+
+string SourceInput::getMessageFileName () const {
+ return _fname.empty() ? "<stdin>" : _fname;
+}
+
+
+string SourceInput::getFilePath () const {
+ return _tmpfilepath.empty() ? _fname : _tmpfilepath;
+}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp
new file mode 100644
index 00000000000..95f496a60a2
--- /dev/null
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp
@@ -0,0 +1,42 @@
+/*************************************************************************
+** SourceInput.hpp **
+** **
+** This file is part of dvisvgm -- a fast DVI to SVG converter **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef DVIINPUT_HPP
+#define DVIINPUT_HPP
+
+#include <fstream>
+#include <string>
+
+class SourceInput {
+ public:
+ SourceInput (const std::string &fname) : _fname(fname) {}
+ ~SourceInput ();
+ std::istream& getInputStream (bool showMessages=false);
+ std::string getFileName () const;
+ std::string getMessageFileName () const;
+ std::string getFilePath () const;
+
+ private:
+ const std::string &_fname; ///< name of file to read from
+ std::string _tmpfilepath; ///< path of temporary file used when reading from stdin
+ std::ifstream _ifs;
+};
+
+#endif \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp
index e08bcd6092d..e121e16ef61 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp
@@ -36,41 +36,20 @@ struct SpecialException : public MessageException {
};
-struct DVIPreprocessingListener {
- virtual ~DVIPreprocessingListener () =default;
- virtual void dviPreprocessingFinished () =0;
-};
-
-
-struct DVIBeginPageListener {
- virtual ~DVIBeginPageListener () =default;
- virtual void dviBeginPage (unsigned pageno, SpecialActions &actions) =0;
-};
-
-
-struct DVIEndPageListener {
- virtual ~DVIEndPageListener () =default;
- virtual void dviEndPage (unsigned pageno, SpecialActions &actions) =0;
-};
-
-
-struct DVIPositionListener {
- virtual ~DVIPositionListener () =default;
- virtual void dviMovedTo (double x, double y, SpecialActions &actions) =0;
-};
-
-
class SpecialHandler {
friend class SpecialManager;
public:
virtual ~SpecialHandler () =default;
virtual const char* info () const=0;
virtual const char* name () const=0;
- virtual const std::vector<const char*> prefixes () const=0;
+ virtual std::vector<const char*> prefixes() const =0;
virtual void setDviScaleFactor (double dvi2bp) {}
- virtual void preprocess (const char *prefix, std::istream &is, SpecialActions &actions) {}
- virtual bool process (const char *prefix, std::istream &is, SpecialActions &actions)=0;
+ virtual void preprocess (const std::string &prefix, std::istream &is, SpecialActions &actions) {}
+ virtual bool process (const std::string &prefix, std::istream &is, SpecialActions &actions)=0;
+ virtual void dviPreprocessingFinished () {}
+ virtual void dviBeginPage (unsigned pageno, SpecialActions &actions) {}
+ virtual void dviEndPage (unsigned pageno, SpecialActions &actions) {}
+ virtual void dviMovedTo (double x, double y, SpecialActions &actions) {}
};
-
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp
index 7b0c66c9b5b..632065de31a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp
@@ -40,10 +40,6 @@ SpecialManager& SpecialManager::instance() {
void SpecialManager::unregisterHandlers () {
_handlerPool.clear();
_handlersByPrefix.clear();
- _beginPageListeners.clear();
- _endPageListeners.clear();
- _preprocListeners.clear();
- _positionListeners.clear();
}
@@ -55,15 +51,6 @@ void SpecialManager::registerHandler (unique_ptr<SpecialHandler> &&handler) {
// get array of prefixes this handler is responsible for
for (const char *prefix : handler->prefixes())
_handlersByPrefix[prefix] = handler.get();
- // initialize listener vectors
- if (auto listener = dynamic_cast<DVIPreprocessingListener*>(handler.get()))
- _preprocListeners.push_back(listener);
- if (auto listener = dynamic_cast<DVIBeginPageListener*>(handler.get()))
- _beginPageListeners.push_back(listener);
- if (auto listener = dynamic_cast<DVIEndPageListener*>(handler.get()))
- _endPageListeners.push_back(listener);
- if (auto listener = dynamic_cast<DVIPositionListener*>(handler.get()))
- _positionListeners.push_back(listener);
_handlerPool.emplace_back(std::move(handler));
}
}
@@ -128,9 +115,9 @@ static string extract_prefix (istream &is) {
void SpecialManager::preprocess (const string &special, SpecialActions &actions) const {
istringstream iss(special);
- string prefix = extract_prefix(iss);
+ const string prefix = extract_prefix(iss);
if (SpecialHandler *handler = findHandlerByPrefix(prefix))
- handler->preprocess(prefix.c_str(), iss, actions);
+ handler->preprocess(prefix, iss, actions);
}
@@ -142,37 +129,37 @@ void SpecialManager::preprocess (const string &special, SpecialActions &actions)
* @throw SpecialException in case of errors during special processing */
bool SpecialManager::process (const string &special, double dvi2bp, SpecialActions &actions) const {
istringstream iss(special);
- string prefix = extract_prefix(iss);
+ const string prefix = extract_prefix(iss);
bool success=false;
if (SpecialHandler *handler = findHandlerByPrefix(prefix)) {
handler->setDviScaleFactor(dvi2bp);
- success = handler->process(prefix.c_str(), iss, actions);
+ success = handler->process(prefix, iss, actions);
}
return success;
}
void SpecialManager::notifyPreprocessingFinished () const {
- for (auto *listener : _preprocListeners)
- listener->dviPreprocessingFinished();
+ for (auto &handler : _handlerPool)
+ handler->dviPreprocessingFinished();
}
void SpecialManager::notifyBeginPage (unsigned pageno, SpecialActions &actions) const {
- for (auto *listener : _beginPageListeners)
- listener->dviBeginPage(pageno, actions);
+ for (auto &handler : _handlerPool)
+ handler->dviBeginPage(pageno, actions);
}
void SpecialManager::notifyEndPage (unsigned pageno, SpecialActions &actions) const {
- for (auto *listener : _endPageListeners)
- listener->dviEndPage(pageno, actions);
+ for (auto &handler : _handlerPool)
+ handler->dviEndPage(pageno, actions);
}
void SpecialManager::notifyPositionChange (double x, double y, SpecialActions &actions) const {
- for (auto *listener : _positionListeners)
- listener->dviMovedTo(x, y, actions);
+ for (auto &handler : _handlerPool)
+ handler->dviMovedTo(x, y, actions);
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp
index 250ebef082b..207a0a2e548 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp
@@ -57,10 +57,6 @@ class SpecialManager {
private:
HandlerPool _handlerPool; ///< stores pointers to all handlers
HandlerMap _handlersByPrefix; ///< pointers to handlers for corresponding prefixes
- std::vector<DVIPreprocessingListener*> _preprocListeners;
- std::vector<DVIBeginPageListener*> _beginPageListeners;
- std::vector<DVIEndPageListener*> _endPageListeners;
- std::vector<DVIPositionListener*> _positionListeners;
};
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp
index 9b5baf9ef12..5cd1dc7315c 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp
@@ -272,14 +272,14 @@ constexpr int cmd_id (const char *cmd) {
};
-bool TpicSpecialHandler::process (const char *prefix, istream &is, SpecialActions &actions) {
- if (!prefix || strlen(prefix) != 2)
+bool TpicSpecialHandler::process (const string &prefix, istream &is, SpecialActions &actions) {
+ if (prefix.length() != 2)
return false;
_dviColor = actions.getColor();
const double mi2bp=0.072; // factor for milli-inch to PS points
StreamInputBuffer ib(is);
BufferInputReader ir(ib);
- switch (cmd_id(prefix)) {
+ switch (cmd_id(prefix.c_str())) {
case cmd_id("pn"): // set pen width in milli-inches
_penwidth = max(0.0, ir.getDouble()*mi2bp);
break;
@@ -358,7 +358,7 @@ bool TpicSpecialHandler::process (const char *prefix, istream &is, SpecialAction
}
-const vector<const char*> TpicSpecialHandler::prefixes () const {
- const vector<const char*> pfx {"ar", "bk", "da", "dt", "fp", "ia", "ip", "pa", "pn", "sh", "sp", "tx", "wh"};
+vector<const char*> TpicSpecialHandler::prefixes() const {
+ vector<const char*> pfx {"ar", "bk", "da", "dt", "fp", "ia", "ip", "pa", "pn", "sh", "sp", "tx", "wh"};
return pfx;
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp
index 2bbc8182b12..a9772b3f398 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp
@@ -25,14 +25,13 @@
#include "Pair.hpp"
#include "SpecialHandler.hpp"
-class TpicSpecialHandler : public SpecialHandler, public DVIEndPageListener
-{
+class TpicSpecialHandler : public SpecialHandler {
public:
TpicSpecialHandler ();
const char* info () const override {return "TPIC specials";}
const char* name () const override {return "tpic";}
- const std::vector<const char*> prefixes () const override;
- bool process (const char *prefix, std::istream &is, SpecialActions &actions) override;
+ std::vector<const char*> prefixes() const override;
+ bool process (const std::string &prefix, std::istream &is, SpecialActions &actions) override;
double penwidth () const {return _penwidth;}
double grayLevel () const {return _grayLevel;}
Color fillColor (bool grayOnly) const;
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp
index 4a0b2fa52e2..c03db71742d 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp
@@ -21,100 +21,161 @@
#ifndef ZLIBOUTPUTSTREAM_HPP
#define ZLIBOUTPUTSTREAM_HPP
+#include <fstream>
#include <ostream>
+#include <vector>
#include <zlib.h>
+#include "MessageException.hpp"
-class ZLibOutputStream;
+#ifdef _WIN32
+# include <fcntl.h>
+# include <io.h>
+#endif
+
+struct ZLibException : public MessageException {
+ ZLibException (const std::string &msg) : MessageException(msg) {}
+};
-class ZLibOutputBuffer : public std::streambuf
-{
- friend class ZLibOutputStream;
+enum ZLibCompressionFormat {ZLIB_DEFLATE=0, ZLIB_GZIP=16};
+
+class ZLibOutputBuffer : public std::streambuf {
public:
- ~ZLibOutputBuffer () {close();}
+ ZLibOutputBuffer () {}
+
+ ZLibOutputBuffer (std::streambuf *sbuf, ZLibCompressionFormat format, int zipLevel) {
+ open(sbuf, format, zipLevel);
+ }
- /** Opens the buffer object for writing.
- * @param[in] fname name of gzip file
+ ~ZLibOutputBuffer () {
+ close();
+ }
+
+ /** Opens the buffer for writing.
+ * @param[in] sink stream buffer taking the compressed data
+ * @param[in] format compression format (deflate or gzip)
* @param[in] zipLevel compression level (1-9)
- * @return true on success */
- bool open (const char *fname, int zipLevel) {
- if (_opened)
- return false;
- zipLevel = std::max(1, std::min(9, zipLevel));
- std::string modestr = "wb0";
- modestr[2] += zipLevel;
- _gzfile = gzopen(fname, modestr.c_str());
- return _opened = (_gzfile != nullptr);
+ * @return true if buffer is ready for writing */
+ bool open (std::streambuf *sink, ZLibCompressionFormat format, int zipLevel) {
+ if (sink) {
+ _inbuf.reserve(4096);
+ _zbuf.resize(4096);
+ _zstream.zalloc = Z_NULL;
+ _zstream.zfree = Z_NULL;
+ _zstream.opaque = Z_NULL;
+ zipLevel = std::max(1, std::min(9, zipLevel));
+ if (deflateInit2(&_zstream, zipLevel, Z_DEFLATED, 15+format, 8, Z_DEFAULT_STRATEGY) != Z_OK)
+ throw ZLibException("failed to initialize deflate compression");
+ _sink = sink;
+ _opened = true;
+ }
+ return _opened;
}
- /** Closes the buffer object. */
- bool close () {
- if (!_opened)
- return false;
- sync();
- _opened = false;
- return gzclose(_gzfile) == Z_OK;
+ /** Flushes the remaining data, finishes the compression process, and
+ * closes the buffer so that further output doesn't reach the sink. */
+ void close () {
+ close(true);
}
- int overflow (int c) override {
- if (!_opened)
- return EOF;
- if (c != EOF) {
- *pptr() = c;
- pbump(1);
+ int_type overflow (int_type c) override {
+ if (c == traits_type::eof()) {
+ close();
+ }
+ else {
+ if (_inbuf.size() == _inbuf.capacity())
+ flush(Z_NO_FLUSH);
+ _inbuf.push_back(c);
}
- return (flush() == EOF) ? EOF : c;
+ return c;
}
int sync () override {
- return (pptr() && pptr() > pbase() && flush() == EOF) ? -1 : 0;
+ flush(Z_NO_FLUSH);
+ return 0;
}
protected:
- ZLibOutputBuffer () : _gzfile(nullptr), _opened(false) {
- setp(_buffer, _buffer+SIZE-1);
+ /** Compresses the chunk of data present in the input buffer
+ * and writes it to the assigned output stream.
+ * @param[in] flushmode flush mode of deflate function (Z_NO_FLUSH or Z_FINISH)
+ * @throws ZLibException if compression failed */
+ void flush (int flushmode) {
+ if (_opened) {
+ _zstream.avail_in = _inbuf.size();
+ _zstream.next_in = _inbuf.data();
+ do {
+ _zstream.avail_out = _zbuf.size();
+ _zstream.next_out = _zbuf.data();
+ int ret = deflate(&_zstream, flushmode);
+ if (ret == Z_STREAM_ERROR) {
+ close(false);
+ throw ZLibException("stream error during data compression");
+ }
+ auto have = _zbuf.size()-_zstream.avail_out;
+ _sink->sputn(reinterpret_cast<char*>(_zbuf.data()), have);
+ } while (_zstream.avail_out == 0);
+ }
+ _inbuf.clear();
}
- /** Forces to write the buffer data to the output file. */
- int flush () {
- int w = pptr()-pbase();
- if (gzwrite(_gzfile, pbase(), w) != w)
- return EOF;
- pbump(-w);
- return w;
+ /** Closes the buffer so that further output doesn't reach the sink.
+ * @param[in] finish if true, flushes the remaining data and finishes the compression process */
+ void close (bool finish) {
+ if (_opened) {
+ if (finish)
+ flush(Z_FINISH);
+ deflateEnd(&_zstream);
+ _sink = nullptr;
+ _opened = false;
+ }
}
private:
- static constexpr int SIZE = 512;
- gzFile _gzfile;
- char _buffer[SIZE];
- bool _opened;
+ z_stream _zstream;
+ std::streambuf *_sink = nullptr; ///< target buffer where the compressded data is flushed to
+ std::vector<Bytef> _inbuf; ///< buffer holding a chunk of data to be compressed
+ std::vector<Bytef> _zbuf; ///< buffer holding a chunk of compressed data
+ bool _opened = false; ///< true if ready to process the incoming data correctly
};
-class ZLibOutputStream : public virtual std::ios, public std::ostream
-{
+class ZLibOutputStream : private ZLibOutputBuffer, public std::ostream {
public:
- ZLibOutputStream () : std::ostream(&_buf) {init(&_buf);}
- ZLibOutputStream (const char *fname, int zipLevel) : ZLibOutputStream() {open(fname, zipLevel);}
- ZLibOutputStream (const std::string &fname, int zipLevel) : ZLibOutputStream(fname.c_str(), zipLevel) {}
+ ZLibOutputStream () : std::ostream(this) {}
+
+ ZLibOutputStream (std::ostream &os, ZLibCompressionFormat format, int zipLevel)
+ : ZLibOutputBuffer(os.rdbuf(), format, zipLevel), std::ostream(this) {}
+
~ZLibOutputStream () {close();}
- ZLibOutputBuffer* rdbuf() {return &_buf;}
-
- /** Opens the output stream for writing.
- * @param[in] fname name of gzip file
- * @param[in] zipLevel compression level (1-9) */
- void open (const char *name, int zipLevel) {
- if (!_buf.open(name, zipLevel))
- clear(rdstate()|std::ios::badbit);
+
+ bool open (std::ostream &os, ZLibCompressionFormat format, int zipLevel) {
+ ZLibOutputBuffer::close();
+ return ZLibOutputBuffer::open(os.rdbuf(), format, zipLevel);
}
void close () {
- if (!_buf.close())
- clear(rdstate()|std::ios::badbit);
+ ZLibOutputBuffer::close();
}
+};
+
+
+class ZLibOutputFileStream : public ZLibOutputStream {
+ public:
+ ZLibOutputFileStream (const std::string &fname, ZLibCompressionFormat format, int zipLevel)
+ : _ofs(fname, std::ios::binary)
+ {
+ if (_ofs) {
+ if (_ofs.rdbuf())
+ open(_ofs, format, zipLevel);
+ else
+ _ofs.close();
+ }
+ }
+
+ ~ZLibOutputFileStream () {close();}
private:
- ZLibOutputBuffer _buf;
+ std::ofstream _ofs;
};
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
index f333cbbdb90..d778c84c5f9 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
@@ -40,9 +40,11 @@
#include "HyperlinkManager.hpp"
#include "Message.hpp"
#include "PageSize.hpp"
+#include "PDFToSVG.hpp"
#include "PSInterpreter.hpp"
#include "PsSpecialHandler.hpp"
#include "SignalHandler.hpp"
+#include "SourceInput.hpp"
#include "SVGOutput.hpp"
#include "System.hpp"
#include "utility.hpp"
@@ -68,10 +70,12 @@ static string remove_path (string fname) {
}
-static string ensure_suffix (string fname, bool eps) {
- size_t dotpos = remove_path(fname).rfind('.');
- if (dotpos == string::npos)
- fname += (eps ? ".eps" : ".dvi");
+static string ensure_suffix (string fname, const string &suffix) {
+ if (!fname.empty()) {
+ size_t dotpos = remove_path(fname).rfind('.');
+ if (dotpos == string::npos)
+ fname += "." + suffix;
+ }
return fname;
}
@@ -143,30 +147,21 @@ static bool set_temp_dir (const CommandLine &args) {
}
-static bool check_bbox (const string &bboxstr) {
+static void check_bbox (const string &bboxstr) {
for (const char *fmt : {"none", "min", "preview", "papersize", "dvi"})
if (bboxstr == fmt)
- return true;
+ return;
if (isalpha(bboxstr[0])) {
try {
PageSize size(bboxstr);
- return true;
}
catch (const PageSizeException &e) {
- Message::estream(true) << "invalid bounding box format '" << bboxstr << "'\n";
- return false;
+ throw MessageException("invalid bounding box format '" + bboxstr + "'");
}
}
- try {
- // check if given bbox argument is valid, i.e. doesn't throw an exception
- BoundingBox bbox;
- bbox.set(bboxstr);
- return true;
- }
- catch (const MessageException &e) {
- Message::estream(true) << e.what() << '\n';
- return false;
- }
+ // check if given bbox argument is valid, i.e. doesn't throw an exception
+ BoundingBox bbox;
+ bbox.set(bboxstr);
}
@@ -254,7 +249,7 @@ static void print_version (bool extended) {
versionInfo.add("potrace", strchr(potrace_version(), ' '));
versionInfo.add("xxhash", XXH_versionNumber(), 3, 100);
versionInfo.add("zlib", zlibVersion());
- versionInfo.add("Ghostscript", Ghostscript().revision(true), true);
+ versionInfo.add("Ghostscript", Ghostscript().revisionstr(), true);
#ifndef DISABLE_WOFF
versionInfo.add("brotli", BrotliEncoderVersion(), 3, 0x1000);
versionInfo.add("woff2", woff2::version, 3, 0x100);
@@ -326,8 +321,8 @@ static void set_variables (const CommandLine &cmdline) {
int main (int argc, char *argv[]) {
- CommandLine cmdline;
try {
+ CommandLine cmdline;
cmdline.parse(argc, argv);
if (argc == 1 || cmdline.helpOpt.given()) {
cmdline.help(cout, cmdline.helpOpt.value());
@@ -346,47 +341,47 @@ int main (int argc, char *argv[]) {
}
if (!set_cache_dir(cmdline) || !set_temp_dir(cmdline))
return 0;
- if (cmdline.stdoutOpt.given() && cmdline.zipOpt.given()) {
- Message::estream(true) << "writing SVGZ files to stdout is not supported\n";
- return 1;
- }
- if (!check_bbox(cmdline.bboxOpt.value()))
- return 1;
+ check_bbox(cmdline.bboxOpt.value());
if (!HyperlinkManager::setLinkMarker(cmdline.linkmarkOpt.value()))
Message::wstream(true) << "invalid argument '"+cmdline.linkmarkOpt.value()+"' supplied for option --linkmark\n";
- if (argc > 1 && cmdline.filenames().size() < 1) {
- Message::estream(true) << "no input file given\n";
- return 1;
+ if (cmdline.stdinOpt.given() || cmdline.singleDashGiven()) {
+ if (!cmdline.filenames().empty())
+ throw MessageException("option - or --stdin can't be used together with a filename");
+ cmdline.addFilename(""); // empty filename => read from stdin
}
- }
- catch (MessageException &e) {
- Message::estream() << e.what() << '\n';
- return 1;
- }
+ if (argc > 1 && cmdline.filenames().empty())
+ throw MessageException("no input file given");
+
+ SignalHandler::instance().start();
+ string inputfile = ensure_suffix(cmdline.filenames()[0],
+ cmdline.epsOpt.given() ? "eps" : cmdline.pdfOpt.given() ? "pdf" : "dvi");
+ SourceInput srcin(inputfile);
+ if (!srcin.getInputStream(true))
+ throw MessageException("can't open file '" + srcin.getMessageFileName() + "' for reading");
- bool eps_given = cmdline.epsOpt.given();
- string inputfile = ensure_suffix(cmdline.filenames()[0], eps_given);
- ifstream ifs(inputfile.c_str(), ios::binary|ios::in);
- if (!ifs) {
- Message::estream(true) << "can't open file '" << inputfile << "' for reading\n";
- return 0;
- }
- try {
double start_time = System::time();
set_variables(cmdline);
- SVGOutput out(cmdline.stdoutOpt.given() ? nullptr : inputfile.c_str(),
+ SVGOutput out(cmdline.stdoutOpt.given() ? "" : srcin.getFileName(),
cmdline.outputOpt.value(),
cmdline.zipOpt.given() ? cmdline.zipOpt.value() : 0);
- SignalHandler::instance().start();
- if (cmdline.epsOpt.given()) {
- EPSToSVG eps2svg(inputfile, out);
- eps2svg.convert();
+ 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";
}
else {
init_fontmap(cmdline);
- DVIToSVG dvi2svg(ifs, out);
+ DVIToSVG dvi2svg(srcin.getInputStream(), out);
const char *ignore_specials=nullptr;
if (cmdline.noSpecialsOpt.given())
ignore_specials = cmdline.noSpecialsOpt.value().empty() ? "*" : cmdline.noSpecialsOpt.value().c_str();
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml b/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
index 39659844307..b8b43fcd5f8 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
@@ -23,7 +23,8 @@
<cmdline class="CommandLine">
<program>
<usage>[options] dvifile</usage>
- <usage>-E [options] epsfile</usage>
+ <usage>--eps [options] epsfile</usage>
+ <usage>--pdf [options] pdffile</usage>
<description>This program converts DVI files, as created by TeX/LaTeX, to\nthe XML-based scalable vector graphics format SVG.</description>
<copyright>Copyright (C) 2005-2018 Martin Gieseking &lt;martin.gieseking@uos.de></copyright>
</program>
@@ -38,7 +39,13 @@
<description>evaluate (additional) font map files</description>
</option>
<option long="eps" short="E" if="!defined(DISABLE_GS)">
- <description>convert an EPS file to SVG</description>
+ <description>convert EPS file to SVG</description>
+ </option>
+ <option long="pdf" short="P" if="!defined(DISABLE_GS)">
+ <description>convert PDF file to SVG</description>
+ </option>
+ <option long="stdin">
+ <description>read input file from stdin</description>
</option>
</section>
<section title="SVG output options">
@@ -171,7 +178,7 @@
<option long="list-specials" short="l">
<description>print supported special sets and exit</description>
</option>
- <option long="progress" short="P">
+ <option long="progress">
<arg name="delay" type="double" optional="yes" default="0.5"/>
<description>enable progress indicator</description>
</option>
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
index 4b17c9cd7e4..5efa9db4dc4 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
@@ -29,72 +29,82 @@ const char *PSInterpreter::PSDEFS =
"/:stroke @SD/stroke get put @SD/:fill @SD/fill get put @SD/:eofill @SD/eofill "
"get put @SD/:clip @SD/clip get put @SD/:eoclip @SD/eoclip get put @SD/:charpat"
"h @SD/charpath get put @SD/:show @SD/show get put @SD/.setopacityalpha known n"
-"ot{@SD/.setopacityalpha{pop}put}if @SD/prseq{-1 1{-1 roll =only( )print}for(\\"
-"n)print}put @SD/prcmd{( )exch(\\ndvi.)3{print}repeat prseq}put @SD/cvxall{{cvx"
-"}forall}put @SD/defpr{[exch[/copy @SD]cvxall 5 -1 roll dup 6 1 roll[/get/exec]"
-"cvxall 6 -1 roll dup 7 1 roll 4 -1 roll dup 5 1 roll dup length string cvs/prc"
-"md cvx]cvx def}put @SD/querypos{{currentpoint}stopped{$error/newerror false pu"
-"t}{2(querypos)prcmd}ifelse}put @SD/applyscalevals{1 0 dtransform exch dup mul "
-"exch dup mul add sqrt 0 1 dtransform exch dup mul exch dup mul add sqrt 1 0 dt"
-"ransform dup mul exch dup dup mul 3 -1 roll add dup 0 eq{pop}{sqrt div}ifelse "
-"3(applyscalevals)prcmd}put @SD/prpath{{2(moveto)prcmd}{2(lineto)prcmd}{6(curve"
-"to)prcmd}{0(closepath)prcmd}pathforall}put @SD/charpath{/@dodraw false store :"
-"charpath/@dodraw true store}put @SD/show{@dodraw{dup :gsave currentpoint 2{50 "
-"mul exch}repeat :newpath moveto 50 50/scale sysexec true charpath eofill :gres"
-"tore/@dodraw false store :show/@dodraw true store}{pop}ifelse}put @SD/awidthsh"
-"ow{{1 string dup 0 5 index put :gsave show :grestore pop 0 rmoveto 3 index eq{"
-"4 index 4 index rmoveto}if 1 index 1 index rmoveto}exch cshow 5{pop}repeat}put"
-" @SD/widthshow{0 0 3 -1 roll pstack awidthshow}put @SD/ashow{0 0 0 6 3 roll aw"
-"idthshow}put @SD/newpath{:newpath 0 1(newpath)prcmd}put @SD/stroke{@dodraw{1 1"
-"(newpath)prcmd prpath 0(stroke)prcmd :newpath}{:stroke}ifelse}put @SD/fill{@do"
-"draw{1 1(newpath)prcmd prpath 0(fill)prcmd :newpath}{:fill}ifelse}put @SD/eofi"
-"ll{@dodraw{1 1(newpath)prcmd prpath 0(eofill)prcmd :newpath}{:eofill}ifelse}pu"
-"t @SD/clip{:clip 0 1(newpath)prcmd prpath 0(clip)prcmd}put @SD/eoclip{:eoclip "
-"1 1(newpath)prcmd prpath 0(eoclip)prcmd}put @SD/shfill{begin currentdict/Shadi"
-"ngType known currentdict/ColorSpace known and currentdict/DataSource known and"
-" currentdict/Function known not and ShadingType 4 ge and DataSource type/array"
-"type eq and{<</DeviceGray 1/DeviceRGB 3/DeviceCMYK 4/bgknown currentdict/Backg"
-"round known/bbknown currentdict/BBox known>>begin currentdict ColorSpace known"
-"{ShadingType ColorSpace load bgknown{1 Background aload pop}{0}ifelse bbknown{"
-"1 BBox aload pop}{0}ifelse ShadingType 5 eq{VerticesPerRow}if DataSource aload"
-" length 4 add bgknown{ColorSpace load add}if bbknown{4 add}if ShadingType 5 eq"
-"{1 add}if(shfill)prcmd}if end}if end}put/@rect{4 -2 roll moveto exch dup 0 rli"
-"neto exch 0 exch rlineto neg 0 rlineto closepath}bind def/@rectcc{4 -2 roll mo"
-"veto 2 copy 0 lt exch 0 lt xor{dup 0 exch rlineto exch 0 rlineto neg 0 exch rl"
-"ineto}{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}ifelse closepath}b"
-"ind def @SD/rectclip{:newpath dup type/arraytype eq{aload length 4 idiv{@rectc"
-"c}repeat}{@rectcc}ifelse clip :newpath}put @SD/rectfill{gsave :newpath dup typ"
-"e/arraytype eq{aload length 4 idiv{@rectcc}repeat}{@rectcc}ifelse fill grestor"
-"e}put @SD/rectstroke{gsave :newpath dup type/arraytype eq{aload length 4 idiv{"
-"@rect}repeat}{@rect}ifelse stroke grestore}put false setglobal @SD readonly po"
-"p/initclip 0 defpr/clippath 0 defpr/sysexec{@SD exch get exec}def/adddot{dup l"
-"ength 1 add string dup 0 46 put dup 3 -1 roll 1 exch putinterval}def/setlinewi"
-"dth{dup/setlinewidth sysexec 1(setlinewidth)prcmd}def/setlinecap 1 defpr/setli"
-"nejoin 1 defpr/setmiterlimit 1 defpr/setdash{mark 3 1 roll 2 copy/setdash syse"
-"xec exch aload length 1 add -1 roll counttomark(setdash)prcmd pop}def/@setpage"
-"device{pop<<>>/setpagedevice sysexec[1 0 0 -1 0 0]setmatrix newpath 0(setpaged"
-"evice)prcmd}def/setgstate{currentlinewidth 1(setlinewidth)prcmd currentlinecap"
-" 1(setlinecap)prcmd currentlinejoin 1(setlinejoin)prcmd currentmiterlimit 1(se"
-"tmiterlimit)prcmd currentrgbcolor 3(setrgbcolor)prcmd matrix currentmatrix alo"
-"ad pop 6(setmatrix)prcmd applyscalevals currentdash mark 3 1 roll exch aload l"
-"ength 1 add -1 roll counttomark(setdash)prcmd pop}def/save{@UD begin/@saveID v"
-"mstatus pop pop def end :save @saveID 1(save)prcmd}def/restore{:restore setgst"
-"ate @UD/@saveID known{@UD begin @saveID end}{0}ifelse 1(restore)prcmd}def/gsav"
-"e 0 defpr/grestore{:grestore setgstate 0(grestore)prcmd}def/grestoreall{:grest"
-"oreall setstate 0(grestoreall)prcmd}def/rotate{dup type/arraytype ne{dup 1(rot"
-"ate)prcmd}if/rotate sysexec applyscalevals}def/scale{dup type/arraytype ne{2 c"
-"opy 2(scale)prcmd}if/scale sysexec applyscalevals}def/translate{dup type/array"
-"type ne{2 copy 2(translate)prcmd}if/translate sysexec}def/setmatrix{dup/setmat"
-"rix sysexec aload pop 6(setmatrix)prcmd applyscalevals}def/initmatrix{matrix s"
-"etmatrix}def/concat{matrix currentmatrix matrix concatmatrix setmatrix}def/mak"
-"epattern{gsave<</mx 3 -1 roll>>begin dup/XUID[1000000 @patcnt]put mx/makepatte"
-"rn sysexec dup dup begin PatternType @patcnt BBox aload pop XStep YStep PaintT"
-"ype mx aload pop 15(makepattern)prcmd :newpath matrix setmatrix PaintProc 0 1("
-"makepattern)prcmd end/@patcnt @patcnt 1 add store end grestore}def/setpattern{"
-"begin PatternType 1 eq{PaintType 1 eq{XUID aload pop exch pop 1}{:gsave[curren"
-"tcolorspace aload length -1 roll pop]setcolorspace/setcolor sysexec XUID aload"
-" pop exch pop currentrgbcolor :grestore 4}ifelse(setpattern)prcmd}{/setpattern"
-" sysexec}ifelse end}def/setcolor{dup type/dicttype eq{setpattern}{/setcolor sy"
-"sexec/currentrgbcolor sysexec setrgbcolor}ifelse}def/setgray 1 defpr/setcmykco"
-"lor 4 defpr/sethsbcolor 3 defpr/setrgbcolor 3 defpr/.setopacityalpha{dup/.seto"
-"pacityalpha sysexec 1(setopacityalpha)prcmd}def ";
+"ot{@SD/.setopacityalpha{pop}put}if @SD/.setshapealpha known not{@SD/.setshapea"
+"lpha{pop}put}if @SD/.setblendmode known not{@SD/.setblendmode{pop}put}if @SD/p"
+"rseq{-1 1{-1 roll =only( )print}for(\\n)print}put @SD/prcmd{( )exch(\\ndvi.)3{"
+"print}repeat prseq}put @SD/cvxall{{cvx}forall}put @SD/defpr{[exch[/copy @SD]cv"
+"xall 5 -1 roll dup 6 1 roll[/get/exec]cvxall 6 -1 roll dup 7 1 roll 4 -1 roll "
+"dup 5 1 roll dup length string cvs/prcmd cvx]cvx def}put @SD/querypos{{current"
+"point}stopped{$error/newerror false put}{2(querypos)prcmd}ifelse}put @SD/apply"
+"scalevals{1 0 dtransform exch dup mul exch dup mul add sqrt 0 1 dtransform exc"
+"h dup mul exch dup mul add sqrt 1 0 dtransform dup mul exch dup dup mul 3 -1 r"
+"oll add dup 0 eq{pop}{sqrt div}ifelse 3(applyscalevals)prcmd}put @SD/prpath{{2"
+"(moveto)prcmd}{2(lineto)prcmd}{6(curveto)prcmd}{0(closepath)prcmd}pathforall}p"
+"ut @SD/charpath{/@dodraw false store :charpath/@dodraw true store}put @SD/show"
+"{@dodraw{dup :gsave currentpoint 2{50 mul exch}repeat :newpath moveto 50 50/sc"
+"ale sysexec true charpath eofill :grestore/@dodraw false store :show/@dodraw t"
+"rue store}{pop}ifelse}put @SD/awidthshow{{1 string dup 0 5 index put :gsave sh"
+"ow :grestore pop 0 rmoveto 3 index eq{4 index 4 index rmoveto}if 1 index 1 ind"
+"ex rmoveto}exch cshow 5{pop}repeat}put @SD/widthshow{0 0 3 -1 roll pstack awid"
+"thshow}put @SD/ashow{0 0 0 6 3 roll awidthshow}put @SD/newpath{:newpath 0 1(ne"
+"wpath)prcmd}put @SD/stroke{@dodraw{prcolor 1 1(newpath)prcmd prpath 0(stroke)p"
+"rcmd :newpath}{:stroke}ifelse}put @SD/fill{@dodraw{prcolor 1 1(newpath)prcmd p"
+"rpath 0(fill)prcmd :newpath}{:fill}ifelse}put @SD/eofill{@dodraw{prcolor 1 1(n"
+"ewpath)prcmd prpath 0(eofill)prcmd :newpath}{:eofill}ifelse}put @SD/clip{:clip"
+" 0 1(newpath)prcmd prpath 0(clip)prcmd}put @SD/eoclip{:eoclip 1 1(newpath)prcm"
+"d prpath 0(eoclip)prcmd}put @SD/shfill{begin currentdict/ShadingType known cur"
+"rentdict/ColorSpace known and currentdict/DataSource known and currentdict/Fun"
+"ction known not and ShadingType 4 ge and DataSource type/arraytype eq and{<</D"
+"eviceGray 1/DeviceRGB 3/DeviceCMYK 4/bgknown currentdict/Background known/bbkn"
+"own currentdict/BBox known>>begin currentdict ColorSpace known{ShadingType Col"
+"orSpace load bgknown{1 Background aload pop}{0}ifelse bbknown{1 BBox aload pop"
+"}{0}ifelse ShadingType 5 eq{VerticesPerRow}if DataSource aload length 4 add bg"
+"known{ColorSpace load add}if bbknown{4 add}if ShadingType 5 eq{1 add}if(shfill"
+")prcmd}if end}if end}put/@rect{4 -2 roll moveto exch dup 0 rlineto exch 0 exch"
+" rlineto neg 0 rlineto closepath}bind def/@rectcc{4 -2 roll moveto 2 copy 0 lt"
+" exch 0 lt xor{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}{exch dup "
+"0 rlineto exch 0 exch rlineto neg 0 rlineto}ifelse closepath}bind def @SD/rect"
+"clip{:newpath dup type/arraytype eq{aload length 4 idiv{@rectcc}repeat}{@rectc"
+"c}ifelse clip :newpath}put @SD/rectfill{gsave :newpath dup type/arraytype eq{a"
+"load length 4 idiv{@rectcc}repeat}{@rectcc}ifelse fill grestore}put @SD/rectst"
+"roke{gsave :newpath dup type/arraytype eq{aload length 4 idiv{@rect}repeat}{@r"
+"ect}ifelse stroke grestore}put false setglobal @SD readonly pop/initclip 0 def"
+"pr/clippath 0 defpr/sysexec{@SD exch get exec}def/adddot{dup length 1 add stri"
+"ng dup 0 46 put dup 3 -1 roll 1 exch putinterval}def/setlinewidth{dup/setlinew"
+"idth sysexec 1(setlinewidth)prcmd}def/setlinecap 1 defpr/setlinejoin 1 defpr/s"
+"etmiterlimit 1 defpr/setdash{mark 3 1 roll 2 copy/setdash sysexec exch aload l"
+"ength 1 add -1 roll counttomark(setdash)prcmd pop}def/@setpagedevice{pop<<>>/s"
+"etpagedevice sysexec[1 0 0 -1 0 0]setmatrix newpath 0(setpagedevice)prcmd}def/"
+"prcolor{currentrgbcolor 3(setrgbcolor)prcmd}def/printgstate{currentlinewidth 1"
+"(setlinewidth)prcmd currentlinecap 1(setlinecap)prcmd currentlinejoin 1(setlin"
+"ejoin)prcmd currentmiterlimit 1(setmiterlimit)prcmd currentrgbcolor 3(setrgbco"
+"lor)prcmd matrix currentmatrix aload pop 6(setmatrix)prcmd applyscalevals curr"
+"entdash mark 3 1 roll exch aload length 1 add -1 roll counttomark(setdash)prcm"
+"d pop}def/setgstate{/setgstate sysexec printgstate}def/save{@UD begin/@saveID "
+"vmstatus pop pop def end :save @saveID 1(save)prcmd}def/restore{:restore print"
+"gstate @UD/@saveID known{@UD begin @saveID end}{0}ifelse 1(restore)prcmd}def/g"
+"save 0 defpr/grestore{:grestore printgstate 0(grestore)prcmd}def/grestoreall{:"
+"grestoreall setstate 0(grestoreall)prcmd}def/rotate{dup type/arraytype ne{dup "
+"1(rotate)prcmd}if/rotate sysexec applyscalevals}def/scale{dup type/arraytype n"
+"e{2 copy 2(scale)prcmd}if/scale sysexec applyscalevals}def/translate{dup type/"
+"arraytype ne{2 copy 2(translate)prcmd}if/translate sysexec}def/setmatrix{dup/s"
+"etmatrix sysexec aload pop 6(setmatrix)prcmd applyscalevals}def/initmatrix{mat"
+"rix setmatrix}def/concat{matrix currentmatrix matrix concatmatrix setmatrix}de"
+"f/makepattern{gsave<</mx 3 -1 roll>>begin dup/XUID[1000000 @patcnt]put mx/make"
+"pattern sysexec dup dup begin PatternType @patcnt BBox aload pop XStep YStep P"
+"aintType mx aload pop 15(makepattern)prcmd :newpath matrix setmatrix PaintProc"
+" 0 1(makepattern)prcmd end/@patcnt @patcnt 1 add store end grestore}def/setpat"
+"tern{begin PatternType 1 eq{PaintType 1 eq{XUID aload pop exch pop 1}{:gsave[c"
+"urrentcolorspace aload length -1 roll pop]setcolorspace/setcolor sysexec XUID "
+"aload pop exch pop currentrgbcolor :grestore 4}ifelse(setpattern)prcmd}{/setpa"
+"ttern sysexec}ifelse end}def/setcolor{dup type/dicttype eq{setpattern}{/setcol"
+"or sysexec/currentrgbcolor sysexec setrgbcolor}ifelse}def/setgray 1 defpr/setc"
+"mykcolor 4 defpr/sethsbcolor 3 defpr/setrgbcolor 3 defpr/.setopacityalpha{dup/"
+".setopacityalpha sysexec 1(setopacityalpha)prcmd}def/.setshapealpha{dup/.setsh"
+"apealpha sysexec 1(setshapealpha)prcmd}def/.setblendmode{dup/.setblendmode sys"
+"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 ";
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp
index 95200e15cf9..bbcd4cf0dbb 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.3.5";
+constexpr const char *PROGRAM_VERSION = "2.4";
#endif
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp
index e4fad5d231e..63fbcc4a236 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp
@@ -25,11 +25,9 @@
using namespace std;
-class ColorSpecialTest : public ::testing::Test
-{
+class ColorSpecialTest : public ::testing::Test {
protected:
- struct SetColor : EmptySpecialActions
- {
+ struct SetColor : EmptySpecialActions {
SetColor () : color(0) {}
void setColor (const Color &c) {color = uint32_t(c);}
bool equals (uint32_t c) {return color == c;}
@@ -66,84 +64,84 @@ TEST_F(ColorSpecialTest, readColor) {
TEST_F(ColorSpecialTest, gray) {
std::istringstream iss("gray 0.2");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x333333));
}
TEST_F(ColorSpecialTest, rgb) {
std::istringstream iss("rgb 1 0 1");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0xff00ff));
}
TEST_F(ColorSpecialTest, hsb) {
std::istringstream iss("hsb 1 0.5 1");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0xff8080));
}
TEST_F(ColorSpecialTest, cmyk) {
std::istringstream iss("cmyk 0.1 0.2 0.4 0.6");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x5c523d));
}
TEST_F(ColorSpecialTest, stack1) {
std::istringstream iss("push rgb 1 0 0");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0xff0000));
iss.clear();
iss.str("push Blue");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x0000ff));
iss.clear();
iss.str("pop");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0xff0000));
iss.clear();
iss.str("pop");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x000000));
}
TEST_F(ColorSpecialTest, stack2) {
std::istringstream iss("push rgb 1 0 0");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0xff0000));
iss.clear();
iss.str("push rgb 0 1 0");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
iss.clear();
iss.str("gray 0.2"); // clear color stack implicitly
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x333333));
iss.clear();
iss.str("pop");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x000000));
}
TEST_F(ColorSpecialTest, constant) {
std::istringstream iss("RedViolet");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x9600a8));
}
TEST_F(ColorSpecialTest, errors) {
std::istringstream iss("UnknownColor");
- EXPECT_THROW(handler.process(0, iss, actions), SpecialException);
+ EXPECT_THROW(handler.process("", iss, actions), SpecialException);
iss.clear();
iss.str("blue");
- EXPECT_THROW(handler.process(0, iss, actions), SpecialException);
+ EXPECT_THROW(handler.process("", iss, actions), SpecialException);
iss.clear();
iss.str("rgb black");
- EXPECT_THROW(handler.process(0, iss, actions), SpecialException);
+ EXPECT_THROW(handler.process("", iss, actions), SpecialException);
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
index 3426034463c..60ce59cc5c6 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
@@ -52,6 +52,8 @@ TEST(CommandLineTest, noarg_long) {
EXPECT_TRUE(cmd.noFontsOpt.given());
EXPECT_TRUE(cmd.helpOpt.given());
EXPECT_FALSE(cmd.listSpecialsOpt.given());
+ EXPECT_FALSE(cmd.stdinOpt.given());
+ EXPECT_FALSE(cmd.singleDashGiven());
EXPECT_EQ(cmd.filenames().size(), 0u);
EXPECT_TRUE(cmd.verbosityOpt.given());
EXPECT_EQ(cmd.verbosityOpt.value(), 5u);
@@ -60,11 +62,11 @@ TEST(CommandLineTest, noarg_long) {
TEST(CommandLineTest, arg_short) {
CommandLine cmd;
- const char *args[] = {"progname", "-P", "-p5", "-r45", "-omyfile.xyz", "-ayes", "-v3"};
+ const char *args[] = {"progname", "-P", "-p5", "-r45", "-omyfile.xyz", "-ayes", "-v3", "-"};
char **argv = const_cast<char**>(args);
- cmd.parse(7, argv);
+ cmd.parse(8, argv);
- EXPECT_TRUE(cmd.progressOpt.given());
+ EXPECT_TRUE(cmd.pdfOpt.given());
EXPECT_DOUBLE_EQ(cmd.progressOpt.value(), 0.5);
EXPECT_TRUE(cmd.pageOpt.given());
EXPECT_EQ(cmd.pageOpt.value(), "5");
@@ -73,11 +75,13 @@ TEST(CommandLineTest, arg_short) {
EXPECT_TRUE(cmd.outputOpt.given());
EXPECT_EQ(cmd.outputOpt.value(), "myfile.xyz");
EXPECT_FALSE(cmd.bboxOpt.given());
+ EXPECT_FALSE(cmd.stdinOpt.given());
EXPECT_EQ(cmd.bboxOpt.value(), "min");
EXPECT_EQ(cmd.filenames().size(), 0u);
EXPECT_TRUE(cmd.traceAllOpt.given());
EXPECT_TRUE(cmd.traceAllOpt.value());
EXPECT_TRUE(cmd.verbosityOpt.given());
+ EXPECT_TRUE(cmd.singleDashGiven());
EXPECT_EQ(cmd.verbosityOpt.value(), 3u);
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp
index b3028f63f19..a6ef737835a 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp
@@ -83,12 +83,12 @@ TEST_F(DvisvgmSpecialTest, basic) {
TEST_F(DvisvgmSpecialTest, raw) {
istringstream iss("raw first{?nl}");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
EXPECT_TRUE(recorder.pageEquals("first\n"));
iss.clear(); iss.str("raw \t second {?bbox dummy} \t");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
EXPECT_TRUE(recorder.pageEquals("first\nsecond 0 0 0 0"));
}
@@ -96,12 +96,12 @@ TEST_F(DvisvgmSpecialTest, raw) {
TEST_F(DvisvgmSpecialTest, rawdef) {
std::istringstream iss("rawdef first");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals("first"));
EXPECT_TRUE(recorder.pageEquals(""));
iss.clear(); iss.str("rawdef \t second \t");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals("firstsecond"));
EXPECT_TRUE(recorder.pageEquals(""));
}
@@ -119,12 +119,12 @@ TEST_F(DvisvgmSpecialTest, pattern1) {
};
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.preprocess(0, iss, recorder);
+ handler.preprocess("", iss, recorder);
}
handler.finishPreprocessing();
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
}
handler.finishPage();
EXPECT_TRUE(recorder.defsEquals(""));
@@ -144,12 +144,12 @@ TEST_F(DvisvgmSpecialTest, pattern2) {
};
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.preprocess(0, iss, recorder);
+ handler.preprocess("", iss, recorder);
}
handler.finishPreprocessing();
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
}
handler.finishPage();
EXPECT_TRUE(recorder.defsEquals("firsttext1text2"));
@@ -170,12 +170,12 @@ TEST_F(DvisvgmSpecialTest, pattern3) {
};
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.preprocess(0, iss, recorder);
+ handler.preprocess("", iss, recorder);
}
handler.finishPreprocessing();
for (const char *cmd : cmds) {
std::istringstream iss(cmd);
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
}
EXPECT_TRUE(recorder.defsEquals("firsttext2"));
EXPECT_TRUE(recorder.pageEquals("secondtext1text1"));
@@ -185,41 +185,41 @@ TEST_F(DvisvgmSpecialTest, pattern3) {
TEST_F(DvisvgmSpecialTest, fail1) {
std::istringstream iss("rawset"); // pattern name missing
- EXPECT_THROW(handler.preprocess(0, iss, recorder), SpecialException);
+ EXPECT_THROW(handler.preprocess("", iss, recorder), SpecialException);
handler.finishPreprocessing();
}
TEST_F(DvisvgmSpecialTest, fail2) {
std::istringstream iss("rawset pat"); // endrawset missing
- handler.preprocess(0, iss, recorder);
+ handler.preprocess("", iss, recorder);
EXPECT_THROW(handler.finishPreprocessing(), SpecialException);
}
TEST_F(DvisvgmSpecialTest, processImg) {
std::istringstream iss("img 72.27 72.27 test.png");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
EXPECT_TRUE(recorder.pageEquals("&lt;image height=&apos;72&apos; width=&apos;72&apos; x=&apos;0&apos; xlink:href=&apos;test.png&apos; y=&apos;0&apos;/>"));
recorder.clear();
iss.clear();
iss.str("img 10bp 20bp test2.png");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.pageEquals("&lt;image height=&apos;20&apos; width=&apos;10&apos; x=&apos;0&apos; xlink:href=&apos;test2.png&apos; y=&apos;0&apos;/>"));
}
TEST_F(DvisvgmSpecialTest, fail3) {
std::istringstream iss("img 10 20xy test.png"); // unknown unit
- EXPECT_THROW(handler.process(0, iss, recorder), SpecialException);
+ EXPECT_THROW(handler.process("", iss, recorder), SpecialException);
}
TEST_F(DvisvgmSpecialTest, processBBox) {
std::istringstream iss("bbox abs 0 0 72.27 72.27");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.defsEquals(""));
EXPECT_TRUE(recorder.pageEquals(""));
EXPECT_TRUE(recorder.bboxEquals("0 0 72 72"));
@@ -227,30 +227,30 @@ TEST_F(DvisvgmSpecialTest, processBBox) {
recorder.clear();
iss.clear();
iss.str("bbox 72.27 72.27");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
recorder.clear();
iss.clear();
iss.str("bbox 72bp 72bp");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
recorder.clear();
iss.clear();
iss.str("bbox rel 72.27 72.27");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.bboxEquals("0 -72 72 72"));
recorder.clear();
iss.clear();
iss.str("bbox new name");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.bboxEquals("0 0 0 0"));
}
TEST_F(DvisvgmSpecialTest, fail4) {
std::istringstream iss("bbox abs 0 0 72.27xx 72.27"); // unknown unit
- EXPECT_THROW(handler.process(0, iss, recorder), SpecialException);
+ EXPECT_THROW(handler.process("", iss, recorder), SpecialException);
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp
index c292f945b92..64eac72b002 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp
@@ -37,8 +37,8 @@ TEST(GhostscriptTest, available2) {
TEST(GhostscriptTest, revision) {
Ghostscript gs;
- ASSERT_FALSE(gs.revision(true).empty());
- ASSERT_FALSE(gs.revision(false).empty());
+ ASSERT_GT(gs.revision(), 0);
+ ASSERT_FALSE(gs.revisionstr().empty());
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
index 6b306d700c9..b2b6253bedf 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
@@ -47,10 +47,12 @@ 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);}
void scale (vector<double> &p) override {print("scale", p);}
+ void setblendmode (vector<double> &p) override {print("setblendmode", p);}
void setcmykcolor (vector<double> &p) override {print("setcmykcolor", p);}
void setdash (vector<double> &p) override {print("setdash", p);}
void setgray (vector<double> &p) override {print("setgray", p);}
@@ -61,6 +63,7 @@ class PSTestActions : public PSActions {
void setmatrix (vector<double> &p) override {print("setmatrix", p);}
void setmiterlimit (vector<double> &p) override {print("setmiterlimit", p);}
void setopacityalpha (vector<double> &p) override {print("setopacityalpha", p);}
+ void setshapealpha (vector<double> &p) override {print("setshapealpha", p);}
void setrgbcolor (vector<double> &p) override {print("setrgbcolor", p);}
void shfill (vector<double> &p) override {print("shfill", p);}
void stroke (vector<double> &p) override {print("stroke", p);}
@@ -115,11 +118,11 @@ TEST(PSInterpreterTest, stroke_fill) {
PSTestActions actions;
PSInterpreter psi(&actions);
psi.execute("0 0 moveto 10 10 lineto 0 10 lineto closepath stroke ");
- EXPECT_EQ(actions.result(), "newpath 1;moveto 0 0;lineto 10 10;lineto 0 10;closepath;stroke;");
+ EXPECT_EQ(actions.result(), "setrgbcolor 0 0 0;newpath 1;moveto 0 0;lineto 10 10;lineto 0 10;closepath;stroke;");
actions.clear();
psi.execute("0 0 moveto 10 10 lineto 0 10 lineto closepath fill ");
- EXPECT_EQ(actions.result(), "newpath 1;moveto 0 0;lineto 10 10;lineto 0 10;closepath;fill;");
+ EXPECT_EQ(actions.result(), "setrgbcolor 0 0 0;newpath 1;moveto 0 0;lineto 10 10;lineto 0 10;closepath;fill;");
}
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp
index 9a0abe4ada5..87fa705de73 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp
@@ -58,12 +58,12 @@ class PapersizeSpecialTest : public ::testing::Test {
void preprocess (const string &str) {
istringstream iss(str);
- handler.preprocess(0, iss, actions);
+ handler.preprocess("", iss, actions);
}
bool process (const string &str) {
istringstream iss(str);
- return handler.process(0, iss, actions);
+ return handler.process("", iss, actions);
}
void endPage () {
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
index bed1920d6db..516edc16025 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
@@ -97,7 +97,7 @@ TEST_F(SVGOutputTest, expressions) {
TEST_F(SVGOutputTest, getPageStream) {
{
- SVGOutput out(0, "");
+ SVGOutput out("", "");
ostream &os = out.getPageStream(1, 10);
EXPECT_EQ(&os, &cout);
}{
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp
index fd849096539..408258ff6ed 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp
@@ -68,7 +68,7 @@ class TpicSpecialTest : public ::testing::Test {
public:
MyTpicSpecialHandler (SpecialActions &a) : actions(a) {}
void finishPage () {dviEndPage(0, actions);}
- bool processSpecial (const char *cmd, string params="") {
+ bool processSpecial (const string &cmd, string params="") {
stringstream ss;
ss << params;
return process(cmd, ss, actions);
@@ -99,7 +99,6 @@ TEST_F(TpicSpecialTest, name) {
TEST_F(TpicSpecialTest, fail) {
- EXPECT_FALSE(handler.processSpecial(nullptr));
EXPECT_FALSE(handler.processSpecial(""));
EXPECT_FALSE(handler.processSpecial("x"));
EXPECT_FALSE(handler.processSpecial("xy"));
diff --git a/Build/source/texk/dvisvgm/version.ac b/Build/source/texk/dvisvgm/version.ac
index b8eabe844fe..4f528072046 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.3.5])
+m4_define([dvisvgm_version], [2.4])