Zum Inhalt springen

Schrift-Subsetter

Font Subsetter

Reduziert eine TrueType-Schrift auf die Glyphen, die Ihr Text tatsächlich verwendet, und kann das Ergebnis als WOFF verpacken – der Unterschied zwischen einer 4-MB- und einer 90-KB-Webschrift für Koreanisch.

Schneidet eine TrueType-Schrift auf die Zeichen zu, die eine Seite tatsächlich verwendet, und baut aus dem Rest eine gültige Datei neu. Für Koreanisch ist das der Unterschied zwischen einem Download von mehreren Megabyte und ein paar hundert Kilobyte, weil eine vollständige Hangul-Schrift 11.172 Silben trägt und eine Seite ein paar hundert verwendet. Es kann neben der TTF auch WOFF ausgeben, und es parst seine eigene Ausgabe erneut, bevor es sie anbietet.

🔒 Läuft vollständig in Ihrem Browserfontsubsetperformancewebfont

TTF-Datei hier ablegen

Nur TrueType-Umrisse (.ttf oder eine .otf mit glyf-Tabelle). Alles passiert in diesem Tab.

Wie geschnitten wird

  • · Behält die Glyphen der angeforderten Zeichen und die Komponentenglyphen, auf die sie verweisen (die Hülle der zusammengesetzten Glyphen), und schreibt dann glyf·loca·hmtx·hhea·maxp·cmap (Formate 4 und 12) und post neu. Die Tabellenprüfsummen und head.checkSumAdjustment werden neu berechnet.
  • · Die Ausgabe wird mit demselben Parser noch einmal gelesen und erst angeboten, wenn sie durchgeht. Die Hinting-Programme (fpgm·prep·cvt) bleiben unangetastet.
  • · Ein weggelassenes Zeichen erscheint als leeres Kästchen. Fügen Sie den echten Text der Seite ein oder schalten Sie für Koreanisch den Satz KS X 1001 mit 2.350 Silben zu.

Um sich die Schrift zuerst anzusehen: der Schrift-Inspektor; um nur das Format zu ändern: der Schrift-Konverter.

So funktioniert es

  1. Legen Sie eine TrueType-Datei ab

    Eine `.ttf`, oder eine `.otf`, die TrueType-Konturen enthält. Das Panel sagt, sobald die Datei geöffnet ist, welche Art sie ist, weil eine CFF-Schrift hier nicht subsettet werden kann.

  2. Fügen Sie den Text ein, den die Seite verwendet

    Kopieren Sie den echten Text – Überschriften, Beschriftungen, Button-Text, Fehlermeldungen. Duplikate werden automatisch zusammengefasst. Alles, was Sie auslassen, wird auf der fertigen Seite als leeres Kästchen dargestellt, nehmen Sie also lieber mehr auf.

  3. Entscheiden Sie zwischen Ihrem Text und der Standardmenge

    Das ist die eigentliche Entscheidung. Nur Ihren Text einzufügen ergibt die kleinste Datei und bricht in dem Moment, in dem jemand einen Namen in ein Feld tippt. Die KS-X-1001-Menge von 2.350 Silben einzuschalten ergibt eine größere Datei, die beliebige koreanische Eingaben übersteht. Statischer Marketingtext will das Erste; alles mit Nutzerinhalten will das Zweite.

  4. Bauen Sie und lesen Sie die Zahlen

    Glyphen vorher und nachher, Bytes vorher und nachher, und der gesparte Prozentsatz. Fehlt ein Zeichen, das Sie verlangt haben, in der Schrift, wird es aufgelistet statt stillschweigend verworfen.

  5. Nehmen Sie die Datei und das @font-face daneben

    Die Deklaration wird mit dem Gewicht und dem Kursiv-Flag erzeugt, die aus den eigenen OS/2- und post-Tabellen der Schrift gelesen werden, sie passt also zur Datei, statt geraten zu sein.

Häufige Fragen

Es lehnt meine OTF ab. Warum?

Weil diese Datei CFF-(PostScript-)Konturen hat, und die zu subsetten bedeutet, Charstrings in einem anderen Konturformat neu zu schreiben – ein eigenes Programm gegenüber dem Zuschneiden von TrueType-`glyf`-Einträgen, was dieses hier tut. Die Seite sagt das, statt eine kaputte Datei zu erzeugen. Verwenden Sie pyftsubset aus fonttools auf einem Desktop. Die Schrift zu inspizieren funktioniert weiterhin.

Überleben Kerning und Ligaturen?

Nein. `GPOS` und `GSUB` werden verworfen, und die Seite listet sie auf, wenn sie es tut. Für lateinischen Text heißt das keine Kerning-Paare und keine Ligaturen im Subset; für Koreanisch spielt es selten eine Rolle, da die Hangul-Komposition in den Glyphen selbst steckt. Wenn Kerning für Sie tragend ist, subsetten Sie stattdessen mit fonttools, das diese Tabellen umschreiben kann.

Was passiert mit einer variablen Schrift?

Sie kommt als Standardinstanz heraus – die Variationstabellen werden nicht mitgenommen. Das ist für ein Subset gewöhnlich in Ordnung, da ein Subset ein Auslieferungsartefakt ist und keine Arbeitsdatei, aber wenn Sie sich auf eine Achse verlassen haben, subsetten Sie die statische Instanz, die Sie tatsächlich verwenden.

Kann es WOFF2 erzeugen?

Nein. WOFF2 braucht Brotli, und der Browser gibt einer Seite keines. WOFF ist verfügbar und wird mit `CompressionStream("deflate")` erzeugt – es nimmt typischerweise weitere 40–50 % von der TTF weg. WOFF2 nähme darüber hinaus ungefähr weitere 20–30 %, und das braucht ein Desktop-Werkzeug.

Manche Zeichen kamen als leere Kästchen heraus.

Sie waren nicht in der Zeichenliste, als das Subset gebaut wurde. Das ist der ganze Tausch des Subsettings: Die Datei enthält nur, was Sie verlangt haben. Bauen Sie neu mit den fehlenden Zeichen, oder schalten Sie die KS-X-1001-Menge ein, damit beliebige koreanische Eingaben irgendwo landen können.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.