Polices Raster, Vector, TrueType et OpenType

Les applications peuvent utiliser quatre types de technologies de police différentes pour afficher et imprimer du texte :

  • Raster
  • Vecteur
  • TrueType
  • Microsoft OpenType

Les différences entre ces polices reflètent la façon dont le glyphe de chaque caractère ou symbole est stocké dans le fichier de police-ressource correspondant :

  • Dans les polices raster, un glyphe est une bitmap que le système utilise pour dessiner un seul caractère ou symbole dans la police.
  • Dans les polices vectorielles, un glyphe est une collection de points de terminaison de ligne qui définissent les segments de ligne que le système utilise pour dessiner un caractère ou un symbole dans la police.
  • Dans les polices TrueType et OpenType, un glyphe est une collection de commandes de ligne et de courbe, ainsi qu’une collection d’indicateurs.

Le système utilise les commandes de ligne et de courbe pour définir le contour de la bitmap d’un caractère ou d’un symbole dans la police TrueType ou Microsoft OpenType. Le système utilise les indicateurs pour ajuster la longueur des lignes et des formes des courbes utilisées pour dessiner le caractère ou le symbole. Ces indicateurs et les ajustements respectifs sont basés sur la quantité de mise à l’échelle utilisée pour réduire ou augmenter la taille de la bitmap. Une police OpenType équivaut à une police TrueType, sauf qu’une police OpenType autorise des définitions de glyphes PostScript en plus des définitions de glyphe TrueType.

Étant donné que les bitmaps de chaque glyphe d’une police raster sont conçues pour une résolution spécifique de l’appareil, les polices raster sont généralement considérées comme dépendantes de l’appareil. En revanche, les polices vectorielles ne dépendent pas de l’appareil, car chaque glyphe est stocké sous la forme d’une collection de lignes évolutives. Toutefois, les polices vectorielles sont généralement dessinées plus lentement que les polices raster ou TrueType et OpenType. Les polices TrueType et OpenType fournissent à la fois une vitesse de dessin relativement rapide et une véritable indépendance d’appareil. En utilisant les indicateurs associés à un glyphe, un développeur peut mettre à l’échelle les caractères d’une police TrueType ou OpenType vers le haut ou vers le bas, tout en conservant leur forme d’origine.

Comme mentionné précédemment, les glyphes d’une police sont stockés dans un fichier de ressource de police. Un fichier de ressource de police est en fait une DLL qui contient uniquement des données, il n’y a pas de code. Pour les polices raster et vectorielles, ces données sont divisées en deux parties : un en-tête décrivant les métriques de la police et les données de glyphe. Un fichier de ressource de police pour une police raster ou vectorielle est identifié par l’extension de nom de fichier .fon. Pour les polices TrueType et OpenType, il existe deux fichiers pour chaque police : le premier fichier contient un en-tête relativement court et le second contient les données de police réelles. Le premier fichier est identifié par une extension .fot et le second par une extension .ttf.