سؤال

وأريد أن تغيير الخط الذي أستخدمه في CEikLabel على جهاز S60

وأعتقد أنني يمكن أن تفعل ما يلي

const CFont* aPlainFont = LatinPlain12();
aLabel->SetFont(aPlainFont);

وحيث LatinPlain12 هي واحدة من هذه القائمة ..

Albi12
Alp13
Alpi13
Albi13
alp17
Alb17b
albi17b
alpi17
Aco13
Aco21
Acalc21
LatinBold12
LatinBold13
LatinBold17
LatinBold19 
LatinPlain12
Acb14
Acb30
Acp5

ولكن، من يستطيع مساعدتي معرفة العرض الذي يتم إصلاح تلك من هذه القائمة .. شكرا:)

هل كانت مفيدة؟

المحلول

وبرمجيا، يمكنك تحديد ما إذا كان الخط يتناسب باستخدام:

const CFont* myFont; 
// Initialize your font
// ....
TBool isProportional = (myFont->FontSpecInTwips().iTypeface.Attributes() & TTypeFace::EProportional);

وراجع للشغل قد تكون أفضل حالا تعداد الخطوط على الجهاز و / أو باستخدام API خط منطقية من الاعتماد على وظائف استرجاع الخط ثابتة.

نصائح أخرى

يمكنك استخدام FontViewer تطبيق لمشاهدة ومعرفة أي من الخطوط متناسبة وعرض ثابت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top