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.
- Fast der gesamte Stack von einem Zeichen bis zu Bézier-Kurven ist jetzt in Rust implementiert:
- 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
