dvisvgm

A fast DVI, EPS, and PDF to SVG converter
授权协议 GPL-3.0 License
开发语言
所属分类 企业应用、 LaTeX排版系统
软件类型 开源软件
地区 不详
投 递 者 吉鸿宝
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

dvisvgm – A fast DVI to SVG converter

C/C++ CI

Description

dvisvgm is a utility for TeX/LaTeX users. It convertsDVI,EPS, andPDF files to theXML-based scalable vector graphics format SVG.The latest releases support standard DVI files (version 2) as well as DVI outputcreated by pTeX in vertical mode (version 3),and XeTeX (versions 5 to 7, also known as XDV).

To get an impression of the conversion results, have a look at theexamples created with dvisvgm.

Short overview of the main features:

  • Complete font support including virtual fonts, evaluation of font encodings, CMap files, sub-font definitions and font maps.
  • Glyph outlines of all required fonts are embedded into the generated SVG files.
  • The font data can be embedded in SVG, TrueType, WOFF, or WOFF2 format.
  • Glyph outlines of fonts that are not available in a vector format are generated on-the-fly by vectorizing METAFONT's bitmap output.
  • dvisvgm allows to replace font elements by paths so that applications without SVG font support are enabled to render dvisvgm's output properly.
  • Computes tight bounding boxes for the generated graphics, but supports common paper formats and arbitrary user-defined sizes as well.
  • Option --eps allows to convert EPS files to SVG.
  • Option --pdf allows to convert PDF documents to SVG.
  • Intersections of clipping paths can be computed directly instead of delegating this task to the SVG renderer. This increases the compatibility of the generated SVG files.
  • Approximates PostScript color gradient fills not directly supported by SVG 1.1.
  • The generated SVG structure and data can be improved with the built-in SVG optimizer.
  • Optionally creates compressed SVGZ files.
  • Provides options for applying page transformations, like translation, rotation, scaling, and skewing.
  • Evaluates several specials including color, emTeX, tpic, hyperref/HyperTeX, papersize, PDF hyperlink and mapfile, as well as PostScript specials.
  • The converter was successfully tested on various Linux (TeX Live) and Windows (MiKTeX, W32TeX) systems.
  • dvisvgm has been added to TeX Live, W32TeX, MiKTeX, and MacPorts. It is therefore available for a wide range of operating systems.

Usage

For detailed information about the command-line interface and all availableoptions of dvisvgm, see the manual page.

Dependencies

dvisvgm relies on the following free libraries:

  • Clipper
    To compute the intersection of two curved paths, dvisvgm flattens the paths topolygons, intersects them using a slightly modified version of Clipper, and reconstructsthe curves afterwards. A slightly modified version of Clipper is bundled with the sources.

  • FontForge library
    dvisvgm can be built with optional WOFF support that allows to embed the font datain WOFF or TrueType format rather than as SVG. The FontForge library provides the requiredfunctions to create font files in these formats. A reduced version of the library is bundledwith the dvisvgm sources.

  • FreeType 2
    This library is used to extract the glyph outlines from vector fonts (PFB, OTF, TTF).

  • Ghostscript
    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 scriptfinds the corresponding Ghostscript development files on the system, itdirectly 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 isenabled only if the shared library can be found. Due to incompatible changes of theGhostscript API, dvisvgm requires Ghostscript 8.31 or later.

  • Kpathsea
    This library is part of the Web2C package and is usually installed inconjunction with a TeX distribution. Kpathsea provides functions for searchingfiles in the large texmf tree. Please ensure that you use the kpathsea versioncoming with or matching your TeX system.

  • OpenSSL crypto librarydvisvgm comes with a bundled implementation of the MD5 hash algorithm which can optionallybe replaced with the corresponding function of the OpenSSL crypto library. If theconfiguration script finds the OpenSSL development files on the build system, it linksagainst libcrypto instead of the bundled MD5 module.

  • potracelib
    Peter Selinger's bitmap tracing library is utilized to vectorize Metafont'sbitmap output. It's also bundled with the dvisvgm sources.

  • ttfautohint
    dvisvgm can optionally be built with ttfautohint support to replace the autohintingfunctionality of FontForge. Since it's still an experimental feature, ttfautohint supportis disabled by default. To enable it, run configure with option --with-ttfautohint.

  • woff2 and brotli
    These Google libraries are bundled with the dvisvgm sources. They are usedto create WOFF2 files from TrueType fonts.

  • xxHash
    The xxHash library provides a fast hash algorithm. dvisvgm uses it to createunique integer values from PostScript character names in order to store them ina compact way together with their Unicode points. A recent version of xxHash isbundled with the dvisvgm sources.

  • zlib
    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 andadds 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 linkagainst 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 locationas command-line 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 filesvia a system call. Please ensure that Metafont is installed andreachable through the system's search path.

