# ClearType

ClearType est une technique de rendu souspixel mise au point par Microsoft. Elle est utilisée pour approcher les courbes et les lignes sur les écrans à alignement de couleurs fixes.

## Introduction

Les écrans dont la conception matérielle impose une position fixe aux pixels comme les écrans plats modernes peuvent subir d'importantes déformations de crénelage qui se manifestent par des traits dentelés lorsqu'on affiche des petits éléments à forts contrastes comme du texte. ClearType utilise une technique d'anticrénelage au niveau du sous-pixel afin de fortement réduire les défauts perceptibles (les artefacts) lors de l'affichage de textes et fait apparaître des caractères plus « lisses » et plus lisibles.
Bien que les détails de la mise en œuvre précise de ClearType appartiennent à Microsoft, les principes sur lesquels ClearType est fondé sont anciens et bien connus car ils ont déjà été utilisés sur d'autres systèmes d'affichage, comme les ordinateurs à téléviseur NTSC des années 1970.
Comme la plupart des autres types de rendu subpixellaire, ClearType implique un compromis où l'on sacrifie un aspect de la qualité de l'image (sa couleur ou sa chrominance) en faveur d'un autre (sombre ou éclairé, sa luminance). Ce compromis améliore l'apparence du texte car, lorsqu'on lit un texte en noir et blanc, la luminance est plus importante que la chrominance. Ce compromis fonctionne, car il exploite certaines particularités de notre vision.
ClearType n'opère que sur du texte rendu tel quel par le système d'exploitation ou les programmes de l'utilisateur. Les autres éléments graphiques (y compris du texte qui aurait déjà été transformé en trame de points) ne sont pas modifiés par ClearType. Ainsi, du texte dans Microsoft Word s'affichera après amélioration par ClearType, alors que du texte placé dans une image bitmap par un programme comme Adobe Photoshop sera rendu sans modification. Ceci est important, car la technique ClearType est intimement liée au rendu de textes sur certains types d'écrans d'ordinateurs. Il serait contre-productif de l'appliquer dans d'autres circonstances.
ClearType ne s'utilise pas pour imprimer du texte sur papier. En effet, la plupart des imprimantes utilisent de très fins points (on dit que leur définition est très haute) de telle sorte que le crénelage ne pose jamais de problème. D'autre part ces imprimantes ne possèdent pas les sous-pixels fixes et adressables dont ClearType a besoin.
Les fichiers informatiques qui contiennent du texte ne sont pas affectés par ClearType, puisque ClearType n'opère que lorsqu'on rend le texte sur un écran d'ordinateur.

## Fonctionnement de ClearType

