Aller au contenu

Matrice de prise en charge des polices et des écritures

Deux classes de polices déterminent quelles écritures peuvent être affichées. Les polices standard-14 (Helvetica, Times, Courier) couvrent le répertoire WinAnsiEncoding, et rien d’autre. Une police TrueType ou OpenType intégrée enregistrée n’affiche une écriture que lorsque la table de caractères de la police et le chemin de mise en forme actuel la couvrent tous deux. Aucune classe de polices n’affiche à elle seule l’intégralité d’Unicode.

ÉcriturePolices standard-14Police intégrée enregistrée
Latin d’Europe de l’OuestOui — l’intégralité du répertoire WinAnsiEncoding (Windows-1252)Oui
Caractères latins accentués au-delà de WinAnsi, grec, cyrilliqueNonLorsque la table de caractères de la police les couvre
Chinois, japonais, coréen (CJC)NonLorsque la table de caractères de la police les couvre
Arabe, persan, ourdouNonAvec une mise en forme contextuelle, lorsque la table de caractères couvre le bloc Arabic Presentation Forms-B
HébreuNonRéordonné en ordre visuel ; non mis en forme
Thaï et autres écritures complexesNonLorsque la table de caractères les couvre ; la mise en forme avancée est limitée

Les familles standard-14 — Helvetica, Times et Courier — affichent l’intégralité du répertoire WinAnsiEncoding (page de code Windows 1252) : le latin accentué d’Europe de l’Ouest, le signe Euro et la ponctuation typographique courante, y compris les tirets demi-cadratin et cadratin, les guillemets courbes, la puce, les points de suspension et le signe de marque déposée (ISO 32000-2 Annex D.2). Elles n’affichent aucune autre écriture. Enregistre une police intégrée pour tout caractère hors de ce répertoire. Symbol et ZapfDingbats sont les deux polices standard-14 qui ne disposent d’aucun substitut compatible métriquement ; enregistre une police intégrable lorsque tu as besoin de l’une d’elles.

Consulte Composer du texte avec des polices et des alignements pour le flux de travail avec les polices standard.

Une police TrueType ou OpenType enregistrée n’affiche des caractères Unicode que lorsque la table de caractères de la police sélectionnée et le chemin de mise en forme actuel les couvrent tous deux. Le simple enregistrement d’une police ne garantit pas la présence d’un glyphe pour chaque point de code.

  • La couverture suit la table de caractères. Le moteur ne dessine un point de code que si la police intégrée le fait correspondre à un glyphe. Une police conçue pour une écriture n’en affichera pas une autre.
  • Le latin, le grec, le cyrillique et le CJC s’affichent directement à partir de la table de caractères, un glyphe par point de code, lorsque la police les couvre.
  • L’arabe nécessite en outre une mise en forme contextuelle — formes initiale, médiane, finale et isolée des lettres, plus la ligature Lam-Alef — et une police dont la table de caractères couvre le bloc Arabic Presentation Forms-B. La prise en charge des polices qui reposent uniquement sur la substitution de glyphes OpenType (GSUB), ainsi que du chemin de mise en forme HarfBuzz, relève encore de travaux futurs.
  • Les écritures de droite à gauche (arabe, hébreu, persan, ourdou) sont réordonnées en ordre visuel avec l’algorithme bidirectionnel Unicode défini dans l’annexe standard Unicode (UAX) #9. L’hébreu est réordonné, mais pas mis en forme ; c’est le comportement correct pour cette écriture.

Consulte Afficher du HTML arabe de droite à gauche pour un exemple de traitement de l’arabe et les limites actuelles du rendu de droite à gauche.