resvg 0.7 - бібліотека відтворення SVG

Вийшов новий, значний реліз бібліотеки для розтеризації SVG resvg.

Основні зміни:

  • Повністю нова реалізація відтворення тексту:
    • Майже весь стек від символу до кривої Безьє тепер реалізований на Rust:
      підбір шрифтів (font matching and fallback), парсинг TrueType, розміщення кластерів гліфів за правилами SVG (SVG text layout).
      Винятком є ​​шейпінг (text shaping), для якого використовується
      HarfBuzz.
    • Текст тепер конвертуватиметься в криві Біз'є до рендерингу.
      Тобто бекенд малювання тепер не повинен підтримувати текст.
    • Підтримка двонаправленого тексту (BIDI reordering). Приклад.
    • Підтримка текстуPath. Приклад 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%.
  • Безліч дрібних виправлень та покращень.

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

Джерело: linux.org.ru

Додати коментар або відгук