resvg 0.7 - biblioteca de renderização SVG

Uma nova e significativa versão da biblioteca de rasterização SVG foi lançada - resvg.

Grandes mudanças:

  • Implementação completamente nova de renderização de texto:
    • Quase toda a pilha, desde o símbolo até a curva de Bezier, agora é implementada em Rust:
      seleção de fontes (correspondência de fontes e substituto), análise TrueType, organização de clusters de glifos de acordo com regras SVG (layout de texto SVG).
      Uma exceção é a modelagem de texto, para a qual é usado
      HarfBuzz.
    • O texto agora será convertido em curvas Bizeux antes da renderização.
      Ou seja, o back-end de renderização não é mais necessário para suportar texto.
    • Suporte de texto bidirecional (reordenação BIDI). Exemplo.
    • suporte a textPath. Exemplo 1, Exemplo 2.
    • Suporte para modo de escrita (texto vertical). Exemplo.
    • Suporte correto para espaçamento entre palavras e entre letras. Exemplo.
  • Novo back-end experimental - Raqote (agradecimentos especiais para jrmuizel).
    Raqote é uma biblioteca gráfica 2D escrita em Rust.
    Está nos estágios iniciais de desenvolvimento, mas suas capacidades já são suficientes para
    usar em resvg.
    Sua principal vantagem é que o resvg agora pode ser construído com exatamente uma dependência não-Rust - HarfBuzz.
  • Suporta renderização de formas, renderização de texto e renderização de imagens.
  • A renderização de imagens raster foi acelerada.
  • O número total de testes chegou a 1112.
    O número de testes bem-sucedidos do Inkscape e do librsvg caiu 75%.
  • Muitas pequenas correções e melhorias.

Resultado dos testes. Tabela de comparação.

Fonte: linux.org.ru

Adicionar um comentário