Byl vydán nová, významná verze knihovny pro rastrování SVG — resvg.
Hlavní změny:
- Úplně nová implementace vykreslování textu:
- Téměř celý stack od symbolu po Bézierovu křivku je nyní implementován v Rustu:
výběr písem (font matching a fallback), parsování TrueType, rozložení klastrů glyfů podle pravidel SVG (SVG text layout).
Výjimkou je tvarování textu (text shaping), pro které se používá
HarfBuzz. - Text se nyní převede na Bézierovy křivky před vykreslením.
To znamená, že backend pro vykreslování již nemusí podporovat text. - Podpora oboustranného textu (BIDI reordering). Příklad.
- Podpora textPath. Příklad 1, případ 2.
- Podpora writing-mode (vertikální text). Příklad.
- Správná podpora word-spacing a letter-spacing. Příklad.
- Téměř celý stack od symbolu po Bézierovu křivku je nyní implementován v Rustu:
- Nový, experimentální backend — Raqote (speciální poděkování jrmuizel).
Raqote je grafická 2D knihovna napsaná v Rustu.
Nachází se ve fázi raného vývoje, přičemž její schopnosti jsou již dostatečné pro
použití v resvg.
Jejím hlavním přínosem je, že resvg lze nyní sestavit pouze s jednou závislostí, která není Rust — HarfBuzz. - Podpora shape-rendering, text-rendering a image-rendering.
- Vykreslování rastrových obrázků bylo urychleno.
- Celkový počet testů dosáhl 1112.
Počet úspěšně absolvovaných testů v Inkscape a librsvg klesl pod 75%. - Celá řada drobných oprav a vylepšení.
Výsledky testování. Srovnávací tabulka.
Zdroj: linux.org.ru
