[sugar] icon assistance/validation

Kent Loobey kent
Sat Mar 15 13:18:09 EDT 2008


On Saturday 15 March 2008 10:04:46 am you wrote:
> many thanks to gary and bert for their advice.
>
> i think i found the biggest issue with what i was doing:
>
>     - inkscape lets you save your work as either a "plain" svg,
>       or, by default, as an "inkscape" svg.  don't save your
>       work as an "inkscape" svg.
>
> in addition:
>
>     - bert's suggestion of doing one's drawing in two colors (i.e., red
>       and yellow) instead of gray and black, makes it easier somehow.

It seems to me that Sugar uses color to signify the user, particularly when 
used through the mesh.  I don't think it is an accident that all of the icons 
that are shipped with my XO are black and white.  Have you had a different 
experience?

>
>     - gary's suggestion to preview with a browser is a good one:
>       firefox seems to be as capable as sugar at not-displaying
>       bad images, or "inkscape format" images.  in addition, it
>       will sometimes warn of syntax errors, which sugar, of
>       course, does not.
>
>     - the ';' character at the end of "fill:&fill_color;" is very
>       important, even if it appears in a line like:
> 	style="fill:&fill_color;;fill-opacity:1;fill-rule:non-zero...  "
>       the extra ';' looks redundant, but it's not.
>
> i'm happy to add some or all of this to the wiki.  i promise i won't
> start yet another page. :-)  (i assume anyone can register for editing?)
>
> i liked bert's suggestion of extracting the core from the inkscape-created
> SVG and dropping it into a clean template, but my SVG files don't have
> the '<g>...</g>' block he referred to.  once i started saving as plain
> svg, however, the file isn't all that complex, and the following script
> will convert it to the required sugar-accessible format:
>
>
> #!/bin/sh
> #
> # inksvg2sugar --
> #  convert inkscape-created "plain" SVG files to sugar-compatible
>
> svg=$1
>
> :<$svg
>
> #these are the colors with which the icon was created with the drawing tool
> myfill=ffff00
> mystroke=ff0000
>
> #  - replace the "Created" line with a sugar-compatible header.
> #  - in case our header is already there (we've been run twice?)
> #    replace the contents of that header to refresh the chosen colors.
> #    (these colors are placeholders as far as sugar is concerned, but
> #    they're still our preference when editing the icon.)
> #  - replace all hard-coded fill: and stroke: definitions with the
> #    indirect variable references.
> #  - replace "cross-definitions" as well: sometimes color roles are
> reversed. #  - finally, replace any _other_ stroke and fill colors, with
> the single #    allowable values.
>
> sed -i \
>     -e 's;<!-- Created with Inkscape.*-->;\
> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"\
>     "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [\
>   <!ENTITY fill_color "#'$myfill'">\
>   <!ENTITY stroke_color "#'$mystroke'">\
> ]>;' \
>     -e 's/\(ENTITY fill_color \)#[0-9a-z]\+/\1 "#'$myfill'">/i' \
>     -e 's/\(ENTITY stroke_color \)#[0-9a-z]\+/\1 "#'$mystroke'">/i' \
>     -e 's/stroke:#'$mystroke';/stroke:\&stroke_color;;/ig' \
>     -e 's/fill:#'$myfill';/fill:\&fill_color;;/ig' \
>     -e 's/fill:#'$mystroke';/fill:\&stroke_color;;/ig' \
>     -e 's/stroke:#'$myfill';/stroke:\&fill_color;;/ig' \
>     -e 's/stroke:#[0-9a-f]\+;/stroke:\&stroke_color;;/ig' \
>     -e 's/fill:#[0-9a-f]\+;/fill:\&fill_color;;/ig' \
>     $svg
>
>
> paul
> =---------------------
>  paul fox, pgf at foxharp.boston.ma.us (arlington, ma, where it's 29.1
> degrees) _______________________________________________
> Sugar mailing list
> Sugar at lists.laptop.org
> http://lists.laptop.org/listinfo/sugar





More information about the Sugar-devel mailing list