Чтобы продолжить, я использовал расширенные опции генератора @ font-face для подстановки своих шрифтов, поэтому загружал только необходимые символы.
Один из вариантов заключался в том, чтобы Base64 кодировал шрифты (что позволило мне встроить их в мой файл CSS). Если память служит, то Base64 кодирует .woff
и .ttf
шрифт.
Хотя мне нравится поддерживать как можно больше пользователей из всех браузеров, я решил, что не стоит замедлять пользователей современных браузеров с дополнительными, вероятно, избыточными данными, поэтому я использовал Modernizr (который использует yep / nope.js) для асинхронно загружать отдельный CSS
файл со ссылками на все форматы шрифтов в соответствии с усиленным пуленепробиваемым синтаксисом шрифтов .
Я ходил взад и вперед между Base64, кодирующим .woff
шрифт и включающим остальные объявления шрифта в первичном CSS
файле, или только включал Base64, закодированный .woff
в первичном файле, CSS
а затем включал другие форматы в CSS
файл, через который я загружал асинхронно Modernizr.load
.
Я предпочитаю быструю загрузку эстетике, поэтому FOUC не представляет большой проблемы, но я отмечу, что большинство браузеров как бы «моргали» шрифтами, когда они загружались (что было после того, как закодированные в Base64 шрифты в CSS
загруженной) асинхронны.
С другой стороны, как только шрифты были загружены и сохранены в кеше (заголовки long expires установлены на сервере), мигание было удалено, и я смог загрузить расширенные наборы шрифтов, чтобы пользователи, которые говорили на других языках (и использовали Виджет гугл переводчик, который был включен) все равно будет видеть стилизованный текст.
Так как это был мой собственный сайт, я смог поэкспериментировать, но я в основном делал это, чтобы «похвастаться», я более консервативен с клиентскими сайтами.
Другой метод, который я реализовал, заключался в том, чтобы поместить все .svg
шрифты в один файл и идентифицировать каждый из них по своему собственному идентификатору, а не помещать каждый в отдельный файл, как генерирует генератор @ font-face.