Компания Google открыла код библиотеки для работы со шрифтами - sfntly

Компания Google анонсировала открытие под лицензией Apache кода библиотеки sfntly, предназначенной для разбора, редактирования и создания шрифтов на базе контейнера SFNT (OpenType, TrueType и т.п.). Библиотека доступна в двух вариантах: для языков C++ и Java. Код библиотеки отмечен как стабильный. В настоящее время Java-версия библиотеки используется для динамической фильтрации (выделения подмножеств, удаления лишних символов) шрифтов в проекте Google Web Fonts, а С++ вариант при печати PDF-документов в браузера Chrome.

Основное назначение библиотеки - создание высокопроизводительных приложений и сервисов, поддерживающих манипуляции со шрифтами. По словам Рафа Левьена (Raph Levien), инженера, занимающегося вопросами использования шрифтов в Web, sfntly действительно очень быстрая библиотека, способная выделять подмножество символов из больших шрифтов за миллисекудны, что быстрее работы по сжатию результата с использованием gzip.

Кроме высокой производительности библиотека предоставляет простой и понятных API, позволяющий выполнять как высокоуровневые действия над шрифтами, так и организовывать низкоуровневый доступ к данным внутри шрифта. Шрифтовые объекты, которыми манипулирует библиотека, поддерживают работу в многопоточных приложениях, в том числе при выполнении операций редактирования. Поддерживается разбор и редактирование большинства базовых sfnt-таблиц для форматов TrueType и OpenType, в том числе добавление новых таблиц. Даже если в библиотеке нет непосредственной высокоуровневой поддержки каких-то sfnt-таблиц, такие таблицы всё равно можно обрабатывать без риска повреждения структур файла. Например, можно манипулировать не только TrueType и OpenType, но и любыми другими форматами на базе контейнера SFNT, включая AAT/GX и Graphite.

Из планов по развитию библиотеки отмечено улучшение поддержки расширенных элементом спецификации OpenType, поддержка дополнительных форматов sfnt-контейнеров, возможность выполнения различных форм сериализации, улучшение уровня абстракции для манипулирования шрифтами.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=32225

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>