Re: resvg

2024-03-15 Thread Arjen Hiemstra
On Thursday 14 March 2024 22:50:35 CET Laura David Hurka wrote:
> On Thursday, March 14, 2024 2:04:45 PM CET Sune Vuorela wrote:
> > On 2024-03-14, Igor Mironchik  wrote:
> > > Hello,
> > > 
> > > What do you think about https://github.com/RazrFalcon/resvg in case of
> > > processing and rendering SVGs?
> > > 
> > > Do you have any plans to have this in Craft?
> > 
> > With the current revitalization of QtSvg, I kind of think we should work
> > harder with that rather than try to replace it.
> > It is after all hooked in quite deep in our stuff already, so most of
> > our svg's needs to be compatible with QtSvg anyways.
> > 
> > /Sune
> 
> Well, QtSvg can only render (and create) SVGs, but there is no way to
> process an SVG document in a different way than to render it on a paint
> device. For me, this is a good reason to be interested in resvg.

The C API exposed by resvg can also only do rendering. There's some hints 
about there being a parse tree in the C API but there are no functions to 
actually use it. So if you want to do anything but rendering, you'd need to 
write it in rust and expose it yourself, which is doable, but doesn't make 
resvg exactly a drop-in replacement for QtSVG.

- Arjen




Re: resvg

2024-03-15 Thread Joshua Goins
> Hello,
> 
> What do you think about https://github.com/RazrFalcon/resvg in case of
> processing and rendering SVGs?

In case anyone hasn't seen this before, Harald has already tried integrating 
resvg with Plasma: https://kde.haraldsitter.eu/posts/resvg-for-svgs-in-qt/

Josh




Re: Re: resvg

2024-03-15 Thread David Redondo
Am Freitag, 15. März 2024, 06:10:14 CET schrieb Jin Liu:
> Any example of "process an SVG document in a different way than to render it"?
> 
> >
> > Well, QtSvg can only render (and create) SVGs, but there is no way to 
> > process
> > an SVG document in a different way than to render it on a paint device.
> > For me, this is a good reason to be interested in resvg.
> >

KIconThemes and KSVG certianly process svgs before rendering them (injecting 
CSS).

David




Re: resvg

2024-03-14 Thread Jin Liu
Any example of "process an SVG document in a different way than to render it"?

Laura David Hurka  于2024年3月15日周五 05:57写道:
>
> On Thursday, March 14, 2024 2:04:45 PM CET Sune Vuorela wrote:
> > On 2024-03-14, Igor Mironchik  wrote:
> > > Hello,
> > >
> > > What do you think about https://github.com/RazrFalcon/resvg in case of
> > > processing and rendering SVGs?
> > >
> > > Do you have any plans to have this in Craft?
> >
> > With the current revitalization of QtSvg, I kind of think we should work
> > harder with that rather than try to replace it.
> > It is after all hooked in quite deep in our stuff already, so most of
> > our svg's needs to be compatible with QtSvg anyways.
> >
> > /Sune
>
> Well, QtSvg can only render (and create) SVGs, but there is no way to process
> an SVG document in a different way than to render it on a paint device.
> For me, this is a good reason to be interested in resvg.
>
>
>
>


Re: resvg

2024-03-14 Thread Matthias Klumpp
Am Fr., 15. März 2024 um 05:38 Uhr schrieb Страшила :
> пт, 15 мар. 2024 г., 00:51 Laura David Hurka :
>>
>> On Thursday, March 14, 2024 2:04:45 PM CET Sune Vuorela wrote:
>> > On 2024-03-14, Igor Mironchik  wrote:
>> > > Hello,
>> > >
>> > > What do you think about https://github.com/RazrFalcon/resvg in case of
>> > > processing and rendering SVGs?
>> > >
>> > > Do you have any plans to have this in Craft?
>> >
>> > With the current revitalization of QtSvg, I kind of think we should work
>> > harder with that rather than try to replace it.
>> > It is after all hooked in quite deep in our stuff already, so most of
>> > our svg's needs to be compatible with QtSvg anyways.
>> >
>> > /Sune
>>
>> Well, QtSvg can only render (and create) SVGs, but there is no way to process
>> an SVG document in a different way than to render it on a paint device.
>> For me, this is a good reason to be interested in resvg.
>
>
> By processing meant reading and parsing of XML/SVG.

