Untuk menindaklanjutinya, saya akhirnya menggunakan opsi lanjutan dari generator font-@ untuk subset font saya, jadi saya hanya memuat karakter yang diperlukan.
Salah satu opsi adalah untuk Base64 menyandikan font (yang memungkinkan saya untuk menanamkannya dalam file CSS saya). Jika memori berfungsi, itu Base64 mengkodekan .woff
dan .ttf
font.
Meskipun saya ingin mendukung sebanyak mungkin pengguna dari sebanyak mungkin browser, saya memutuskan bahwa tidak ada gunanya memperlambat pengguna browser modern dengan data ekstra, yang mungkin berlebihan, jadi saya menggunakan Modernizr (yang menggunakan yep / nope.js) untuk asynchronous memuat CSS
file terpisah dengan referensi ke semua format font sesuai dengan sintaks font font tahan peluru .
Saya bolak-balik di antara Base64 yang menyandikan .woff
font dan memasukkan seluruh deklarasi font di CSS
file primer atau hanya menyertakan Base64 yang .woff
di- encode di dalam primary CSS
dan kemudian memasukkan format lain dalam CSS
file yang saya muat secara sinkron melalui Modernizr.load
.
Saya lebih suka waktu muat yang cepat daripada estetika sehingga FOUC bukan masalah besar tapi saya akan perhatikan bahwa sebagian besar browser 'berkedip' pada font ketika mereka dimuat (yang setelah font yang disandikan Base64 di CSS
telah dimuat) async.
Di sisi positifnya, setelah font dimuat dan disimpan dalam cache (tajuk kedaluwarsa yang lama diatur di server) 'blink' dihilangkan dan saya dapat memuat set font yang diperluas sehingga pengguna yang berbicara bahasa lain (dan menggunakan Google translate widget yang disertakan) masih akan melihat teks bergaya.
Karena ini adalah situs saya sendiri, saya dapat bereksperimen tetapi sebagian besar melakukannya untuk "pamer", saya lebih konservatif dengan situs klien.
Teknik lain yang saya terapkan adalah meletakkan semua .svg
font ke dalam satu file dan mengidentifikasi masing-masing dengan ID sendiri daripada memiliki masing-masing dalam file yang terpisah sebagai penghasil @ font-face.