我试图找到一个不错的解决方案(尤其是从SEO方面),以便在网页中嵌入字体。到目前为止,我已经看到了W3C解决方案,该解决方案甚至在Firefox上也无法使用,并且该解决方案非常酷。第二种解决方案仅适用于标题。是否有针对全文的解决方案?我已经厌倦了网页的标准字体。
谢谢!
Answers:
自从最初提出并回答这个问题以来,情况已经发生了变化。对于使用@ 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 kits。
Soma Design还将FontFriend Bookmarklet放在一起,该书签在运行中重新定义了页面上的字体,因此您可以尝试一下。它包括FireFox 3.6+中的拖放@ font-face支持。
最近,Google开始提供Google Web字体,这是在开放源代码许可下可以从Google服务器提供的各种字体。
许可限制
最后,WebFonts.info整理了一个漂亮的Wiki字体列表,可用于基于许可证的@ font-face嵌入。它并不声称是详尽的列表,但其上的字体应该可用(可能带有CSS文件中的属性等条件)进行嵌入/链接。阅读许可证很重要,因为存在一些限制,这些限制在字体下载上并没有明显地推进。
尝试使用Facetype.js,将.TTF字体转换为Javascript文件。完全兼容SEO,支持FF,IE6和Safari,并在其他浏览器上正常降级。
不,没有适合体型的解决方案,除非您只愿意迎合那些使用尖端浏览器的人。
微软拥有WEFT,这是他们自己的专有字体嵌入技术,但多年来我从未听说过它,而且我不知道有人使用它。
我使用sIFR作为显示类型(标题,博客文章标题等),并对主体类型使用一种磨损较少的网络安全字体(例如Trebuchet MS)。如果您对所有网络安全字体都感到无聊,则可能是对这个术语的定义太狭窄了-查看主要操作系统附带的此库存字体矩阵,您将有可能找到一个可以级联的字体捕获几乎所有的Web用户。
例如:font-family: "Lucida Grande", "Verdana", sans-serif
是常见的字体层叠;OS X附带了Lucida Grande,但装有Windows的用户将获得Verdana,这是一种网络安全字体,其字母和大小和形状与Lucida Grande相似。如果Linux用户已经安装了大多数发行版的程序包管理器中存在的Web安全字体程序包,那么他们还将获得Verdana,否则他们将退回到普通的sans-serif。
查看Typekit,这是一个商业选项(它们也提供免费软件包)。
它使用不同的技术,具体取决于所使用的浏览器(@font-face
与EOT
格式),并且它们还可以为您解决所有字体许可问题。它支持所有版本的IE6。
以下是有关Typekit如何工作的更多信息: