Inspección de mesa Font
Inspección de mesa Font
Este guía muestra cómo leer las propiedades de la tabla nombrada, recuperar los datos de tablas binarias crudas y escribir bajetas modificadas de tablas de nuevo en una letra TrueType.
Las fontas TrueType y OpenTYpe se componen de tablas binarias, cada una identificada por un etiqueta de 4 bits. TtfTableSet exponer las propiedades llamadas Python para tablas comunes, y TtfFont proporciona Acceso a los bajos para todas las tablas.
Leer las tablas llamadas
TtfTableSet Exponer cabeza, hhea, maxp, os2, nombre, post, cmap, loca, Hmtx y tablas de núcleo.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables
print("head table:", tables.head is not None)
print("kern table:", tables.kern is not None)Leer la mesa de los Bytes
TtfFont.get_table_bytes(tag) devolve el contenido binario completo de cualquier tabla identificada por su etiqueta de cuatro caracteres, lo que permite inspección a nivel bajo o parsamiento personalizado.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_name = ttf_font.get_table_bytes("name")
print(f"name table: {len(raw_name)} bytes")Descripción de tablas modificadas
TtfFont.set_table_bytes(tag, data) sustituye el contenido binario de una tabla, permitiendo modificaciones personalizadas de la tabela como patching reglas GSUB o actualizar los registros de nombre.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..." # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)Consejos y mejores prácticas
- Verificar
tables.kern is not NoneAntes de acceder a los datos de la base TtfTableSet.get_raw(tag)yset_raw(tag, data)Son aliadas paraget_table_bytes/set_table_bytes- Uso
FontCleaner.clean_for_web()En lugar de eliminar manualmente las mesas para evitar problemas de consistencia
Sumación de referencia API
| Clase / Método | Descripción |
|---|---|
TtfFont.ttf_tables | Acceso a las propiedades de la tabla nombrada |
TtfFont.get_table_bytes(tag) | Leer los datos de la tabla binaria cruda |
TtfFont.set_table_bytes(tag, data) | Escribir datos de tabla modificados |
TtfTableSet.get_raw(tag) | Alías para get_table_bytes |
TtfTableSet.set_raw(tag, data) | Alías para set_table_bytes |