Fönsterbord inspektör

Fönsterbord inspektör

Denna guide visar hur man läser namngivna tabellegenskaper, återhämta rå binära tabeldata och skriva modifierade tabelbytter tillbaka i ett TrueType-faktur.

TrueType och OpenTYpe fonts består av binära tabeller, var och en identifierad med ett 4-bitars tag. TtfTableSet exponerar namngivna Python-egenskaper för vanliga tabeller, och TtfFont Försöker Rå byte åtkomst för alla tabeller.


Läs namngivna tabeller

TtfTableSet exponerar huvud, hhea, maxp, os2, namn, post, cmap, loca, Hmtx och kärntabeller.

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)

Läs Raw Table Bytes

TtfFont.get_table_bytes(tag) returnerar det fullständiga binära innehållet i någon tabell som identifieras med dess fyra tecken tag, vilket möjliggör låg nivå inspektion eller anpassad parsing.

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


---

### Skrivande av modifierade tabellbyten

`TtfFont.set_table_bytes(tag, data)` ersätter en tabellens binära innehåll, vilket gör det möjligt att anpassa tabellen ändringar som patching GSUB-regler eller uppdatering av namnregistret.

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

Tips och bästa praxis

  • Check tables.kern is not None Innan du får tillgång till kerningdata
  • TtfTableSet.get_raw(tag) och set_raw(tag, data) Allianser för get_table_bytes / set_table_bytes
  • Användning FontCleaner.clean_for_web() i stället för att manuellt ta bort tabeller för Att undvika konsistensproblem

API Referens sammanfattning

Klass / MetodBeskrivning
TtfFont.ttf_tablesTillgång till namngivna tabellegenskaper
TtfFont.get_table_bytes(tag)Läs rå binära tabelldata
TtfFont.set_table_bytes(tag, data)Skriv ändrade tabelldata
TtfTableSet.get_raw(tag)Alias för get_table_bytes
TtfTableSet.set_raw(tag, data)Alias för set_table_bytes

Se även

 Svenska