Inspekcija tabele fontova

Inspekcija tabele fontova

Ovaj vodič pokazuje kako čitati imovine imenovane tabele, preuzeti sirove podatke binarne tablice i zapisati modificirane bajtove tabeli natrag u TrueType font.

TrueType i OpenTybe fontovi sastavljeni su od binarnih tabela, svaki je identificiran sa 4-bajtnom oznakama. TtfTableSet izloži Python svojstva za zajedničke tabele, i TtfFont sadržava: U slučaju da je to moguće, mora se provesti proces ispitivanja.


Čitanje imenovanih tabela

TtfTableSet Izloži head, hhea, maxp, os2, ime, post, cmap, loca, hmtx i kern tabele.

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)

Čitanje sirovih tabličnih bajta

TtfFont.get_table_bytes(tag) U tom slučaju, ako je to moguće, podnosite zahtjev za primjenu ili odlaganje.

from aspose_font.loader import FontLoader
from aspose_font.ttf.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")

Pisanje modifikovanih tabličnih bajta

TtfFont.set_table_bytes(tag, data) U tom slučaju, u skladu s člankom 77. stavkom 2. točkom (a) Uredbe (EU) br. 1071/2013 i Uredbom Komisije (EZ) št. 1272/2009 o zaštiti podataka iz članka 8. stavka 1. točke (b) ovog Priloga, Komisija može na temelju postupka utvrđivanja zahtjeva za odobrenje ili odobravanje pripreme za primjenu Direktive 2009/138/EZ provesti postupak izmjene te uredbe.

from aspose_font.loader import FontLoader
from aspose_font.ttf.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)

Savjeti i najbolje prakse

  • Čekaj. tables.kern is not None prije pristupa kerning podacima
  • TtfTableSet.get_raw(tag) i u članku 1. set_raw(tag, data) su to nadimci za… get_table_bytes / set_table_bytes
  • Upotreba: FontCleaner.clean_for_web() umjesto ručno uklanjanja tabela kako bi se izbjegli problemi konzistentnosti

Svrha referentnog API-a

Klasa / metodaOpisivanje
TtfFont.ttf_tablesPristup imenovanim svojstvima tabele
TtfFont.get_table_bytes(tag)Čitanje sirovih podataka iz binarne tabele
TtfFont.set_table_bytes(tag, data)Napisati izmijenjene podatke tabele
TtfTableSet.get_raw(tag)Alias za get_table_bytes
TtfTableSet.set_raw(tag, data)Aliji za set_table_bytes

Također pogledajte:

 Hrvatski