È stata rilasciata una nuova, significativa release della libreria di rasterizzazione SVG - risvg.
Principali modifiche:
- Implementazione completamente nuova del rendering del testo:
- Quasi l'intero stack, dal simbolo alla curva di Bezier, è ora implementato in Rust:
selezione dei caratteri (corrispondenza dei caratteri e fallback), analisi TrueType, disposizione dei cluster di glifi secondo le regole SVG (layout del testo SVG).
Un'eccezione è la modellazione del testo, per la quale viene utilizzata
Harf Buzz. - Il testo verrà ora convertito in curve Bizeux prima del rendering.
Cioè, il backend di rendering non è più necessario per supportare il testo. - Supporto testo bidirezionale (riordino BIDI). esempio.
- supporto textPath. esempio 1, Esempio 2.
- Supporto per la modalità di scrittura (testo verticale). esempio.
- Supporto corretto per la spaziatura delle parole e delle lettere. esempio.
- Quasi l'intero stack, dal simbolo alla curva di Bezier, è ora implementato in Rust:
- Nuovo backend sperimentale - Raquote (ringraziamenti speciali a jrmuizel).
Raqote è una libreria grafica 2D scritta in Rust.
È nelle prime fasi di sviluppo, ma le sue capacità sono già sufficienti
utilizzare in risvg.
Il suo vantaggio principale è che ora resvg può essere creato esattamente con una dipendenza non Rust: HarfBuzz. - Supporta il rendering della forma, il rendering del testo e il rendering delle immagini.
- Il rendering delle immagini raster è stato accelerato.
- Il numero totale di test ha raggiunto 1112.
Il numero di test riusciti per Inkscape e librsvg è diminuito del 75%. - Molte piccole correzioni e miglioramenti.
Risultati del test. Tavola di comparazione.
Fonte: linux.org.ru