I spent several evenings exploring the best way to implement @ font-face with modern modern browsers. I am a full-time web systems developer with experience as a graphic designer. I find that the possibilities and possibilities with web design are becoming more interesting. So, I did some tests and would like to hear if anyone has any advice, any better ideas or materials about this. My testing scenario is as follows.
I tested with ALOT various online tools and applications, but in the end I turned it into one online service and one application.
I used the font that was sent with my Mac, Tamil Sangam MN and Tamil Sangam MN Bold, both of which were open, .otf.
- TamilSangamMN.otf - 290 KB
- TamilSangamMNBold.otf - 271 KB
Learn Conversion Sizes
Fontontquirrel
This is a good online tool, it is very good. There are several different modes, and I used Basic and Optimal. The result of my .otf file was svg, ttf, eot and woff.
The main
Usual
- TamilSangamMN.svg 233KB
- TamilSangamMN.ttf 71KB
- TamilSangamMN.eot 25 KB
- TamilSangamMN.woff 30 KB
- Total: 359 KB
Fatty
- TamilSangamMNbold.svg 225 KB
- TamilSangamMNbold.ttf 69 KB
- TamilSangamMNbold.eot 25 KB
- TamilSangamMNbold.woff 30 KB
- Total: 349 KB
Optimal
The first thing that I noticed with the help of optimal fonts is that they are much smaller than the basic options ~ 260 KB!
Usual
- TamilSangamMN.svg 33 KB
- TamilSangamMN.ttf 25 KB
- TamilSangamMN.eot 15KB
- TamilSangamMN.woff 17 KB
- Total: 90 KB
Fatty
- TamilSangamMNbold.svg 33 KB
- TamilSangamMNbold.ttf 25 KB
- TamilSangamMNbold.eot 15KB
- TamilSangamMNbold.woff 17 KB
- Total: 90 KB
Fontxchange
This tool can do much more than just drag and drop fonts for the web. It can convert several formats among themselves; like opentype, true type, web fonts, post script and so on. As a result, the very high quality of the files is so great that it is almost twice the size of the basic versions of FontSquirrels and 7 times larger than the version of FontSquirrels Optimal version.
Usual
- TamilSangamMN.svg 480 KB
- TamilSangamMN.ttf 72KB
- TamilSangamMN.eot 72KB
- TamilSangamMN.woff 80 KB
- Total: 704 KB
Fatty
- TamilSangamMNbold.svg 463KB
- TamilSangamMNbold.ttf 69 KB
- TamilSangamMNbold.eot 70K
- TamilSangamMNbold.woff 80 KB
- Total: 682 KB
CSS customization
At first, I was a little puzzled that the actual order in the font list mattered. Then I discovered that some of them take the first format that he finds compatible, rather than sticking to the optimal format - and that sucks. After some work, I found that this is the best way to format your css (pay attention to the order of file types is important! ).
@font-face { font-family: 'TamilSangam'; src: url('.eot'); src: url('.svg') format('svg'), url('.eot?#iefix') format('embedded-opentype'), url('.woff') format('woff'), url('.ttf') format('truetype'); font-weight: normal; font-style: normal; }
The results of my tests
Regular fonts
I have indicated the best version with *
Firefox MAC (15.0.1)
- FontSquirrel Optimal: visualizes some fat
- FontSquirrel Basic: visualizes some fat
- FontXChange 4.0: gives a little fat, but kerning is better than the version of FontSquirrel *
Firefox Windows (15.0.1)
- FontSquirrel Optimal: makes it very enjoyable
- FontSquirrel Basic: The font becomes bumpy / intermittent.
- FontXChange 4.0: makes it very enjoyable *
Safari Mac (6.0)
- FontSquirrel Optimal: Perfect render
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: Perfect render *
Chrome Mac (21.0)
- FontSquirrel Optimal: Some Fat
- FontSquirrel Basic: Some Fat
- FontXChange 4.0: Perfect render *
Chrome Windows (21.0)
- FontSquirrel Optimal: Perfect render
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: Perfect render *
Internet Explorer (9.0)
- FontSquirrel Optimal: Perfect render *
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: The font becomes bumpy / intermittent.
Bold fonts
Firefox MAC (15.0.1)
- FontSquirrel Optimal: rendering is very thick *
- FontSquirrel Basic: rendering is very thick
- FontXChange 4.0: rendering is very thick, but better kerning (I would like to choose this one for mac, but since Firefox version of firefox is not compatible here, it should go)
Firefox Windows (15.0.1)
- FontSquirrel Optimal: render, not very smooth *
- FontSquirrel Basic: The font becomes bumpy / intermittent.
- FontXChange 4.0: The font is a bit distorted / uneven.
Safari Mac (6.0)
- FontSquirrel Optimal: Perfect render *
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: displays fat
Chrome Mac (21.0)
- FontSquirrel Optimal: Perfect render *
- FontSquirrel Basic: good render, a few percent of fat
- FontXChange 4.0: displays fat
Chrome Windows (21.0)
- FontSquirrel Optimal: Perfect render *
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: rendering is very thick
Internet Explorer (9.0)
- FontSquirrel Optimal: Perfect render *
- FontSquirrel Basic: Perfect render
- FontXChange 4.0: The font becomes bumpy / intermittent.
Final implementation
I usually organize my websites in the following template, <webfonts> / <conversion source> / <conversion method> / <fonts>
/* Regular */ @font-face { font-family: 'TamilSangam'; src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn.eot'); src: url('webfonts/fontxchange/TamilSangamMN.svg#TamilSangamMN') format('svg'), url('webfonts/fontsquirrel/optimal/tamil_sangam_mn.eot?#iefix') format('embedded-opentype'), url('webfonts/fontxchange/TamilSangamMN.woff') format('woff'), url('webfonts/fontxchange/TamilSangamMN.ttf') format('truetype'); font-weight: normal; font-style: normal; } /* Bold */ @font-face { font-family: 'TamilSangam'; src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.eot'); src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.svg#tamil_sangam_mnbold') format('svg'), url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.eot?#iefix') format('embedded-opentype'), url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.woff') format('woff'), url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.ttf') format('truetype'); font-weight: bold; font-style: normal; }
Graphical overview of the result (fullsize at http://i.stack.imgur.com/atb98.png )

Conclusions and assignments
There is not a single tool that will supply fonts that port perfectly to Mac and Windows in all browsers. You must experiment and test each font. The methodology outlined above is a simple way and suggestion on how to test and experiment with @ font-face.
Is there anything that you think I can change in my methods or implementation, is there any application or service that I missed?
All the best / T