Inspecció de la taula de fonts

Inspecció de la taula de fonts

Inspecció de la taula de fonts

Aquesta guia mostra com llegir propietats de taula amb nom, recuperar dades de la taula binària en bruto i escriure els bytes de taulell modificats a una font TrueType.

Les fonts TrueType i OpenTyme estan compostes de taules binàries, cadascuna identificada per una etiqueta de 4 octets. TtfTableSet exposa propietats anomenades Python per a taules comunes, i TtfFont proporciona: Accés en byte brut per a totes les taules.


Llegir taules amb noms

TtfTableSet Exposar cap, hhea, maxp, os2, nom, post, cmap, loca, hmtx i taules de kern.

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)

Llegir bits de taula en bruto

TtfFont.get_table_bytes(tag) Retorna el contingut binari complet de qualsevol taula identificada per la seva etiqueta de quatre caràcters, permetent una inspecció a baix nivell o un parseig personalitzat.

ttf_font: TtfFont = FontLoader.open(“Roboto-Regular.ttf”) raw_name = ttf_font.get_table_bytes(“name”) print(f"name table: {len(raw_name)} bytes")


---

### Escriure bytes de taula modificats

`TtfFont.set_table_bytes(tag, data)` substitueix el contingut binari d'una taula, permetent modificacions personalitzades de la taula com ara correccions a les regles GSUB o actualització dels registres de noms.

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..."  # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)

Consells i millors pràctiques

  • Check tables.kern is not None abans d’accedir a les dades de la base.
  • TtfTableSet.get_raw(tag) i de la set_raw(tag, data) són aliases per a: get_table_bytes / set_table_bytes
  • Utilització: FontCleaner.clean_for_web() en comptes de eliminar les taules manualment per evitar problemes de coherència.

Resum de referència d’API

Classe / mètodeDescription
TtfFont.ttf_tablesPropietats de taula amb nom d’accés
TtfFont.get_table_bytes(tag)Llegir dades de taula binària en bruto
TtfFont.set_table_bytes(tag, data)Escriure dades de taula modificades
TtfTableSet.get_raw(tag)Aliases per a get_table_bytes
TtfTableSet.set_raw(tag, data)Aliases per set_table_bytes

See Also

 Català