resvg 0.7 - biblioteka renderująca SVG

Zostało wydane nowe, znaczące wydanie biblioteki rasteryzacji SVG - resvg.

Główne zmiany:

  • Całkowicie nowa implementacja renderowania tekstu:
    • Prawie cały stos od symbolu do krzywej Beziera jest teraz zaimplementowany w Rust:
      wybór czcionek (dopasowanie czcionek i czcionka zastępcza), parsowanie TrueType, rozmieszczenie klastrów glifów zgodnie z regułami SVG (układ tekstu SVG).
      Wyjątkiem jest kształtowanie tekstu, do którego jest używane
      HarfBuzz.
    • Tekst zostanie teraz przekonwertowany na krzywe Bizeux przed renderowaniem.
      Oznacza to, że moduł renderujący nie jest już wymagany do obsługi tekstu.
    • Obsługa tekstu dwukierunkowego (zmiana kolejności BIDI). Przykład.
    • obsługa ścieżki tekstowej. Przykład 1, Przykład 2.
    • Obsługa trybu pisania (tekst pionowy). Przykład.
    • Prawidłowa obsługa odstępów między wyrazami i odstępami między literami. Przykład.
  • Nowy, eksperymentalny backend - Rakota (specjalne podziękowania dla jrmuizel).
    Raqote to biblioteka grafiki 2D napisana w języku Rust.
    Jest na wczesnym etapie rozwoju, ale jego możliwości są już wystarczające
    użyj w resvg.
    Jego główną zaletą jest to, że resvg można teraz zbudować z dokładnie jedną zależnością inną niż Rust – HarfBuzz.
  • Obsługuje renderowanie kształtów, renderowanie tekstu i renderowanie obrazów.
  • Przyspieszono renderowanie obrazów rastrowych.
  • Łączna liczba testów osiągnęła 1112.
    Liczba udanych testów Inkscape i librsvg spadła o 75%.
  • Wiele drobnych poprawek i ulepszeń.

Wyniki testu. Tabela porównawcza.

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

Dodaj komentarz