Локально установленный TTF переопределяет шрифты Google

Я использую шрифт 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

Ответ лежит не на вашем коде, а на 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. Я не проверял это сам. Если URL 0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff истекает, значит, вы находитесь в трудном положении. Попытайтесь увидеть лицензию на шрифт и подумайте о том, чтобы размещать шрифт самостоятельно, если приоритетом является предотвращение локального переопределения.