texlive[47608] Build/source/texk: dvisvgm-2.4
commits+kakuto at tug.org
commits+kakuto at tug.org
Fri May 4 06:54:00 CEST 2018
Revision: 47608
http://tug.org/svn/texlive?view=revision&revision=47608
Author: kakuto
Date: 2018-05-04 06:54:00 +0200 (Fri, 04 May 2018)
Log Message:
-----------
dvisvgm-2.4
Modified Paths:
--------------
trunk/Build/source/texk/README
trunk/Build/source/texk/dvisvgm/ChangeLog
trunk/Build/source/texk/dvisvgm/TLpatches/ChangeLog
trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
trunk/Build/source/texk/dvisvgm/configure
trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
trunk/Build/source/texk/dvisvgm/dvisvgm-src/README
trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac
trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1
trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp
trunk/Build/source/texk/dvisvgm/version.ac
Added Paths:
-----------
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp
Removed Paths:
-------------
trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h
trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp
Modified: trunk/Build/source/texk/README
===================================================================
--- trunk/Build/source/texk/README 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/README 2018-05-04 04:54:00 UTC (rev 47608)
@@ -59,7 +59,7 @@
dvipsk - maintained here, by us
-dvisvgm 2.3.5 - checked 24mar18
+dvisvgm 2.4 - checked 04may18
http://dvisvgm.bplaced.net/Downloads
gregorio 5.1.1 - checked 25mar18
Modified: trunk/Build/source/texk/dvisvgm/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvisvgm/ChangeLog 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/ChangeLog 2018-05-04 04:54:00 UTC (rev 47608)
@@ -1,3 +1,7 @@
+2018-05-04 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * Import 2.4.
+
2018-03-24 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
* Import 2.3.5.
Modified: trunk/Build/source/texk/dvisvgm/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvisvgm/TLpatches/ChangeLog 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/TLpatches/ChangeLog 2018-05-04 04:54:00 UTC (rev 47608)
@@ -1,3 +1,8 @@
+2018-05-04 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * Import 2.4.
+ * patch-08-makefiles: adapt.
+
2018-03-24 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
* Import 2.3.5.
Modified: trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles
===================================================================
--- trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/TLpatches/patch-08-makefiles 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
+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 @@
+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 @@
+# 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
Modified: trunk/Build/source/texk/dvisvgm/configure
===================================================================
--- trunk/Build/source/texk/dvisvgm/configure 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/configure 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at tug.org>.
#
@@ -590,8 +590,8 @@
# 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 at tug.org'
PACKAGE_URL=''
@@ -1375,7 +1375,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dvisvgm (TeX Live) 2.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 @@
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 @@
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 @@
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 @@
# 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 @@
Report bugs to <bug-libtool at 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 @@
# 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 @@
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\\"
Deleted: trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/ChangeLog 2018-05-04 04:54:00 UTC (rev 47608)
@@ -1,7471 +0,0 @@
-2018-02-20 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.hpp:
- don't remove fontmap definitions before processing pdf:mapXXX specials
-
- * src/FontEngine.cpp:
- prevent creating string from nullptr
-
-2018-02-08 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp,
- src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.hpp:
- don't update the SVG position after DVIActions::setChar()
-Otherwise, all
- characters get an explicit x position assigned even if it's
-already
- reached by applying the character's advance width.
-
-2018-01-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, src/Ghostscript.cpp:
- prevent build error if GS development files are missing
-
-2018-01-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/RangeMap.cpp, src/RangeMap.hpp:
- added iterator and some getters to RangeMap
-
-2018-01-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- AppVeyor: fixed download link of ttfautohint-dll
-
- * NEWS:
- updated NEWS
-
-2018-01-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in:
- manpage: reworded info about option --bbox=preview (closes #83)
-
-2018-01-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml, .travis.yml, CMakeLists.txt, configure.ac, src/Doxyfile,
- src/version.hpp:
- set version to 2.3.1
-
-2018-01-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- updated FreeType to version 2.9
-
-2018-01-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CMapReader.cpp, src/Directory.cpp, src/Directory.hpp,
- src/DvisvgmSpecialHandler.cpp, src/FileFinder.cpp, src/FileFinder.hpp,
- src/FilePath.cpp, src/FilePath.hpp, src/FileSystem.cpp,
- src/FileSystem.hpp, src/Font.cpp, src/FontCache.cpp, src/FontCache.hpp,
- src/FontMap.cpp, src/FontMetrics.cpp, src/FontMetrics.hpp,
- src/MetafontWrapper.cpp:
- replaced some C string parameters with C++ strings
-
-2018-01-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * Makefile.am, README, README.md, configure.ac, doc/Makefile.am,
- doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl,
- doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-db-refentry.xsl,
- doc/tweak-dblatex-pdf.xsl, libs/Makefile.am,
- libs/ff-woff/fontforge/tmpfile2.cpp, src/AGLTable.hpp,
- src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/Bezier.cpp,
- src/Bezier.hpp, src/BgColorSpecialHandler.cpp,
- src/BgColorSpecialHandler.hpp, src/Bitmap.cpp, src/Bitmap.hpp,
- src/BoundingBox.cpp, src/BoundingBox.hpp, src/CLCommandLine.cpp,
- src/CLCommandLine.hpp, src/CLOption.hpp, src/CMap.cpp, src/CMap.hpp,
- src/CMapManager.cpp, src/CMapManager.hpp, src/CMapReader.cpp,
- src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp, src/Calculator.cpp,
- src/Calculator.hpp, src/CharMapID.cpp, src/CharMapID.hpp,
- src/Character.hpp, src/Color.cpp, src/Color.hpp,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp,
- src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp,
- src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp,
- src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp,
- src/Directory.hpp, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp,
- src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp,
- src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp,
- src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp,
- src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp,
- src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp,
- src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp,
- src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp,
- src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp,
- src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp,
- src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp,
- src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp,
- src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.hpp, src/HyperlinkManager.cpp,
- src/HyperlinkManager.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp,
- src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp,
- src/Length.cpp, src/Length.hpp, src/Makefile.am, src/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 at uos.de>
-
- * src/TTFAutohint.hpp:
- don't declare member variables of TTFAutohint if ttfautohint is not
- available
-
- * src/FontWriter.cpp:
- keep unhinted TTF if autohinting failed
-
-2017-12-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- AppVeyor: download and install ttfautohint headers
-
- * .appveyor.yml, .travis.yml, 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 at uos.de>
-
- * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp,
- src/TTFAutohint.cpp:
- simplify function to load a symbol from a dynamic library
-
-2017-12-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at 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 at uos.de>
-
- * tests/gtest/include/gtest/gtest-param-test.h,
- tests/gtest/include/gtest/gtest-printers.h,
- tests/gtest/include/gtest/gtest-spi.h,
- tests/gtest/include/gtest/gtest-typed-test.h,
- tests/gtest/include/gtest/gtest.h,
- tests/gtest/include/gtest/internal/custom/gtest-port.h,
- tests/gtest/include/gtest/internal/custom/gtest.h,
- tests/gtest/include/gtest/internal/gtest-internal.h,
- tests/gtest/include/gtest/internal/gtest-param-util-generated.h,
- tests/gtest/include/gtest/internal/gtest-param-util.h,
- tests/gtest/include/gtest/internal/gtest-port-arch.h,
- tests/gtest/include/gtest/internal/gtest-port.h,
- tests/gtest/src/gtest-death-test.cc,
- tests/gtest/src/gtest-internal-inl.h, tests/gtest/src/gtest-port.cc,
- tests/gtest/src/gtest-printers.cc, tests/gtest/src/gtest.cc:
- updated gtest
-
-2017-12-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac:
- configure: dropped check of outdated Ghostscript version
-
- * configure.ac, src/Makefile.am:
- configure: added --with-kpathsea to set the path of the kpathsea devel
- files
-closes #71
-
-2017-12-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/psdefs.cpp:
- psdefs: replaced '6 array' with 'matrix'
-
-2017-12-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/woff2/Makefile.am, libs/woff2/include/woff2/file.h,
- src/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 at 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 at uos.de>
-
- * libs/variant/include/mpark/config.hpp,
- libs/variant/include/mpark/lib.hpp,
- libs/variant/include/mpark/variant.hpp:
- updated mpark::variant to
- https://github.com/mpark/variant/commit/382014b
-fixes a build error
- introduced with MSVC 19.12
-
- * tests/CMakeLists.txt:
- ctest: colorize test results and keep gtest colors
-
-2017-12-11 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * libs/woff2/brotli/common/dictionary.h,
- libs/woff2/brotli/common/version.h,
- libs/woff2/brotli/enc/backward_references_hq.c,
- libs/woff2/brotli/enc/backward_references_hq.h,
- libs/woff2/brotli/enc/port.h, libs/woff2/brotli/enc/quality.h,
- libs/woff2/brotli/include/brotli/decode.h,
- libs/woff2/brotli/include/brotli/encode.h:
- updated brotli to version 1.0.2
-
-2017-11-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp, src/BoundingBox.hpp,
- src/Color.cpp, src/PathClipper.cpp, src/SVGTree.cpp,
- tests/BoundingBoxTest.cpp:
- minor code cleanup and improvements
-
- * src/DependencyGraph.hpp:
- simplified DependencyGraph::GraphNode
-
-2017-11-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/TpicSpecialTest.cpp:
- added missing initializers in TpicSpecialTest
-
- * tests/EmSpecialTest.cpp:
- added missing initializers in EmSpecialTest
-
- * src/DependencyGraph.hpp:
- fixed dangling pointer issue in DependencyGraph
-
- * src/Makefile.am, tests/Makefile.am, tests/create-makefile:
- suppress warnings regarding 'mismatched tags'
- (class/struct)
-https://gcc.gnu.org/wiki/FAQ#Why_GCC_does_not_warn_for_mismatch_between_struct_and_class_.28-Wmismatched-tags.29_.3F
-
-2017-11-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PSPattern.cpp, src/SVGCharHandler.cpp, src/SVGTree.cpp,
- src/TpicSpecialHandler.cpp:
- removed redundant calls of std::move()
-
- * src/Subfont.cpp, src/Subfont.hpp, tests/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 at uos.de>
-
- * Makefile.am:
- removed redundant lcov statement from Makefile
-
-2017-11-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/CMapTest.cpp, tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp,
- tests/RangeMapTest.cpp, tests/TFMReaderTest.cpp,
- tests/TensorProductPatchTest.cpp, tests/ToUnicodeMapTest.cpp,
- tests/VectorStreamTest.cpp:
- tests: few code improvements
-
- * README.md:
- added donation badge to readme
-
-2017-11-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Font.cpp, src/Font.hpp:
- prevent dangling pointers to font map entries (closes #79)
-
- * src/CMapManager.cpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp,
- src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp,
- src/FontMap.hpp, src/Ghostscript.cpp, src/MiKTeXCom.cpp, src/XMLNode.cpp:
- replaced null pointer constants with 'nullptr'
-
- * src/XMLString.cpp, tests/TensorProductPatchTest.cpp,
- tests/XMLStringTest.cpp:
- avoid scientific notation when printing floats/doubles
-
- * .appveyor.yml, .travis.yml, 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 at uos.de>
-
- * CMakeLists.txt:
- cmake: generate compile_commands.json by default
-
-2017-11-13 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * README, README.md, doc/dvisvgm.txt.in:
- minor additions/fixes of manpage and README
-
-2017-11-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am, doc/db2html.xsl, doc/tweak-db-refentry.xsl:
- manpage: avoid using 'stats' to improve portability (closes #72)
-
-2017-10-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/InputReader.cpp, src/InputReader.hpp, src/PSInterpreter.cpp:
- simplified code to lookup PS operators
-
-2017-10-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/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 at uos.de>
-
- * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/DVIToSVGActions.hpp,
- src/DvisvgmSpecialHandler.cpp, src/EPSToSVG.cpp, src/EPSToSVG.hpp,
- src/EmSpecialHandler.cpp, src/HyperlinkManager.cpp, src/PSPattern.cpp,
- src/PSPattern.hpp, src/PsSpecialHandler.cpp, src/SVGCharHandler.cpp,
- src/SVGCharHandler.hpp, src/SVGCharPathHandler.cpp,
- src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp,
- src/SVGTree.cpp, src/SVGTree.hpp, src/ShadingPatch.hpp,
- src/SpecialActions.hpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp,
- src/XMLDocument.hpp, src/XMLNode.cpp, src/XMLNode.hpp, src/utility.hpp,
- tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp,
- tests/TpicSpecialTest.cpp, tests/XMLNodeTest.cpp:
- replaced raw XMLNode pointers with unique_ptrs
-which helps to ensure
- proper ownership and simplifies deleting the corresponding objects
-
- * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp:
- manage heap memory in DependencyGraph with unique_ptrs
-
-2017-10-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/ff-woff/fontforge/macbinary.c:
- updated link to CTAN:/tools/macutils/crc
-
-2017-10-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/woff2/include/woff2/version.h:
- replaced CRLF line endings
-
-2017-10-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CMapManager.cpp, src/CMapReader.cpp, src/CMapReader.hpp,
- src/DVIActions.hpp, src/DVIToSVG.cpp, src/DVIToSVG.hpp,
- src/DVIToSVGActions.hpp, src/FileFinder.cpp, src/Font.cpp, src/Font.hpp,
- src/FontEncoding.cpp, src/FontEncoding.hpp, src/FontEngine.cpp,
- src/FontEngine.hpp, src/FontManager.cpp, src/FontMetrics.cpp,
- src/FontMetrics.hpp, src/PSPattern.hpp, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.hpp, src/SVGCharHandlerFactory.cpp,
- src/SVGCharHandlerFactory.hpp, src/SVGOutput.cpp,
- src/SVGSingleCharTextHandler.hpp, src/SVGTree.cpp, src/ShadingPatch.cpp,
- src/ShadingPatch.hpp, src/SignalHandler.cpp, src/Subfont.cpp,
- src/Subfont.hpp, src/XMLNode.cpp, tests/CMapReaderTest.cpp,
- tests/ShadingPatchTest.cpp:
- replaced several bare new/delete statements with unique pointers
-
- * src/dvisvgm.cpp:
- fixed output of option --version
-
- * src/Length.hpp, src/PageSize.cpp:
- added user-defined literals for some length units
-
- * .appveyor.yml, .travis.yml, 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 at uos.de>
-
- * src/FontWriter.cpp:
- added missing #include of config.h
-
- * src/Message.cpp:
- check for '\0' at end of DVISVGM_COLORS
-
- * src/Subfont.cpp:
- don't access unique_ptr after it has been moved
-
-2017-10-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PDFParser.cpp, src/PDFParser.hpp:
- replaced shared_ptr with unique_ptr in PDFParser
-
-2017-10-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * AUTHORS, configure.ac, doc/dvisvgm.txt.in, libs/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 at 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 at uos.de>
-
- * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc,
- libs/woff2/src/woff2_enc.cc:
- woff2: removed unused variables to prevent compiler warnings
-
-2017-10-08 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/CRC32.hpp, src/SpecialManager.hpp, src/Subfont.hpp, src/XMLNode.hpp:
- use delete/default to remove/implement constructors
-
- * src/XMLNode.cpp, src/XMLNode.hpp:
- added move constructor to XMLElementNode
-
- * src/Subfont.cpp, src/Subfont.hpp, src/utility.hpp:
- removed stream-based constructor of SubfontException
-
-2017-09-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/PapersizeSpecialHandler.cpp,
- src/PapersizeSpecialHandler.hpp, src/PdfSpecialHandler.cpp,
- src/PdfSpecialHandler.hpp, src/SpecialManager.cpp,
- src/SpecialManager.hpp, tests/PapersizeSpecialTest.cpp:
- added evaluation of pdf:pagesize specials
-
-2017-09-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVG.cpp, src/Length.hpp, src/PageSize.cpp, src/PageSize.hpp,
- src/utility.hpp, tests/PageSizeTest.cpp:
- use class Length in PageSize rather than plain numbers
-
- * src/BoundingBox.cpp, src/BoundingBox.hpp, src/DVIToSVG.cpp,
- src/utility.cpp, src/utility.hpp, tests/BoundingBoxTest.cpp,
- tests/UtilityTest.cpp:
- rewrite of BoundingBox::extractLengths()
-
-2017-09-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TpicSpecialHandler.cpp:
- use isxdigit() to check hex digits
-
- * src/InputReader.cpp, src/InputReader.hpp, tests/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 at uos.de>
-
- * transfer-cs:
- updated makeskel and transfer-cs
-
-2017-09-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- updated FreeType to version 2.8.1
-
-2017-09-15 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * tests/CMakeLists.txt:
- made testmain a library to prevent separate builds for each test
-
-2017-09-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/dvisvgm.cpp:
- fixed number of dashes printed by option -V1
-
-2017-09-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DependencyGraph.hpp, src/SVGTree.cpp, tests/DependencyGraphTest.cpp:
- DependencyGraph::getKeys(): return result, don't use reference parameter
-
- * src/FileFinder.cpp, src/Makefile.am:
- added missing #include; added windows.hpp to Makefile.am
-
- * tests/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 at 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 at uos.de>
-
- * src/BasicDVIReader.cpp, src/BgColorSpecialHandler.cpp, src/Bitmap.cpp,
- src/BoundingBox.cpp, src/CMap.cpp, src/CMapReader.cpp, src/CRC32.cpp,
- src/Calculator.cpp, src/ColorSpecialHandler.cpp, src/DLLoader.cpp,
- src/DVIReader.cpp, src/Directory.cpp, src/EPSFile.cpp, src/EPSToSVG.cpp,
- src/EmSpecialHandler.cpp, src/EncFile.cpp, src/FileFinder.cpp,
- src/FilePath.cpp, src/Font.cpp, src/FontCache.cpp, src/FontEncoding.cpp,
- src/FontEngine.cpp, src/FontManager.cpp, src/FontMap.cpp,
- src/FontMap.hpp, src/FontMetrics.cpp, src/FontWriter.cpp,
- src/GFGlyphTracer.cpp, src/GFTracer.cpp, src/HtmlSpecialHandler.cpp,
- src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/MapLine.cpp,
- src/Message.cpp, src/MetafontWrapper.cpp, src/MiKTeXCom.cpp,
- src/NoPsSpecialHandler.cpp, src/PSInterpreter.cpp, src/PSPattern.cpp,
- src/PSPreviewFilter.cpp, src/PageRanges.cpp, src/PageSize.cpp,
- src/PathClipper.cpp, src/PdfSpecialHandler.cpp, src/SVGTree.cpp,
- src/SpecialManager.cpp, src/StreamWriter.cpp, src/TFM.cpp,
- src/VFReader.cpp, src/XMLDocument.cpp, src/XMLNode.cpp,
- src/XMLString.cpp, src/dvisvgm.cpp:
- removed redundant #includes of config.h
-
- * src/DLLoader.hpp, src/Directory.cpp, src/Directory.hpp,
- src/FileSystem.cpp, src/MiKTeXCom.hpp, src/Process.cpp, src/Terminal.cpp,
- src/windows.hpp:
- disable macros min/max defined in windows.h
-
- * src/CLCommandLine.cpp, src/CMapManager.cpp, src/CMapManager.hpp,
- src/Calculator.cpp, src/Calculator.hpp, src/DVIToSVG.cpp,
- src/DVIToSVGActions.hpp, src/DependencyGraph.hpp,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.hpp,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.hpp, src/FileFinder.cpp,
- src/Font.cpp, src/Font.hpp, src/FontCache.hpp, src/FontEncoding.cpp,
- src/FontManager.cpp, src/FontManager.hpp, src/FontMap.hpp,
- src/GFReader.hpp, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.hpp,
- src/InputReader.cpp, src/InputReader.hpp, src/Message.cpp,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp, src/SVGTree.cpp,
- src/SVGTree.hpp, src/SpecialManager.hpp, src/Subfont.cpp,
- src/Subfont.hpp, tests/StreamInputBufferTest.cpp:
- replaced std::map with std::unordered_map where possible to increase
- performance
-
-2017-09-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/DvisvgmSpecialTest.cpp:
- replaced constexpr with const to make clang happy
-
- * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp,
- tests/DvisvgmSpecialTest.cpp:
- allow all common length units in dvisvgm specials
-
-2017-08-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/AGLTable.hpp, src/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 at uos.de>
-
- * src/CMapManager.cpp, src/DvisvgmSpecialHandler.cpp, src/Font.cpp,
- src/Ghostscript.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp,
- tests/DvisvgmSpecialTest.cpp:
- use range-based for to iterate over a fixed sequence of items
-
-2017-08-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * m4/ax_code_coverage.m4:
- updated ax_code_coverage.m4 to version 25
-
-2017-08-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- updated potrace to version 1.15
-
-2017-08-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/woff2/src/font.cc, libs/woff2/src/normalize.cc,
- libs/woff2/src/port.h, libs/woff2/src/store_bytes.h,
- libs/woff2/src/woff2_common.cc, libs/woff2/src/woff2_enc.cc:
- updated woff2 to https://github.com/google/woff2/commits/2e09253
-
-2017-06-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/gf2xml.cpp, src/gf2xml.mak:
- added scripts to generate SVG files from GF glyphs
-
-2017-06-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/gfprint.mak:
- updated gfprint utility
-
-2017-06-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * .appveyor.yml:
- AppVeyor: changed build image to VS 2017
-
-2017-06-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp:
- psfile: fixed sign of y coordinates
-
-2017-06-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.hpp:
- use bp units for line width and miter limit
-
-2017-06-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/EPSToSVG.cpp:
- remove redundant clipPath elements also when converting EPS files
-
-2017-05-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GraphicsPath.hpp:
- replaced vector with deque in class GraphicsPath
-due to cheaper front
- insertions/deletions
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.hpp:
- manage memory of ClippingStack with shared pointers
-- automatically
- deletes unreferenced path objects
-- avoids keeping popped (and no longer
- required) paths in the pool vector
-
-2017-05-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Pair.hpp, tests/PairTest.cpp:
- added abs() and negation operator to class Pair
-
- * src/Matrix.hpp, src/PsSpecialHandler.cpp:
- respect transformation of PS state in computation of psfile position
- (fixes #70)
-
- * src/FileFinder.cpp, src/PsSpecialHandler.cpp:
- lookup psfile in texmf tree if it's not present in cwd (fixes #69)
-
-2017-05-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/FontCacheTest.cpp, tests/Makefile.am, tests/create-makefile:
- FontCacheTest: write test output to $builddir/data
-$srcdir/data may be
- read-only so that the tests fail unintentionally
-
-2017-05-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/woff2/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 at uos.de>
-
- * src/Process.cpp:
- close pipe if fork() fails
-
-2017-05-08 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Process.cpp:
- quit Process::run() if child process terminated unexpectedly (fixes #68)
-
-2017-04-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/Makefile.am, tests/create-makefile:
- added the FontWriter dependencies to the tests
-
-2017-04-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.cpp, src/Color.hpp, src/PSPattern.cpp,
- tests/ColorSpecialTest.cpp:
- avoid implicit conversion of Color object to RGB integer
-
- * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.hpp,
- tests/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 at uos.de>
-
- * .gitignore:
- updated .hgignore
-
-2017-04-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DLLoader.cpp, src/DLLoader.hpp:
- added DLLoader::loadLibrary() to assign a different library
-
- * src/DLLoader.cpp, src/DLLoader.hpp, src/Ghostscript.cpp:
- replaced c-string 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 at uos.de>
-
- * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4:
- updated m4 scripts
-
-2017-03-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp, tests/FileFinderTest.cpp:
- fixed handling of absolute additional directories in FileFinder
-
- * .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 at 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 at uos.de>
-
- * libs/ff-woff/fontforge/nowakowskittfinstr.c:
- ff-woff: removed redundant variables
-
- * libs/woff2/Makefile.am, libs/woff2/brotli/Makefile.am,
- libs/woff2/brotli/common/constants.h,
- libs/woff2/brotli/common/dictionary.c,
- libs/woff2/brotli/common/dictionary.h,
- libs/woff2/brotli/common/version.h,
- libs/woff2/brotli/enc/backward_references.c,
- libs/woff2/brotli/enc/backward_references.cc,
- libs/woff2/brotli/enc/backward_references.h,
- libs/woff2/brotli/enc/backward_references_inc.h,
- libs/woff2/brotli/enc/bit_cost.c, libs/woff2/brotli/enc/bit_cost.h,
- libs/woff2/brotli/enc/bit_cost_inc.h,
- libs/woff2/brotli/enc/block_encoder_inc.h,
- libs/woff2/brotli/enc/block_splitter.c,
- libs/woff2/brotli/enc/block_splitter.cc,
- libs/woff2/brotli/enc/block_splitter.h,
- libs/woff2/brotli/enc/block_splitter_inc.h,
- libs/woff2/brotli/enc/brotli_bit_stream.c,
- libs/woff2/brotli/enc/brotli_bit_stream.cc,
- libs/woff2/brotli/enc/brotli_bit_stream.h,
- libs/woff2/brotli/enc/cluster.c, libs/woff2/brotli/enc/cluster.h,
- libs/woff2/brotli/enc/cluster_inc.h, libs/woff2/brotli/enc/command.h,
- libs/woff2/brotli/enc/compress_fragment.c,
- libs/woff2/brotli/enc/compress_fragment.cc,
- libs/woff2/brotli/enc/compress_fragment.h,
- libs/woff2/brotli/enc/compress_fragment_two_pass.c,
- libs/woff2/brotli/enc/compress_fragment_two_pass.cc,
- libs/woff2/brotli/enc/compress_fragment_two_pass.h,
- libs/woff2/brotli/enc/compressor.h, libs/woff2/brotli/enc/context.h,
- libs/woff2/brotli/enc/dictionary.cc, libs/woff2/brotli/enc/dictionary.h,
- libs/woff2/brotli/enc/dictionary_hash.h, libs/woff2/brotli/enc/encode.c,
- libs/woff2/brotli/enc/encode.cc, libs/woff2/brotli/enc/encode.h,
- libs/woff2/brotli/enc/encode_parallel.cc,
- libs/woff2/brotli/enc/encode_parallel.h,
- libs/woff2/brotli/enc/entropy_encode.c,
- libs/woff2/brotli/enc/entropy_encode.cc,
- libs/woff2/brotli/enc/entropy_encode.h,
- libs/woff2/brotli/enc/entropy_encode_static.h,
- libs/woff2/brotli/enc/fast_log.h,
- libs/woff2/brotli/enc/find_match_length.h, libs/woff2/brotli/enc/hash.h,
- libs/woff2/brotli/enc/hash_forgetful_chain_inc.h,
- libs/woff2/brotli/enc/hash_longest_match_inc.h,
- libs/woff2/brotli/enc/hash_longest_match_quickly_inc.h,
- libs/woff2/brotli/enc/histogram.c, libs/woff2/brotli/enc/histogram.cc,
- libs/woff2/brotli/enc/histogram.h, libs/woff2/brotli/enc/histogram_inc.h,
- libs/woff2/brotli/enc/literal_cost.c,
- libs/woff2/brotli/enc/literal_cost.cc,
- libs/woff2/brotli/enc/literal_cost.h, libs/woff2/brotli/enc/memory.c,
- libs/woff2/brotli/enc/memory.h, libs/woff2/brotli/enc/metablock.c,
- libs/woff2/brotli/enc/metablock.cc, libs/woff2/brotli/enc/metablock.h,
- libs/woff2/brotli/enc/metablock_inc.h, libs/woff2/brotli/enc/port.h,
- libs/woff2/brotli/enc/prefix.h, libs/woff2/brotli/enc/quality.h,
- libs/woff2/brotli/enc/ringbuffer.h, libs/woff2/brotli/enc/static_dict.c,
- libs/woff2/brotli/enc/static_dict.cc,
- libs/woff2/brotli/enc/static_dict.h,
- libs/woff2/brotli/enc/static_dict_lut.h,
- libs/woff2/brotli/enc/streams.cc, libs/woff2/brotli/enc/streams.h,
- libs/woff2/brotli/enc/transform.h, libs/woff2/brotli/enc/types.h,
- libs/woff2/brotli/enc/utf8_util.c, libs/woff2/brotli/enc/utf8_util.cc,
- libs/woff2/brotli/enc/utf8_util.h, libs/woff2/brotli/enc/write_bits.h,
- libs/woff2/brotli/include/brotli/decode.h,
- libs/woff2/brotli/include/brotli/encode.h,
- libs/woff2/brotli/include/brotli/port.h,
- libs/woff2/brotli/include/brotli/types.h, libs/woff2/src/buffer.h,
- libs/woff2/src/font.cc, libs/woff2/src/glyph.cc,
- libs/woff2/src/variable_length.cc, libs/woff2/src/woff2_dec.h,
- libs/woff2/src/woff2_enc.cc, src/Makefile.am:
- updated woff2 to https://github.com/google/woff2/commit/68e9ab5
-
- * libs/woff2/CMakeLists.txt:
- adapted Makefiles to updated libwoff2
-
-2017-02-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/BezierTest.cpp, tests/BitmapTest.cpp, tests/BoundingBoxTest.cpp,
- tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp, tests/CMapTest.cpp,
- tests/CRC32Test.cpp, tests/ColorTest.cpp, tests/CommandLineTest.cpp,
- tests/DirectoryTest.cpp, tests/FileSystemTest.cpp,
- tests/GraphicsPathTest.cpp, tests/JFMReaderTest.cpp,
- tests/MatrixTest.cpp, tests/PageRagesTest.cpp, tests/RangeMapTest.cpp,
- tests/SVGOutputTest.cpp, tests/SplittedCharInputBufferTest.cpp,
- tests/StreamInputBufferTest.cpp, tests/StreamReaderTest.cpp,
- tests/StreamWriterTest.cpp, tests/SubfontTest.cpp,
- tests/TFMReaderTest.cpp, tests/ToUnicodeMapTest.cpp,
- tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp,
- tests/XMLNodeTest.cpp:
- fixed signed/unsigned warnings in tests
-
-2017-02-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/woff2/brotli/tools/bro.cc, libs/woff2/brotli/tools/rfc-format.py,
- libs/woff2/brotli/tools/version.h:
- removed redundant files
-
- * 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 at uos.de>
-
- * .appveyor.yml, .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.1.3
-
- * NEWS:
- updated NEWS
-
-2017-02-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/ff-woff/inc/ffintl.h:
- ff-woff: removed redundant defines and prototypes to fix build failure
- on Solaris
-
- * tests/genhashcheck.py:
- reformatted genhashcheck
-
- * tests/BezierTest.cpp, tests/CRC32Test.cpp, tests/ToUnicodeMapTest.cpp,
- tests/UnicodeTest.cpp, tests/VectorIteratorTest.cpp,
- tests/XMLNodeTest.cpp:
- minor additions to some tests
-
-2017-02-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, libs/ff-woff/Makefile.am,
- libs/ff-woff/fontforge/fflocale.c, libs/ff-woff/fontforge/fflocale.h,
- libs/ff-woff/fontforge/sfd.c, libs/ff-woff/fontforge/splinefont.h,
- libs/ff-woff/fontforge/tottf.c:
- ff-woff: only call uselocale() if present, use setlocale() otherwise
-
-2017-02-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- added information on required C++11 compiler to README
-
- * tests/genhashcheck.py:
- made genhashcheck.py compatible with Python 3 (plus few minor changes)
-
-2017-02-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/MapLine.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 at uos.de>
-
- * NEWS:
- updated NEWS
-
-2017-02-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Calculator.cpp:
- fixed number parsing in Calculator class (failed on Mac)
-
- * tests/StreamReaderTest.cpp:
- clear istream flags to prevent failure of StreamReaderTest
-
- * libs/xxHash/xxhash.c, libs/xxHash/xxhash.h:
- removed 'restrict' keyword from xxHash
-
- * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.1.2
-
-2017-02-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * .gitignore, .travis.yml, Makefile.am, configure.ac, tests/Makefile.am,
- tests/create-makefile, tests/gtest/LICENSE,
- tests/gtest/include/gtest/gtest-death-test.h,
- tests/gtest/include/gtest/gtest-message.h,
- tests/gtest/include/gtest/gtest-param-test.h,
- tests/gtest/include/gtest/gtest-printers.h,
- tests/gtest/include/gtest/gtest-spi.h,
- tests/gtest/include/gtest/gtest-test-part.h,
- tests/gtest/include/gtest/gtest-typed-test.h,
- tests/gtest/include/gtest/gtest.h,
- tests/gtest/include/gtest/gtest_pred_impl.h,
- tests/gtest/include/gtest/gtest_prod.h,
- tests/gtest/include/gtest/internal/custom/gtest-port.h,
- tests/gtest/include/gtest/internal/custom/gtest-printers.h,
- tests/gtest/include/gtest/internal/custom/gtest.h,
- tests/gtest/include/gtest/internal/gtest-death-test-internal.h,
- tests/gtest/include/gtest/internal/gtest-filepath.h,
- tests/gtest/include/gtest/internal/gtest-internal.h,
- tests/gtest/include/gtest/internal/gtest-linked_ptr.h,
- tests/gtest/include/gtest/internal/gtest-param-util-generated.h,
- tests/gtest/include/gtest/internal/gtest-param-util.h,
- tests/gtest/include/gtest/internal/gtest-port-arch.h,
- tests/gtest/include/gtest/internal/gtest-port.h,
- tests/gtest/include/gtest/internal/gtest-string.h,
- tests/gtest/include/gtest/internal/gtest-tuple.h,
- tests/gtest/include/gtest/internal/gtest-type-util.h,
- tests/gtest/src/gtest-all.cc, tests/gtest/src/gtest-death-test.cc,
- tests/gtest/src/gtest-filepath.cc, tests/gtest/src/gtest-internal-inl.h,
- tests/gtest/src/gtest-port.cc, tests/gtest/src/gtest-printers.cc,
- tests/gtest/src/gtest-test-part.cc, tests/gtest/src/gtest-typed-test.cc,
- tests/gtest/src/gtest.cc, tests/gtest/src/gtest_main.cc:
- bundle gtest with the sources to simplify building and running the tests
-
- * src/Directory.cpp, tests/DirectoryTest.cpp:
- prevent calling closedir() with null pointer argument
-
- * src/VectorStream.hpp:
- don't access first vector component if the vector is empty
-
- * src/GFReader.cpp, src/StreamReader.cpp, tests/GFReaderTest.cpp,
- tests/StreamReaderTest.cpp:
- improved implementation of getString()
-
- * src/CLCommandLine.cpp:
- reset status flags before changing the sstream source
-
-2017-02-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/CommandLineTest.cpp:
- removed redundant function
-
- * src/XMLString.cpp, tests/EmSpecialTest.cpp, tests/GFGlyphTracerTest.cpp:
- avoid negative zeros (-0) in SVG output
-
- * src/BoundingBox.cpp:
- fixed memory issue in BoundingBox class
-
- * src/CMapReader.cpp, src/InputReader.cpp, src/InputReader.hpp,
- tests/SplittedCharInputBufferTest.cpp, tests/StreamInputBufferTest.cpp:
- fixed potential number overflow issue
-
- * tests/CMapReaderTest.cpp:
- fixed memory leak in CMapReaderTest
-
- * src/Subfont.cpp:
- fixed memory leak in Subfont class
-
- * src/XMLNode.cpp:
- fixed memory leak in class XMLElementNode
-
-2017-02-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac:
- replaced deprecated AC_CONFIG_HEADER
-
- * NEWS:
- updated NEWS
-
-2017-02-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, appveyor.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.1.1
-
-2017-02-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/FontCacheTest.cpp:
- fixed FontCacheTest ('make distcheck' failed)
-
-2017-02-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.cpp, src/Color.hpp, src/VectorIterator.hpp,
- tests/ColorTest.cpp, tests/VectorIteratorTest.cpp:
- increased coverage of ColorTest
-
- * configure.ac, libs/ff-woff/fontforge/splinefont.h:
- include xlocale.h in ff-woff if available (fixes #65)
-
-2017-02-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Makefile.am:
- removed spurious colon from src/Makefile.am
-
- * configure.ac:
- allow C++11 language extensions if necessary
-
- * src/Font.cpp, src/Font.hpp:
- report Metafont failures only once for each font
-
-2017-01-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- README: updated links, added release badge
-
-2017-01-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/FontManagerTest.cpp, tests/data/cmr10.pfb:
- prevent FontManagerTest to fail due to missing font files
-
-2017-01-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/MapLine.cpp, src/MapLine.hpp, tests/ColorSpecialTest.cpp,
- tests/FontMapTest.cpp, tests/LengthTest.cpp, tests/MapLineTest.cpp:
- improved a couple of test cases
-
-2017-01-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Matrix.cpp, tests/MatrixTest.cpp:
- minor changes of matrix class; improved MatrixTest
-
-2017-01-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.hpp,
- tests/Makefile.am, tests/PapersizeSpecialTest.cpp, tests/create-makefile:
- added PapersizeSpecialTest
-
- * tests/CMapManagerTest.cpp, tests/CMapReaderTest.cpp,
- tests/DvisvgmSpecialTest.cpp, tests/EmSpecialTest.cpp,
- tests/FileFinderTest.cpp, tests/FontManagerTest.cpp,
- tests/JFMReaderTest.cpp, tests/MapLineTest.cpp, tests/SubfontTest.cpp,
- tests/TFMReaderTest.cpp, tests/TensorProductPatchTest.cpp:
- added 'override' specifier to gtest methods
-
- * src/FontCache.cpp, src/FontCache.hpp, tests/FontCacheTest.cpp,
- tests/Makefile.am:
- added FontCacheTest
-
- * tests/Makefile.am, tests/create-makefile:
- removed redundant linker flag from tests
-
- * m4/ax_code_coverage.m4, m4/ax_cxx_compile_stdcxx.m4:
- updated m4 scripts to latest versions
-
-2017-01-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * README.md, appveyor.yml:
- added basic appveyor.yml
-
-2017-01-22 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * libs/ff-woff/Makefile.am, libs/ff-woff/fontforge/fontforge.h,
- libs/ff-woff/fontforge/tmpfile2.cpp, libs/ff-woff/fontforge/utils.c,
- src/dvisvgm.cpp:
- improved error handling of tmpfile2() in ff-woff
-The FontForge library
- doesn't check the return value of tmpfile() which may lead
-to segfaults.
- The replacement function tmpfile2() throws an exception or calls
-exit()
- so that dvisvgm can terminate more cleanly.
-
-2017-01-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BoundingBox.cpp, src/Color.cpp, src/DVIToSVGActions.cpp,
- src/FilePath.cpp, src/FileSystem.cpp, src/FontWriter.cpp,
- src/Makefile.am, src/PageSize.cpp, src/SVGOutput.cpp, src/utility.cpp,
- src/utility.hpp, tests/Makefile.am, tests/UtilityTest.cpp:
- moved common utility functions to separate compilation unit and
- namespace
-
- * src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/EPSToSVG.cpp:
- get program name and version from version.hpp, avoid using macros from
- config.h
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.1
-
- * NEWS:
- updated NEWS
-
-2017-01-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * libs/ff-woff/fontforge/utils.c, src/FileSystem.cpp, src/FileSystem.hpp,
- src/Font.cpp, src/FontWriter.cpp, src/GlyphTracerMessages.hpp,
- src/MetafontWrapper.cpp, src/MetafontWrapper.hpp, src/Process.cpp,
- src/Process.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp:
- create temp files in the system's temp folder rather than in cwd (closes
- #63)
-
- * doc/dvisvgm.txt.in, src/CommandLine.hpp, src/dvisvgm.cpp,
- src/options.xml:
- added option --tmpdir to select a different temp folder
-
- * src/FontWriter.cpp, src/FontWriter.hpp:
- print error message if FontWriter can't write temporary files
-
-2017-01-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FilePath.cpp, src/FilePath.hpp, tests/FilePathTest.cpp,
- tests/SVGOutputTest.cpp:
- retain letter case of filenames (Windows)
-
- * src/DVIToSVG.cpp, src/EPSToSVG.cpp, src/SVGTree.hpp:
- print warning message if output file could not be written
-
- * tests/GhostscriptTest.cpp:
- disable GS banner in GhostscriptTest
-
-2017-01-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp, src/dvisvgm.cpp:
- added missing newlines in messages; fixed typo
-
-2017-01-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/AGLTable.hpp, 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 at uos.de>
-
- * Makefile.am, README, README.md, configure.ac, doc/Makefile.am,
- doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl,
- doc/dvisvgm.txt.in, doc/tweak-db-article.xsl, doc/tweak-dblatex-pdf.xsl,
- libs/Makefile.am, src/AGLTable.hpp, src/BasicDVIReader.cpp,
- src/BasicDVIReader.hpp, src/Bezier.cpp, src/Bezier.hpp,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.hpp,
- src/Bitmap.cpp, src/Bitmap.hpp, src/BoundingBox.cpp, src/BoundingBox.hpp,
- src/CLCommandLine.cpp, src/CLCommandLine.hpp, src/CLOption.hpp,
- src/CMap.cpp, src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.hpp,
- src/CMapReader.cpp, src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.hpp,
- src/Calculator.cpp, src/Calculator.hpp, src/CharMapID.cpp,
- src/CharMapID.hpp, src/Character.hpp, src/Color.cpp, src/Color.hpp,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.hpp,
- src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.hpp,
- src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.hpp,
- src/DVIToSVG.cpp, src/DVIToSVG.hpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.hpp, src/DependencyGraph.hpp, src/Directory.cpp,
- src/Directory.hpp, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.hpp, src/EPSFile.cpp, src/EPSFile.hpp,
- src/EPSToSVG.cpp, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.hpp, src/EncFile.cpp, src/EncFile.hpp,
- src/FileFinder.cpp, src/FileFinder.hpp, src/FilePath.cpp,
- src/FilePath.hpp, src/FileSystem.cpp, src/FileSystem.hpp,
- src/FixWord.hpp, src/Font.cpp, src/Font.hpp, src/FontCache.cpp,
- src/FontCache.hpp, src/FontEncoding.cpp, src/FontEncoding.hpp,
- src/FontEngine.cpp, src/FontEngine.hpp, src/FontManager.cpp,
- src/FontManager.hpp, src/FontMap.cpp, src/FontMap.hpp,
- src/FontMetrics.cpp, src/FontMetrics.hpp, src/FontStyle.hpp,
- src/FontWriter.cpp, src/FontWriter.hpp, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.hpp,
- src/GFTracer.cpp, src/GFTracer.hpp, src/Ghostscript.cpp,
- src/Ghostscript.hpp, src/Glyph.hpp, src/GlyphTracerMessages.hpp,
- src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.hpp, src/InputBuffer.cpp, src/InputBuffer.hpp,
- src/InputReader.cpp, src/InputReader.hpp, src/JFM.cpp, src/JFM.hpp,
- src/Length.cpp, src/Length.hpp, src/Makefile.am, src/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 at uos.de>
-
- * doc/Makefile.am, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl,
- doc/dvisvgm.txt.in, doc/dvisvgm.xpr, doc/tweak-db-article.xsl:
- manpage: minor refactorings of the XSLT scripts; added generation of
- epub
-
-2016-12-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl, doc/db2html.xsl,
- doc/tweak-dblatex-pdf.xsl:
- added missing email address to copyright headers
-
- * doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl,
- doc/tweak-dblatex-pdf.xsl:
- indent with tabs rather than spaces
-
- * doc/db2html.xsl:
- manpage: replace icon of Author section
-
- * doc/conf-dblatex-pdf.xsl, doc/tweak-dblatex-pdf.xsl:
- manpage: use mixed case titles in pdf output
-
-2016-12-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/db2html.xsl, doc/dvisvgm.xpr:
- manpage: preserve whitespace in list of supported specials
-
-2016-11-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac:
- ensure compiling C files with --std=c99
-
-2016-11-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS:
- updated NEWS
-
-2016-11-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in:
- minor changes in manpage
-
- * README, README.md, configure.ac, libs/Makefile.am, libs/ff-woff/LICENSE,
- libs/ff-woff/Makefile.am, libs/ff-woff/README.md,
- libs/ff-woff/fontforge/PfEd.h, libs/ff-woff/fontforge/alphabet.c,
- libs/ff-woff/fontforge/asmfpst.c, libs/ff-woff/fontforge/autohint.c,
- libs/ff-woff/fontforge/char.c, libs/ff-woff/fontforge/cjk.c,
- libs/ff-woff/fontforge/configure-fontforge.h,
- libs/ff-woff/fontforge/cvundoes.c, libs/ff-woff/fontforge/dumppfa.c,
- libs/ff-woff/fontforge/edgelist.h, libs/ff-woff/fontforge/edgelist2.h,
- libs/ff-woff/fontforge/encoding.c, libs/ff-woff/fontforge/encoding.h,
- libs/ff-woff/fontforge/fontforge-config.h,
- libs/ff-woff/fontforge/fontforge.h, libs/ff-woff/fontforge/fontforgevw.h,
- libs/ff-woff/fontforge/fvfonts.c, libs/ff-woff/fontforge/gwwiconv.c,
- libs/ff-woff/fontforge/libffstamp.h, libs/ff-woff/fontforge/lookups.c,
- libs/ff-woff/fontforge/macbinary.c, libs/ff-woff/fontforge/macenc.c,
- libs/ff-woff/fontforge/mathconstants.c, libs/ff-woff/fontforge/memory.c,
- libs/ff-woff/fontforge/mm.c, libs/ff-woff/fontforge/namehash.h,
- libs/ff-woff/fontforge/namelist.c, libs/ff-woff/fontforge/nouiutil.c,
- libs/ff-woff/fontforge/nowakowskittfinstr.c,
- libs/ff-woff/fontforge/parsepfa.c, libs/ff-woff/fontforge/parsettf.c,
- libs/ff-woff/fontforge/parsettfatt.c, libs/ff-woff/fontforge/psfont.h,
- libs/ff-woff/fontforge/psread.c, libs/ff-woff/fontforge/pua.c,
- libs/ff-woff/fontforge/sd.h, libs/ff-woff/fontforge/sfd.c,
- libs/ff-woff/fontforge/sfd1.c, libs/ff-woff/fontforge/sfd1.h,
- libs/ff-woff/fontforge/splinechar.c, libs/ff-woff/fontforge/splinefont.c,
- libs/ff-woff/fontforge/splinefont.h,
- libs/ff-woff/fontforge/splineorder2.c,
- libs/ff-woff/fontforge/splineoverlap.c,
- libs/ff-woff/fontforge/splinerefigure.c,
- libs/ff-woff/fontforge/splinesave.c,
- libs/ff-woff/fontforge/splinesaveafm.c,
- libs/ff-woff/fontforge/splineutil.c,
- libs/ff-woff/fontforge/splineutil2.c, libs/ff-woff/fontforge/start.c,
- libs/ff-woff/fontforge/stemdb.c, libs/ff-woff/fontforge/stemdb.h,
- libs/ff-woff/fontforge/tables.h, libs/ff-woff/fontforge/tottf.c,
- libs/ff-woff/fontforge/tottfaat.c, libs/ff-woff/fontforge/tottfgpos.c,
- libs/ff-woff/fontforge/tottfvar.c, libs/ff-woff/fontforge/ttf.h,
- libs/ff-woff/fontforge/ttfinstrs.c, libs/ff-woff/fontforge/ttfinstrs.h,
- libs/ff-woff/fontforge/ttfspecial.c,
- libs/ff-woff/fontforge/uiinterface.h, libs/ff-woff/fontforge/unialt.c,
- libs/ff-woff/fontforge/ustring.c, libs/ff-woff/fontforge/utils.c,
- libs/ff-woff/fontforge/utype.c, libs/ff-woff/fontforge/woff.c,
- libs/ff-woff/inc/basics.h, libs/ff-woff/inc/chardata.h,
- libs/ff-woff/inc/charset.h, libs/ff-woff/inc/dlist.h,
- libs/ff-woff/inc/gimage.h, libs/ff-woff/inc/gnetwork.h,
- libs/ff-woff/inc/gwwiconv.h, libs/ff-woff/inc/intl.h,
- libs/ff-woff/inc/ustring.h, libs/ff-woff/inc/utype.h, src/Makefile.am:
- bundle reduced fontforge library (ff-woff)
-
- * configure.ac, libs/Makefile.am, libs/clipper/Makefile.am,
- libs/ff-woff/Makefile.am, libs/woff2/Makefile.am,
- libs/woff2/brotli/Makefile.am, libs/woff2/brotli/enc/Makefile.am,
- libs/woff2/src/Makefile.am, src/Makefile.am:
- added license files of bundled libraries; relocated Makefiles
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.0.4
-
-2016-11-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CommandLine.hpp, src/options.xml:
- fixed a typo in the --help output
-
- * src/BasicDVIReader.cpp, src/BasicDVIReader.hpp, src/DVIReader.cpp,
- src/DVIReader.hpp:
- use const variables for DVI opcodes rather than the values directly
-
-2016-11-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontWriter.cpp:
- few cosmetic changes; added comments
-
-2016-09-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.0.3
-
- * NEWS, README, README.md:
- updated NEWS and README
-
-2016-09-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp,
- src/DVIToSVG.hpp:
- dropped tracking of previous DVI state from DVIReader
-
- * src/DVIReader.cpp:
- fixed positioning of rules
-
-2016-09-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.hpp, src/DVIToSVG.cpp:
- fixed regression in character positioning of of virtual fonts
-
-2016-09-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp:
- fixed type regression in computation of DVI positions (closes #61)
-
- * 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 at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.0.1
-
- * NEWS, README, README.md:
- updated NEWS and README
-
-2016-08-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- added link to reduced FF library to README
-
- * doc/dvisvgm.txt.in, src/FontWriter.cpp, src/FontWriter.hpp,
- src/SVGTree.cpp, src/SVGTree.hpp, src/ffwrapper.c:
- added option to autohint fonts created by the FontForge library
-
-2016-08-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVGActions.hpp, src/FontManager.hpp, src/MetafontWrapper.hpp:
- adapted struct/class forward declarations
-
-2016-08-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp, src/FileFinder.hpp:
- removed unused variable
-
- * src/CLCommandLine.cpp:
- added missing cast to avoid compiler warning
-
- * .travis.yml, configure.ac, src/Doxyfile, src/version.hpp:
- set version to 2.0
-
- * README, README.md:
- updated README files
-
- * NEWS:
- updated NEWS
-
-2016-08-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontWriter.cpp, src/FontWriter.hpp, src/ffwrapper.c,
- src/ffwrapper.h:
- added missing copyright headers
-
-2016-08-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * Makefile.am, clipper/License.txt, clipper/Makefile.am,
- clipper/clipper.cpp, clipper/clipper.hpp, configure.ac, libs/Makefile.am,
- libs/clipper/License.txt, libs/clipper/Makefile.am,
- libs/clipper/clipper.cpp, libs/clipper/clipper.hpp, libs/xxHash/LICENSE,
- libs/xxHash/Makefile.am, libs/xxHash/xxhash-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 at uos.de>
-
- * src/XMLNode.hpp:
- added move constructors to XMLNode classes
-
-2016-08-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontEngine.cpp:
- fixed sign of the font descender
-
- * configure.ac, doc/dvisvgm.txt.in, src/CommandLine.hpp,
- src/FontWriter.cpp, src/FontWriter.hpp, src/GraphicsPath.hpp,
- src/Makefile.am, src/SVGTree.cpp, src/SVGTree.hpp, src/XMLNode.cpp,
- src/XMLNode.hpp, src/dvisvgm.cpp, src/ffwrapper.c, src/ffwrapper.h,
- src/options.xml:
- added option --font-format to select the file format used to embed fonts
-
-2016-08-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * xxHash/xxhash.c, xxHash/xxhash.h, xxHash/xxhsum.c:
- updated xxHash to version 0.6.2
-
-2016-08-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FixWord.hpp, src/Font.cpp, src/FontMetrics.hpp, src/SVGTree.cpp,
- src/TFM.cpp, src/TFM.hpp:
- added getters for ascent and descent to TFM-based fonts
-
-2016-08-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Ghostscript.hpp:
- removed copy constructor of class Ghostscript
-
- * src/PathClipper.cpp:
- added missing initializers
-
-2016-08-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at 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 at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.hpp, src/Directory.cpp,
- src/Directory.hpp, src/FilePath.cpp, src/FilePath.hpp, src/Font.cpp,
- src/Font.hpp, src/FontManager.cpp, src/FontManager.hpp, src/GFReader.hpp,
- src/PageRanges.cpp, src/PageRanges.hpp, src/PageSize.cpp,
- src/PageSize.hpp, src/SVGOutput.cpp, src/SVGOutput.hpp,
- src/VFActions.hpp, src/VFReader.cpp:
- pass string parameters by reference if possible
-
- * src/System.cpp, src/dvisvgm.cpp:
- minor refactorings of dvisvgm.cpp
-
- * src/Ghostscript.cpp, src/MiKTeXCom.cpp:
- replaced __WIN64__ with pre-defined _WIN64
-
-2016-08-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/BoundingBox.cpp,
- src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp,
- src/FileSystem.cpp, src/FontCache.cpp, src/FontEngine.cpp,
- src/FontManager.cpp, src/GraphicsPath.hpp, src/PSInterpreter.cpp,
- src/PapersizeSpecialHandler.cpp, src/PathClipper.cpp, src/RangeMap.cpp,
- src/Subfont.cpp, src/TpicSpecialHandler.cpp, src/XMLDocument.cpp,
- src/XMLNode.cpp, src/genhashmap.cpp:
- replaced insert/push_back with emplace/emplace_back where useful
-
-2016-07-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PathClipper.cpp:
- some minor refactorings of class PathClipper
-
- * src/CMapReader.cpp:
- minor refactoring of class CMapReader
-
-2016-07-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontMap.cpp, src/FontMap.hpp:
- some syntactic refactorings of class FontMap
-
- * src/FontManager.cpp, src/FontManager.hpp:
- use unique_ptr to automatically release Font objects in class
- FontManager
-
-2016-07-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/AGLTable.h, src/AGLTable.hpp, src/BasicDVIReader.cpp,
- src/BasicDVIReader.h, src/BasicDVIReader.hpp, src/Bezier.cpp,
- src/Bezier.h, src/Bezier.hpp, src/BgColorSpecialHandler.cpp,
- src/BgColorSpecialHandler.h, src/BgColorSpecialHandler.hpp,
- src/Bitmap.cpp, src/Bitmap.h, src/Bitmap.hpp, src/BoundingBox.cpp,
- src/BoundingBox.h, src/BoundingBox.hpp, src/CMap.cpp, src/CMap.h,
- src/CMap.hpp, src/CMapManager.cpp, src/CMapManager.h,
- src/CMapManager.hpp, src/CMapReader.cpp, src/CMapReader.h,
- src/CMapReader.hpp, src/CRC32.cpp, src/CRC32.h, src/CRC32.hpp,
- src/Calculator.cpp, src/Calculator.h, src/Calculator.hpp,
- src/CharMapID.cpp, src/CharMapID.h, src/CharMapID.hpp, src/Character.h,
- src/Character.hpp, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h,
- src/CmdLineParserBase.hpp, src/Color.cpp, src/Color.h, src/Color.hpp,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/ColorSpecialHandler.hpp, src/CommandLine.cpp, src/CommandLine.h,
- src/CommandLine.hpp, src/DLLoader.cpp, src/DLLoader.h, src/DLLoader.hpp,
- src/DVIActions.h, src/DVIActions.hpp, src/DVIReader.cpp, src/DVIReader.h,
- src/DVIReader.hpp, src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVG.hpp,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/DVIToSVGActions.hpp,
- src/DependencyGraph.h, src/DependencyGraph.hpp, src/Directory.cpp,
- src/Directory.h, src/Directory.hpp, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h, src/DvisvgmSpecialHandler.hpp,
- src/EPSFile.cpp, src/EPSFile.h, src/EPSFile.hpp, src/EPSToSVG.cpp,
- src/EPSToSVG.h, src/EPSToSVG.hpp, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.h, src/EmSpecialHandler.hpp, src/EncFile.cpp,
- src/EncFile.h, src/EncFile.hpp, src/FileFinder.cpp, src/FileFinder.h,
- src/FileFinder.hpp, src/FilePath.cpp, src/FilePath.h, src/FilePath.hpp,
- src/FileSystem.cpp, src/FileSystem.h, src/FileSystem.hpp, src/FixWord.h,
- src/FixWord.hpp, src/Font.cpp, src/Font.h, src/Font.hpp,
- src/FontCache.cpp, src/FontCache.h, src/FontCache.hpp,
- src/FontEncoding.cpp, src/FontEncoding.h, src/FontEncoding.hpp,
- src/FontEngine.cpp, src/FontEngine.h, src/FontEngine.hpp,
- src/FontManager.cpp, src/FontManager.h, src/FontManager.hpp,
- src/FontMap.cpp, src/FontMap.h, src/FontMap.hpp, src/FontMetrics.cpp,
- src/FontMetrics.h, src/FontMetrics.hpp, src/FontStyle.h,
- src/FontStyle.hpp, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h,
- src/GFGlyphTracer.hpp, src/GFReader.cpp, src/GFReader.h,
- src/GFReader.hpp, src/GFTracer.cpp, src/GFTracer.h, src/GFTracer.hpp,
- src/Ghostscript.cpp, src/Ghostscript.h, src/Ghostscript.hpp, src/Glyph.h,
- src/Glyph.hpp, src/GlyphTracerMessages.h, src/GlyphTracerMessages.hpp,
- src/GraphicsPath.h, src/GraphicsPath.hpp, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/HtmlSpecialHandler.hpp,
- src/InputBuffer.cpp, src/InputBuffer.h, src/InputBuffer.hpp,
- src/InputReader.cpp, src/InputReader.h, src/InputReader.hpp, src/JFM.cpp,
- src/JFM.h, src/JFM.hpp, src/Length.cpp, src/Length.h, src/Length.hpp,
- src/Makefile.am, src/MapLine.cpp, src/MapLine.h, src/MapLine.hpp,
- src/Matrix.cpp, src/Matrix.h, src/Matrix.hpp, src/Message.cpp,
- src/Message.h, src/Message.hpp, src/MessageException.h,
- src/MessageException.hpp, src/MetafontWrapper.cpp, src/MetafontWrapper.h,
- src/MetafontWrapper.hpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h,
- src/MiKTeXCom.hpp, src/NoPsSpecialHandler.cpp, src/NoPsSpecialHandler.h,
- src/NoPsSpecialHandler.hpp, src/NumericRanges.h, src/NumericRanges.hpp,
- src/PSFilter.h, src/PSFilter.hpp, src/PSInterpreter.cpp,
- src/PSInterpreter.h, src/PSInterpreter.hpp, src/PSPattern.cpp,
- src/PSPattern.h, src/PSPattern.hpp, src/PSPreviewFilter.cpp,
- src/PSPreviewFilter.h, src/PSPreviewFilter.hpp, src/PageRanges.cpp,
- src/PageRanges.h, src/PageRanges.hpp, src/PageSize.cpp, src/PageSize.h,
- src/PageSize.hpp, src/Pair.h, src/Pair.hpp,
- src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h,
- src/PapersizeSpecialHandler.hpp, src/PathClipper.cpp, src/PathClipper.h,
- src/PathClipper.hpp, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h,
- src/PdfSpecialHandler.hpp, src/PreScanDVIReader.cpp,
- src/PreScanDVIReader.h, src/PreScanDVIReader.hpp, src/Process.cpp,
- src/Process.h, src/Process.hpp, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/PsSpecialHandler.hpp, src/RangeMap.cpp,
- src/RangeMap.h, src/RangeMap.hpp, src/SVGCharHandler.cpp,
- src/SVGCharHandler.h, src/SVGCharHandler.hpp,
- src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h,
- src/SVGCharHandlerFactory.hpp, src/SVGCharPathHandler.cpp,
- src/SVGCharPathHandler.h, src/SVGCharPathHandler.hpp,
- src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h,
- src/SVGCharTspanTextHandler.hpp, src/SVGOutput.cpp, src/SVGOutput.h,
- src/SVGOutput.hpp, src/SVGSingleCharTextHandler.cpp,
- src/SVGSingleCharTextHandler.h, src/SVGSingleCharTextHandler.hpp,
- src/SVGTree.cpp, src/SVGTree.h, src/SVGTree.hpp, src/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 at 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 at uos.de>
-
- * src/AGLTable.h, src/Color.cpp, src/Unicode.cpp, tests/genhashcheck.py:
- replaced repeated binary search implementations with calls of
- lower_bound()
-
-2016-07-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp, src/Message.cpp:
- initialize maps with initializer-lists
-
-2016-07-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Length.cpp, src/TpicSpecialHandler.cpp:
- replaced 'id macros' with constexpr functions
-
-2016-07-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TFM.cpp:
- added missing initializers
-
- * src/dvisvgm.cpp:
- catch exception in set_cache_dir()
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.16
-
- * NEWS, README.md:
- updated NEWS and README
-
-2016-07-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, m4/ax_cxx_compile_stdcxx.m4:
- switch from C++03 to C++11
-
- * src/NumericRanges.h, src/PapersizeSpecialHandler.cpp, src/Unicode.cpp,
- src/VFReader.cpp:
- replaced static callback functions with lambdas
-
- * src/CMapReader.cpp, src/CMapReader.h, src/CmdLineParserBase.cpp,
- src/CmdLineParserBase.h, src/Color.cpp, src/Color.h, src/CommandLine.cpp,
- src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp,
- src/EmSpecialHandler.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp,
- src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/HtmlSpecialHandler.h,
- src/Length.cpp, src/Length.h, src/PathClipper.cpp,
- src/PsSpecialHandler.cpp, src/SVGTree.cpp, src/ShadingPatch.cpp,
- src/TensorProductPatch.h, tests/BoundingBoxTest.cpp,
- tests/LengthTest.cpp, tests/ShadingPatchTest.cpp,
- tests/TensorProductPatchTest.cpp, tests/TriangularPatchTest.cpp:
- replaced some enums with enum classes
-
- * clipper/clipper.hpp, src/AGLTable.h, src/BasicDVIReader.cpp,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.h, src/CMap.cpp,
- src/CMap.h, src/CMapReader.cpp, src/CRC32.cpp, src/CRC32.h,
- src/CharMapID.h, src/Character.h, src/Color.cpp, src/Color.h,
- src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp,
- src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/EPSFile.cpp, src/EPSFile.h, src/EncFile.cpp, src/EncFile.h,
- src/FileSystem.cpp, src/FileSystem.h, src/FixWord.h, src/Font.cpp,
- src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp,
- src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/FontManager.h, src/FontMetrics.cpp,
- src/FontMetrics.h, src/GFGlyphTracer.cpp, src/GFGlyphTracer.h,
- src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h,
- src/Glyph.h, src/GlyphTracerMessages.h, src/InputBuffer.cpp,
- src/InputBuffer.h, src/JFM.cpp, src/JFM.h, src/Makefile.am,
- src/Message.h, src/Pair.h, src/PathClipper.cpp, src/PreScanDVIReader.cpp,
- src/PsSpecialHandler.h, src/RangeMap.cpp, src/RangeMap.h,
- src/SVGCharHandler.h, src/SVGCharPathHandler.cpp,
- src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.cpp,
- src/SVGCharTspanTextHandler.h, src/SVGSingleCharTextHandler.cpp,
- src/SVGSingleCharTextHandler.h, src/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 at uos.de>
-
- * src/Bitmap.cpp, src/BoundingBox.h, src/CMapManager.cpp,
- src/CmdLineParserBase.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/DependencyGraph.h,
- src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp,
- src/FileFinder.cpp, src/FilePath.cpp, src/FilePath.h, src/Font.cpp,
- src/FontCache.cpp, src/FontEncoding.cpp, src/FontManager.cpp,
- src/FontMap.cpp, src/FontMap.h, src/GFReader.cpp, src/GFReader.h,
- src/GraphicsPath.h, src/HtmlSpecialHandler.cpp, src/NumericRanges.h,
- src/PSPattern.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp,
- src/SVGTree.h, src/SpecialManager.cpp, src/SpecialManager.h,
- src/Subfont.cpp, src/Subfont.h, src/TpicSpecialHandler.cpp,
- src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/macros.h:
- use range-based 'for' loop to iterate over containers; drop FORALL macro
-
- * clipper/clipper.hpp, src/BgColorSpecialHandler.h, src/Bitmap.cpp,
- src/CMap.h, src/CmdLineParserBase.h, src/ColorSpecialHandler.h,
- src/CommandLine.h, src/DVIReader.h, src/DVIToSVG.h,
- src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/EPSToSVG.h,
- src/EmSpecialHandler.h, src/EncFile.h, src/Font.h, src/FontCache.cpp,
- src/FontEncoding.h, src/FontMetrics.h, src/GFGlyphTracer.h,
- src/GFReader.h, src/GFTracer.h, src/GlyphTracerMessages.h,
- src/GraphicsPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.h,
- src/InputReader.h, src/JFM.h, src/MessageException.h,
- src/NoPsSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h,
- src/PapersizeSpecialHandler.h, src/PathClipper.cpp,
- src/PdfSpecialHandler.h, src/PreScanDVIReader.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h,
- src/SVGCharPathHandler.h, src/SVGCharTspanTextHandler.h, src/SVGOutput.h,
- src/SVGSingleCharTextHandler.h, src/SpecialActions.h, src/TFM.h,
- src/TensorProductPatch.h, src/TpicSpecialHandler.h,
- src/TriangularPatch.h, src/VectorStream.h, src/XMLNode.h:
- mark overridden methods with 'override' keyword
-
- * src/PsSpecialHandler.cpp:
- use unique_ptr rather than deprecated auto_ptr
-
- * src/BasicDVIReader.h, src/Bitmap.h, src/CMap.h, src/CmdLineParserBase.h,
- src/DVIActions.h, src/Font.h, src/FontEncoding.h, src/FontMetrics.h,
- src/GFGlyphTracer.h, src/GFReader.h, src/GFTracer.h, src/GraphicsPath.h,
- src/InputBuffer.h, src/InputReader.h, src/MessageException.h,
- src/PSFilter.h, src/PSInterpreter.h, src/PSPattern.h,
- src/SVGCharHandler.h, src/SVGOutput.h, src/ShadingPatch.h,
- src/SpecialActions.h, src/SpecialHandler.h, src/StreamReader.h,
- src/StreamWriter.h, src/Subfont.h, src/VFActions.h, src/XMLNode.h:
- replaced empty virtual destructors with default ones
-
-2016-07-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BasicDVIReader.h, src/DVIActions.h, src/DVIReader.cpp,
- src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FontManager.cpp,
- src/FontManager.h, src/PreScanDVIReader.h, src/dvisvgm.cpp:
- refactored the DVI reader classes
-- added higher-level template methods
- to process the DVI commands more safely
-- moved triggering of DVIActions
- from DVIReader to DVIToSVG
-
-2016-06-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BoundingBox.cpp, src/BoundingBox.h, src/DVIToSVG.cpp,
- src/dvisvgm.cpp:
- fixed computation of bounding boxes modified by relative --bbox argument
-
- * xxHash/xxhash.c, xxHash/xxhash.h, xxHash/xxhsum.c:
- updated xxHash to version 0.6.1
-
-2016-06-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp:
- minor improvements to TFM/JFM tests
-
-2016-06-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/VectorStream.h, tests/VectorStreamTest.cpp:
- refactored VectorStreamBuffer to keep constness of assigned vector
-
- * src/GFReader.cpp:
- ensure validity of postpost command in GFReader::executePostamble()
-
-2016-06-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DvisvgmSpecialHandler.cpp, src/TFM.cpp, src/VFReader.cpp:
- replaced local definitions of pt2bp with Length::pt2bp
-
- * src/XMLNode.h:
- added ouput operators for the XML node objects
-
- * src/EmSpecialHandler.cpp, src/EmSpecialHandler.h,
- tests/EmSpecialTest.cpp, tests/Makefile.am:
- improved the emTeX special handler; added EmSpecialTest
-
- * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp:
- fixed unit conversion in BoundingBox class
-
-2016-06-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/Length.cpp, src/Length.h, tests/LengthTest.cpp:
- added dd, cc, and sp units to class Length; fixed factor pt2pc
-
-2016-06-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * xxHash/xxhash.c, xxHash/xxhash.h:
- updated xxHash to version 0.6.0
-
- * src/DLLoader.cpp, src/DLLoader.h, src/Directory.cpp, src/Directory.h,
- src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp, src/GFTracer.cpp,
- src/Ghostscript.cpp, src/Ghostscript.h, src/Message.cpp,
- src/MetafontWrapper.cpp, src/Process.cpp, src/Terminal.cpp,
- src/Terminal.h, src/dvisvgm.cpp:
- cleaned up Windows-related #defines
-
- * xxHash/xxhash-fileno.patch, xxHash/xxhsum.c:
- added xxHash test utility 'xxhsum'
-
-2016-06-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CommandLine.cpp:
- removed redundant #includes
-
- * src/Length.cpp, src/Length.h, tests/LengthTest.cpp:
- added functions to convert between Length::Unit and std::string
-
-2016-06-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CMapManager.cpp, src/CMapManager.h, src/DVIActions.h,
- src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.h, src/Font.h,
- src/FontEngine.h, src/FontManager.h, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/PSPattern.h, src/PSPreviewFilter.h,
- src/SVGCharHandler.cpp, src/SVGCharHandler.h, src/SVGCharPathHandler.cpp,
- src/SVGCharTspanTextHandler.cpp, src/SVGSingleCharTextHandler.cpp,
- src/SVGTree.h, src/SpecialActions.h, src/SpecialHandler.h,
- src/SpecialManager.h, src/XMLDocument.cpp, src/XMLNode.h,
- tests/XMLNodeTest.cpp:
- changed some structs to classes and replaced #includes with forward
- declarations
-
- * src/SVGCharHandler.h:
- added missing initializer to class SVGCharHandler
-
-2016-06-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp,
- src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h, src/EPSToSVG.cpp, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.h, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/NoPsSpecialHandler.cpp,
- src/NoPsSpecialHandler.h, src/PSPattern.cpp, src/PSPattern.h,
- src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h,
- src/SpecialManager.cpp, src/SpecialManager.h, src/TpicSpecialHandler.cpp,
- src/TpicSpecialHandler.h, tests/ColorSpecialTest.cpp,
- tests/DvisvgmSpecialTest.cpp:
- refactored handling of SpecialAction objects
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SVGTree.cpp,
- src/SVGTree.h:
- refactored processing of end-of-page (eop) commands
-
- * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/Makefile.am,
- src/PapersizeSpecialHandler.cpp, src/PapersizeSpecialHandler.h,
- src/PsSpecialHandler.cpp, src/dvisvgm.cpp:
- added evaluation of PS special 'papersize='
-
- * CMakeLists.txt:
- updated CMakeLists.txt
-
-2016-06-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVG.cpp:
- fixed transformation of background color rectange
-
-2016-05-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVG.cpp, src/EPSToSVG.cpp:
- reworded messages printed after finishing a conversion
-
-2016-05-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVGActions.cpp, src/Font.cpp, src/Makefile.am,
- src/SVGCharHandler.cpp, src/SVGCharHandler.h,
- src/SVGCharHandlerFactory.cpp, src/SVGCharHandlerFactory.h,
- src/SVGCharPathHandler.cpp, src/SVGCharPathHandler.h,
- src/SVGCharTspanTextHandler.cpp, src/SVGCharTspanTextHandler.h,
- src/SVGSingleCharTextHandler.cpp, src/SVGSingleCharTextHandler.h,
- src/SVGTree.cpp, src/SVGTree.h, src/dvisvgm.cpp:
- replaced static SVG text backend by specialized handler classes
-
- * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bezier.h,
- src/TensorProductPatch.h, src/TriangularPatch.h:
- replaced leading spaces with tabs
-
-2016-05-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BasicDVIReader.cpp, src/DVIReader.cpp:
- fixed handling of subfont index in native font definition of XDV 7
-
-2016-05-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLNode.h,
- tests/DvisvgmSpecialTest.cpp:
- prevent line wrapping inside text nodes
-
-2016-05-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp,
- src/BasicDVIReader.h, src/DVIReader.cpp:
- added support for XDV version 7 introduced by XeTeX 0.99995
-
-2016-05-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TFM.cpp:
- prevent reading more than 7 TFM param values (fixes #58)
-
-2016-05-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/JFM.cpp, src/JFM.h, src/TFM.cpp, src/TFM.h:
- TFM: store design size in bp units rather than as fixword
-
- * src/FontMetrics.h, src/JFM.cpp, src/TFM.cpp, src/TFM.h:
- added methods to query space-related parameters from TFM/JFM files
-
- * src/TFM.cpp, tests/JFMReaderTest.cpp, tests/TFMReaderTest.cpp:
- fixed calculation of character dimensions in TFM class
-
-2016-04-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Process.cpp:
- fixed collecting stdout/stderr output when executing a process
-
-2016-04-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CMap.h, src/CMapReader.cpp, tests/CMapManagerTest.cpp,
- tests/Makefile.am, tests/data/Makefile.am, tests/data/ot1.cmap:
- added CMapManagerTest
-
-2016-04-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.15.1
-
- * NEWS, README, README.md:
- updated NEWS and README
-
-2016-04-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Calculator.cpp, src/Matrix.cpp:
- use std::ws to skip whitespace in istreams
-
- * src/Matrix.cpp:
- avoid adding trailing EOF characters when parsing parameters of
- transformation commands
-
- * tests/CMapReaderTest.cpp:
- improved CMapReaderTest
-
-2016-04-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/AGLTable.h, src/Makefile.am, src/Unicode.cpp, tests/Makefile.am,
- tests/create-makefile, tests/genhashcheck.py:
- moved AGL hash table from Unicode.cpp to a separate file
-
-2016-04-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/XMLDocument.cpp:
- explicitly specify UTF-8 encoding in XML declaration (closes #54)
-
- * src/Unicode.cpp, tests/UnicodeTest.cpp:
- added support for the AGL character names 'uniFOO' and 'uFOO'
-
-2016-03-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GraphicsPath.h:
- renamed GraphicsPath::sconito/scubicto
-
-2016-03-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * NEWS:
- updated NEWS
-
-2016-02-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h,
- src/Font.cpp, src/Font.h, src/SVGTree.cpp, src/SVGTree.h,
- src/dvisvgm.cpp, src/options.xml:
- added option --comments (adds comments with additional information to
- the SVG file
-
- * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp:
- renamed Unicode::psNameToCodepoint() to Unicode::aglNameToCodepoint
-
- * src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp,
- src/FileSystem.h, src/Font.cpp, src/MetafontWrapper.cpp, src/dvisvgm.cpp:
- changed string parameters of FileSystem functions to type std::string
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.15
-
-2016-02-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontEngine.cpp:
- reworded error messages of class FontEngine
-
- * src/MetafontWrapper.cpp, src/Process.cpp:
- avoid reading Metafont logfiles to extract the GF filename
-
- * configure.ac, src/FileFinder.cpp, src/FileFinder.h,
- tests/FileFinderTest.cpp, tests/GFGlyphTracerTest.cpp,
- tests/GFReaderTest.cpp, tests/JFMReaderTest.cpp, tests/Makefile.am,
- tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.600gf,
- tests/cmr10.tfm, tests/create-makefile, tests/data/Makefile.am,
- tests/data/cidjmgr0-h.tfm, tests/data/cmr10.600gf, tests/data/cmr10.tfm,
- tests/data/dvipdfm_test.map, tests/data/dvips_test.map,
- tests/data/frktest-nf-cmp.svg, tests/data/frktest-wf-cmp.svg,
- tests/data/frktest.dvi, tests/data/sample-nf-cmp.svg,
- tests/data/sample-wf-cmp.svg, tests/data/sample.dvi,
- tests/data/sample.sfd, tests/dvipdfm_test.map, tests/dvips_test.map,
- tests/frktest-nf-cmp.svg, tests/frktest-wf-cmp.svg, tests/frktest.dvi,
- tests/sample-nf-cmp.svg, tests/sample-wf-cmp.svg, tests/sample.dvi,
- tests/sample.sfd:
- moved test data files to subfolder
-
-2016-02-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h,
- tests/CommandLineTest.cpp:
- minor improvements of class CommandLineTest
-
- * src/XMLNode.cpp, tests/DvisvgmSpecialTest.cpp:
- improved DvisvgmSpecialTest
-
- * src/FontEngine.cpp, src/FontEngine.h:
- removed redundant code from class FontEngine
-
-2016-02-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp:
- don't remove clipping paths that consist of single moveto commands only
-
-2016-02-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Bitmap.cpp, src/BoundingBox.cpp, src/CMap.cpp, src/CMapManager.cpp,
- src/Calculator.cpp, src/CommandLine.cpp, src/DVIReader.cpp,
- src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp,
- src/Directory.cpp, src/Directory.h, src/EPSToSVG.cpp, src/EncFile.cpp,
- src/FileFinder.cpp, src/Font.cpp, src/FontCache.h, src/FontEngine.cpp,
- src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp,
- src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp,
- src/HtmlSpecialHandler.cpp, src/InputReader.cpp, src/MapLine.cpp,
- src/MetafontWrapper.cpp, src/PSInterpreter.cpp,
- src/PdfSpecialHandler.cpp, src/Process.cpp, src/PsSpecialHandler.cpp,
- src/SVGTree.cpp, src/SpecialManager.cpp, src/StreamReader.cpp,
- src/StreamWriter.cpp, src/Subfont.cpp, src/TFM.cpp,
- src/TensorProductPatch.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp,
- src/XMLDocument.cpp, src/dvisvgm.cpp, tests/XMLStringTest.cpp:
- minor code cleanup (removed redundant includes, added casts)
-
-2016-01-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * m4/ax_code_coverage.m4:
- updated m4 code coverage script to latest version
-
- * src/JFM.h, tests/JFMReaderTest.cpp, tests/Makefile.am,
- tests/TFMReaderTest.cpp, tests/cidjmgr0-h.tfm, tests/cmr10.tfm,
- tests/create-makefile:
- added tests for the TFM and JFM classes
-
-2016-01-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GraphicsPath.h, tests/GraphicsPathTest.cpp:
- fixed access of invalid iterator
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.14.2
-
- * NEWS, README.md:
- updated NEWS
-
-2016-01-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/db2html.xsl:
- updated links to Bootstrap and Font Awesome in stylesheet db2html.xsl
-
- * src/dvisvgm.cpp, xxHash/xxhash.c, xxHash/xxhash.h:
- updated xxHash to version 0.5.0
-
- * tests/Makefile.am, tests/create-makefile, tests/genhashcheck.py:
- added test to check the validity of the char name hashes used in
- Unicode.cpp
-
-2016-01-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/ColorSpecialHandler.cpp,
- src/ColorSpecialHandler.h, tests/ColorSpecialTest.cpp:
- removed check for 'background' special from ColorSpecialHandler
-
-2016-01-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.h, src/FontStyle.h, src/SVGTree.cpp,
- src/TriangularPatch.cpp:
- updated/fixed some comments
-
- * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp,
- src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h:
- corrected handling of background color special across DVI pages
-
-2016-01-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GFReader.cpp, src/GFReader.h:
- added checks for misplaced GF commands
-
- * NEWS:
- updated NEWS
-
-2016-01-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- reset PS graphics state at end of every DVI page
-
-2015-12-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.14
-
- * NEWS:
- updated NEWS
-
-2015-12-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp:
- added evaluation of PSTricks specials 'pst:' and 'PST:'
-
-2015-12-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp:
- lookup files in the current working directory before searching the texmf
- tree
-
- * src/GraphicsPath.h, tests/GraphicsPathTest.cpp:
- fixed memory issue in class GraphicsPath<T>
-
-2015-12-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.h,
- src/PSPreviewFilter.cpp, src/PSPreviewFilter.h, src/PsSpecialHandler.cpp,
- src/SpecialActions.h, src/dvisvgm.cpp:
- added option --bbox=preview; adapt preview data if --bbox=min
-
-2015-12-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp:
- return entire kpathsea version string if it doesn't start with
- 'kpathsea'
-
- * tests/GhostscriptTest.cpp:
- prevent opening a graphics window when running GhostscriptTest
-
-2015-12-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.13
-
- * NEWS:
- updated NEWS
-
- * clipper/clipper.cpp, clipper/clipper.hpp:
- replaced DOS line endings of the Clipper sources to Unix ones
-
-2015-12-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * doc/dvisvgm.txt.in:
- added a couple of links to the manpage
-
- * src/GraphicPath.h, src/PsSpecialHandler.cpp:
- remove redundant moveto commands from graphics paths
-
-2015-11-27 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/DVIToSVGActions.cpp, src/EPSToSVG.cpp:
- remove progress message before printing a PS error message
-
- * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h:
- removed redundant methods
-
-2015-11-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/psdefs.cpp, 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 at 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 at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.12
-
- * NEWS:
- updated NEWS
-
-2015-11-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontManager.cpp:
- removed redundant #include
-
- * src/FontEngine.cpp:
- treat character code as character index if no font mapping is set
-
-2015-11-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- updated links to Google Test framework
-
-2015-11-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp,
- src/HtmlSpecialHandler.cpp, tests/ColorTest.cpp:
- renamed Color::setName() to Color::setPSName()
-
- * tests/Makefile.am, tests/ShadingPatch.cpp, tests/ShadingPatchTest.cpp:
- renamed ShadingPatchTest
-
- * doc/dvisvgm.txt.in, src/Color.cpp, src/Color.h, src/CommandLine.cpp,
- src/CommandLine.h, src/DVIToSVGActions.cpp,
- src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp,
- src/HtmlSpecialHandler.cpp, src/PSPattern.cpp, src/PsSpecialHandler.cpp,
- src/SVGTree.cpp, src/TpicSpecialHandler.cpp, src/dvisvgm.cpp,
- src/options.xml, tests/ColorTest.cpp:
- added option --colornames to replace RGB color values with SVG color
- names
-
-2015-10-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Process.cpp, src/Process.h:
- fixed invalid access to freed string memory
-
-2015-09-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, README, README.md:
- updated NEWS and README files
-
-2015-09-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.11
-
-2015-09-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Font.cpp, src/ToUnicodeMap.cpp, src/Unicode.cpp, src/Unicode.h,
- tests/UnicodeTest.cpp:
- improved handling of invalid Unicode points
-
- * src/Font.cpp, src/Unicode.cpp, src/Unicode.h, tests/UnicodeTest.cpp:
- renamed Unicode::psName2Codepoint to Unicode::psNameToCodepoint
-
-2015-09-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Font.cpp:
- prevent creating 0x00 codepoints if PS character name is unknown
-
- * src/HtmlSpecialHandler.cpp:
- quote XML metacharacters in xlink:title attributes
-
-2015-09-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/SVGTree.cpp:
- force creating a new text element after appending a different node to
- the page
-
-2015-08-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- minor updates to README and README.md
-
-2015-07-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/GhostscriptTest.cpp, tests/Makefile.am:
- added GhostscriptTest
-
- * tests/UnicodeTest.cpp:
- improved UnicodeTest
-
- * tests/CommandLineTest.cpp, tests/MessageExceptionTest.cpp:
- use ASSERT_STREQ in tests
-
-2015-07-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md, doc/dvisvgm.txt.in:
- updated links to project website again (relocated to
- dvisvgm.bplaced.net)
-
-2015-07-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md, doc/dvisvgm.txt.in:
- updated info about new project website
-
-2015-07-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.10
-
- * NEWS:
- updated NEWS
-
-2015-07-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * README.md, doc/dvisvgm.txt.in, src/BasicDVIReader.cpp,
- src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIReader.h, src/Font.h,
- src/FontManager.cpp, src/FontManager.h:
- added support for new XDV format 6
-
-2015-07-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- updated README
-
-2015-07-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/dvisvgm.cpp:
- check for option --help before initializing the FileFinder
-
- * src/MiKTeXCom.cpp:
- added some comments to MiKTeXCom.cpp
-
-2015-07-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/BezierTest.cpp:
- removed #include "debug.h" from test
-
- * Makefile.am, configure.ac, xxHash/LICENSE, xxHash/Makefile.am,
- xxHash/xxhash.c, xxHash/xxhash.h:
- added xxHash library (https://github.com/Cyan4973/xxHash)
-
- * src/Font.cpp, src/Makefile.am, src/Unicode.cpp, src/Unicode.h,
- tests/Makefile.am, tests/create-makefile:
- added mapping from character names to unicode for PostScript fonts
-
-2015-04-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml, configure.ac, src/Doxyfile:
- set version to 1.9.2
-
- * NEWS, README.md:
- updated NEWS and README.md
-
- * src/SVGTree.cpp:
- apply --precision settings to font-size attributes too
-
-2015-04-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/SVGOutputTest.cpp:
- remove output files created by SVGOutputTest::getPageStream()
-
-2015-04-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * README.md:
- minor additions to README.md
-
-2015-03-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GlyphTracerMessages.h:
- always skip tracer message if no glyphs have been traced
-
- * src/GFReader.cpp, src/GFReader.h, tests/GFReaderTest.cpp:
- improved GFReaderTest
-
-2015-03-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GFGlyphTracer.cpp, src/GFTracer.h, tests/GFGlyphTracerTest.cpp,
- tests/Makefile.am:
- ensure GFGlyphTracer::executeChar() returns the correct status; added
- GFGlyphtracerTest
-
- * src/DVIToSVG.cpp:
- avoid retracing of fonts if option --no-fonts is given
-
-2015-03-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/StreamWriterTest.cpp:
- fixed StreamWriterTest
-
- * tests/SVGOutputTest.cpp:
- improved SVGOutputTest
-
-2015-03-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/Makefile.am, tests/ShadingPatch.cpp:
- added ShadingPatchTest
-
-2015-03-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/ShadingPatch.h, src/TensorProductPatch.cpp,
- src/TensorProductPatch.h, src/TriangularPatch.cpp, src/TriangularPatch.h,
- tests/Makefile.am, tests/TriangularPatchTest.cpp:
- added test for class TriangularPatch
-
- * src/Bezier.cpp, src/Bezier.h, src/TensorProductPatch.cpp,
- src/TriangularPatch.cpp, src/TriangularPatch.h,
- tests/TriangularPatchTest.cpp:
- renamed method pointAt() of class Bezier and TriangularPatch to
- valueAt()
-
- * src/TensorProductPatch.h, tests/TensorProductPatchTest.cpp:
- improved TensorProductPatchTest
-
-2015-03-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * autogen.sh:
- updated autogen.sh
-
-2015-03-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h, tests/Makefile.am,
- tests/XMLNodeTest.cpp:
- fixed a few issues in class XMLElementNode; added XMLNodeTest
-
- * 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 at uos.de>
-
- * tests/XMLStringTest.cpp:
- fixed test class name of XMLString
-
-2015-03-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/CRC32Test.cpp:
- added test for 'compute' methods of class CRC32
-
- * tests/GraphicPathTest.cpp:
- extended tests of class GraphicPath
-
-2015-03-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/StreamReaderTest.cpp:
- exteded StreamReader tests
-
-2015-03-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/XMLString.cpp, tests/Makefile.am, tests/XMLStringTest.cpp:
- fixed conversion from C and C++ strings to XMLString; added
- XMLStringTest
-
- * .gitignore:
- added .gitignore
-
-2015-03-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Bitmap.cpp, src/Bitmap.h, tests/BitmapTest.cpp,
- tests/GFReaderTest.cpp, tests/Makefile.am:
- small refactorings of class Bitmap; added tests for class Bitmap
-
- * src/BoundingBox.cpp, src/BoundingBox.h, tests/BoundingBoxTest.cpp:
- improved BoundingBox tests
-
-2015-03-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml:
- Travis conf: added configuration data for Coverity Scan
-
- * README.md:
- added license badge to README.md
-
-2015-02-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, README.md:
- updated NEWS and README.md
-
-2015-02-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Calculator.cpp:
- replaced while(1) with for(;;) for consistency
-
-2015-02-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.9.1
-
-2015-02-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Ghostscript.cpp:
- disable lookup of GS library in Windows registry for old gcc versions
-
-2015-02-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/SVGOutput.cpp, src/SVGOutput.h,
- tests/Makefile.am, tests/SVGOutputTest.cpp, tests/create-makefile:
- added width specifiers and exression evaluation to --output patterns
-
- * doc/dvisvgm.txt.in:
- minor additions and formatting changes of the manpage
-
- * doc/Makefile.am, doc/conf-dblatex-man.xsl, doc/conf-dblatex-pdf.xsl,
- doc/dvisvgm.sty, doc/dvisvgm.xpr, doc/tweak-dblatex-pdf.xsl:
- improved the layout of the pdf manpage
-
- * doc/Makefile.am, doc/db2html.xsl, doc/dvisvgm.css:
- create html manpage with a separate stylesheet matching the new website
- theme
-
-2015-02-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * .travis.yml:
- added configuration file for Travis CI
-
- * .travis.yml:
- added dependency 'python-lxml' to Travis configuration
-
- * .travis.yml:
- added dependency 'libgtest-dev' to Travis configuration; ensure call of
- 'make check'
-
- * .travis.yml:
- Travis conf: added missing call of 'configure'
-
- * .travis.yml:
- Travis conf: build gtest libraries since Ubuntu doesn't provide the
- binaries
-
-2015-02-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TpicSpecialHandler.cpp:
- use constant M_PI rather than computing PI locally
-
-2015-02-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * README, README.md:
- updated README and README.md
-
-2015-01-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TensorProductPatch.cpp, src/TriangularPatch.cpp:
- renamed static helper function clip() to snap()
-
-2015-01-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.cpp:
- resolved ambiguous call of pow (patch by Peter Breitenlohner)
-
-2015-01-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/VectorIterator.h:
- removed redundant method VectorIterator::distanceToLast()
-
-2014-12-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * Makefile.am, README, README.md, configure.ac, doc/Makefile.am,
- doc/dvisvgm.txt.in, src/BasicDVIReader.cpp, src/BasicDVIReader.h,
- src/Bezier.cpp, src/Bezier.h, src/BgColorSpecialHandler.cpp,
- src/BgColorSpecialHandler.h, src/Bitmap.cpp, src/Bitmap.h,
- src/BoundingBox.cpp, src/BoundingBox.h, src/CMap.cpp, src/CMap.h,
- src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp,
- src/CMapReader.h, src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp,
- src/Calculator.h, src/CharMapID.cpp, src/CharMapID.h, src/Character.h,
- src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp,
- src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h,
- src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp,
- src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/DependencyGraph.h, src/Directory.cpp, src/Directory.h,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h,
- src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp,
- src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp,
- src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp,
- src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp,
- src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h,
- src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp,
- src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h,
- src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h,
- src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h,
- src/Length.cpp, src/Length.h, src/Makefile.am, src/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 at uos.de>
-
- * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/ShadingPatch.h,
- src/TensorProductPatch.cpp, src/TensorProductPatch.h,
- src/TriangularPatch.cpp, src/TriangularPatch.h, src/dvisvgm.cpp,
- src/options.xml:
- added command-line options --grad-overlap, --grad-segments, and
- --grad-simplify
-
- * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EPSToSVG.cpp,
- src/EPSToSVG.h, src/SpecialActions.h, src/SpecialManager.cpp,
- src/dvisvgm.cpp:
- show PS instruction counter when processing EPS files with option
- --progress
-
- * src/dvisvgm.cpp:
- clear line before printing the message about user interruption to avoid
- trailing text fragments
-
- * configure.ac, src/Doxyfile:
- set version to 1.9
-
- * NEWS:
- updated NEWS
-
-2014-12-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp:
- check validity of DVI file before trying to collect the BOPs
-
-2014-12-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Makefile.am, src/TriangularPatch.cpp, src/TriangularPatch.h:
- added class to compute triangular shading patches
-
- * src/Makefile.am, src/PsSpecialHandler.cpp, src/ShadingPatch.cpp,
- src/ShadingPatch.h, src/TensorProductPatch.cpp, src/TensorProductPatch.h:
- extracted common interface class ShadingPatch from TensorProductPatch
-
- * src/Color.cpp, src/Color.h, src/Makefile.am, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/VectorIterator.h, src/psdefs.cpp,
- src/psdefs.ps:
- extended PS operator 'shfill' to support triangular patch meshes
-
-2014-12-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- added processing of the optional 'BBox' entry in a PS shading dictionary
-
-2014-12-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp,
- src/options.xml:
- disable option --clipjoin if PS support is disabled
-
- * src/Color.cpp, tests/ColorSpecialTest.cpp, tests/ColorTest.cpp:
- fixed CMYK to RGB approximation
-
-2014-11-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/psdefs.cpp, 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 at uos.de>
-
- * README.md:
- added list of features and a download button to README.md
-
-2014-11-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/MiKTeXCom.cpp:
- added missing includes to make MinGW-w64 happy
-
-2014-11-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * clipper/clipper.cpp, clipper/clipper.hpp:
- updated clipper library to version 6.2.1
-
-2014-11-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Bezier.cpp, src/Bezier.h, src/BoundingBox.h, src/GraphicPath.h,
- src/Makefile.am, src/TensorProductPatch.cpp, src/TensorProductPatch.h,
- tests/Makefile.am, tests/TensorProductPatchTest.cpp:
- added code to compute tensor-product patches required for gradient fills
-
-2014-11-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Matrix.cpp:
- use constant M_PI rather than defining PI locally
-
-2014-10-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp,
- src/PsSpecialHandler.cpp, tests/ColorTest.cpp:
- replaced float by double in class Color
-
- * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp,
- src/DVIReader.cpp, src/HtmlSpecialHandler.cpp, src/PsSpecialHandler.cpp,
- tests/ColorTest.cpp:
- renamed RGB setters/getters of class Color
-
- * src/Color.cpp, src/Color.h:
- replaced vectors with valarrays in class Color
-
- * src/Color.cpp, src/Color.h, tests/ColorTest.cpp:
- added deltaE and L*a*b* color space methods to class Color
-
-2014-10-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * clipper/clipper.cpp, clipper/clipper.hpp:
- updated clipper library to version 6.2.0
-
- * src/GraphicPath.h, src/PathClipper.cpp, src/PathClipper.h,
- src/XMLNode.h:
- fixed a couple of doxygen comments; removed redundant
- PathClipperException
-
-2014-10-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CommandLine.cpp:
- updated CommandLine.cpp with description of option --no-merge
-
- * src/Ghostscript.cpp:
- try to lookup the location of the GS DLL in the Windows registry
-
-2014-10-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/options.xml:
- added info about option --no-merge to the manpage
-
-2014-09-24 Khaled Hosny <khaled.hosny at hindawi.com>
-
- * src/Makefile.am:
- Add an opt2cpp Python script
-
-A very ugly script that should work as a
- drop in replacement for the
-opt2cpp XSLT.
-
-2014-09-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- ensure that colors set by a color special are always considered by the
- PS handler
-
-2014-09-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BasicDVIReader.cpp, src/DVIReader.cpp, src/FontCache.cpp,
- src/GFReader.cpp, src/dvisvgm.cpp:
- replaced namespace 'ios_base' with 'ios'
-
-2014-08-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp:
- added missing whitespace boundaries in PS code
-
- * src/FontEngine.cpp, tests/PageRagesTest.cpp:
- removed unused static functions
-
- * configure.ac, src/Doxyfile:
- set version to 1.8.1
-
- * NEWS:
- updated NEWS
-
-2014-08-20 Khaled Hosny <khaled.hosny at 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 at uos.de>
-
- * src/DVIToSVG.cpp, src/DependencyGraph.h, src/Makefile.am,
- src/SVGTree.cpp, src/SVGTree.h, src/XMLNode.cpp, src/XMLNode.h,
- tests/DependencyGraphTest.cpp, tests/Makefile.am:
- remove redundant clipPath elements from generated SVG files
-
-2014-08-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PSPattern.cpp, src/XMLNode.cpp, src/XMLNode.h:
- renamed XMLElementNode::findDescendants() and made it constant
-
-2014-08-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/Makefile.am, tests/create-makefile:
- link tests against FreeType library
-
-2014-08-10 Khaled Hosny <khaledhosny at 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 at 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 at uos.de>
-
- * README.md:
- minor fixes to README.md
-
-2014-07-31 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * NEWS:
- updated NEWS
-
-2014-07-28 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at eglug.org>
-
- * src/FontEngine.cpp:
- free existing FT_Face before creating a new one
-
-2014-07-18 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/Ghostscript.cpp:
- get proper name of Ghostscript library when building for Cygwin
-
-2014-06-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * README.md:
- added markdown version of README
-
-2014-06-20 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- added clear() to XMLNode classes; added XMLTextNode::getText()
-
-2014-06-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/InputReader.cpp, src/InputReader.h:
- added InputReader::getLine()
-
- * src/DVIToSVG.cpp, src/SpecialHandler.h, src/SpecialManager.cpp,
- src/SpecialManager.h:
- added listener to allow SpecialHandlers being notified when
- pre-processing has finished
-
-2014-06-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/SpecialActions.h, tests/ColorSpecialTest.cpp:
- renamed class SpecialEmptyActions to EmptySpecialActions
-
-2014-06-09 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/DVIReader.cpp,
- src/DVIReader.h, src/Makefile.am:
- moved basic funtionality of DVIReader to base class BasicDVIReader
-
- * src/BasicDVIReader.h, src/DVIReader.cpp, src/DVIToSVG.cpp,
- src/DVIToSVG.h, src/dvisvgm.cpp:
- moved call of executePreamble() and executePostamble() from DVIToSVG to
- DVIReader
-
- * src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am,
- src/PreScanDVIReader.cpp, src/PreScanDVIReader.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h,
- src/SpecialManager.cpp, src/SpecialManager.h, src/StreamReader.cpp,
- src/StreamReader.h:
- pre-process DVI file to collect required data not present in the page
- ranges to be converted
-
- * src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp,
- src/SpecialManager.cpp, src/SpecialManager.h, src/dvisvgm.cpp:
- made class SpecialManager a singleton
-
- * src/BasicDVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h:
- allow to replace the DVI reader assigned to an instance of
- DVIToSVGActions
-
- * doc/dvisvgm.txt.in, src/BasicDVIReader.h, src/DVIToSVG.cpp,
- src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/EPSToSVG.cpp, src/EPSToSVG.h, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/PreScanDVIReader.cpp,
- src/PreScanDVIReader.h, src/SpecialActions.h:
- process hyperref anchors and links across pages
-
- * src/BasicDVIReader.cpp, src/BasicDVIReader.h, src/Bitmap.h,
- src/BoundingBox.h, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h,
- src/CMapReader.h, src/CRC32.h, src/Calculator.cpp, src/Calculator.h,
- src/CmdLineParserBase.h, src/Color.cpp, src/ColorSpecialHandler.cpp,
- src/ColorSpecialHandler.h, src/CommandLine.cpp, src/CommandLine.h,
- src/DLLoader.h, src/DVIReader.cpp, src/DVIToSVG.h, src/DVIToSVGActions.h,
- src/Directory.h, src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.h, src/EncFile.h, src/FileFinder.h,
- src/FileSystem.cpp, src/Font.cpp, src/Font.h, src/FontCache.h,
- src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h,
- src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFReader.cpp,
- src/GFReader.h, src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h,
- src/GraphicPath.h, src/HtmlSpecialHandler.h, src/InputBuffer.cpp,
- src/InputBuffer.h, src/JFM.h, src/Length.cpp, src/Length.h,
- src/MapLine.cpp, src/MapLine.h, src/Matrix.cpp, src/Matrix.h,
- src/MessageException.h, src/MetafontWrapper.cpp, src/MetafontWrapper.h,
- src/NoPsSpecialHandler.h, src/NumericRanges.h, src/PSInterpreter.h,
- src/PSPattern.h, src/PSPreviewFilter.h, src/PageRanges.h, src/PageSize.h,
- src/Pair.h, src/PdfSpecialHandler.cpp, src/PdfSpecialHandler.h,
- src/Process.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h,
- src/SVGTree.h, src/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 at 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 at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * src/SVGTree.cpp:
- don't add unnecessary element 'missing-glyph' to SVG files
-
-2014-04-24 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.6
-
-2014-04-21 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.h:
- ensure updating the SVG cursor position when executing DVI command
- set_rule
-
-2014-01-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Ghostscript.cpp:
- check if library given by --libgs is actually a GS library
-
-2014-01-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS:
- updated NEWS
-
-2014-01-03 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h,
- src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h,
- src/CMapReader.cpp, src/CMapReader.h, src/CRC32.cpp, src/CRC32.h,
- src/Calculator.cpp, src/Calculator.h, src/CharMap.cpp, src/CharMap.h,
- src/CharMapID.cpp, src/CharMapID.h, src/Character.h,
- src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp,
- src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h,
- src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h,
- src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h,
- src/EPSFile.cpp, src/EPSFile.h, src/EPSToSVG.cpp, src/EPSToSVG.h,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/EncFile.cpp,
- src/EncFile.h, src/FileFinder.cpp, src/FileFinder.h, src/FilePath.cpp,
- src/FilePath.h, src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp,
- src/Font.h, src/FontCache.cpp, src/FontCache.h, src/FontEncoding.cpp,
- src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/FontManager.h, src/FontMap.cpp, src/FontMap.h,
- src/FontMetrics.cpp, src/FontMetrics.h, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp,
- src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h,
- src/GlyphTracerMessages.h, src/GraphicPath.h, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h,
- src/InputReader.cpp, src/InputReader.h, src/JFM.cpp, src/JFM.h,
- src/Length.cpp, src/Length.h, src/Makefile.am, src/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 at 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 at 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 at 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 at uos.de>
-
- * NEWS:
- updated NEWS
-
-2013-10-28 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/DVIToSVG.cpp:
- suppress output of logical page number if it equals physical page number
-
-2013-10-16 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/Bitmap.cpp, src/BoundingBox.cpp,
- src/CMap.cpp, src/CMapManager.cpp, src/CMapReader.cpp, src/CRC32.cpp,
- src/Calculator.cpp, src/CharMap.cpp, src/CmdLineParserBase.cpp,
- src/Color.cpp, src/ColorSpecialHandler.cpp, src/CommandLine.cpp,
- src/CommandLine.h, src/DLLoader.cpp, src/DVIActions.cpp,
- src/DVIReader.cpp, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp,
- src/Directory.cpp, src/DvisvgmSpecialHandler.cpp, src/EPSFile.cpp,
- src/EPSToSVG.cpp, src/EmSpecialHandler.cpp, src/EncFile.cpp,
- src/FileFinder.cpp, src/FilePath.cpp, src/FileSystem.cpp, src/Font.cpp,
- src/FontCache.cpp, src/FontEncoding.cpp, src/FontEngine.cpp,
- src/FontManager.cpp, src/FontMap.cpp, src/FontMetrics.cpp,
- src/GFGlyphTracer.cpp, src/GFReader.cpp, src/GFTracer.cpp,
- src/Ghostscript.cpp, src/Ghostscript.h, src/HtmlSpecialHandler.cpp,
- src/InputBuffer.cpp, src/InputReader.cpp, src/JFM.cpp, src/Length.cpp,
- src/MapLine.cpp, src/Matrix.cpp, src/Message.cpp,
- src/MetafontWrapper.cpp, src/MiKTeXCom.cpp, src/NoPsSpecialHandler.cpp,
- src/PSInterpreter.cpp, src/PSPattern.cpp, src/PSPreviewFilter.cpp,
- src/PageRanges.cpp, src/PageSize.cpp, src/PdfSpecialHandler.cpp,
- src/Process.cpp, src/PsSpecialHandler.cpp, src/SVGTree.cpp,
- src/SignalHandler.cpp, src/SpecialManager.cpp, src/StreamReader.cpp,
- src/StreamWriter.cpp, src/Subfont.cpp, src/System.cpp, src/TFM.cpp,
- src/Terminal.cpp, src/TpicSpecialHandler.cpp, src/VFReader.cpp,
- src/XMLDocument.cpp, src/XMLNode.cpp, src/XMLString.cpp, src/dvisvgm.cpp:
- include config.h at the top of every translation unit
-
- * src/DLLoader.h, src/Directory.h:
- moved #define NOMINMAX to Windows config.h
-
- * configure.ac, src/Doxyfile:
- set version to 1.5
-
- * NEWS:
- updated NEWS
-
-2013-08-30 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/CharMap.cpp, src/CharMap.h, src/Font.cpp, src/Font.h,
- src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/Makefile.am:
- replaced local std::map tables used in Font classes with new class
- CharMap
-
-2013-08-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/XMLString.cpp:
- replace very small floating point numbers by 0
-
-2013-08-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp:
- suppress error messages from makeFOO tools
-
-2013-08-13 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/Matrix.cpp, src/Matrix.h:
- renamed Matrix skewing methods
-
-2013-08-04 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/CMapManager.cpp, src/CMapManager.h, src/FontManager.cpp:
- avoid const_cast in CMapManager
-
-2013-08-02 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/CMap.cpp, src/CMap.h, src/CMapManager.cpp, src/CMapManager.h,
- src/CMapReader.cpp, src/CMapReader.h, src/FontManager.cpp,
- src/Makefile.am, tests/CMapTest.cpp, tests/Makefile.am:
- added classes to handle CMap files
-
- * src/CMap.cpp, src/CMap.h, src/CMapManager.h, src/EncFile.cpp,
- src/EncFile.h, src/FileFinder.cpp, src/Font.cpp, src/Font.h,
- src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp,
- src/FontEngine.h, src/FontManager.cpp, src/Makefile.am,
- tests/CMapTest.cpp:
- derive .enc encoding vectors and CMaps from common base class
- FontEncoding
-
- * src/CMap.cpp, src/CMap.h, src/Character.h, src/EncFile.h, src/Font.cpp,
- src/Font.h, src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/Makefile.am, tests/CMapTest.cpp:
- added Character class to handle character names, codes, and indexes
- consistently
-
- * src/FileFinder.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp:
- added support for OTF fonts
-
- * src/Font.cpp, src/Font.h, src/FontMetric.cpp, src/FontMetric.h,
- src/FontMetrics.cpp, src/FontMetrics.h, src/Makefile.am, src/TFM.h:
- renamed class FontMetric to FontMetrics
-
- * src/CMap.cpp, src/CMap.h, src/CMapReader.cpp, src/CMapReader.h,
- tests/CMapReaderTest.cpp, tests/CMapTest.cpp, tests/Makefile.am:
- added evaluation of base font (bf) sections in CMap files
-
- * src/CMap.h, src/CMapManager.cpp, src/CMapManager.h, src/CMapReader.cpp,
- src/CharMapID.cpp, src/CharMapID.h, src/Font.cpp, src/Font.h,
- src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp,
- src/FontMap.cpp, src/FontMap.h, src/Makefile.am:
- try to decode characters of non-CID fonts that have a CMap assigned in
- the fontmap
-
-2013-07-27 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/psdefs.cpp, src/psdefs.ps:
- replaced PS operator prval with =only in psdefs
-
-2013-07-17 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp:
- command-line parser: changed type of argument mode from char to enum
-
-2013-06-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp:
- removed redundant 'using namespace std'
-
-2013-06-03 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp,
- src/ColorSpecialHandler.h, src/SpecialActions.h,
- tests/ColorSpecialTest.cpp, tests/ColorTest.cpp, tests/Makefile.am:
- use Color class in ColorSpecialHandler rather than local code; added
- ColorTest
-
-2013-05-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/dvisvgm.cpp:
- added a missing (underlining) hyphen to the output of -V1
-
-2013-05-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Font.cpp, src/Font.h, src/FontManager.h, src/FontMetric.cpp,
- src/FontMetric.h, src/Makefile.am, src/TFM.cpp, src/TFM.h:
- handle invalid TFM files properly
-
- * src/Font.cpp, src/FontMetric.cpp, src/FontMetric.h, src/JFM.cpp,
- src/JFM.h, src/Makefile.am, src/StreamReader.h, src/TFM.cpp, src/TFM.h:
- added support for Japanese font metric (JFM) files
-
- * src/FileFinder.cpp, src/MiKTeXCom.cpp, src/MiKTeXCom.h, src/dvisvgm.cpp:
- try to load the Ghostscript library that comes with MiKTeX
-
- * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/HtmlSpecialHandler.cpp,
- src/HtmlSpecialHandler.h, src/Makefile.am, src/SpecialManager.cpp:
- added support of hyperref specials
-
- * doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h,
- src/HtmlSpecialHandler.cpp, src/dvisvgm.cpp, src/options.xml:
- added option --linkmark to select the highlighing variant for hyperlinks
-
- * configure.ac, src/Doxyfile:
- set version to 1.3
-
- * NEWS:
- updated NEWS
-
-2013-05-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * AUTHORS, Makefile.am, README, configure.ac, potracelib/Makefile.am,
- potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h,
- potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h,
- potracelib/progress.h, potracelib/trace.c, potracelib/trace.h:
- removed bundled potrace library
-
- * src/SVGTree.cpp, src/SVGTree.h:
- added methods to push and pop 'context elements' to a page that wrap
- parts of the page contents
-
- * src/DVIToSVGActions.h, src/EPSToSVG.h, src/SpecialActions.h:
- provide the context push/pop methods of class SVGTree to special
- handlers
-
- * src/InputReader.cpp, src/InputReader.h:
- added optional parameter 'quotechar' to InputReader::parseAttributes()
-
- * src/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 at 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 at uos.de>
-
- * src/DVIToSVG.cpp:
- don't link NoPsSpecialHandler if HAVE_LIBGS
-
-2013-04-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontEncoding.cpp:
- fixed bracketing bug that prevented lookup of fontmap files
-
-2013-04-24 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * src/FileFinder.cpp, src/dvisvgm.cpp:
- catch MessageException if MiKTeX version can't be obtained
-
-2013-04-09 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- unhide derived method XMLDeclarationNode::append
-
-2013-03-10 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h,
- potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h,
- potracelib/progress.h, potracelib/trace.c, potracelib/trace.h:
- updated bundled potrace library to version 1.11
-
-2013-03-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/decompose.h, potracelib/lists.h, potracelib/progress.h,
- potracelib/trace.c, potracelib/trace.h, src/EPSFile.cpp,
- src/EPSToSVG.cpp, src/EPSToSVG.h, src/PSPattern.cpp, src/PSPattern.h,
- src/SVGOutputBase.h:
- converted DOS line endings
-
-2013-02-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Makefile.am, src/PSInterpreter.cpp, src/PSInterpreter.h,
- src/PSPattern.cpp, src/PSPattern.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/psdefs.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 at 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 at 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 at uos.de>
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp,
- src/CommandLine.h:
- applied a few refactorings to the command-line parser
-
-2013-02-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h,
- src/CommandLine.cpp, src/CommandLine.h, src/dvisvgm.cpp, src/options.xml:
- added optional parameter to option --help to specify output format
-
-2013-02-06 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/CommandLine.cpp:
- fixed alignment of --help text
-
-2013-01-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp, src/Font.cpp,
- src/Font.h, src/FontEncoding.cpp, src/FontEngine.cpp, src/FontEngine.h,
- src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/Makefile.am,
- src/MapLine.cpp, src/MapLine.h, src/Subfont.cpp, src/Subfont.h,
- tests/FontMapTest.cpp, tests/Makefile.am, tests/MapLineTest.cpp,
- tests/SubfontTest.cpp, tests/create-makefile, tests/sample.sfd:
- added support for subfont definitions and multi-font (.ttc) files
-
- * src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h, src/MapLine.h:
- replaced FontMap entries by pointers; initialize entries with MapLine
- objects
-
- * src/CommandLine.cpp, src/Font.cpp, src/Font.h, src/FontEngine.cpp,
- src/FontEngine.h, src/FontManager.cpp, src/FontMap.cpp, src/FontMap.h,
- src/MapLine.cpp, src/MapLine.h, tests/MapLineTest.cpp:
- implemented evaluation of font style options given in a mapline
-
- * configure.ac, src/Doxyfile:
- set version to 1.1
-
- * NEWS, README:
- updated NEWS and README
-
-2013-01-20 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at uos.de>
-
- * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h,
- src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h,
- src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp,
- src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h,
- src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h,
- src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp,
- src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp,
- src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp,
- src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h,
- src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp,
- src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp,
- src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h,
- src/GlyphTracerMessages.h, src/GraphicPath.h, src/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 at 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 at 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 at uos.de>
-
- * src/Ghostscript.cpp:
- added explicit cast to avoid signed/unsigned comparison warning
-
-2012-12-02 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/Message.cpp:
- handle wrapping of messages containing newlines correctly
-
-2012-11-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DLLoader.cpp, src/DLLoader.h, src/Ghostscript.cpp:
- renamed DLLoader::loadFunction() to DLLoader::loadSymbol()
-
-2012-11-19 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Directory.h:
- undefine macro max() to avoid compilation problems on Windows
-
-2012-11-15 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * src/gfprint.mak:
- fixed bugs in gfprint, and added gfprint.mak for easier builds
-
-2012-04-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am:
- keep manpage when calling 'make clean' or 'make distclean'
-
-2012-04-04 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Matrix.cpp, src/Matrix.h, tests/MatrixTest.cpp:
- added Matrix::invert() and det()
-
-2012-03-29 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/psdefs.ps, src/psdefs.psc:
- evaluate PS operators rectclip, rectfill, and rectstroke
-
-2012-03-09 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.0.11
-
-2012-03-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVGActions.cpp:
- correct location of a rule's bounding box (lp bug #948713)
-
-2012-02-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in:
- fixed a couple of mistakes and formatting flaws in the manpage
-
-2012-02-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * README:
- updated information about bug reporting
-
-2012-01-26 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h,
- src/CRC32.cpp, src/CRC32.h, src/Calculator.cpp, src/Calculator.h,
- src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Color.cpp,
- src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/CommandLine.cpp, src/CommandLine.h, src/DLLoader.cpp, src/DLLoader.h,
- src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp, src/DVIReader.h,
- src/DVIToSVG.cpp, src/DVIToSVG.h, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/Directory.cpp, src/Directory.h,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.h, src/FileFinder.cpp,
- src/FileFinder.h, src/FilePath.cpp, src/FilePath.h, src/FileSystem.cpp,
- src/FileSystem.h, src/Font.cpp, src/Font.h, src/FontCache.cpp,
- src/FontCache.h, src/FontEncoding.cpp, src/FontEncoding.h,
- src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp,
- src/FontManager.h, src/FontMap.cpp, src/FontMap.h, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.h, src/GFReader.cpp, src/GFReader.h, src/GFTracer.cpp,
- src/GFTracer.h, src/Ghostscript.cpp, src/Ghostscript.h, src/Glyph.h,
- src/GlyphTracerMessages.h, src/GraphicPath.h, src/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 at 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 at 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 at uos.de>
-
- * src/GraphicPath.h:
- added some more comments to the methods of GraphicPath
-
-2011-11-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac:
- move linker flag -lfreetype from LDFLAGS to LIBS to avoid linking
- problems
-
-2011-10-28 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * NEWS:
- updated NEWS
-
-2011-10-09 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * doc/Makefile.am:
- add metadata/pdfmarks to pdf version of manpage
-
-2011-09-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h,
- potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h,
- potracelib/progress.h, potracelib/trace.c, potracelib/trace.h:
- updated bundled potrace library to version 1.10
-
-2011-06-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.0.9dev
-
- * src/FileFinder.cpp, src/MetafontWrapper.cpp:
- fixed segfault occured in TeX Live Win32 caused by mf.exe being
- unavailable (SF bug #3308473)
-
-2011-05-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, configure.ac, src/Doxyfile:
- set version to 1.0.8; updated NEWS
-
- * src/PsSpecialHandler.cpp:
- explicitly cast double to int in call of ClippingStack::dup()/pop()
-
-2011-05-27 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Font.cpp, src/Makefile.am, src/MetafontWrapper.cpp,
- src/MetafontWrapper.h, src/Process.cpp, src/Process.h,
- src/SignalHandler.cpp:
- replaced call of system() with Process::run() and kill child process if
- necessary
-
-2011-05-22 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/DLLoader.h:
- added #undef NOMINMAX before (re)defining it
-
-2011-05-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/psdefs.ps, src/psdefs.psc,
- tests/PSInterpreterTest.cpp:
- PS handler: implemented evaluation of save, restore, and grestoreall
-
-2011-05-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, src/Doxyfile:
- set version to 1.0.8dev
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVGActions.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialActions.h:
- fixed interaction between PS and DVI drawing position
-
- * src/PsSpecialHandler.cpp:
- add definitions in literal PS headers to dictionary TeXDict
-
- * src/PsSpecialHandler.cpp:
- fixed potential segfault caused by invisible zero-length paths
-
-2011-05-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at 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 at 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 at 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 at uos.de>
-
- * src/psdefs.ps, src/psdefs.psc:
- PS handler: recognize save/restore operators
-
-2011-04-30 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * src/XMLNode.cpp, src/XMLNode.h:
- prepended member variables of the XMLNode classes with underscore
-
-2011-04-09 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * pull-wiki:
- updated rsync parameters in 'pull-wiki'
-
-2011-03-04 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * src/InputBuffer.h:
- reference to scanned string in StringInputBuffer is constant now
-
-2011-02-10 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/CmdLineParserBase.cpp:
- print character instead of ascii value in message of command-line parser
-
-2011-01-30 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h,
- potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h,
- potracelib/progress.h, potracelib/trace.c, potracelib/trace.h:
- updated bundled potrace library to version 1.9
-
-2011-01-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/dvisvgm.cpp:
- moved cache files to subfolder ($HOME/.dvisvgm/cache)
-
-2011-01-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * Makefile.am, README, configure.ac, doc/Makefile.am, doc/dvisvgm.txt.in,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h,
- src/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 at 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 at uos.de>
-
- * src/FileFinder.cpp:
- updated to MiKTeX 2.8 SDK
-
-2010-08-18 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * tests/Makefile.am, tests/PairTest.cpp:
- added PairTest
-
-2010-08-05 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp:
- added check of DVI format version
-
-2010-07-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- restore transformation matrix after execution of psfile
-
-2010-07-13 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- set version to 1.0.2dev
-
-2010-06-11 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * configure.ac:
- fixed whitespace issue in CPPFLAGS and LDFLAGS
-
-2010-05-04 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/FontEncoding.cpp:
- fixed memory bug in FontEncoding::encoding()
-
-2010-04-11 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * fedora/dvisvgm.spec:
- updated spec file
-
-2010-03-24 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * src/DVIToSVG.cpp:
- added evaluation of literal PS headers to PSHeaderActions
-
-2010-02-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/psdefs.ps, src/psdefs.psc:
- removed PS error handler nocurrentpoint
-
-2010-02-02 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * tests/check-conv:
- skip conversion checks by default
-
-2010-01-31 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at uos.de>
-
- * src/CommandLine.cpp, src/options.dtd, src/options.xml:
- added DTD for options.xml
-
-2010-01-17 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/InputReader.cpp:
- fixed bug in InputReader::parseUInt()
-
-2009-12-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, src/dvisvgm.cpp:
- appied get_time patch sent by Peter Breitenlohner
-
-2009-12-02 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/DVIToSVG.cpp:
- avoid scaling by 1 in use elements
-
-2009-11-18 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * fedora/dvisvgm.spec:
- updated spec file
-
-2009-11-09 Martin Gieseking <martin.gieseking at 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 at 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 at uos.de>
-
- * src/DVIToSVGActions.cpp, src/Font.cpp, src/Font.h:
- fixed positioning of italic characters
-
-2009-10-18 Martin Gieseking <martin.gieseking at 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 at 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 at 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 at 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 at 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 at uos.de>
-
- * src/PsSpecialHandler.cpp:
- scale clipping paths by 72.27/72
-
-2009-10-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Bitmap.h:
- fixed bit shift overflow in Bitmap class occured on 64-bit systems
-
- * autogen.sh, prepare:
- prepare script replaced by autogen.sh
-
- * 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 at uos.de>
-
- * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/CommandLine.cpp,
- src/CommandLine.h, src/DVIToSVG.cpp, src/DVIToSVG.h, src/dvisvgm.cpp,
- src/options.xml, tests/CommandLineTest.h, tests/Makefile.am:
- cmdline parameter --bbox can now be used to set the absolute bounding
- box
-
- * NEWS, src/GraphicPath.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h:
- PS clipping path sequences and intersections are now handled correctly
-
- * src/MetafontWrapper.cpp:
- fixed file permissions
-
- * src/dvisvgm.cpp:
- fixed uncaught PageSizeException
-
-2009-10-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, doc/dvisvgm.txt.in, src/BoundingBox.cpp, src/BoundingBox.h,
- src/DvisvgmSpecialHandler.cpp:
- added the special variant 'dvisvgm:bbox abs' and 'dvisvgm:bbox fix'
-
- * src/BoundingBox.cpp, src/BoundingBox.h, src/Length.cpp, src/Length.h,
- src/Makefile.am, tests/LengthTest.h:
- class Length provides length unit calculations
-
-2009-10-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BoundingBox.cpp, src/BoundingBox.h, src/GraphicPath.h,
- src/PSInterpreter.cpp, src/PSInterpreter.h, src/PsSpecialHandler.cpp,
- src/PsSpecialHandler.h, src/psdefs.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 at uos.de>
-
- * src/PsSpecialHandler.cpp:
- convert PS path coordinated to TeX point units
-
- * NEWS, src/PsSpecialHandler.cpp:
- fixed another positioning bug reported by John Bowman
-
-2009-10-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GraphicPath.h, src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- corrected positioning bug introduced with previous PS positioning fix
-
-2009-10-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am, doc/dvisvgm.txt.in:
- generate pdf manpage directly with groff; adapted manpage source to work
- with latest asciidoc
-
-2009-10-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am, doc/dvisvgm.txt.in:
- replaced backticks in manpage by apostrophes; updated date on homepage
-
-2009-09-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in:
- added dvisvgm:raw example to man page
-
- * LGPL-2.1.txt, NEWS, README:
- updated README and NEWS, and added file with LGPL license text
-
- * Makefile.am, configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- increased version number to 0.8.5
-
-2009-09-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS:
- added cretdit to John Bowman for sending a patch for the already fixed
- clipping bug
-
- * src/PsSpecialHandler.h:
- increased the default linewidth to 0.5
-
- * fedora/dvisvgm.spec:
- updated spec file and fixed typo on website
-
- * doc/dvisvgm.txt.in:
- minor changes of the documentation
-
-2009-09-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/CmdLineParserBase.cpp, src/FontCache.cpp,
- src/SVGFontTraceEmitter.cpp:
- fixed memory bug in tracer module (issue #21)
-
- * NEWS, doc/dvisvgm.txt.in, src/CommandLine.cpp, src/CommandLine.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialManager.cpp,
- src/SpecialManager.h, src/dvisvgm.cpp, src/options.xml:
- added option --progress for enabling a progress indicator (feature #22)
-
- * src/FileSystem.cpp, src/MetafontWrapper.cpp:
- Windows: Metafont is now called via CreateProcess()
-
-2009-09-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIToSVG.cpp,
- src/DvisvgmSpecialHandler.cpp, src/DvisvgmSpecialHandler.h,
- src/EmSpecialHandler.cpp, src/EmSpecialHandler.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, src/SpecialHandler.h,
- src/SpecialManager.cpp, src/TpicSpecialHandler.cpp,
- src/TpicSpecialHandler.h:
- refactored prefixes methods of the SpecialHandlers (ticket #20)
-
- * NEWS, doc/dvisvgm.txt.in, src/FileSystem.cpp, src/FileSystem.h,
- src/FontCache.cpp, src/FontCache.h, src/dvisvgm.cpp:
- option --cache prints additional information about the cached fonts
- (feature #7)
-
- * src/FileSystem.cpp, src/FontCache.cpp:
- fixed Windows-related bug in FileSystem::collect
-
-2009-09-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, README:
- updated NEWS and README
-
-2009-09-04 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, fedora/dvisvgm.spec, src/Doxyfile:
- increased version number to 0.8.4
-
- * src/BoundingBox.cpp, src/BoundingBox.h, src/PsSpecialHandler.cpp:
- linewidths are now considered properly in computation of bounding box
- (issue #13)
-
- * src/dvisvgm.cpp:
- fixed evaluation of option --help
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/CommandLine.cpp,
- src/InputBuffer.h, src/InputReader.h, src/psdefs.psc,
- tests/CommandLineTest.h:
- improved the command line parser to make it more POSIX-compliant
- (feature #17)
-
-2009-09-01 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp, src/psdefs.ps, src/psdefs.psc:
- fixed flattened clipping path bug (issue #11)
-
-2009-08-31 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Makefile.am:
- added error checks; disallow numeric optional arguments w/o default
- value
-
-2009-08-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/PSInterpreter.cpp, src/PsSpecialHandler.cpp, src/dvisvgm.cpp,
- src/psdefs.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 at uos.de>
-
- * NEWS, configure.ac, doc/dvisvgm.txt.in, src/CmdLineParserBase.cpp,
- src/CommandLine.cpp, src/Doxyfile, src/dvisvgm.cpp, src/getopt.c,
- src/getopt.h, src/getopt1.c, src/options.xml:
- replaced option --cache=? by --cache; increased version number to 0.8.3
-
-2009-08-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * fedora/dvisvgm-0.8.1-potrace.patch, fedora/dvisvgm-gs.patch,
- fedora/dvisvgm-potrace.patch, fedora/dvisvgm.spec:
- updated Fedora files
-
- * configure.ac, fedora/dvisvgm.spec, src/Ghostscript.cpp,
- src/Ghostscript.h, src/Makefile.am:
- improved Ghostscript and potrace linking checks to simplify usage of
- external devel files
-
- * NEWS, configure.ac, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/PsSpecialHandler.cpp,
- src/SpecialManager.cpp, src/SpecialManager.h:
- PS prologue files referenced in first page are now always loaded
-
-2009-08-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CommandLine.cpp, src/CommandLine.h:
- speed up printing help by using puts() instead of C++ streams
-
-2009-08-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontMap.cpp:
- fixed memory bug in FontMap
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/Makefile.am,
- src/dvisvgm.cpp, src/options.xml, tests/CommandLineTest.h,
- tests/Makefile.am:
- improved CmdLineParserBase and replaced gengetopt-based parser
-
- * NEWS, configure.ac, src/CmdLineParserBase.cpp, src/CmdLineParserBase.h,
- src/Doxyfile:
- increased version number to 0.8.2
-
-2009-08-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/InputReader.cpp, src/InputReader.h:
- added method parseUInt()
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h, src/options.xml:
- added files for replacement of gengetopt (not active yet)
-
- * src/CmdLineParserBase.cpp, src/CmdLineParserBase.h:
- finished cmdline parser
-
- * COPYING:
- added copy of file COPYING
-
-2009-08-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * tests/Makefile.am:
- added include path to fix broken distcheck
-
- * COPYING, LICENSE, Makefile.am, README, doc/dvisvgm.txt.in,
- src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h,
- src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp, src/BoundingBox.h,
- src/Calculator.cpp, src/Calculator.h, src/CharmapTranslator.cpp,
- src/CharmapTranslator.h, src/Color.cpp, src/Color.h,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DLLoader.cpp,
- src/DLLoader.h, src/DVIActions.cpp, src/DVIActions.h, src/DVIReader.cpp,
- src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Directory.cpp,
- src/Directory.h, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.h, src/FileFinder.cpp, src/FileFinder.h,
- src/FileSystem.cpp, src/FileSystem.h, src/Font.cpp, src/Font.h,
- src/FontCache.cpp, src/FontCache.h, src/FontEmitter.h,
- src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp,
- src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h, src/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 at 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 at 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 at uos.de>
-
- * configure.ac, src/DVIToSVG.cpp:
- added target triplet to version string in SVG output
-
- * src/DVIToSVGActions.cpp, src/Ghostscript.cpp, src/Ghostscript.h,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h:
- added Ghostscript revision info to output of dvisvgm -l
-
-2009-07-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/psdefs.psc:
- added vim tag to psdefs.psc
-
-2009-07-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PsSpecialHandler.cpp:
- added evaluation of more psfile parameters; fixed psfile bounding box
- bug
-
- * NEWS, configure.ac, src/Doxyfile:
- updated version number to 0.8.1
-
- * NEWS, src/FileSystem.cpp, src/FontEngine.cpp, src/FontManager.cpp,
- src/Ghostscript.cpp, src/PageSize.cpp, src/dvisvgm.cpp:
- fixed bug related to unsigned/size_t mismatch on x64 systems
-
- * src/psdefs.psc:
- cleaned up VC++ build files; added batch file to generate cmdline.c;
- added generated file psdefs.psc for convenience
-
-2009-07-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DLLoader.cpp, src/InputReader.cpp, src/PSInterpreter.cpp:
- changes to make VC happy; fixed potential memory bug
-
- * NEWS, README:
- fixed typos; updated homepage/manpage
-
- * src/DVIReader.h, src/InputBuffer.cpp, src/InputBuffer.h,
- src/InputReader.cpp, src/InputReader.h, src/Matrix.cpp, src/Matrix.h,
- src/PSInterpreter.h:
- replaced size_t parameters by unsigned
-
-2009-07-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/PSInterpreter.cpp:
- some clean-ups
-
-2009-07-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, README, doc/dvisvgm.txt.in, src/BoundingBox.cpp,
- src/BoundingBox.h, src/GraphicPath.h, src/PSInterpreter.cpp,
- src/PsSpecialHandler.cpp, src/PsSpecialHandler.h, 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 at 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 at 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 at uos.de>
-
- * src/TpicSpecialHandler.cpp:
- fixed TPIC handler bug that could caused unwanted color fills of
- ellipses due to a missing call of reset()
-
- * NEWS, configure.ac, src/Doxyfile:
- increased version number to 0.7.3
-
- * src/FontCache.h:
- increased version of font cache files to ensure their recreation due to
- the previously fixed shorthand path command bug
-
-2009-04-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * configure.ac, doc/dvisvgm.txt.in, src/MetafontWrapper.cpp,
- src/dvisvgm.cpp:
- prepared release 0.7.2 (removed inclusions of debug.h, adapted homepage
- and manpage)
-
-2009-03-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVG.cpp, src/DVIToSVG.h, src/FontGlyph.cpp,
- src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp:
- replaced Metafont magnification variable and its setters by a public
- class variable
-
- * src/Doxyfile:
- added doxygen files
-
-2009-03-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/FontCache.cpp, src/FontGlyph.cpp, src/FontGlyph.h,
- src/GFGlyphTracer.cpp, src/Pair.h, src/SVGFontEmitter.cpp:
- use of shorthand path commands has been implemented
-
- * src/FontGlyph.cpp:
- fixed potential bug in Glyph::optimizeCommands()
-
- * src/FontGlyph.cpp:
- fixed memory bug in Glyph::optimizeCommands()
-
-2009-03-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontCache.cpp:
- cache files are being compressed now to reduce the file size
-
-2009-03-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, doc/dvisvgm.txt.in, src/FontEmitter.h, src/GFGlyphTracer.cpp,
- src/SVGFontEmitter.cpp, src/SVGFontEmitter.h,
- src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp,
- src/options.ggo:
- added option --trace-all that forces tracing of all glyphs of all
- currently used bitmap fonts
-
- * src/FontCache.cpp, src/SVGFontTraceEmitter.cpp:
- don't read existing cache file if --trace-all is given (trace complete
- font and then write cache file instead)
-
-2009-03-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontCache.cpp:
- fixed bug in read/write functions of FontCache
-
- * src/DVIToSVG.cpp, src/TFM.cpp, src/TFM.h:
- added firstChar()/lastChar() to TFM class, removed unnecessary mag
- member variable and its setter
-
-2009-03-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.txt.in, src/DVIToSVG.cpp, src/FileSystem.cpp,
- src/FileSystem.h, src/FontCache.cpp, src/FontCache.h, src/FontGlyph.h,
- src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/Makefile.am,
- src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/dvisvgm.cpp:
- completed font caching support
-
- * doc/dvisvgm.txt.in, src/dvisvgm.cpp:
- added option variant --cache=? to display the default cache directory
-
- * src/FontCache.cpp:
- reduced size of cache file format by using variable integer sizes
-
-2009-03-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, configure.ac, doc/dvisvgm.txt.in, src/DVIToSVG.cpp,
- src/FileSystem.cpp, src/FileSystem.h, src/FontCache.cpp, src/FontCache.h,
- src/FontGlyph.cpp, src/FontGlyph.h, src/GFGlyphTracer.cpp,
- src/GFGlyphTracer.h, src/GFTracer.cpp, src/options.ggo:
- first additions to support font caching; not working yet
-
-2009-03-11 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/FontEmitter.h, src/SVGFontEmitter.cpp,
- src/SVGFontEmitter.h, src/SVGFontTraceEmitter.cpp,
- src/SVGFontTraceEmitter.h:
- improved font embedding algorithm in case of --no-fonts (identical
- glyphs in different sizes are now referenced rather than duplicated)
-
-2009-03-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.h,
- src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp:
- all glyph sizes are now computed correctly in conjuction with option
- --no-fonts
-
-2009-03-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BgColorSpecialHandler.cpp, src/SpecialManager.cpp,
- src/TpicSpecialHandler.cpp:
- adapted Code to make VC happy
-
- * src/types.h:
- minor changes to homepage and .hgignore
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp:
- fixed transformation bug (transformations are now applied properly to
- the page)
-
-2009-03-08 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, README, src/Color.cpp, src/Color.h, src/ColorSpecialHandler.cpp,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp, src/Makefile.am,
- src/TpicSpecialHandler.cpp:
- added bgcolor support, updated homepage, fixed color handler bug
-
- * src/BgColorSpecialHandler.cpp, src/BgColorSpecialHandler.h:
- added missing background color handler
-
-2009-03-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h:
- implemented arc drawing of tpic special set
-
- * src/TpicSpecialHandler.cpp, src/TpicSpecialHandler.h:
- implemented splines of tpic specials
-
-2009-03-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/BoundingBox.cpp, src/BoundingBox.h, src/Color.cpp,
- src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/DVIActions.h,
- src/DVIBBoxActions.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/EmSpecialHandler.cpp,
- src/Makefile.am, src/SpecialActions.h, src/SpecialHandler.h,
- src/TpicSpecialHandler.cpp:
- improved computation of the bounding box (works with specials now);
- added dummy function for background color assignments
-
- * doc/Makefile.am, doc/dvisvgm.txt.in, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h, src/InputBuffer.cpp, src/InputBuffer.h,
- src/SpecialActions.h:
- implemented the dvisvgm specials raw, image, and bbox
-
- * doc/dvisvgm.txt.in, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h:
- minor code improvements; comments added
-
-2009-02-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am, doc/dvisvgm.txt, doc/dvisvgm.txt.in:
- removed generated file, added dvisvgm.txt.in
-
- * doc/Makefile.am, doc/dvisvgm.txt.in:
- improved manpage
-
-2009-02-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/DvisvgmSpecialHandler.cpp, src/EmSpecialHandler.cpp,
- src/SpecialActions.h, src/TpicSpecialHandler.cpp:
- renamed appendInPage() to appendToPage
-
-2009-02-24 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/DVIToSVGActions.cpp, src/DvisvgmSpecialHandler.cpp,
- src/DvisvgmSpecialHandler.h, src/EmSpecialHandler.cpp,
- src/EmSpecialHandler.h, src/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 at uos.de>
-
- * NEWS, configure.ac, doc/dvisvgm.1.in, src/DVIBBoxActions.h,
- src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/FontEmitter.h, src/FontEngine.cpp,
- src/FontEngine.h, src/FontGlyph.cpp, src/FontGlyph.h,
- src/SVGFontEmitter.cpp, src/SVGFontEmitter.h,
- src/SVGFontTraceEmitter.cpp, src/SVGFontTraceEmitter.h, src/XMLNode.cpp,
- src/XMLNode.h, src/dvisvgm.cpp, src/options.ggo,
- src/tests/ColorSpecialTest.h:
- added option --no-fonts wich uses path elements instead of fonts
-
-2009-02-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, doc/dvisvgm.1.in, src/Color.cpp, src/Color.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Makefile.am,
- src/SpecialActions.h, src/SpecialColorHandler.cpp,
- src/SpecialDvisvgmHandler.cpp, src/SpecialDvisvgmHandler.h,
- src/SpecialEmHandler.cpp, src/SpecialEmHandler.h,
- src/SpecialHtmlHandler.h, src/VerbSpecialHandler.cpp,
- src/VerbSpecialHandler.h:
- fixed bug in color handler, added skeletons of dvisvgm/hyperref special
- handlers
-
-2009-02-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/Makefile.am, src/SpecialActions.h, src/SpecialColorHandler.cpp,
- src/SpecialEmHandler.cpp:
- added color support to emTeX specials, removed Color class
-
- * NEWS, src/SpecialActions.h, src/tests/ColorSpecialTest.h:
- adapted color test to new interface, added emtex info
-
-2009-02-17 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp:
- made DVICommand local to executeCommand, removed unnecessary if
- statement
-
-2009-02-15 Martin Gieseking <martin.gieseking at 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 at uos.de>
-
- * src/Color.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h:
- finished color support
-
- * src/dvisvgm.cpp:
- fixed incorrect behavior of option -V/--version
-
- * NEWS, configure.ac:
- increased version number to 0.6.2, updated NEWS
-
- * doc/dvisvgm.1.in, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/dvisvgm.cpp, src/options.ggo:
- added option --no-style
-
- * NEWS, configure.ac:
- prepared release of version 0.7
-
-2009-02-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * src/Color.h, src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/Makefile.am:
- replaced RGB arrays by Color class
-
-2009-02-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TransformationMatrix.cpp:
- made y-coordinate of cmdline-option -t optional
-
-2009-02-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/dvisvgm.1.in, src/ColorSpecialHandler.h, src/DVIToSVG.cpp,
- src/DVIToSVG.h, src/DVIToSVGActions.cpp, src/DVIToSVGActions.h,
- src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h,
- src/dvisvgm.cpp, src/options.ggo:
- added option --list-specials that lists all registered special handlers
-
- * src/FileFinder.cpp:
- changed lookup order of font maps
-
-2009-02-05 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/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 at uos.de>
-
- * src/FileFinder.cpp:
- added option for additional loading of user maps
-
- * src/FontMap.cpp:
- added output of font encoding in write method
-
-2009-02-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/SpecialHandler.h,
- src/SpecialManager.cpp, src/SpecialManager.h, src/options.ggo:
- more color special implementation (color constants), still not ready
-
- * src/FileFinder.cpp, src/FileFinder.h, src/dvisvgm.cpp:
- option -m/--map-file is now evaluated properly
-
- * map/cork-lm.map:
- removed deprecated map subdirectory
-
-2009-02-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/FileFinder.cpp:
- fixed buggy call of maketfm/makemf in Windows version
-
- * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h, src/Makefile.am,
- src/SpecialHandler.h, src/SpecialManager.cpp, src/SpecialManager.h:
- added special support skeletons; not working yet
-
- * src/ColorSpecialHandler.cpp, src/ColorSpecialHandler.h:
- some refactorings in color handler
-
-2009-01-30 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/dvisvgm.cpp:
- prevented writing zero-length svg files; simplified main code by using
- auto pointers
-
- * NEWS, src/DVIReader.cpp, src/DVIReader.h:
- fixed magnification bug
-
-2009-01-29 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp:
- adapted Windows version to new release
-
-2009-01-28 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FileFinder.cpp, src/FileFinder.h, src/Makefile.am,
- src/tests/DirectoryTest.h, src/tests/FileFinderTest.h,
- src/tests/FontManagerTest.h, src/tests/KPSFileFinderTest.h:
- refactored FileFinder (implementation as singleton)
-
- * src/dvisvgm.cpp:
- use new initialisation of FileFinder
-
- * src/GFReader.h, src/GFTracer.cpp, src/GFTracer.h:
- improved GFTracer to support unscaled results
-
- * src/FontMap.cpp, src/Makefile.am, src/tests/FontMapTest.h,
- src/tests/dvipdfm_test.map, src/tests/dvips_test.map:
- extensions to FontMap almost complete but not finished yet
-
- * src/Calculator.cpp, src/DVIToSVG.cpp, src/FontEncoding.cpp,
- src/FontMap.cpp, src/SVGFontEmitter.cpp, src/SVGFontTraceEmitter.cpp:
- replaced comparisions with "" with calls of empty()
-
- * src/FileFinder.cpp, src/FontMap.cpp, src/FontMap.h,
- src/tests/FontMapTest.h, src/tests/dvips_test.map:
- FontMap now supports dvips and dvipdfm maps
-
- * NEWS, configure.ac, doc/dvisvgm.1.in:
- adapted configuration and documentation to new dvips map file support
-
-2009-01-27 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/GFGlyphTracer.cpp, src/GFGlyphTracer.h, src/GFTracer.cpp,
- src/GFTracer.h, src/Makefile.am, src/SVGFontTraceEmitter.cpp,
- src/SVGFontTraceEmitter.h:
- made GFTracer a generic class with template methods
-
-2009-01-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Bitmap.cpp, src/Bitmap.h, src/GFReader.cpp, src/GFReader.h,
- src/GFTracer.cpp, src/Makefile.am:
- improvements to GF handling, first skeletton of gf->metapost (gfprint)
-
- * src/InputBuffer.h:
- fixed incompatible types bug
-
-2009-01-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/InputBuffer.cpp, src/InputBuffer.h:
- added missing include
-
- * src/FontMap.cpp, src/FontMap.h:
- started redesign of FontMap, not complete yet
-
- * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FileFinder.cpp,
- src/FileFinder.h, src/Font.cpp, src/FontEncoding.cpp,
- src/FontManager.cpp, src/KPSFileFinder.cpp, src/KPSFileFinder.h,
- src/Makefile.am, src/MetafontWrapper.cpp, src/TFM.cpp, src/dvisvgm.cpp:
- renamed KPSFileFinder to FileFinder
-
- * src/FontMap.cpp:
- basic dvips font map support, not complete yet
-
-2009-01-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * doc/Makefile.am, doc/dvisvgm.1.in:
- manpage updates
-
-2009-01-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontMap.cpp:
- forgot to remove address operator
-
- * src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/dvisvgm.cpp:
- added support for MiKTeX' new COM interface
-
- * src/DVIReader.cpp, src/FontManager.cpp, src/KPSFileFinder.cpp:
- memory leak fixed
-
- * src/KPSFileFinder.cpp:
- fixed throwing of COM exception
-
- * Makefile.am, NEWS, README, configure.ac, potracelib/Makefile.am:
- updated version info to 0.6
-
- * src/tests/CalculatorTest.h, src/tests/DirectoryTest.h,
- src/tests/FontManagerTest.h, src/tests/FontMapTest.h,
- src/tests/KPSFileFinderTest.h, src/tests/PageSizeTest.h,
- src/tests/StreamCounterTest.h, src/tests/VectorStreamTest.h:
- updated tests
-
- * doc/dvisvgm.1.in, 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 at uos.de>
-
- * src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp,
- src/FontEncoding.cpp, src/FontGlyph.cpp:
- fixed bugs in handling of font encodings and virtual fonts
-
- * src/Calculator.cpp, src/DVIReader.cpp, src/DVIToSVGActions.cpp,
- src/Directory.cpp, src/FontEncoding.cpp, src/FontEngine.cpp,
- src/FontManager.cpp, src/FontMap.cpp, src/KPSFileFinder.cpp,
- src/MetafontWrapper.cpp, src/PageSize.cpp, src/StreamReader.cpp,
- src/TFM.cpp, src/TransformationMatrix.cpp, src/VFReader.cpp,
- src/XMLDocument.cpp, src/XMLNode.cpp:
- added in/out attributes to parameter documentation
-
-2009-01-20 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.h, src/FontEncoding.cpp,
- src/FontEncoding.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontGlyph.cpp, src/FontGlyph.h, src/FontManager.cpp,
- src/FontManager.h, src/InputBuffer.cpp, src/InputBuffer.h,
- src/SVGFontEmitter.cpp, src/SVGFontEmitter.h:
- first working version with font encoding support
-
- * src/FontEngine.cpp, src/FontEngine.h, src/SVGFontEmitter.cpp:
- fixed glyph positioning bug occured in conjunction with font encoding
-
- * src/SVGFontEmitter.cpp:
- fixed memory bug
-
-2009-01-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/FontEncoding.cpp, src/FontEncoding.h, src/FontEngine.cpp,
- src/FontEngine.h, src/FontManager.cpp, src/FontManager.h,
- src/FontMap.cpp, src/FontMap.h, src/KPSFileFinder.cpp,
- src/KPSFileFinder.h:
- more encoding implementations, not complete yet
-
- * src/DVIReader.cpp, src/FontEncoding.cpp, src/FontEncoding.h,
- src/FontEngine.cpp, src/FontEngine.h, src/FontManager.cpp,
- src/FontManager.h, src/FontMap.cpp:
- partly working mapping support, but yet too slow
-
-2009-01-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TransformationMatrix.cpp:
- fixed bug in argument assignment of transformation command M
-
-2009-01-15 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/TransformationMatrix.cpp:
- removed a dangerous loop remained from previous code
-
-2009-01-14 Martin Gieseking <martin.gieseking at uos.de>
-
- * potracelib/auxiliary.h, potracelib/bitmap.h, potracelib/curve.c,
- potracelib/curve.h, potracelib/decompose.c, potracelib/decompose.h,
- potracelib/lists.h, potracelib/potracelib.c, potracelib/potracelib.h,
- potracelib/progress.h, potracelib/trace.c, potracelib/trace.h:
- updated libpotrace to version 1.8
-
- * src/FontEncoding.cpp, src/FontEncoding.h, src/InputBuffer.cpp,
- src/InputBuffer.h, src/Makefile.am:
- added basic skeleton for handling of font encodings
-
- * src/FileSystem.cpp, src/FileSystem.h:
- const string parameters
-
- * src/dvisvgm.cpp:
- updated copyright string
-
- * src/KPSFileFinder.cpp:
- added enc-file support
-
-2009-01-13 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CharmapTranslator.cpp:
- fixed crash on loading corrupt pfb-files
-
-2008-06-18 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Makefile.am:
- adapted to latest gengetopt version
-
-2008-04-07 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp:
- minor change
-
-2007-03-26 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, src/CharmapTranslator.cpp, src/CharmapTranslator.h,
- src/DVIActions.h, src/DVIReader.cpp, src/DVIToSVG.cpp,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.h,
- src/FontManager.cpp, src/Makefile.am, src/SVGFontTraceEmitter.cpp,
- src/SVGFontTraceEmitter.h:
- redesigned DVIActions and CharmapTranslator
-
- * src/DVIActions.cpp, src/DVIReader.cpp, src/DVIReader.h,
- src/FontManager.cpp, src/tests/FontManagerTest.h:
- few minor changes
-
-2007-03-25 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIActions.cpp, src/DVIActions.h, src/DVIBBoxActions.h,
- src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/Font.cpp, src/Font.h,
- src/FontManager.cpp, src/FontManager.h, src/StreamReader.cpp,
- src/StreamReader.h, src/VFActions.h, src/VFReader.cpp, src/VFReader.h,
- src/VectorStream.h:
- first working version 0.5, release candidate 1
-
- * src/DVIReader.cpp, src/DVIReader.h, src/VFActions.h:
- minor fixes
-
-2007-03-23 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/FontManager.cpp, src/FontManager.h,
- src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/VFReader.cpp:
- more vf implementations, not complete yet
-
-2007-03-22 Martin Gieseking <martin.gieseking at uos.de>
-
- * NEWS, doc/Makefile.in, src/DVIReader.cpp, src/DVIReader.h,
- src/DVIToSVG.cpp, src/DVIToSVG.h, src/FileSystem.cpp, src/FileSystem.h,
- src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile.am,
- src/dvisvgm.cpp, src/tests/DirectoryTest.h, src/tests/FontManagerTest.h:
- reintegrated font map initialization into KPSFileFinderm adapted some
- tests
-
- * src/DVIReader.cpp, src/Font.cpp, src/Font.h, src/FontManager.cpp,
- src/VFActions.h, src/VFReader.cpp, src/VFReader.h:
- more vf implementations
-
-2007-03-21 Martin Gieseking <martin.gieseking at uos.de>
-
- * AUTHORS, Makefile.am, README, potracelib/Makefile.am,
- 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 at uos.de>
-
- * NEWS, doc/Makefile, doc/Makefile.in, doc/dvisvgm.1.in,
- src/DVIReader.cpp, src/DVIToSVG.cpp, src/Font.cpp, src/Font.h,
- src/FontManager.cpp, src/KPSFileFinder.cpp, src/Makefile,
- src/Makefile.am, src/Makefile.in, src/VFReader.cpp, src/dvisvgm.cpp,
- src/test-all.cpp, src/tests/KPSFileFinderTest.h:
- added KPSFileFinderTest, added EmptyFont, fixed compilation error
-
- * src/Directory.cpp, src/Directory.h, src/FileSystem.cpp, src/FontMap.cpp,
- src/FontMap.h, src/KPSFileFinder.cpp:
- more changes for MiKTeX support
-
-2007-03-19 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CharmapTranslator.cpp, src/DVIToSVG.cpp, src/FontManager.cpp,
- src/KPSFileFinder.cpp, src/KPSFileFinder.h, src/Makefile,
- src/Makefile.am, src/Makefile.in, src/MetafontWrapper.cpp, src/TFM.cpp:
- added mktexFOO support and font map lookups to KPSFileFinder
-
- * src/KPSFileFinder.cpp:
- bug fixed, font maps work now
-
- * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp,
- src/FontMap.h, src/KPSFileFinder.cpp:
- made sources comaptible with MikTeX
-
-2007-03-16 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/Font.cpp, src/Font.h, src/FontManager.cpp, src/FontMap.cpp,
- src/FontMap.h, src/KPSFileFinder.cpp, src/Makefile, src/Makefile.am,
- src/Makefile.in, src/StreamReader.cpp, src/TFM.cpp, src/options.ggo,
- src/tests/FontMapTest.h:
- more coding in the font department, not finished yet
-
-2007-03-09 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIReader.cpp,
- src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp, src/Font.cpp,
- src/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 at uos.de>
-
- * src/DVIActions.h, src/DVIBBoxActions.h, src/DVIReader.cpp,
- src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVGActions.cpp,
- src/DVIToSVGActions.h, src/Font.cpp, src/Font.h, src/FontManager.cpp,
- src/FontManager.h, src/KPSFileFinder.cpp, src/KPSFileFinder.h,
- src/Makefile, src/Makefile.am, src/Makefile.in, src/Message.cpp,
- src/dvisvgm.cpp, src/macros.h, src/test-all.cpp:
- first unstable version with redesigned font handling
-
- * COPYING, Makefile, Makefile.am, Makefile.in, Martins_svg_neu.svg, NEWS,
- aclocal.m4, cmdline.c, config.guess, config.h, config.h.in,
- config.status, config.sub, configure.ac, depcomp, doc/Makefile,
- doc/dvisvgm.1, doc/dvisvgm.1.in, gpl.txt, install-sh, missing,
- src/FontManager.cpp, src/FontManager.h, src/Makefile.am,
- src/VFReader.cpp, src/tests/FontManagerTest.h, stamp-h1, table.txt:
- removed some garbage from the repository, added initial FontManagerTest
-
- * doc/dvisvgm.1, src/FontEngine.h, src/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 at uos.de>
-
- * src/Font.cpp, src/Font.h:
- added Font classes (not yet error-free)
-
-2007-03-06 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.h, src/DVIToSVG.cpp, src/FontManager.cpp,
- src/FontManager.h:
- added FontManager skeleton, fixed bug in makehead
-
-2007-03-03 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/FontManager.cpp, src/VFReader.cpp:
- added some more skeleton code
-
-2007-03-02 Martin Gieseking <martin.gieseking at uos.de>
-
- * src/DVIReader.cpp, src/Makefile, src/Makefile.in, src/VFReader.cpp,
- src/VFReader.h, src/options.ggo:
- added skeleton of VFReader
-
-2007-01-10 Martin Gieseking <martin.gieseking at uos.de>
-
- * 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 at uos.de>
-
- * INSTALL, Makefile.am, NEWS, README, configure.ac, doc/Makefile,
- doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in,
- gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README,
- gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html,
- gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C,
- gzstream/version, 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 at uos.de>
-
- * Makefile, Makefile.am, Makefile.in, README, config.status, configure.ac,
- potracelib/Makefile.am, potracelib/bitops.h, potracelib/flate.c,
- potracelib/flate.h, src/Bitmap.cpp, src/Bitmap.h, src/BoundingBox.cpp,
- src/BoundingBox.h, src/Calculator.cpp, src/Calculator.h,
- src/CharmapTranslator.cpp, src/CharmapTranslator.h, src/DVIActions.h,
- src/DVIBBoxActions.h, src/DVIBBoxReader.cpp, src/DVIBBoxReader.h,
- src/DVIReader.cpp, src/DVIReader.h, src/DVIToSVG.cpp, src/DVIToSVG.h,
- src/DVIToSVGActions.cpp, src/DVIToSVGActions.h, src/FileFinder.cpp,
- src/FileFinder.h, src/FileSystem.cpp, src/FileSystem.h,
- src/FontEmitter.h, src/FontEngine.cpp, src/FontEngine.h,
- src/FontGlyph.cpp, src/FontGlyph.h, src/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 at 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 at 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 at uos.de>
-
- * Makefile, Makefile.in, NEWS, aclocal.m4, autom4te.cache/output.0,
- autom4te.cache/requests, autom4te.cache/traces.0, config.h, config.log,
- config.status, configure, configure.ac, doc/Makefile, doc/Makefile.in,
- doc/dvisvgm.1, src/FontEngine.cpp, src/Makefile, src/Makefile.in,
- src/cmdline.c, src/cmdline.h, src/dvisvgm.cpp:
- added support for freetype version >= 2.1.1
-
- * configure.ac:
- enabled svn keyword expansion
-
-2006-04-12 Martin Gieseking <martin.gieseking at uos.de>
-
- * COPYING, INSTALL, Makefile, Makefile.am, Makefile.in,
- Martins_svg_neu.svg, NEWS, README, aclocal.m4, autom4te.cache/output.0,
- autom4te.cache/requests, autom4te.cache/traces.0, cmdline.c,
- config.guess, config.h, config.h.in, config.log, config.status,
- config.sub, configure, configure.ac, depcomp, doc/Makefile,
- doc/Makefile.am, doc/Makefile.in, doc/dvisvgm.1, doc/dvisvgm.1.in,
- gpl.txt, gzstream/COPYING.LIB, gzstream/Makefile, gzstream/README,
- gzstream/gzstream.cpp, gzstream/gzstream.h, gzstream/index.html,
- gzstream/logo.gif, gzstream/test_gunzip.C, gzstream/test_gzip.C,
- gzstream/version, install-sh, map/cork-lm.map, missing, 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
-
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/Makefile.in 2018-05-04 04:54:00 UTC (rev 47608)
@@ -166,8 +166,8 @@
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`; \
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/NEWS 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/README
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/README 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/README 2018-05-04 04:54:00 UTC (rev 47608)
@@ -2,8 +2,8 @@
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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/configure.ac 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de])
-DATE="March 2018"
+AC_INIT([dvisvgm],[2.4],[martin.gieseking at uos.de])
+DATE="April 2018"
AC_CONFIG_SRCDIR(src)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.1 2018-05-04 04:54:00 UTC (rev 47608)
@@ -2,12 +2,12 @@
.\" Title: dvisvgm
.\" Author: Martin Gieseking <martin.gieseking at 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 @@
.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 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 @@
\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 @@
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,23 +857,7 @@
\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]
.RS 4
@@ -1137,6 +1143,18 @@
.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 \{\
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/doc/dvisvgm.txt.in 2018-05-04 04:54:00 UTC (rev 47608)
@@ -32,9 +32,11 @@
--------
*dvisvgm* [ 'options' ] 'file' [.dvi]
-*dvisvgm* -E [ 'options' ] 'file' [.eps]
+*dvisvgm* --eps [ 'options' ] 'file' [.eps]
+*dvisvgm* --pdf [ 'options' ] 'file' [.pdf]
+
Description
-----------
The command-line utility *dvisvgm* converts DVI files, as generated by TeX/LaTeX, to the
@@ -395,6 +397,13 @@
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 @@
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 @@
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 @@
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 @@
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
---------------
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.am 2018-05-04 04:54:00 UTC (rev 47608)
@@ -29,7 +29,6 @@
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 @@
enc/metablock.h \
enc/metablock_inc.h \
enc/params.h \
- enc/port.h \
enc/prefix.h \
enc/quality.h \
enc/ringbuffer.h \
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/Makefile.in 2018-05-04 04:54:00 UTC (rev 47608)
@@ -375,7 +375,6 @@
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 @@
enc/metablock.h \
enc/metablock_inc.h \
enc/params.h \
- enc/port.h \
enc/prefix.h \
enc/quality.h \
enc/ringbuffer.h \
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/constants.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 */
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/platform.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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,6 +211,7 @@
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;
}
@@ -219,6 +218,18 @@
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 @@
#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 @@
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. */ }
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/common/version.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -14,7 +14,7 @@
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
@@ -21,6 +21,6 @@
*/
/* ABI version, calculated as (CURRENT << 24) | (REVISION << 12) | AGE */
-#define BROTLI_ABI_VERSION 0x1003000
+#define BROTLI_ABI_VERSION 0x1004000
#endif /* BROTLI_COMMON_VERSION_H_ */
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references.c 2018-05-04 04:54:00 UTC (rev 47608)
@@ -49,6 +49,7 @@
#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 @@
#undef HASHER
#undef PREFIX
+
#undef EXPORT_FN
#undef FN
#undef CAT
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/backward_references_hq.c 2018-05-04 04:54:00 UTC (rev 47608)
@@ -76,7 +76,7 @@
/* 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 @@
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 @@
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 @@
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);
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/command.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -145,11 +145,11 @@
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;
Deleted: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/context.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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_ */
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/encode.c 2018-05-04 04:54:00 UTC (rev 47608)
@@ -167,6 +167,14 @@
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 @@
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 @@
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 @@
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 @@
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 ChooseDistanceParams(BrotliEncoderParams* params) {
- /* NDIRECT, NPOSTFIX must be both zero for qualities
- up to MIN_QUALITY_FOR_BLOCK_SPLIT == 3. */
+ uint32_t distance_postfix_bits = 0;
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;
+ 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;
}
- alphabet_size = BROTLI_DISTANCE_ALPHABET_SIZE(
- num_direct_distance_codes, distance_postfix_bits,
- BROTLI_LARGE_MAX_DISTANCE_BITS);
+ 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;
+ }
}
- 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 @@
params->size_hint = 0;
params->disable_literal_context_modeling = BROTLI_FALSE;
BrotliInitEncoderDictionary(¶ms->dictionary);
+ params->dist.distance_postfix_bits = 0;
params->dist.num_direct_distance_codes = 0;
- params->dist.distance_postfix_bits = 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 @@
&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, ¶ms,
+ 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 @@
BrotliStoreMetaBlock(m, input_buffer, metablock_start, metablock_size,
mask, prev_byte, prev_byte2,
is_last,
- ¶ms,
+ &block_params,
literal_context_mode,
commands, num_commands,
&mb,
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/memory.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -80,6 +80,21 @@
} \
}
+/*
+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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.c 2018-05-04 04:54:00 UTC (rev 47608)
@@ -25,14 +25,116 @@
extern "C" {
#endif
+void BrotliInitDistanceParams(BrotliEncoderParams* params,
+ uint32_t npostfix, uint32_t ndirect) {
+ BrotliDistanceParams* dist_params = ¶ms->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,7 +147,47 @@
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, ¶ms->dist);
+
BrotliSplitBlock(m, cmds, num_commands,
ringbuffer, pos, mask, params,
&mb->literal_split,
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/metablock.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -67,15 +67,18 @@
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 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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/params.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -21,8 +21,8 @@
} BrotliHasherParams;
typedef struct BrotliDistanceParams {
+ uint32_t distance_postfix_bits;
uint32_t num_direct_distance_codes;
- uint32_t distance_postfix_bits;
uint32_t alphabet_size;
size_t max_distance;
} BrotliDistanceParams;
Deleted: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/port.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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_ */
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/quality.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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. */
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/enc/write_bits.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -44,7 +44,7 @@
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));
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/decode.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -85,9 +85,8 @@
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 \
\
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/brotli/include/brotli/encode.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -185,7 +185,23 @@
/**
* 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;
/**
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.c 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
#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 @@
/* 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 @@
/* *******************************************************************
-* 32-bits hash functions
+* 32-bit hash functions
*********************************************************************/
static const U32 PRIME32_1 = 2654435761U;
static const U32 PRIME32_2 = 2246822519U;
@@ -268,12 +274,87 @@
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 @@
#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 @@
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 @@
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 @@
}
-
-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 @@
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 @@
#ifndef XXH_NO_LONG_LONG
/* *******************************************************************
-* 64-bits hash functions
+* 64-bit hash functions
*********************************************************************/
/*====== Memory access ======*/
@@ -639,12 +684,136 @@
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 @@
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 @@
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 @@
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)
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/libs/xxHash/xxhash.h 2018-05-04 04:54:00 UTC (rev 47608)
@@ -57,8 +57,8 @@
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 @@
/* ****************************
-* 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 @@
# endif
#else
# define XXH_PUBLIC_API /* do nothing */
-#endif /* XXH_PRIVATE_API */
+#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.
-*/
+/*! 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 @@
***************************************/
#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,27 +179,26 @@
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()` .
+ * 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.
+ */
-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.
-*/
-
/*====== Canonical representation ======*/
typedef struct { unsigned char digest[4]; } XXH32_canonical_t;
@@ -206,22 +206,22 @@
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 @@
#endif /* XXH_NO_LONG_LONG */
+
#ifdef XXH_STATIC_LINKING_ONLY
/* ================================================================================================
@@ -251,11 +252,41 @@
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;
unsigned large_len;
unsigned v1;
@@ -262,12 +293,12 @@
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;
@@ -274,13 +305,16 @@
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
-#ifdef XXH_PRIVATE_API
+# endif
+
+
+#if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
# include "xxhash.c" /* include xxhash function bodies as `static`, for inlining */
#endif
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/m4/ax_cxx_compile_stdcxx.m4 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
[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])])
])
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -29,7 +29,7 @@
/** 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 @@
}
-bool BgColorSpecialHandler::process (const char*, istream &, SpecialActions&) {
+bool BgColorSpecialHandler::process (const string&, istream&, SpecialActions&) {
return true;
}
@@ -62,7 +62,7 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -234,8 +234,8 @@
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()));
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -42,7 +42,9 @@
_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 @@
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 @@
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 @@
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)));
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CLCommandLine.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -37,6 +37,8 @@
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 @@
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) {}
};
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Calculator.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -154,7 +154,7 @@
try {
_numValue = stod(str);
}
- catch (exception) {
+ catch (const exception&) {
throw CalculatorException("invalid number: "+str);
}
break;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -91,7 +91,7 @@
}
-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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ColorSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/CommandLine.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de>"
) {}
@@ -35,7 +34,7 @@
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 @@
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 @@
#if !defined(DISABLE_GS)
{&epsOpt, 0},
#endif
+#if !defined(DISABLE_GS)
+ {&pdfOpt, 0},
+#endif
+ {&stdinOpt, 0},
{&bboxOpt, 1},
#if !defined(DISABLE_GS)
{&clipjoinOpt, 1},
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -39,7 +39,7 @@
}
-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 @@
}};
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 @@
* @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 @@
{"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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/DvisvgmSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
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);
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -56,8 +56,7 @@
}
-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 @@
}
-/** 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 @@
ir.parseInt(val[i]);
}
box = BoundingBox(val[0], val[1], val[2], val[3]);
- return true;
+ break;
}
}
}
}
- return false;
+ return box;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSFile.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
Deleted: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -1,121 +0,0 @@
-/*************************************************************************
-** EPSToSVG.cpp **
-** **
-** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de> **
-** **
-** This program is free software; you can redistribute it and/or **
-** modify it under the terms of the GNU General Public License as **
-** published by the Free Software Foundation; either version 3 of **
-** the License, or (at your option) any later version. **
-** **
-** This program is distributed in the hope that it will be useful, but **
-** WITHOUT ANY WARRANTY; without even the implied warranty of **
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
-** GNU General Public License for more details. **
-** **
-** You should have received a copy of the GNU General Public License **
-** along with this program; if not, see <http://www.gnu.org/licenses/>. **
-*************************************************************************/
-
-#include <config.h>
-#include <fstream>
-#include <sstream>
-#include "EPSFile.hpp"
-#include "EPSToSVG.hpp"
-#include "Message.hpp"
-#include "MessageException.hpp"
-#include "PsSpecialHandler.hpp"
-#include "SVGOutput.hpp"
-#include "System.hpp"
-#include "utility.hpp"
-#include "version.hpp"
-
-using namespace std;
-
-
-void EPSToSVG::convert () {
-#ifndef HAVE_LIBGS
- if (!Ghostscript().available())
- throw MessageException("Ghostscript is required to process the EPS file");
-#endif
- EPSFile epsfile(_fname);
- if (!epsfile.hasValidHeader())
- throw PSException("invalid EPS 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';
- Message::mstream().indent(1);
- _svg.newPage(1);
- // create a psfile special and forward it to the PsSpecialHandler
- stringstream ss;
- ss << "\"" << _fname << "\" "
- "llx=" << bbox.minX() << " "
- "lly=" << bbox.minY() << " "
- "urx=" << bbox.maxX() << " "
- "ury=" << bbox.maxY();
- try {
- PsSpecialHandler pshandler;
- pshandler.process("psfile=", ss, *this);
- }
- catch (...) {
- progress(0); // remove progress message
- throw;
- }
- progress(0);
- // output SVG file
- _svg.removeRedundantElements();
- _svg.setBBox(_bbox);
- _svg.appendToDoc(util::make_unique<XMLCommentNode>(" This file was generated by dvisvgm " + string(PROGRAM_VERSION) + " "));
- bool success = _svg.write(_out.getPageStream(1, 1));
- string svgfname = _out.filename(1, 1);
- if (svgfname.empty())
- svgfname = "<stdout>";
- if (!success)
- Message::wstream() << "failed to write output to " << svgfname << '\n';
- 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_WRITTEN) << "output written to " << svgfname << '\n';
- }
-}
-
-
-string EPSToSVG::getSVGFilename (unsigned pageno) const {
- if (pageno == 1)
- return _out.filename(1, 1);
- return "";
-}
-
-
-void EPSToSVG::progress (const char *id) {
- static double time=0;
- static bool draw=false; // show progress indicator?
- static size_t count=0;
- count++;
- // don't show the progress indicator before the given time has elapsed
- if (!draw && System::time()-time > PROGRESSBAR_DELAY) {
- draw = true;
- Terminal::cursor(false);
- Message::mstream(false) << "\n";
- }
- if (draw && ((System::time() - time > 0.05) || id == 0)) {
- const size_t DIGITS=6;
- Message::mstream(false, Message::MC_PROGRESS)
- << string(DIGITS-min(DIGITS, static_cast<size_t>(log10(count))), ' ')
- << count << " PostScript instructions processed\r";
- // overprint indicator when finished
- if (id == 0) {
- Message::estream().clearline();
- Terminal::cursor(true);
- }
- time = System::time();
- }
-}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EPSToSVG.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
+
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -138,7 +138,7 @@
}
-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 @@
};
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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/EmSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
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;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileFinder.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -142,6 +142,7 @@
// 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 {
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/FileSystem.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -310,7 +310,8 @@
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);
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -203,21 +203,24 @@
}
-/** 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;
+}
+
+
/** Creates a new instance of Ghostscript. This method is called by the constructor and
* should not be used elsewhere.
* @param[out] psinst handle of newly created instance (or 0 on error)
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Ghostscript.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
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 @@
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);
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
}
-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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/HtmlSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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;
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -0,0 +1,118 @@
+/*************************************************************************
+** ImageToSVG.cpp **
+** **
+** This file is part of dvisvgm -- a fast DVI to SVG converter **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking at uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#include <config.h>
+#include <fstream>
+#include <sstream>
+#include "ImageToSVG.hpp"
+#include "Message.hpp"
+#include "MessageException.hpp"
+#include "PsSpecialHandler.hpp"
+#include "SVGOutput.hpp"
+#include "System.hpp"
+#include "utility.hpp"
+#include "version.hpp"
+
+using namespace std;
+
+
+void ImageToSVG::convert () {
+#ifndef HAVE_LIBGS
+ if (!Ghostscript().available())
+ throw MessageException("Ghostscript is required to process "+imageFormat()+" files");
+#endif
+ if (!imageIsValid())
+ throw PSException("invalid "+imageFormat()+" file");
+
+ 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
+ stringstream ss;
+ ss << "\"" << _fname << "\" "
+ "llx=" << bbox.minX() << " "
+ "lly=" << bbox.minY() << " "
+ "urx=" << bbox.maxX() << " "
+ "ury=" << bbox.maxY();
+ try {
+ PsSpecialHandler pshandler;
+ pshandler.process(psSpecialCmd(), ss, *this);
+ }
+ catch (...) {
+ progress(0); // remove progress message
+ throw;
+ }
+ progress(0);
+ // output SVG file
+ _svg.removeRedundantElements();
+ _svg.setBBox(_bbox);
+ _svg.appendToDoc(util::make_unique<XMLCommentNode>(" This file was generated by dvisvgm " + string(PROGRAM_VERSION) + " "));
+ bool success = _svg.write(_out.getPageStream(1, 1));
+ string svgfname = _out.filename(1, 1);
+ if (svgfname.empty())
+ svgfname = "<stdout>";
+ if (!success)
+ Message::wstream() << "failed to write output to " << svgfname << '\n';
+ 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_WRITTEN) << "output written to " << svgfname << '\n';
+ }
+}
+
+
+string ImageToSVG::getSVGFilename (unsigned pageno) const {
+ if (pageno == 1)
+ return _out.filename(1, 1);
+ return "";
+}
+
+
+void ImageToSVG::progress (const char *id) {
+ static double time=0;
+ static bool draw=false; // show progress indicator?
+ static size_t count=0;
+ count++;
+ // don't show the progress indicator before the given time has elapsed
+ if (!draw && System::time()-time > PROGRESSBAR_DELAY) {
+ draw = true;
+ Terminal::cursor(false);
+ Message::mstream(false) << "\n";
+ }
+ if (draw && ((System::time() - time > 0.05) || id == 0)) {
+ const size_t DIGITS=6;
+ Message::mstream(false, Message::MC_PROGRESS)
+ << string(DIGITS-min(DIGITS, static_cast<size_t>(log10(count))), ' ')
+ << count << " PostScript instructions processed\r";
+ // overprint indicator when finished
+ if (id == 0) {
+ Message::estream().clearline();
+ Terminal::cursor(true);
+ }
+ time = System::time();
+ }
+}
Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef 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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.am 2018-05-04 04:54:00 UTC (rev 47608)
@@ -85,7 +85,6 @@
EncFile.hpp \
EPSFile.cpp \
EPSFile.hpp \
- EPSToSVG.cpp \
EPSToSVG.hpp \
FileFinder.cpp \
FileFinder.hpp \
@@ -126,6 +125,8 @@
HtmlSpecialHandler.hpp \
HyperlinkManager.cpp \
HyperlinkManager.hpp \
+ ImageToSVG.cpp \
+ ImageToSVG.hpp \
InputBuffer.cpp \
InputBuffer.hpp \
InputReader.cpp \
@@ -158,6 +159,7 @@
PathClipper.hpp \
PDFParser.cpp \
PDFParser.hpp \
+ PDFToSVG.hpp \
PdfSpecialHandler.cpp \
PdfSpecialHandler.hpp \
PreScanDVIReader.cpp \
@@ -180,6 +182,8 @@
ShadingPatch.hpp \
SignalHandler.cpp \
SignalHandler.hpp \
+ SourceInput.cpp \
+ SourceInput.hpp \
SpecialActions.hpp \
SpecialHandler.hpp \
SpecialManager.cpp \
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Makefile.in 2018-05-04 04:54:00 UTC (rev 47608)
@@ -153,45 +153,47 @@
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 @@
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 @@
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 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Directory.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DvisvgmSpecialHandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EPSFile.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EPSToSVG.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EmSpecialHandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EncFile.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/FileFinder.Po at am__quote@
@@ -703,6 +707,7 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Ghostscript.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HtmlSpecialHandler.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HyperlinkManager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ImageToSVG.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/InputBuffer.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/InputReader.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/JFM.Po at am__quote@
@@ -734,6 +739,7 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SVGTree.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ShadingPatch.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SignalHandler.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SourceInput.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SpecialManager.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/StreamReader.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/StreamWriter.Po at am__quote@
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/MiKTeXCom.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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"
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/NoPsSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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;
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PDFToSVG.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef 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
+
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -33,22 +33,10 @@
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)
{
}
@@ -55,7 +43,17 @@
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,6 +263,7 @@
{"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}},
@@ -271,6 +270,7 @@
{"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 @@
{"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}},
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PSInterpreter.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -55,11 +55,13 @@
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 @@
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 @@
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
};
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 @@
}
-bool PapersizeSpecialHandler::process (const char*, std::istream&, SpecialActions&) {
+bool PapersizeSpecialHandler::process (const string&, std::istream&, SpecialActions&) {
return true;
}
@@ -92,7 +92,7 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PapersizeSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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();}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -39,10 +39,10 @@
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 @@
}
-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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PdfSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/Process.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -76,8 +76,10 @@
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 @@
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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -18,6 +18,7 @@
** along with this program; if not, see <http://www.gnu.org/licenses/>. **
*************************************************************************/
+#include <array>
#include <cmath>
#include <fstream>
#include <memory>
@@ -24,6 +25,7 @@
#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 @@
_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::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 @@
}
-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,7 +193,7 @@
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 at beginspecial @setspecial ");
@@ -206,16 +200,16 @@
executeAndSync(is, false);
_psi.execute("\n at 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 @@
}
-/** 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;
- // 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;
+ 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 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;
+ // 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;
- Matrix m(1);
- m.rotate(angle).scale(hscale/100, vscale/100).translate(hoffset, voffset);
- BoundingBox bbox(llx, lly, urx, ury);
- bbox.transform(m);
-
// 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,8 +319,8 @@
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);
@@ -322,26 +327,24 @@
_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 at 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 at endspecial "); // leave special environment
+ _psi.execute(
+ "\n at 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 @@
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 @@
_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 @@
}
+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 @@
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 @@
}
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 @@
}
-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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/PsSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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,6 +76,7 @@
};
enum PsSection {PS_NONE, PS_HEADERS, PS_BODY};
+ enum class FileType {EPS, PDF};
public:
PsSpecialHandler ();
@@ -82,9 +83,9 @@
~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 @@
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 @@
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 @@
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 @@
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 @@
ClippingStack _clipStack;
std::unordered_map<int, std::unique_ptr<PSPattern>> _patterns;
PSTilingPattern *_pattern; ///< current pattern
+ BoundingBox _pdfpagebox;
};
#endif
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/RangeMap.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -125,11 +125,11 @@
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);
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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,8 +47,15 @@
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;
@@ -54,9 +62,9 @@
_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;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SVGOutput.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -31,20 +31,17 @@
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;
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#include <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;
+}
Property changes on: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp (rev 0)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SourceInput.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 at uos.de> **
+** **
+** This program is free software; you can redistribute it and/or **
+** modify it under the terms of the GNU General Public License as **
+** published by the Free Software Foundation; either version 3 of **
+** the License, or (at your option) any later version. **
+** **
+** This program is distributed in the hope that it will be useful, but **
+** WITHOUT ANY WARRANTY; without even the implied warranty of **
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
+** GNU General Public License for more details. **
+** **
+** You should have received a copy of the GNU General Public License **
+** along with this program; if not, see <http://www.gnu.org/licenses/>. **
+*************************************************************************/
+
+#ifndef 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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -36,30 +36,6 @@
};
-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:
@@ -66,11 +42,14 @@
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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -40,10 +40,6 @@
void SpecialManager::unregisterHandlers () {
_handlerPool.clear();
_handlersByPrefix.clear();
- _beginPageListeners.clear();
- _endPageListeners.clear();
- _preprocListeners.clear();
- _positionListeners.clear();
}
@@ -55,15 +51,6 @@
// 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 @@
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,11 +129,11 @@
* @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;
}
@@ -153,26 +140,26 @@
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);
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/SpecialManager.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -57,10 +57,6 @@
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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -272,14 +272,14 @@
};
-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 @@
}
-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;
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/TpicSpecialHandler.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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;
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/ZLibOutputStream.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
-class ZLibOutputBuffer : public std::streambuf
-{
- friend class ZLibOutputStream;
+struct ZLibException : public MessageException {
+ ZLibException (const std::string &msg) : MessageException(msg) {}
+};
+
+enum ZLibCompressionFormat {ZLIB_DEFLATE=0, ZLIB_GZIP=16};
+
+class ZLibOutputBuffer : public std::streambuf {
public:
- ~ZLibOutputBuffer () {close();}
+ ZLibOutputBuffer () {}
- /** Opens the buffer object for writing.
- * @param[in] fname name of gzip file
+ ZLibOutputBuffer (std::streambuf *sbuf, ZLibCompressionFormat format, int zipLevel) {
+ open(sbuf, format, zipLevel);
+ }
+
+ ~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();
}
- return (flush() == EOF) ? EOF : c;
+ else {
+ if (_inbuf.size() == _inbuf.capacity())
+ flush(Z_NO_FLUSH);
+ _inbuf.push_back(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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/dvisvgm.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 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 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 @@
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 @@
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 @@
}
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");
- 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 {
+ 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");
+
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();
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/options.xml 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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 <martin.gieseking at uos.de></copyright>
</program>
@@ -38,8 +39,14 @@
<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">
<option long="bbox" short="b">
@@ -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>
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/psdefs.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -29,72 +29,82 @@
"/: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 ";
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/src/version.hpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/ColorSpecialTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -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,7 +64,7 @@
TEST_F(ColorSpecialTest, gray) {
std::istringstream iss("gray 0.2");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x333333));
}
@@ -73,7 +71,7 @@
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));
}
@@ -80,7 +78,7 @@
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));
}
@@ -87,7 +85,7 @@
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));
}
@@ -94,19 +92,19 @@
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));
}
@@ -113,18 +111,18 @@
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));
}
@@ -131,7 +129,7 @@
TEST_F(ColorSpecialTest, constant) {
std::istringstream iss("RedViolet");
- handler.process(0, iss, actions);
+ handler.process("", iss, actions);
EXPECT_TRUE(actions.equals(0x9600a8));
}
@@ -138,12 +136,12 @@
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);
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/CommandLineTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -52,6 +52,8 @@
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, 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 @@
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);
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/DvisvgmSpecialTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -83,12 +83,12 @@
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, 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 @@
};
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 @@
};
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 @@
};
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,7 +185,7 @@
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();
}
@@ -192,7 +192,7 @@
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);
}
@@ -199,7 +199,7 @@
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("<image height='72' width='72' x='0' xlink:href='test.png' y='0'/>"));
@@ -206,7 +206,7 @@
recorder.clear();
iss.clear();
iss.str("img 10bp 20bp test2.png");
- handler.process(0, iss, recorder);
+ handler.process("", iss, recorder);
EXPECT_TRUE(recorder.pageEquals("<image height='20' width='10' x='0' xlink:href='test2.png' y='0'/>"));
}
@@ -213,13 +213,13 @@
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,25 +227,25 @@
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"));
}
@@ -252,5 +252,5 @@
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);
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/GhostscriptTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -37,8 +37,8 @@
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());
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PSInterpreterTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -47,10 +47,12 @@
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 @@
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 @@
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;");
}
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/PapersizeSpecialTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -58,12 +58,12 @@
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 () {
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/SVGOutputTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -97,7 +97,7 @@
TEST_F(SVGOutputTest, getPageStream) {
{
- SVGOutput out(0, "");
+ SVGOutput out("", "");
ostream &os = out.getPageStream(1, 10);
EXPECT_EQ(&os, &cout);
}{
Modified: trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp
===================================================================
--- trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/dvisvgm-src/tests/TpicSpecialTest.cpp 2018-05-04 04:54:00 UTC (rev 47608)
@@ -68,7 +68,7 @@
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, fail) {
- EXPECT_FALSE(handler.processSpecial(nullptr));
EXPECT_FALSE(handler.processSpecial(""));
EXPECT_FALSE(handler.processSpecial("x"));
EXPECT_FALSE(handler.processSpecial("xy"));
Modified: trunk/Build/source/texk/dvisvgm/version.ac
===================================================================
--- trunk/Build/source/texk/dvisvgm/version.ac 2018-05-04 03:48:43 UTC (rev 47607)
+++ trunk/Build/source/texk/dvisvgm/version.ac 2018-05-04 04:54:00 UTC (rev 47608)
@@ -9,4 +9,4 @@
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])
More information about the tex-live-commits
mailing list