Sejak masalah yang ditimbulkan dengan menggunakan Cufon saya memberanikan diri untuk tidak menggunakan sumber font eksternal, tetapi akhir-akhir ini, saya telah mencari metode alternatif untuk memuat font untuk melihat apakah ada cara yang lebih baik; metode yang lebih baik memiliki cara untuk muncul begitu saja.
Ada banyak metode baru di luar sana, dan variasi untuk setiap metode tampaknya; Haruskah saya menggunakan typekit ? atau google webfonts (dengan js atau css)? haruskah saya terus menggunakan font yang dimuat secara lokal (mis. metode yang dibuat fontquirrel.com)?
Saya akan mencantumkan metode yang tampaknya paling diterima dengan baik di bawah ini, dengan beberapa pengujian, tetapi apakah benar-benar layak untuk dipindahkan ke font web? Sepertinya ini akan membawa beban sumber daya yang lebih tinggi (permintaan http) dan memiliki jenis format file yang lebih sedikit (kompatibilitas kurang) dll. Tetapi sepertinya file dimuat async dan efisien dalam banyak kasus.
- Apakah ini hanya masalah situasi dan kebutuhan? Jika ya, apakah itu?
- Apakah ada perbedaan drastis antara metode ini?
- Apakah ada metode yang lebih baik di luar sana yang belum saya daftarkan?
- Apa pro / kontra untuk kinerja? Lihat? ketergantungan? kompatibilitas?
Saya benar-benar mencari praktik terbaik di sini, kinerja adalah hal yang penting, begitu juga skalabilitas dan kemudahan penggunaan. Belum lagi, tampilan dan nuansa.
Google CSS
- hanya menggunakan lembar gaya eksternal
- hanya menggunakan jenis file terkecil yang kompatibel
- dapat menggunakan
@import
atau<link>
atau mengambil konten styleshee (@font-face
) dan memasukkannya langsung ke dalam lembar gaya Anda sendiri.
hasil tes
78ms load of html 36ms load of css
Metode Google JS
- digunakan
webfont.js
untuk memuat styleshet - hanya menggunakan jenis file terkecil yang kompatibel
- menambahkan
:root
elemen dengan kelas - menambahkan skrip ke head.
hasil tes
171ms load of html 176ms load of js 32ms load of css
Metode Typekit
- menambahkan
:root
elemen dengan kelas. - dapat menggunakan
*.js
cuplikan atau file*.js
file yang dimuat secara eksternal - menggunakan
data:font/opentype
alih-alih file font. - menambahkan skrip ke head
- menambahkan css yang disematkan ke head
menambahkan stylesheet eksternal ke head
Anda dapat dengan mudah menambah / menghapus / menyesuaikan font dan pemilih yang ditargetkan dari typekit.com
hasil tes
169ms load of html 213ms load of js 31ms load of css 3ms load of data:font/
… & Metode 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)
}
… Atau dengan data: metode 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
. Saya menggunakan metode font-squirrel, dan saya ingin melihat jawaban yang bagus untuk pertanyaan ini juga.
@font-face
deklarasi antipeluru , mungkin Anda dapat menemukan informasi yang berguna. paulirish.com/2009/bulletproof-font-face-implementation-syntax