我正在使用嵌入式SVG文件在Firefox(v26,“夜间版”和未来版本)中呈现字体。除了两种字体serif
和sans-serif
之外,还有什么可用的字体?
我的SVG是在Adobe Illustrator中生成的。我指定的任何font-family名称只在Safari和Chrome中正确呈现,我不能使用轮廓作为解决方法,因为我将使用动态生成的标签文本注释SVG。
除了使用轮廓之外,如何在SVG文档中注释自定义text
元素,以便它们在Firefox中正确呈现?
我正在使用嵌入式SVG文件在Firefox(v26,“夜间版”和未来版本)中呈现字体。除了两种字体serif
和sans-serif
之外,还有什么可用的字体?
我的SVG是在Adobe Illustrator中生成的。我指定的任何font-family名称只在Safari和Chrome中正确呈现,我不能使用轮廓作为解决方法,因为我将使用动态生成的标签文本注释SVG。
除了使用轮廓之外,如何在SVG文档中注释自定义text
元素,以便它们在Firefox中正确呈现?
Firefox完全可以使用自定义字体来呈现SVG中的text
。例如,可以按照以下步骤完成:
<svg>
<style>
@import url(http://fonts.googleapis.com/css?family=Varela+Round);
text { font-family:Varela Round, sans-serif; }
</style>
<text y="20">I will appear in a custom font</text>
</svg>
这个fiddle在一定程度上演示了用法。请注意,在jsfiddle中,CSS作为HTML样式表包含在内,而不是直接在CSS中。
以下内容可以用作数据URL,即您可以将其直接复制并粘贴到地址栏中。它演示了直接从SVG中使用@import
的方法。
data:text/html, <svg><style>@import url(http://fonts.googleapis.com/css?family=Varela+Round);text { font-family:Varela Round, sans-serif; }</style><text y="20">I will appear in a custom font</text></svg>)
image/svg+xml
,则在Firefox中无法正常工作。<link rel=stylesheet
。请注意,该页面上的某些字体由于我不理解的技术原因而被Firefox拒绝。但是,几乎所有这些字体都可以正常工作。)
SVG字体是SVG规范的一个分支,用于在SVG文件中定义字体。这与我之前概述的在SVG文件中使用字体完全不同。
据我了解,Mozilla对SVG字体规范的立场是,SVG字体的唯一优点是可以手动在文本编辑器中定义字体。其他人也表达了类似的观点。这就是为什么Mozilla集中精力开发WOFF的原因。
当前导入 网页 字体 的状态是,为了实现跨浏览器/设备兼容性,您必须提供多种不同的字体格式。在我看来,这很不幸,但并非世界末日。
@font-face
在 SVG 和 Firefox 中不起作用:https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face - Alex Reynolds