Der er udkommet en ny, betydningsfuld version af biblioteket til rasterisering af SVG - resvg.
Vigtige ændringer:
- Helt ny implementering af tekstrendering:
- Næsten hele stakken fra tegn til Bezier-kurve er nu implementeret i Rust:
fontmatching og fallback, parsing af TrueType, clustering af glyphs i henhold til SVG-regler (SVG tekstlayout).
Undtagelsen er shaping (text shaping), som bruger
HarfBuzz. - Teksten vil nu blive konverteret til Bezier-kurver inden rendering.
Det betyder, at rendering-backend ikke længere er forpligtet til at understøtte tekst. - Understøttelse af bidirektionel tekst (BIDI-reordering). Eksempel.
- Understøttelse af textPath. Eksempel 1, eksempel 2.
- Understøttelse af writing-mode (lodret tekst). Eksempel.
- Korrekt understøttelse af word-spacing og letter-spacing. Eksempel.
- Næsten hele stakken fra tegn til Bezier-kurve er nu implementeret i Rust:
- Ny, eksperimentel backend - Raqote (en særlig tak til jrmuizel).
Raqote er et 2D-grafisk bibliotek skrevet i Rust.
Det er stadig i en tidlig udviklingsfase, men dens funktioner er allerede tilstrækkelige til
brug i resvg.
Dets største fordel er, at resvg nu kan kompilere med nøjagtigt én ikke-Rust afhængighed - HarfBuzz. - Understøttelse af shape-rendering, text-rendering og image-rendering.
- Rasterbillederne renderes hurtigere.
- Det samlede antal tests er nået op på 1112.
Antallet af beståede tests hos Inkscape og librsvg er faldet med over 75%. - Mange mindre rettelser og forbedringer.
Testresultater. Sammenligningstabel.
Kilde: linux.org.ru
