[Sugar-devel] Handling of SVG in Sugar/Sugarizer
James Cameron
quozl at laptop.org
Thu Aug 20 18:03:05 EDT 2020
Thanks Lionel,
I agree with the change.
For your interest, Sugar loads SVG and changes the colours in
sugar3.graphics.icon _SVGLoader;
https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/master/src/sugar3/graphics/icon.py#L116
In your study you say;
"The SVG file should be updated manually" ... in some cases
sugariconify can be used to update the file automatically.
https://github.com/sugarlabs/sugariconify
On Thu, Aug 20, 2020 at 10:55:13PM +0200, Lionel Laské wrote:
>
> Hi all,
>
> From the beginning, the handling of SVG files in Sugar rely on Entity fields in
> the header of files. Something like:
>
> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "[1]http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
> <!ENTITY stroke_color "#000000">
> <!ENTITY fill_color "#999999">
> ]>
>
> This mechanism is described on [1]. Sugarizer rely on the same mechanism to
> colorize icons.
>
> Because this "hack" has some drawbacks - specifically on performance - I think
> to change it in a future version of Sugarizer to use native SVG/CSS features
> instead. I've done a detailed study here [2] to explain how it could work.
>
> Of course it will generate compatibility issues but it would be nice to see if
> the same thing could be done in Python too. I'm not a Python/Gtk specialist but
> will be happy to help on it.
>
> Regards.
>
> Lionel.
>
> [1] [2]https://wiki.sugarlabs.org/go/Development_Team/Almanac/Making_Icons
> [2] [3]https://github.com/llaske/svgstudy
>
> References:
>
> [1] http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd
> [2] https://wiki.sugarlabs.org/go/Development_Team/Almanac/Making_Icons
> [3] https://github.com/llaske/svgstudy
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
--
James Cameron
http://quozl.netrek.org/
More information about the Sugar-devel
mailing list