Перейти к содержимому

Раздел каталога

Шрифты: форматы и направления конвертации

Таблицы глифов, тип контуров и контейнер доставки.

4 формата и 9 направлений конвертации

Как устроены эти форматы

Файл шрифта — набор таблиц: контуры глифов, соответствие символов кодам, метрики, кернинг и правила подстановки. Различие TTF и OTF лежит в описании контуров: квадратичные кривые Безье в первом случае, кубические — во втором. Состав таблиц и доступные возможности типографики от этого выбора не зависят.

WOFF и WOFF2 — контейнеры доставки: те же таблицы, сжатые Deflate и Brotli соответственно. WOFF2 даёт файл примерно на треть компактнее WOFF и поддерживается всеми браузерами с 2018 года. Перевод между типами контуров пересчитывает кривые: кубическая аппроксимируется квадратичными с заданным допуском, отклонение остаётся ниже единицы координатной сетки.

Доставка в браузер

WOFF2: сжатие Brotli с предварительным преобразованием таблиц. Латинское начертание укладывается в 15–25 КБ, кириллическое с полным набором знаков — в 30–45 КБ. Разбиение по диапазонам Unicode сокращает передаваемый объём кратно.

Системная установка

TTF и OTF регистрируются операционной системой и становятся доступны всем приложениям сразу. Объём расширенной типографики определяется составом таблиц GSUB и GPOS в конкретной гарнитуре, а не выбором между этими двумя форматами.

Предыдущее поколение

WOFF использует Deflate и проигрывает WOFF2 около трети объёма. Единственное основание держать его в наборе — браузеры выпуска до 2016 года; в остальных случаях это лишний запрос и лишние килобайты на первой отрисовке.

Направления для шрифтов, упорядоченные по частоте обращений к странице.

Вопросы по работе сервиса: шрифтов

Как понять, будет ли файл перекодирован или просто перепакован?

По времени работы и по паре форматов. Смена контейнера при совместимых потоках (MKV → MP4 с H.264 внутри, WAV → FLAC, ZIP → 7Z) обрабатывается со скоростью чтения диска — секунды даже на гигабайтных файлах. Перекодирование ограничено производительностью кодировщика: минута исходного видео в 1080p занимает от нескольких секунд до минуты машинного времени в зависимости от CRF и пресета.

Почему после конвертации файл стал больше исходного?

Так ведёт себя переход из формата с потерями в формат без потерь. JPEG на 900 КБ после распаковки — это 24 бита на пиксель сырых данных; PNG сохранит их полностью и займёт 5–8 МБ. Новой информации в файле при этом не появляется: артефакты предыдущего сжатия записываются с той же точностью, что и полезное изображение.

Какое значение качества выбрать, чтобы не увидеть разницу?

Для JPEG рабочий диапазон — 82–92: ниже 75 на однотонных участках проступает блочность 8×8 пикселей, выше 95 файл растёт быстрее, чем улучшается изображение. Для H.264 то же место занимает CRF 18–23, где 18 практически неотличим от источника. Для MP3 порог прозрачности для большинства слушателей лежит в районе 192 кбит/с при кодировании VBR.

Сохранятся ли цветовой профиль и глубина цвета?

Профиль ICC переносится, если целевой формат его поддерживает: JPEG, PNG, TIFF и WebP умеют, BMP — нет. Глубина ограничивается возможностями формата: 10-битный HEIC при переводе в JPEG сводится к 8 битам на канал, и на плавных градиентах может проступить полосатость. Файлы в CMYK пересчитываются в sRGB и на экране выглядят иначе, чем на бумаге.

Что происходит с несколькими файлами в одном задании?

Направления, помеченные пакетной обработкой, принимают набор файлов и применяют к ним одинаковые параметры. Файлы обрабатываются последовательно, а результат доступен и по одному, и общим ZIP-архивом. Видео и другие тяжёлые преобразования пакетную обработку не поддерживают: одно задание заняло бы очередь на десятки минут.

Почему направление может быть недоступно?

Две причины. Первая — движок не установлен или временно не отвечает: страница направления остаётся, но кнопка запуска выключена. Вторая — преобразование не имеет корректной реализации: обратное восстановление RAW из JPEG, снятие DRM с книги, распознавание текста на сканах. Такие направления не включаются в реестр, чтобы не выдавать за конвертацию переупаковку без результата.