SnowSilver

Правильное подключение сторонних шрифтов

Recommended Posts

Всем привет! Подскажите с подключением сторонних шрифтов...

1. Предположим мне надо подключит какой то шрифт с разными начертаниями, могу ли я использовать одно имя шрифта в font-family, будет ли в таком случае использоваться правильное - подключенное начертание в зависимости от font-weight ?

2. Проверить, есть ли шрифт в системе(чтоб его не грузить лишний раз), можно с помощью local, такого перечисления думаю достаточно, чтоб наверника проверить:
local('Roboto Thin'), local('RobotoThin'), local('Roboto-Thin') ?

Я подключаю так(для каждого начертания через тире указано начертание):

 @font-face {
    font-family: "Roboto-Thin";
    src: local('Roboto Thin'), local('RobotoThin'), local('Roboto-Thin'), 
         '/fonts/Roboto-Thin.woff2' format('woff2'),
         '/fonts/Roboto-Thin.woff' format('woff');
    font-weight: 100;
    font-style: normal;
} 

@font-face {
    font-family: "Roboto-Light";
    src: local('RobotoLight'), local('Roboto Light'), local('Roboto-Light'), 
         '/fonts/Roboto-Light.woff2' format('woff2'),
         '/fonts/Roboto-Light.woff' format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Roboto-Regular";
    src: local('RobotoRegular'), local('Roboto Regular'), local('Roboto-Regular'), 
         '/fonts/Roboto-Regular.woff2' format('woff2'),
         '/fonts/Roboto-Regular.woff' format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Roboto-Black";
    src: local('RobotoBlack'), local('Roboto Black'), local('Roboto-Black'), 
         '/fonts/Roboto-Black.woff2' format('woff2'),
         '/fonts/Roboto-Black.woff' format('woff');
    font-weight: 900;
    font-style: normal;
}

 

Edited by SnowSilver

Share this post


Link to post
Share on other sites
1 час назад, Alexej сказал:

С первым пунктом понятно, спасибо!

А вот по поводу local()

В статье: 

Цитата

 

Кроме этого, у font-face есть еще одно правило, которое позволяет оптимизировать загрузку вашей страницы — это local. C помощью него мы можем проверить наличие шрифта на компьютере пользователя, и если таковой отсутствует, инициировать его загрузку. В local указывается полное наименование шрифта и его PostScript Name.

Вот такая запись font-face проверит наличие шрифта на компьютере:


@font-face {
    font-family: 'PT Sans';
    src: url('ptsans.eot');
    src: local('PT Sans'), local('PTSans-Regular'), 
         url('ptsans.eot?#iefix') format('embedded-opentype'),
         url('ptsans.woff') format('woff');
}

 

То есть в первом local указываем просто наименование шрифта для любого начертания, например для Roboto это и будет local('Roboto'), а под PostScript Name - подразумевается имя шрифта + его начертание через тире, например для Roboto жирного начертания будет local('Roboto-Black') - верно?

Можно встретить разные варианты, где то можно увидеть такой вариант: 

@font-face {
    font-family: Journal;
    src: local(JournalRegular), local("Journal Regular"),
		 url(journal-webfont-regular.woff);
	font-style: normal;
	font-weight: normal;
}

то есть в local пишется не просто именование шрифта, а сразу начертание "JournalRegular"...

Edited by SnowSilver

Share this post


Link to post
Share on other sites
1 час назад, SnowSilver сказал:

С первым пунктом понятно, спасибо!

А вот по поводу local()

В статье: 

То есть в первом local указываем просто наименование шрифта для любого начертания, например для Roboto это и будет local('Roboto'), а под PostScript Name - подразумевается имя шрифта + его начертание через тире, например для Roboto жирного начертания будет local('Roboto-Black') - верно?

Можно встретить разные варианты, где то можно увидеть такой вариант: 


@font-face {
    font-family: Journal;
    src: local(JournalRegular), local("Journal Regular"),
		 url(journal-webfont-regular.woff);
	font-style: normal;
	font-weight: normal;
}

то есть в local пишется не просто именование шрифта, а сразу начертание "JournalRegular"...

Ну я делаю local без начертания и с начертанием. А как писать с пробелом или с _ или же - я не знаю.... В локал обычно пишу так как шрифт называется в google fonts или захожу в папку с шрифтами винде и смотрю в столбец "семья" как там написано так и подключаю. 

 

 

 

Цитата

но насколько я знаю после установки шрифта в ОС он устанавливается как один шрифт с одним именем то есть в нашем случае Roboto а все остальные как то этому шрифту прикрепляются поэтому думаю не стоит даже писать про начертание в local хотя нужно пойти в спеку и уточнить что именно делает local  берет семью или название файла шрифта. Не знаю как все работает но винде если вы откройте (по крайней мере у меня так) то там нет начертания в отдельных файлах все начертания прикрепляются к одному семейству шрифтов поэтому не совсем все понятно. 

 

Безымянный.png

Edited by Alexej

Share this post


Link to post
Share on other sites
5 часов назад, Alexej сказал:

Ну я делаю local без начертания и с начертанием. А как писать с пробелом или с _ или же - я не знаю.... В локал обычно пишу так как шрифт называется в google fonts или захожу в папку с шрифтами винде и смотрю в столбец "семья" как там написано так и подключаю. 

 

 

 

 

Безымянный.png

Первый local это полное наименование шрифта, а второй local это похоже его PostScript Name. Вроде для шрифтов он гуглится без проблем... 

 

Но что есть  такое "PostScript Name"...? что то затрудняюсь найти информацию на сей счет

Share this post


Link to post
Share on other sites
10 часов назад, SnowSilver сказал:

Первый local это полное наименование шрифта, а второй local это похоже его PostScript Name. Вроде для шрифтов он гуглится без проблем... 

 

Но что есть  такое "PostScript Name"...? что то затрудняюсь найти информацию на сей счет

Наверное это нужно если семейство шрифта есть у пользователя но нет той что нужно начертании.... 

Share this post


Link to post
Share on other sites
37 минут назад, Alexej сказал:

Наверное это нужно если семейство шрифта есть у пользователя но нет той что нужно начертании.... 

Только вот в первом local как раз таки указывают полное наименование шрифта, например local('Roboto Black') - в том числе начертание... 

А вот второй будет local('Roboto-Black')

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Super_Saimon
      Добрый день!  Подскажите источник, от куда можно импортнуть в свой css файл шрифт DS-DIgital(шрифт как на старых циферблатах, нужен для отображения циферблата на таймере). Не могу  скачать к себе на комп - балуюсь в рабочее время на рабочем компе. И на работе запрет на скачивание без ведома админов чего угодно.
    • By uppercase_css
      Здравствуйте.
      Подскажите, пожалуйста аналог Times New Roman MT Extra Bold , а то он только с латиницей работает.
      Спасибо.
    • By Shiza
      Иногда при подключении шрифтов возникает следующая ситуация:



      Текст просто текст. Без оберток. Проблема возникает в хроме и почти всегда если шрифт используется в срытых (разворачиваемых) блоках или слайдерах (Owl Carousel), то есть на блоках который сначала не отображаются, а появляются позже.
      От чего это может происходить, и что с этим можно сделать?
      P.S. Создать JSFiddle с этой проблемой не удалось.
  • Member Statistics

    46,511
    Total Members
    3,128
    Most Online
    Marking
    Newest Member
    Marking
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.