1. المنتجات
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS - Aspose.Font برنامج مفتوح المصدر لـ Python

مكتبة Python مفتوحة المصدر لتحميل، وفحص، وتحويل، وتجزئة ملفات الخطوط TTF، OTF، CFF، WOFF، WOFF2، وEOT.

العمل مع الخطوط برمجيًا في Python

Aspose.Font FOSS لـ Python هو مجموعة أدوات pure-Python لتحميل، فحص، تحويل، تقليص، ومعاينة الخطوط عبر صيغ TrueType و OpenType و CFF و Type 1 و WOFF و WOFF2 و EOT. تعمل المكتبة على Python 3.10 أو أحدث ولا تتطلب مكتبات خطوط نظام تشغيل خارجية أو تبعيات أصلية.

تُتيح المكتبة واجهة برمجة تطبيقات نظيفة لتحميل الخطوط عبر FontLoader، والوصول إلى الحروف عبر GlyphAccessor، وتحويل الصيغ عبر FontConverter، وتحسين الويب عبر FontCleaner، وتجزئة مدركة للنص عبر FontSubsetter، وتحريك الخط المتغير عبر AnimationPreviewBuilder. يمكن الوصول إلى بيانات تعريف الخط مثل الاسم، العائلة، النمط، عدد الحروف، الترميز، والقياسات من خلال الفئة الأساسية Font دون الحاجة إلى تحليل الجداول الثنائية يدويًا.

Aspose.Font FOSS مرخصة بموجب رخصة MIT ويمكن تثبيتها من PyPI بأمر pip install واحد. إنها مناسبة لأدوات تصميم الخطوط، خطوط أنابيب الخطوط على الويب، محركات عرض الحروف، وأي تطبيق Python يحتاج إلى قراءة أو تحويل أو إنتاج ملفات الخطوط. لعائلة منتجات المؤسسة، راجع Aspose.Font — Enterprise Product Family.

تحميل الخط واكتشاف الصيغة

  • قم بتحميل الخطوط من مسارات الملفات أو البايتات الخام باستخدام FontLoader.open() و FontLoader.load()
  • اكتشاف الصيغة تلقائيًا: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • الوصول إلى بيانات تعريف الخط عبر الفئة الأساسية Font: font_name, font_family, font_style, num_glyphs
  • قراءة خرائط ترميز الرموز باستخدام FontEncoding.unicode_to_gid() و get_all_codepoints()
  • تحقق من مقاييس الخط باستخدام FontMetrics: الصعود، النزول، الفجوة بين السطور، مربع الـ em

حالات الاستخدام النموذجية

  • أنابيب التحقق من الخطوط واستخراج البيانات الوصفية
  • فحوصات CI/CD التي تتحقق من اسم عائلة الخط وعدد الرموز
  • خدمات استيعاب خطوط الويب التي تقبل صيغ إدخال متعددة
  • أدوات تصميم الخطوط التي تعرض البيانات الوصفية دون الحاجة إلى بيئة تشغيل سطح المكتب

الوصول إلى الحروف وفحص المسار

  • استرجع الرموز حسب المعرف أو Unicode باستخدام GlyphAccessor.get_glyph_by_id() و get_glyph_by_unicode()
  • حل جميع الرموز لسلسلة باستخدام GlyphAccessor.get_glyphs_for_text()
  • افحص مسارات مخطط الحرف كما تم كتابة الأوامر: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • الوصول إلى صندوق حدود الحرف، عرض التقدم، والحدود الجانبية من خصائص Glyph
  • اقرأ أزواج التباعد من KernPair للحصول على حسابات تخطيط النص بدقة

حالات الاستخدام النموذجية

  • فحص تغطية الحروف للعرض النصي متعدد اللغات
  • استخراج المخطط الخارجي لمسار SVG أو توليد المتجه
  • التحقق من صحة جدول الكيرنينغ في عمليات تدقيق جودة الخط
  • بحث تشكيل النص وتجربة التخطيط منخفض المستوى

تحويل الخط

  • تحويل بين TTF و OTF و CFF و WOFF و WOFF2 و EOT و Type 1 باستخدام FontConverter.convert()
  • تكييف أنواع منحنيات بيزيير مع CurveAdapter.quad_to_cubic() و cubic_to_quads()
  • تحويل مسارات الحروف بين التربيعية والمكعبة باستخدام convert_path_quad_to_cubic() و convert_path_cubic_to_quad()

حالات الاستخدام النموذجية

  • خطوط الويب التي تحول خطوط TTF الرئيسية إلى WOFF2 للتوزيع
  • أدوات صانعي الخطوط التي تصدر إلى أهداف صيغ متعددة من مصدر واحد
  • تحويل EOT القديم لتراكمات خطوط الويب المتوافقة مع الإصدارات السابقة
  • تطبيع تنسيق الخط تلقائيًا في التكامل المستمر

