base64图像中嵌入的字体

时间:2013-10-18 15:36:09

标签: javascript html css svg fonts

我给了svg一些自定义字体(通过css的font-face嵌入) 在浏览器中它工作正常,但如果我尝试从SVG制作base64编码的图像,字体将无法识别。

enter image description here

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);


    });

1 个答案:

答案 0 :(得分:1)

您必须将样式表嵌入SVG本身,或在外部引用它。如果SVG独立呈现,则不会应用常规页面样式表。

查看the reference on SVG styling了解详情。