Lucrarea cu fonturi TrueType
Lucrarea cu fonturi TrueType
Acest ghid arată cum să încărcați fonturi TrueType, inspectați datele lor din tabelul binar, citiți baiti de tablă brute și creați instante statice din tipuri variabile folosind TtfInstancer.
Fonte TrueType (TTF) sunt cele mai comune tipuri de font desktop și web. Aspose.Font FOSS pentru exponerile Python TtfFont pentru accesarea datelor din tabelele specifice TTF, recuperare a glifului blob;, și controlul axului variabil al fontului.
Încărcarea unui font TTF
FontLoader.open() auto-detectează formatul TTF și returnează un TtfFont-obiect tipărit. Instanța returnată oferă acces la caracteristici specifice TTF, cum ar fi: ttf_tables, get_table_bytes(), și datele axului variabil al fontului.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")Accesarea tabelurilor TTF
TtfFont.ttf_tables expune o TtfTableSet cu proprietăți numite pentru tabele comune.
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("kern table present:", tables.kern is not None)Bite de tabel brută
Utilizare: TtfFont.get_table_bytes(tag) pentru a recupera datele din tabele binare brute și TtfFont.set_table_bytes(tag, data) să scrie tabele modificate de byte.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
raw_cmap = ttf_font.get_table_bytes("cmap")Instanțe de font variabile
TtfFont.get_axis() returnă informații despre ax. TtfInstancer.instantiate() produce o o instanță statică dintr-un font variabil la coordonatele axului specificate.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
from aspose_font.ttf.instancer import TtfInstancer
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
# Get a static instance at wght=700, wdth=75
instance = TtfInstancer.instantiate(ttf_font, {"wght": 700.0, "wdth": 75.0})Sfaturi şi cele mai bune practici
- Utilizaţi întotdeauna:
isinstance(font, TtfFont)înainte de accesarettf_tablessau de:get_table_bytes() - Utilizare:
TtfTableSet.kernpentru a verifica disponibilitatea de kerning înainte de citirea perechilor de nuclee - Instanțarea variabilă a fontului produce un obiect nou de tip; originalul este neschimbat
Rezultatele de la data aplicării.
| Clasa / metoda | Descriere: |
|---|---|
TtfFont.ttf_tables | Accesul la setul de tabele TTF |
TtfFont.get_table_bytes(tag) | Baiti cruzi pentru o tabelă numită |
TtfFont.set_table_bytes(tag, data) | Scrie baiti de tabel modificati |
TtfFont.get_axis() | Informații variabile despre axa de font |
TtfInstancer.instantiate(font, coords) | Creează o instanță statică |
TtfTableSet.kern | Tabelul de bază (fără dacă nu există) |