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 Noneprije 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 / metoda | Opisivanje |
|---|---|
TtfFont.ttf_tables | Pristup 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 |