Aller au contenu

ConTeXt/ Polices et familles de polices

Un livre de Wikilivres.

↑ Retour au sommaire du livre

Polices et familles de polices

[modifier | modifier le wikicode]

Cette page présente la manière dont ConTeXt gère les polices, les variantes typographiques (italique, gras, petites capitales), les familles complètes et les fonctionnalités OpenType. Elle expose également les enjeux typographiques et les bonnes pratiques pour obtenir un rendu élégant, cohérent et professionnel.

En travauxlink={{{link}}}

Cette page est en travaux. Tant que cet avis n'aura pas disparu, veuillez en considérer le plan et le contenu encore incomplets, temporaires et sujets à caution. Si vous souhaitez participer, il vous est recommandé de consulter sa page de discussion au préalable, où des informations peuvent être données sur l'avancement des travaux.

Objectifs de cette section :

  • Comprendre ce qu’est une police et une famille de polices.
  • Distinguer les variantes (italique, gras, petites capitales).
  • Savoir choisir des polices adaptées à la langue française et à l’édition savante.
  • Utiliser correctement les commandes : \setupbodyfont, \definefontfamily, \definefontfeature.
  • Activer les fonctions OpenType (ligatures, chiffres anciens, petites capitales, etc.).

1. Pourquoi les polices sont un enjeu typographique majeur

[modifier | modifier le wikicode]

La question des polices peut sembler purement décorative, mais elle touche au cœur du travail typographique. Dans un document sérieux — essai, ouvrage savant, édition critique ou travail littéraire — la police n’est pas un simple habillage. C’est l’outil principal de lisibilité : proportions, contrastes, cohérence des formes, finesse des signes diacritiques.

Une police n’est pas seulement un dessin de lettres : c’est un ensemble cohérent pensé pour plusieurs pages. Une famille de polices rassemble les variantes nécessaires à une mise en page complète : romain, italique, gras, italique gras, petites capitales, chiffres proportionnels ou tabulaires, ligatures, jeux stylistiques.

Dans la tradition typographique francophone, cette cohérence est essentielle : on attend d’une police des italiques véritables, un gras expressif, des petites capitales authentiques et des chiffres adaptés au contexte. Ces variantes ne sont pas automatiques : beaucoup de polices courantes n’ont pas de vraies petites capitales ou ne disposent pas d’un gras distinct.

ConTeXt, grâce à LuaTeX, exploite pleinement OpenType : choix des variantes, sélections des jeux de chiffres, activation des ligatures, combinaisons multi-script. Le choix d’une famille typographique est donc une décision à la fois esthétique et technique.


2. Polices natives et polices recommandées

[modifier | modifier le wikicode]

ConTeXt inclut nativement les familles libres suivantes :

Famille Style Remarques
TeX Gyre Pagella sérif Très adaptée aux textes longs (inspirée de Palatino).
TeX Gyre Bonum sérif Bonne lisibilité, proche du Bookman.
TeX Gyre Termes sérif Inspirée de Times, excellente compatibilité.
TeX Gyre Heros sans-sérif Alternative libre à Helvetica.
TeX Gyre Adventor sans-sérif Inspirée d’URW Gothic.

Polices recommandées pour la typographie française moderne :

  • Libertinus (famille très complète, avec italique, smallcaps, maths)
  • EB Garamond (excellentes petites capitales, italique élégante)
  • TeX Gyre Pagella (robuste, lisible, idéale pour les essais et livres)

Pour utiliser une de ces familles :

\setupbodyfont[libertinus, 11pt]

3. Comprendre les variantes : romain, italique, gras, petites capitales

[modifier | modifier le wikicode]

ConTeXt distingue strictement :

  • \tf — romain (upright)
  • \it — italique
  • \bf — gras
  • \bi — gras italique
  • \sc — petites capitales

Exemple :

Ceci est {\it italique}, ceci est {\bf gras},
et ceci en {\sc petites capitales}.

