टेबल निरीक्षण
टेबल निरीक्षण
यह गाइड दिखाता है कि नामित तालिका गुणों को कैसे पढ़ा जाए, कच्चे बाइनरी तालिबैक डेटा प्राप्त करें और एक TrueType फ़ॉन्ट में संशोधित टेबल बाइट्स लिखें।.
TrueType और OpenTYpe फ़ॉन्ट्स बाइनरी तालिकाओं से बने होते हैं, जिनमें से प्रत्येक को 4 बिट टैग द्वारा पहचाना जाता है।. TtfTableSet आम तालिकाओं के लिए Python नामक गुणों को प्रदर्शित करता है, और TtfFont प्रदान करता है सभी टेबलों के लिए कच्चे बाइट एक्सेस।.
पढ़ने के नाम पर तालिकाएं
TtfTableSet सिर, hhea, maxp, os2, नाम, पोस्ट, cmap, loca, Hmtx और कोर तालिकाओं का प्रदर्शन करता है।.
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
TtfFont.get_table_bytes(tag) यह किसी भी चार-चार्ज टैग द्वारा पहचाने गए किसी तालिका की पूरी बाइनरी सामग्री वापस करता है, जो कम स्तर की जांच या अनुकूलित पैकिंग की अनुमति देता है।.
ttf_font: TtfFont = FontLoader.open(“Roboto-Regular.ttf”) raw_name = ttf_font.get_table_bytes(“name”) print(f"name table: {len(raw_name)} bytes")
---
### बदलने वाले टेबल बिट्स लिखना
`TtfFont.set_table_bytes(tag, data)` एक तालिका की बाइनरी सामग्री को बदलता है, जैसे कि जीएसयूबी नियमों को पचने या नाम रिकॉर्ड अपडेट करने के लिए अनुकूलित तालिबैक संशोधनों की अनुमति देता है।.
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..." # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)टिप्स और सर्वश्रेष्ठ अभ्यास
- Check
tables.kern is not Noneडेटा के लिए पहुंचने से पहले TtfTableSet.get_raw(tag)औरset_raw(tag, data)एलियंस के लिएget_table_bytes/set_table_bytes- उपयोग करें
FontCleaner.clean_for_web()संतुलन के मुद्दों से बचने के लिए मैनुअल रूप से तालिकाओं को हटाने की बजाय
API संदर्भ सारांश
| वर्ग / विधि | Description |
|---|---|
TtfFont.ttf_tables | Access नामित तालिका संपत्तियों |
TtfFont.get_table_bytes(tag) | कच्चे बाइनरी तालिका डेटा पढ़ें |
TtfFont.set_table_bytes(tag, data) | संपादित तालिका डेटा लिखें |
TtfTableSet.get_raw(tag) | के लिए Alias get_table_bytes |
TtfTableSet.set_raw(tag, data) | सेट_टेबल_बिट्स के लिए आइटम |