Login
Newsletter
Werbung

Fr, 22. Dezember 2017, 12:45

Software::Entwicklung

libresvg: Neue bessere Bibliothek für SVG-Grafik

Das Projekt libresvg soll besser und vollständiger werden als die existierenden freien Lösungen librsvg und QtSvg. Die erste veröffentlichte Version übertrifft QtSvg und reicht schon fast an librsvg heran.

SVG-Konformität verschiedener freier Implementationen

Evgeniy Raizner

SVG-Konformität verschiedener freier Implementationen

Scalable Vector Graphics (SVG) ist eine komplexe Spezifikation des W3C zur Darstellung von Vektorgrafiken. Die Speicherung von SVG erfolgt in einem XML-basierten Format. SVG wird weithin eingesetzt und kann auch von diversen freien Grafikprogrammen bearbeitet werden, von denen Inkskape wohl das populärste ist. Auch die Webbrowser beherrschen SVG weitgehend.

Evgeniy Raizner hat nun eine neue Bibliothek für SVG-Vektorgrafiken vorgestellt. libresvg Es ist eine Alternative zu librsvg (ohne e) und und QtSVG und beschränkt sich auf die statische Teilmenge von SVG 1.1 ohne Schriftdarstellung. Es fehlen also Schriften, Animationen und Skripte, was immer noch einen ziemlich umfangreichen Rest lässt. SVG 2.0 ist noch nicht implementiert, da SVG 2.0 noch nicht offiziell standardisiert wurde.

Raizner hat sich bereits als Autor von SVG Cleaner einen Namen gemacht, einem Programm zum Verkleinern von SVG-Dateien. Der Grund für Raizner, libresvg zu beginnen, war seine Unzufriedenheit mit den bestehenden Lösungen. So ist librsvg mittlerweile unter dem Dach von Gnome zu finden. Es hängt daher von Cairo und glib sowie von Gnome ab, was es schwer auf andere Plattformen als Linux portierbar macht. Laut Raizner weist die Bibliothek zudem viele Mängel in der Architektur und zahlreiche Parser-Probleme auf.

libresvg soll die Lösung dieser Probleme sein und auch zur Konvertierung von SVN in PNG-Bilder dienen, womit es eine Alternative zur Verwendung von Inkscape darstellt. Raizner begann mit libresvg vor etwa einem Jahr und hat jetzt Version 0.1.0 veröffentlicht.

libresvg ist in Rust geschrieben und steht unter der Mozilla Public License (MPL) 2. Der Quellcode wird in einem Github-Projekt verwaltet. Trotz der frühen Versionsnummer implementiert die Bibliothek bereits fast 60% des SVG-Standards 1.1 und kommt damit librsvg nahe. Durch sein Design bedingt soll libresvg die Vorverarbeitung einer SVG-Datei nur einmal durchführen. Das Ergebnis kann daher leichter an ein Grafik-Backend zur Darstellung weitergereicht werden. Als Backends sind zur Zeit Qt und Cairo möglich, die Grafikbibliothek Skia ist als Backend geplant.

Werbung
Pro-Linux
Traut euch!
Neue Nachrichten
Werbung