如何为SVG转换设置ImageMagick字体路径?

时间:2015-04-17 03:05:22

标签: php css svg fonts

我在这里使用Lobster测试SVG:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2400" height="3200" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
        <style>
            @import url('http://fonts.googleapis.com/css?family=Lobster');
        </style>
    </defs>
    <text id="SvgjsText1046" font-family="Lobster" fill="#000000" font-size="30px" stroke-width="0" font-style="" font-weight="" text-decoration=" " x="859.9871134019216" y="476.38530927854697" transform="rotate(0 1214.8671520099174 1164.5108891121047) translate(-9360.999092988961 -5185.475896759851) scale(11.885045772324295 11.885045772324297) ">
        <tspan id="SvgjsTspan1072" dy="29">TEST</tspan>
        <tspan id="SvgjsTspan1073" dy="29">TEST</tspan>
        <tspan id="SvgjsTspan1074" dy="29">TEST</tspan>
    </text>
</svg>

这在浏览器中渲染得很好,但是当在ImageMagick(使用php)中转换为PNG时,字体不会渲染。

我知道您可以使用setFont命令设置单个字体,但SVG可能包含多种字体。

在这种情况下,有没有办法为ImageMagick设置字体目录?

1 个答案:

答案 0 :(得分:0)

从手册中可以看出无法导入字体目录 可能是我错了顺便说一句。

替代方案

在手册中有ImagickDraw::setFont,允许您使用多种字体。

考虑到使用这种方法你必须绘制文本,它不完全适用于转换,但可能是有用的。