私は、今日の最新のブラウザーで @font-face を実装する最良の方法を調査するために、数晩を費やしてきました。私はフルタイムの Web/システム開発者であり、グラフィック デザイナーとしてのバックグラウンドを持っています。Web デザインの機会と可能性がますます興味深いものになっていると感じています。それで、私はいくつかのテストを行いましたが、誰かがアドバイス、より良いアイデア、またはこれに関する情報を持っているかどうかを聞きたいと思います. 私のテストシナリオは次のようになります。
さまざまなオンライン ツールとアプリケーションを多数テストしましたが、最終的には 1 つのオンライン サービスと 1 つのアプリケーションに絞り込みました。
- FontSquirrel、オンライン ツール - 無料。http://www.fontsquirrel.com/fontface/generator
- FontXChange、mac/win 用アプリケーション - 99$。http://fontgear.net/fontxchange.html
Mac に同梱されているフォント、Tamil Sangam MN と Tamil Sangam MN Bold を使用しました。どちらもオープン タイプの .otf でした。
- タミルサンガムMN.otf - 290 KB
- タミルサンガムMNBold.otf - 271 KB
コンバージョン サイズの調査
フォントリス
これは優れたオンライン ツールです。非常に優れています。いくつかの異なるモードがあり、私は Basic と Optimal を使用しました。私の .otf ファイルの出力は、svg、ttf、eot、および woff でした。
基本
通常
- タミルサンガムMN.svg 233 KB
- タミルサンガムMN.ttf 71 KB
- タミルサンガムMN.eot 25 KB
- タミルサンガムMN.woff 30 KB
- 合計: 359KB
大胆な
- タミルサンガムMNbold.svg 225 KB
- タミルサンガムMNbold.ttf 69 KB
- タミルサンガムMNbold.eot 25 KB
- タミルサンガムMNbold.woff 30 KB
- 合計: 349KB
最適な
最適なフォントで最初に気付いたのは、それらが基本的なバリアント (260 KB) よりもかなり小さいことです!
通常
- タミルサンガムMN.svg 33 KB
- タミルサンガムMN.ttf 25 KB
- タミルサンガムMN.eot 15 KB
- タミルサンガムMN.woff 17 KB
- 合計: 90KB
大胆な
- タミルサンガムMNbold.svg 33 KB
- タミルサンガムMNbold.ttf 25 KB
- タミルサンガムMNbold.eot 15 KB
- タミルサンガムMNbold.woff 17 KB
- 合計: 90KB
FontXChange
このツールは、Web 用のフォントをジャグリングするだけではありません。複数のフォーマットを相互に変換できます。opentype、True Type、Web フォント、Post Script など。その結果、全体的に非常に高品質なファイルが非常に大きくなり、FontSquirrels Basic バージョンのほぼ 2 倍、FontSquirrels Optimal バージョンの 7 倍以上の大きさになります。
通常
- タミルサンガムMN.svg 480 KB
- タミルサンガムMN.ttf 72 KB
- タミルサンガムMN.eot 72 KB
- タミルサンガムMN.woff 80 KB
- 合計: 704KB
大胆な
- タミルサンガムMNbold.svg 463 KB
- タミルサンガムMNbold.ttf 69 KB
- タミルサンガムMNbold.eot 70 KB
- タミルサンガムMNbold.woff 80 KB
- 合計: 682KB
CSS の設定
最初は、フォント リスト内の実際の順序が重要であることに少し戸惑いました。その後、最適なフォーマットに固執するのではなく、最初に互換性があると判断したフォーマットを採用する人もいることがわかりました。いくつかの実験の後、これが css をフォーマットする最適な方法であることがわかりました (ファイルの種類の順序に注意してください | 重要! )。
@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;
}
私のテスト結果
通常のフォント
私は*で最高のバージョンをマークしました
Firefox MAC (15.0.1)
- FontSquirrel 最適: 少し太めにレンダリングします
- FontSquirrel Basic: 少し太めにレンダリングします
- FontXChange 4.0: 少し太めにレンダリングされますが、カーニングは FontSquirrel バージョンよりも優れています *
Firefox Windows (15.0.1)
- FontSquirrel Optimal: 非常にきれいにレンダリングします
- FontSquirrel Basic: フォントがギザギザ/途切れる
- FontXChange 4.0: 非常に素晴らしいレンダリング *
サファリ マック (6.0)
- FontSquirrel Optimal: 完璧なレンダリング
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: 完璧なレンダリング *
クローム マック (21.0)
- FontSquirrel 最適: 少し太め
- FontSquirrel Basic: 少し太い
- FontXChange 4.0: 完璧なレンダリング *
クローム Windows (21.0)
- FontSquirrel Optimal: 完璧なレンダリング
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: 完璧なレンダリング *
インターネット エクスプローラー (9.0)
- FontSquirrel Optimal: 完璧なレンダリング *
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: フォントがギザギザ/途切れる
太字フォント
Firefox MAC (15.0.1)
- FontSquirrel 最適: 非常に太くレンダリングします *
- FontSquirrel Basic: 非常に太くレンダリングします
- FontXChange 4.0: 非常にファットなレンダリングを行いますが、カーニングが向上します (Mac 用にこれを選択したいのですが、Windows 版の firefox には互換性がないため、ここでは選択する必要があります)。
Firefox Windows (15.0.1)
- FontSquirrel 最適: レンダリングは問題ありませんが、アンチエイリアス処理はあまり行われていません *
- FontSquirrel Basic: フォントがギザギザ/途切れる
- FontXChange 4.0: フォントが少し歪む/ギザギザになる
サファリ マック (6.0)
- FontSquirrel Optimal: 完璧なレンダリング *
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: 太くレンダリング
クローム マック (21.0)
- FontSquirrel Optimal: 完璧なレンダリング *
- FontSquirrel Basic: 良好なレンダリング、数パーセントのファット
- FontXChange 4.0: 太くレンダリング
クローム Windows (21.0)
- FontSquirrel Optimal: 完璧なレンダリング *
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: 非常に太いレンダリング
インターネット エクスプローラー (9.0)
- FontSquirrel Optimal: 完璧なレンダリング *
- FontSquirrel Basic: 完璧なレンダリング
- FontXChange 4.0: フォントがギザギザ/途切れる
最終的な実装
私は通常、次のパターンで Web フォントを整理します: <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;
}
結果のグラフィカルな概要 (フルサイズはhttp://i.stack.imgur.com/atb98.pngにあります)
結論とクエスト
Mac と Windows のすべてのブラウザーで適切にレンダリングされるフォントを提供する単一のツールは存在しません。各フォントで実験とテストを行う必要があります。上記の方法論は、@font-face を使用してテストおよび実験するための簡単な方法と提案にすぎません。
メソッドまたは実装で変更できると思われるものはありますか?見逃したアプリケーションまたはサービスはありますか?
よろしくお願いします/ T