About half a year ago I blogged about the new SVG icon set from GlyphLab. Although it comes with thousands of icons in all flavors, sometimes there is a need for that one combination with a specific overlay that is missing in the set.
While there are solutions to use SVG icons directly in an TImageCollection, there are situations where you need to use PNG icons where no SVG version exists. If we could get different PNG and ICO sizes from an SVG icon, that would come in handy here.
Another point is the shear amount of images in the 46 MB large set. There are more than 4,200 SVG icons and each comes in three flavors. the majority are combinations of a base icon with several overlays. Spotting the icon you are looking for can be a bit time consuming with that and it still happens that the required combination is not included.
I thought it was a chance to get my feet wet with the internals of SVG and write an application closing these gaps. The goal was to take only the base icons (1210 at the time of writing) and the overlays (88) and combine them as needed. Hot and disabled flavors are generated on the fly and the results can be saved as SVG and/or selected sizes of PNG and ICO format. That way I could quickly get the icons I need for my current application in a dedicated subfolder of the project, where they are added to the VCS.
With some valuable help from Dave Wilkinson (GlyphLab) I was able to combine any base icon with any overlay. Using a color mapping provided by Dave creating the Hot and Disabled variations was not much more than a sequence of simple string.Replace calls. The clean structure of the SVG icons created by Dave simplified all these tasks a lot.
We had some thorough, partly controversial discussions about the UX of the app and Dave made some valuable feature requests and critics. One interesting is the inclusion of the icon set into the executable, simplifying the deployment a lot. Download and start the exe and you can create the icons you want.
It was also Dave who found the name: IconLab – fits perfectly in my eyes.
The app will be available shortly for all customers of Set-Eleven.