resvg 0.7 — bibliothèque de rendu SVG

Une nouvelle version majeure de la bibliothèque de rasterisation SVG est sortie — resvg.

Principales modifications :

  • Une toute nouvelle implémentation du rendu de texte :
    • Pratiquement toute la pile, du caractère à la courbe de Bézier, est maintenant implémentée en Rust :
      la correspondance des polices (font matching and fallback), le parsing de TrueType, le placement des clusters de glyphes selon les règles SVG (SVG text layout).
      L'exception concerne le shépement (text shaping), pour lequel on utilise
      HarfBuzz.
    • Le texte sera maintenant converti en courbes de Bézier avant le rendu.
      C'est-à-dire que le backend de rendu n'a plus l'obligation de supporter le texte.
    • Support du texte bidirectionnel (BIDI reordering). Exemple.
    • Support de textPath. Exemple 1, exemple 2.
    • Support du writing-mode (texte vertical). Exemple.
    • Support correct du word-spacing et letter-spacing. Exemple.
  • Nouveau backend expérimental — Raqote (un grand merci à jrmuizel).
    Raqote est une bibliothèque graphique 2D écrite en Rust.
    Elle est encore à un stade précoce de développement, mais ses capacités sont déjà suffisantes pour
    être utilisée dans resvg.
    Son principal avantage est que resvg peut maintenant être construit avec seulement une dépendance non Rust — HarfBuzz.
  • Support de shape-rendering, text-rendering et image-rendering.
  • Le rendu des images rasterisées a été accéléré.
  • Le nombre total de tests a atteint 1112.
    Le nombre de tests réussis pour Inkscape et librsvg a chuté à moins de 75%.
  • De nombreux petits correctifs et améliorations.

Résultats des tests. Tableau comparatif.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster