You don't need a separate file for every state of an icon, all you need is simple CSS. Iconic is built exactly for this purpose.
Adjust the slider to see the icon change.
<span class="iconic iconic-microphone"><span />
@font-face { font-family: 'Iconic'; src: url('fonts/Iconic-Large.eot') format('eot'); src: url('fonts/Iconic-Large.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Iconic-Large.woff') format("woff"); font-weight: 500; font-style: normal;/* IE9 Compat Modes */ /* Modern Browsers */ } @font-face { font-family: 'Iconic'; src: url('fonts/Iconic-Medium.eot') format('eot'); src: url('fonts/Iconic-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Iconic-Medium.woff') format("woff"); font-weight: 400; font-style: normal;/* IE9 Compat Modes */ /* Modern Browsers */ } @font-face { font-family: 'Iconic'; src: url('fonts/Iconic-Small.eot') format('eot'); src: url('fonts/Iconic-Small.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('fonts/Iconic-Small.woff') format("woff"); font-weight: 300; font-style: normal;/* IE9 Compat Modes */ /* Modern Browsers */ } .iconic { font-family: 'Iconic'; display: inline-block; background: #efefef; text-align: center; padding:20px; width:128px; border-radius: 3px; font-size:16px; font-weight: 300; line-height: .75; } .iconic.iconic-microphone:before { content: '\1f3a4'; } .iconic[min-width~="100px"] { font-weight: 400; font-size:64px; } .iconic[min-width~="200px"] { font-weight: 500; font-size:255px; }