如何在嵌入 HTML 页面的 SVG 对象中使用 Adobe TypeKit 中的字体?
我可以直接使用网络字体(例如通过谷歌样式表:http: //fonts.googleapis.com/css? family= Spicy+Rice),但 TypeKit 使用不同的基于 javascript 的加载策略,这似乎不是将字体可用性应用于 SVG 对象。
这可能吗,如果可以,我该怎么做?
谢谢!
如何在嵌入 HTML 页面的 SVG 对象中使用 Adobe TypeKit 中的字体?
我可以直接使用网络字体(例如通过谷歌样式表:http: //fonts.googleapis.com/css? family= Spicy+Rice),但 TypeKit 使用不同的基于 javascript 的加载策略,这似乎不是将字体可用性应用于 SVG 对象。
这可能吗,如果可以,我该怎么做?
谢谢!
SVG 可以使用 CSS 样式表进行样式设置,因此您应该能够以这种方式应用它。
并且只要在页面上注册了字体,就可以使用textElToApplyFontTo.attr({ "font-family": "myFont" });
请注意,IE<9 可能会出现问题,我对 VML 字体支持不太了解。IE9+ 具有 SVG 支持,因此它应该可以与它以及所有其他现代 [桌面] 浏览器一起使用。
要考虑的一件重要事情是 Typekit 和其他基于 JS 的加载机制异步工作,因此字体只有在加载后才可用。
一些现代浏览器不会加载字体,除非 DOM 元素正在使用它,因此这也可能会导致问题(您可以尝试通过在 DOM 元素上使用它来加载字体,最好是在 SVG 文件上方。一个肮脏的技巧但是有用...)。