dvisvgm

dvisvgm

将DVI、EPS和PDF文件转换为SVG格式的开源工具

dvisvgm是一个开源的文件转换工具,主要用于将DVI、EPS和PDF文件转换为SVG格式。它支持多种字体类型和特殊命令,可嵌入字形轮廓,计算边界框,处理剪切路径交集,并近似颜色渐变填充。dvisvgm还内置了SVG优化器,提高了输出质量。作为TeX生态系统的一部分,它已集成到多个主流TeX发行版中,可在各种操作系统上使用。

dvisvgmDVI转换SVGTeXLaTeXGithub开源项目

dvisvgm – 一款快速的 DVI 到 SVG 转换器

C/C++ CI 构建状态 Copr 状态 代码状态 许可证 发布

描述

dvisvgm 是一款面向 TeX/LaTeX 用户的实用工具。它可以将 DVIEPSPDF 文件转换为基于 XML 的可缩放矢量图形格式 SVG。最新版本支持标准 DVI 文件(版本 2)以及由 pTeX 在垂直模式下创建的 DVI 输出(版本 3),以及 XeTeX(版本 5 至 7,也称为 XDV)。

要了解转换效果,可以查看使用 dvisvgm 创建的示例

主要特性概述:

  • 完整的字体支持,包括虚拟字体字体编码评估、CMap 文件、子字体定义和字体映射。
  • 所有必需字体的字形轮廓都嵌入到生成的 SVG 文件中。
  • 字体数据可以以 SVG、TrueType、WOFF 或 WOFF2 格式嵌入。
  • 对于没有矢量格式的字体,通过矢量化 METAFONT 的位图输出来即时生成字形轮廓。
  • dvisvgm 允许用路径替换字体元素,使不支持 SVG 字体的应用程序能够正确渲染 dvisvgm 的输出。
  • 为生成的图形计算紧密的边界框,同时也支持常见的纸张格式和任意用户定义的尺寸。
  • --eps 选项允许将 EPS 文件转换为 SVG。
  • --pdf 选项允许将 PDF 文档转换为 SVG。
  • 可以直接计算裁剪路径的交集,而不是将此任务委托给 SVG 渲染器,从而提高生成的 SVG 文件的兼容性。
  • 近似 SVG 1.1 不直接支持的 PostScript 颜色渐变填充
  • 使用内置的 SVG 优化器可以改进生成的 SVG 结构和数据。
  • 可选择创建压缩的 SVGZ 文件。
  • 提供应用页面变换的选项,如平移、旋转、缩放和倾斜。
  • 评估多种特殊命令,包括颜色、emTeX、tpic、hyperref/HyperTeX、papersize、PDF 超链接和 mapfile,以及 PostScript 特殊命令。
  • 转换器已在各种 Linux(TeX Live)和 Windows(MiKTeX、TeX Live)系统上成功测试。
  • dvisvgm 已被添加到 TeX LiveMiKTeXMacPorts 中。因此,它可用于多种操作系统。

使用方法

有关 dvisvgm 命令行界面和所有可用选项的详细信息,请参阅手册页

依赖项

dvisvgm 依赖以下免费库:

  • Clipper
    为计算两条曲线路径的交集,dvisvgm 将路径展平为多边形,使用略微修改的 Clipper 版本进行交集计算,然后重建曲线。源代码中包含了略微修改的 Clipper 版本。

  • FreeType 2
    该库用于从矢量字体(PFB、OTF、TTF)中提取字形轮廓。

  • Ghostscript
    PostScript 特殊处理程序需要安装 Ghostscript 共享库 libgs.so.N(Linux)或 gsdll32.dll/gsdll64.dll(Windows)。如果配置脚本在系统上找到相应的 Ghostscript 开发文件,它会直接链接到 libgs.so.N,其中 N 是库的 ABI 版本。否则,程序会在运行时查找库,只有在找到共享库的情况下才启用 PostScript 支持。由于 Ghostscript API 的不兼容变化,dvisvgm 需要 Ghostscript 8.31 或更高版本。

  • Kpathsea 这个库是Web2C软件包的一部分,通常与TeX发行版一起安装。Kpathsea提供了在大型texmf树中搜索文件的功能。请确保使用与您的TeX系统一起提供或匹配的kpathsea版本。

  • potracelib Peter Selinger的位图追踪库用于将Metafont的位图输出矢量化。它也与_dvisvgm_源代码一起捆绑。

  • ttfautohint _dvisvgm_可以选择性地构建ttfautohint支持,以允许对生成的TrueType、WOFF和WOFF2字体进行自动微调。由于这仍是一个实验性功能,默认情况下禁用ttfautohint支持。要启用它,请使用--with-ttfautohint选项运行configure

  • woff2brotli 这些Google库与_dvisvgm_源代码一起捆绑。它们用于从TrueType字体创建WOFF2文件。

  • xxHash xxHash库提供了一种快速的哈希算法。_dvisvgm_使用它从PostScript字符名称创建唯一的整数值,以便将它们与Unicode码点一起以紧凑的方式存储。_dvisvgm_源代码中捆绑了xxHash的最新版本。

  • zlib 这个库用于创建压缩的SVGZ文件。

从源代码构建dvisvgm

_dvisvgm_用C++11编写(ISO C++标准2011),需要适当的编译器,如GCC 4.9、Clang 3.3或更高版本。配置脚本会检查C++11支持的可用性,并在必要时添加适当的编译器选项。

快速安装说明:

  • 确保安装了上述所有库的开发包
  • 如果_dvisvgm_根文件夹中没有configure,请输入autoreconf -fi
  • 如果不想使用捆绑的_brotli_、potrace、_woff2_和_xxHash_库,而是链接到相应的系统库,请输入./configure
  • 或者输入./configure --enable-bundled-libs以构建并静态链接捆绑的库
  • 输入make
  • 以root身份输入make install(或sudo make install

有关通用配置说明,请参阅INSTALL文件。

配置脚本应该能识别所有必要的参数。如果某个库已安装但未被检测到,请在configure的命令行参数中指定其位置,例如: ./configure --with-freetype=/usr/local/freetype (可以通过./configure --help显示所有可用选项)

当缺少TFM或PFB文件时,跟踪器模块会通过系统调用来调用Metafont。请确保已安装Metafont,并且可以通过系统的搜索路径找到它。

如果您不想自己编译源代码,可以从项目网站下载Windows和MiKTeX的预编译二进制文件。

附加信息

该软件包可从CTAN获得,也可以从项目网站下载。在那里您可以找到源代码、预编译二进制文件手册页常见问题以及有关转换器和相关主题的更多信息。

如果您发现了bug,请告诉我。您可以给我发电子邮件,或者最好使用GitHub上的bug跟踪器

版权

版权所有 © 2005–2024 Martin Gieseking

本程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它;可以使用许可证的第3版,或(随您选择)任何更高版本。

分发本程序是希望它能有用,但不提供任何保证;甚至不提供对适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅GNU通用公共许可证

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多