resvg 0.7 — biblioteca de renderizado SVG

Se ha lanzado una nueva y significativa versión de la biblioteca de rasterización de SVG — resvg.

Principales cambios:

  • Una implementación completamente nueva del renderizado de texto:
    • Casi toda la pila desde el carácter hasta la curva Bezier ahora está implementada en Rust:
      la selección de fuentes (font matching and fallback), el análisis de TrueType, la disposición de clústeres de glifos según las reglas de SVG (SVG text layout).
      La excepción es el shaping de texto (text shaping), para el cual se utiliza
      HarfBuzz.
    • El texto ahora se convertirá en curvas Bezier antes del renderizado.
      Es decir, el backend de renderizado ya no está obligado a soportar texto.
    • Soporte para texto bidireccional (BIDI reordering). Ejemplo.
    • Soporte para textPath. Ejemplo 1, ejemplo 2.
    • Soporte para writing-mode (texto vertical). Ejemplo.
    • Soporte correcto para word-spacing y letter-spacing. Ejemplo.
  • Un nuevo backend experimental — Raqote (un agradecimiento especial a jrmuizel).
    Raqote es una biblioteca gráfica 2D escrita en Rust.
    Está en una fase inicial de desarrollo, y sus capacidades ya son suficientes para
    su uso en resvg.
    Su principal ventaja es que resvg ahora se puede compilar con exactamente una dependencia que no es de Rust — HarfBuzz.
  • Soporte para shape-rendering, text-rendering e image-rendering.
  • Se ha acelerado el renderizado de imágenes rasterizadas.
  • El número total de pruebas ha alcanzado 1112.
    El número de pruebas superadas con éxito por Inkscape y librsvg ha caído por debajo del 75%.
  • Un montón de correcciones y mejoras menores.

Resultados de las pruebas. Tabla comparativa.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster