Направление конвертации
Конвертация WOFF в WOFF2
Преобразование WOFF → WOFF2 на сервере, без установки программ
- Загрузить
- Выбрать формат
- Скачать
Загрузка файлов
Область приёма файла
или
Файлы WOFF. До 5 МБ, до 20 файлов за раз. Изображение можно вставить из буфера обмена: Ctrl+V.
Исходники и результаты хранятся 60 минут, затем стираются фоновым уборщиком. Предельный размер файла — 5 МБ, срок хранения — час.
WOFF и WOFF2: характеристики
| Характеристика | .woffWOFF | .woff2WOFF2 |
|---|---|---|
| Полное название | Web Open Font Format | Web Open Font Format 2 |
| Разработчик | W3C | W3C |
| Год появления | 2010 | 2018 |
| Расширение | .woff | .woff2 |
| MIME-типы | font/woff, application/font-woff, application/x-font-woff | font/woff2, application/font-woff2 |
| Содержимое | Таблицы TrueType или CFF без изменений | Таблицы OpenType без потери качества |
| Сжатие | zlib (Deflate) | Brotli с предобработкой таблиц |
| Выигрыш в размере | Около 40% против TTF и OTF | На 20–30% меньше WOFF |
| Метаданные | Блок с данными о лицензии | нет данных |
| Поддержка | Все браузеры, включая устаревшие | Все актуальные браузеры |
| Чем открыть | Браузер через @font-face, FontForge, Glyphs, FontLab, fontTools (Python) | Браузер через @font-face, FontForge, Glyphs, FontLab, fontTools (Python) |
| Спецификация | Описание формата | Описание формата |
| Стандарт | нет данных | Рекомендация W3C, 2018 год |
Преобразование WOFF → WOFF2
WOFF и WOFF2 — две упаковки одного и того же sfnt-шрифта, различающиеся способом сжатия. Первая версия сжимает каждую таблицу отдельно алгоритмом Deflate со скользящим окном 32 768 байт. Вторая применяет Brotli ко всему потоку таблиц сразу и дополнительно перестраивает glyf с loca в компактное представление.
Из этих трёх различий и складывается выигрыш в 20–30 %. Более сильный алгоритм даёт основную часть, общий поток позволяет находить повторы между таблицами — у Deflate такой возможности нет по построению, — а преобразование контуров добавляет остаток у шрифтов с моделью TrueType. Содержимое при этом не меняется вовсе: контуры, метрики, кернинг, таблицы подстановок и инструкции хинтинга переносятся один в один, поэтому вёрстку после замены пересматривать не нужно.
Держать оба формата рядом сегодня почти не приходится: WOFF2 поддерживается всеми актуальными браузерами, включая мобильные. Если вы всё же оставляете запасной источник, порядок в правиле @font-face имеет значение: браузер берёт первый формат, который умеет читать, и при обратном порядке современный клиент скачает устаревший и более тяжёлый файл. WOFF2 указывается первым.
Практическая оговорка о происхождении файлов. WOFF нередко достаётся из архива темы, чужого проекта или стороннего сайта, и перепаковка прав на гарнитуру не добавляет: размещение шрифта в вебе остаётся распространением. Если файл взят с сервиса веб-шрифтов, конвертировать нечего — там отдаются готовые WOFF2. Направление поддерживает пакетную обработку и не имеет параметров.
Порядок преобразования WOFF → WOFF2
Шаг 1
Инвентаризация файлов
Соберите все начертания семейства, которые подключены в проекте, — обработать их удобнее одним заданием.
Шаг 2
Перепаковка
Настроек нет: шрифт распаковывается из старого контейнера и сжимается заново алгоритмом Brotli с максимальным уровнем.
Шаг 3
Обновление источников
Пропишите в правиле @font-face новый файл с форматом woff2. Порядок записей в списке источников определяет выбор клиента: берётся первый поддерживаемый.
Шаг 4
Замер трафика
Сравните суммарный вес запрошенных шрифтов до и после замены во вкладке сети панели разработчика — иначе результат перепаковки ничем не подтверждается.
Вопросы по работе сервиса
На сколько сократится файл?
Обычно на 20–30 %. Выигрыш скромнее, чем при перепаковке из TTF, потому что оба формата уже сжаты: разница возникает за счёт более сильного алгоритма, общего потока таблиц и преобразования контуров. На семействе из четырёх начертаний экономия всё равно измеряется сотнями килобайт.
Изменится ли рисунок шрифта?
Нет. Меняется только способ упаковки: контуры, метрики, кернинг, таблицы подстановок и инструкции хинтинга переносятся без изменений. Отрисовка текста и ширина строк останутся прежними, макеты пересматривать не потребуется.
Какой источник ставить первым в @font-face?
Сначала WOFF2, затем WOFF. Браузер выбирает первый формат из списка, который умеет читать, поэтому при обратном порядке современные клиенты скачают более тяжёлый устаревший файл, а выигрыш от перепаковки пропадёт.
Можно ли конвертировать шрифт из чужой темы?
Технически да, юридически — по лицензии гарнитуры. Публикация файла на сайте означает его распространение, а смена контейнера прав не создаёт. Если происхождение файла неизвестно, надёжнее взять гарнитуру со свободной лицензией.