+2  A: 

The best answer I've discovered so far, in hopes that it helps someone else:

As far as I can tell, the key issue is whether the CSS file (not the font file) is loaded cross-domain. If I load the CSS file with the @font-face declarations from my static assets domain, nothing I do will make the fonts work in FF or IE, regardless of the access control headers. If I load the CSS file from the same domain as the page, or I just move my @font-face declarations into a style block in the page head, then it works in all browsers (I can even load the font files cross-domain as long as I have the access control header set).

To summarize: AFAICT, FF 3.5 and IE 8 will refuse to honor @font-face declarations in a cross-domain-loaded CSS file, no matter what.

I would love to be corrected on this if anyone knows better and can point out what else I might be doing wrong.

Indeed, I was wrong. It turns out the CSS-compressor we were using for deploying assets to be served from the dedicated domain was wrapping the entire chunk of CSS with "@media screen { ... }". I carefully compared the @font-face rules to be sure the compressor didn't mess with them, but never checked the very beginning and end of the CSS file to catch that wrapping. When I switched to serving same-domain, that wrapping didn't happen.

As it turns out, IE and Firefox do not honor @font-face declarations wrapped inside @media: Safari, Chrome and Opera do.

Sigh.

Carl Meyer
A: 

This link helped me a lot: http://snook.ca/archives/html_and_css/becoming-a-font-embedding-master

Unfortunately, I was sorely disappointed with the quality of the text from most of the fonts I wanted to try. I couldn't decide if some fonts weren't anti-aliasable or not but the results weren't satisfying and I still use image replacement.

mark123
See my edited clarification above. As I said originally, if I put everything on the same domain it all works to my complete satisfaction in all browsers. This means that answers which don't specifically address the cross-domain issue are irrelevant here. The article you link to says nothing about the cross-domain issues. Sorry for the downvote, but I want to make sure the relevant answers stay at the top.
Carl Meyer
I'd like to see the page if the results are satisfactory. Would you mind posting a sample?
mark123
I'll gladly post a link to the site when it goes live (within a week), but can't until then. If you're interested in the design side of things, I think that's what you're looking for. I'd also like to post a simple pared-down demonstration of the cross-domain issues, but don't have time just now.
Carl Meyer
Guess I'm a little late getting back here, but fwiw the site in question is http://www.thesteelwheels.com, if you're interested in seeing the results achieved with font-face.
Carl Meyer
A: 

I would suggest looking at this IEBlog post, which describes how you do font embedding on IE. No, that doesn't match the CSS3 way, and no, you don't have any other way to do it in IE using @font-face.

It might be worth noting that Microsoft submitted the EOT approach to the W3C in a move to get it standardized, and W3C has expressed interest in that course of action.

Michael Madsen
See my edited clarification above. As I said originally, if I put everything on the same domain it all works to my complete satisfaction in all browsers. This means that answers which don't specifically address the cross-domain issue are irrelevant here. The article you link to says nothing about the cross-domain issues. Sorry for the downvote, but I want to make sure the relevant answers stay at the top.
Carl Meyer