⚠️ Attention : si la police choisie ne possède pas de vraie italique ou de vraies petites capitales, ConTeXt les génèrera artificiellement. Cela dégrade le rendu. Privilégiez toujours des familles complètes (Libertinus, EB Garamond, TeX Gyre).


4. Définir une famille de polices personnalisée

[modifier | modifier le wikicode]

Pour charger explicitement une famille :

\definefontfamily[mainface][serif][EB Garamond]
\definefontfamily[mainface][sans][TeX Gyre Heros]
\definefontfamily[mainface][mono][DejaVu Sans Mono]

\setupbodyfont[mainface, 11pt]

ConTeXt associe alors automatiquement les variantes italique, gras, petites capitales, etc.


5. Activer les fonctions OpenType

[modifier | modifier le wikicode]

Les polices modernes incluent de nombreuses fonctionnalités avancées : ligatures, chiffres anciens, petites capitales, variantes stylistiques, formes contextuelles.

Pour activer un jeu de fonctionnalités :

\definefontfeature[garafeatures][default][
  liga=yes,
  dlig=yes,
  onum=yes,     % chiffres oldstyle
  pnum=yes,     % chiffres proportionnels
  kern=yes,
]

\setupbodyfont[mainface]

L’italique d’EB Garamond, par exemple, utilise des formes contextuelles (swash italics) qui peuvent être activées via :

\definefontfeature[swash][default][swsh=yes]

6. Tester une police et ses glyphes

[modifier | modifier le wikicode]

ConTeXt permet d’inspecter une police :

\showfontcharacters[EBGaramond12-Regular]

Pour obtenir la liste des fontes visibles par ConTeXt :

mtxrun --script fonts --list --all
  • Si vous avez installé une nouvelle police, il faut passer plusieurs commande afin que le système la prenne en charge; d'abord on régénère la base de données des polices de ConTeXt  :
context --generate

Puis, on efface le cache (des polices) :

mtxrun --script cache --erase

Et enfin on reconstruit la base de données :

mtxrun --script fonts --reload


💡 Astuce : Si une police ne possède pas de vraies petites capitales ou de vraies italiques, ConTeXt peut afficher un avertissement dans le fichier log.


7. Préparer une famille pour plusieurs écritures (latin, grec, cyrillique)

[modifier | modifier le wikicode]

Si une police n’inclut pas de grec, vous pouvez définir une police de secours :

\definefontfamily[mainface][serif][Libertinus Serif]
\definefontfamily[mainface][math][Libertinus Math]
\definefallbackfamily[mainface][serif][GFS Didot][range=greek]

\setupbodyfont[mainface, 11pt]

Cette question est développée dans :

ConTeXt/Polices_non_romanes


8. Erreurs fréquentes et solutions

[modifier | modifier le wikicode]
Problème Cause Solution
Italique « faux » police sans italique choisir une famille complète
petites capitales trop grandes smallcaps synthétiques EB Garamond / Libertinus
chiffres incohérents jeux OpenType non activés onum=yes, pnum=yes
mélange de serif/sans-serif involontaire famille mal définie \definefontfamily


9. Sources et bibliographie

[modifier | modifier le wikicode]

Institutions :

  • Pragma ADE — Documentation ConTeXt (pragma-ade.com) sur la page Wiki de ConTeXt (ConTeXt Garden) : ConTeXt Garden
  • LuaTeX Reference Manual (luatex.org)
  • OpenType specification (Microsoft/Adobe)

Travaux conseillés :

  • Hans Hagen, Fonts in ConTeXt
  • Idris Samawi Hamid, OpenType and Arabic script in LuaTeX
  • Will Robertson, New perspectives on TeX font management
  • Taco Hoekwater, LuaTeX font internals

10. Pages associées

[modifier | modifier le wikicode]

↑ Retour au sommaire du livre

Page suivante : Bibliographie et index