Mon client m'a donné une police TTF personnalisée uniquement pour l'anglais. Donc, mon intention est de charger ce TTF uniquement pour l'anglais et pour d'autres langues, il devrait se replier sur la police système disponible.Comment enregistrer une police uniquement pour une version anglaise?
que je fais les étapes suivantes:
- polices avec mon application Enregistrement. Copie dans le dossier Ressources et ajout à mon projet.
Chargement de la police avec le nom.
NSMutableDictionary * aTitleAttributes = [[[NSMutableDictionary alloc] initWithObjectsAndKeys: [NSFont fontWithName:CP_FONT_NAME size:[NSFont systemFontSize]], NSFontAttributeName, aParagraphStyle, NSParagraphStyleAttributeName, nil] autorelease];
Mais il en résulte un autre problème, puisque je suis le chargement des polices de cette manière pour toutes les langues, le texte de mon localisation regarde l'anglais. Par conséquent, je pense que je devrais avoir une certaine condition comme
NSFont *font = nil;
If (currentLocaleIsEnglish()) {
/// font to load my custom TTF
}
Then use [NSFont fontwithName:font ...]
Alors quelqu'un peut me aider à réaliser tout ce que je fais est juste avec l'enregistrement de la police avec App. Si oui, comment puis-je enregistrer ma police uniquement pour la version anglaise. Parce que pour les autres paramètres régionaux, cette police n'est pas disponible, alors NSFont::fontWithName
retournera zéro et retombera automatiquement sur le SystemFont et donc mes paramètres régionaux seront affichés correctement.
Sinon, je dois avoir une condition comme celle que j'ai mentionnée ci-dessus, ce qui est une façon grossière de faire. Si oui, comment puis-je écrire une telle API pour trouver currentLocale Is English?
Il n'existe pas de 'NSFont :: fontWithName'. La signature de méthode correcte est '+ [NSFont fontWithName:]' -note le +, ce qui indique qu'il s'agit d'une méthode de classe, et le:, qui indique qu'il prend un argument. –