jkphl / iconizr

A PHP command line tool for converting SVG images to a set of CSS icons (SVG & PNG, single icons and / or CSS sprites) with support for image optimization and Sass output. Created by Joschi Kuphal (@jkphl), licensed under the terms of the MIT license
http://iconizr.com
MIT License
485 stars 36 forks source link

Icons come out broken #30

Closed Wolfr closed 9 years ago

Wolfr commented 9 years ago

http://cl.ly/image/383J1K1o2G1r

Are there certain SVG features iconizr doesn't support? Some of my exports come out fine and some are broken (bounding box wrong; or subtract shapes is not applied)

Thank you

jkphl commented 9 years ago

Hi @Wolfr,

iconizr itself doesn't "support" any SVG feature — it just compiles a sprite and renders PNG fallbacks out of your SVG source files. What is more likely to cause your troubles is SVGO, which is probably what you implicitly use for optimizing (and thus altering) your SVGs? SVGO is known for having some pretty aggressive plugins, which are not compatible with particular SVGs. There is no way of predicting which plugin is safe to use with which SVG. You should try to disable some of these plugins to find out which one is evil in your situation.

Unfortunately, the PHP version of iconizr doesn't support configuring the SVGO plugins being enabled. If you have the chance, switch to the Node.js based iconizr or it's Grunt plugin, which both allow configuring SVGO via the cleanconfig option (please see the available options for some hints).

At the time of this writing, a completely rewritten version of iconizr is on it's way, based on the latest release of svg-sprite, and there will be a Gulp plugin soon as well.

Hope this helps! Cheers, Joschi