Вышел новый, значительный релиз библиотеки для растеризации SVG — resvg.
Guhertinên sereke:
- Полностью новая реализация отрисовки текста:
- Почти весь стек от символа до кривой Безье теперь реализован на Rust:
подбор шрифтов (font matching and fallback), парсинг TrueType, расстановка кластеров глифов по правилам SVG (SVG text layout).
Исключением является шейпинг (text shaping), для которого используется
HarfBuzz. - Текст теперь будет конвертироваться в кривые Бизъе до рендеринга.
То есть бекенд отрисовки теперь не обязан поддерживать текст. - Поддержка двунаправленного текста (BIDI reordering). Nimûne:.
- Поддержка textPath. nimûne 1, Mînakek 2.
- Поддержка writing-mode (вертикальный текст). Nimûne:.
- Корректная поддержка word-spacing и letter-spacing. Nimûne:.
- Почти весь стек от символа до кривой Безье теперь реализован на Rust:
- Новый, экспериментальный бекенд — Raqote (отдельное спасибо jrmuizel).
Raqote — это графическая 2D библиотека, написанная на Rust.
Она находится в начальной стадии разработки, при этом её возможностей уже достаточно для
использования в resvg.
Основным её преимуществом является то, что resvg теперь можно собрать ровно с одной не Rust зависимостью — HarfBuzz. - Поддержка shape-rendering, text-rendering и image-rendering.
- Ускорена отрисовка растровых изображений.
- Общее количество тестов достигло 1112-х.
Количество успешно пройденных тестов у Inkscape и librsvg упало за 75%. - Gelek rastkirin û başkirinên piçûk.
Результаты тестирования. Сравнительная таблица.
Source: linux.org.ru