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

时间:2011-03-05 21:59:45

标签: iphone ipad ios svg font-face

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

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

当我将字体系列指定为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

1 个答案:

答案 0 :(得分:3)

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

例如:

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

如果您使用例如<object><embed><iframe><img>引用svg部分,并在页面的其他位置看到webfont,那么缺少样式表的事情可能是事业。