Ответ 1
Ответ в 2019 году:
Используйте только WOFF2, или, если вам нужна традиционная поддержка, WOFF. Не используйте другой формат
(svg
и eot
являются мертвыми форматами, ttf
и otf
являются полными системными шрифтами и не должны использоваться в веб-целях)
Оригинальный ответ с 2012 года:
Короче говоря, font-face очень старый, но только недавно он был поддержан более чем IE.
-
eot
необходим для Internet Explorer, которые старше IE9 - они изобрели спецификацию, но eot был проприетарным решением. -
ttf
иotf
являются обычными старыми шрифтами, поэтому некоторые люди раздражались, что это означало, что любой мог бесплатно скачать дорогие для лицензии шрифты. -
Проходит время, в SVG 1.1 добавлена глава "шрифты", в которой объясняется, как моделировать шрифт исключительно с использованием разметки SVG, и люди начинают его использовать. Проходит больше времени, и оказывается, что они абсолютно ужасны по сравнению с обычным форматом шрифта, а SVG 2 снова удаляет всю главу.
-
Затем,
woff
изобретается людьми с небольшим знанием предметной области, что позволяет размещать шрифты таким образом, чтобы отбрасывать биты, которые критически важны для установки системы, но не имеют отношения к сети (делая людей счастливыми из-за пиратства) и позволяет использовать внутреннее сжатие для лучшего соответствия потребностям Интернета (что делает пользователей и хостов счастливыми). Это становится предпочтительным форматом. -
Редактирование 2019 Несколько лет спустя
woff2
подготовлен и принят, что улучшает сжатие, приводя к еще меньшим файлам, а также позволяет загружать один шрифт "по частям", так что шрифт, который поддерживает 20 сценариев, может быть сохранен как " вместо этого фрагменты "на диске", при этом браузеры автоматически могут загружать шрифт "по частям" по мере необходимости, а не передавать весь шрифт заранее, что еще больше повышает удобство набора текста.
Если вы не хотите поддерживать IE 8 и ниже, а также iOS 4 и ниже, а также Android 4.3 или более ранние версии, то вы можете просто использовать WOFF (и WOFF2, более сжатый WOFF, для новейших браузеров, которые его поддерживают).
@font-face {
font-family: 'MyWebFont';
src: url('myfont.woff2') format('woff2'),
url('myfont.woff') format('woff');
}
Поддержка woff
может быть проверена на http://caniuse.com/woff
Поддержка woff2
может быть проверена на http://caniuse.com/woff2