Gibt es eine Möglichkeit, die Größe der .ttf-Schriftarten zu reduzieren? wenn wir einige Glyphen entfernen wollen, die wir nicht verwenden.Möglichkeit, die Größe von .ttf-Schriftarten zu reduzieren?
Antwort
Was ist die Anwendung dafür? Die meisten Schriftarten sind relativ leicht. TTFs speichern Vektordaten anstelle von Bitmap-Daten, sodass die Form jeder Glyphe relativ wenige Byte benötigt. Sogar sehr beschäftigt Schriften können unter 100kb gehalten werden. Viele moderne Schriften sind mit ClearType-Hinting versehen, aber selbst das fügt sehr wenig Dateigröße hinzu.
Wenn Sie bestimmte Glyphen wirklich aus einer Schriftart nehmen möchten, benötigen Sie ein Werkzeug zum Bearbeiten von Schriften (Macromedia hatte eine Fontographer, die jetzt von FontLab gehört). Aber es ist wahrscheinlich besser, wenn Sie einfach eine hellere Schriftart auswählen. Beispiel: OCR A Std
ist nur 30 KB groß und enthält ClearType-Hinweise sowie alle US-ASCII-Zeichen. Versuchen Sie, Unicode-Schriftarten zu vermeiden, da volle Unicode-Unterstützung eine Tonne Glyphen erfordert. Die meisten Schriftarten bieten jedoch keine vollständige Unicode-Unterstützung.
Schließlich, wenn Sie sich entscheiden, eine Schriftart zu ändern, stellen Sie sicher, dass Sie etwas anderes benennen. Ein Benennungskonflikt könnte zu einigen wirklich nervigen Überraschungen für die Benutzer führen.
Sie können Fontforge verwenden, um die Dateigröße zu reduzieren
Das bei http://www.cnx-software.com/2010/02/19/reducing-truetype-font-file-size-for-embedded-systems/
Mit Google Web Fonts erklärt wird, können Sie den Charakter wie eingestellt begrenzen:
//fonts.googleapis.com/css?family=FontName&text=Lorem%20Ipsum
Dies wäre besonders nützlich, wenn Google hatte Symbolschriften wie Font Awesome
Ordentlicher Trick, wusste das nicht. Sie können auch bestimmte Gewichte im Parameter anfordern. (z. B. nur fett, nicht kursiv oder normal) –
Ich benutzte fontmin Remo ve Glyphe aus TTF-Schriften.
Es ist gelungen, Noto Sans (Gewicht = mittel) von 20MB auf weniger als 10 zu reduzieren, aber immer noch gemeinsame chinesische/japanische Zeichen.
Ich habe das Folgende getan, um alle kyrillischen Zeichen (Buchstaben) aus einer Schriftart zu entfernen und damit die Dateigröße zu halbieren, da ich nur die lateinischen Buchstaben benötigte.
- Fontforge (https://fontforge.github.io/en-US/)
- Start Fontforge erhalten und öffnen Sie Ihre ttf Schriftart-Datei
- gehen zu Bearbeiten -> Auswahl -> Auswahl nach Script
- auf dem Pop-up-Auswahlfenster gewählt Kyrillisch aus dem Drop Menü unten. Wie Sie vielleicht vermutet haben, wird dies nur die kyrillischen Buchstaben markieren.
- Gehe zu Codierung -> Trennen & Entfernen Sie Glyphen, bestätigen Sie die Frage. Sehen Sie, wie die kyrillischen Buchstaben verschwinden?
- Gehen Sie zu Encoding -> Compact, um einen besseren Überblick über die verbleibenden Buchstaben zu erhalten, was die Auswahl weiterer Löschkandidaten erleichtert. (Aber ich wagte nicht, sie manuell zu löschen/zu entfernen.)
- gehen Sie zu Datei -> Schriftarten generieren und vergessen Sie nicht, ttf als Ausgabeformat zu wählen.
Bitte beachten Sie, dass ich kein Profi in diesem Bereich bin. Aber ich brauchte eine schnelle Lösung.
Hier finden Sie mehr zu diesem Thema lesen: http://wiki.unity3d.com/index.php?title=Create_a_new_TrueType_font_using_a_subset_of_characters_from_an_existing_TrueType_font
Complex .ttf Fonts leicht zu 1MB aufstehen oder mehr. –
@Mark: Vielleicht Big5 oder GB-Schriftarten oder andere mit großen Zeichensätzen, aber das sind Randfälle. Sonst werden selbst sehr aufwendige westliche Schriften selten über 500KB und die wenigen, die 500KB groß sind, Wale, die wahrscheinlich optimiert werden könnten. –
Aber Sie haben nach der Anwendung gefragt. :) Ich habe gerade mit dem genauen Problem zu tun. –