1. منتجات
  2.   Font
  3.   Python
  4.   FontTools
 
  

مكتبة بايثون لقراءة الخطوط

واجهة برمجة تطبيقات بايثون مفتوحة المصدر تمكّن مطوري البرمجيات والمصممين من معالجة وتحرير وتحليل الخطوط بسهولة.

تلعب FontTools دورًا حيويًا في التصميم والعلامات التجارية والاتصالات، وتُعد الخطوط اللبنات الأساسية للجماليات البصرية. في العصر الرقمي، أصبحت إدارة الخطوط ومعالجتها أكثر أهمية. إحدى الأدوات القوية التي اكتسبت شعبية بين المطورين والمصممين هي مكتبة FontTools. FontTools هي مكتبة بايثون مفتوحة المصدر متعددة الاستخدامات توفر مجموعة شاملة من الأدوات للعمل مع الخطوط وقد برزت كأداة قوية لعشاق الخطوط والمصممين والمطورين وخطاطي الحروف على حد سواء. مجموعة ميزاتها الواسعة، إلى جانب واجهتها القائمة على بايثون، تجعلها خيارًا ممتازًا للمهام والمشاريع المتعلقة بالخطوط.

FontTools هي مكتبة مفتوحة المصدر تمكّن مطوري البرمجيات من التفاعل مع ملفات الخط برمجيًا. توفر مجموعة واسعة من الوظائف لتعديل الخطوط وتحريرها وتحليلها. تدعم ميزات مثل تعديل الخطوط بطرق مختلفة، عمليات تحرير الحروف الأساسية، دمج الخطوط المتقدم، إزالة الحروف الفردية، دعم جداول SFNT، تحديد وتنفيذ قيم SFNT المختلفة، تعديل خطوط الحروف، ضبط مقاييس الخط، تغيير ترميز الخط، إضافة أو إزالة الجداول، تحويل تعريفات التخطيط بين أنظمة تخطيط مختلفة، العثور على سلاسل الأسماء وتحريرها، وما إلى ذلك.

تمكن مكتبة FontTools مبرمجي البرمجيات من الوصول إلى ملفات الخط وتعديلها وتحليل مختلف جوانبها برمجياً. تدعم عدة صيغ للخطوط، بما في ذلك TrueType (TTF)، OpenType (OTF)، AFM، إلى حد ما Type 1، وبعض الصيغ الخاصة بماك، مما يجعلها خيارًا متعدد الاستخدامات للعمل مع أنواع الخطوط المختلفة. تستفيد FontTools من مجتمع نشط وداعم. المشروع مفتوح المصدر ويتم صيانته بنشاط، مع تحديثات منتظمة وإصلاحات للأخطاء. سواءً كنت تقوم بأتمتة تعديل الخطوط، أو تحسين الواجهات الطباعية، أو إجراء تحليل مفصل للخطوط، فإن FontTools توفر الأدوات والمرونة اللازمة لتحقيق أهدافك بكفاءة.

Previous Next

البدء مع FontTools

تتطلب FontTools Python 3.8 أو أحدث. الطريقة الموصى بها لتثبيت FontTools هي باستخدام PyPI. يرجى استخدام الأمر التالي لتثبيت سلس.

تثبيت FontTools عبر NuGet

 pip install fonttools 

يمكنك أيضًا تثبيتها يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من مستودع GitHub.

تحرير الخطوط ومعالجتها عبر واجهة برمجة التطبيقات Python

مكتبة FontTools المفتوحة سهلة الاستخدام للغاية وتضم عدة ميزات مهمة تمكّن مطوري البرمجيات من معالجة الخطوط بطرق مختلفة داخل تطبيقاتهم بلغة بايثون. تتيح لهم استخراج المعلومات من ملفات الخط، تعديل مخططات الحروف، التعامل مع المقاييس، وحتى إنشاء خطوط جديدة من الصفر، وأتمتة المهام المتكررة المتعلقة بالخطوط وما إلى ذلك. باستخدام مكتبة FontTools يمكن لمطوري البرمجيات أيضًا تعديل حدود الحروف، ضبط المقاييس، تغيير الترميز، وإضافة أو إزالة الجداول. هذه المرونة تسمح للمصممين بضبط الخطوط بدقة وفقًا للمتطلبات المحددة أو إنشاء إصدارات مخصصة لمشاريعهم.

كيف تعديل مسارات المخطط الخارجي عبر واجهة برمجة التطبيقات Python؟

path_orig = get_outline(font, "a")
startdraw(200,200)

paths = []
for i in path_orig:
    if i[0] == 'moveTo':
        path = draw.BezierPath()
        path.moveTo((i[1][0]))
    if i[0] == 'lineTo':
        path.lineTo((i[1][0]))
    if i[0] == 'qCurveTo':
        path.qCurveTo(*(i[1]))
    if i[0] == 'closePath':
        path.closePath()
        paths.append(path)

finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()

معالجة الحروف عبر واجهة برمجة التطبيقات Python

تُسهل مكتبة FontTools المفتوحة المصدر على مطوري البرمجيات تعديل الحروف الفردية برمجيًا. توفر طرقًا للوصول إلى مخططات الحروف وتعديلها، والقياسات والسمات، مما يمنح المستخدمين مرونة تخصيص الخطوط وفقًا لاحتياجاتهم الخاصة. سواء كان ذلك ضبط أزواج التتبع، تغيير أشكال الحروف، إضافة الأحرف المتصلة، أو مقارنة مخططات الحروف، فإن FontTools تُبسّط عملية تعديل الحروف. يوضح المثال التالي كيفية مقارنة مخططات حرفين وعرض النتائج باستخدام كود بايثون.

كيف مقارنة المخططات الخارجية لحرفين باستخدام واجهة برمجة التطبيقات Python؟

from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen

font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()

g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]

p1 = RecordingPen()
p2 = RecordingPen()

g1.draw(p1)
g2.draw(p2)

print(p1.value == p2.value)

إنشاء الخطوط وتحويلها عبر واجهة برمجة التطبيقات Python

توفر مكتبة FontTools المفتوحة المصدر وظائف لإنشاء ملفات خطوط جديدة أو تحويل الملفات الحالية إلى صيغ مختلفة. هذه الميزة مفيدة بشكل خاص للمصممين والمطورين الذين يحتاجون إلى إنشاء خطوط مخصصة أو تعديل الخطوط لتناسب منصات معينة. باستخدام FontTools، يمكن للمستخدمين إنشاء نسخ من الخطوط بأوزان، أنماط، وتنوعات مختلفة، أو تحويل الخطوط بين صيغتي TrueType و OpenType بسلاسة. يوضح المثال التالي كيفية تحويل صيغة CFF إلى صيغة CFF2 باستخدام أوامر بايثون.

 عربي