我给了svg一些自定义字体(通过css的font-face嵌入) 在浏览器中它工作正常,但如果我尝试从SVG制作base64编码的图像,字体将无法识别。
Gere是我的代码:
CSS
svg,text, textPath{
font-family: 'MyFont';
}
@font-face
{
font-family: MyFont;
src: src: url(data:application/x-font-ttf;base64,AAEAAAAQA...);
}
JS 我正在使用RaphaelJS
//set the text's font
t.attr({"font-family": "MyFont"})
//make the snapshot
var source = new Image();
$("body").append(source);
$('body').click(function(){
// record start time
var startTime = new Date();
var svg = $('#paper').html();
var mySrc = 'data:image/svg+xml;base64,'+Base64.encode(svg);
//source.src = base64Path + "?" + mySrc.slice(5);
source.src = mySrc;
var endTime = new Date();
console.log(endTime - startTime);
});
答案 0 :(得分:1)
您必须将样式表嵌入SVG本身,或在外部引用它。如果SVG独立呈现,则不会应用常规页面样式表。
查看the reference on SVG styling了解详情。