aspose.info
UK

WOFF - формат відкритого веб-файлу

Оновлено

Що таке файл WOFF?

Файл із розширенням .woff — це файл веб-шрифту на основі відкритого веб-формату шрифту (WOFF). Він має стислий контейнер для певного формату на основі типів шрифтів TrueType (.TTF) або OpenType (.OTT). WOFF було представлено з метою відрізняти веб-шрифти від файлів шрифтів, які використовуються в настільних програмах. Крім того, формат призначений для зменшення затримки передачі шрифтів із сервера на комп’ютер клієнта через мережу. Доступно кілька інструментів, які можуть конвертувати файли WOFF у TTF та інші формати файлів шрифтів.

Формат файлу WOFF

Формат шрифту WOFF стискає таблиці даних шрифтів структур sfnt на основі таблиць, які використовуються в різних типах шрифтів, таких як TrueType, OpenType і Open Font Format. Він схожий на контейнер для цих типів шрифтів, а також має місце для включення метаданих шрифту та даних приватного використання, які слід включити в контейнер. Перетворювачі використовують файли sfnt у файл у форматі WOFF, а агенти користувача відновлюють закодований файл для використання з веб-документом. Слід зазначити, що відновлені дані шрифту точно відповідають формату вхідного шрифту з усіх аспектів.

Утиліти файлів WOFF часто містять додаткові функції, такі як піднабір гліфів, перевірка або додавання функцій шрифту, але це не обов’язково. І творець, і агенти-користувачі повинні забезпечити збереження дійсності базових даних шрифту.

Структура файлу WOFF

Структура файлу WOFF подібна до структури шрифтів sfnt. Він базується на каталозі таблиць, який містить довжину та зміщення таблиць даних кожного шрифту. Після цієї початкової інформації слідують усі таблиці. Файл містить базу даних шрифтів, які є такими ж, як і в оригінальних шрифтах. Порядок таблиць також однаковий, але кожну можна стиснути. Проте каталог таблиць WOFF замінює оригінальний каталог таблиць.

Файл WOFF складається з наступного:

  • WOFFHeader – заголовок файлу з основним типом і версією шрифту, а також зсуви до метаданих і приватних блоків даних.
  • TableDirectory - каталог таблиць шрифтів із зазначенням оригінального розміру, стисненого розміру та розташування кожної таблиці у файлі WOFF.
  • FontTables – таблиці даних шрифтів із вхідного шрифту sfnt, стиснені для зменшення вимог до пропускної здатності.
  • ExtendedMetadata – додатковий блок розширених метаданих, представлений у форматі XML і стиснутий для зберігання у файлі WOFF.
  • PrivateData – додатковий блок приватних даних для використання розробником шрифтів, ливарним заводом або постачальником.

Заголовок WOFF

Заголовок WOFF містить ідентифікаційний підпис, який вказує на тип даних, включених до файлу. Заголовок WOFF разом із його полями виглядає наступним чином.

ТипНазва поляОпис
UInt32підпис0x774F4646 ‘wOFF’
UInt32смак“Sfnt-версія” вхідного шрифту.
UInt32lengthЗагальний розмір файлу WOFF.
UInt16numTablesКількість записів у каталозі таблиць шрифтів.
UInt16зарезервованийЗарезервований; встановити на нуль.
UInt32totalSfntSizeЗагальний розмір, необхідний для нестиснених даних шрифту, включаючи заголовок sfnt, каталог і таблиці шрифтів (включаючи відступи).
UInt16majorVersionОсновна версія файлу WOFF.
UInt16minorVersionМолодша версія файлу WOFF.
UInt32metaOffsetЗсув до блоку метаданих, від початку файлу WOFF.
UInt32metaLengthДовжина стисненого блоку метаданих.
UInt32metaOrigLengthНестиснутий розмір блоку метаданих.
UInt32privOffsetЗміщення до приватного блоку даних, від початку файлу WOFF.
UInt32privLengthДовжина приватного блоку даних.

Посилання

Див. також