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 Nonevoordat u kerninggegevens benadert TtfTableSet.get_raw(tag)enset_raw(tag, data)zijn aliassen voorget_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 / Methode | Beschrijving |
|---|---|
TtfFont.ttf_tables | Toegang 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 |