web-dev-qa-db-fra.com

Quelle est la famille de polices par défaut dans Android?

À partir de l’API 16, Jellybean Roboto a été introduit en tant que famille de polices disponible. Voir ce qui est "nouveau" dans Android 16 ici .

Spécification de Android:fontFamily="sans-serif" (Roboto dans API 16+) sur un TextView le _ par défaut fontFamily du TextView?

Est

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content" />

équivalent à

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:fontFamily="sans-serif" />

?

De site Web sur la typographie de conception de matériaux :

"Roboto et Noto sont les polices standard sur Android et Chrome."

De Wiki ,

"Roboto est une famille de polices sans empattement développée par Google en tant que police système pour son système d'exploitation mobile Android."

Je ne vois pas dans la documentation quelle est la valeur par défaut fontFamily de Android. Voir les références:

42
Jared Burrows

Il n'y a pas de documentation sur d.Android.com pour les noms de famille de polices. Cependant, si vous regardez AOSP, les polices par défaut sont chargées dans Android.graphics.*. FontListParser charge les polices par défaut de /system/etc/fonts.xml (Android 5.0+) ou /system/etc/system_fonts.xml (Android 4.1). Les polices par défaut sont chargées dans Typeface # init .

Les deux fichiers XML ont une documentation. La première police est la police par défaut. Vous pouvez extraire /system/etc/fonts.xml de votre appareil. Un fabricant de périphérique ou un personnalisé ROM peut modifier les polices système par défaut.

fonts.xml (API 21+)

REMARQUE: il s'agit de la version la plus récente (L) de la configuration de polices système, permettant une sélection plus détaillée du poids. Certaines applications attendent l'ancienne version. Veillez donc à ce que system_fonts.xml et fallback_fonts.xml soient synchronisés avec toutes les modifications, même si Framework ne lit que ce fichier.

Toutes les polices avec des noms d'authentification sont ajoutées à la liste par défaut. Les polices sont choisies en fonction d'une correspondance: balise de langue BCP-47 complète, script compris, puis simplement langue et enfin ordre (la première police contenant le glyphe).

L'ordre d'apparition est également décisif pour la correspondance de poids. C'est la raison pour laquelle les 900 poids de Roboto précèdent les 700, nous préférons les premiers lorsqu'un poids de 800 est demandé. Etant donné que les portées épaisses ajoutent 300 au poids, cela garantit que le 900 audacieux est associé au poids 500, assurant ainsi un contraste adéquat.

system_fonts.xml (API 16-20)

Polices système

Ce fichier répertorie les familles de polices qui seront utilisées par défaut pour tous les glyphes pris en charge. Chaque entrée comprend une famille, divers noms pris en charge par cette famille et jusqu'à quatre fichiers de polices. Les fichiers de polices sont répertoriés dans l'ordre des styles qu'ils prennent en charge: normal, gras, italique et gras-italique. Si moins de quatre styles sont répertoriés, les styles sans fichier de police associé seront pris en charge par les autres fichiers de police répertoriés.

La première famille est également la police par défaut, qui traite les demandes de police pour lesquelles aucun nom de police spécifique n'a été spécifié.

Tout glyphe qui n'est pas géré par les polices système provoquera une recherche des polices de secours. Les polices de secours par défaut sont spécifiées dans le fichier /system/etc/fallback_fonts.xml et un fichier facultatif peut être fourni par les fournisseurs pour spécifier d'autres polices de secours à utiliser dans /vendor/etc/fallback_fonts.xml.

Si vous analysez le fichier fonts.xml, vous pouvez trouver quelle famille de polices utilise quel type de caractère (voir here ):

╔════╦════════════════════════════╦═════════════════════════════╗
║    ║ FONT FAMILY                ║ TTF FILE                    ║
╠════╬════════════════════════════╬═════════════════════════════╣
║  1 ║ casual                     ║ ComingSoon.ttf              ║
║  2 ║ cursive                    ║ DancingScript-Regular.ttf   ║
║  3 ║ monospace                  ║ DroidSansMono.ttf           ║
║  4 ║ sans-serif                 ║ Roboto-Regular.ttf          ║
║  5 ║ sans-serif-black           ║ Roboto-Black.ttf            ║
║  6 ║ sans-serif-condensed       ║ RobotoCondensed-Regular.ttf ║
║  7 ║ sans-serif-condensed-light ║ RobotoCondensed-Light.ttf   ║
║  8 ║ sans-serif-light           ║ Roboto-Light.ttf            ║
║  9 ║ sans-serif-medium          ║ Roboto-Medium.ttf           ║
║ 10 ║ sans-serif-smallcaps       ║ CarroisGothicSC-Regular.ttf ║
║ 11 ║ sans-serif-thin            ║ Roboto-Thin.ttf             ║
║ 12 ║ serif                      ║ NotoSerif-Regular.ttf       ║
║ 13 ║ serif-monospace            ║ CutiveMono.ttf              ║
╚════╩════════════════════════════╩═════════════════════════════╝
52
Jared Rummler