Aspose.Font FOSS for Python er et rent-Python værktøjssæt til indlæsning, inspektion, konvertering, udtrækning og forhåndsvisning af skrifttyper på tværs af TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Biblioteket kører på Python 3.10 eller senere og kræver ingen eksterne OS-skrifttypebiblioteker eller native afhængigheder.
Biblioteket eksponerer et rent API til skrifttypeindlæsning via FontLoader, glyph‑adgang via GlyphAccessor, formatkonvertering via FontConverter, weboptimering via FontCleaner, tekstbevidst udtrækning via FontSubsetter, og variabel skrifttypeanimation via AnimationPreviewBuilder. Skrifttypemetadata såsom navn, familie, stil, glyph‑antal, kodning og målinger er tilgængelige gennem Font baseklassen uden at parse binære tabeller manuelt.
Aspose.Font FOSS er MIT-licenseret og kan installeres fra PyPI med en enkelt pip install-kommando. Det er egnet til skriftdesignværktøjer, webfont-pipelines, glyph-renderingsmotorer og enhver Python-applikation, der skal læse, transformere eller producere skrifttypefiler. For enterprise-produktfamilien, se Aspose.Font — Enterprise Product Family.
FontLoader.open() og FontLoader.load()Font grundklassen: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() og get_all_codepoints()FontMetrics: opstigning, nedstigning, linjemellemrum, em-firkantGlyphAccessor.get_glyph_by_id() og get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph egenskaberKernPair for nøjagtige 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()Åbn en TrueType- eller OpenType-skrift fra en filsti og læs dens grundlæggende 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
Opløs alle glyphs for et Unicode‑kodepunkt og inspicer deres konturstier.
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)
Opret en animeret APNG, der svejer en variabel skrifttypeakse fra start- til slutværdi.
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-navn poster for at reducere binærstørrelsen før webbetjening.
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-licenseret rent-Python bibliotek til indlæsning, inspektion, konvertering og subsetting af skrifttyper i TTF, OTF, CFF, Type 1, WOFF, WOFF2 og EOT-formater. Ingen native afhængigheder er påkrævet.
Kør pip install "aspose-font>=1.0.0". Der er ingen systemniveau-afhængigheder. Biblioteket fungerer på Windows, macOS og Linux med Python 3.10 eller senere.
FontLoader.open() læser TTF, OTF, CFF, Type 1, WOFF, WOFF2 og EOT. FontConverter.convert() skriver TTF, CFF, WOFF og WOFF2. EOT er skrivebeskyttet.
Nej. Font.to_bytes() er ikke implementeret i grundklassen. Brug FontConverter.convert() til at producere en ny Font i det ønskede format.
Ja. FontSubsetter.subset_by_text(font, text) returnerer en ny Font, der kun indeholder de glyffer, der kræves for den givne tekst. FontSubsetter.subset(font, codepoints) og subset_by_gids(font, gids) giver finere kontrol.