Font Subsetter
Buat subset font berisi karakter yang Anda butuhkan dengan HarfBuzz di browser. Dapatkan TTF/OTF dan WOFF yang lebih kecil plus aturan @font-face.
Periksa lisensi font terlebih dahulu
Subsetting mengubah file font. Banyak lisensi komersial melarang modifikasi atau konversi font, atau hanya mengizinkannya untuk penggunaan web dengan syarat tertentu. Lisensi terbuka seperti SIL Open Font License (OFL) dan Apache 2.0 mengizinkannya (dengan OFL, subset yang masih memakai Reserved Font Name harus diganti namanya). Baca lisensi font Anda sebelum memublikasikan hasilnya.
Font asli
- Keluarga
- Format
- Ukuran file
- Glyph
- Karakter
Karakter dipilih: 0
Hasil
- Sebelum
- Sesudah (TTF/OTF)
- Sesudah (WOFF)
- Dihemat
- Glyph
- Karakter dipertahankan
Output WOFF2 tidak tersedia (tidak ada enkoder Brotli di browser). WOFF didukung semua browser modern; server Anda juga bisa mengompresi TTF/OTF dengan gzip atau Brotli.
Pratinjau subset
Karakter yang dihapus akan ditampilkan dengan font lain.
CSS @font-face
Cara membuat subset font
- Periksa lisensinya. Subsetting membuat salinan font yang dimodifikasi. Lisensi terbuka seperti SIL Open Font License (OFL) dan Apache 2.0 mengizinkannya; banyak lisensi komersial untuk desktop dan web tidak mengizinkannya, atau hanya dengan syarat tertentu. Baca lisensi font Anda terlebih dahulu.
- Letakkan file TTF, OTF, atau WOFF di area unggah, atau klik area tersebut untuk memilih file. Panel Font asli menampilkan keluarga font, format, ukuran file, jumlah glyph, dan jumlah karakter yang dipetakan font tersebut.
- Pilih Karakter yang dipertahankan: Latin dasar, Latin-1, Latin, seperti di Google Fonts, Prancis, dan Angka dan tanda angka bisa digabungkan. Tambahkan karakter Anda sendiri di Karakter dari teks (setiap karakter unik dari teks tersebut dipertahankan) atau di Rentang Unicode, yang ditulis seperti CSS:
U+0020-007E, U+2013, U+04??. - Centang Hapus hinting jika Anda menginginkan file sekecil mungkin.
- Klik Subset font. Mesinnya (sekitar 650 KB) dimuat saat pertama kali, lalu font diproses di perangkat Anda.
- Bandingkan ukurannya di Hasil, lihat Pratinjau subset, lalu gunakan Unduh TTF (atau OTF) dan Unduh WOFF, dan salin aturan CSS @font-face.
File font tidak pernah meninggalkan komputer Anda: file dibaca, di-subset, dan dikemas ulang di browser.
Untuk situs berbahasa Indonesia, preset Latin dasar sudah mencakup semua huruf bahasa Indonesia. Pilih Latin, seperti di Google Fonts jika teks Anda juga memakai tanda kutip melengkung (“ ”), tanda pisah (–, —), atau simbol seperti €.
Apa yang dilakukan subsetting
Sebuah font sering berisi ratusan atau ribuan glyph: Sirilik, Yunani, Vietnam, simbol, bentuk alternatif. Halaman berbahasa Indonesia atau Inggris hanya memakai sebagian kecil dari semua itu. Alat ini menjalankan hb-subset, subsetter dari mesin teks HarfBuzz (kode yang sama yang dipakai Google Fonts dan banyak alat build), yang dikompilasi ke WebAssembly. Alat ini mempertahankan glyph untuk karakter yang Anda pilih, ditambah glyph yang dibutuhkan fitur OpenType untuk menampilkannya (ligatur seperti “fi”, small caps, dan bentuk beraksen jika bisa dijangkau dari karakter Anda), lalu menghapus sisanya. Tabel kerning dan tabel tata letak lainnya ikut dipangkas agar sesuai.
Hasil yang umum: font lengkap Latin + Sirilik + Yunani berukuran 300 KB bisa turun menjadi 20 atau 30 KB untuk teks berbahasa Prancis, dan font logo yang di-subset ke huruf-huruf satu kata sering hanya berukuran beberapa kilobyte.
Baris Tidak ada di font mencantumkan karakter yang Anda minta tetapi tidak dimiliki font tersebut. Browser akan menampilkannya dengan font cadangan.
Format output dan unicode-range
- TTF/OTF: subset mempertahankan jenis outline font aslinya (TrueType atau CFF).
- WOFF: font yang sama dengan setiap tabel dikompresi menggunakan zlib. Semua browser modern bisa membacanya. Input WOFF didekompresi terlebih dahulu.
- WOFF2 tidak tersedia: kompresi Brotli dan transformasi tabelnya tidak memiliki enkoder di browser, dan file WOFF2 juga tidak bisa dibaca di sini. Konversi WOFF2 ke TTF terlebih dahulu (misalnya dengan fontTools). Server Anda juga bisa mengompresi TTF/OTF dengan gzip atau Brotli secara langsung.
Aturan CSS @font-face mencantumkan file WOFF terlebih dahulu, mengatur font-display: swap, dan menambahkan unicode-range yang dibuat dari karakter yang benar-benar ada di subset. Dengan unicode-range, browser hanya mengunduh file saat halaman memakai salah satu karakter tersebut, sehingga Anda bisa memecah satu keluarga font menjadi beberapa file (misalnya Latin dan Sirilik) dan setiap pengunjung hanya memuat yang dibutuhkannya. Edit Nama font-family agar sesuai dengan nama yang dipakai di stylesheet Anda.
Pertanyaan yang sering diajukan
Apakah membuat subset font itu legal?
Tergantung lisensinya, bukan alatnya. SIL Open Font License secara tegas mengizinkan modifikasi; jika font menyatakan Reserved Font Name, versi yang dimodifikasi harus didistribusikan dengan nama lain. Banyak lisensi komersial melarang modifikasi, konversi, atau self-hosting font. Jika ragu, tanyakan kepada foundry pembuatnya.
Mengapa subset lebih besar dari yang saya perkirakan?
Fitur tata letak OpenType menarik glyph tambahan (ligatur, bentuk alternatif, small caps), dan instruksi hinting bisa berukuran besar pada font TrueType. Coba Hapus hinting, dan pastikan Anda tidak mencentang preset yang besar secara tidak sengaja.
Apakah saya sebaiknya menghapus hinting?
Hinting memperbaiki tampilan pada ukuran kecil di Windows dengan rasterizer lama. Di macOS, iOS, Android, dan Windows modern pada ukuran normal, perbedaannya kecil. Untuk judul dan logo, menghapusnya biasanya tidak masalah.
Bisakah saya membuat subset dari variable font?
Bisa. Sumbu variasinya dipertahankan, sehingga subset tetap menjadi variable font; hanya karakternya yang dikurangi.
Bagaimana dengan koleksi font (.ttc)?
Hanya font pertama dalam koleksi yang diproses.
Alat terkait
- Pratinjau Kombinasi Font Coba kombinasi font untuk judul dan teks isi dengan 20 font berlisensi terbuka, atur ukuran dan tinggi baris, lalu salin kode CSS font-family.
- Konverter PX ke REM Konversi px ke rem dan em dengan ukuran font root apa pun, buat tabel konversi massal, dan ubah semua nilai px di cuplikan CSS menjadi rem sekaligus.
- CSS Formatter dan Minifier Rapikan CSS yang berantakan dengan indentasi bersih atau minify dengan csso, dan lihat ukurannya sebelum dan sesudah. Berjalan di browser Anda, tanpa unggahan.