thématique : fonts, attributes, développement mobile, insertion indice, insertion exposant, interface builder.
Comme je vous le disais, il est difficile de trouver les fichiers de police qui supportent toutes les lettres en exposant et indices. Nous n’en avons d’ailleurs pas trouvés.
Dans ce cas, pourquoi les éditeurs de textes n’ont pas ce problème me direz-vous?
Et bien c’est parce qu’ils leur suffit de réduire la taille et de déplacer la lettre en la surélevant (dans le cas de l’exposant) ou en l’abaissant (dans le cas de l’indice) et le tour est joué.
Peut-on fabriquer des indices et exposants à partir des lettres courantes et de la SDK de l’iOS ?
Grâce au framework CORE TEXTE, la SDK, permet au développeur d’utiliser un objet nommé NSAttributeString. Cet objet – qui dérive directement de NSObject et non de NSString Object – permet d’affecter des attributs à tous les caractères ou bien à une sous-partie des caractères qu’il contient. Dans ces attributs, vous pouvez y changer la couleur, la position par rapport à la ligne, la taille de police, souligner/surligner ou non, etc…
La contrepartie est que UILabel ne la supporte pas dans sa propriété “.text”, pour pouvoir afficher un NSAttributedString, vous devez donc obligatoirement utiliser un CALayer.
Vous pouvez cependant trouver sur les web des classes dérivées de UILabel qui vous permettront d’entrer des NSAttributedString dans la propriété “.text” de NSAttributedString et de les afficher correctement.
La notion d’attributs est toutefois inenvisageable pour le moment dans Interface Builder. Mais nous pouvons quand même observer que lors du lancement de la fenêtre de sélection de police dans Interface Builder, on peut voir que des outils sont prévus pour surligner et souligner.
Peut-être que les développeurs de Interface Builder ont pensés à cette amélioration… Mais pour ce qui est d’en ce moment-même, ces outils ne sont pas utilisables.
Il ne nous reste plus qu’à… Créer un font !
Puisque les polices supportant les caractères spéciaux sont quasi introuvables, nous ne pouvons faire qu’une chose : créer notre propre police.
Pour ce faire, il suffit de prendre une des polices classiques (Arial, Calibri, etc…) et y ajouter les caractères spéciaux voulus un à un.
mots-clés : developpement mobile, insertion indice, insertion exposant, interface builder, fonts, attributes