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 None Kernel verilere erişmeden önce
  • TtfTableSet.get_raw(tag) ve set_raw(tag, data) Aliaslar için get_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öntemDescription
TtfFont.ttf_tablesAdı: 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

See Also

 Türkçe