我需要在内部网应用程序上使用一些谷歌字体。客户端可能有也可能没有互联网连接。阅读许可条款,这似乎是法律允许的。


当前回答

由于您希望在自己的服务器上托管所有字体(或部分字体),您可以从这个repo下载字体并以您想要的方式使用它:https://github.com/praisedpk/Local-Google-Fonts

如果你只是想这样做来解决谷歌字体附带的浏览器缓存问题,你可以使用替代字体CDN,并包括字体为:

<link href="https://pagecdn.io/lib/easyfonts/fonts.css" rel="stylesheet" />

或一种特定的字体,如:

<link href="https://pagecdn.io/lib/easyfonts/lato.css" rel="stylesheet" />

其他回答

这在法律上是允许的,只要你遵守字体许可的条款——通常是OFL。

你需要一套网页字体格式,而font Squirrel Webfont Generator可以生成这些格式。

但是OFL要求在修改字体时重命名它们,使用生成器意味着修改它们。

实际上,您可以直接从谷歌下载所有字体格式变体,并将它们包含在您的css中,以从您的服务器提供服务。这样你就不必担心谷歌跟踪你网站的用户。然而,缺点可能会减慢你自己的发球速度。字体对资源的要求很高。我还没有在这个问题上做任何测试,不知道是否有人有类似的想法。

我有一个类似于@neverpanic的PHP脚本,自动从谷歌下载CSS和字体(暗示和未暗示)。然后,它根据用户代理从您自己的服务器提供正确的CSS和字体。它有自己的缓存,所以用户代理的字体和CSS只会被下载一次。

它还处于早期阶段,但可以在这里找到:DaAwesomeP / php-offline-fonts

编辑:正如luckyrumo指出的那样,字体被放弃了,取而代之的是:https://github.com/fontsource/fontsource

如果您正在使用Webpack,您可能会对这个项目感兴趣:https://github.com/KyleAMathews/typefaces

例如,你想使用Roboto字体:

npm install typeface-roboto --save

然后把它导入你的应用的入口点(主js文件):

import 'typeface-roboto'

由于您希望在自己的服务器上托管所有字体(或部分字体),您可以从这个repo下载字体并以您想要的方式使用它:https://github.com/praisedpk/Local-Google-Fonts

如果你只是想这样做来解决谷歌字体附带的浏览器缓存问题,你可以使用替代字体CDN,并包括字体为:

<link href="https://pagecdn.io/lib/easyfonts/fonts.css" rel="stylesheet" />

或一种特定的字体,如:

<link href="https://pagecdn.io/lib/easyfonts/lato.css" rel="stylesheet" />