If you don't like compiling the sources yourself, you can downloadpre-compiled binaries for Windows and MiKTeX from theproject website instead.

Additional Information

This package is available from CTAN, and can bedownloaded from the project website as well. There you findthe sources, pre-compiled binaries, themanual page, FAQs and furtherinformation about the converter and related topics.

If you've found a bug, please let me know. You can either send me an email orpreferably use the bug tracker at GitHub.

Copyright

Copyright © 2005–2021 Martin Gieseking

This program is free software; you can redistribute it and/or modify it under the termsof the GNU General Public License as published by the Free Software Foundation; eitherversion 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 moredetails.

 相关资料
  • 本文向大家介绍区分每股收益(EPS)和稀释每股收益(D-EPS)。,包括了区分每股收益(EPS)和稀释每股收益(D-EPS)。的使用技巧和注意事项,需要的朋友参考一下 每股收益(EPS)和稀释每股收益(D-EPS)之间的主要区别如下- 每股收益(EPS) 每股稀释收益(D-EPS) 计算公司的基本每股收益。 计算公司的每股可转换股收益。 主要目的是计算公司的盈利能力。 主要目的是计算包括可转换证券

  • 使用javamail解析eml中的eps附件是否需要任何特殊处理我没有任何问题其他类型的附件。只有eps附件出现问题 当我使用outlook 2010发送eps附件时,它会将编码从base64转换为可打印的引号。 下面是我试图解析的EPS附件的标题。 内容类型:应用/postscript;name=“LOGO.eps”内容传输编码:引用可打印内容配置:附件;filename=“LOGO.eps”

  • 导入 EPS 文件 封装 PostScript (EPS) 是在应用程序间传输矢量图稿的流行文件格式。您可以使用 “打开 ”命令、 “置入 ”命令、 “粘贴 ”命令和拖放功能将图稿从 EPS 文件导入 Illustrator 中。 处理 EPS 图稿时请记住以下事项: 打开或嵌入在另一个应用程序中创建的 EPS 文件时, Illustrator 将所有对象转换为 Illustrator 本机对象(

  • 导入 EPS 文件 封装 PostScript (EPS) 是在应用程序间传输矢量图稿的流行文件格式。您可以使用“打开”命令、“置入”命令、“粘贴”命令和拖放功能将图稿从 EPS 文件导入 Illustrator 中。 处理 EPS 图稿时请记住以下事项: 打开或嵌入在另一个应用程序中创建的 EPS 文件时,Illustrator 将所有对象转换为 Illustrator 本机对象(即自有对象)。

  • 如果我尝试使用保存某些带有透明椭球体的绘图,则在尝试保存这些绘图时遇到问题。ps/。eps扩展。 我是如何做到这一点的,就是使用ImageMagick将原始png转换为ps。唯一的问题是png格式的图像约为90k,转换后的图像略低于4M。这是不好的,因为我有很多这样的图像,它将花费太多的时间来编译我的latex文档。有人能解决这个问题吗?

  • 工具:Ubuntu、Python、Selenium、Firefox 我打算从订阅网站自动下载图像文件。我只有通过付费订阅才能访问服务器。为了避免每次文件下载都要点击一个按钮,我决定使用Python、Selenium和Firefox将其自动化。(我两天来第一次同时使用这三种饼干。我对饼干也知之甚少。) 我有兴趣按顺序或偏好下载以下三种格式:['EPS'、'PNG'、'JPG']。网站上提供了每种格式