README.md
1# Genericons
2
3Genericons are vector icons embedded in a webfont designed to be clean and simple keeping with a generic aesthetic.
4
5Use genericons for instant HiDPI, to change icon colors on the fly, or even with CSS effects such as drop-shadows or gradients!
6
7
8## Usage
9
10To use it, place the `genericons` folder in your stylesheet directory and enqueue the genericons.css file. Now you can create an icon like this:
11
12```
13.my-icon:before {
14 content: '\f101';
15 font: normal 16px/1 'Genericons';
16 display: inline-block;
17 -webkit-font-smoothing: antialiased;
18 -moz-osx-font-smoothing: grayscale;
19}
20```
21
22This will output a comment icon before every element with the class "my-icon". The `content: '\f101';` part of this CSS is easily copied from the helper tool at http://genericons.com/, or `example.html` in the `font` directory.
23
24You can also use the bundled example.css if you'd rather insert the icons using HTML tags.
25
26
27## Building your own Genericons
28
29In the `source` directory, you'll find all Genericons source icons in SVG format. This will allow you to bake your own flavor of Genericons using a tool such as FontCustom (http://fontcustom.com) or Fontello (http://fontello.com). Perhaps you need more logos than are available in the base Genericons package? Just add those logos and bake your own expanded set. Maybe you need just a few of the icons Genericons provides, but would like to trim the fat? Remove the ones you won't need!
30
31
32### FontCustom instructions
33
34FontCustom is a powerful commandline tool which which bakes icon fonts from the SVG source files. It's the tool Genericons is built on, and it provides highly accurate and perfectly crisp icons, *provided all SVGs have the same pixel height*.
35
36It's not that hard to use, and once it's installed you'll never think of icon-fonts the same way again. Seriously, you should try it. Icon fonts for everyone!
37
381. Install FontCustom. Follow the instructions on the website: http://fontcustom.com/
392. In the `source` directory from the Genericons download, open the file called `fontcustom.yml` in a text editor. Customize the `font_name` and `css_selector`.
403. Open a terminal. Browse to the `source` directory. Type `fontcustom compile`.
41
42You'll now receive a brand new subdirectory called `fontcustom-webfont`. Inside here you'll find your very own flavor of Genericons, with only the icons you want, including a handy example page that'll help you copy/paste the necessary glyphs or CSS values.
43
44*Please note*: In the source directory, there's a hidden file called `.fontcustom-manifest.json`. This file is auto-generated by the FontCustom tool, and holds codepoints (unicode addresses) for every glyph, so its address doesn't change when you add or remove icons. If you feel the need to "start fresh" with the unicode addresses, you should delete this file.
45
46
47### Fontello instructions
48
49Fontello is very easy to use. Just drop the SVG files of the icons you want onto their website and download the font. The downside is that Fontello seems to ignore the 16px pixelgrid, so you'll end up with fuzzy icons. Buyer beware.
50
51
52## Notes
53
54**Photoshop mockups**
55
56The `Genericons.ttf` file can be placed in your system fonts folder and used Photoshop or other graphics apps if you like.
57
58If you're using Genericons in your Photoshop mockups, please remember to delete the old version of the font from Font Book, and grab the new one from the zip file. This also affects using it in your webdesigns: if you have an old version of the font installed locally, that's the font that'll be used in your website as well, so if you're missing icons, check for old versions of the font on your system.
59
60**Pixel grid**
61
62Genericons has been designed for a 16x16px grid. That means it'll look sharp at font-size: 16px exactly. It'll also be crisp at multiples thereof, such as 32px or 64px. It'll look reasonably crisp at in-between font sizes such as 24px or 48px, but not quite as crisp as 16 or 32. Please don't set the font-size to 17px, though, that'll just look terrible blurry.
63
64**Antialiasing**
65
66If you keep intact the `-webkit-font-smoothing: antialiased;` and `-moz-osx-font-smoothing: grayscale;` CSS properties. That'll make the icons look their best possible, in Firefox and WebKit based browsers.
67
68**optimizeLegibility**
69
70Note: On Android browsers with version 4.2, 4.3, and probably later, Genericons will simply not show up if you're using the CSS property "text-rendering" set to "optimizeLegibility.
71
72**Updates**
73
74We don't often update icons, but do very carefully when we get good feedback suggesting improvements. Please be mindful if you upgrade, and check that the updated icons behave as you intended.
75
76**Base64 encoding**
77
78By default, Genericons ships with a stylesheet that includes a base64 encoded version of the font. This is to sidestep issues with cross-origin requests for fonts, that happen when a stylesheet loads a font that's stored on a different domain or subdomain. This is very common when using caching plugins.
79
80Base64 encoding comes with a 25% filesize overhead compared to just loading the WOFF file directly. If you know that you won't be loading fonts across domains, or have the ability to edit your server config files to allow it, you can get slightly faster performance by loading Genericons without the base64 encoding. Simply edit `genericons.css` and edit the `@font-face` declaration to match this:
81
82```
83@font-face {
84 font-family: 'Genericons';
85 src: url('Genericons.woff') format('woff'),
86 url('Genericons.ttf') format('truetype'),
87 url('Genericons.svg#genericonsregular') format('svg');
88 font-weight: normal;
89 font-style: normal;
90}
91```
92
93
94
95## Changelog
96
97**3.4.1**
98
99* IE8 support restored.
100
101**3.4**
102
103* Updated: Update Google Plus icon to new geometric version. This also *retires* the "alt" version, so *please be mindful if you choose to update, make sure you use the `f206` glyph, not the `f218` glyph, as it no longer exists!
104* New: Added helper rotation classes to the base CSS, thanks to geminorum. Apply `genericon-rotate-90` to rotate 90 degrees, -180, -270. Or `genericon-flip-horizontal` or -vertical.
105
106*Again, it is important if you choose to update to this version, make sure you're not using `genericon-googleplus-alt` or unicode character `f218`, as that has been retired! Use `genericon-googleplus` and glyph `f206` instead!*
107
108**3.3.1**
109
110Security Hardening: Remove Genericons example.html file. Please visit genericons.com instead.
111
112**3.3**
113
114The Open Source release.
115
116You can now build your own flavors of Genericons with all the SVGs provided.
117
118
119**3.2**
120
121A number of new icons and a couple of quick updates.
122
123* New: Activity
124* New: HTML anchor
125* New: Bug
126* New: Download
127* New: Handset
128* New: Microphone
129* New: Minus
130* New: Plus
131* New: Move
132* New: Rating stars, empty, half, full
133* New: Shuffle
134* New: video camera
135* New: Spotify
136* New: Twitch
137* Update: Fixed geometry in Edit icon
138* Update: Updated Foursquare icon
139* IE8 bugfix, slipstreamed into this.
140
141Twitch and Spotify mark the last social icons that will be added to Genericons.
142Future social icons will have to happen in a separate font.
143
144**3.1**
145
146Genericons is now generated using a commandline tool called FontCustom. This makes it far easier to add new icons to the font, but the switch means the download zip now has a different layout, fonts have different filenames, there's now no .otf font included (but the .ttf should suffice), and the font now has slightly different metrics. I've taken great care to ensure this new version should work as a drop-in replacement, but please be mindful and test carefully if you choose to upgrade.
147
148* Per feedback, the baked-in 16px width and height has been removed from the helper CSS. It wasn't really necessary (the glyph itself has these dimensions naturally), and it caused some headaches.
149* Base64 encoding is now included by default in the helper CSS. This makes it drop-in easy to get Genericons working in Firefox even when using a CDN.
150* Title attribute on website tool.
151* New: Website.
152* New: Ellipsis.
153* New: Foursquare.
154* New: X-post.
155* New: Sitemap.
156* New: Hierarchy.
157* New: Paintbrush.
158* Updated: Show and Hide icons were updated for clarity.
159
160**3.0.3**
161
162Bunch of updates mostly.
163
164* Two new icons, Dropbox and Fullscreen.
165* Updates to all icons containing an exclamation mark.
166* Updates to Image and Quote.
167* Nicer "Share" icon.
168* Bigger default Linkedin icon.
169
170**3.0.2**
171
172A slew of new stuff and updates.
173
174* Social icons: Skype, Digg, Reddit, Stumbleupon, Pocket.
175* New generic icons: heart, lock and print.
176* New editing icons: code, bold, italic, image
177* New interaction icons: subscribe, unsubscribe, subscribed, reply all, reply, flag.
178* The hyperlink icon has been updated to be clearer, chunkier.
179* The "home" icon has been updated for style, size and clarity.
180* The email icon has been updated for style and clarity, and to fit with the new subscribe icons.
181* The document icon has been updated for style.
182* The "pin" icon has been updated for style and clarity.
183* The Twitter icon has been scaled down to fit with the other social icons.
184
185**3.0.1**
186
187Mostly maintenance.
188
189* Fixed an issue with the example page that showed an old "top" icon instead of the actual NEW "refresh" icon.
190* Added inverse Google+ and Path.
191* Replaced tabs with spaces in the helper CSS.
192* Changed the Genericons.com copy/paste tool to serve span's instead of div's for casual icon insertion. It's being converted to "inline-block" anyway.
193
194**3.0**
195
196Mainly maintenance and a few new icons.
197
198* Fast forward, rewind, PollDaddy, Notice, Info, Help, Portfolio
199* Updated the feed icon. It's a bit smaller now for consistency, the previous one was rather big.
200* So, the previous version numbering, 2.09, wasn't very PHP version compare friendly. So from now on it'll be 3.0, 3.1 etc. Props Ipstenu.
201* Genericons.com now has a mini release blog.
202* The CSS has prettier formatting, props Konstantin Obenland.
203
204**2.09**
205
206Updated Facebook icon to new version. Updated Instagram logo to use new one-color version. Updated Google+ icon to use same radius as Instagram and Facebook. Added a bunch of new icons, cog, unapprove, cart, media player buttons, tablet, send to tablet.
207
208**2.06**
209
210Included Base64 encoded version. This is necessary for Genericons to work with CDNs in Firefox. Firefox blocks fonts linked from a different domain. A CDN (typically s.example.com) usually puts the font on a subdomain, and is hence blocked in Firefox.
211
212**2.05**
213
214Added a bunch of new icons, including upload to cloud, download to cloud, many more.
215
216**2.0**
217
218Initial public release
219