I have the following @font-face
code provided to me by webfonts.fonts.com.
@font-face {
font-family: "Arial W01 Regular";
src: url("https://example.com/fonts/6efc8731-df51-47d4-94f6-d20bbfa83f13.eot?iefix");
src: url("https://example.com/fonts/34904d9f-aa74-4e54-96b2-c893c64d4649.woff") format("woff"), url("https://example.com/fonts/4c8849d4-261c-445a-b013-663d9b3e42c6.ttf") format("truetype"), url("https://example.com/fonts/821da903-3a46-4ec9-a459-afb6776bee53.svg#821da903-3a46-4ec9-a459-afb6776bee53") format("svg"); }
It seems to work fine on all browsers, but I'm getting very odd 404s come through from IE clients - IE6, IE7, and IE8. Instead of properly picking one of the web fonts, they seem to concatenate the entire CSS instruction into a string and request the whole thing:
xxx.xxx.xxx.xxx example.com - [16/Nov/2011:09:23:30 -0500] "GET /fonts/4c81d16c-907a-43df-8e68-27da8939ce09.woff%22)%20format(%22woff%22),%20url(%22https://example.com/fonts/84ee8818-41db-4b62-8639-d3cfbf2751e8.ttf%22)%20format(%22truetype%22),%20url(%22https://example.com/fonts/d25a458a-cbcf-47ab-a30d-977747bbea34.svg HTTP/1.1" 404 2720 "https://example.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB7.1; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; MSN 9.0;MSN 9.1;MSN 9.6;MSN 10.0;MSN 10.2; MSNbVZ02; MSNmen-us; MSNcOTH)"
Oddly enough, IE still sees the webfonts, so it's not affecting the client-side functionality, just dirtying up my error logs. How can I fix this, or should I just ignore it?
Unfortunately, that is how Internet Explorer does it. The only known workaround is to simply apply a hash (#) after the font and never look at your log files again.
@font-face {
font-family: "Arial W01 Regular";
src: url("https://example.com/fonts/...eot#");
...
}
For an entertaining talk about the subject, see Jake Archibald's talk at DIBI Conference 2011, Font-Face - Good vs Legal