Généralement, l'ordinateur considère l'écran comme une matrice de pixels (ou points de trame) rectangulaires indivisibles, chacun de ceux-ci a une intensité et une couleur définies par le mélange des trois couleurs fondamentales : rouge, vert et bleu. Toutefois, au niveau du matériel, chaque pixel est souvent représenté par trois sous-pixels adjacents mais indépendants, chacun de ces sous-pixels affiche une couleur fondamentale différente. Sur un réel écran d'ordinateur, chaque pixel est composé de pixels rouge, vert et bleu séparés. Si on observe un écran plat sous une loupe, les pixels pourraient apparaître de la façon suivante :
Dans l'illustration ci-dessus, l'on trouve 9 pixels et 27 sous-pixels.
Si l'ordinateur qui commande l'affichage connaît la position exacte et la couleur de tous les sous-pixels (luminophores) de l'écran, il peut utiliser cette information pour améliorer la netteté apparente des images à l'écran dans certains cas. Si chaque pixel contient en réalité trois luminophores rectangulaires, rouge, vert et bleu dans cet ordre constant, alors il est possible de rendre des éléments plus petits qu'un pixel en n'allumant qu'un ou deux de ces sous-pixels. Ainsi, si une diagonale d'une largeur inférieure à un pixel complet doit être affichée, il est possible de le faire en n'activant que les sous-pixels que la ligne touche vraiment. Si la ligne passe par la portion à gauche du pixel, seul le sous-pixel rouge est allumé, si la ligne passe par la portion à droite du pixel, on n'allume que le sous-pixel bleu. Ceci triple dans les faits la netteté de l'image à des distances normales d'observation ; l'inconvénient étant que la ligne résultante fera apparaître une bordure colorée (par moments elle apparaîtra verte, à d'autres rouge ou bleue) généralement non perceptible, cependant certaines personnes peuvent être plus sensible à ce défaut qui peut parfois devenir gênant.
ClearType utilise cette méthode pour améliorer la netteté du texte. Quand les éléments d'un caractère d'une police est plus petit qu'un pixel complet, ClearType n'active que les sous-pixels appropriés afin de suivre au plus près le contour du caractère. Le texte rendu à l'aide de ClearType a une apparence plus « lisse » et plus lisible qu'un texte qui est rendu sans ClearType, pour autant que la disposition des pixels corresponde exactement à ce à quoi ClearType s'attend.
L'image suivante correspond à un agrandissement (4 ×) du mot Wikipedia rendu avec ClearType. Le mot avait été affiché à l'aide d'une police Times New Roman de 12 pt.
Dans cet agrandissement, il devient évident que, bien que la netteté globale du texte semble meilleure, des franges de couleurs apparaissent. À grandeur normale (1 ×), toutefois, la netteté est bien perceptible alors que les franges de couleurs ne le sont plus.
Un examen extrêmement rapproché de l'affichage révèle (a) un texte dessiné sans ClearType et (b) texte dessiné avec ClearType. Remarquez la modification dans l'intensité des sous-pixels que l'on utilise afin d'améliorer la définition efficace quand ClearType est activé ; sans ClearType tous les pixels sont complètement activés ou désactivés.
Dans les faits, ClearType résout les problèmes de franges colorées en bordure en distribuant leur impact sur les pixels voisins : si un trait inférieur au pixel passe plus près d'une bordure rouge, en compense le défaut de colorimétrie en augmentant le bleu et le vert sur le pixel immédiatement voisin. Cela se fait par un second filtrage semblable au traitement d'anticrénelage. Les matrices d'anticrénelage utilisées portent donc sur 9 sous-pixels, et non seulement 3. On peut dans ClearType ajuster le taux de "partage" de cette seconde passe de lissage. En effet, cette passe diminue la netteté de contraste obtenue par la première passe, mais au profit d'une colorimétrie mieux respectée, et c'est l'utilisateur qui doit faire ce réglage en fonction de sa propre vision des couleurs : on doit utiliser le réglage de ce seuil (qui détermine les facteurs utilisés dans la matrice 9×9 de lissage) qui offre le meilleur compromis entre la disparition des franges colorées et la netteté des contrastes.

## ClearType et la vision humaine

ClearType et d'autres techniques semblables ne fonctionnent que parce que la vision humaine est plus sensible aux variations d'intensité qu'aux variations de couleur. L'œil humain perçoit environ trois fois mieux les contrastes d'intensité que les contrastes de couleur. C'est pourquoi, quand ClearType sacrifie la précision chromatique pour améliorer la netteté, le contraste entre le sombre et le clair, l'effet général — pour l'œil humain — est une amélioration.

## Préalables matériels

