Веб-шрифты и использование локальных

Я искал и искал, чтобы попытаться найти ответ на этот вопрос, но не могу найти ответ.

Мне интересно, используете ли вы src: local() Я так понимаю, это проверяет, установил ли пользователь шрифт, прежде чем загружать его правильно!?

Однако я не могу понять, когда шрифт загружается в первый раз, он постоянно сохраняется на компьютере пользователя (поскольку пользователю не нужно загружать его снова в следующий раз) или его удалят вскоре после этого?

Мне интересно, потому что маловероятно, что люди будут устанавливать шрифт, не загружая его с сайта, и, следовательно, если он не будет храниться в течение длительного периода времени, я не вижу необходимости использовать src: local().

Я также не уверен, делаю ли я в конечном итоге использование src: local, если мне действительно следует использовать "смайлик" тоже взломать!?

Font Squirrel, похоже, их не использует, так что мне это показалось интересным.


person Brett    schedule 10.11.2012    source источник


Ответы (2)


определение src: local(...), данное в проекте шрифтов CSS3, относится к " местная копия» без дополнительных пояснений. Что, по-видимому, происходит на практике — это можно довольно просто проверить — это то, что это должен быть установленный шрифт, а не загруженный шрифт, который даже не должен существовать в виде обычного файла в системе.

Совершенно независимо от этого данные шрифта обычно кэшируются, но это означает, что браузер связывает URL-адрес данных шрифта с загруженными данными. Таким образом, в рамках обычных механизмов кэширования браузеру не нужно перезагружать данные шрифта, например. если один и тот же загружаемый шрифт используется на разных страницах сайта и пользователь перемещается по ним.

Использование src: local(...) обычно имеет смысл только в том случае, если пользователь действительно загрузил шрифт (обычно с сайта загрузки) и установил его, чтобы использовать, например. в текстовом процессоре. Так что это может иметь смысл, если это популярный бесплатный шрифт. Когда локальная копия будет использоваться независимо от проблем с кешем. Однако существует вероятность того, что локальная копия является более старой (или более новой) версией, чем ваш загружаемый шрифт.

Взлом смайлов — запутанный вопрос, но в этом отношении я полагаюсь на решение FontSquirrel. Они больше не используют его, отчасти потому, что сообщалось, что он вызывает проблемы в некоторых версиях Android, отчасти потому, что они думают, что у них есть лучший хак; см. их запись в блоге Новый синтаксис Bulletproof @Font-Face.

person Jukka K. Korpela    schedule 10.11.2012
comment
Спасибо. Итак, я мог бы просто использовать src: url(), и браузер всегда использовал бы шрифт, если бы он был кэширован, и не загружал бы его каждый раз? - person Brett; 10.11.2012
comment
@ Бретт, нет, дело в том, что src: url() и кеширование - две разные вещи. - person Jukka K. Korpela; 10.11.2012
comment
Тогда я немного запутался, так как другой альтернативой является только добавление src: local, и вы заявили, что это полезно, только если пользователь сам загрузил и установил шрифт. Все, что я хочу сделать, это воспользоваться кэшированием шрифта, чтобы его не нужно было каждый раз загружать. - person Brett; 10.11.2012
comment
@ Бретт, извини, я запутался (перепутал url с local). Вы правы, достаточно использовать только src: url(...). - person Jukka K. Korpela; 10.11.2012

Когда шрифт загружен, он, скорее всего, будет сохранен в кеше веб-браузера.

Этот кеш может быть очищен в любое время: когда пользователь закрывает свой браузер, если пользователь использует программу очистки и так далее.

Однако вполне вероятно, что ваш шрифт некоторое время останется в кеше, пока не истечет срок его действия или не будет очищен.

person LMS    schedule 10.11.2012
comment
Хорошо, если я установлю длительный срок действия для шрифта, чтобы он некоторое время кэшировался, знаете ли вы, нужно ли мне использовать src: local, чтобы воспользоваться этим!? - person Brett; 10.11.2012