En ny, betydande version av SVG rasteriseringsbiblioteket har släppts - resvg.
Huvudändringar:
- Helt ny implementering av textrendering:
- Nästan hela stacken från symbol till Bezier-kurva är nu implementerad i Rust:
urval av typsnitt (typsnittsmatchning och reserv), TrueType-analys, arrangemang av glyph-kluster enligt SVG-regler (SVG-textlayout).
Ett undantag är textformning, för vilken den används
HarfBuzz. - Text kommer nu att konverteras till Bizeux-kurvor innan den renderas.
Det vill säga att renderingsbackend inte längre krävs för att stödja text. - Dubbelriktad textstöd (BIDI-omordning). Exempel.
- textPath-stöd. exempel 1, 2 exempel.
- Stöd för skrivläge (vertikal text). Exempel.
- Korrekt stöd för ord- och bokstavsmellanrum. Exempel.
- Nästan hela stacken från symbol till Bezier-kurva är nu implementerad i Rust:
- Ny, experimentell backend - Raqote (särskilt tack till jrmuizel).
Raqote är ett 2D-grafikbibliotek skrivet i Rust.
Det är i de tidiga utvecklingsstadierna, men dess kapacitet är redan tillräcklig för
använd i resvg.
Dess främsta fördel är att resvg nu kan byggas med exakt ett icke-Rust-beroende - HarfBuzz. - Stöder formrendering, textrendering och bildrendering.
- Rasterbildsrenderingen har påskyndats.
- Det totala antalet tester nådde 1112.
Antalet framgångsrika tester för Inkscape och librsvg minskade med 75 %. - Många små korrigeringar och förbättringar.
Testresultat. Jämförelsetabell.
Källa: linux.org.ru