我有一个svg文件,其中自定义字体系列在浏览器中工作。当我将svg转换为任何图像类型(我已经尝试过png jpg pdf)时,字体将恢复为Arial。我在服务器上有字体,当我使用时它显示在字体列表中:
convert -list font
这是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="720" height="288" viewport-fill="white" xml:space="preserve">
<style>
@font-face {
font-family: 'ubuntubold';
src: url('fonts/ubuntu/ubuntu-b-webfont.eot');
src: url('fonts/ubuntu/ubuntu-b-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/ubuntu/ubuntu-b-webfont.woff') format('woff'),
url('fonts/ubuntu/ubuntu-b-webfont.ttf') format('truetype'),
url('fonts/ubuntu/ubuntu-b-webfont.svg#ubuntubold') format('svg');
font-weight: normal;
font-style: normal;
}
</style>
</defs>
<g transform="translate(450 149) rotate(0)">
<text font-family="'ubuntubold'" font-size="40" style="stroke: none; stroke-width: 1; stroke-dasharray: ; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: #0038ff; opacity: 1;" transform="translate(-240.54 39)">
<tspan x="0" y="-26" fill="#0038ff">
Bluemoon Entertainment</tspan>
</text>
</g>
</svg>
转换为我正在使用的图片:
convert -verbose -density 300 test.svg test_density.png
我知道还有其他图像转换程序,但我的客户非常坚定我使用imagemagick。