Carattere a larghezza fissa - Symbian C ++ CEikLabel
Domanda
Voglio cambiare il carattere che sto usando in un CEikLabel su un dispositivo S60
Credo di poter fare quanto segue
const CFont* aPlainFont = LatinPlain12();
aLabel->SetFont(aPlainFont);
dove LatinPlain12 fa parte di questo elenco ..
Albi12
Alp13
Alpi13
Albi13
alp17
Alb17b
albi17b
alpi17
Aco13
Aco21
Acalc21
LatinBold12
LatinBold13
LatinBold17
LatinBold19
LatinPlain12
Acb14
Acb30
Acp5
Tuttavia, chi può aiutarmi a scoprire quali da questo elenco sono a larghezza fissa .. Grazie :)
Soluzione
A livello di programmazione, è possibile determinare se un carattere è proporzionale utilizzando:
const CFont* myFont;
// Initialize your font
// ....
TBool isProportional = (myFont->FontSpecInTwips().iTypeface.Attributes() & TTypeFace::EProportional);
A proposito, potresti essere meglio enumerare i caratteri sul dispositivo e / o utilizzare l'API di carattere logico piuttosto che fare affidamento sulle funzioni di accesso ai caratteri statici.
Altri suggerimenti
Puoi utilizzare l'applicazione FontViewer per visualizzare e scoprire quali dei caratteri sono proporzionali e larghezza fissa.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow