The following is @ font-face support: http://caniuse.com/fontface
2.1 the browser simply does not support it, and it is not properly supported until 4.0. 2.2-3 partial support refers to the use of local() , which is not supported at all. The font will not work at all in the Android browser if you try to install local fonts or use it to force the user to upload your files (emoticon).
Edit: How do I know if a font (@ font-face) has already been downloaded? You can use this jQuery plugin to determine if Font-Awesome is loaded. If it doesn't (due to a bad font file or due to lack of support from the phone), you can add a class that adds a background image (icon) in div / span / whatever (there cannot be an <i> ) to which the icon was applied.
Here you can see the demo.
Patrick
source share