Ein neues, bedeutendes Release der Bibliothek zur Rasterisierung von SVG ist erschienen â resvg.
Wesentliche Ănderungen:
- Völlig neue Implementierung der Textdarstellung:
- Fast der gesamte Stack vom Zeichen bis zur Bézier-Kurve ist jetzt in Rust implementiert:
Schriftartauswahl (font matching and fallback), Parsing von TrueType, Glyphencluster-Layout gemÀà SVG-Regeln (SVG-Textlayout).
Die Ausnahme bildet das Shaping (text shaping), fĂŒr das
HarfBuzz. - Der Text wird nun vor dem Rendering in Bézier-Kurven konvertiert.
Das bedeutet, dass der Rendering-Backend nicht mehr Text 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.
- Korrekter Support fĂŒr word-spacing und letter-spacing. Beispiel.
- Fast der gesamte Stack vom Zeichen bis zur Bézier-Kurve ist jetzt in Rust implementiert:
- Neuer, experimenteller Backend â Raqote (ein besonderer Dank an jrmuizel).
Raqote ist eine 2D-Grafikbibliothek, die in Rust geschrieben wurde.
Sie befindet sich in einer frĂŒhen Entwicklungsphase, bietet jedoch bereits genug Funktionen fĂŒr
die Verwendung in resvg.
Ihr gröĂter Vorteil besteht darin, 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 Rasterisierung von Bitmap-Bildern wurde beschleunigt.
- Die Gesamtzahl der Tests hat 1112 erreicht.
Die Anzahl der erfolgreich abgeschlossenen Tests bei Inkscape und librsvg ist um ĂŒber 75% gesunken. - Eine Vielzahl kleinerer Korrekturen und Verbesserungen.
Testergebnisse. Vergleichstabelle.
Quelle: linux.org.ru
