Вышел новый, значительный релиз библиотеки для растеризации SVG — resvg.
ការផ្លាស់ប្តូរសំខាន់ៗ៖
- Полностью новая реализация отрисовки текста:
- Почти весь стек от символа до кривой Безье теперь реализован на Rust:
подбор шрифтов (font matching and fallback), парсинг TrueType, расстановка кластеров глифов по правилам SVG (SVG text layout).
Исключением является шейпинг (text shaping), для которого используется
ហាហ្វហ្វុស. - Текст теперь будет конвертироваться в кривые Бизъе до рендеринга.
То есть бекенд отрисовки теперь не обязан поддерживать текст. - Поддержка двунаправленного текста (BIDI reordering). ឧទាហរណ៍:.
- Поддержка textPath. ឧទាហរណ៍ 1, ឧទាហរណ៍ 2.
- Поддержка writing-mode (вертикальный текст). ឧទាហរណ៍:.
- Корректная поддержка word-spacing и letter-spacing. ឧទាហរណ៍:.
- Почти весь стек от символа до кривой Безье теперь реализован на Rust:
- Новый, экспериментальный бекенд — Raqote (отдельное спасибо jrmuizel).
Raqote — это графическая 2D библиотека, написанная на Rust.
Она находится в начальной стадии разработки, при этом её возможностей уже достаточно для
использования в resvg.
Основным её преимуществом является то, что resvg теперь можно собрать ровно с одной не Rust зависимостью — HarfBuzz. - Поддержка shape-rendering, text-rendering и image-rendering.
- Ускорена отрисовка растровых изображений.
- Общее количество тестов достигло 1112-х.
Количество успешно пройденных тестов у Inkscape и librsvg упало за 75%. - ការជួសជុល និងកែលម្អតូចៗជាច្រើន។
Результаты тестирования. Сравнительная таблица.
ប្រភព: linux.org.ru