Preguntas frecuentes
Licencia y Open Source
¿Qué es el modelo de licencia?
Aspose.Font FOSS for Python is released under the Licencia MIT.Puedes usar, copiar y, modificación, fusión, publicación, distribución, sublicencia o venta de copias del software sin La única exigencia es que el aviso de copyright y el texto de licencia sean incluido en todas las copias o partes sustanciales del software.
¿Puedo usarlo en productos comerciales?
La licencia MIT permite el uso en productos cerrados y comerciales.No hay obligaciones de autoría ni atribución más allá de mantener la titulación del copyright en sus copias de la propia biblioteca.
¿Hay una versión pagada con más características?
Aspose.Font FOSS is the open-source edition. The FOSS edition covers TTF, OTF, CFF, Type 1, WOFF, WOFF2, and EOT — which covers the majority of real-world font work.
Instalación y Requisitos
¿Cómo puedo instalar Aspose.Font FOSS para Python?
Instalar el paquete de PyPI (requiere Python 3.10+):
pip install "aspose-font>=1.0.0"No se requieren dependencias nativas de nivel del sistema.
¿Qué versiones de Python se apoyan?
La biblioteca utiliza las características de la biblioteca estándar, por lo que funciona en implementaciones de CPython y PyPy que soportan Python 3.10+.
¿Hay dependencias nativas o de plataforma?
No. Aspose.Font FOSS para Python no tiene exteniones C, no hay fuentes de sistema y no las APIs de plataforma. funciona idénticamente en Windows, macOS y Linux.
Formato de apoyo
¿Qué formatos de fontos se pueden leer?
FontLoader.open() Puede cargar TTF, OTF (standalone), CFF, WOFF 1, Woff 2 y EOT.
from aspose_font.loader import FontLoader
font = FontLoader.open("MyFont.ttf")¿Qué formatos se pueden escribir?
FontConverter.convert() soporta la conversión a TTF, CFF, WOFF y WofF2. Se puede salvar en bajetas o un flujo de archivos.
¿La decompresión WOFF2 está integrada?
Sí. la composición y decompresión de WOFF2 Brotli se implementan en su totalidad dentro de la biblioteca. no es necesario un paquete externo de brotli.
El uso de API
¿Cómo puedo cargar una letra y inspeccionar sus metadatos?
Uso FontLoader.open() que regresa a Font para las fuentes TTF/OTF que se TtfFont Para acceder a las propiedades específicas de TTF:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)¿Cómo puedo convertir un TTF en WOFF2?
Carga el font con FontLoader.open(),Y luego pasa a FontConverter.convert() especificando FontType.WOFF2 El objeto de la meta, el objeto que se ha devuelto es un Woff2Font La serie está listo para ser serializada:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)¿Cómo subsito una fuente para la entrega web?
Uso FontSubsetter.subset_by_text() para producir una nueva font que incluya sólo los glifos necesarios para render la línea de texto proporcionada, reduciendo el tamaño del archivo para la inserción de página web:
from aspose_font.loader import FontLoader
from aspose_font.subsetter import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")¿Cómo puedo acceder a los glifos individuales?
Uso Font.glyph_accessor ¿Qué implantaciones GlyphAccessor.llamadas get_glyph_by_unicode() con un punto de código Unicode para recuperar el objeto glif correspondiente y inspeccionar sus metrinas o su salida:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)Conocidas limitaciones
¿Se está implementando el Font.to_bytes?
La clase abstracta de base Font.to_bytes() Aumentar NotImplementedError Si se llama directamente. Sin embargo, todas las clases de fontos concretas - TtfFont, CffFont, WoffFont, Woff2Font, EotFont,y, Type1Font - Implementación to_bytes() Encarga una letra con FontLoader.open() y llamar to_bytes() de la instancia concreta que se ha devuelto. FontConverter.convert() También puede Producir una nueva letra en cualquier formato objetivo apoyado.
¿Todos los tipos de tablas en TtfTableSet son populados?
Sólo las tablas comunes (head, hhea, maxp, os2, nombre, post, cmap, loca, Hmtx, kern) son que se exponen como propiedades denominadas en TtfTableSet.Otras tablas se pueden leer como bajos crudos. por vía TtfFont.get_table_bytes(tag).
¿La biblioteca apoya la instancia de fuentes variables?
Sí sí. TtfFont.instantiate() Producir una estatística TtfFont Coordenadas de ácido específico. Uso TtfFont.is_variable y TtfFont.axes Para detectar el ácido de variación primero.