Aspose.Font FOSS para Python es un conjunto de herramientas pure-Python para cargar, inspeccionar, convertir, subestablecer y previsualizar fuentes en los formatos TrueType, OpenType, CFF, Type 1, WOFF, WOFF2 y EOT. La biblioteca se ejecuta en Python 3.10 o posterior y no requiere bibliotecas de fuentes del SO externas ni dependencias nativas.
La biblioteca expone una API limpia para la carga de fuentes a través de FontLoader, acceso a glifos a través de GlyphAccessor, conversión de formatos a través de FontConverter, optimización web a través de FontCleaner, subestablecimiento consciente del texto a través de FontSubsetter, y animación de fuentes variables a través de AnimationPreviewBuilder. Los metadatos de la fuente, como nombre, familia, estilo, recuento de glifos, codificación y métricas, son accesibles mediante la clase base Font sin analizar manualmente las tablas binarias.
Aspose.Font FOSS tiene licencia MIT y se puede instalar desde PyPI con un único comando pip install. Es adecuado para herramientas de diseño de fuentes, canalizaciones de fuentes web, motores de renderizado de glifos y cualquier aplicación Python que necesite leer, transformar o producir archivos de fuentes. Para la familia de productos empresariales, consulte Aspose.Font — Enterprise Product Family.
FontLoader.open() y FontLoader.load()Font: font_name, font_family , font_style y num_glyphsFontEncoding.unicode_to_gid() y get_all_codepoints()FontMetrics: ascenso, descenso y línea, em-squareGlyphAccessor.get_glyph_by_id() y get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair para cálculos precisos de disposición de textoFontConverter.convert()CurveAdapter.quad_to_cubic() y cubic_to_quads()convert_path_quad_to_cubic() y convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() y available_presets()FontSubsetter.analyze_coverage() y analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() y compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()Abra una fontana TrueType o OpenTYpe de un camino de archivo y leer sus metadatos básicos.
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
Resolve todos los glifos para un punto de código Unicode y inspecciona sus caminos de salida.
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)
Crea un APNG animado que suele un ácido de la letra variable desde el inicio hasta el 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")
Taller de legado y registros de nombres de Mac para reducir el tamaño binario antes de la 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
Es una biblioteca de Python pura gratuita, licenciada por MIT para cargar, inspeccionar, convertir y subsentar las letras en los formatos TTF, OTF y CFF, tipo 1, WOFF o Woff.
Ejecute pip install "aspose-font>=1.0.0". No se necesitan dependencias a nivel del sistema. La biblioteca funciona en Windows, macOS y Linux con Python 3.10 o posterior.
FontLoader.open() lee TTF, OTF y CFF, tipo 1, WOFF o Woff. FontConverter.convert() escribe TT F, Cff, WIFF e WUF2.
No. Font.to_bytes() no se implementa en la clase de base. Utilice FontConverter.convert() para producir un nuevo Font en el formato deseado.
Sí. FontSubsetter.subset_by_text(font, text) devolve un nuevo Font que contiene únicamente los glifos necesarios para el texto dado.FontSubsetter.subset(font, codepoints) y subset_by_gids(font, gids) dan control más fino.