resvg 0.7 - Librerija ta' rendering SVG

Вышел новый, значительный релиз библиотеки для растеризации SVG — resvg.

Bidliet ewlenin:

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

Результаты тестирования. Сравнительная таблица.

Sors: linux.org.ru

Żid kumment