Polices de caractères

Polices de caractères

Sachez apprécier ce que vous avez Nativement, Android connaît trois polices sous les noms raccourcis « sans », « serif » et « monospace ». Elles forment la série Droid, créée par Ascender1 pour l’Open Handset Alliance. Pour utiliser ces polices, il suffit de les désigner dans le fichier de description XML. Le layout suivant, par exemple, est extrait du projet Fonts/FontSampler : 142 L’art du développement Android android:layout_width= »fill_parent » android:layout_height= »fill_parent » android:stretchColumns= »1″> Chapitre 12 Polices de caractères 143 android:text= »Bonjour ! » android:textSize= »20sp » /> Cette description construit un tableau montrant les noms courts de quatre polices. Vous remarquerez que les trois premiers utilisent l’attribut android:typeface, dont la valeur est l’une des trois polices prédéfinies (« sans », par exemple). Ces trois polices sont parfaites. Cependant, un designer, un chef de projet ou un client peut très bien vouloir en utiliser une autre. Vous pouvez également choisir d’utiliser une police spéciale, comme « dingbats », à la place d’images PNG. Le moyen le plus simple d’y parvenir consiste à fournir la ou les polices concernées avec votre application. Pour ce faire, il suffit de créer un répertoire assets/ dans l’arborescence du projet et d’y placer les polices TrueType (TTF). Vous pourriez, par exemple, créer un répertoire assets/polices/ et y placer les fichiers TTF.

Le problème des glyphes

Les polices TrueType peuvent être assez lourdes, notamment lorsqu’elles fournissent un sous-ensemble important des caractères Unicode. La police Handmade Typewriter que nous avons utilisée ci-dessus, par exemple, pèse plus de 70 Ko et les polices libres DejaVu peuvent atteindre 500 Ko chacune. Même compressées, elles augmentent donc significativement la taille de votre application : ne vous laissez pas envahir par les polices supplémentaires sous peine de produire une application qui prendra trop de place sur les téléphones des utilisateurs. Inversement, il faut savoir que les polices ne contiennent pas nécessairement tous les glyphes dont vous avez besoin. Par exemple, la classe TextView d’Android sait créer une ellipse d’un texte, en le tronquant et en ajoutant un caractère d’ellipse si le texte ne peut pas tenir dans l’espace disponible. Ce comportement peut être obtenu via l’attribut  android:ellipsize, par exemple. Ceci fonctionne très bien, au moins pour les textes d’une seule ligne. L’ellipse utilisée par Android est non pas une simple suite de trois points, mais un véritable caractère « ellipse », où les trois points sont contenus dans un unique glyphe. Par conséquent, les polices que vous utilisez auront besoin de ce glyphe pour utiliser la fonctionnalité fournie par android:ellipsize. En outre, Android complète les chaînes qui s’affichent à l’écran pour que leur longueur (en nombre de caractères) soit identique à celles qu’elles avaient avant leur mise en ellipse. Pour que cela puisse fonctionner, Android remplace un seul caractère par l’ellipse et tous ceux qui seront supprimés par le caractère Unicode ’’ZERO WIDTH NO-BREAK SPACE’ (U+FEFF). Ceci signifie que les caractères « supplémentaires » après l’ellipse font partie de la chaîne, bien qu’ils n’apparaissent pas à l’écran. Les polices que vous utilisez avec TextView et l’attribut android:ellipsize doivent donc également disposer de ce caractère Unicode, ce qui n’est pas toujours le cas. En son absence, l’affichage de la chaîne écourtée à l’écran présentera des caractères curieux (des X à la fin de la ligne, par exemple). Bien entendu, le déploiement international d’Android signifie également qu’une police doit pouvoir gérer n’importe quelle langue choisie par l’utilisateur, avec ses caractères particuliers (le é du français, par exemple). Par conséquent, bien qu’il soit tout à fait possible d’utiliser des polices personnalisées avec Android, cela induit de nombreux problèmes potentiels et vous devez donc soigneusement peser le pour et le contre.

LIRE AUSSI :  Cours Android développement et API

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *