1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
dvisvgm -- A DVI to SVG converter
DESCRIPTION
dvisvgm is a utility for TeX/LaTeX users. It converts DVI, EPS, and
PDF files to the XML-based scalable vector graphics format SVG.
DEPENDENCIES
dvisvgm relies on the following free libraries:
* Clipper (http://www.angusj.com/delphi/clipper.php)
To compute the intersections of two curved paths, dvisvgm flattens the paths
to polygons, intersects them using Clipper, and reconstructs the curves
afterwards.
* FontForge library (https://fontforge.github.io)
dvisvgm can be built with optional WOFF support that allows to embed the
font data in WOFF or TrueType format rather than as SVG. The FontForge
library provides the required functions to create font files in these
formats. A reduced version of the library is bundled with the dvisvgm
sources.
* FreeType 2 (http://www.freetype.org)
This library is used to extract the glyph outlines from vector fonts
(PFB, OTF, TTF).
* Ghostscript (https://www.ghostscript.com)
The PostScript special handler requires the Ghostscript shared library
libgs.so.N (Linux) or gsdll32.dll/gsdll64.dll (Windows) to be installed.
If the configure script finds the corresponding Ghostscript development
files on the system, it directly links against libgs.so.N, where N is the
library's ABI version. Otherwise, the library is looked up during runtime,
and the PostScript support is enabled only if the shared library can be
found. Due to incompatible changes of the Ghostscript API, dvisvgm requires
Ghostscript 8.31 or later.
* kpathsea (https://tug.org/kpathsea)
This library is part of the Web2C package and is usually installed in
conjunction with a TeX distribution. kpathsea provides functions for
searching files in the large texmf tree. Please ensure that you use the
kpathsea version coming with or matching your TeX system.
* OpenSSL crypto library (https://www.openssl.org)
dvisvgm comes with a bundled implementation of the MD5 hash algorithm which
can optionally be replaced with the corresponding function of the OpenSSL
crypto library. If the configuration script finds the OpenSSL development
files on the build system, it links against libcrypto instead of the bundled
MD5 module.
* potracelib (http://potrace.sourceforge.net)
Peter Selinger's bitmap tracing library is utilized to vectorize Metafont's
bitmap output. A recent version is also part of the dvisvgm sources.
* ttfautohint (https://www.freetype.org/ttfautohint)
dvisvgm can optionally be built with ttfautohint support to replace the
autohinting functionality of FontForge. Since it's still an experimental
feature, ttfautohint support is disabled by default.
The development files required for Windows can be found at
https://github.com/mgieseki/ttfautohint-dll.
* woff2 and brotli (https://github.com/google/woff2)
These Google libraries are bundled with the dvisvgm sources. They are used
to create WOFF2 from TrueType fonts.
* xxHash (https://github.com/Cyan4973/xxHash)
The xxHash library provides a fast hash algorithm. dvisvgm uses it to
create unique integer values from PostScript character names in order to
store them in a compact way together with their Unicode points. A recent
version of xxHash is bundled with the dvisvgm sources.
* zlib (http://www.zlib.org)
This library is required to create compressed SVGZ files.
BUILDING DVISVGM FROM SOURCE
dvisvgm is written in C++11 (ISO C++ standard 2011) and requires an appropriate
compiler, like GCC 4.9, Clang 3.3, or any later version. The configure script
checks for the availability of C++11 support and adds the proper compiler
options if necessary.
Quick installation info:
* ensure that the development packages of all libraries, listed above,
are installed
* type "./autogen.sh" if "configure" is not present in the dvisvgm
root folder
* either type "./configure" if you don't want to use the bundled libraries
brotli, potrace, woff2, and xxHash but link against the corresponding
system libraries,
or type "./configure --enable-bundled-libs" in order to build and
statically link the bundled libraries.
* type "make"
* type "make install" as root (or "sudo make install")
For generic configuration instructions see the file INSTALL.
The configure script should recognize all necessary parameters.
If a library is installed but not detected, specify its location
as commandline parameter of configure, e.g.
./configure --with-freetype=/usr/local/freetype
(all available options can be displayed with ./configure --help)
The tracer module calls Metafont in case of lacking TFM or PFB files
via a system call. Please ensure that Metafont is installed and
reachable through the system's search path.
If you don't like compiling the sources yourself, you can
download pre-compiled executables for Windows and MiKTeX
from the project website instead (see below).
USAGE
Information about the command-line interface and the available options can be
found in the manual page.
ADDITIONAL INFORMATION
This package is available from CTAN (dviware/dvisvgm) and can be downloaded
from the project website as well:
https://dvisvgm.de
Here you can find the sources, pre-compiled binaries and further additional
information about the converter and related topics.
If you've found a bug, please let me know. You can either send me an email or
preferably use the bug tracker at GitHub (https://github.com/mgieseki/dvisvgm).
COPYRIGHT
Copyright (C) 2005-2021 Martin Gieseking <martin.gieseking@uos.de>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
See file COPYING for details.
|