resvg 0.7 — bibliotecă de randare SVG

A apărut o nouă versiune semnificativă a bibliotecii pentru rasterizarea SVG — resvg.

Modificări principale:

  • O implementare complet nouă a redării textului:
    • Aproape întregul stivă de la caracter la curba Bézier este acum realizată în Rust:
      selectarea fonturilor (font matching and fallback), parsarea TrueType, așezarea clusterelor de glyph-uri conform regulilor SVG (SVG text layout).
      Excepția o constituie șapingul (text shaping), pentru care se folosește
      HarfBuzz.
    • Textul va fi acum convertit în curbe Bézier înainte de redare.
      Asta înseamnă că backend-ul de redare nu mai trebuie să suporte textul.
    • Suport pentru textul bidirecțional (BIDI reordering). Exemplu.
    • Suport pentru textPath. Exemplu 1, exemplu 2.
    • Suport pentru writing-mode (text vertical). Exemplu.
    • Suport corect pentru word-spacing și letter-spacing. Exemplu.
  • Un nou backend experimental — Raqote (mulțumiri speciale lui jrmuizel).
    Raqote este o bibliotecă grafică 2D, scrisă în Rust.
    Se află în stadiul incipient de dezvoltare, având în același timp suficiente funcționalități pentru
    utilizarea în resvg.
    Principalul său avantaj este că resvg poate fi compilat cu o singură dependență externă, HarfBuzz.
  • Suport pentru shape-rendering, text-rendering și image-rendering.
  • Redarea imaginilor rasterizate a fost accelerată.
  • Numărul total de teste a atins 1112.
    Numărul testelor reușite la Inkscape și librsvg a scăzut sub 75%.
  • O mulțime de corecții și îmbunătățiri minore.

Rezultatele testării. Tabel comparativ.

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster