[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