Aspose.Font FOSS voor Python is een pure-Python toolkit voor het laden, inspecteren, converteren, subsetten en previewen van lettertypen in 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 subsetting via FontSubsetter, en variabele lettertype‑animatie via AnimationPreviewBuilder. Lettertype‑metadata zoals naam, familie, stijl, aantal glyphs, codering en metriek zijn 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 fontontwerpgereedschap, webfont-pijplijnen, glyph-rendering-engines en elke Python-applicatie die fontbestanden 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: stijging, daling, regelafstand, em‑kwadraatGlyphAccessor.get_glyph_by_id() en get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph eigenschappenKernPair voor nauwkeurige tekst‑lay‑outberekeningenFontConverter.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 OpenType-lettertype vanaf een bestandspad en lees de basismetadata.
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 glyphs op voor een Unicode‑codepunt 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 een variabele fontas van de startwaarde naar de eindwaarde doorloopt.
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")
Verwijder legacy‑tabellen en Mac‑naamrecords om de binaire grootte te verkleinen vóór het webserveren.
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-, WOFF2- en EOT-formaten. Er zijn geen native afhankelijkheden vereist.
Voer pip install "aspose-font>=1.0.0" uit. Er zijn geen systeem‑niveau afhankelijkheden nodig. De bibliotheek werkt op Windows, macOS en Linux met Python 3.10 of hoger.
FontLoader.open() leest TTF, OTF, CFF, Type 1, WOFF, WOFF2 en EOT. FontConverter.convert() schrijft TTF, CFF, WOFF en WOFF2. EOT is alleen-lezen.
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) retourneert een nieuwe Font die alleen de glyphs bevat die nodig zijn voor de opgegeven tekst. FontSubsetter.subset(font, codepoints) en subset_by_gids(font, gids) bieden fijnere controle.