Tablo Kontrolü
Tablo Kontrolü
Bu kılavuz, adlandırılan tablo özelliklerini nasıl okuduğunu, ham ikili tabla verilerini nasıl elde edeceğini ve değiştirilmiş tablosu byteyi bir TrueType yazı tipi içine nasıl yazacağınızı gösterir.
TrueType ve OpenTYpe yazı tipleri, her biri 4 byte bir etiketle tanımlanan ikili tablolardan oluşur. TtfTableSet Python adı verilen özellikleri ortak tablolar için sergiliyor ve TtfFont sağlar Tüm tablolar için çamur byte erişim.
Adı: Tabloların Okunması
TtfTableSet baş, hhea, maxp, os2, isim, post, cmap, loca, Hmtx ve çekirdek tablolarını gösterir.
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)Raw Table Bytes’i okuyun
TtfFont.get_table_bytes(tag) dört karakterli etiketiyle tanımlanan herhangi bir tabloya tam ikili içeriği iade eder, düşük düzeyde denetim veya özelleştirilmiş parsing sağlar.
ttf_font: TtfFont = FontLoader.open(“Roboto-Regular.ttf”) raw_name = ttf_font.get_table_bytes(“name”) print(f"name table: {len(raw_name)} bytes")
---
### Değiştirilmiş Masa Bitleri Yazma
`TtfFont.set_table_bytes(tag, data)` Bir tablo biner içeriğini değiştirir, GSUB kurallarını düzeltmek veya isim kayıtlarını güncelleştirmek gibi özelleştirici tablos değişiklikleri sağlar.
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..." # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)İpuçları ve En İyi Uygulamalar
- Check
tables.kern is not NoneKernel verilere erişmeden önce TtfTableSet.get_raw(tag)veset_raw(tag, data)Aliaslar içinget_table_bytes/set_table_bytes- Kullanım
FontCleaner.clean_for_web()tutarlılık sorunlarından kaçınmak için tabloları manuel olarak çıkarmaktan ziyade
API Referans Özetleri
| Sınıf / Yöntem | Description |
|---|---|
TtfFont.ttf_tables | Adı: Access Table Properties |
TtfFont.get_table_bytes(tag) | Ana Sayfa Bilgiler Binary Table Data |
TtfFont.set_table_bytes(tag, data) | Değiştirilmiş Tablo Bilgileri Yazın |
TtfTableSet.get_raw(tag) | get_table_bytes için yorumlar |
TtfTableSet.set_raw(tag, data) | Set_table_bytes için Alias |