Bekerja dengan TrueType Fonts
Bekerja dengan TrueType Fonts
Panduan ini menunjukkan cara memuat font TrueType, memeriksa data tabel biner mereka, membaca byte tabel mentah, dan membuat instance statis dari font variabel menggunakan TtfInstancer.
Font TrueType (TTF) adalah format font desktop dan web yang paling umum. Aspose.Font FOSS untuk Python Exposes TtfFont untuk mengakses data tabel khusus TTF, pencarian glyph blob, dan kontrol sumbu font variabel.
Mengisi Font TTF
FontLoader.open() otomatis mendeteksi format TTF dan mengembalikan a TtfFont-objek yang diketik. Instansi yang dikembalikan memberikan akses ke fitur TTF-spesifik seperti: ttf_tables, get_table_bytes(), dan variabel data sumbu font.
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name, font.num_glyphs, "glyphs")Mengakses tabel TTF
TtfFont.ttf_tables mengekspresikan a TtfTableSet dengan sifat yang diberi nama untuk tabel umum.
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)Bytes Tabel mentah
Penggunaan TtfFont.get_table_bytes(tag) untuk mengambil data tabel biner mentah dan TtfFont.set_table_bytes(tag, data) untuk menulis byte tabel yang dimodifikasi.
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 Font Variabel
TtfFont.get_axis() mengembalikan informasi sumbu. TtfInstancer.instantiate() menghasilkan sebuah contoh statis dari font variabel pada koordinat sumbu tertentu.
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})Tips dan Praktik Terbaik
- Selalu gunakan:
isinstance(font, TtfFont)sebelum mengaksesttf_tablesatau:get_table_bytes() - Penggunaan
TtfTableSet.kernuntuk memeriksa ketersediaan kerning sebelum membaca pasangan kern - Variabel font instansi menghasilkan objek font baru; yang asli tidak berubah
Ringkasan Referensi API
| Kelas / Metode | Description |
|---|---|
TtfFont.ttf_tables | Akses ke tabel TTF |
TtfFont.get_table_bytes(tag) | Byte mentah untuk tabel yang diberi nama |
TtfFont.set_table_bytes(tag, data) | Menulis byte tabel yang dimodifikasi |
TtfFont.get_axis() | Informasi sumbu font variabel |
TtfInstancer.instantiate(font, coords) | Buat instance statis |
TtfTableSet.kern | Tabel kerning (Tidak ada jika tidak hadir) |