One thing I always wonder with these Rust projects, and resvg in
particular, is future maintainability.
Just to make resvg, its developer reimplemented:
* Parts of the Skia graphics library in Rust (as tiny-skia)
* Parts of the Harfbuzz text shaping engine algorithms in Rust (rustybuzz)
* An entirely new XMl parsing library
* A new CSS parser
* A CLI arguments parser
* An in-memory font database

I am all for trying new things, but these rewrite-the-world projects
have to be maintained somehow in the very long-term, most likely
alongside the original projects. And there's only a finite amount of
developers.
Meanwhile QtSVG is built on top of Qt, which uses the regular Harfbuzz
and Qt for drawing.

For sure having dependencies on rewrites of existing projects
absolutely does not rule out their use, but before depending on
something this fundamental, I would love to see the project and its
rewritten dependencies show that they are actively and long-term
maintained (which looks excellent for resvg, but a bit less so for its
dependencies).

Cheers,
Matthias

-- 
I welcome VSRE emails. See http://vsre.info/


Re: resvg

2024-03-14 Thread Страшила
пт, 15 мар. 2024 г., 00:51 Laura David Hurka :

> On Thursday, March 14, 2024 2:04:45 PM CET Sune Vuorela wrote:
> > On 2024-03-14, Igor Mironchik  wrote:
> > > Hello,
> > >
> > > What do you think about https://github.com/RazrFalcon/resvg in case of
> > > processing and rendering SVGs?
> > >
> > > Do you have any plans to have this in Craft?
> >
> > With the current revitalization of QtSvg, I kind of think we should work
> > harder with that rather than try to replace it.
> > It is after all hooked in quite deep in our stuff already, so most of
> > our svg's needs to be compatible with QtSvg anyways.
> >
> > /Sune
>
> Well, QtSvg can only render (and create) SVGs, but there is no way to
> process
> an SVG document in a different way than to render it on a paint device.
> For me, this is a good reason to be interested in resvg.
>

By processing meant reading and parsing of XML/SVG.


Re: resvg

2024-03-14 Thread Laura David Hurka
On Thursday, March 14, 2024 2:04:45 PM CET Sune Vuorela wrote:
> On 2024-03-14, Igor Mironchik  wrote:
> > Hello,
> > 
> > What do you think about https://github.com/RazrFalcon/resvg in case of
> > processing and rendering SVGs?
> > 
> > Do you have any plans to have this in Craft?
> 
> With the current revitalization of QtSvg, I kind of think we should work
> harder with that rather than try to replace it.
> It is after all hooked in quite deep in our stuff already, so most of
> our svg's needs to be compatible with QtSvg anyways.
> 
> /Sune

Well, QtSvg can only render (and create) SVGs, but there is no way to process 
an SVG document in a different way than to render it on a paint device.
For me, this is a good reason to be interested in resvg.






Re: resvg

2024-03-14 Thread Kai Uwe Broulik

Hi,

yeah I don’t see the appeal. Qt SVG has also finally seen some love in 
Qt 6.7 which addresses many of the issues we’ve had. If there’s more, we 
can fix it.


Cheers
Kai Uwe

Am 14.03.24 um 13:53 schrieb Igor Mironchik:

Hello,

What do you think about https://github.com/RazrFalcon/resvg in case of 
processing and rendering SVGs?


Judging by README it's impressive library with a lot of implemented SVG 
features. It's written in Rust, but can be used as C library and has Qt 
binding.


Do you have any plans to have this in Craft?



Re: resvg

2024-03-14 Thread Sune Vuorela
On 2024-03-14, Igor Mironchik  wrote:
> Hello,
>
> What do you think about https://github.com/RazrFalcon/resvg in case of 
> processing and rendering SVGs?
>
> Do you have any plans to have this in Craft?

With the current revitalization of QtSvg, I kind of think we should work
harder with that rather than try to replace it.
It is after all hooked in quite deep in our stuff already, so most of
our svg's needs to be compatible with QtSvg anyways.

/Sune



resvg

2024-03-14 Thread Igor Mironchik

Hello,

What do you think about https://github.com/RazrFalcon/resvg in case of 
processing and rendering SVGs?


Judging by README it's impressive library with a lot of implemented SVG 
features. It's written in Rust, but can be used as C library and has Qt 
binding.


Do you have any plans to have this in Craft?