Zusammenfassung vorab: PDF-Schriftarten-Subsetting kann 90% der Dateigröße einsparen. Die Ursache: Chinesische Schriftarten sind oft 15–20 MB groß, während ein Dokument tatsächlich nur ein bis zweitausend Zeichen verwendet. Das Kernprinzip des Subsettings besteht aus drei Schritten — Scannen der tatsächlich verwendeten Zeichen, Wiederherstellung der CMap-Zuordnungstabelle und Umordnung der Glyphen-Indizes unter Verwurf ungenutzter Glyphen. Source Han Serif als vollständige Datei ist 18 MB, nach dem Subsetting nur 0,4 MB — eine Reduktion von 97,7%. Im Folgenden wird ab der Schriftdatei-Struktur das technische Prinzip des Subsettings detailliert erläutert, ergänzt durch Praxisvergleichsdaten dreier Schriftarten.
Wenn Sie mit der Gesamtmethodik der PDF-Komprimierung noch nicht vertraut sind, empfehlen wir, zunächst den Leitfaden zu PDF-Komprimierungsprinzipien und Methoden zu lesen.
1. Schriftdatei-Struktur: Warum sind eingebettete chinesische Schriftarten so groß
Um zu verstehen, warum Subsetting wirkt, muss man zunächst wissen, was in einer Schriftdatei enthalten ist. TrueType- (.ttf) und OpenType- (.otf) Schriftdateien bestehen aus mehreren Datentabellen, von denen jede für unterschiedliche Funktionen zuständig ist. Beim Einbetten in ein PDF werden diese Tabellen vollständig in die Datei gepackt, unabhängig davon, wie viele Zeichen das Dokument verwendet.
| Datentabelle | Funktion | Typischer Anteil | Subsetting-Möglichkeit |
|---|---|---|---|
| cmap | Zuordnung von Zeichencodes zu Glyphen-Indizes | 1%–3% | muss wiederhergestellt werden |
| glyf | TrueType-Glyphenkonturdaten | 70%–85% | stark reduzierbar |
| CFF | OpenType CFF-Glyphenkonturen (PostScript) | 60%–80% | stark reduzierbar |
| loca | Positionsindex der Glyphendaten | 1%–2% | muss wiederhergestellt werden |
| hmtx | Horizontale Metriken (Zeichenbreite/Vorschub) | 2%–5% | muss wiederhergestellt werden |
| name | Schriftartname, Copyright und weitere Metainformationen | 0,5%–1% | beibehalten |
| post | PostScript-Namenszuordnung | 1%–3% | teilweise reduzierbar |
Aus der obigen Tabelle wird ersichtlich: Die Glyphenkonturdaten (glyf- oder CFF-Tabelle) machen 60%–85% der Schriftdatei aus. Eine chinesische Schriftart enthält 20.000 bis 70.000 Glyphen, wobei die Vektorkonturdaten jedes Zeichens durchschnittlich 300–600 Byte umfassen — in der Summe 10–20 MB. Ein 50-seitiges PDF-Dokument verwendet jedoch normalerweise nur 800–2000 unterschiedliche Zeichen, was bedeutet, dass über 95% der Glyphendaten verschwendet werden — genau hier liegt das Einsparpotenzial des Subsettings.
2. Subsetting-Prinzip: Drei Schritte zum Verwerfen ungenutzter Glyphen
Der Kerngedanke des Schriftarten-Subsettings ist: Nur die im Dokument tatsächlich verwendeten Glyphen behalten, den Rest verwerfen. Der Implementierungsprozess umfasst drei wesentliche Schritte, von denen jeder präzise Eingriffe in die Schrifttabellenstruktur erfordert.
| Schritt | Maßnahme | Prinzip | Verarbeitete Datentabellen |
|---|---|---|---|
| 1. Zeichenverwendungsscanning | Alle Seiteninhaltsströme des PDF durchlaufen und angezeigte Zeichencodes extrahieren | Durch Parsen der Textoperatoren (Tj/TJ) Unicode-Codepunkte sammeln | keine (erzeugt Zeichensatz) |
| 2. CMap-Tabellen-Wiederherstellung | Zuordnung von Code zu Glyphen-Index anhand verwendeter Zeichen wiederherstellen | Nur Zuordnungseinträge verwendeter Zeichen behalten, Rest löschen | cmap |
| 3. Glyphen-Index-Neuzuordnung | Verwendete Glyphen fortlaufend neu anordnen und alle Referenzindizes aktualisieren | Originale Indizes können nicht fortlaufend sein, nach Umordnung Indizes 0 bis N fortlaufend | glyf/CFF, loca, hmtx |
1. Zeichenverwendungsscanning
Der erste Schritt besteht darin, das PDF-Dokument zu scannen und alle tatsächlich angezeigten Zeichen zu finden. Text in PDFs wird über Textoperatoren (Tj zeigt einen String an, TJ zeigt ein Array an) in den Inhaltsstrom geschrieben, wobei jedes Zeichen einem Code entspricht. Das Subsetting-Tool durchläuft die Inhaltsströme aller Seiten, extrahiert diese Codes und wandelt sie über die aktuelle CMap-Tabelle der Schriftart in Unicode-Codepunkte um, um schließlich einen „Satz verwendeter Zeichen" zu erhalten.
Beim Scanning müssen auch Sonderfälle behandelt werden: ToUnicode-CMap (Rückwärtszuordnung), Multibyte-Codierung (häufig bei CJK-Schriftarten) und das Subsetting-Präfix eingebetteter Schriftarten (Format: sechs Zeichen + Pluszeichen). Ein 50-seitiges chinesisches PDF ergibt typischerweise 800–2000 unterschiedliche Unicode-Zeichen; einschließlich Satzzeichen und Ziffern sind insgesamt etwa 1000–2500 Glyphen zu behalten.
2. CMap-Tabellen-Wiederherstellung
Die CMap-Tabelle ist das „Verzeichnis" der Schriftart und ordnet jedem Zeichencode den entsprechenden Glyphen-Index (Glyph ID) zu. Die CMap-Tabelle einer originalen chinesischen Schriftart enthält 20.000 bis 70.000 Zuordnungseinträge — nach dem Subsetting werden nur die Einträge der verwendeten Zeichen behalten. Bei der Wiederherstellung müssen auch verschiedene Codierungs-Subtabellen-Formate verarbeitet werden.
| CMap-Subtabellenformat | Codierungsbereich | Verwendung | Subsetting-Verarbeitung |
|---|---|---|---|
| Format 0 | 0–255 | Einbyte ASCII/Latin | ungenutzte Einträge entfernen |
| Format 4 | BMP-Basisebene | häufige CJK-Zeichen | Segmenttabelle wiederherstellen |
| Format 12 | gesamter Unicode | abdeckt alle Zeichen | ungenutzte Segmente entfernen |
3. Glyphen-Index-Neuzuordnung
Dies ist der kritischste und komplexeste Schritt. In der Originalschriftart sind die Glyphen-Indizes (GID) von 0 bis N fortlaufend angeordnet, aber die zu behaltenden Glyphen können über die gesamte Datei verstreut sein. Die Neuzuordnung ordnet die behaltenen Glyphen in einer neuen fortlaufenden Reihenfolge an: Der ursprüngliche GID 0 (.notdef) bleibt unverändert, der ursprüngliche GID 1523 wird zum neuen GID 1, der ursprüngliche GID 8944 wird zum neuen GID 2 usw.
Nach der Neuzuordnung müssen alle Tabellen, die auf GIDs verweisen, synchron aktualisiert werden: Die glyf-Tabelle (oder CFF-Tabelle) behält nur die entsprechenden Glyphendaten und ordnet sie nach neuen Indizes an, die loca-Tabelle wird als Positionsindex neu aufgebaut, die hmtx-Tabelle stellt die horizontalen Metrikdaten neu her und die post-Tabelle aktualisiert die PostScript-Namenszuordnung. Eine unsachgemäße Verarbeitung in diesem Schritt kann zu einer beschädigten Schriftart führen, daher ist die strikte Einhaltung der OpenType-Spezifikation erforderlich.
3. Praxisdaten: Drei Schriftarten vor und nach dem Subsetting im Vergleich
Wir haben drei häufig verwendete Schriftarten für einen Subsetting-Praxistest ausgewählt, die chinesische Schriftarten (Source Han Serif, Microsoft YaHei) und eine englische Schriftart (Arial) repräsentieren. Das Testdokument ist ein 50-seitiges chinesisches Angebot mit 1342 verwendeten Zeichen.
| Schriftart | Originaldatei | Glyphen (original) | Glyphen (Subset) | Nach Subsetting | Reduktion |
|---|---|---|---|---|---|
| Source Han Serif Regular | 18,2 MB | 65535 | 1342 | 0,42 MB | 97,7% |
| Microsoft YaHei Regular | 15,6 MB | 28622 | 1342 | 0,35 MB | 97,8% |
| Arial Regular | 0,82 MB | 3257 | 96 | 0,06 MB | 92,7% |
Die Praxisdaten zeigen: Der Subsetting-Effekt ist bei chinesischen Schriftarten am deutlichsten — Source Han Serif wird von 18,2 MB auf 0,42 MB reduziert, eine Reduktion von 97,7%. Dies liegt daran, dass chinesische Schriftarten viele Glyphen (60.000+) enthalten, das Dokument aber nur wenige verwendet (1000+), wodurch das Einsparpotenzial enorm ist. Die englische Schriftart Arial ist original nur 0,82 MB, nach dem Subsetting 0,06 MB — eine Reduktion von 92,7%; die absolute Größe ist zwar gering, aber der prozentuale Anteil ist ebenso beachtlich.
Betrachten wir nun den Subsetting-Effekt bei unterschiedlicher Zeichenverwendung, am Beispiel von Source Han Serif:
| Dokumenttyp | Verwendete Zeichen | Größe nach Subsetting | Reduktion | Erläuterung |
|---|---|---|---|---|
| Kurze Mitteilung (1 Seite) | ca. 200 | 0,08 MB | 99,6% | Sehr wenige Zeichen, sehr kleines Subset |
| Besprechungsprotokoll (10 Seiten) | ca. 600 | 0,19 MB | 99,0% | Typisches Büro-Dokument |
| Angebot (50 Seiten) | ca. 1342 | 0,42 MB | 97,7% | Professionelles Dokument mit breiter Zeichenabdeckung |
| Technisches Handbuch (200 Seiten) | ca. 2800 | 0,85 MB | 95,3% | Große Zeichenverwendung |
| Enzyklopädie (1000 Seiten) | ca. 6500 | 1,92 MB | 89,5% | Nahe der maximalen Abdeckungsrate |
4. Subsetting-Tools im Vergleich und Szenarien-Empfehlungen
Für das Schriftarten-Subsetting stehen verschiedene Tools zur Verfügung, von Open-Source-Kommandozeilen-Tools bis hin zu kommerziellen Komprimierungs-Engines, jeweils mit unterschiedlichen Vor- und Nachteilen. Die folgende Tabelle vergleicht gängige Lösungen.
| Tool | Subsetting-Fähigkeit | CFF-Unterstützung | Stapelverarbeitung | Integrationsaufwand |
|---|---|---|---|---|
| SmartSlim | ★★★★★ | ja | unterstützt | SDK/API/Desktop |
| fonttools (Python) | ★★★★☆ | ja | per Skript | mittel |
| Adobe Acrobat | ★★★★☆ | ja | begrenzt | GUI-Bedienung |
| Ghostscript | ★★★☆☆ | teilweise | unterstützt | Kommandozeile |
| Online-Tools | ★★☆☆☆ | teilweise | nicht unterstützt | niedrig (Datenschutzrisiko) |
SmartSlim basiert auf einer selbstentwickelten Rust-Komprimierungs-Engine und verarbeitet beim Subsetting automatisch sowohl TrueType- als auch OpenType-CFF-Glyphenformate. Es unterstützt die Stapelverarbeitung per Drag-and-Drop für Hunderte von PDFs. Noch wichtiger: Der gesamte Subsetting-Prozess erfolgt lokal — Schriftartendaten und Dokumentinhalte passieren keinen externen Server, was für vertrauliche Dokumente und sensible Unternehmensdateien besonders kritisch ist.
Empfehlungen für die Subsetting-Strategie in verschiedenen Szenarien:
| Szenario | Subsetting empfohlen? | Hinweise | Empfohlenes Tool |
|---|---|---|---|
| Archivierung/Verteilung der Endfassung | dringend empfohlen | Nach Subsetting können keine neuen Zeichen bearbeitet werden | SmartSlim |
| Unternehmens-Stapelarchivierung | dringend empfohlen | Automatisierte Stapelverarbeitung per API | SmartSlim Server |
| Online-Veröffentlichung/Vorschau | empfohlen | Geringere Download-Größe beschleunigt Ladezeit | fonttools-Skript |
| Zur Bearbeitung bestimmter Entwürfe | nicht empfohlen | Vollständige Schriftart für Bearbeitung beibehalten | kein Subsetting |
| Vertrauliche/Geheimdokumente | empfohlen | Lokale Verarbeitung obligatorisch, Online-Tools verboten | SmartSlim |
Weitere PDF-Optimierungstipps finden Sie im Leitfaden zur PDF-Linearisierungsoptimierung und unter Word-Dokument-Komprimierungsmethoden.
5. Häufig gestellte Fragen (FAQ)
F1: Beeinträchtigt PDF-Schriftarten-Subsetting die Darstellungsqualität?
Nein. Das Schriftarten-Subsetting verwirft nur die im Dokument nicht verwendeten Zeichen und Glyphendaten. Die beibehaltenen Zeichen sind mit der Originalschriftart identisch — die Darstellungsqualität wird in keiner Weise beeinträchtigt. Nach dem Subsetting bleibt die Schriftart eine Vektorkontur, die beim Skalieren nicht an Qualität verliert. Farbe, Strichstärke und weitere Eigenschaften bleiben unverändert. Die einzige Einschränkung: Die per Subsetting erstellte Schriftart kann nur in diesem Dokument verwendet und nicht in anderen Dokumenten wiederverwendet werden.
F2: Wie viel Dateigröße kann durch Subsetting eingespart werden?
Dies hängt vom Verhältnis der verwendeten Zeichen zur ursprünglichen Schriftgröße ab. Chinesische Schriftarten (z. B. Source Han Serif 18 MB) verwenden normalerweise nur 1000–2000 Zeichen — nach dem Subsetting sinkt die Größe auf 0,3–0,8 MB, eine Reduktion von über 95%. Englische Schriftarten (z. B. Arial 0,8 MB) verwenden noch weniger Zeichen — nach dem Subsetting 0,05–0,1 MB, eine Reduktion von ca. 90%. Je größer die Schriftart und je weniger Zeichen verwendet werden, desto signifikanter der Subsetting-Effekt.
F3: Kann eine PDF nach dem Subsetting noch bearbeitet werden?
Eingeschränkt. Das Subsetting behält nur die im Dokument bereits verwendeten Zeichen. Wenn bei der Bearbeitung neue Zeichen eingegeben werden, die im Originaldokument nicht vorkamen, können diese nicht angezeigt werden und erscheinen als Kästchen oder Leerzeichen. Daher eignet sich das Subsetting für die Archivierung und Verteilung von Endfassungen, nicht für Dokumente, die noch umfangreich bearbeitet werden müssen. Falls Bearbeitung erforderlich ist, sollte die vollständige Schriftart beibehalten oder ein neues Subset eingebettet werden.
F4: Wie prüfe ich, ob eine PDF bereits Schriftarten-Subsetting aufweist?
In Adobe Acrobat die PDF öffnen, dann Datei – Eigenschaften – Schriftarten aufrufen und die Liste der eingebetteten Schriftarten prüfen. Wenn der Schriftartenname ein sechs Zeichen langes Präfix trägt (z. B. ABCDEO+Source Han Serif), wurde das Subsetting durchgeführt. Alternativ kann SmartSlim verwendet werden — die Engine analysiert automatisch den Einbettungsstatus der Schriftarten und gibt einen Hinweis, ob ein Subsetting erforderlich ist, einschließlich der geschätzten Größenreduktion.
Zusammenfassung
Das PDF-Schriftarten-Subsetting ist eines der wirksamsten Mittel zur Größenreduktion von PDFs, insbesondere bei Dokumenten mit eingebetteten chinesischen Schriftarten. Das Kernprinzip umfasst drei Schritte: Scannen verwendeter Zeichen, Wiederherstellung der CMap-Zuordnungstabelle und Umordnung der Glyphen-Indizes unter Verwurf ungenutzter Glyphen. Praxisdaten zeigen: Source Han Serif wird von 18 MB auf 0,4 MB reduziert — eine Reduktion von 97,7% ohne jegliche Beeinträchtigung der Darstellungsqualität.
Praxisempfehlung: Vor der Verteilung der Endfassung unbedingt ein Schriftarten-Subsetting durchführen; bei vertraulichen Dokumenten ein lokales Tool verwenden. Wenn Sie PDF-Dateien stapelweise verarbeiten müssen, unterstützt SmartSlim PDF/Bilder/Video/Office/OFD und weitere 10 Kategorien mit über 40 Formaten, basierend auf einer selbstentwickelten Rust-Komprimierungs-Engine, die das Schriftarten-Subsetting automatisch durchführt — Daten verlassen nicht das System.
Verwandte Artikel
Dateien komprimieren? Probieren Sie SmartSlim
Basierend auf einer selbstentwickelten Rust-Komprimierungs-Engine, unterstützt 10 Kategorien und über 40 Formate, darunter PDF, Bilder, Video, Office und OFD, mit lokaler Komprimierung, die Ihre Daten vor Ort behält.