如何在fontconfig中转义特殊字符?

时间:2012-04-24 17:56:23

标签: fonts debian inkscape fontconfig

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

font-family: Lobster1.4

在PDF Inkscape导出中,此元素以默认字体呈现,而不是龙虾。所以我在/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进行转换,然后文本元素仍然不会在龙虾中呈现。

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

font-family: Lobster14

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

3         <string>Lobster14</string>

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

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

0 个答案:

没有答案