Currently in Fluid / Floe related projects, we are using an ad-hoc system to generate fonts: whenever a project needs a font, an existing icon font is duplicated, or another icon font is created from scratch. This creates a problem where icons are hard to maintain.
A possible solution (open for discussion and refinement):
- create a font project in github to store the SVG vectors used for font icons
- SVG files are not binary, so they can be versioned easily by github and still editable by vector editors
- use a grunt plugin capable of generating fonts from an arbitrary list of SVGs
- have an index file / contact sheet which shows all available icons.
There are some questions to address:
- How is it possible to maintain a font set for a particular project? i.e. Project A may use 10 of 20 fonts, whereas Project B may use 12 of 20. How is this information stored?
- How are Unicode PUA's specified for each glyph / SVG? Are PUA's globally unique in the font repository, or do projects define their own PUA's?
- If someone deletes an SVG from the repository, do the PUAs change automatically?
- Can Readme documentation be automatically generated for each font set? The readme would contain instructions on how to use the icon font in CSS/HTML, and list the PUA codes for each glyph.