Formato de fuente web abierta (.woff)
W3C StandarWeb Open Font Format (WOFF) adalah format font web standar terbuka generasi pertama historis yang didukung oleh W3C, membungkus font TrueType atau OpenType standar dengan kompresi zlib dan metadata lisensi XML.
Periksa & Metadata
Sistem operasi dan penganalisis file mengidentifikasi file WOFF dengan memeriksa urutan byte biner utama:
Tanda Tangan Header Tingkat-Byte (Magic Bytes)
Sistem operasi dan penganalisis file mengidentifikasi file WOFF dengan memeriksa urutan byte biner utama:
SIGNATURE HEX (OFFSET 0):
77 4F 46 46REPRESENTASI ASCII: wOFF
Standardisasi: W3C Recommendation (2012)
Spesifikasi Teknis
| Arsitektur Wadah | 44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data |
| Kompresi | Deflate (zlib) compression applied to each individual font table |
| Endianness Byte | Big-Endian (SFNT standard) |
| Ruang Warna | Inherited from underlying font tables |
| Saluran & Struktur | TrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features |
| Dimensi Maks | Up to 65,535 glyphs per font file |
| Transparansi | Inherited from underlying font format |
| Streaming & Progresif | Table-by-table decompression enables streaming font loading |
Matriks Perbandingan Teknis: WOFF vs Pesaing
| Atribut Teknis | WOFF (Saat Ini) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Kodek Kompresi | Deflate (zlib) per tabel | Brotli dengan pra-pemrosesan tabel | SFNT Tanpa Kompresi | SFNT Tanpa Kompresi |
| Tanda Tangan Magic | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| Ukuran File Relatif | ~40% lebih kecil dari TTF | ~60% lebih kecil dari TTF | Standar dasar (100%) | Standar dasar (100%) |
| Lingkungan Target | Browser web lama (IE9+, Safari 5+) | Browser web modern (Universal) | Sistem operasi desktop | Penerbitan desktop & cetak |
Mode Kerusakan Umum & Panduan Pemulihan Hex
Peringatan konsol browser: 'Failed to decode downloaded font: OTS parsing error'.
Penyebab Utama: Ketidakcocokan panjang tabel tidak terkompresi yang dideklarasikan atau aliran zlib rusak.
Pemulihan: Kompres ulang tabel font atau konversikan ke WOFF2 menggunakan File2File Font Converter.
Analisis Keamanan & Vektor Serangan Parser
Browser web memparsing file WOFF yang diunduh dari domain web yang tidak tepercaya menggunakan OpenType Sanitizer (OTS) untuk memblokir payload eksploitasi.
Vektor Serangan yang Diketahui
- Pembacaan berlebih buffer (buffer over-read) selama dekompresi zlib dari potongan tabel font yang rusak.
- Bidang panjang tabel yang tidak cocok memicu luapan buffer heap (heap buffer overflows) pada perender font.
- Penolakan layanan melalui kehabisan memori selama ekspansi tabel font.
Praktik Terbaik Defensif:
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Mengurangi ukuran file font web sebesar 30% hingga 50% dibandingkan dengan file TTF atau OTF mentah yang tidak dikompresi.
- Kompatibilitas mundur universal di setiap browser web desktop dan seluler yang dirilis sejak tahun 2011.
- Menyertakan blok metadata XML opsional untuk lisensi font, kredit penulis, dan informasi hak cipta pengecoran.
Keterbatasan Teknis & Kekurangan
- Digantikan oleh WOFF2, yang dikompresi sekitar 30% lebih kecil menggunakan algoritma Brotli.
- Tidak dapat diinstal langsung ke sistem operasi desktop (Windows/Mac) tanpa konversi ke TTF/OTF.
- Algoritma kompresi zlib yang lebih lama kurang efisien dibandingkan enkoder entropi modern.
Fakta Teknis Menarik
- Byte ajaib (magic bytes) untuk WOFF 1.0 adalah 'wOFF' (0x77 0x4F 0x46 0x46), sedangkan WOFF 2.0 menggunakan 'wOF2'.
- Pengecoran tipe setuju untuk mengizinkan font mereka di web hanya setelah WOFF dibuat, karena wadahnya yang khusus membedakan font web dari font desktop yang dapat dibajak.
- WOFF awalnya diterapkan di Firefox 3.6 pada tahun 2010 sebelum menjadi rekomendasi resmi W3C.
Pertanyaan Teknis yang Sering Diajukan
Apa perbedaan antara WOFF dan WOFF2?
WOFF menggunakan kompresi zlib, sedangkan WOFF2 menggunakan algoritma Brotli yang lebih baru dari Google serta transformasi tabel, menghasilkan file yang berukuran sekitar 30% lebih kecil daripada WOFF.
Bagaimana cara mengonversi font WOFF ke TTF atau OTF untuk penggunaan desktop?
Anda dapat mengonversi file WOFF menjadi font desktop TTF atau OTF yang dapat diinstal dalam hitungan detik menggunakan File2File.app langsung di browser web Anda.
Apakah saya masih memerlukan WOFF 1.0 pada situs web modern?
Tidak. Semua browser modern mendukung WOFF2 secara bawaan. WOFF 1.0 hanya diperlukan jika Anda harus mendukung browser lama yang usang seperti Internet Explorer.