С самого начала «вебошрифтовой революции» мы полагались на неизящные хаки деклараций @font-face, чтобы шрифты из Паутины загружались во всех браузерах. Может ли существовать лучший путь? Вполне изящный и совместимый с будущими браузерами?
Вкратце об истории вопроса
В сентябре 2009 года Пол Айриш
(Paul Irish) огласил
пуленепробиваемый синтаксис для записи деклараций
@font-face. Синтаксис был компактным и в то время действовал во всех браузерах. Недавно стали поступать, со временем усиливаясь, жалобы на отказ шрифтов загружаться в Android — поэтому мы стали вместо того рекомендовать синтаксис
«Mo' Bulletproofer», сочинённый Ричардом Финком
(Richard Fink). К сожалению, синтаксису
«Mo' Bulletproofer» требуется двойная запись деклараций, так что поддержка его сложнее.
Синтаксис Fontspring @Font-Face
А вот таким этому коду следовало бы быть с самого начала. Чистым, ясным и простым:
@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot?') format('eot'),
url('myfont-webfont.woff') format('woff'),
url('myfont-webfont.ttf') format('truetype'),
url('myfont-webfont.svg#svgFontName') format('svg');
}
Что? Я не понял.
Хак Трюк, заставляющий этот код заработать —
символ «?» вслед за именем файла EOT. Без шуток.
Как это срабатывает