Inspekcja tabeli czcionek

Inspekcja tabeli czcionek

Inspekcja tabel czcionki

Ten przewodnik pokazuje, jak odczytać nazwane właściwości tabel, pobrać surowe dane binarne tabeli oraz zapisać zmodyfikowane bajty tabeli z powrotem do czcionki TrueType.

TrueType i OpenType czcionki składają się z binarnych tabel, z których każda jest identyfikowana czterobajtowym tagiem. TtfTableSet udostępnia nazwane właściwości Python dla typowych tabel, a TtfFont zapewnia dostęp do surowych bajtów dla wszystkich tabel.


Odczyt nazwanych tabel

TtfTableSet udostępnia tabele head, hhea, maxp, os2, name, post, cmap, loca, hmtx i 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)

Odczyt surowych bajtów tabeli

TtfFont.get_table_bytes(tag) zwraca pełną zawartość binarną dowolnej tabeli zidentyfikowanej jej czteroznakowym tagiem, umożliwiając niskopoziomową inspekcję lub własne parsowanie.

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")

Zapisywanie zmodyfikowanych bajtów tabeli

TtfFont.set_table_bytes(tag, data) zastępuje binarną zawartość tabeli, umożliwiając niestandardowe modyfikacje tabel, takie jak łatanie reguł GSUB lub aktualizowanie rekordów name.

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)

Wskazówki i najlepsze praktyki

  • Sprawdź tables.kern is not None przed dostępem do danych kerningu
  • TtfTableSet.get_raw(tag) i set_raw(tag, data) są aliasami dla get_table_bytes / set_table_bytes
  • Używaj FontCleaner.clean_for_web() zamiast ręcznego usuwania tabel, aby uniknąć problemów ze spójnością

API Reference Podsumowanie

Klasa / MetodaOpis
TtfFont.ttf_tablesUzyskaj dostęp do nazwanych właściwości tabeli
TtfFont.get_table_bytes(tag)Odczytaj surowe dane binarne tabeli
TtfFont.set_table_bytes(tag, data)Zapisz zmodyfikowane dane tabeli
TtfTableSet.get_raw(tag)Alias dla get_table_bytes
TtfTableSet.set_raw(tag, data)Alias dla set_table_bytes

Zobacz także

 Polski