【问题标题】:Manipulate unicode-range while importing from Google Fonts从 Google 字体导入时操作 unicode-range
【发布时间】:2015-05-25 00:30:52
【问题描述】:

我的问题可以看作是这个answer的后续。

我在我的项目中使用 Google 字体,现在想更改 unicode 范围,因此只有数字会受到影响(请参阅上面的链接答案)。我的问题是我无法使用包含:

@import url("http://fonts.googleapis.com/css?family=Lato:300,400,700");

当我像这样导入字体时,字体已经由谷歌生成(谷歌也提供了正确的字体设置以避免跨浏览器问题,非常方便)。我尝试像这样覆盖导入的字体:

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  unicode-range: U+30-39;
}

但这没有用。为了实现仅附加数字的预期效果,我需要从 Google 导入 URL 中获取 CSS,并将其复制到我自己的 CSS/SASS 文档中。但是后来我失去了由 Google Fonts API 完成的跨浏览器服务以及他们的 CDN 的速度。

有没有办法在保持 Google 字体导入的同时更改 unicode-range,或者当我想使用 unicode-range 时,我真的需要自己托管字体吗?

【问题讨论】:

  • 不要添加不相关的标签/绒毛。 sass 标签被故意移除:这不是 Sass 问题。

标签: css google-font-api unicode-range


【解决方案1】:

如果您想在导入时设置范围,只需将变量“子集”添加到链接中即可。

例如:

@import url("http://fonts.googleapis.com/css?family=Lato:300,400,700&subset=latin");

或者,如果文本非常小,您可以更改文本的子集变量,并在其中添加内容。

例如:

@import url("http://fonts.googleapis.com/css?family=Inconsolata&text=Hello");

Documentation

【讨论】:

  • 似乎没有任何改变。指定“子集”不会更改 Google 字体生成的字体。 fonts.googleapis.com/css2?family=Manrope&display=optionalfonts.googleapis.com/…
  • 请记住,这个答案是在 V1 Google Font API 上。现在,当从支持 UTF-8 的浏览器访问时,它基本上声明了所有子集,因此浏览器只下载需要的内容。虽然如果你想检查,curl 调用应该会给你不同的结果。 Google 官方字体库问题 113 中的更多信息:github.com/google/fonts/issues/113 您可能希望通过指定要使用的权重和 display=swap 来减少负载
【解决方案2】:

什么是unicode-range

这是一个用来告诉浏览器何时下载字体文件的道具。只要呈现属于给定范围的任何字符:就下载字体文件。

unicode-range不是旨在将样式分配给给定范围内的字符。

解决方案

最好的选择是使用text 参数来获取每个样式的字体文件,其中只包含您需要的字符,在本例中为[0-9] 范围。

网址:

https://fonts.googleapis.com/css?family=Lato:300,400,700&text=0123456789

Google 字体回复:

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url(https://fonts.gstatic.com/l/font?kit=S6u9w4BMUTPHh7USewqdFhfZ3-4B28Jv7vc&skey=91f32e07d083dd3a&v=v22) format('woff2');
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/l/font?kit=S6uyw4BMUTPHvxwiUT-eLhTc2OsC1s0&skey=2d58b92a99e1c086&v=v22) format('woff2');
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/l/font?kit=S6u9w4BMUTPHh6UVewqdFhfZ3-4B28Jv7vc&skey=3480a19627739c0d&v=v22) format('woff2');
}

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 2018-10-18
    • 1970-01-01
    • 2020-11-18
    • 2015-09-15
    • 2021-03-13
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多