Lanzouse unha nova e significativa versión da biblioteca de rasterización SVG: resvg.
Principais cambios:
- Implementación completamente nova da representación de texto:
- Case toda a pila desde o símbolo ata a curva de Bézier está agora implementada en Rust:
selección de fontes (coincidencia de fontes e alternativa), análise TrueType, disposición dos grupos de glifos segundo regras SVG (disposición de texto SVG).
Unha excepción é a conformación do texto, para o que se utiliza
HarfBuzz. - Agora o texto converterase en curvas de Bizeux antes da renderización.
É dicir, o backend de renderizado xa non é necesario para admitir texto. - Soporte de texto bidireccional (reordenación BIDI). Exemplo.
- soporte de textPath. Exemplo 1, exemplo 2.
- Soporte para o modo de escritura (texto vertical). Exemplo.
- Soporte correcto para o espazado de palabras e entre letras. Exemplo.
- Case toda a pila desde o símbolo ata a curva de Bézier está agora implementada en Rust:
- Backend novo e experimental - Raqote (Grazas especiales a jrmuizel).
Raqote é unha biblioteca de gráficos 2D escrita en Rust.
Está nas primeiras fases de desenvolvemento, pero as súas capacidades xa son suficientes para
usar en resvg.
A súa principal vantaxe é que agora se pode crear resvg cunha dependencia que non sexa de Rust: HarfBuzz. - Admite a representación de formas, a representación de texto e a representación de imaxes.
- Acelerouse a renderización de imaxes ráster.
- O número total de probas chegou a 1112.
O número de probas exitosas para Inkscape e librsvg caeu nun 75%. - Moitas pequenas correccións e melloras.
Resultados da proba. Táboa de comparación.
Fonte: linux.org.ru