Eine neue, bedeutende Version der SVG-Rasterisierungsbibliothek wurde veröffentlicht - resvg.
Wichtigste Änderungen:
- Völlig neue Implementierung der Textwiedergabe:
- Fast der gesamte Stack vom Symbol bis zur Bezier-Kurve ist mittlerweile in Rust implementiert:
Auswahl von Schriftarten (Font-Matching und Fallback), TrueType-Analyse, Anordnung von Glyphen-Clustern nach SVG-Regeln (SVG-Textlayout).
Eine Ausnahme bildet die Textgestaltung, für die es verwendet wird
Harfuß. - Text wird jetzt vor dem Rendern in Bizeux-Kurven konvertiert.
Das heißt, das Rendering-Backend ist zur Unterstützung von Text nicht mehr erforderlich. - Bidirektionale Textunterstützung (BIDI-Neuordnung). Beispiel.
- textPath-Unterstützung. Beispiel 1, 2-Beispiel.
- Unterstützung für den Schreibmodus (vertikaler Text). Beispiel.
- Korrekte Unterstützung für Wort- und Buchstabenabstand. Beispiel.
- Fast der gesamte Stack vom Symbol bis zur Bezier-Kurve ist mittlerweile in Rust implementiert:
- Neues, experimentelles Backend - Raqote (besonderer Dank an jrmuizel).
Raqote ist eine in Rust geschriebene 2D-Grafikbibliothek.
Es befindet sich in einem frühen Entwicklungsstadium, aber seine Fähigkeiten reichen bereits aus
Verwendung in resvg.
Sein Hauptvorteil besteht darin, dass resvg jetzt mit genau einer Nicht-Rust-Abhängigkeit erstellt werden kann – HarfBuzz. - Unterstützt Form-Rendering, Text-Rendering und Bild-Rendering.
- Das Rendern von Rasterbildern wurde beschleunigt.
- Die Gesamtzahl der Tests erreichte 1112.
Die Anzahl erfolgreicher Tests für Inkscape und librsvg sank um 75 %. - Viele kleine Korrekturen und Verbesserungen.
Testergebnisse. Vergleichstabelle.
Source: linux.org.ru