Компания Google представила наработки по поддержке изменчивых шрифтов OpenType

Компания Google представила патчи для ряда открытых проектов, обеспечивающие поддержку технологии OpenType Font Variations, разработанной совместно с компаниями Microsoft, Apple и Adobe, и включённой в состав спецификации OpenType 1.8.

Технология OpenType Font Variations позволяет создавать изменчивые шрифты, в которых толщина, ширина и другие стилистические характеристики глифа могут произвольно меняться. Вместо отдельного описания каждого представления, комбинации возможных вариантов определяются в одном шрифтовом ресурсе через определения возможных delta-отклонений от базового глифа с получением результата через применение интерполяции. Таким образом, вместо использования для каждого стиля своего файла со шрифтом, можно обойтись одним шрифтовым файлом, что значительно сокращает размер данных, необходимых для получения заданного результата.

В рамках совместной работы компания Microsoft занималась подготовкой спецификаций, Apple передала некоторые существующие наработки и поделилась опытом, Adobe обновила формат CFF до CFF2, а Google взяла на себя работу по созданию инструментов для поддержки новой технологии. В результате разработан набор патчей с реализацией новой спецификации и формата CFF2 для пакетов FontTools и FreeType, для компилятора fontmake подготовлены компоненты для создания изменчивых шрифтов на основе обычных шрифтов, обновлён движок HarfBuzz и разработано демонстрационное приложение FontView.

Все наработки распространяются в виде свободного ПО и будут переданы для включения в основные проекты. Google также обновил открытый шрифт Noto, в который добавлена поддержка изменчивых шрифтов, и работает над обновлением других своих шрифтов. Кроме того, планируется подготовить расширения CSS для web-разработчиков, которые будут добавлены в Chrome после согласования новых атрибутов с разработчиками других браузеров.