如果我处理文件
\documentclass{standalone}
\usepackage{DejaVuSans}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\begin{document}
\fontsize{9mm}{10mm}\selectfont
{\bfseries aceimnorsuvwxz}
\end{document}
使用 Makefile
run:
xelatex --no-pdf file
dvisvgm file.xdv
open file.svg
我收到一个麻烦的 SVG 文件:
- 由于 viewBox 不正确,在基线处被裁剪
- 在 Safari 上看起来还不错,
但 Chrome 却错了。
我该如何解决这两个问题?
下降器的存在降低了剪切线,但是两个问题仍然存在。
使用: - dvisvgm 2.1.3 - XeTeX,版本 3.14159265-2.6-0.99998 (TeX Live 2017) - macOS 10.13.6
答案1
这常问问题提到dvisvgm
以下内容:
生成的 SVG 很可能是有效的,但您的 SVG 查看器/编辑器可能不支持嵌入字体。实际上,只有少数 SVG 渲染器(例如 Apache Batik 和 Opera 网络浏览器)可以正确评估嵌入字体(另请参阅屏幕截图)。您可以运行 韋斯維爾带有
--no-fonts
用路径元素替换字体的选项。大多数查看器应该可以正确呈现生成的 SVG 文件。缺点是,文件会变大,并且文本信息(字符、基线等)会丢失。从 2.0 版开始,韋斯維爾提供命令行选项
--font-format
,允许将嵌入字体的格式从 SVG 更改为 WOFF、WOFF2 或 TrueType。如果您使用选项调用 dvisvgm--font-format=woff
,您应该会得到在几乎所有最新 Web 浏览器中都能正确呈现的 SVG 文件。此外,与选项相反--no-fonts
,所有文本属性都保留。
确实,我可以使用 Chrome 重现您的问题,但使用 WOFF 输出是正确的。
梅威瑟:
\documentclass{standalone}
\usepackage{DejaVuSans}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\begin{document}
\fontsize{9mm}{10mm}\selectfont
{\bfseries aceimnorsuvwxz}aceimnorsuvwxz
\end{document}
命令行:
dvisvgm --font-format=woff xdvconv.xdv
请注意,我使用的是 2.8 版本dvisvgm
,但根据常见问题解答,它也适用于早期版本。
结果: