ios safari 不会在 svg 文件中显示字体嵌入字体。任何修复?

Jos*_*ter 5 iphone svg font-face ipad ios

所以我有一个包含文本元素的 SVG 文件。例子:

<text transform="matrix(1 0 0 1 195.248 207.165)" fill="#999999" font-family="'LeagueGothic'" font-size="24">Europe</text>
Run Code Online (Sandbox Code Playgroud)

当我为 iOS 中包含的某些内容(如 Helvetica 或 Futura)指定字体系列时,一切正常。但是,一旦我指定了通过 @font-face 包含的字体,它就无法在 iOS 上运行,而在桌面 Safari、Chrome、Firefox 和 Opera 上却可以。

否则@font-face 字体在整个页面中都可以正常工作,除了 SVG 部分。

尝试将 SVG 文件包含为<embed>,<object><img>,但没有帮助。有趣的是,当我尝试内联 SVG(即直接在 HTML 中使用 SVG 代码)时,字体还可以,但它不会从 SVG 文件中绘制任何其他内容。

我在 iOS 4.2 上。尝试了 SVG 1.1、1.1 Tiny、1.2 等,都一样。

请问这是一个错误还是我遗漏了什么?谢谢。

此处的示例 SVG 文件:http : //pastie.org/1637291

Eri*_*röm 5

您的 svg 示例没有 @font-face 规则,也没有对任何外部样式表的引用。也许一个解决方案是在 svg 文件本身中包含一个具有该定义的样式表。

例如:

<style>
@font-face { font-family: foo; src: url(somefont.svg#theFontElementId) format("svg"); }
</style>
Run Code Online (Sandbox Code Playgroud)

如果您使用 eg <object>, <embed>, <iframe>or来引用 svg 部分并<img>在页面上的其他地方看到 webfont,那么丢失的样式表可能是原因。