# PostScript-Fontformate

Die PostScript-Fontformate sind eine Familie PostScript-basierter Datenformate für Fonts, entwickelt von Adobe Inc. Das wichtigste Familienmitglied ist der Typ 1 (siehe unten), der auch außerhalb von PostScript-Anwendungen Verbreitung gefunden hat.
Glyphen werden in PostScript-Schriften mit Hilfe von PostScript-Operationen beschrieben. In der Regel werden so die Umrisse der Zeichen (Outlinefonts) gespeichert. Je nach Untertyp können die Zeichen aber auch als Rasterfonts (Bitmapfonts) oder beliebige durch PostScript beschreibbare Grafiken gespeichert werden. Neben den Glyphen definieren PostScript-Fonts noch globale Eigenschaften wie Name und typografische Größe.

## Geschichte

1984 veröffentlichte Adobe Systems bzw. dessen Sparte Adobe Type PostScript, 1985/86 die Definition der Zeichensatzformate, revolutionierte damit den bisherigen Schriftsatz (Fotosatz) und verschaffte dem Desktop-Publishing den Durchbruch.
Die Spezifikation der Typ-3-Zeichensätze wurde offengelegt, doch die Lizenz für den ausgereifteren Typ 1 zu für die damalige Zeit sehr hohen Preisen verkauft. Adobes Patentpolitik führte um 1991 zur Entwicklung des TrueType-Formates durch Apple, das später auch von Microsoft in Lizenz verwendet wurde. In Reaktion darauf veröffentlichte Adobe den Adobe Type Manager (ATM), der die Darstellung von Typ-1-PostScript-Zeichensätzen am Bildschirm und mit nicht PostScript-fähigen Druckern verbesserte und die Spezifikationen des Formats, wozu auch das erfolgreiche Reverse Engineering durch den Schriftartenhersteller Bitstream beitrug. In der Folge wurde Unterstützung für das Typ-1-Format in einigen Font-Editoren eingebaut; ebenso erschienen einige freie Fonts wie z. B. der Großteil der vom Schriftsatzsystem TeX verwendeten Schriften in diesem Format.
Multiple Master Fonts sind eine Abwandlung vom PostScript-Zeichensatzformat. Die sogenannte „Smartfont“-Technik in der Realisierung von OpenType ist gewissermaßen eine Weiterentwicklung des Typ-1-Formats.
Die Typ-1-Schriften gelten in der Schriftenindustrie als veraltet und wurden mittlerweile durch die OpenType-Schriften mit ihren größeren Glyphensätzen abgelöst. Ab Januar 2023 werden in den Adobe Creative Cloud Produkten keine Type-1-Schriften mehr unterstützt. Einige Betriebssysteme unterstützen zwar noch die Verwendung, aber in vielen Webbrowsern und mobilen Betriebssystemen werden sie nicht mehr unterstützt.

## Formate
### Typ 0

    ist ein Format für zusammengesetzte Fonts, die selbst keine Glyphen enthalten, sondern andere Fonts referenzieren. Das Typ-0-Format stellt Methoden zur Verfügung, um sehr viele Zeichen wie z. B. für asiatische Zeichensätze direkt zu adressieren.
    Die Adressierung der Zeichen einer Schrift erfolgt in PostScript mit Hilfe einer Zeichenliste (Encoding-Array) mit 256 Einträgen, so dass jedes Byte einer Zeichenkette einer Glyphe entspricht. Werden mehr Zeichen einer Schrift benötigt, muss innerhalb eines Dokuments explizit zwischen mehreren Instanzen derselben Schrift mit unterschiedlichen Encoding-Arrays gewechselt werden. Jede Instanz ist für den PostScript-Interpreter eine eigene Schrift. Eine Zeichenkette kann immer nur Zeichen aus einer dieser Instanzen adressieren.
    Typ 0 stellt verschiedene Kodierungsmethoden zur Verfügung, die es erlauben, innerhalb einer Zeichenkette Glyphen aus verschiedenen Schriften zu adressieren, so dass effektiv mehr als 256 Zeichen zur Verfügung stehen können. CID-Fonts (Typen 9, 10, 11 und 32), die sich dem PostScript-Interpreter als eine spezielle Form von Typ-0-Fonts darstellen, vermeiden das Aufsplitten einer Schrift in Instanzen mit höchstens 256 Zeichen.

