resvg 0.7 — biblioteka renderowania SVG

Wydano nową, znaczącą wersję biblioteki do rastrowania SVG — resvg.

Główne zmiany:

  • Całkowicie nowa implementacja rysowania tekstu:
    • Prawie cały stos od symbolu do krzywej Béziera jest teraz zaimplementowany w Rust:
      dopasowywanie czcionek (font matching and fallback), analiza TrueType, układ klastrów glifów zgodnie z zasadami SVG (układ tekstu SVG).
      Wyjątkiem jest kształtowanie tekstu (text shaping), do którego używany jest
      HarfBuzz.
    • Tekst będzie teraz konwertowany na krzywe Béziera przed renderowaniem.
      To znaczy, że backend rysowania nie musi już obsługiwać tekstu.
    • Wsparcie dla tekstu dwukierunkowego (BIDI reordering). Przykład.
    • Wsparcie dla textPath. Przykład 1, przykład 2.
    • Wsparcie dla writing-mode (tekst pionowy). Przykład.
    • Poprawne wsparcie dla word-spacing i letter-spacing. Przykład.
  • Nowy, eksperymentalny backend — Raqote (szczególne podziękowanie dla jrmuizel).
    Raqote to graficzna biblioteka 2D napisana w Rust.
    Jest w początkowej fazie rozwoju, a mimo to jej możliwości są już wystarczające do
    użycia w resvg.
    Jej główną zaletą jest to, że resvg można teraz zbudować prawie z jedną zależnością nie-Rust — HarfBuzz.
  • Wsparcie dla shape-rendering, text-rendering i image-rendering.
  • Przyspieszono renderowanie obrazów rastrowych.
  • Całkowita liczba testów osiągnęła 1112.
    Liczba pomyślnie zaliczonych testów w Inkscape i librsvg spadła poniżej 75%.
  • Wiele drobnych poprawek i usprawnień.

Wyniki testowania. Tabela porównawcza.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster