Aspose.Font FOSS pro Python je čistě-Python nástrojová sada pro načítání, inspekci, konverzi, podmnožování a náhled fontů ve formátech 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ů pomocí FontLoader, přístup ke glifům pomocí GlyphAccessor, konverzi formátů pomocí FontConverter, optimalizaci pro web pomocí FontCleaner, textově‑vědomé podmnožování pomocí FontSubsetter a animaci variabilních fontů pomocí AnimationPreviewBuilder. Metadata fontu, jako je 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 glyfů 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, num_glyphsFontEncoding.unicode_to_gid() a get_all_codepoints()FontMetrics: vzestup, sestup, mezera řádku, em‑čtverecGlyphAccessor.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 písmo TrueType nebo OpenType ze souborové cesty a přečtěte 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
Rozřešte všechny glyfy pro kódový bod Unicode a prozkoumejte jejich obrysové 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ý prochází osou proměnného písma od počáteční hodnoty po koncovou hodnotu.
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")
Odstraňte staré tabulky a záznamy názvů Mac, aby se snížila velikost binárního souboru před webovým servírováním.
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
Jedná se o bezplatnou, pod licencí MIT čistou Python knihovnu pro načítání, inspekci, konverzi a podmnožování písem ve formátech TTF, OTF, CFF, Type 1, WOFF, WOFF2 a EOT. Není vyžadována žádná nativní závislost.
Spusťte pip install "aspose-font>=1.0.0". Není potřeba žádná systémová závislost. Knihovna funguje na Windows, macOS a Linuxu s Python 3.10 nebo novějším.
FontLoader.open() čte TTF, OTF, CFF, Type 1, WOFF, WOFF2 a EOT. FontConverter.convert() zapisuje TTF, CFF, WOFF a WOFF2. EOT je pouze pro čtení.
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, který obsahuje pouze glyfy potřebné pro zadaný text. FontSubsetter.subset(font, codepoints) a subset_by_gids(font, gids) poskytují jemnější kontrolu.