Aspose.Font FOSS pentru Python este un set de instrumente pure-Python pentru încărcarea, inspectarea, conversia, subselectarea și previzualizarea fonturilor în formatele TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 și EOT. Biblioteca rulează pe Python 3.10 sau o versiune ulterioară și nu necesită biblioteci de fonturi OS externe sau dependențe native.
Biblioteca expune un API curat pentru încărcarea fonturilor prin FontLoader, accesul la glife prin GlyphAccessor, conversia de format prin FontConverter, optimizarea web prin FontCleaner, subsetting conștient de text prin FontSubsetter și animația fonturilor variabile prin AnimationPreviewBuilder. Metadatele fontului, cum ar fi numele, familia, stilul, numărul de glife, codificarea și metricile, sunt accesibile prin clasa de bază Font fără a parsa manual tabelele binare.
Aspose.Font FOSS este licențiată sub MIT și poate fi instalată din PyPI cu o singură comandă pip install. Este potrivită pentru instrumente de proiectare a fonturilor, fluxuri de lucru pentru fonturi web, motoare de redare a glifelor și orice aplicație Python care trebuie să citească, să transforme sau să producă fișiere de font. Pentru familia de produse enterprise, vedeți Aspose.Font — Enterprise Product Family.
FontLoader.open() și FontLoader.load()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() și get_all_codepoints()FontMetrics: ascensiune, descență, spațiu între linii, pătrat emGlyphAccessor.get_glyph_by_id() și get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph propertiesKernPair pentru calcule precise ale aranjamentului textului.FontConverter.convert()CurveAdapter.quad_to_cubic() și cubic_to_quads()convert_path_quad_to_cubic() și convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() și available_presets()FontSubsetter.analyze_coverage() și analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() și compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Deschide un font TrueType sau OpenType dintr-o cale de fișier și citește metadatele sale de bază.
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
Rezolvați toate glifele pentru un punct de cod Unicode și inspectați traseele conturului lor.
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)
Creează un APNG animat care să parcurgă un ax de font variabil de la valoarea de început la cea de sfârșit.
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")
Eliminați tabelele vechi și înregistrările de nume Mac pentru a reduce dimensiunea binarului înainte de servirea pe web.
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
Este o bibliotecă gratuită, licențiată MIT, pure-Python, pentru încărcarea, inspectarea, conversia și subsettarea fonturilor în formatele TTF, OTF, CFF, Type 1, WOFF, WOFF2 și EOT. Nu sunt necesare dependențe native.
Rulați pip install "aspose-font>=1.0.0". Nu sunt necesare dependențe la nivel de sistem. Biblioteca funcționează pe Windows, macOS și Linux cu Python 3.10 sau o versiune ulterioară.
FontLoader.open() citește TTF, OTF, CFF, Type 1, WOFF, WOFF2 și EOT. FontConverter.convert() scrie TTF, CFF, WOFF și WOFF2. EOT este doar în citire.
Nu. Font.to_bytes() nu este implementat în clasa de bază. Utilizați FontConverter.convert() pentru a produce un nou Font în formatul dorit.
Da. FontSubsetter.subset_by_text(font, text) returnează un nou Font care conține doar glifele necesare pentru textul dat. FontSubsetter.subset(font, codepoints) și subset_by_gids(font, gids) oferă un control mai fin.