ClearType et des techniques semblables d'autres fabricants nécessitent des écrans dont les pixels et sous-pixels sont à une position fixe et connue. C'est le cas des écrans plats pour lesquels la position des pixels est fixe de par la conception même de l'écran. La quasi-totalité des écrans plats sont composés d'une matrice (ou trame) parfaitement rectangulaire de pixels, chacun comprenant trois sous-pixels rectangulaires correspondant aux couleurs fondamentales, dans l'ordre habituel rouge, vert et bleu. ClearType fait cette hypothèse lorsqu'il affiche un texte.
De plus, il suppose que les largeurs relatives des trois sous-pixels sont égales, ce qui peut ne pas être le cas puisque la colorimétrie pourrait être nettement améliorée en tenant compte des caractéristiques d'émission des luminophores : la disposition (1/3, 1/3, 1/3) n'est pas optimale avec les luminophores standardisés actuels, et d'autres pigments offrant des spectres mieux séparés et couvrant une étendue chromatique plus importante pourraient être utilisés, à condition de ne pas conserver l'obligation d'égalité de surface des trois luminophores, à pas de masque égal.
En effet, l'œil étant très sensible au vert, il n'est pas nécessaire de lui accorder autant de surface, et on pourrait aussi bien créer des écrans à disposition géométrique différente adaptée à cette colorimétrie. Les écrans actuels offrent une faible précision des couleurs dans les jaunes, ocres et bruns, car la surface d'émission accordée au rouge est sous-représenté. De même la précision des bleus (pour afficher des ciels très nuancés par exemple) est insuffisante car le bleu est aussi insuffisamment représenté. Cela influe sur les couleurs naturelles (feuillages).
Enfin, il n'est pas exclu qu'à l'avenir plus de trois luminophores soient utilisés. Pour obtenir un affichage des couleurs de qualité photographique ou semblable au moins à ce que l'on peut obtenir par des techniques d'impression en quadrichromie ou polychromie. Dans tous ces cas, la technique ClearType ne fonctionnera plus du tout, et la seule solution sera non pas de truquer artificiellement la résolution horizontale, mais bien d'augmenter la résolution globale en pixels complets (aussi bien horizontalement que verticalement).
Déjà actuellement, ClearType ne fonctionne pas avec des écrans plats pour des affichages dont la définition diffère de la définition « naturelle » (ou native), puisque seule la définition naturelle correspond exactement aux positions réelles des pixels sur l'écran.
Si un écran ne possède pas des pixels qui correspondent au type de pixels que ClearType requiert, il se pourrait que le texte affiché avec ClearType soit moins visible que s'il était rendu sans ClearType.
Certains écrans plats disposent les sous-pixels dans un ordre particulier, par exemple dans un ordre des couleurs différent, ou orientés différemment (trois bandes horizontales ou l'inverse). Il faut alors régler manuellement ClearType (voir ci-dessous). En pratique, parmi les 6 dispositions possibles des 3 luminophores, celles-ci sont équivalentes à 2 dispositions, soit RVB soit BVR, et ce réglage reste simple à effectuer, et il est rare aujourd'hui de trouver des écrans plats dont les luminophores sont ordonnés à l'envers (puisqu'il suffirait de tourner la dalle de 180 degrés pour avoir l'ordre normal, ce type de disposition ne peut s'expliquer que par la position de leur connectique physique lors du montage de la dalle, alors qu'on peut aussi facilement modifier le circuit de balayage pour que celui-ci s'effectue dans l'autre sens si cette connectique pose problème ; de fait les écrans de type BVR n'existent que par des contraintes de montage et d'une adaptation rapide à l'aide de dalles provenant d'autres sources de fabrication où la position de la connectique n'a pas pu être modifiée).
De même, le rendu à l'aide de ClearType sur des écrans dont les pixels n'ont pas de position fixe, comme les écrans cathodiques, peut empirer plutôt que de s'améliorer.
En outre, quand les images sont préparées afin de ne pas être tributaires d'un écran particulier (à savoir, quand on les prépare pour la distribution et non pour son affichage sur l'ordinateur sur lequel elles ont été préparées), il faudrait désactiver ClearType si le texte rendu fait partie d'une image. Ainsi, les clichés d'écran devraient-ils toujours être préparés après avoir désactivé ClearType. Les programmes d'édition d'images, comme PhotoShop d'Adobe ou Paint Shop Pro de Corel, court-circuitent ClearType quand ils dessinent du texte directement pour cette raison.

## Réglage de ClearType

