我试图找出一个不错的解决方案(尤其是从 SEO 方面)在网页中嵌入字体。到目前为止,我已经看到了 W3C 解决方案,它甚至不适用于 Firefox,以及这个非常酷的解决方案。第二种解决方案仅适用于标题。有全文的解决方案吗?我厌倦了网页的标准字体。
谢谢!
我试图找出一个不错的解决方案(尤其是从 SEO 方面)在网页中嵌入字体。到目前为止,我已经看到了 W3C 解决方案,它甚至不适用于 Firefox,以及这个非常酷的解决方案。第二种解决方案仅适用于标题。有全文的解决方案吗?我厌倦了网页的标准字体。
谢谢!
自从最初提出和回答这个问题以来,情况发生了变化。使用@font-face 嵌入使正文文本的跨浏览器字体嵌入工作已经完成了大量工作。
Paul Irish 将Bulletproof @font-face 语法组合在一起,结合了其他多个人的尝试。如果你真的通读整篇文章(不仅仅是顶部),它允许一个@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 也有数百个@font-face 工具包。
Soma Design 还将FontFriend Bookmarklet放在一起,它可以动态重新定义页面上的字体,以便您可以尝试一下。它包括 FireFox 3.6+ 中的拖放 @font-face 支持。
最近,Google 开始提供Google Web Fonts,这是在开放源代码许可下可用并从 Google 的服务器提供的各种字体。
许可证限制
最后,WebFonts.info 整理了一个很好的 wiki字体列表,这些字体可用于基于许可证的@font-face 嵌入。它并不声称是一个详尽的列表,但它上面的字体应该是可用的(可能有条件,例如 CSS 文件中的属性)用于嵌入/链接。阅读许可证很重要,因为有一些限制在字体下载上没有明显推进。
试试Facetype.js,你把你的 .TTF 字体转换成一个 Javascript 文件。完全兼容 SEO,支持 FF、IE6 和 Safari,并在其他浏览器上优雅降级。
不,对于体型没有一个像样的解决方案,除非你愿意只迎合那些拥有尖端浏览器的人。
微软有WEFT,他们自己专有的字体嵌入技术,但我已经很多年没有听说过它了,我也不知道谁在使用它。
我使用 sIFR 作为显示类型(标题、博客文章的标题等),并使用一种不太破旧的网络安全字体(如 Trebuchet MS)。如果您对所有网络安全字体感到厌烦,那么您可能对这个术语的定义过于狭隘——看看这个主要操作系统附带的库存字体矩阵,您很有可能会找到一个字体级联抓住几乎所有的网络用户。
例如:font-family: "Lucida Grande", "Verdana", sans-serif
是一个常见的字体级联;OS X 带有 Lucida Grande,但那些使用 Windows 的用户将获得 Verdana,这是一种网络安全字体,其字母的大小和形状与 Lucida Grande 相似。如果 Linux 用户安装了大多数发行版的包管理器中存在的网络安全字体包,他们也将获得 Verdana,否则他们将退回到普通的无衬线字体。
而且这也不太可能——EOT 是一种限制性相当强的格式,仅由 IE 支持。Safari 3.1 和 Firefox 3.1(以及当前的 alpha)以及可能的 Opera 9.6 都支持 True Type 字体 (ttf) 嵌入,至少 Safari 通过相同的机制支持 SVG 字体。列表除了有关于这个一会儿好商量回。
看看Typekit,一个商业选项(他们也有一个免费的包可用)。
它根据所使用的浏览器(@font-face
与EOT
格式)使用不同的技术,并且它们还会为您处理所有字体许可问题。它支持所有到 IE6 的东西。
以下是有关 Typekit 工作原理的更多信息: