Що таке файл WOFF2?
WOFF2 — це формат файлу шрифту, який є більш стисненою версією веб-формату відкритого шрифту (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 | length | Загальний розмір файлу 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 | Довжина приватного блоку даних. |