Cufonを使用してトラブルが発生して以来、外部のフォントリソースを使用することはしませんでしたが、最近では、フォントをロードする別の方法を探して、より良い方法があるかどうかを確認しています。優れたメソッドには、突然に現れる方法があります。
多くの新しいメソッドがあり、メソッドごとにバリエーションがあるようです。タイプキットを使用する必要がありますか?またはgoogle webfonts(jsまたはcssを使用)?ローカルでロードするフォント(fontsquirrel.comで生成されたメソッドなど)を引き続き使用する必要がありますか?
いくつかのテストを行い、最もよく受け入れられていると思われるメソッドを以下にリストしますが、Webフォントに移行する価値はありますか?リソースの負荷(http要求)が多く、ファイル形式の種類が少ない(互換性が低い)などのようですが、ほとんどの場合、ファイルは非同期で効率的に読み込まれるように見えます。
- それは単に状況と必要性の問題ですか?もしそうなら、それらは何ですか?
- これらの方法には大きな違いがありますか?
- 私がリストしていないより良い方法はありますか?
- パフォーマンスのプロ/コンは何ですか?見て?依存関係?互換性?
私はここでベストプラクティスを本当に探しています。パフォーマンスは重要ですが、スケーラビリティと使いやすさも重要です。言うまでもなく、ルックアンドフィール。
Google CSS
- 外部スタイルシートのみを使用
- 互換性のある最小のファイルタイプのみを使用
- は、styleshee()のコンテンツを使用
@import
または<link>
取得@font-face
して、独自のスタイルシートに直接配置できます。
試験結果
78ms load of html 36ms load of css
Google JSメソッド
webfont.js
スタイルセットの読み込みに使用します- 互換性のある最小のファイルタイプのみを使用
:root
クラスに要素を追加します- 頭にスクリプトを追加します。
試験結果
171ms load of html 176ms load of js 32ms load of css
Typekitメソッド
:root
要素をクラスに追加します。*.js
スニペットまたは外部から読み込まれたファイル*.js
fileを使用できますdata:font/opentype
フォントファイルの代わりに使用します。- 頭にスクリプトを追加
- 埋め込みcssをヘッドに追加します
外部スタイルシートをヘッドに追加します
typekit.comからフォントとターゲットセレクタを簡単に追加/削除/調整できます
試験結果
169ms load of html 213ms load of js 31ms load of css 3ms load of data:font/
…&Font Squirrelメソッド
@font-face{
font-weight:400;
font-style:normal;
font-family:open_sanslight;
src:url(../font/opensans-light-webfont.eot);
src:url(../font/opensans-light-webfont.eot?#iefix) format(embedded-opentype),
url(../font/opensans-light-webfont.woff) format(woff),
url(../font/opensans-light-webfont.ttf) format(truetype),
url(../font/opensans-light-webfont.svg#open_sanslight) format(svg)
}
…またはdata:fontメソッドで…
@font-face {
font-family: 'open_sanslight';
src: url('opensans-light-webfont-f.eot');
}
@font-face {
font-family: 'open_sanslight';
src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAF4sABMAAAAArXQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABqAAAABwAAAAcZLn0KkqwK44Jq866WBSpzpsNY2IyGAhoJFBbYjuxmyns5sNa4NwldcJ7eh3Uy5gQkURIlqWzONe3HcLsDX1x/+jifDXvbzgTBjopZElndil3hJkERJkmRJkVRJk3TJkEzJkmzOc4HLXOEOF7nEX/*thisisnotafullencodingjustanexample*/bZwUnK4yS3JlTx2Sr4USKEUSbHVX9fcGNBs4fqgw+GoNHU7lKr36Eqn0lCWt6pHFpWaUlc6lS6loSxRlirLlP/uuU01dVfT7L6gPxyqraluCpgj3WtqeC1V4VBDW2N4K1r1esw/IupKp9L1FwlqnuIAAAB42j3NvQ7BUBjG8R5tTz/0u2UjNTTESYQbMGmXLiISbeI6zBYjbuWtye7CeMJxtuf3LP8ne1+IXbWa7G3TMXZru4qLZkJRW1O2wzi3I+Li2Gik5yXpYkNGXj70YU98YQLGHxwwXxIWwO8SNmAdJBzAXku4gFNI9AF38QMjTwZ9vN6yJzq9OoEB6I8VQzDYK0ZguFKMwWiumIDxTDEFk6liBqaF4gDMFFvKxAfOxFUGAAABUxSL9gAA) format('woff'),
url('opensans-light-webfont-f.ttf') format('truetype'),
url('opensans-light-webfont-f.svg#open_sanslight') format('svg');
font-weight: normal;
font-style: normal;
}
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet'>
Georgian
。私はfont-squirrelメソッドを使用していますが、この質問にも素晴らしい回答を期待しています。
@font-face
宣言を宣言する方法に関する非常に優れた記事です。おそらく役立つ情報を見つけることができます。paulirish.com/2009/bulletproof-font-face-implementation-syntax