À l'aide de CSS font-family pour sélectionner Droid polices ne fonctionne pas sur Android
J'ai découvert que le code HTML suivant ne fonctionne pas sur Android (il va seulement utiliser la police par défaut: Droid Sans. Sur le bureau, il fonctionne comme prévu.
<p style='font-family: "Droid Sans",sans-serif;'>vând whisky și tequila, preț fix.</p>
<p style='font-family: "Droid Sans Mono",monospace;'>vând whisky și tequila, preț fix.</p>
<p style='font-family: "Droid Serif",serif;'>vând whisky și tequila, preț fix.</p>
Vous devez vous connecter pour publier un commentaire.
Vous n'avez probablement pas un @font-face déclaration pour les autres polices dans votre css. J'imagine que vous avez seulement un pour Droid Sans. Vous avez besoin d'un pour chaque caractère. Par exemple, dans votre css, vous devez avoir:
Et puis dans votre code, votre police de caractères de la famille devraient être les mêmes que ceux que vous avez déclaré dans le css ci-dessus (i.e. font-family: 'Droid Sans'; est pas la même chose que font-family: 'DroidSans')
L'essayer et voir comment vous vous y prenez.
Il semble que Android ne reconnaît que les noms de famille définies dans system_fonts.xml (fonts.xml à pain d'épices). E. g. pour obtenir Droid Serif vous êtes supposés pouvoir écrire le générique
serif
. Voir cette réponse pour plus de détails.Oh, et il ya un caprice 'Droid Sans': qu'un nom est dans la config depuis la 4.0 mais le .ttf est un lien symbolique vers Roboto.
<la spéculation> je peux voir comment tôt dans Android la vie de quelqu'un a dit "nous allons avoir trois polices donc c'est mieux si les développeurs utilisent uniquement des noms génériques, de cette façon, on peut toujours les remplacer" </spéculation>
Mais c'est malheureux. Il y a beaucoup de raisons pour lesquelles l'effectif de la police, vous aurez peut-être différent:
Dans toutes ces situations, il serait bien si je pouvais référence à une police spécifique par nom réel dans ma pile de polices. Hélas, je ne peux pas.