النص الأساسي
Core Text هي واجهة برمجة تطبيقات (API) على غرار Core Foundation في نظام macOS ، ظهرت لأول مرة في Mac OS X 10.4 Tiger ، وأصبحت متاحة للعامة في Mac OS X 10.5 Leopard ، كما تم تقديمها لأجهزة iPad مع حزمة تطوير البرامج (SDK) الخاصة بـ iPhone 3.2. توفر Core Text واجهة برمجة تطبيقات مكتوبة بلغة C ، وتحل محل إمكانيات عرض النصوص في إطاري عمل QuickDraw و ATSUI اللذين تم إيقاف دعمهما في الإصدارات السابقة من Mac OS X. ووفقًا لشركة Apple، فإن Core Text "مصممة لتحقيق أداء عالٍ وسهولة في الاستخدام"، كما أن واجهة برمجة تطبيقات التخطيط الخاصة بها "بسيطة ومتسقة ومتكاملة بشكل وثيق مع Core Foundation وCore Graphics وCocoa". [ 1 ]
سمات
يوفر Core Text الأنواع المعتمة التالية:
- CTFramesetter - يقوم بإنشاء كائنات CTFrame من كائن سلسلة منسقة وكائن CGPath باستخدام CTTypesetter.
- برنامج CTTypesetter - يقوم بتنسيق الأسطر؛ على سبيل المثال، تقسيم الأسطر
- CTFrame - يمثل مصفوفة من الخطوط (أي كائنات CTLine).
- CTLine - يمثل مجموعة من سلاسل الرموز الرسومية.
- CTRun - مجموعة مرتبة من الرموز التي تشترك في نفس السمة.
- CTFont - يمثل خطًا.
مثال
يعرض الكود التالي النص "Hello, World!" في سياق الرسومات المحدد في Objective-C .
// تجهيز الخط CTFontRef font = CTFontCreateWithName ( CFSTR ( "Times" ), 48 , NULL );// إنشاء سلسلة منسقة CFStringRef keys [] = { kCTFontAttributeName }; CFTypeRef values [] = { font }; CFDictionaryRef attr = CFDictionaryCreate ( NULL , ( const void ** ) & keys , ( const void ** ) & values , sizeof ( keys ) / sizeof ( keys [ 0 ]), & kCFTypeDictionaryKeyCallBacks , & kCFTypeDictionaryValueCallBacks ); CFAttributedStringRef attrString = CFAttributedStringCreate ( NULL , CFSTR ( "Hello, World!" ), attr ); CFRelease ( attr );// ارسم السلسلة CTLineRef line = CTLineCreateWithAttributedString ( attrString ); CGContextSetTextMatrix ( context , CGAffineTransformIdentity ); // استخدم هذا عند استخدام إحداثيات العرض القياسية //CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0)); // استخدم هذا إذا كانت إحداثيات العرض معكوسةCGContextSetTextPosition ( context , 10 , 20 ); CTLineDraw ( line , context );// تنظيف CFRelease ( line ); CFRelease ( attrString ); CFRelease ( font );مراجع
روابط خارجية
فئات :
- بقايا ماكنتوش
- مكتبات عرض النصوص
- واجهات برمجة تطبيقات نظام التشغيل macOS
