Schriftarten in PDF einbetten
Ich sammle schlechte PDFs, seit das Referenzhandbuch 1.0 1993 veröffentlicht wurde, und heute habe ich Zugriff auf eine Datenbank von mehr als 100.000 echten PDF-Dateien mit allen Arten von Fehlern. Die überwiegende Mehrheit der Probleme betrifft jedoch Schriftarten. Aber warum gestaltet sich der Umgang mit Schriftarten in PDF-Dateien so problematisch?
Der Umgang mit Schriftarten ist schwierig, da ein Entwickler eine große Menge an Dokumentation verarbeiten muss, bevor er oder sie eine PDF-Produzenten-Software erstellen kann, die Schriftarten korrekt verarbeitet, insbesondere eingebettete. Zuerst muss man einfache und zusammengesetzte Schriftarten sowie die verschiedenen Mechanismen der Kodierung und Glyphenauswahl für symbolische und nicht-symbolische Schriftarten verstehen, die völlig unabhängig von den Mechanismen der Textextraktion und Unicodes sind. Dann muss man die interne Struktur der Typ 1, CFF, TrueType, OpenType Schriftprogramme verstehen. Und schließlich muss man die Geheimnisse des korrekten Aufbaus von Schriftarten-Subsets all dieser Typen kennen. Das ist überhaupt nicht einfach und echte PDF-Dateien zeigen alle Arten von Missverständnissen der grundlegenden Konzepte.
Meine Erfahrung mit der Ausbildung von Menschen hat nicht wirklich geholfen, da sie die Struktur der Schriftartdaten nicht leichter verständlich gemacht hat. Und der PDF-Standard kann nicht geändert werden, um den Umgang mit Schriftarten zu vereinfachen, um die Kompatibilität mit bestehenden PDF-Dateien zu gewährleisten.
Während meiner Suche nach einer Lösung für das Problem habe ich festgestellt, dass die meisten Probleme im Zusammenhang mit Schriftarten und Schriftarteinbettung hauptsächlich bei Dokumenten mit lateinischen Zeichencodierungen beobachtet werden. Ähnliche Probleme traten bei Schriften mit asiatischen Zeichencodierungen viel seltener auf. Wie kann das sein? Ein Grund könnte sein, dass wir mehr lateinische Dateien in unserer Datenbank haben. Ein weiterer Grund könnte jedoch sein, dass der PDF-Standard vordefinierte CMAPs nur für asiatische, nicht jedoch für lateinische Zeichencodierungen vorschreibt. Ich denke, dass ein vordefinierter CMAP für lateinische Zeichencodierungen die Glyphenauswahl und die Unicode-Zuordnung für fast alle in Amerika und Europa verwendeten Sprachen erheblich vereinfachen würde. Dies würde auch helfen, unsichtbaren Text in OCR-Anwendungen zu erstellen.