En ny, betydelig utgivelse av SVG rasteriseringsbiblioteket har blitt utgitt - resvg.
Hovedendringer:
- Helt ny implementering av tekstgjengivelse:
- Nesten hele stabelen fra symbol til Bezier-kurve er nå implementert i Rust:
utvalg av fonter (fontmatching og fallback), TrueType-parsing, ordning av glyph-klynger i henhold til SVG-regler (SVG-tekstlayout).
Et unntak er tekstforming, som det brukes til
HarfBuzz. - Tekst vil nå bli konvertert til Bizeux-kurver før gjengivelse.
Det vil si at gjengivelsesbackend ikke lenger er nødvendig for å støtte tekst. - Toveis tekststøtte (BIDI-ombestilling). Eksempel.
- textPath-støtte. Eksempel 1, 2 eksempel.
- Støtte for skrivemodus (vertikal tekst). Eksempel.
- Riktig støtte for ord- og bokstavavstand. Eksempel.
- Nesten hele stabelen fra symbol til Bezier-kurve er nå implementert i Rust:
- Ny, eksperimentell backend - Raqote (en spesiell takk til jrmuizel).
Raqote er et 2D-grafikkbibliotek skrevet i Rust.
Det er i de tidlige stadiene av utviklingen, men dens evner er allerede tilstrekkelige for
bruk i resvg.
Dens største fordel er at resvg nå kan bygges med nøyaktig én ikke-Rust-avhengighet - HarfBuzz. - Støtter formgjengivelse, tekstgjengivelse og bildegjengivelse.
- Rasterbildegjengivelsen har blitt fremskyndet.
- Det totale antallet tester nådde 1112.
Antall vellykkede tester for Inkscape og librsvg falt med 75 %. - Mange små rettelser og forbedringer.
Testresultater. Sammenligningstabell.
Kilde: linux.org.ru