Aspose.Font FOSS for Python er et rent-Python verktøysett for lasting, inspeksjon, konvertering, delmengde og forhåndsvisning av skrifttyper på tvers av TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Biblioteket kjører på Python 3.10 eller senere og krever ingen eksterne OS-skriftbiblioteker eller native avhengigheter.
Biblioteket eksponerer et rent API for fonthenting via FontLoader, glyph‑tilgang via GlyphAccessor, formatkonvertering via FontConverter, weboptimalisering via FontCleaner, tekstbevisst subsetting via FontSubsetter, og variabel fontanimasjon via AnimationPreviewBuilder. Fontmetadata som navn, familie, stil, glyph count, encoding og metrics er tilgjengelig gjennom Font baseklassen uten å parse binære tabeller manuelt.
Aspose.Font FOSS er MIT-lisensiert og kan installeres fra PyPI med en enkelt pip install-kommando. Den er egnet for verktøy for skriftdesign, webskrift-pipelines, glyf‑gjengivelsesmotorer, og enhver Python-applikasjon som trenger å lese, transformere eller produsere skriftefiler. For bedriftsproduktfamilien, se Aspose.Font — Enterprise Product Family.
FontLoader.open() og FontLoader.load()Font basisklasse: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() og get_all_codepoints()FontMetrics: stigning, nedstigning, linjeavstand, em-firkantGlyphAccessor.get_glyph_by_id() og get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph egenskaperKernPair for nøyaktige tekstlayoutberegningerFontConverter.convert()CurveAdapter.quad_to_cubic() og cubic_to_quads()convert_path_quad_to_cubic() og convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() og available_presets()FontSubsetter.analyze_coverage() og analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() og compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Åpne en TrueType- eller OpenType-skrift fra en filsti og les dens grunnleggende 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
Løs opp alle glyfer for et Unicode‑kodepunkt og inspiser deres konturbaner.
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)
Lag en animert APNG som sveiper en variabel fontakse fra start‑ til sluttverdi.
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")
Fjern legacy‑tabeller og Mac‑navnoppføringer for å redusere binærstørrelsen før webtjeneste.
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
Det er et gratis, MIT-lisensiert pure-Python bibliotek for lasting, inspeksjon, konvertering og delmengde av fonter i TTF, OTF, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Ingen native avhengigheter kreves.
Kjør pip install "aspose-font>=1.0.0". Ingen systemavhengigheter er nødvendige. Biblioteket fungerer på Windows, macOS og Linux med Python 3.10 eller nyere.
FontLoader.open() leser TTF, OTF, CFF, Type 1, WOFF, WOFF2 og EOT. FontConverter.convert() skriver TTF, CFF, WOFF og WOFF2. EOT er skrivebeskyttet.
Nei. Font.to_bytes() er ikke implementert i grunnklassen. Bruk FontConverter.convert() for å lage en ny Font i ønsket format.
Ja. FontSubsetter.subset_by_text(font, text) returnerer en ny Font som kun inneholder tegnene som kreves for den gitte teksten. FontSubsetter.subset(font, codepoints) og subset_by_gids(font, gids) gir finere kontroll.