локально установленный TTF переопределяет шрифты Google - PullRequest
10 голосов
/ 23 февраля 2012

Я использую шрифт Ubuntu от Google Fonts:

<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,300italic,400italic,500,500italic,700,700italic' rel='stylesheet' type='text/css' />

Моя таблица стилей:

body {
    font-family: 'ubuntu',arial;
}

Работает, но если установить шрифт с тем же именем (Ubuntu), он переопределяет тот из Google Fonts.

Можно ли заставить браузер использовать тот из Google Fonts?

1 Ответ

11 голосов
/ 23 февраля 2012

Ответ лежит не в вашем коде, а в коде Google.

Вот часть CSS, которую вы запрашиваете:

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: bold;
  src: local('Ubuntu Bold'), local('Ubuntu-Bold'), url('http://themes.googleusercontent.com/static/fonts/ubuntu/v4/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff') format('woff');
}

Ключевой строкой здесь является local('Ubuntu Bold'), которая запрашивает загрузку локального файла, если это возможно. Самое простое решение - скопировать весь CSS из Google, вставить его в свой собственный CSS и изменить это имя local, например, local('Ubuntu Bold NonExisting Name or Something Else') Такой шрифт не существует и не заменит шрифт, загруженный CSS.

P.S. Я не проверял это сам. Если срок действия 0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff URL истекает, значит, вы находитесь в трудном положении. Попробуйте просмотреть лицензию на шрифт и подумайте о том, чтобы самостоятельно разместить шрифт, если приоритетной задачей является предотвращение локальной переопределения.

...