Вышел новый, значительный релиз библиотеки для растеризации SVG - resvg.
Основные изменения:
- Полностью новая реализация отрисовки текста:
- Почти весь стек от символа до кривой Безье теперь реализован на Rust: подбор шрифтов (font matching and fallback), парсинг TrueType, расстановка кластеров глифов по правилам SVG (SVG text layout). Исключением является шейпинг (text shaping), для которого используется HarfBuzz.
 - Текст теперь будет конвертироваться в кривые Безье до рендеринга. То есть бекенд отрисовки теперь не обязан поддерживать текст.
 - Поддержка двунаправленного текста (BIDI reordering). Пример.
 - Поддержка 
textPath. Пример 1, пример 2. - Поддержка 
writing-mode(вертикальный текст). Пример. - Корректная поддержка 
word-spacingиletter-spacing. Пример. 
 - Новый, экспериментальный бекенд - Raqote (отдельное спасибо jrmuizel). Raqote - это графическая 2D библиотека, написанная на Rust. Она находится в начальной стадии разработки, при этом её возможностей уже достаточно для использования в resvg. Основным её преимуществом является то, что resvg теперь можно собрать ровно с одной не-Rust зависимостью - HarfBuzz.
 - Поддержка 
shape-rendering,text-renderingиimage-rendering. - Ускорена отрисовка растровых изображений.
 - Общее количество тестов достигло 1112-х. Количество успешно пройденных тестов у Inkscape и librsvg упало за 75%.
 - Множество мелких исправлений и улучшений.
 
>>> Репозиторий







