标题有歧义,让我来澄清一下:我有一个 SVG 图像,其中包含一段文字,我想用自定义字体渲染它。然而,在嵌入 HTML 页面中时会出现一些新的问题。此外,一些浏览器(尤其是 Firefox)在渲染直接呈现 SVG 和在页面内使用 SVG(例如在
是否有一种可靠的方法来在svg图像中嵌入跨浏览器的字体?(再次强调,我指的是在svg图像中呈现嵌入的字体,而不是将svg字体嵌入网页中。)
img
标签中)时表现不同。<defs>
<style>
@font-face {
font-family: "Open Sans";
src: local("Open Sans"),
local("OpenSans"),
url('https://example.com/OpenSans-Regular.eot') format('eot'),
url('https://example.com/OpenSans-Regular.woff') format('woff'),
url('https://example.com/OpenSans-Regular.ttf') format('truetype');
}
/* ...
据我所知,如果这是一个网页,它应该可以成功地在几乎所有的地方进行呈现。然而,作为svg图片,我无法让它正常工作。当前格式在几乎所有地方都能正常工作,除了IE10(和可能的旧版本):字体有时会加载,有时不会。每隔一秒刷新就会使用系统替代字体。将woff文件以base64编码文件的形式嵌入内部可以解决问题,但这样会破坏Safari的功能(改变顺序也无法解决问题)。是否有一种可靠的方法来在svg图像中嵌入跨浏览器的字体?(再次强调,我指的是在svg图像中呈现嵌入的字体,而不是将svg字体嵌入网页中。)