Er is een nieuwe, belangrijke release van de SVG rasterisatiebibliotheek — resvg.
Belangrijkste wijzigingen:
- Een volledig nieuwe implementatie van tekstweergave:
- Bijna de gehele stack van het teken van het teken tot de Bézier-curves is nu geïmplementeerd in Rust:
lettertype-selectie (font matching and fallback), parsing van TrueType, en de plaatsing van glyphclusters volgens de SVG-regels (SVG text layout).
Een uitzondering is tekstshaping, waarvoor
HarfBuzz. - Tekst wordt nu geconverteerd naar Bézier-curves voor rendering.
Dat betekent dat de weergave-backend nu niet noodzakelijk tekst hoeft te ondersteunen. - Ondersteuning voor bidirectionele tekst (BIDI reordering). Voorbeeld.
- Ondersteuning voor textPath. Voorbeeld 1, voorbeeld 2.
- Ondersteuning voor writing-mode (verticale tekst). Voorbeeld.
- Correcte ondersteuning van word-spacing en letter-spacing. Voorbeeld.
- Bijna de gehele stack van het teken van het teken tot de Bézier-curves is nu geïmplementeerd in Rust:
- Een nieuwe, experimentele backend — Raqote (een speciale dank aan jrmuizel).
Raqote is een 2D grafische bibliotheek, geschreven in Rust.
Het bevindt zich nog in de vroege ontwikkelingsfase, maar de mogelijkheden zijn al voldoende voor
gebruik in resvg.
Het belangrijkste voordeel is dat resvg nu kan worden opgebouwd met precies één niet-Rust afhankelijkheid — HarfBuzz. - Ondersteuning voor shape-rendering, text-rendering en image-rendering.
- De rasterisatie van afbeeldingen is versneld.
- Het totale aantal tests is gestegen tot 1112.
Het aantal succesvol doorstaan tests voor Inkscape en librsvg is met meer dan 75% gedaald. - Een aantal kleine bugfixes en verbeteringen.
Testresultaten. Vergelijkingstabel.
Bron: linux.org.ru
