我正试图找出一个合适的解决方案(特别是从SEO方面)在网页中嵌入字体。到目前为止,我已经看到the W3C solution,它甚至不适用于Firefox和this pretty cool solution。第二种解决方案仅适用于标题。是否有可用于全文的解决方案?我厌倦了网页的标准字体。
谢谢!
答案 0 :(得分:131)
事情发生了变化,因为这个问题最初被问及并得到了解答。使用@ font-face嵌入使用正文文本的跨浏览器字体嵌入工作已经完成了大量的工作。
保罗爱尔兰将Bulletproof @font-face syntax组合在一起,结合了其他多人的尝试。如果您真正浏览整篇文章(不仅仅是顶部),它允许单个@ font-face语句覆盖IE,Firefox,Safari,Opera,Chrome以及其他可能的内容。基本上这可以用不会破坏任何东西的方式输出OTF,EOT,SVG和WOFF。
从他的文章中摘过:
@font-face {
font-family: 'Graublau Web';
src: url('GraublauWeb.eot');
src: local('Graublau Web Regular'), local('Graublau Web'),
url("GraublauWeb.woff") format("woff"),
url("GraublauWeb.otf") format("opentype"),
url("GraublauWeb.svg#grablau") format("svg");
}
在该基础上工作,Font Squirrel汇集了各种有用的工具,包括@font-face Generator,允许您上传TTF或OTF文件并获取其他类型的自动转换字体文件,使用预先构建的CSS和演示HTML页面。 Font Squirrel也有Hundreds of @font-face kits。
Soma Design还整合了FontFriend Bookmarklet,它可以动态地重新定义页面上的字体,以便您可以尝试。它包括FireFox 3.6 +中的拖放@ font-face支持。
最近,Google开始提供Google Web Fonts,这是一种在开源许可下提供的各种字体,并且可以从Google服务器提供。
许可限制
最后,WebFonts.info根据许可证汇总了一个很好的wiki列表Fonts available for @font-face embedding。它并不是一个详尽的列表,但它上面的字体应该是可用的(可能有条件,如CSS文件中的属性)嵌入/链接。 阅读许可证非常重要,因为在字体下载方面有一些明显的限制。
答案 1 :(得分:9)
尝试Facetype.js,将.TTF字体转换为Javascript文件。完全兼容SEO,支持FF,IE6和Safari,并在其他浏览器上优雅地降级。
答案 2 :(得分:6)
不,除非你愿意只为那些拥有最前沿浏览器的人提供服务,否则没有合适的身体类型解决方案。
微软拥有WEFT,他们自己的专有字体嵌入技术,但我多年没有听过它,我知道没有人使用它。
我使用sIFR获取显示类型(标题,博客帖子的标题等),并使用一种较少破旧的网络安全字体作为体型(如Trebuchet MS)。如果你对所有的网络安全字体感到厌倦,你可能过于狭隘地定义了这个术语 - 看看主要操作系统附带的this matrix of stock fonts,你可能会找到一个字体级联几乎吸引了所有网络用户。
例如:font-family: "Lucida Grande", "Verdana", sans-serif
是一种常见的字体级联; OS X附带Lucida Grande,但那些使用Windows的用户将获得Verdana,这是一种网络安全字体,字体大小和形状与Lucida Grande相似。如果Linux用户安装了大多数发行版包管理器中存在的Web安全字体包,他们也将获得Verdana,否则他们将回归到普通的sans-serif。
答案 3 :(得分:4)
并且它不太可能 - EOT是一种相当严格的格式,只有IE才支持。 Safari 3.1和Firefox 3.1(以及当前的alpha)和可能的Opera 9.6都支持真实字体(ttf)嵌入,并且至少Safari通过相同的机制支持SVG字体。一个单独的列表对此进行了很好的讨论back。
答案 4 :(得分:3)
查看Typekit,商业选项(他们也有免费套餐)。
它使用不同的技术,具体取决于使用的浏览器(@font-face
与EOT
格式),并且它们也会为您处理所有字体许可问题。它支持IE6下的所有内容。
以下是有关Typekit如何工作的更多信息:
答案 5 :(得分:2)
我问过a while back。答案基本上是它不起作用。 :(