Des caractères dont la taille est fixée en pixels ont-ils vraiment toujours la même taille et la même lisibilité ?

Avant de répondre, soulignons qu'il faut mieux éviter de définir des tailles de caractères en pixels, dans la mesure du possible. En effet, si le visiteur trouve les caractères trop petits (et on va voir comment cela peut arriver à votre insu), il ne pourra pas en modifier la taille avec la plupart des navigateurs de ce début 2001.

La réponse est double :
— oui pour la taille. Enfin, à un poil près...
— non pour la lisibilité, si le visiteur est forcé de changer de police.
Expliquons nous.

La hauteur totale du caractère est à peu près fixe

discrétisation d'un Les caractères modernes sont définis par des courbes mathématiques qu'on dilate plus ou moins selon la taille demandée, mais qui sont ensuite interprétés à travers le quadrillage des pixels. Suivant l'endroit où passe la courbe par rapport à ce quadrillage, le pixel sera pris ou non dans le caractère, comme le montre la figure ci-contre, où on superposé un «e» de Times New Roman dans sa forme idéale (en bleu) et dans sa version discrétisée en taille 12 pixels. Ce choix dépend d'algorithmes complexes qui font partie des systèmes d'exploitation et qui ne sont pas tout à fait les mêmes sur Windows, MacOS ou sur les différentes versions d'Unix. Aussi, pour une même «taille» idéale, avec la même police de caractères, on pourra avoir des résultats légèrement différents d'une machine à l'autre. Il peut aussi y avoir un effet du navigateur, selon la façon dont celui-ci interprète la demande d'une «taille» en pixels.

La hauteur totale d'une police de caractères s'obtient tout simplement en comptant le nombre de pixels entre le haut des caractères qui montent le plus haut et le bas des caractères qui descendent le plus bas. En pratique, on peut compter la hauteur en pixels des crochets [ et ].

Nous avons donc examiné les caractères après des instructions font-size:nn px, de 10 px à 18 px, pour les polices Times New Roman, Verdana, Arial, Helvetica, avec les navigateurs IE/NN sur MacOS ou Windows, et avec NN4.73 sur Linux (tableau ci-après). Nous avons toujours obtenu les mêmes résultats sur Windows et MacOS, à une exception près (Helvetica en 10px), mais avec assez souvent 1 pixel d'écart pour Linux (avec NN4.73). Par contre la hauteur totale est généralement inférieure de 1 pixel, parfois de 2, à la taille nominale.

Mais la «grosseur» et la lisibilité dépendent beaucoup de la police

La lisibilité d'une police est liée à la sensation de grosseur qu'elle donne, et elle dépend avant tout de son oeil, c'est-à-dire de la taille des lettres sans jambages comme le «o» ou le «x».

Le tableau ci-dessous donne cet oeil et la hauteur totale du caractère pour nos 4 polices :

Taille
(pixels)
Times Verdana  Arial Helvetica
windows linux
10
11
12
13
14
15
16
17
18
   5
5
6
6
7
7
7
8
8
9
10
11
12
13
14
14
15
17
   6
6
7
7
8
8
9
9
10
10
11
12
12
14
15
16
16
17
   5
6
7
7
7
8
9
9
10
9
10
11
13
13
14
15
15
17
   5
6
7
7
8
9
9
9
11
9
10
11
13
13
14
15
15
17
   6
6
7
7
8
8
9
9
10
10
10
12
12
14
14
15
15
18
  

petits caractères La figure ci-contre reproduit ce qui peut arriver quand on cherche à diminuer la taille des caractères. On notera d'abord une évidence: ne pas descendre en taille 10 ou 11 pour Times New Roman !

Le piège est de préparer sa page avec Verdana ou Arial et d'arriver chez un visiteur qui ne dispose pas de ces polices, ce qui sera souvent le cas pour les utilisateurs de Linux. S'il se retrouve avec Times New Roman (en général, sa police par défaut), l'oeil des caractères diminue de 1 pixel et la lisibilité est sérieusement dégradée. Pour éviter cela, il est impératif de terminer les propositions de police par une famille générique :
     font-family:verdana,arial,sans-serif
En général, la police de substitution sera Helvetica, qui est une «grosse» police sous Linux, d'après le tableau ci-dessus, et qui devrait donc offrir une substitution acceptable.

Charles