Aspose.Font FOSS para Python es un conjunto de herramientas pure-Python para cargar, inspeccionar, convertir, subestablecer y previsualizar fuentes en 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, el acceso a glifos a través de GlyphAccessor, la conversión de formatos a través de FontConverter, la optimización web a través de FontCleaner, la subsegmentación consciente del texto a través de FontSubsetter, y la animación de fuentes variables a través de AnimationPreviewBuilder. Los metadatos de la fuente, como el nombre, la familia, el estilo, el recuento de glifos, la codificación y las métricas, son accesibles a través de la clase base Font sin analizar manualmente las tablas binarias.
Aspose.Font FOSS está bajo licencia MIT y se puede instalar desde PyPI con un solo 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 generar 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, num_glyphsFontEncoding.unicode_to_gid() y get_all_codepoints()FontMetrics: ascenso, descenso, espacio entre líneas, cuadrado emGlyphAccessor.get_glyph_by_id() y get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph.KernPair 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()Abre una fuente TrueType u OpenType desde una ruta de archivo y lee 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
Resuelve todos los glifos de un punto de código Unicode e inspecciona sus rutas de contorno.
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 recorra un eje de fuente variable desde el valor inicial 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")
Elimina las tablas heredadas y los registros de nombres de Mac para reducir el tamaño del binario antes de servirlo en 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 gratuita, bajo licencia MIT, pura-Python para cargar, inspeccionar, convertir y crear subconjuntos de fuentes en formatos TTF, OTF, CFF, Type 1, WOFF, WOFF2 y EOT. No se requieren dependencias nativas.
Ejecute pip install "aspose-font>=1.0.0". No se necesitan dependencias a nivel de sistema. La biblioteca funciona en Windows, macOS y Linux con Python 3.10 o posterior.
FontLoader.open() lee TTF, OTF, CFF, Type 1, WOFF, WOFF2 y EOT. FontConverter.convert() escribe TTF, CFF, WOFF y WOFF2. EOT es solo de lectura.
No. Font.to_bytes() no está implementado en la clase base. Use FontConverter.convert() para generar un nuevo Font en el formato deseado.
Sí. FontSubsetter.subset_by_text(font, text) devuelve un nuevo Font que contiene solo los glifos necesarios para el texto proporcionado. FontSubsetter.subset(font, codepoints) y subset_by_gids(font, gids) ofrecen un control más fino.