تقسيم الخط

  • تقسيم الخطوط الفرعية حسب نص Unicode باستخدام FontSubsetter.subset_by_text()
  • تقسيم فرعي حسب قائمة معرفات الحرف مع FontSubsetter.subset_by_gids()
  • إنشاء مجموعات فرعية محسّنة للويب باستخدام FontSubsetter.subset_for_web()
  • تطبيق ملفات تعريف مسبقة مسماة باستخدام FontSubsetter.subset_by_presets() و available_presets()
  • تحليل تغطية المجموعة الفرعية باستخدام FontSubsetter.analyze_coverage() و analyze_web_coverage()

حالات الاستخدام النموذجية

  • تقليل حجم حمولة WOFF2 لصفحات الويب ذات مجموعات الأحرف المحدودة
  • إنتاج مجموعات فرعية من الخطوط مخصصة للغة لتطبيقات i18n
  • سير عمل ترخيص الخطوط التي توزع مجموعات فرعية حسب مجموعة الصفحات
  • تحسين الأداء لتطبيقات الويب المحمولة

تحسين الويب ومعاينات الخط المتغيّر

  • إزالة الجداول القديمة وسجلات أسماء ماك باستخدام FontCleaner.clean_for_web()
  • تحقق من توافق محور الخط المتغير مع CompatibilityChecker.compare_fonts() و compare_variable_instances()
  • إنشاء مسحات محور متحركة بصيغة APNG باستخدام AnimationPreviewBuilder.build_axis_sweep()
  • إنشاء مسارات رسوم متحركة متعددة الخطوات باستخدام AnimationPreviewBuilder.build_path()

حالات الاستخدام النموذجية

  • صفحات عينات الخط ومستكشفات المحاور التفاعلية لمصانع الخطوط
  • خطوط أنابيب CI التي تتحقق من سلوك الخط المتغيّر قبل التوزيع
  • خطوط أنابيب أداء الويب التي تُسقط الجداول الثنائية غير الأساسية
  • مصغرات معاينة الخطوط لتطبيقات إدارة الخطوط

تحميل ملف خط

افتح خط TrueType أو OpenType من مسار ملف واقرأ بياناته الوصفية الأساسية.

from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)    # e.g. "Roboto"
print(font.font_family)  # e.g. "Roboto"
print(font.num_glyphs)   # e.g. 1294

الوصول إلى Glyphs لسلسلة نصية

حل جميع glyphs لنقطة كود Unicode وتفقد مسارات outline paths الخاصة بها.

from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41)  # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
    print(type(cmd).__name__, cmd)

إنشاء رسوم متحركة لمسح محور Variable Font

أنشئ ملف APNG متحرك يمرّ بمحور خط متغيّر من القيمة الابتدائية إلى القيمة النهائية.

from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder

font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")

asset = AnimationPreviewBuilder.build_axis_sweep(
    font,
    axis_tag="wdth",
    start_val=75.0,
    end_val=100.0,
    frames=3,
    fps=10,
    text="A",
    size=10.0,
    bounce=True,
)

asset.write_to("roboto-sweep-wdth.png")

تنظيف خط للنشر على الويب

قم بإزالة الجداول القديمة وسجلات أسماء ماك لتقليل حجم الملف الثنائي قبل تقديمه عبر الويب.

from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped

الأسئلة الشائعة

ما هو Aspose.Font FOSS لـ Python؟

إنها مكتبة مجانية مرخصة بموجب MIT ونقية-Python لتحميل الخطوط وفحصها وتحويلها وإنشاء مجموعات فرعية منها بصيغ TTF وOTF وCFF وType 1 وWOFF وWOFF2 وEOT. لا توجد تبعيات أصلية مطلوبة.

كيف أقوم بتثبيت Aspose.Font FOSS لـ Python؟

شغّل pip install "aspose-font>=1.0.0". لا توجد تبعيات على مستوى النظام مطلوبة. تعمل المكتبة على Windows وmacOS وLinux مع Python 3.10 أو أحدث.

ما هي صيغ الخطوط المدعومة؟

FontLoader.open() يقرأ TTF وOTF وCFF وType 1 وWOFF وWOFF2 وEOT. FontConverter.convert() يكتب TTF وCFF وWOFF وWOFF2. EOT للقراءة فقط.

هل Font.to_bytes() متاح؟

لا. Font.to_bytes() غير مُنفّذ في الفئة الأساسية. استخدم FontConverter.convert() لإنشاء Font جديد بالتنسيق المطلوب.

هل يمكنني إنشاء مجموعة فرعية من الخط لتسليمه على الويب؟

نعم. FontSubsetter.subset_by_text(font, text) يُعيد Font جديد يحتوي فقط على الأحرف المطلوبة للنص المعطى. FontSubsetter.subset(font, codepoints) وsubset_by_gids(font, gids) يقدمان تحكمًا أدق.

  

الدعم وموارد التعلم

 العربية