2013-10-18 56 views
0

我給svg一些自定義字體(嵌入通過CSS的字體) 在瀏覽器中它工作正常,但如果我嘗試從SVG製作base64編碼圖像,字體不會是認識。嵌入字體在base64圖像

enter image description here

基爾是我的代碼:

CSS

svg,text, textPath{ 
    font-family: 'MyFont'; 
    } 

@font-face 
{ 
    font-family: MyFont; 
    src: src: url(data:application/x-font-ttf;base64,AAEAAAAQA...); 
} 

JS IM使用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

你必須EMB編輯SVG本身的樣式表,或者在外部引用它。如果SVG是獨立渲染的,則通用頁面樣式表將不會應用。

查看the reference on SVG styling瞭解更多信息。

+0

謝謝,工作正常;) – user1930254