Aspose.Font FOSS für Python ist ein reines Python-Toolkit zum Laden, Inspizieren, Konvertieren, Erstellen von Teilmengen und Vorschauen von Schriftarten in den Formaten TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 und EOT. Die Bibliothek läuft auf Python 3.10 oder höher und erfordert keine externen OS‑Schriftbibliotheken oder nativen Abhängigkeiten.
Die Bibliothek stellt eine saubere API für das Laden von Schriftarten über FontLoader, den Zugriff auf Glyphen über GlyphAccessor, die Formatkonvertierung über FontConverter, die Weboptimierung über FontCleaner, das textbewusste Subsetting über FontSubsetter und die Animation variabler Schriften über AnimationPreviewBuilder bereit. Schriftmetadaten wie Name, Familie, Stil, Glyphenanzahl, Kodierung und Metriken sind über die Basisklasse Font zugänglich, ohne binäre Tabellen manuell zu parsen.
Aspose.Font FOSS ist unter der MIT-Lizenz verfügbar und kann mit einem einzigen pip install‑Befehl von PyPI installiert werden. Es eignet sich für Font‑Design‑Tools, Webfont‑Pipelines, Glyph‑Rendering‑Engines und jede Python‑Anwendung, die Schriftdateien lesen, transformieren oder erzeugen muss. Für die Enterprise‑Produktfamilie siehe Aspose.Font — Enterprise Product Family.
FontLoader.open() und FontLoader.load()Font Basisklasse zu: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() und get_all_codepoints()FontMetrics: Aufstieg, Abstieg, Zeilenabstand, Em-QuadratGlyphAccessor.get_glyph_by_id() und get_glyph_by_unicode() abrufenGlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph-Eigenschaften zu.KernPair für genaue Text‑Layout‑BerechnungenFontConverter.convert()CurveAdapter.quad_to_cubic() und cubic_to_quads() an.convert_path_quad_to_cubic() und convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() und available_presets() anFontSubsetter.analyze_coverage() und analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() und compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Öffnen Sie eine TrueType‑ oder OpenType‑Schriftart von einem Dateipfad und lesen Sie deren grundlegende Metadaten.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name) # e.g. "Roboto"
print(font.font_family) # e.g. "Roboto"
print(font.num_glyphs) # e.g. 1294
Lösen Sie alle Glyphen für einen Unicode‑Codepunkt auf und untersuchen Sie deren Konturpfade.
from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41) # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
print(type(cmd).__name__, cmd)
Erstellen Sie ein animiertes APNG, das eine Variable‑Font‑Achse vom Start‑ bis zum Endwert durchläuft.
from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder
font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
asset = AnimationPreviewBuilder.build_axis_sweep(
font,
axis_tag="wdth",
start_val=75.0,
end_val=100.0,
frames=3,
fps=10,
text="A",
size=10.0,
bounce=True,
)
asset.write_to("roboto-sweep-wdth.png")
Entfernen Sie Legacy-Tabellen und Mac-Nameeinträge, um die Binärgröße vor dem Web-Serving zu reduzieren.
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped
Es ist eine kostenlose, MIT-lizenzierte pure-Python-Bibliothek zum Laden, Inspizieren, Konvertieren und Subsetten von Schriftarten in den Formaten TTF, OTF, CFF, Type 1, WOFF, WOFF2 und EOT. Es werden keine nativen Abhängigkeiten benötigt.
Führen Sie pip install "aspose-font>=1.0.0" aus. Systemabhängigkeiten sind nicht erforderlich. Die Bibliothek funktioniert unter Windows, macOS und Linux mit Python 3.10 oder höher.
FontLoader.open() liest TTF, OTF, CFF, Type 1, WOFF, WOFF2 und EOT. FontConverter.convert() schreibt TTF, CFF, WOFF und WOFF2. EOT ist schreibgeschützt.
Nein. Font.to_bytes() ist in der Basisklasse nicht implementiert. Verwenden Sie FontConverter.convert(), um ein neues Font im gewünschten Format zu erzeugen.
Ja. FontSubsetter.subset_by_text(font, text) gibt ein neues Font zurück, das nur die für den angegebenen Text erforderlichen Glyphen enthält. FontSubsetter.subset(font, codepoints) und subset_by_gids(font, gids) bieten feinere Kontrolle.