Existe-t-il un moyen accepté d'ajuster les glyphes de police afin de simuler des figures de texte ?
Contexte
Les chiffres du texte sont des chiffres "minuscules". Vous utilisez normalement des chiffres en minuscules où vous utilisez également du texte en minuscules (par exemple au milieu d'une phrase).
Les claviers n'ont jamais été créés avec des chiffres en majuscules et en minuscules; et Unicode ne les encode pas spécifiquement, car "ils ne sont pas considérés comme des caractères distincts des figures de doublure, seulement comme une manière différente d'écrire les mêmes caractères".
Ce qui m'amène à ma question; quelle est la manière acceptée de créer des chiffres en minuscules à partir des «majuscules» standard d'une police?
Wikipedia mentionne que normalement :
012
sontx
-hauteur68
avoir des ascendeurs34579
avoir des descendants
Ma première tentative (dans Photoshop) serait de:
- smush 012
- pousser 34579 vers le bas
- laisser 68 où ils sont:
Mais les chiffres du skwooshed (0, 1, 2) sont nettement désagréables.
Si le consortium Unicode suggère que les "chiffres en minuscules" peuvent simplement être construits à partir de ceux "en majuscules" - que recommandent-ils de faire?
Idéalement en HTML
Mon objectif final est d'afficher du texte en minuscules dans un navigateur. je sais que certaines polices (par exemple la Géorgie) affichent déjà tous leurs chiffres en minuscules:
Mais je ne demande pas comment passer à l'utilisation de la Géorgie ; je demande comment construire des figures de doublure à partir de celles qui ne le sont pas.
Et puisque c'est pour l'affichage sur le web, je me rends compte que je finirais probablement par devoir appliquer une mise en forme par caractère:
<!doctype html">
<html>
<head>
<style type="text/css">
body {
font-family: "Segoe UI", "Calibri", sans-serif;
font-size: larger;
}
.xheight {
font-size: 1.5ex;
}
.descender {
position: relative;
bottom: -0.4ex;
}
</style>
</head>
<body>
<p>In the year <span class="xheight">21</span><span class="descender">5</span><span>6</span> the Romulan war...
</body>
</html>
Rendu comme:
Ce qui, encore une fois, ne semble pas aussi agréable que je le pense.
Hé, regarde, un sou!
la source
A
(U+0041
), les minusculesa
(U+0061
) et même sᴍᴀʟʟ cᴍᴀʟʟᴀ
(U+1D00
)? C'est-à-dire quel pourrait être le raisonnement qui exclut les chiffres séparés en majuscules et en minuscules, mais inclut les lettres séparées en majuscules et en minuscules?La bonne façon d'afficher des chiffres / chiffres en minuscules ou des «chiffres à l'ancienne» consiste à utiliser CSS pour sélectionner une police appropriée. De toute évidence, la police utilisée devrait alors prendre en charge cette fonctionnalité de police en premier lieu. Le support du monde réel avec les polices Web ne semble pas être trop fort.
Le paramètre CSS que vous recherchez est
et la documentation:
La documentation des fonctionnalités OpenType, et des
onum
fonctionnalités en particulier, peut être trouvée dans le registre des balises OpenType Layout de Microsoft .Une documentation alternative sur les fonctionnalités des polices est disponible dans l'article Comment coder les fonctionnalités OpenType en CSS .
Officiellement, vous êtes censé utiliser
mais la prise en charge de cela semble encore plus faible selon la référence de compatibilité du navigateur de Mozilla .
En théorie, c'est mieux car il ne fait pas directement référence aux fonctionnalités OpenType, il devrait donc également fonctionner avec des polices non OpenType. De la même manière, vous devez utiliser:
pour activer les petites majuscules . N'utilisez pas le paramètre de fonctionnalité OpenType tel que
pour obtenir cet effet car la
font-variant
propriété est déjà bien supportée.la source
font-variant: small-caps;
car cela crée des fausses petites capitalisations. Utilisez toujours l'autre et utilisez toujours les polices OpenType. Simple et résolu.acceptable
si lasmall-caps
fonctionnalité est truquée. Ce n'est pas une exigence et un agent utilisateur de haute qualité ferait la bonne chose (mappez-le à la fonctionnalité OpenType). Je suis d'accord que si vous préférez ne pas avoir de changement au lieu de fausses petites capitalisations, vous devriez utiliserfont-feature-settings
. Habituellement, les fausses petites capitalisations valent mieux que de n'avoir aucun effet.