Web字体和使用本地

时间:2012-11-10 15:11:07

标签: css fonts font-face webfonts

我已经搜索过并试图找到答案,但似乎无法找到答案。

我想知道你是否使用src: local()我理解这个检查以确定用户是否先安装了字体,然后才下载它!?

然而我似乎无法找到的是,当第一次下载字体时,这会将字体永久存储在用户计算机上(因为用户下次不需要再次下载它)或者它会在不久之后被删除吗?

我很想知道,如果没有他们从网站下载字体,人们不太可能安装字体,因此如果它不会被存储很长一段时间,那么我认为没有必要使用src: local()

如果我确实使用“smiley face”hack,我也不确定 最终是否使用src: local

Font Squirrel似乎没有使用它们,所以我发现它很有趣。

2 个答案:

答案 0 :(得分:2)

CSS3字体草案中给出的definition of src: local(...)指的是“本地可用的副本”,没有额外的说明。在实践中显然会发生什么 - 这可以相当简单地测试 - 是它需要是一个安装的字体,而不是下载的字体,甚至不应该作为系统中的普通文件存在。

与此无关,字体数据通常被缓存 - 但这意味着浏览器将字体数据的URL与其加载的数据相关联。因此,在正常的缓存机制中,浏览器不需要重新加载字体数据,例如如果在网站的不同页面上使用相同的可下载字体,并且用户在那里浏览。

使用src: local(...)通常只对用户实际下载字体(通常来自其下载网站)安装它的可能性有用,例如使用它在Word处理器中。因此,如果它是一种流行的免费字体,它可能是有意义的。本地副本将独立于缓存问题使用。但是,本地副本可能是比您的可下载字体更旧(或更新)的版本。

笑脸黑客是一个令人困惑的问题,但在这方面,我依赖于FontSquirrel的决定。他们不再使用它,部分原因是据报道它在一些Android版本中引起问题,部分原因是因为他们认为他们有更好的黑客攻击;看他们的博客文章The New Bulletproof @Font-Face Syntax

答案 1 :(得分:0)

下载字体后,很可能会将其存储在网络浏览器的缓存中。

可以随时清除此缓存:当用户关闭浏览器时,如果用户使用清理程序,等等。

但是,您的字体很可能会在缓存中保留一段时间,直到它过期或被清除。