שולחן בדיקה

שולחן בדיקה

מדריך זה מראה כיצד לקרוא את תכונות השולחן הנקרא, לקבל נתוני שולחן בינארי ירוק ולכתוב בייטים שונה של שולחנות בחזרה לתוך טופס 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

ראה גם

 עברית