Wie wird der Text eines PDF-Dokuments wiedergegeben, wenn die Schriftart nicht eingebettet ist?
Jeder Entwickler eines PDF-Viewers, eines PDF-Druckers und eines PDF-to-Image-Konverters sieht sich mit der Anforderung konfrontiert, nicht eingebettete Schriften darzustellen, und steht vor einer schwierigen Aufgabe. Nicht nur die Entwickler, sondern auch die Benutzer dieser Werkzeuge könnten sich für nicht eingebettete Schriftarten und deren Behandlung durch diese Werkzeuge interessieren.
Jedes Zeichen eines Textes in einem PDF-Dokument ist einer Schriftart zugeordnet, die das Erscheinungsbild der Zeichen definiert, z. B. die Breite der Halme, die Höhe der Kleinbuchstaben im Vergleich zu den Großbuchstaben, Serifen, Zeichenmetriken und viele weitere Eigenschaften. All diese Eigenschaften und das genaue Aussehen eines Zeichens werden in einem Schriftprogramm beschrieben (im Wesentlichen entweder ein TrueType- oder ein PostScript Type 1-Programm).
Der Ersteller eines PDF-Dokuments kann wählen, ob das Schriftprogramm in die Datei eingebettet ist oder ob es nur namentlich erwähnt wird. Wenn das Schriftprogramm eingebettet ist, kann es von der Rendering-Engine zur Anzeige des Textes verwendet werden. Wenn die Schrift jedoch nicht eingebettet ist und die Datei auf einem anderen Computer angezeigt oder gedruckt wird, ist nicht garantiert, dass das ursprüngliche Schriftprogramm noch verfügbar ist. In diesem Fall muss die Rendering-Engine einen Ersatz für die Originalschrift finden. Dieser Prozess kann jedoch recht schwierig sein. Warum? Bedenken Sie Folgendes:
Der Name der Schriftart garantiert nicht, dass eine Systemschriftart mit demselben Namen mit der Originalschriftart identisch ist, z. B. die Arial Schriftart, die zur Erstellung des Dokuments verwendet wurde, kann sich von der Arial Schriftart, die auf dem System installiert ist und für die Anzeige des Dokuments verwendet wird.
Der Name der eingebetteten Schriftart kann sich vom Namen der installierten Schriftart unterscheiden, z. B. kann die eingebettete Schriftart den Namen TimesRoman und die entsprechende installierte Schriftart kann den Namen Times New Roman.
Es kann sein, dass die eingebettete Schriftart auf dem Zielsystem gar nicht verfügbar ist, z. B. weil es keine installierte Schriftart namens Coronet.
Um diese Probleme zu lösen, verwenden einige Rendering-Engines keine Systemschriften als Ersatzschriften, sondern stellen eine Reihe von Schriftvorlagen zur Verfügung, die dazu dienen, das endgültige Schriftprogramm auf der Grundlage einiger Schriftmetriken wie z. B. Schriftgewicht, Höhe der kleinen Zeichen, Zeichenbreiten usw. on-the-fly zu erstellen.
Mehrere Master-Schriften sind eine dieser Technologien zur Anpassung von Schriftprogrammen. Mehrere Master-Schriften sind Schriftvorlagen, aus denen bestimmte Schriftinstanzen erzeugt werden können, indem ein Schriftdesignvektor bereitgestellt wird, der Elemente wie das Schriftgewicht und die Zeichenbreite enthält. Herkömmliche Schriftarten wie TrueType- oder PostScript-Type-1-Schriften sind für diesen Zweck nicht geeignet. Warum? Wenn Sie die Breite eines Zeichens einer TrueType-Schriftart ändern möchten, ändern Sie z. B. automatisch die Breite des Schriftstiels, was bei mehreren Master-Schriften nicht der Fall ist, bei denen Sie die Breite des Schriftstiels und die Zeichenbreite unabhängig voneinander ändern können.
Multiple Master-Schriften sind nur als Ersatz für einfache Schriften, d. h. Schriften mit einem kleinen, definierten Zeichensatz, verfügbar. Für Schriftarten mit großen Zeichensätzen wie chinesische, koreanische und japanische Schriftarten ist es besser, einen Satz definierter Schriftprogrammressourcen zu verwenden.
Unsere PDF Rendering Engine verwendet eine Mischung aus den beschriebenen Technologien, um Ersatzschriftarten anzupassen und installierte Systemschriftarten zu verwenden.