Les versions les plus récentes de Windows de Microsoft ne permettaient que d'activer ou de désactiver ClearType. Toutefois, il existe d'autres paramètres que l'on peut régler grâce à un outil pour Windows XP offert gratuitement par Microsoft sur son site. Pour plus de détails, consulter « (en) ClearType Tuner PowerToy » de Microsoft.
Ce programme comprend un assistant de réglage et un mode pour expert qui ajustent les mêmes paramètres, l'un visuellement, l'autre par sélection directe.
* ClearType activé/désactivé
* Structure RVB ou BVR des sous-pixels ; BVR est rare, la valeur implicite RVB fonctionne donc très bien sur la plupart des écrans. Si l'écran dispose d'un pilote spécifique et n'utilise pas le pilote générique, ce réglage par l'utilisateur n'est pas nécessaire).
* Orientation horizontale ou verticale (sous Windows CE, et avec les pilotes de certains écrans pivotables sur Windows XP ; sous Windows Vista, ce réglage par l'utilisateur n'est normalement pas nécessaire, le moniteur fournit son orientation à Windows via son pilote, de même que ce pilote doit fournir son modèle colorimétrique s'il diffère du modèle sRGB standard).
* Contraste (en fait il s'agit surtout d'ajuster le taux de distribution de la correction chromatique sur les pixels voisins, contre les franges colorées qui apparaissent si on n'utilise que les sous-pixels).

## Affichage vertical ou en mode portrait

Étant donné que ClearType utilise la disposition physique des pigments rouge, vert et bleu des écrans à cristaux liquides (ECL, ou LCD en anglais), il est tributaire de l'orientation de l'affichage.
ClearType sous Windows XP ne prend actuellement en charge que les structures subpixellaires RVB et BVR. Les affichages pivotés où les sous-pixels sont disposés verticalement plutôt que horizontalement ne sont pas pris en charge actuellement. Utiliser ClearType sur ce type d'écran peut en fait réduire la qualité de l'affichage.
La meilleure solution pour les utilisateurs qui utilisent des écrans à cristaux liquides pivotables (tablette PC ou écran sur socle pivotable) est d'utiliser une méthode d'anticrénelage habituelle ou de désactiver complètement le lissage des polices (ou il faudra attendre que ClearType permette de régler aussi l'orientation horizontale ou verticale des sous-pixels, afin qu'il améliore cette fois la résolution verticale plutôt que la résolution horizontale, quand l'écran est pivoté de plus ou moins 90 degrés, et que les pilotes d'affichage fournissent l'orientation du moniteur, et que ClearType s'adapte instantanément).
Les structures subpixellaires verticales sont pleinement prises en charge par l'édition Windows XP pour tablettes PC et dans la version Vista de Windows (appelées « anticrénelage suivant l'axe Y » dans la rubrique sur la Windows Presentation Foundation, le nouveau composant de base de l'affichage Windows). La documentation destinée aux programmeurs de Windows CE déclare que ClearType est pris en charge pour les écrans pivotables de cette plate-forme. Aucune information n'est encore disponible sur le portage de ce support amélioré dans un futur Service Pack pour Windows XP, mais il est possible que certains fournisseurs d'écrans pivotables l'installe en complément de leur pilote de base.
Les structures subpixellaires verticales sont également prises en charge par FreeType (utilisé par les interfaces KDE et GNOME de Linux). Dans ce cas-ci, les variantes verticales empilées des structures subpixellaires se nomment vRVB et vBVR (les deux sont nécessaires car la rotation de 90 degrés peut souvent se faire dans un sens ou dans l'autre).
L'avenir de ClearType passe plutôt par un système complet comprenant aussi la gestion de la colorimétrie et l'adaptation possible à des géométries subpixellaires différentes et à des modèles de couleur à plus de trois composantes de base (ce que permettrait les techniques numériques actuelles sans avoir à changer la connectique numérique utilisée, par exemple DVI ou HDMI). Mais il manque encore un modèle permettant de spécifier la nature des signaux, les modèles normalisés actuels étant tous à trois composantes, les autres n'étant pas calibrés suivant une norme internationale. Mais si les écrans voient leur résolution native augmenter significativement, ClearType ne sera même plus nécessaire.

## Brevets

Aux États-Unis, Microsoft revendique un certain nombre de brevets sur cette technologie. L'affiliation en octobre 2018 de Microsoft à l'Open invention network rend désormais possible l'usage de cette technologie par les distributions GNU/Linux sans accord spécifique.