.WOFF2 вариант №
WOFF2 — это формат файлов шрифтов, представляющий собой более сжатую версию формата Web Open Font Format (WOFF). Он был разработан как способ уменьшить размер файла веб-шрифтов, позволяя им загружаться быстрее и использовать меньшую пропускную способность. WOFF2 использует алгоритм сжатия под названием Brotli для сжатия данных шрифта, что может привести к тому, что размеры файлов будут значительно меньше, чем у эквивалентных шрифтов WOFF. Этот формат поддерживается большинством современных веб-браузеров, включая Chrome, Firefox, Safari, Opera и Edge (начиная с версии 14).
Формат файла WOFF2 — дополнительная информация
Внутренняя файловая структура файла шрифта WOFF2 состоит из нескольких различных частей, включая заголовок, метаданные, каталог таблицы и сами данные шрифта.
Заголовок содержит информацию об общем формате файла, включая номер версии и количество таблиц, присутствующих в файле.
Раздел метаданных содержит такую информацию, как название шрифта, авторские права и другую информацию, связанную со шрифтом.
Каталог таблиц содержит информацию о различных таблицах, составляющих шрифт, включая их расположение в файле и их длину.
Сами данные шрифта разделены на несколько различных таблиц, каждая из которых содержит определенную информацию о шрифте, такую как его символы и соответствующие им глифы. Эти таблицы могут включать:
- Таблица ‘glyf’ содержит фактические контуры шрифта, включая форму и размер каждого символа.
- Таблица «head» содержит общую информацию о шрифте, такую как номер его версии, размер рисунка и т. д.
- Таблица ‘hmtx’ содержит информацию о метриках шрифта, включая ширину и положение символов.
- Каждая таблица сжимается и сохраняется в формате файла WOFF2 после завершения процесса кодирования.
В целом структура предназначена для обеспечения быстрого синтаксического анализа и декодирования, чтобы веб-браузеры могли быстро и эффективно загружать и отображать шрифт на веб-сайте.
Заголовок WOFF2
Заголовок WOFF состоит из идентифицирующей подписи, которая указывает тип данных, включенных в файл. Заголовок WOFF вместе с его полями выглядит следующим образом.
Тип | Имя поля | Описание |
---|---|---|
UInt32 | подпись | 0x774F4632 ‘wOF2’ |
UInt32 | флейвор | «Версия sfnt» входного шрифта. |
UInt32 | длина | Общий размер файла WOFF. |
UInt16 | numTables | Количество записей в каталоге таблиц шрифтов. |
UInt16 | зарезервировано | зарезервировано; установить на ноль. |
UInt32 | totalSfntSize | Общий размер, необходимый для несжатых данных шрифта, включая заголовок sfnt, каталог и таблицы шрифтов (включая отступы). |
UInt32 | totalCompressedSize Общая длина блока сжатых данных. | |
UInt16 | majorVersion | Основная версия файла WOFF. |
UInt16 | minorVersion | Дополнительная версия файла WOFF. |
UInt32 | metaOffset | Смещение блока метаданных от начала файла WOFF. |
UInt32 | metaLength | Длина блока сжатых метаданных. |
UInt32 | metaOrigLength | Несжатый размер блока метаданных. |
UInt32 | privOffset | Смещение до закрытого блока данных от начала файла WOFF. |
UInt32 | privLength | Длина закрытого блока данных. |