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()Font: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() و get_all_codepoints()FontMetrics: الصعود، النزول، الفجوة بين السطور، مربع الـ emGlyphAccessor.get_glyph_by_id() و get_glyph_by_unicode()GlyphAccessor.get_glyphs_for_text()MoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyphKernPair للحصول على حسابات تخطيط النص بدقةFontConverter.convert()CurveAdapter.quad_to_cubic() و cubic_to_quads()convert_path_quad_to_cubic() و convert_path_cubic_to_quad()FontSubsetter.subset_by_text()FontSubsetter.subset_by_gids()FontSubsetter.subset_for_web()FontSubsetter.subset_by_presets() و available_presets()FontSubsetter.analyze_coverage() و analyze_web_coverage()FontCleaner.clean_for_web()CompatibilityChecker.compare_fonts() و compare_variable_instances()AnimationPreviewBuilder.build_axis_sweep()AnimationPreviewBuilder.build_path()افتح خط 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 لنقطة كود 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)
أنشئ ملف 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
إنها مكتبة مجانية مرخصة بموجب MIT ونقية-Python لتحميل الخطوط وفحصها وتحويلها وإنشاء مجموعات فرعية منها بصيغ TTF وOTF وCFF وType 1 وWOFF وWOFF2 وEOT. لا توجد تبعيات أصلية مطلوبة.
شغّل 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() غير مُنفّذ في الفئة الأساسية. استخدم FontConverter.convert() لإنشاء Font جديد بالتنسيق المطلوب.
نعم. FontSubsetter.subset_by_text(font, text) يُعيد Font جديد يحتوي فقط على الأحرف المطلوبة للنص المعطى. FontSubsetter.subset(font, codepoints) وsubset_by_gids(font, gids) يقدمان تحكمًا أدق.