È uscito un nuovo, significativo rilascio della libreria per la rasterizzazione SVG — resvg.
Variazioni principali:
- Una nuova implementazione completa del disegno del testo:
- Quasi tutto il stack, dal carattere alla curva di Bézier, è ora implementato in Rust:
selezione dei font (font matching and fallback), parsing di TrueType, disposizione dei cluster di glifi secondo le regole SVG (layout del testo SVG).
L'eccezione è il text shaping, per il quale viene utilizzato
HarfBuzz. - Il testo sarà ora convertito in curve Bézier prima del rendering.
Cioè, il backend di rendering non è più obbligato a supportare il testo. - Supporto per il riordino del testo bidirezionale (BIDI reordering). Esempio.
- Supporto per textPath. Esempio 1, esempio 2.
- Supporto per writing-mode (testo verticale). Esempio.
- Supporto corretto per word-spacing e letter-spacing. Esempio.
- Quasi tutto il stack, dal carattere alla curva di Bézier, è ora implementato in Rust:
- Nuovo backend sperimentale — Raqote (un particolare ringraziamento a jrmuizel).
Raqote è una libreria grafica 2D scritta in Rust.
È attualmente in fase iniziale di sviluppo, ma le sue capacità sono già sufficienti per
l'utilizzo in resvg.
Il suo principale vantaggio è che resvg può ora essere compilato con una sola dipendenza non Rust — HarfBuzz. - Supporto per shape-rendering, text-rendering e image-rendering.
- Il rendering delle immagini raster è stato accelerato.
- Il numero totale di test ha raggiunto 1112.
Il numero di test superati da Inkscape e librsvg è sceso sotto il 75%. - Numerosi piccoli miglioramenti e correzioni.
Risultati dei test. Tabella comparativa.
Fonte: linux.org.ru
