Zum Inhalt springen
PS5PCEM
TeilweiseFirmware und HLE

Schriftausgabe

libSceFont rastert vom Titel gelieferte TrueType- und OpenType-Schriftschnitte mit FreeType. Anforderungen einer Systemschrift nutzen den mitgelieferten Ersatz Noto Sans für Lateinisch, Griechisch und Kyrillisch.

Repository-Notizen bis 10. Oktober 2026

Schriftschnitte, Maßstab und Lebensdauer

Ein Titel öffnet eine Schriftbibliothek, erzeugt einen Schriftschnitt aus Bytes, die er liefert, oder aus einer Anforderung einer Systemschrift, und fragt dann Glyphenmetriken und Abdeckung ab. Jeder Schriftschnitt behält seinen eigenen Maßstab, Ausgabemaßstab, seine Schrägstellung und seine Lebensdauer. Das Schließen der Bibliothek gibt ihre Schriftschnitte frei, und das Abbauen des Prozesses löscht den Schriftzustand. Die Schriftbytes werden beim Öffnen kopiert, sodass ein späteres Aufheben der Abbildung des Quellpuffers des Titels den Rasterer nicht ungültig machen kann.

Noto Sans ist ein Ersatz, keine bytegleiche Kopie jeder Firmwareschrift. Es deckt Lateinisch, Griechisch und Kyrillisch ab. Ein Schriftschnitt, den der Titel liefert, kann andere Glyphen enthalten, einschließlich CJK, und diese Umrisse werden verwendet. Die Anforderung einer Systemschrift selbst setzt keinen CJK-Schriftschnitt ein.

Glyphen, Kerning und Atlanten

Der Glyphenpfad liefert echte Metriken, waagerechtes Layout, grundlegendes Paar-Kerning, geglättete Abdeckung, Beschnitt und Deskriptoren des Ausgabeergebnisses. Ein begrenzter Glyphen-Cache vermeidet, dasselbe Zeichen erneut zu rastern, und ein getrennter Paar-Cache verwendet Kerning über Größen hinweg wieder. Schreibvorgänge prüfen die CPU-Rechte und machen GPU-Seitenüberwachungen ungültig, bevor sie einen Texturatlas berühren.

Ein gültiger Unicode-Skalar, den der Schriftschnitt nicht enthält, nutzt den Umriss .notdef dieses Schnitts, einschließlich Steuercodes, die auftreten, während ein Titel einen vollständigen Atlasbereich aufbaut. Dieser Pfad für fehlende Glyphen lässt Jurassic Park Classic Games Collection seinen Schriftatlas fertig aufbauen. Ungültige Unicode-Skalare und ausdrückliche Glyphenkennungen außerhalb des Bereichs liefern weiterhin einen Fehler. Die Abdeckung wird in Pixel von einem bis vier Bytes geschrieben.

Welches Textlayout beim Titel bleibt

Viele Titel rufen libSceFont nie auf. Sie zeichnen Text mit der Schrift ihrer eigenen Engine, und diese Implementierung ändert diese Pixel nicht. Der HLE-Pfad gilt für Titel, die die Firmware um das Rastern bitten.

Textgestaltung, bidirektionales Layout, synthetische Strichstärke, das Einsetzen einer CJK-Systemschrift, die Auswahl eines Sammlungsschnitts und die höherliegenden APIs FontWriting und String sind nicht implementiert. Gezielte Prüfungen liegen hinter zig build test-hle mit dem Schriftfilter.

Was umgesetzt ist

  • FreeType-Rasterung von TrueType- und OpenType-Schriftschnitten, die der Titel liefert.
  • Rückfall auf Noto Sans für Anforderungen einer Systemschrift in Lateinisch, Griechisch und Kyrillisch.
  • Metriken, waagerechtes Layout, Paar-Kerning, Schrägstellung, Beschnitt und ein Glyphen-Cache.
  • Rückfall auf .notdef für fehlende Unicode-Skalare, wodurch der Atlas von Jurassic Park weiterkommt.

Was noch fehlt

  • Gestaltung, bidirektionales Layout und die FontWriting-APIs fehlen.
  • Anforderungen einer Systemschrift setzen keinen CJK-Schriftschnitt ein.
  • Titel, die Text vollständig in ihrer eigenen Engine zeichnen, nutzen diesen Pfad nicht.

Verwandte Mechanismen

Worum es auf diesen Seiten geht

Der Text folgt den Architektur-Notizen und den Berichten vom Oktober 2026 im PS5PCEM-Repository. Ein bestandener Einzeltest ist keine neue Bildrate und kein neuer Durchspielstand.

Alle Techniken