EOT

Embedded OpenType — проприетарный формат веб-шрифтов Microsoft, актуальный только для поддержки устаревших версий Internet Explorer.

.eot Embedded OpenType
ТипСжатый двоичный (проприетарный)
СжатиеMTX (проприетарный Microsoft)
Размер файлаАналогичен TTF
ПоддержкаТолько IE (6-11)
Лучше всего дляПоддержка устаревшего IE 6-8
BobcornОпциональный экспорт

Что такое EOT?

EOT был создан Microsoft в 1997 году как первый в истории формат веб-шрифтов. Он был представлен в W3C для стандартизации, но так и не был принят — главным образом из-за проприетарного алгоритма сжатия (MTX) и встроенных функций DRM, отвергнутых другими производителями браузеров.

Формат включает привязку URL — механизм, ограничивающий работу шрифтов только определёнными доменами, — и поддерживает субсеттинг шрифта для уменьшения размера файла за счёт удаления неиспользуемых глифов. Это были прогрессивные функции для конца 1990-х, но проприетарный характер формата означал, что он был реализован только в Internet Explorer.

Почти десятилетие — с IE 4 и до середины 2000-х — EOT был единственным способом использовать пользовательские шрифты в вебе. Только с появлением WOFF в 2010 году появилась кросс-браузерная альтернатива. Сегодня EOT — это реликт: полезный только для редких проектов, которым до сих пор необходима поддержка IE 8 и более ранних версий.

Как это работает

Файлы EOT оборачивают данные шрифта TrueType в сжатие MTX от Microsoft и проприетарный заголовок. Заголовок содержит информацию о привязке URL (список доменов, на которых разрешена загрузка шрифта), флаги лицензирования и метаданные шрифта, такие как имя семейства и стиль.

Когда Internet Explorer встречает EOT-шрифт в таблице стилей, он считывает заголовок, проверяет, совпадает ли URL-адрес источника текущей страницы с одним из разрешённых доменов, и только после этого распаковывает и рендерит шрифт. Если проверка URL не проходит, шрифт молча отклоняется — базовая форма защиты от хотлинкинга.

Классический «пуленепробиваемый» синтаксис @font-face, включающий EOT, выглядит так:

Пуленепробиваемый @font-face с EOT
@font-face {
  font-family: 'MyIcons';
  src: url('icons.eot');                    /* IE9 compat */
  src: url('icons.eot?#iefix') format('embedded-opentype'),
       url('icons.woff2') format('woff2'),
       url('icons.woff') format('woff'),
       url('icons.ttf') format('truetype');
}

Строка запроса ?#iefix является хаком для обхода ошибки парсера IE 9. IE 9 не мог корректно обработать несколько записей src в одном объявлении — он пытался загрузить всю строку (включая подсказки format()) как единый URL, что приводило к ошибке. Добавление ?#iefix к URL EOT заставляет IE 9 трактовать его как действительный самостоятельный URL, завершая путь до того, как парсер не справится с остальным объявлением. Современные браузеры полностью игнорируют строку запроса.

Плюсы и минусы

    Плюсы
  • Единственный формат шрифтов, поддерживаемый IE 6-8
  • Небольшой размер файла со сжатием MTX
  • Привязка URL обеспечивает базовую защиту от хотлинкинга
    Минусы
  • Проприетарный формат Microsoft (никогда не стандартизирован W3C)
  • Работает только в Internet Explorer
  • DRM/привязка URL могут вызывать проблемы развёртывания
  • Ни один современный браузер его не поддерживает
  • Устаревшая технология без дальнейшего развития

Когда использовать EOT

Только когда необходима поддержка IE 8 или более ранних версий. Эти древние браузеры не понимают WOFF, WOFF2 или даже TTF через @font-face — EOT является их единственным вариантом.

Для IE 9-11 WOFF является лучшим выбором: это открытый стандарт, с более широкой поддержкой инструментов и без балласта DRM и привязки URL. Если ваша аналитика показывает нулевой трафик IE 8 — что в подавляющем большинстве случаев верно в 2024 году и позднее — полностью пропустите EOT.

Перед включением EOT в сборку проверьте реальную аналитику браузеров. Глобальная доля использования IE 8 и ниже фактически составляет 0%. Если только вы не нацелены на конкретный корпоративный интранет или государственную систему, привязанную к древней версии IE, EOT добавляет сложность сборки без какой-либо практической пользы.

Устаревшая технология
Internet Explorer был официально снят с поддержки Microsoft в июне 2022 года. EOT существует исключительно для обратной совместимости с крайне устаревшими системами (государственные и корпоративные интранет). Для всех новых проектов пропустите EOT.
В Bobcorn
EOT является опциональным экспортом в Bobcorn. Включайте его только если ваш проект явно требует поддержки IE 8 или более ранних версий. Bobcorn использует библиотеку ttf2eot для конвертации из TTF, поэтому ручное преобразование не нужно — просто переключите опцию в диалоге экспорта, и файл .eot будет сгенерирован наряду с другими форматами шрифтов.