resvg 0.7 — SVG-Renderbibliothek

Ein neues, bedeutendes Release der Bibliothek zur Rasterung von SVG ist erschienen — resvg.

Hauptänderungen:

  • Vollständig neue Implementierung der Textdarstellung:
    • Fast der gesamte Stack von einem Zeichen bis zu Bézier-Kurven ist jetzt in Rust implementiert:
      Schriftauswahl (font matching and fallback), Parsen von TrueType, Anordnung der Glyphencluster gemäß den SVG-Regeln (SVG-Textlayout).
      Eine Ausnahme bildet das Shaping, für das
      HarfBuzz.
    • Der Text wird jetzt vor der Darstellung in Bézier-Kurven umgewandelt.
      Das bedeutet, dass das Rendering-Backend jetzt den Text nicht mehr unterstützen muss.
    • Unterstützung für bidirektionalen Text (BIDI-Reihenfolge). Beispiel.
    • Unterstützung für textPath. Beispiel 1, Beispiel 2.
    • Unterstützung für writing-mode (vertikaler Text). Beispiel.
    • Korrekte Unterstützung von word-spacing und letter-spacing. Beispiel.
  • Ein neues, experimentelles Backend — Raqote (ein besonderer Dank an jrmuizel).
    Raqote ist eine 2D-Grafikbibliothek, die in Rust geschrieben ist.
    Sie befindet sich in der Anfangsphase der Entwicklung, bietet jedoch bereits genügend Funktionen für
    die Nutzung in resvg.
    Ihr Hauptvorteil ist, dass resvg jetzt mit genau einer nicht-Rust-Abhängigkeit — HarfBuzz — kompiliert werden kann.
  • Unterstützung für shape-rendering, text-rendering und image-rendering.
  • Die Rasterung von Bildern wurde beschleunigt.
  • Die Gesamtzahl der Tests ist auf 1112 gestiegen.
    Die Anzahl der erfolgreich bestandenen Tests von Inkscape und librsvg ist unter 75% gefallen.
  • Eine Vielzahl kleinerer Fehlerbehebungen und Verbesserungen.

Testergebnisse. Vergleichstabelle.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4