Aspose.Font FOSS per a Python és una caixa d’eines pure-Python per a carregar, inspeccionar, convertir, subestablir i previsualitzar tipografies en formats TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 i EOT. La biblioteca s’executa a Python 3.10 o posterior i no requereix cap biblioteca de tipografies del SO externa ni dependències natives.
La biblioteca exposa una API neta per a la càrrega de fonts via FontLoader, accés a glifs via GlyphAccessor, conversió de formats via FontConverter, optimització web via FontCleaner, subsetting conscient del text via FontSubsetter, i animació de fonts variables via AnimationPreviewBuilder. Les metadades de la font com ara el nom, la família, l’estil, el recompte de glifs, la codificació i les mètriques són accessibles a través de la classe base Font sense analitzar manualment les taules binàries.
Aspose.Font FOSS té llicència MIT i es pot instal·lar des de PyPI amb una única ordre pip install. És adequat per a eines de disseny de tipografies, canals de tipografies web, motors de renderització de glifs i qualsevol aplicació Python que necessiti llegir, transformar o generar fitxers de tipografia. Per a la família de productes empresarials, vegeu 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: ascens, descens, espai entre línies, quadrat emGlyphAccessor.get_glyph_by_id() i get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair per a càlculs precisos de disposició del textFontConverter.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()Obre una font TrueType o OpenType des d’una ruta de fitxer i llegeix les seves metadades bàsiques.
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
Resol tots els glifs d’un punt de codi Unicode i inspecciona els seus camins de contorn.
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)
Creeu un APNG animat que recorre un eix de font variable des del valor d’inici fins al valor final.
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 les taules heretades i els registres de noms de Mac per reduir la mida del binari abans de servir-lo al 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
És una biblioteca gratuïta, amb llicència MIT, pura-Python per a carregar, inspeccionar, convertir i fer subconjunts de fonts en formats TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. No es requereixen dependències natives.
Executeu pip install "aspose-font>=1.0.0". No es necessiten dependències a nivell del sistema. La biblioteca funciona a Windows, macOS i Linux amb Python 3.10 o posterior.
FontLoader.open() llegeix TTF, OTF, CFF, Type 1, WOFF, WOFF2 i EOT. FontConverter.convert() escriu TTF, CFF, WOFF i WOFF2. EOT és només de lectura.
No. Font.to_bytes() no està implementat a la classe base. Utilitzeu FontConverter.convert() per generar un nou Font en el format desitjat.
Sí. FontSubsetter.subset_by_text(font, text) retorna un nou Font que conté només els glifs necessaris per al text proporcionat. FontSubsetter.subset(font, codepoints) i subset_by_gids(font, gids) ofereixen un control més precís.