【问题标题】:Import Google Font using real url to font file使用真实网址将 Google 字体导入字体文件
【发布时间】:2020-07-12 02:05:16
【问题描述】:

我在我的项目中使用GoogleFonts,但由于某种原因,我无法在不使用“嵌入”系统的情况下导入字体。

例如,如果你想导入Titan One 字体,你可以使用:

@import url('https://fonts.googleapis.com/css2?family=Titan+One&display=swap');

font-family: 'Titan One', cursive;

这个url实际上是指一个声明字体的css文件:

/* latin-ext */
@font-face {
  font-family: 'Titan One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Titan One'), local('TitanOne'), url(https://fonts.gstatic.com/s/titanone/v7/mFTzWbsGxbbS_J5cQcjCmjgm-khyk-RW.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Titan One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Titan One'), local('TitanOne'), url(https://fonts.gstatic.com/s/titanone/v7/mFTzWbsGxbbS_J5cQcjClDgm-khykw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

所以我决定跳过@import 步骤,直接从其静态网址导入字体(此处:https://fonts.gstatic.com/s/titanone/v7/mFTzWbsGxbbS_J5cQcjCmjgm-khyk-RW.woff2):

<!DOCTYPE html>
<html>
<head>
  <style>
    @font-face {
      font-family: 'Titan One';
      font-style: normal;
      font-weight: 400;
      src: url(https://fonts.gstatic.com/s/titanone/v7/mFTzWbsGxbbS_J5cQcjCmjgm-khyk-RW.woff2);
    }
    
    h1 {
      font-family: 'Titan One';
    }
  </style>
</head>

<body>

  <h1>The @font-face Rule</h1>

</body>

</html>

但正如您所见,该字体不适用于我的标题。你知道错误在哪里吗?

【问题讨论】:

标签: html css fonts google-font-api


【解决方案1】:

您需要考虑 latin 文件而不是 latin-ext,但我建议您复制整个 Google 文件以确保其正常工作,因为 unicode-range 很重要

unicode-range CSS 描述符设置了要使用的特定字符范围,来自@font-face 定义的字体并可供当前页面使用。

该描述符的目的是允许对字体资源进行分段,以便浏览器只需要下载特定页面的文本内容所需的字体资源。 ref

@font-face {
  font-family: 'Titan One';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/titanone/v7/mFTzWbsGxbbS_J5cQcjClDgm-khykw.woff2);
}

h1 {
  font-family: 'Titan One';
}
&lt;h1&gt;The @font-face Rule&lt;/h1&gt;

【讨论】:

  • 是的,我在您的 cmets 之后尝试使用 latin 并且它的工作。但是你知道为什么吗? latinlatin-ext 有什么区别?
  • @johannchopin 我添加了更多细节,都是关于 unicode-range
  • 非常感谢您的回复、您的裁判和您在 SO 上的工作;)
猜你喜欢
  • 2014-07-11
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 2014-09-02
  • 2017-05-12
  • 2021-09-20
  • 1970-01-01
  • 2017-11-25
相关资源
最近更新 更多