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 None Antes de acceder a los datos de la base
  • TtfTableSet.get_raw(tag) y set_raw(tag, data) Son aliadas para get_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étodoDescripción
TtfFont.ttf_tablesAcceso 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

Ver también

 Español