Aspose.Font FOSS voor Python is een pure-Python toolkit voor het laden, inspecteren, converteren, subsetten en previewen van lettertypen over TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 en EOT-formaten. De bibliotheek draait op Python 3.10 of later en vereist geen externe OS-lettertypebibliotheken of native afhankelijkheden.
De bibliotheek biedt een schone API voor het laden van lettertypen via FontLoader, glyph-toegang via GlyphAccessor, formaatconversie via FontConverter, weboptimalisatie via FontCleaner, tekstbewuste subsetten via FontSubsetter, en variabele lettertype-animatie via AnimationPreviewBuilder. Lettertype-metadata zoals naam, familie, stijl, aantal glyphs, codering en metriek is toegankelijk via de Font basisklasse zonder handmatig binaire tabellen te parseren.
Aspose.Font FOSS is MIT-licentie en installeerbaar vanaf PyPI met een enkel pip install-commando. Het is geschikt voor lettertype-ontwerptools, webfont-pijplijnen, glyph-rendering-engines en elke Python applicatie die lettertypebestanden moet lezen, transformeren of produceren. Voor de enterprise-productfamilie, zie Aspose.Font — Enterprise Product Family.
FontLoader.open() en FontLoader.load()Font basisklasse: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() en get_all_codepoints()FontMetrics: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() en get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph eigenschappenKernPair voor nauwkeurige tekst‑layoutberekeningenFontConverter.convert()CurveAdapter.quad_to_cubic() en cubic_to_quads()convert_path_quad_to_cubic() en convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() en available_presets()FontSubsetter.analyze_coverage() en analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() en compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Open een TrueType- of OpenTyme-lettertype vanaf een bestandspad en lees de basis metadata.
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
Los alle glyfen op voor een Unicode-code punt en inspecteer hun contourpaden.
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)
Maak een geanimeerde APNG die de variabele lettertype van begin tot eindwaarde doorzoekt.
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")
Strip oude tabellen en Mac-naam records om de binaire grootte te verminderen voor webserving.
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
Het is een gratis, MIT-gelicentieerde pure Python bibliotheek voor het laden, inspecteren, converteren en subsetten van lettertypen in TTF-, OTF- , CFF-, Type-1- , WOFF- en EOT-formaten. Geen native afhankelijkheden zijn vereist.
Voer pip install "aspose-font>=1.0.0" uit. Er zijn geen systeemafhankelijke afhankelijkheden nodig. De bibliotheek werkt op Windows, macOS en Linux met Python 3.10 of later.
FontLoader.open() leest TTF, OTF , CFF, Type 1, WOFF , WOff2 en EOT. FontConverter.convert() schrijft TFT, CFC, WOFF en WOFL2. Eot is alleen voor leeswerk.
Nee. Font.to_bytes() is niet geïmplementeerd in de basisklasse. Gebruik FontConverter.convert() om een nieuwe Font in het gewenste formaat te produceren.
Ja. FontSubsetter.subset_by_text(font, text) geeft een nieuwe Font terug die alleen de glyfen bevat die voor de gegeven tekst nodig zijn.FontSubsetter.subset(font, codepoints) en subset_by_gids(font, gids) geven fijnere controle.