我在HTML页面中有一个SVG。像IE 8这样的老浏览器不支持SVG,因此我加载了Google的SVG Web库以进行Flash后备。如果浏览器是遗留的,SVG Web将SVG转换为幻像对象并在SWF中复制其功能。
如果SVG的文本元素具有font-family属性,则除了在IE 8中有效。 IE 8忽略了SWF中的font-family。
我在样式表中加载@ font-face:
@font-face {
font-family: 'MyriadPro-BoldIt';
src: url('myriadpro-boldit-webfont.eot');
src: url('myriadpro-boldit-webfont.woff') format('woff'),
url('myriadpro-boldit-webfont.ttf') format('truetype'),
url('myriadpro-boldit-webfont.svg#webfontyYDLSfQE') format('svg');
font-weight: normal;
font-style: normal;
}
将该font-family应用于SVG中的文本元素:
<script type="image/svg+xml">
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="120" version="1.1">
<text x="190" y="80" id="font-test" font-size="44.06" fill="#94dfe3"
font-family="MyriadPro-BoldIt">MyriadPro-BoldIt</text>
</svg>
</script>
无论我使用哪个客户端查看该页面,该文本看起来都很棒。 除了IE 8 ,它以默认的IE 8字体呈现它。
当我在现代浏览器上指示SVG Web 强制Flash 时,该文本看起来也很完美。
建议?