שולחן בדיקה
שולחן בדיקה
מדריך זה מראה כיצד לקרוא את תכונות השולחן הנקרא, לקבל נתוני שולחן בינארי ירוק ולכתוב בייטים שונה של שולחנות בחזרה לתוך טופס TrueType.
טפטים TrueType ו-OpenTYpe מורכבים טבלאות בינאריות, כל אחד מזהה על ידי תגית 4 סיביות. TtfTableSet מציג תכונות שנקראו Python עבור טבלאות נפוצות, ו TtfFont מספקת גישה באט ירוק לכל הטבלאות.
קראו את השמות של הטבלאות
TtfTableSet הוא מראה ראש, hhea, maxp, os2, שם, פוסט, cmap, loca, Hmtx ו- kern טבלאות.
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)קראו את המגוון של שולחנות ירוקים
TtfFont.get_table_bytes(tag) החזיר את התוכן הבינארי המלא של כל טבלה מזהה על ידי תווית ארבע האופי שלה, המאפשר בדיקה ברמה נמוכה או פריסה מותאמת אישית.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
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) להחליף את התוכן הבינארי של טבלה, המאפשר שינויים מותאמים אישית בטבלה כגון פיצול כללים GSUB או עדכון רשומות שמות.
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..." # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)טיפים ושיטות טובות
- צפו
tables.kern is not Noneלפני גישה לנתונים קרוניים TtfTableSet.get_raw(tag)וset_raw(tag, data)הם אליאסיות עבורget_table_bytes/set_table_bytes- שימוש
FontCleaner.clean_for_web()במקום להסיר ידנית את השולחנות כדי למנוע בעיות עקביות
סיכום התייחסות API
| שיעור / שיטה | תיאור |
|---|---|
TtfFont.ttf_tables | גישה נכסים שולחן שמות |
TtfFont.get_table_bytes(tag) | קראו את נתוני לוח בינארי ירוק |
TtfFont.set_table_bytes(tag, data) | כתוב נתוני טבלה משתנים |
TtfTableSet.get_raw(tag) | תגיות קשורות get_table_bytes |
TtfTableSet.set_raw(tag, data) | תגיות: set_table_bytes |