1

我正在从命令行执行 Inkscape 以将 SVG 转换为 PDF,并且我依靠 fontconfig 将 SVG 中的文本元素的字体系列与(Debian)机器上的字体文件相匹配。除非文本元素的 style 属性的 font-family 值包含句点 (.),否则此方法有效。例如,SVG 中的文本元素的样式值为:

font-family: Lobster1.4

在 PDF Inkscape 导出中,此元素以默认字体呈现,而不是 Lobster。所以我在 /etc/fonts/local.conf 中添加了一条规则:

1  <match target="pattern">
2     <test qual="any" name="family">
3         <string>Lobster1.4</string>
4     </test>
5     <edit name="family" mode="assign">
6         <string>Lobster 14</string>
7     </edit>
8     <edit name="style" mode="assign">
9         <string>Regular</string>
10    </edit>
11 </match>

然后我运行 fc-cache,像以前一样使用 Inkscape 进行转换,但文本元素仍然没有在 Lobster 中呈现。

但是,如果我将此元素的 SVG 中的样式值更改为:

font-family: Lobster14

并将上面的第 3 行更改为:

3         <string>Lobster14</string>

文本元素在 Lobster 中完美呈现。所以这是导致问题的句点(点)字符。不幸的是,我正在处理的业务流程禁止我更改 SVG 输入,因此我必须处理这段时间。但是怎么做?如何逃脱第 3 行的点?这不起作用:

3         <string>Lobster1\.4</string>
4

0 回答 0