murattunalı.

Neden bu yazı yüzü? İki aile emekli, bütçe %27,5 arttı.

Murat Tunalı YAYIN TARİHİ: OKUMA: 4′ DECISION Tipografi

Bir yazı yüzü seçimi aynı anda bir performans kararıdır: dosya ilk boyayı bekletir, metrikleri değiştirir ve yanlış kalibre edilirse düzen kaymasına dönüşür.

Bu sitede 27 Ağustos 2026’da iki yazı yüzü ailesi tek turda emekli oldu. Archivo ve Spline Sans Mono gitti, yerine Newsreader ve IBM Plex Mono geldi. Tipik bir sayfanın yazı yüzü yükü 82,6 KB’dan 105,3 KB’a çıktı — %27,5 artış. Bu yazı o artışın neden kabul edildiğini ve turun yolda bulduğu üç sessiz kusuru anlatıyor.

Teslim fontun kendisiyle çelişiyordu

Gelen tasarım teslimi «Newsreader değişken font: wght 300..500» diyordu. Fontun gerçek ekseni 200–800. İlk raporumda bu hatayı aynen aktardım ve bütçe kararı yanlış bir tavana göre verildi. Eksen fontun kendi fvar tablosundan okununca sayılar değişti ve karar yeniden soruldu. Düzeltilmiş seçenekle 400–800 seçildi: sitenin 92 ağırlık bildirimi neredeyse birebir taşındı, 500 tavanı ise hepsini orta ağırlığa düşürecekti.

Dar aralık daha büyük dosya verdi

Optik boyut aralığı seçilirken üç varyant ölçüldü ve sonuç sezgiye aykırıydı:

  1. opsz 6–72 → 119,9 KB
  2. opsz 16–72 → 126,6 KB
  3. opsz 24–72 → 103,9 KB

16 tabanı 6 tabanından pahalı, çünkü 16 fontta bir master değil: budayıcı oraya yeni bir master enterpole ediyor. Taban 24 seçildi — hem gerçek bir master, hem netleşme jestinin süpürme tabanı.

Mono geçişi bütçeye para iade etti

  1. önce Archivo 69,3 + Spline 13,3 = 82,6 KB
  2. sonra Newsreader 96,8 + Plex 8,5 = 105,3 KB
  3. pilot rotalar 312,2 → 152,1 KB

IBM Plex Mono sitenin kullandığı glif kümesine budanınca 132,4 KB’dan 8,5 KB’a indi — Spline’ın 13,3’ünden küçük. Teslimin «yaklaşık 50 KB artış» beklentisi budanmamış iki statik ağırlık içindi. Teslimin kendi ölçütü ise hiçbir kurulumda sağlanamıyordu: Newsreader’ın roman kesimi tek başına eski çiftten büyük. Bu tabloyla raporlandı ve artış bilinçle kabul edildi. Budama aracı açık kaynak: woff2-axis-subsetter.

Üç ayrı kusur tek bir kusurdu

Turun ilk doğrulama koşumu on sekiz kırmızı verdi ve çoğunun kökü tek satırdaydı: animasyon kütüphanesine letter-spacing değeri olarak 0,200px verildi, ekrana 18,72px yazıldı. Motor doğru hesaplıyordu; kütüphanenin CSS eklentisi girdiyi tanımadı.

  1. mobil kaydırma CLS 0,3249 · 0,1996 · 0,4156 → 0,0008 · 0,0006 · 0,0012
  2. h1 takası @390 112,8 → 75,2px → 0,0px
  3. yatay taşma 145px → 0

Yani üç ayrı «kusur» tek bir kusurdu. Düzeltme izi kütüphaneye hiç vermemek oldu: değer artık tween’in kendi ilerlemesinden elle yazılıyor, tek yazar ve tek birim. Ders kayda geçti — bir kütüphaneye düzen özelliği verirken girdi değil çıktı ölçülür, çünkü çevrim sessizce başka bir değer üretebiliyor.

İmza jesti bir tur boyunca ölüydü ve hiçbir göz göremezdi

Üçüncü koşumda bir karşı kanıt nöbetçisi kırmızı yandı. Hiza kusursuzdu, ama netleşmenin sürdüğü eksen seksen karede tek bir değer almıştı. Tarayıcıda dört biçim denendi:

  1. "opsz" 24.0 → 72 okunan: "opsz" 24 donuk
  2. "opsz" 24 → 72 okunan: "opsz" 43.2 akıyor
  3. "wdth" 97 → 125 okunan: "wdth" 108.452 akıyor
  4. "opsz" 24, "wght" 800 → 72, 800 akıyor

Sebep: kütüphane font-variation-settings değerini karmaşık bir dize olarak çeviriyor ve iki ucun sayısal iskeleti birebir eşleşmek zorunda. 24.0’ın ondalık noktası onu iki sayı gibi ayrıştırıyor, iskelet tutmuyor ve kütüphane hiç interpole etmeden, hata da vermeden geçiyor. Kusuru benim kendi yuvarlama çağrım doğurmuştu. Tüm eksen yazımları tam sayıya çekildi; ölçüm bir değerden seksen farklı değere çıktı.

Dersin asıl ağırlığı şu: ekranda hiçbir şey bozuk görünmüyordu. Bulanıklık akıyordu, opaklık akıyordu, yalnız imza ekseni ölüydü. Bunu ne göz, ne düzen kayması ölçümü, ne erişilebilirlik denetimi, ne de hizayı ölçen test görebilirdi. Yalnızca «eksen gerçekten oynadı mı» diye soran ters nöbetçi gördü.

Optik boyut sabitlendi, takas farkı sıfıra indi

Tarayıcının optik boyutu puntodan seçmesi metrik yedeği imkânsız kılıyordu: Newsreader’ın dize genişliği opsz 24’te Georgia’nın %94,25’i, opsz 72’de %102,07’si — tek bir size-adjust değerinin kapatamayacağı %8,3’lük bir yelpaze. Optik boyut artık sabit ve her rol kendi kalibrasyon değerini yazıyor. Sonuç: altı rotada yazı tipi takası farkı 0,0px.

Yedekler de artık elle kalibre edilmiyor. Bir araç her ağırlık–optik boyut çiftini ölçüp Georgia’ya göre oranı deftere yazıyor; çıktı deterministik ve doğrulama süiti değerleri kaynağından yeniden türetip karşılaştırabiliyor. Yirmi bir Archivo yedeği altı Newsreader yedeğine indi, ölçülen size-adjust bandı %91,92–102,07.

Yön değiştiren iki jest

Fareyle üzerine gelince uygulanan nefes jesti «taban artı beş» yazıyordu. Yeni tabanda o beş birim eksenin tavanının üstüne düşüyor, yani font onu sessizce kırpıyor ve jest hiç görünmüyordu. Üstelik ilişki de ters: optik boyut düştükçe harf genişliyor. Jest eksi beşe döndü. Ok glifi de yön değiştirdi — yukarı, aşağı ve çift yönlü oklar Plex’te var, Newsreader’da yok; Archivo döneminin tam tersi.

Bir eksen oynamıyorsa jest yoktur — ve bunu yalnız eksenin oynadığını ölçen test görür.

Murat Tunalı

Kurucu. 20 yıl kurumsal IT altyapısı + web geliştirme.

Sonraki yazı

ŞEMA: BLOGPOSTING + PERSON + BREADCRUMBLIST — YAZAR, TARİH VE OKUMA SÜRESİ ALANLARI ŞEMAYI BESLER