WOFF2

Web Open Font Format 2.0 — Brotli sıkıştırmasıyla en küçük dosya boyutlarını sunan web fontlarının altın standardı.

.woff2 Web Open Font Format 2.0
TürSıkıştırılmış ikili
SıkıştırmaBrotli
Dosya BoyutuEn küçük (~WOFF'tan %30 daha küçük)
Destek97%+ tarayıcı
En İyi KullanımModern web projeleri (önerilen)
BobcornHer zaman dahil

WOFF2 Nedir?

WOFF2, Google tarafından geliştirildi ve Mart 2018'de W3C Tavsiyesi oldu. Orijinal WOFF kavramını temel alır, ancak zlib sıkıştırmasını Brotli ile değiştirir — yine Google tarafından geliştirilen ve önemli ölçüde daha iyi sıkıştırma oranları elde eden bir sıkıştırma algoritması.

Ancak WOFF2, yalnızca "daha iyi sıkıştırmalı WOFF" değildir. Sıkıştırmadan önce font verilerini yeniden yapılandıran ve çok daha sıkıştırılabilir hale getiren bir ön işleme dönüşümü sunar. TrueType konturları için bu, gliph koordinatlarına tahminsel kodlama uygulamak anlamına gelir — her nokta, mutlak koordinat yerine öngörülen bir değerden delta olarak kodlanır. Sonuç, Brotli'nin agresif biçimde sıkıştırabileceği çok daha fazla tekrar içeren bir bayt akışıdır.

Bu iki adımlı yaklaşım — alana özgü ön işleme ve ardından genel amaçlı sıkıştırma — WOFF2'nin tüm formatlar arasında sürekli olarak en küçük font dosyalarını üretmesinin nedenidir.

Nasıl Çalışır

WOFF2, kaynak font verilerine iki aşamalı bir sıkıştırma hattı uygular:

  • Aşama 1: Ön işleme dönüşümü — font'a özgü dönüşümler, sıkıştırılabilirliği en üst düzeye çıkarmak için veriyi yeniden yapılandırır. TrueType gliph konturları için koordinatların tahminsel kodlaması kullanılır — her nokta öngörülen konumdan fark olarak kodlanır, bu da çok daha küçük sayılar üretir. Benzer dönüşümler diğer font tablolarına da uygulanır.
  • Aşama 2: Brotli sıkıştırması — ön işlenmiş veriler, LZ77 kayan pencere sıkıştırması ile Huffman kodlamasını ve yerleşik statik sözlüğü birleştiren Brotli ile sıkıştırılır. Brotli, tipik font verileri üzerinde zlib'den %20-30 daha iyi sıkıştırma sağlar.

Tarayıcı tarafında süreç tersine döner: Brotli açma işleminin ardından özgün font tablolarını yeniden oluşturmak için ters dönüşümler yapılır. Ek adıma rağmen WOFF2 açma işlemi WOFF1'den aslında daha hızlıdır — Brotli hızlı kod çözme için tasarlanmıştır ve daha küçük dosya ağ üzerinden daha hızlı aktarılır.

WOFF2 ile tipik font yığını
@font-face {
  font-family: 'MyIcons';
  src: url('icons.woff2') format('woff2');
  font-display: swap;
}

.icon { font-family: 'MyIcons'; }
.icon-home::before { content: '\E001'; }

Yalnızca tek bir src girişi — sadece WOFF2 — listelediğimize dikkat edin. %97+ tarayıcı kapsamıyla birçok modern proje artık yedek bir format gerektirmiyor. font-display: swap yönergesi, ikon fontu yüklenirken tarayıcıya yedek fontla metni hemen göstermesini söyler ve görünmez metni önler.

Artılar ve Eksiler

    Artılar
  • Herhangi bir font formatı arasında en iyi sıkıştırma oranı
  • En hızlı açma (Brotli kod çözme hızı için optimize edilmiştir)
  • W3C Tavsiyesi (2018'den beri resmi web standardı)
  • Küresel tarayıcıların %97+'sı tarafından desteklenir
  • Web fontları için yerleşik endüstri standardı
    Eksiler
  • Internet Explorer'ın hiçbir sürümünde desteklenmiyor
  • Dönüştürme araçları gerektirir (SVG Font gibi elle düzenlenemez)
  • İşletim sistemi düzeyinde font kurulumuna uygun değil (bunun için TTF kullanın)

Tarayıcı Desteği

WOFF2, tüm modern tarayıcılarda geniş desteğe sahiptir. Tek önemli boşluk, Microsoft tarafından Haziran 2022'de kullanımdan kaldırılan Internet Explorer'dır.

TarayıcıMinimum Sürüm
Chrome36+
Firefox39+
Safari12+
Edge14+
Opera23+
Internet ExplorerDesteklenmiyor

Birleşik küresel kapsam yaklaşık %97'dir. Kalan ~%3 neredeyse tamamıyla eski IE kurulumlarından ve çok eski mobil tarayıcılardan oluşur.

İpucu
2024 ve sonrasında, yalnızca WOFF2 web projelerinin büyük çoğunluğu için yeterlidir. Analizleriniz önemli IE 11 trafiği gösteriyorsa yalnızca WOFF'u yedek olarak ekleyin.

Dosya Boyutu Karşılaştırması

WOFF2'nin sıkıştırma avantajını göstermek için 200 gliph içeren bir ikon fontu için tipik dosya boyutları:

FormatTipik BoyutTTF'ye Göre Küçülme
.ttf~80 KBTemel
.woff~48 KB~%40 daha küçük
.woff2~34 KB~%58 daha küçük

Tasarruf daha büyük ikon setlerinde katlanarak artar. 500 gliph'lik bir font TTF olarak 200 KB, WOFF olarak 120 KB ve WOFF2 olarak yalnızca 82 KB olabilir. Binlerce sayfa yüklemesinde bu kilobaytlar doğrudan daha hızlı boyama süreleri ve düşük bant genişliği maliyetlerine dönüşür.

WOFF2 Ne Zaman Kullanılır

Her zaman. WOFF2, herhangi bir web tabanlı ikon font dağıtımı için varsayılan format olmalıdır. En küçük dosyaları, en hızlı açmayı ve neredeyse evrensel tarayıcı desteğini sunar.

WOFF2 kullanmayacağınız tek senaryo, Internet Explorer'ı hedefliyorsanızdır — bu durumda yedek olarak WOFF ile eşleştirin:

@font-face {
  font-family: 'MyIcons';
  src: url('icons.woff2') format('woff2'),
       url('icons.woff') format('woff');
  font-display: swap;
}

Modern tarayıcılar WOFF2 dosyasını alır; IE 11 ise WOFF'a geçer. Herkes fontu alır, herkes sıkıştırılmış olarak alır.

Bobcorn'da
WOFF2 her zaman Bobcorn'un dışa aktarmasına dahildir — isteğe bağlı değildir çünkü temel web formatıdır. Bobcorn, optimum sonuçlar için Brotli sıkıştırmalı ttf2woff2 kütüphanesini kullanır. Oluşturulan .woff2 dosyasını her dışa aktarmada CSS ve demo sayfalarının yanında bulacaksınız.
Performans ipucu
En iyi yükleme performansı için @font-face bildiriminizdeki font-display: swap'ı kullanın. Bu, ikon fontu yüklenirken tarayıcının yedek bir fontla metni hemen göstermesine olanak tanır ve sayfaları yanıtsız hissettiren "görünmez metin yanıp sönmesini" (FOIT) önler.