Web geliştirme dünyasında 2025 yılında önemli bir gelişme yaşandı: Safari, text-wrap: pretty özelliğinin makul bir uygulamasını sundu. Bu özellik, metinleri daha estetik bir şekilde satırlara bölerek XV. yüzyıl matbaacılığının güzelliğine yaklaşmayı hedefliyor. Geleneksel olarak, tarayıcılar metinleri satırlara bölmek için basit bir "açgözlü" algoritma kullanıyordu: bir sonraki kelime sığarsa ekle, sığmazsa yeni satıra geç. Bu yöntem genellikle estetik olmayan sonuçlar doğuruyordu. Johannes Gutenberg gibi matbaacılar bu işlemi elle yaparken, 1981'de Knuth ve Plass, TeX için dinamik programlama kullanarak bilgisayarlara bu yeteneği kazandırdı. Tarayıcılar ise bu gelişmiş algoritmaları benimsemekte uzun süre direndi, çünkü web ortamında pencere genişliği dinamik olduğu için satır bölme işleminin "çevrimiçi" yapılması gerekiyordu.
text-wrap: pretty özelliği, satırları karakter sayısı açısından yaklaşık olarak eşit hale getirmeyi amaçlar. Ancak, satır uzunlukları tam olarak aynı olamayacağı için, hem sol hem de sağ kenarların hizalanması istendiğinde kelimeler arasındaki boşlukların ayarlanması gerekir. İşte bu noktada text-align: justify devreye girer ve boşlukları ayarlayarak tam hizalama sağlar. Makalede belirtildiği üzere, Safari'nin text-wrap: pretty uygulamasının text-align: justify ile birleşimi beklenmedik ve çirkin sonuçlar doğurabiliyor. Yazar, bu blog yazısında da görüldüğü gibi, kelimeler arasındaki boşlukların orantısız bir şekilde genişlediğini gözlemliyor.
Bu sorun, text-wrap: pretty'nin temel uygulama mantığından kaynaklanıyor. Dinamik programlama algoritması, her satırı hedef genişliğe yaklaştırmayı hedeflerken, sapmalar için cezalandırılır. Ancak, bir paragrafın maksimum genişliği sabittir; bir satır daha kısa olabilirken, taşmayı önlemek için daha uzun olamaz. Bu durum, algoritmanın bazen daha az satırda daha fazla kelimeyi sıkıştırmak yerine, fazladan bir satır eklemeyi tercih etmesine yol açar. Bu da text-align: justify uygulandığında boşlukların aşırı derecede açılmasına neden olur. Her iki özellik tek başına iyi çalışsa da, bir araya geldiklerinde tipografik bir sorun yaratıyorlar.
Web tarayıcılarında metin hizalama ve satır kaydırma özelliklerinin birleşimi, kullanıcı deneyimini etkileyen beklenmedik tipografik sorunlara yol açabilir.