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-zu-Bild-Konverters sieht sich mit der Anforderung konfrontiert, nicht eingebettete Schriftarten darzustellen, und steht vor einer schwierigen Aufgabe. Nicht nur die Entwickler, sondern auch die Benutzer dieser Tools interessieren sich für nicht eingebettete Schriftarten und wie sie von diesen Tools behandelt werden.
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 Fontprogramm (im Wesentlichen entweder ein TrueType- oder ein PostScript Type 1-Programm) beschrieben.
Der Ersteller eines PDF-Dokuments kann wählen, ob das Fontprogramm 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 Darstellung des Textes verwendet werden. Wenn die Schrift jedoch nicht eingebettet ist und die Datei auf einem anderen Computer angezeigt oder gedruckt wird, ist nicht gewährleistet, dass das ursprüngliche Schriftprogramm noch verfügbar ist. In diesem Fall muss die Rendering-Engine einen Ersatz für die Originalschriftart finden. Dieser Prozess kann jedoch recht schwierig sein. Und warum? Bedenken Sie Folgendes:
Der Name der Schriftart garantiert nicht, dass eine Systemschriftart mit demselben Namen mit der Originalschriftart identisch ist, z. B. könnte die Arial-Schriftart , die zur Erstellung des Dokuments verwendet wurde, eine andere sein als die Arial-Schriftart , die auf dem System installiert ist, das zur Anzeige des Dokuments verwendet wird.
Der Name der eingebetteten Schriftart kann sich von dem der installierten Schriftart unterscheiden, z. B. kann die eingebettete Schriftart TimesRoman und die entsprechende installierte Schriftart Times New Roman heißen.
Es kann sein, dass die eingebettete Schriftart auf dem Zielsystem gar nicht vorhanden ist, z.B. gibt 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.
Multiple Master-Fonts sind eine dieser Technologien zur Anpassung von Schriftprogrammen. Multiple Master-Fonts sind Schriftvorlagen, aus denen spezifische 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 ist das so? Wenn Sie die Breite eines Zeichens einer TrueType-Schriftart ändern wollen, ändern Sie z. B. automatisch die Breite des Schriftstiels, was bei Multiple-Master-Schriften nicht der Fall ist, bei denen Sie die Breite des Schriftstiels und die Zeichenbreite unabhängig voneinander ändern können.
Mehrere Master-Schriftarten sind nur als Ersatz für einfache Schriftarten, d. h. Schriftarten 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.