Импортируйте Google Font, используя реальный URL в файл шрифта - PullRequest
0 голосов
/ 31 марта 2020

Я использую GoogleFonts в своем проекте и по какой-то причине я не могу импортировать шрифт без использования системы 'embed'.

Например, если вы хотите импортировать 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 напрямую импортировать шрифт из его stati c url (здесь: 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>

Но, как вы видите, шрифт не относится к моему названию. У вас есть идеи, где ошибка?

1 Ответ

1 голос
/ 31 марта 2020

Вы должны рассмотреть файл latin, а не latin-ext, но я рекомендую скопировать весь файл Google, чтобы убедиться, что он работает нормально, поскольку unicode-range важен

. Дескриптор unicode-range CSS устанавливает указанный диапазон символов c, который будет использоваться из шрифта, определенного @ 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';
}
<h1>The @font-face Rule</h1>
...