On 25/04/2023 14:19, Hossein Nourikhah wrote:
Hello,
I have studied some of the bugs from the svgio module of LibreOffice. As
described in the svgio/README.md, "svgio module uses sax for reading xml
and turns it into drawinglayer primitives. The rendering is done via
drawinglayer primitives".
[skia is faster...]
5. Architecture
It may be possible to bypass svgio/cairo/etc. for creating the output,
or when the Skia backend is used in GUI. Then it would make sense to
create the output, or load the SVG in GUI, much faster.
hi Hossein,
this is ancient history now, but before 4.0 or 4.1, LO bundled librsvg
(and its dependencies) to import/render SVG files.
(see commit e10124b20efb8cb7caf0f02fc537147a6505aa1d)
this was replaced by Armin's svgio component primarily because of
architectural reasons:
with librsvg, all you get is a bitmap rendering.
with svgio, you get a decomposition of the SVG into drawinglayer
primitives, which can then be further processed as a scene graph or even
edited (there is some Break context menu that splits it into separate
Draw objects).
so performance and SVG feature support is not the only concern, there is
currently some functionality that would be difficult/impossible to
implement with a third-party SVG filter.