Lettertype-tabelinspectie

Lettertype-tabelinspectie

Lettertype Tabelinspectie

Deze gids laat zien hoe u benoemde tabel-eigenschappen kunt lezen, ruwe binaire tabelgegevens kunt ophalen en gewijzigde tabelbytes kunt terugschrijven naar een TrueType lettertype.

TrueType en OpenType lettertypen bestaan uit binaire tabellen, elk geïdentificeerd door een 4-byte tag. TtfTableSet biedt benoemde Python-eigenschappen voor veelvoorkomende tabellen, en TtfFont biedt ruwe byte-toegang voor alle tabellen.


Benoemde tabellen lezen

TtfTableSet biedt de tabellen head, hhea, maxp, os2, name, post, cmap, loca, hmtx en kern.

from aspose_font import FontLoader
from aspose_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)

Ruwe tabelbytes lezen

TtfFont.get_table_bytes(tag) retourneert de volledige binaire inhoud van elke tabel die wordt geïdentificeerd door zijn vier-karakter tag, waardoor low-level inspectie of aangepaste parsing mogelijk is.

from aspose_font import FontLoader
from aspose_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")

Gewijzigde tabelbytes schrijven

TtfFont.set_table_bytes(tag, data) vervangt de binaire inhoud van een tabel, waardoor aangepaste tabelwijzigingen mogelijk zijn, zoals het patchen van GSUB-regels of het bijwerken van naamrecords.

from aspose_font import FontLoader
from aspose_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)

Tips en best practices

  • Controleer tables.kern is not None voordat u kerninggegevens benadert
  • TtfTableSet.get_raw(tag) en set_raw(tag, data) zijn aliassen voor get_table_bytes / set_table_bytes
  • Gebruik FontCleaner.clean_for_web() in plaats van handmatig tabellen te verwijderen om consistentieproblemen te voorkomen

API Reference Samenvatting

Klasse / MethodeBeschrijving
TtfFont.ttf_tablesToegang tot benoemde tabeleigenschappen
TtfFont.get_table_bytes(tag)Ruwe binaire tabelgegevens lezen
TtfFont.set_table_bytes(tag, data)Aangepaste tabelgegevens schrijven
TtfTableSet.get_raw(tag)Alias voor get_table_bytes
TtfTableSet.set_raw(tag, data)Alias voor set_table_bytes

Zie ook

 Nederlands