如何指定Google字体的返回类型格式?

3
我正在尝试使用以下代码片段从Google Fonts加载字体:

<link href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,700,700i" rel="stylesheet">

它会加载以下CSS。
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: local('Montserrat Italic'), local('Montserrat-Italic'), url(https://fonts.gstatic.com/s/montserrat/v10/-iqwlckIhsmvkx0N6rwPmv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: local('Montserrat Italic'), local('Montserrat-Italic'), url(https://fonts.gstatic.com/s/montserrat/v10/-iqwlckIhsmvkx0N6rwPmj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}

问题是它返回的是 woff2 字体格式。有没有办法加载 woff 或者 ttf 格式,而不是 woff2?因为在旧版浏览器中,woff2 无法正常渲染。

你可以直接下载字体文件并从本地文件夹中调用它们。你可以将它们下载为ttf或woff文件。 - Dragomir Kolev
@DragomirKolev 我有100多种字体。本地不太好听。还有其他办法吗? - phpnerd
4个回答

3

Google Fonts会进行浏览器嗅探并尝试仅提供相关字体格式

这意味着加载的CSS将根据加载它的浏览器而不同

他们支持旧版浏览器。特别是:

  • Google Chrome:版本4.249.4+
  • Mozilla Firefox:版本3.5+
  • Apple Safari:版本3.1+
  • Opera:版本10.5+
  • Microsoft Internet Explorer:版本6+

1

如上所述,谷歌预先确定所需的文件类型,并仅提供这些文件。他们主要通过请求者的 User-Agent 标头来实现此操作。

幸运的是,在开发工具中可以模拟此标头,因此如果您需要使用 .ttf 资源,可以使用 Blackberry 或其他类似的旧设备获取实际的字体URL:

输入图片描述


0

由于谷歌无法直接帮助我们下载字体,我没有找到方法来完成这个任务,但你可以查看这个 Github 仓库来帮助你:

https://github.com/google/fonts/


-1

如果您决定控制使用的格式,一种方法是使用自己的样式表,并更改src或从所需目标中获取样式声明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接