فحص جدول الخطوط

فحص جدول الخطوط

تظهر هذه الدورة كيفية قراءة خصائص الجدول المسمى، واسترداد بيانات الجدة الثنائية الخام، وكتابة بايتات جدول معدلة مرة أخرى في خط TrueType.

تصنع الخطوط TrueType و OpenTybe من جداول ثنائية، يتم تحديد كل منها بواسطة علامة 4 بايت. TtfTableSet تعرض خصائص Python المسماة للجداول المشتركة، و TtfFont يقدم الوصول البايت الخام لجميع الجداول.


قراءة الجداول المسماة

TtfTableSet يُظهر الرأس، الهيا، ماكسب، أوس2، الاسم، البريد، سي ماب، لوكا، إتش تي إكس، وجداول النواة.

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

انظر أيضا

 العربية