### Typ 1

    Typ 1-Schriften werden von Adobe nicht mehr unterstützt und sollten durch OpenType-Schriften ersetzt werden.
    Bei Typ 1 kommt zur Beschreibung der Glyphen ein ISO-standardisierter (ISO 9541), eingeschränkter Auszug aus dem gesamten PostScript-Sprachumfang zum Einsatz, der in einer speziellen Kodierung vorliegt. Die Umrisse der Zeichen werden mit Hilfe von Strecken und Bézierkurven dritten Grades dargestellt.
    Mit der Einschränkung des PostScript-Sprachumfanges für Typ-1-Schriften ist dieser Typ eine Untermenge von Typ 3, bei dem dagegen der volle Sprachumfang verwendet werden kann. Aufgrund dieser Einschränkung muss kein vollständiger PostScript-Interpreter verfügbar sein, womit die plattformübergreifende Verarbeitbarkeit verbessert wird. Ähnlich wie beim PDF stellt das Format nicht mehr eine vollständige Programmiersprache dar, sondern beschränkt sich auf die Mittel zur Beschreibung der Umrisse der Glyphen.
    Innerhalb von Typ-1-Schriften können auch auf standardisierte Weise Hints benutzt werden, die die Glyphen-Darstellung auf Geräten mit niedriger Auflösung deutlich verbessern.
    Typ 1 hat eine größere Verbreitung gefunden als Typ 3.
    Typ-1-Schriften werden in der Regel in Paketen mit je mindestens zwei, üblicherweise jedoch vier Dateien ausgeliefert:

   ### .pfm (PostScript Font Metric)

       enthält die Dicktenwerte der einzelnen Zeichen und Unterschneidungswerte für Zeichenpaare (wird nur für Windows benötigt)

   ### .pfb (PostScript Font Binary)

       enthält Informationen über die Schrift selbst; eine äquivalente Variante dieses Formats verwendet die Erweiterung .pfa (PostScript Font ASCII) und enthält nur ASCII-Zeichen statt beliebigen Bytes

   ### .inf (optional)

       ASCII-Textdatei mit allgemeinen Informationen zur Kodierung und den Dimensionen der Schriftzeichen (wird nur für Windows benötigt)

   ### .afm (Adobe Font Metrics, optional)

       die Adobe-Font-Metrics-Datei, mit einem zur PFM-Datei identischen Informationsgehalt in leichter verarbeitbarem (editierbarem) ASCII-Textformat

### Typ 2

    ist ein Zeichenkettenformat (im Gegensatz zu einem Dateiformat) zur Speicherung der Beschreibungen von Glyphen. Es dient der Verwendung mit dem Compact Font Format (CFF) und ist in dieser Kombination die Grundlage von Typ-1-OpenType-Fonts. Es wird in Version 1.2 von PDF (Acrobat 3.0) zur Einbettung von Schriftarten in PDF-Dateien verwendet.

### Typ 3

    ist ein Fontformat, das den Vorläufer von Typ 1 darstellt. Bei Typ 3 werden die Glyphen in uneingeschränktem PostScript beschrieben, wodurch gegenüber Typ 1 zusätzliche Eigenschaften wie Farben, Schattierung und Füllmuster definiert werden können, jedoch kein Hinting unterstützt wird. Schriftarten von Typ 3 werden vom Adobe Type Manager nicht unterstützt.

### Typ 4

    ist ein Format, das für die Beschreibung von Fonts verwendet wurde, die dauerhaft auf eingebauten Speichergeräten in Druckern (font cartridges, Festplatten) vorgesehen waren. Die Zeichenbeschreibungen folgen dem Format von Typ 1. Es existiert keine Dokumentation von Seiten des Herstellers zu diesem proprietären Format.

### Typ 5

    (auch bekannt als Compressed ROM font, CROM font) ist ähnlich dem Typ 4, jedoch speziell für Fonts, die in Nur-Lese-Speichern von PostScript-Druckern abgelegt werden.

### Typen 9, 10, 11

    sind CID-kodierte Fonts (Character Identifier fonts), die mit Hilfe der Typ-0-Technik verarbeitet werden. Die Beschreibung der Glyphen liegt bei den Typen 9, 10 und 11 in der Form wie bei Typ 1, 3 und 42 vor. Sie identifizieren sich über den vom Font-Typ (9, 10 bzw. 11) zu unterscheidenden CID-Font-Typ 0, 1 und 2.

### Typ 14

    Typ 14, auch bekannt als das Chameleon-Fontformat, dient der Darstellung einer großen Anzahl von Fonts bei geringem Speicherplatzbedarf. Im Kern bestehen Chameleon-Schriften aus einem Hauptfont und einem Satz von Beschreibungen zur Anpassung von deren Glyphen, um einen Zeichensatz eines bestimmten Aussehens zu erreichen. Es existiert keine Dokumentation von Seiten des Herstellers zu Typ 14.

### Typ 32

    dient dem Herunterladen von Rasterfonts auf PostScript-Interpreter der Version 2016 oder höher. Die Rastergrafikglyphen werden direkt in den Schriftenspeicher des Interpreters geladen, was Druckerspeicher spart. Typ 32 identifiziert sich als CID-Font-Typ 4.

### Typ 42

    Das Typ-42-Format ist ein PostScript-Adapter für TrueType-Fonts, der PostScript-fähigen Druckern mit TrueType-Rastereinheit (was in Version 2012 des PostScript-Interpreters zunächst als optionales Merkmal und später als Standard eingeführt wurde) das Drucken von TrueType-Schriften ermöglicht. Zur Beschreibung der Zeichenumrisse benutzen sie statt der in PostScript üblichen Bézierkurven dritten Grades Bézierkurven zweiten Grades, die nicht direkt von PostScripts Grafikmodell unterstützt werden. Unterstützung für CJK-TrueType-Fonts wurde in Version 2015 von PostScript hinzugefügt.