Aspose.Font FOSS pro Python je čistě-Python nástrojová sada pro načítání, inspekci, konverzi, podmnožování a náhled fontů napříč formáty TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 a EOT. Knihovna běží na Python 3.10 nebo novějším a nevyžaduje žádné externí OS fontové knihovny ani nativní závislosti.
Knihovna poskytuje čisté API pro načítání fontů přes FontLoader, přístup ke glifům přes GlyphAccessor, konverzi formátů přes FontConverter, webovou optimalizaci přes FontCleaner, textově‑vědomé podmnožování přes FontSubsetter a animaci variabilních fontů přes AnimationPreviewBuilder. Metadata fontu jako název, rodina, styl, počet glifů, kódování a metriky jsou přístupná přes základní třídu Font bez nutnosti ručního parsování binárních tabulek.
Aspose.Font FOSS je licencováno pod MIT a lze jej nainstalovat z PyPI jedním příkazem pip install. Je vhodné pro nástroje pro návrh fontů, webové fontové pipeline, renderovací enginy glifů a jakoukoli Python aplikaci, která potřebuje číst, transformovat nebo vytvářet soubory fontů. Pro rodinu podnikových produktů viz Aspose.Font — Enterprise Product Family.
FontLoader.open() a FontLoader.load()Font: font_name, font_family , font_style a num_glyphsFontEncoding.unicode_to_gid() a get_all_codepoints()FontMetrics: stoupání, sestup, mezerka v řádku, em-kvadratGlyphAccessor.get_glyph_by_id() a get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair pro přesné výpočty rozvržení textuFontConverter.convert()CurveAdapter.quad_to_cubic() a cubic_to_quads()convert_path_quad_to_cubic() a convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() a available_presets()FontSubsetter.analyze_coverage() a analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() a compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Otevřete TrueType nebo OpenTyme font z cesty souboru a přečtěte si jeho základní 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
Vyřešte všechny glyfy pro Unicode kódový bod a zkontrolujte jejich výkresové cesty.
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)
Vytvořte animovaný APNG, který propíná proměnlivou os písma od počátku do konce hodnoty.
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")
Zrušte staré tabulky a záznamy Macových jmen, abyste snížili velikost binárních dat před webovým serverem.
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
Je to bezplatná knihovna s čistým Pythonem, která je licencována na MIT pro načítání, inspekci, konverzi a subsetování fontů v formátech TTF, OTF , CFF, Type 1, WOFF , WOff2 a EOT. Žádné nativní závislosti nejsou vyžadovány.
Spusťte pip install "aspose-font>=1.0.0". Není potřeba žádných systémových závislostí. Knihovna funguje na Windows, macOS a Linuxu s Python 3.10 nebo novějším.
FontLoader.open() čte TTF, OTF a CFF, typ 1, WOFF a WOff2, EOT. FontConverter.convert() píše TFT, CFL a Woff2.
Ne. Font.to_bytes() není implementováno v základní třídě. Použijte FontConverter.convert() k vytvoření nového Font v požadovaném formátu.
Ano. FontSubsetter.subset_by_text(font, text) vrací nový Font obsahující pouze glyphy potřebné pro daný text. FontSubsetter.subset(font, codepoints) a subset_by_gids(font, gids) poskytují jemnější kontrolu.