Willkommen auf InsideFont

One Font File

Diese Seite präsentiert alle Fontdetails. Ohne Kenntnis über den Aufbau wird es hier schwer die Zusammenhänge zu verstehen, daher hier ein paar Links, die helfen könnten.
OpenType und TrueType
PostScript Type1, CFF, CMap und CID Fonts
Es gibt drei Hauptformate von Outline Fonts, TrueType (OpenType), CFF (Compact Font Format) und PostScript Type1.


Hinweis

TrueType und OpenType Fonts:
PDF relevante Tabellen 'cmap', 'glyf', 'head', 'hhea', 'hmtx', 'loca', 'maxp', ‘CFF ’, 'cvt ', 'fpgm' und 'prep'. Alle Encoding Informationen finden sich in der ‘cmap’ Tabelle. Glyph Beschreibungen werden in der ‘glyf’ Tabelle definiert. Findet sich im Font eine ‘CFF ‘ Tabelle, handelt es sich um einen CFF Font, der nur eine OpenType Hülle hat. Es gibt auch TrueType Collections, dies sind Container, die mehr als einen TrueType Font enthalten, haben aber denselben Aufbau wie ein TrueType Font.
Der Aufbau wird über viele Strukturen definierten, diese sind sehr umfangreich und teilweise recht kompliziert.

CFF Fonts:
Gibt es eigentlich nur als OpenType Font-Dateien. In PDF Dateien kann auf die OpenType Hülle verzichtet werden. CFF Fonts können hier also auch als natives Format eingebettet werden. Das Encoding wird im “Encoding” und/oder “Charset” Array definiert und die Glyph Beschreibungen im ”CharStrings” Dictionary.
CCF Fonts sind eine kompakte Form der PostScript Type 1 Fonts. Ich muss sagen, dass mir der Aufbau dieser Fonts sehr gefällt. Hier muss ein Parser geschrieben werden, der keine festen Strukturen benötigt. Encoding wird hier entweder über Glyph-Namen realisiert oder als CID Font mithilfe von CMap Dateien.

PostScript Type 1 Fonts:
Dies sind PostScript Dateien, die eine oder mehrere Font Ressourcen definieren. Prinzipiell ist alles erlaubt, was der PostScript Standard hergibt. In der Praxis werden ca. 65% der PostScript Operatoren benötigt, man muss nur wissen welche. Das Encoding wird im “Encoding” Array definiert und die Glyph Beschreibungen im ”CharStrings” Dictionary.
Für solche Fonts wird also ein kompletter PostScript Parser benötigt, den zu programmieren ist an sich schon eine Herausforderung, die Spaß macht.