我在这里使用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设置字体目录?
答案 0 :(得分:0)
从手册中可以看出无法导入字体目录 可能是我错了顺便说一句。
替代方案
在手册中有ImagickDraw::setFont,允许您使用多种字体。
考虑到使用这种方法你必须绘制文本,它不完全适用于转换,但可能是有用的。