- Fixed the width of characters slanted by a mapfile entry (issue #82).
- If ttfautohint fails for a font, dvisvgm now uses the unhinted font and prints a corresponding warning message.
- Some code cleanup.
This is a small feature release that adds optional experimental support for ttfautohint.
ttfautohint usually creates better results than the FontForge autohinter that dvisvgm uses by default if you
call it with option --font-format=woff,autohint
, for example. The fonts embedded in the following SVG file were
hinted with ttfautohint:
In order to build dvisvgm with ttfautohint support, you need the ttfautohint library and the corresponding header
files which are provided as of the latest version 1.8.1. A pre-built DLL of ttfautohint for Windows can be found
here. By default, ttfautohint support is completely disabled
and not available in dvisvgm. To enable it, add option --with-ttfautohint
to the configure
script, and optionally
specify the location of the ttfautohint development files, e.g. --with-ttfautohint=/opt/ttfautohint
. Depending on the
configuration results, the ttfautohint library is either directly linked to the dvisvgm binary or looked up dynamically
when running dvisvgm. If ttfautohint support is available, the list printed when calling dvisvgm with option -V1
contains a corresponding entry, as shown in the box on the right.
$ dvisvgm -V1
dvisvgm 2.3 (x86_64-pc-linux)
-----------------------------
brotli: 1.0.2
clipper: 6.2.1
fontforge: 20160721
freetype: 2.8.0
Ghostscript: 9.22
kpathsea: 6.2.2
potrace: 1.15
ttfautohint: 1.8.1
woff2: 1.0.1
xxhash: 0.6.4
zlib: 1.2.11
- Updated the bundled brotli library to version 1.0.2.
- Updated the bundled template library
mpark::variant
. - Fixed a memory issue that may occur in conjuntion with option
--clipjoin
. - Some test and code improvements.
- Fixed a memory issue regarding font maps that could lead to segfaults (issue #79).
- Avoid scientific notation when printing floating point numbers.
- Minor code improvements.
- Fixed a portability issue when building the manual page. (issue #72).
- Fixed the incomplete conversion of the PostScript line width (issue #77).
- Further code refactorings and improvements.
- Added evaluation of
pdf:pagesize
specials. - Added evaluation of PDF hyperlink specials.
- Try to load Ghostscript dylib on Mac systems (patch by Toby Fleming, issue #66).
- Improved the TPIC special handler, added evaluation of the
tx
special. - Length values in dvisvgm specials now accept unit specifiers.
- Added
pdftex.map
to default map files. - Fixed potential infinite loop after starting subprocesses (issue #68).
- Files included with
psfile
are now also searched in the texmf tree if not present in the current working directory (issue #69). - Fixed transformation issue in computation of
psfile
position (issue #70). - Updated the bundled brotli, woff2, and xxHash libraries.
- Several code refactorings and improvements.
- Fixed build failures of the bundled FontForge library on Solaris 10.
- Increased code portability.
- Bundled the googletest sources to simplify building and executing the tests.
- Fixed a couple of issues related to LLVM’s libc++ (thanks to Mojca Miklavec and Rasmus Larsen for their help to isolate the problems).
- Fixed some potential memory leaks.
- Removed the
restrict
keyword from the xxHash sources to avoid C++ compilation errors (xxHash issue 88).