كيفية العمل مع الخطوط TTF في بايثون

كيفية العمل مع الخطوط TTF في بايثون

هذا الدليل يظهر كيفية تحميل الخطوط TTF، فحص TtfFont خصائص، قراءة الجداول، محاكاة الخطوط المتغيرة، وتحويل إلى تنسيقات أخرى باستخدام Aspose.Font FOSS لبيثون. الخطوص TrueType (.ttf) هي الشكل الأكثر شيوعاً للخطوط. Aspose.Font FOSS تحميلها كما هو الحال. TtfFont الحالات، مما يمنح الوصول إلى الجداول، محاور الخط المتغيرات، بيانات النمط، ومرافق التحويل.

خطوة بخطوة دليل

الخطوة 1: قم بتثبيت الحزمة

قم بتثبيت حزمة Aspose.Cells FOSS من PyPI باستخدام أمر pip أدناه:

pip install "aspose-font>=1.0.0"

الخطوة 2: استيراد الدروس المطلوبة

الاستيراد FontLoader و TtfFont لتحميل خط TTF والوصول إلى خصائصه المكتوبة:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

الخطوة 3: تحميل وفحص خط TTF

تحميل ملف TTF باستخدام: FontLoader.open() وقراءة الخصائص الأساسية مثل الاسم، العائلة، وعدد النقاط:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)

الخطوة 4: قراءة جدول النواة

إدخال الموقع ttf_tables خاصية وتحقق من وجود جدول النواة باسم:

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)

الخطوة 5: تحديد النمط المتغير

تحميل ملف الخط المتغير، التحقق من is_variable,، و اتصلوا instantiate() مع قاموس محور لإنتاج مثال ثابت:

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
    static = ttf_font.instantiate({"wght": 700.0})
    print("Instantiated:", static.font_name)

الخطوة 6: تحويل إلى WOFF2

تحويل شفرة TTF محمولة إلى تنسيق WOFF2 عن طريق تمرير FontType.WOFF2 إلى FontConverter.convert():

from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType

font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)

مشكلات و تصحيحات مشتركة

AttributeError: Font has no attribute ttf_tables الاستخدام ttf_font: TtfFont = FontLoader.open(...). المجلس الوزاري ttf_tables الممتلكات على TtfFont,، ليس القاعدة Font.

is_variable هو كاذب على الخط المتغير بعض الخطوط المتغيرة تستخدم خط غير قياسي fvar شكل الجدول. تحقق من ذلك ttf_font.fvar is not None كبديل.

instantiate() يرفع KeyError يجب أن تكون علامة المحور علامات مسجلة من 4 أشجار. (مثل:. "wght", "wdth") التحقق ttf_font.axes للوصول إلى العلامات المتاحة.

الأسئلة المتكررة

ما هو الفرق بين TTF و OTF؟?

OTF و TTF يشتركان في نفس الحاوية الثنائية (SFNT). تستخدم خطوط OFT عادةً ملامح CFF. بينما تستخدم الخطوط TTF TrueType منحنيات مربعة. يتم تحميل كلاهما بواسطة FontLoader.open().

هل يمكنني الحصول على أزواج النباتات من خط TTF؟?

نعم، استخدمها. TtfFont.get_kern_pairs() للحصول على قائمة من KernPair الأشياء.

هل تدعم المكتبة مجموعات الخطوط (.ttc) ؟?

نعم، استخدمها. FontLoader.open(source, collection_index=N) لتحديد خط محدد من ملف جمع التجارة.

انظر أيضا

 العربية