İçeriğe geç
PS5PCEM
KısmiSistem yazılımı ve HLE

Yazı tipi işleme

libSceFont, oyunun sağladığı TrueType ve OpenType yazı yüzlerini FreeType ile rasterleştirir. Sistem yazı tipi istekleri Latin, Yunan ve Kiril için birlikte gelen Noto Sans yedeğini kullanır.

10 Ekim 2026 tarihine kadarki depo notları

Yazı yüzleri, ölçek ve yaşam süresi

Bir oyun bir yazı tipi kütüphanesi açar, sağladığı baytlardan veya bir sistem yazı tipi isteğinden bir yüz oluşturur, ardından glif ölçümlerini ve kapsamını ister. Her yüz kendi ölçeğini, işleme ölçeğini, eğimini ve yaşam süresini tutar. Kütüphaneyi kapatmak yüzlerini serbest bırakır, işlemin kapanması da yazı tipi durumunu temizler. Yazı tipi baytları açılışta kopyalanır; böylece oyunun kaynak arabelleğinin daha sonra eşlemesinin kaldırılması rasterleştiriciyi geçersiz kılamaz.

Noto Sans bir yedektir; her sistem yazı tipinin bayt bayt aynı kopyası değildir. Latin, Yunan ve Kiril'i kapsar. Oyunun sağladığı bir yüz CJK dahil başka glifler içerebilir ve bu ana hatlar kullanılır. Sistem yazı tipi isteğinin kendisi bir CJK yüzünün yerine geçmez.

Glifler, karakter aralığı ve atlaslar

Glif yolu gerçek ölçümleri, yatay düzeni, temel çift aralığını (kerning), kenar yumuşatmalı kapsamı, kırpmayı ve işleme sonucu tanımlayıcılarını döndürür. Sınırlı bir glif önbelleği aynı karakteri yeniden rasterleştirmekten kaçınır, ayrı bir çift önbelleği de karakter aralığını boyutlar arasında yeniden kullanır. Yazımlar bir doku atlasına dokunmadan önce CPU izinlerini denetler ve GPU sayfa izlemelerini geçersiz kılar.

Yüzün içermediği geçerli bir Unicode skaleri, bir oyunun tam bir atlas aralığı oluştururken karşılaştığı denetim kodları dahil, yüzün .notdef ana hattını kullanır. Jurassic Park Classic Games Collection'ın yazı tipi atlasını oluşturmayı bitirebilmesini sağlayan bu eksik glif yoludur. Geçersiz Unicode skalerleri ve aralık dışındaki açık glif tanımlayıcıları hâlâ hata döndürür. Kapsam bir ile dört bayt arasındaki piksellere yazılır.

Metin düzeninde oyuna kalanlar

Pek çok oyun libSceFont'u hiç çağırmaz. Metni kendi motor yazı tipiyle çizer ve bu uygulama o pikselleri değiştirmez. HLE yolu, rasterleştirmeyi sistem yazılımından isteyen oyunlar içindir.

Metin şekillendirme, çift yönlü düzen, sentetik kalınlık, CJK sistem yazı tipi değişimi, koleksiyon yüzü seçimi ve üst düzey FontWriting ve String API'leri uygulanmadı. Odaklı denetimler font filtresiyle zig build test-hle arkasındadır.

Uygulananlar

  • Oyunun sağladığı TrueType ve OpenType yüzlerinin FreeType ile rasterleştirilmesi.
  • Latin, Yunan ve Kiril sistem yazı tipi istekleri için Noto Sans yedeği.
  • Ölçümler, yatay düzen, çift aralığı, eğim, kırpma ve bir glif önbelleği.
  • Eksik Unicode skalerleri için .notdef yedeği; Jurassic Park'ın atlasının önünü açar.

Hâlâ eksik olanlar

  • Şekillendirme, çift yönlü düzen ve FontWriting API'leri yok.
  • Sistem yazı tipi istekleri bir CJK yüzünün yerine geçmez.
  • Metni tamamen kendi motorunda çizen oyunlar bu yolu kullanmaz.

İlgili mekanizmalar

Bu sayfalar nedir

Metin, PS5PCEM deposundaki mimari notları ve Ekim 2026 raporlarını izler. Odaklı bir testin geçmesi yeni bir kare hızı veya oyunun yeniden bitirilmesi anlamına gelmez.

Tüm teknolojiler