До 1984 года «цифровой шрифт» означал растровую карту: каждый символ хранился как набор пикселей фиксированного размера. При масштабировании такой шрифт терял чёткость. Проблему решило векторное описание контуров — и этот шаг перевернул шрифтовую индустрию.

PostScript (1984): контурная революция

Джон Уорнок в Adobe Systems разработал язык PostScript — страничное описание на основе кривых Безье третьей степени (кубических). Каждый глиф задавался математическим описанием контура, который принтер или наборная машина могли отрисовать при любом масштабе без потери качества. PostScript Type 1 стал стандартом для высококачественной полиграфии на ближайшие десять лет.

TrueType (1991): открытый вызов

Apple, не желая платить лицензии Adobe, разработала TrueType — альтернативный формат на основе квадратичных кривых Безье. Сложность кривых TrueType ниже, зато формат включал мощный механизм хинтинга (grid-fitting) — алгоритм подстройки контуров под конкретную пикселизацию. Для экранов с низким разрешением это давало существенное преимущество. Microsoft лицензировала TrueType, и он стал стандартом операционных систем.

Кривые Безье в шрифтах

PostScript/CFF использует кубические кривые (2 управляющие точки), TrueType — квадратичные (1 управляющая точка). Кубические описывают сложные контуры меньшим числом точек; квадратичные проще вычислять при рендеринге. OpenType поддерживает оба подтипа.

OpenType (2000): унификация

Консорциум Microsoft–Adobe создал OpenType как надстройку над обоими форматами. Одна спецификация, поддерживающая как CFF (PostScript-контуры), так и glyf (TrueType-контуры). Но главное — таблицы расширенных функций: лигатуры, альтернативы, надстрочные и подстрочные цифры, исторические формы, локализованные наборы знаков.

ФорматГодКривыеМакс. глифов
Type 11984Кубические Безье256
TrueType1991Квадратичные Безье65 536
OpenType2000Оба типа65 536
Variable Fonts2016OpenType + оси вариации65 536+

Переменные шрифты (2016)

OpenType 1.8 ввёл спецификацию переменных шрифтов (Variable Fonts). Вместо набора отдельных файлов для каждого начертания — один файл с осями вариации. Ось wght (насыщенность) позволяет плавно перемещаться от 100 (Thin) до 900 (Black). Ось wdth управляет шириной. Можно добавлять кастомные оси: наклон, оптический размер, «случайность» штриха.

Для веба это революция: один файл вместо 8–12 начертаний, плавные анимации веса при наведении, адаптивная типографика. Браузерная поддержка достигла 97% к 2022 году.