> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/latex/fr/questions-et-reponses/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md).

# J'ai une police personnalisée que j'aimerais charger dans mon document. Comment puis-je faire cela ?

## Introduction

Cet article explique comment installer des polices personnalisées pour la composition du texte de votre document — il ne traite pas des polices pour la composition des mathématiques. Par « police personnalisée », nous entendons une police indisponible sur les serveurs d’Overleaf, y compris les polices commerciales nécessitant une licence ou les polices gratuites non distribuées avec TeX Live ou incluses dans notre installation Linux.

* **Note**: Cet article traite des technologies de polices courantes mais ne discute pas des solutions spécialisées basées sur TeX telles que [Metafont](https://en.wikipedia.org/wiki/Metafont) et [polices virtuelles](https://texfaq.org/FAQ-virtualfonts).

## Par où commencer ?

Les solutions de composition fondées sur LaTeX fonctionnent dans un contexte hérité. En plus de quarante ans, le développement des compilateurs LaTeX et des formats de polices a produit un écosystème mêlant technologies anciennes et nouvelles. Par conséquent, le processus réel d’installation et de configuration de polices personnalisées pour une utilisation avec LaTeX dépend de ces deux facteurs :

1. Le type (format) de la ou des polices que vous souhaitez installer :

* héritées [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1) ou [TrueType](https://en.wikipedia.org/wiki/TrueType) polices, ou
* modernes [OpenType](https://en.wikipedia.org/wiki/OpenType) polices.

3. Quel compilateur LaTeX est utilisé pour compiler votre ou vos projets Overleaf :
   * pdfLaTeX, ou
   * XeLaTeX ou LuaLaTeX

Accédez à la section correspondant au compilateur de votre choix :

* [Utilisation de polices personnalisées avec pdfLaTeX](#using-custom-fonts-with-pdflatex)
* [Utilisation de polices personnalisées avec XeLaTeX et LuaLaTeX](#using-custom-fonts-with-xelatex-and-lualatex)

## Utilisation de polices personnalisées avec pdfLaTeX

Voici un résumé de ce que vous devrez faire — selon la complexité de votre configuration de police personnalisée :

1. Pour chaque fichier de police (`.ttf`, `.otf` ou `.pfb`), vous devrez disposer (ou générer !) d’une métrique de police TeX appropriée (`.tfm`) et, éventuellement, d’un fichier d’encodage (`.enc`).
2. pdfLaTeX doit savoir comment intégrer les polices du document dans le fichier PDF final. Pour cela, il lit un fichier de mappage de polices (`pdftex.map`), que vous devrez mettre à jour avec les détails de votre police personnalisée. Sur Overleaf, vous le faites à l’aide de l’une de ces commandes :

* `\pdfmapfile{...}`
* `\pdfmapline{...}`

4. Vous aurez besoin d’un fichier de description de police (`.fd`) qui indique à LaTeX comment utiliser les nouveaux fichiers de police.

Voici les principaux types de fichiers dont vous aurez besoin :

* **`.tfm`** (métrique de police TeX) : ces fichiers binaires compacts ne contiennent aucune donnée décrivant l’apparence visuelle des formes de caractères, seulement les dimensions des caractères et les « métadonnées » de police que les moteurs TeX peuvent utiliser pour effectuer leurs tâches de composition de base. Les métriques de police TeX pour les polices mathématiques contiennent des données supplémentaires non requises par les polices de texte ; en particulier, elles comportent plusieurs paramètres d’« espacement » utilisés pour la composition des mathématiques.
* **`.fd`** (description de police) : ces fichiers contiennent les commandes LaTeX nécessaires pour configurer et préparer votre police en vue d’une utilisation avec LaTeX. Les commandes autorisées à l’intérieur des `.fd` fichiers, ainsi que la `.fd` convention de nommage des fichiers, sont décrites dans le document [Sélection de polices LaTeX2ε](https://texdoc.org/serve/fntguide/1).
* **`.map`** (mappage de police) : les fichiers de mappage lient le nom des fichiers de métriques de police TeX au fichier de police physique contenant les données nécessaires pour dessiner les formes de caractères (glyphes). Chaque police connue de pdfTeX est décrite sur une seule ligne du fichier de mappage, à l’aide d’une syntaxe bien définie. Pour tous les détails, voir la section 5 de [Le manuel d’utilisation de pdfTeX](http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf).
* **`.enc`** (encodage) : si nécessaire, ce type de fichier définit le mappage entre les codes de caractères de votre texte LaTeX et les formes de caractères correspondantes (glyphes) contenues dans le fichier de police.

### Exemple de police TrueType personnalisée

La galerie Overleaf contient un projet qui [démontre l’installation d’une police TrueType personnalisée](https://www.overleaf.com/latex/examples/example-using-a-custom-truetype-font/yndxyzgbhpjv)—une police PostScript Type 1 utiliserait une configuration similaire. Il se compile avec pdfLaTeX, XeLaTeX et LuaLaTeX et produit le résultat suivant :

![Image montrant une composition Overleaf utilisant une police personnalisée](/files/d86a4fb5a0c8d5c7d5cb260458c7aebcc1dbe2fa)

#### Remarques sur le projet d’exemple

* Il utilise la commande suivante `\pdfmapline` commande :

```latex
\pdfmapline{+delphine < Delphine.ttf <T1-WGL4.enc}
```

qui relie un fichier de métrique de police TeX appelé `delphine` au fichier de police physique appelé `Delphine.ttf`.

* Le premier `<` caractère indique à pdfTeX de sous-ensembler la police TrueType ; c’est-à-dire d’intégrer *partiellement* cette police dans le fichier PDF final. Le sous-ensemble d’une police produit des fichiers PDF plus petits, car ils ne contiennent que les données de formes de caractères nécessaires pour afficher les caractères présents dans le document.
* Le second `<` caractère précède le nom d’un fichier de vecteur d’encodage, `T1-WGL4.enc`, utilisé pour effectuer le mappage entre les codes de caractères de votre texte et les données de formes de caractères (glyphes) contenues dans le fichier de police — ces données sont nécessaires pour rendre (dessiner) le caractère.
* LuaLaTeX nécessite une étape de configuration supplémentaire parce que `\pdfmapline` génère une **erreur de séquence de contrôle indéfinie** en raison de modifications dans la gestion par LuaTeX de certaines commandes de backend — la section 3 du [LuaTeX Reference Manual](http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf). Le `\ifLuaTeX` commande, fournie par le `iftex` iftex, est utilisée pour détecter LuaTeX ; si elle est détectée, `\pdfmapline` est définie :

```latex
\ifLuaTeX
\protected\def\pdfmapline {\pdfextension mapline }
\fi
```

### Utilisation de plusieurs polices ou de polices commerciales

Pour gérer les fichiers fournis par des éditeurs de polices commerciales et des collections de polices libres d’utilisation, vous pouvez créer des dossiers dans votre projet Overleaf afin d’organiser les fichiers de police selon leur type (`.tfm`, `.pfb`, `.ttf` etc.). Un bon modèle pour nommer et organiser vos dossiers est la [TeX Directory Structure (TDS)](https://www.tug.org/tds/tds.pdf), qui a été conçue comme un modèle de « bonnes pratiques » pour gérer une collection de fichiers liés à TeX.

Une fois les dossiers du projet en place, vous devez ensuite créer un soi-disant [`latexmcrc` fichier](/latex/fr/articles-approfondis/28-how-to-use-latexmkrc-with-overleaf.md) contenant des instructions indiquant au compilateur LaTeX de rechercher des fichiers dans ces dossiers. Par défaut, les compilateurs ne savent pas que ces dossiers existent et ne trouveront pas les fichiers qu’ils contiennent.

#### Exemple de projet Overleaf

L’exemple de la galerie Overleaf [Utiliser des dossiers pour gérer des fichiers de police personnalisés](https://www.overleaf.com/latex/templates/example-using-folders-to-manage-custom-font-files/qvqgnpjxvqzd) utilise des dossiers et un `latexmkrc` fichier pour installer une police TrueType personnalisée. Il contient une structure de dossiers montrée dans cette image :

![Organisation des dossiers d’un projet sur Overleaf](/files/0d8007c222b88375de90f03e59212a6f1f663733)

et un `latexmkrc` fichier contenant les lignes suivantes, qui définissent au moment de l’exécution les [variables d’environnement](https://en.wikipedia.org/wiki/Environment_variable) indiquant au compilateur LaTeX de rechercher des fichiers dans nos dossiers de projet :

```perl
$ENV{'TEXINPUTS'}='myfonts/tex//:' . $ENV{'TEXINPUTS'};
$ENV{'T1FONTS'}='myfonts/fonts/type1//:' . $ENV{'T1FONTS'};
$ENV{'AFMFONTS'}='myfonts/fonts/afm//:' . $ENV{'AFMFONTS'};
$ENV{'TEXFONTMAPS'}='myfonts/fonts/map//:' . $ENV{'TEXFONTMAPS'};
$ENV{'TFMFONTS'}='myfonts/fonts/tfm//:' . $ENV{'TFMFONTS'};
$ENV{'TTFONTS'}='myfonts/fonts/ttf//:' . $ENV{'TTFONTS'};
$ENV{'VFFONTS'}='myfonts/fonts/vf//:' . $ENV{'VFFONTS'};
$ENV{'ENCFONTS'}='myfonts/fonts/enc//:' . $ENV{'ENCFONTS'};
```

Si vous vous demandez quels fichiers vont généralement dans quel dossier, jetez un coup d’œil à [cet article](/latex/fr/articles-approfondis/06-an-introduction-to-kpathsea-and-how-tex-engines-search-for-files.md#table-listing-kpathsea-config-variables).

## Utilisation de polices personnalisées avec XeLaTeX et LuaLaTeX

### Utilisation des polices PostScript Type 1

Pour utiliser des polices héritées PostScript Type 1 avec XeLaTeX et LuaLaTeX, vous pouvez suivre les [consignes pour pdfLaTeX](#using-custom-fonts-with-pdflatex), nous ne répéterons donc pas ces détails ici.

### Utilisation des polices OpenType

XeLaTeX et LuaLaTeX offrent une prise en charge étendue de la composition avancée à l’aide de polices OpenType — variétés TrueType et PostScript — car leurs moteurs TeX sous-jacents, XeTeX et LuaHBTeX, disposent de capacités natives (intégrées) pour traiter les technologies de polices OpenType, ce que pdfTeX ne fait pas.

* **Note**: LuaLaTeX, via son moteur TeX sous-jacent (LuaHBTeX), possède les capacités de gestion des polices les plus sophistiquées de tous les moteurs TeX ; cependant, leur description dépasse le cadre de cet article — pour plus d’informations, voir les sections 6 et 12 du [LuaTeX Reference Manual](https://ctan.org/pkg/luatex?lang=en).

Pour utiliser des polices OpenType avec XeLaTeX et LuaLaTeX, vous devez charger [`fontspec`](https://ctan.org/pkg/fontspec?lang=en), un paquet puissant et riche en fonctionnalités qui fournit une interface aux capacités de composition avancées des polices OpenType.

* **Note**: Vous n’avez pas besoin d’utiliser `\usepackage[T1]{fontenc}` (ou `\usepackage[utf8]{inputenc}`) lors de l’utilisation de polices OpenType avec XeLaTeX ou LuaLaTeX.

### Exemple : introduction à fontspec

Le processus est simple car aucune installation de police n’est requise — pas besoin de `.tfm`, `enc` ou `.map` fichiers d’encodage et l’écriture de définitions de police (`.fd`) sont reléguées à l’histoire ! C’est aussi simple que cela :

1. Ajoutez la ligne suivante à votre préambule de document :

```latex
\usepackage{fontspec}
```

3. Sélectionnez l’icône de téléversement de fichier (![UploadIcon.png](/files/c287877f42a4b31ac45df641d9625872535ed485)), située au-dessus de la liste des fichiers.
4. Faites glisser et déposez la ou les polices dans la fenêtre de téléversement, ou sélectionnez-les sur votre ordinateur, pour ajouter la ou les polices à votre projet Overleaf.
5. Utilisez l’une des `fontspec` commandes du paquet `\set*xxx*font` pour configurer et activer la ou les polices.

L’excellente `fontspec` documentation du paquet fournit une grande quantité d’exemples que vous pouvez explorer ; ici, nous resterons donc simples pour vous aider à démarrer. Par exemple, supposons que vous téléversiez un fichier de police appelé `CrimsonText-Regular.ttf`; après avoir chargé `fontspec` vous pouvez définir la police principale du texte du document en écrivant

```latex
\setmainfont{CrimsonText-Regular.ttf}
```

Vous pouvez également écrire une syntaxe telle que

```latex
\setmainfont{CrimsonText}[
Extension = .ttf,
UprightFont = *-Regular,
...]
```

Vous pouvez aussi déclarer une nouvelle famille de polices à utiliser dans des situations arbitraires :

```latex
\newfontfamily{\crimson}{CrimsonText}
[Extension = .ttf, UprightFont = *-Regular, ...]
{\crimson Ce texte utilise la police CrimsonText}
```

#### Ressources

* La [`fontspec` documentation du paquet](http://mirrors.ctan.org/macros/unicodetex/latex/fontspec/fontspec.pdf) est à lire impérativement — elle fournit non seulement de nombreux exemples utiles, mais contient aussi beaucoup d’informations contextuelles utiles sur les polices OpenType.
* La page d’aide Overleaf sur [XeLaTeX](/latex/fr/polices/03-xelatex.md) contient un [exemple détaillé](/latex/fr/polices/03-xelatex.md#using-fonts-not-installed-on-overleaf27s-servers-google-fonts-example) montrant comment télécharger des polices OpenType depuis Google et les configurer avec `fontspec`.

**Projets d’exemple**

La galerie Overleaf propose des projets d’exemple montrant l’utilisation de polices OpenType avec XeLaTeX ou LuaLaTeX — vous pouvez les ouvrir et basculer le compilateur entre LuaLaTeX et XeLaTeX :

* [Utilisation des polices Google avec XeLaTeX](https://www.overleaf.com/latex/templates/using-google-fonts-with-xelatex/xxkpcgfttjvd)
* [Utilisation des polices OpenType STIX2 avec LuaLaTeX ou XeLaTeX](https://www.overleaf.com/latex/templates/using-the-stix2-opentype-fonts-with-lualatex-or-xelatex/hdfvhzqmhnpx)

Le graphique suivant combine les sorties produites par ces projets :

![Exemples de projets Overleaf utilisant des polices OpenType](/files/910cfadf203d77e58b11ffdbaeeef70c14733d47)

## Bases des polices et des compilateurs LaTeX

### Extensions de fichiers de police

Le tableau ci-dessous répertorie les extensions de fichiers utilisées pour indiquer différents types (formats) de fichiers de police :

|                                                                                                                   |                  |
| ----------------------------------------------------------------------------------------------------------------- | ---------------- |
| **Type de police**                                                                                                | **Extension**    |
| [PostScript Type 1](https://en.wikipedia.org/wiki/PostScript_fonts#Type_1)$$\displaystyle{}^{\mathbf\*}$$         | `.pfb`           |
| [TrueType](https://en.wikipedia.org/wiki/TrueType)                                                                | `.ttf`           |
| [Collections TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) | `.ttc`           |
| [OpenType](https://learn.microsoft.com/en-us/typography/opentype/)                                                | `.otf` ou `.ttf` |

$$\displaystyle{}^{\mathbf\*}$$ En janvier 2023, toutes les applications de création d’Adobe [ont cessé de prendre en charge l’ancien format de police Type 1](https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html).

Les polices OpenType existent en deux « variétés », souvent appelées « saveurs » : à saveur PostScript et à saveur TrueType, des noms qui reflètent les données et les mécanismes utilisés pour représenter les formes de caractères (glyphes) qu’elles contiennent. C’est pourquoi les polices OpenType ont deux extensions de fichier : `.otf` ou `.ttf` qui, par *convention*, impliquent :

* `*filename*.otf` est une police OpenType à saveur PostScript
* `*filename*.ttf` est une police OpenType à saveur TrueType

Par exemple, pdfTeX suppose que l’extension `.otf` indique une police OpenType à saveur PostScript.

* **Note**: l’ `.ttc` extension est utilisée uniquement pour les collections de polices TrueType.

### À propos de l’extension de fichier .ttf

Étant donné un fichier de police avec une `.ttf` extension, il peut s’agir soit :

* d’une ancienne police TrueType (non OpenType), ou
* d’une police OpenType contenant des données TrueType plus les fonctionnalités supplémentaires fournies par OpenType.

Déterminer si un `.ttf` fichier de police est OpenType ou TrueType simple peut être délicat, et nécessite que les applications sondent/explorent les structures de données internes de la police. Pour plus de détails, voir [cette discussion (fil)](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format) ou cet [article Microsoft](https://learn.microsoft.com/en-us/typography/opentype/#why-is-my-opentype-font-listed-as-a-truetype-font-by-my-application).

### Formats de police et compilateurs LaTeX

Le tableau suivant résume les formats de police (courants) pris en charge par trois compilateurs LaTeX (à proprement parler, par les moteurs TeX sous-jacents) :

|                 |                         |                                                         |                                                        |                                           |
| --------------- | ----------------------- | ------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------- |
| **Compilateur** | **PostScript (Type 1)** | **TrueType (simple**$$\displaystyle{}^{\mathbf†}$$**)** | **OpenType (TrueType)**$$\displaystyle{}^{\mathbf\*}$$ | **OpenType (PostScript)**                 |
| pdfLaTeX        | Oui                     | Oui                                                     | Limité$$\displaystyle{}^{\mathbf{\*\*}}$$              | Limité$$\displaystyle{}^{\mathbf{\*\*}}$$ |
| XeLaTeX         | Oui                     | Oui                                                     | Oui                                                    | Oui                                       |
| LuaLaTeX        | Oui                     | Oui                                                     | Oui                                                    | Oui                                       |

$$\displaystyle{}^{\mathbf†}$$Par « simple », nous entendons une police TrueType qui ne contient pas les données supplémentaires (tables) définies par la spécification OpenType ; elle ne dispose donc pas des fonctionnalités de composition plus avancées des polices OpenType à saveur TrueType.

$$\displaystyle{}^{\mathbf\*}$$pdfTeX offre une prise en charge limitée de [Collections TrueType](https://learn.microsoft.com/en-us/typography/opentype/otspec150/otff#truetype-collections) (extension `.ttc`) — il ne lira que les données de la première police contenue dans la collection.

$$\displaystyle{}^{\mathbf{\*\*}}$$La prise en charge « limitée » d’OpenType par pdfTeX signifie :

* qu’il ne prend pas en charge les fonctionnalités de composition avancées contenues dans les polices OpenType ;
* qu’il sous-ensemble les polices OpenType à saveur TrueType mais pas les polices OpenType à saveur PostScript, qui doivent être intégralement intégrées. L’absence de sous-ensemble de police produit des fichiers PDF plus volumineux et pose des problèmes de licence avec les polices commerciales, qui interdisent généralement l’intégration complète ;
* qu’il ne peut pas utiliser plus de 256 caractères par police, alors que les polices OpenType individuelles en prennent en charge des dizaines de milliers ;
* qu’il nécessite la production de métriques de police TeX et d’autres fichiers auxiliaires (requis par LaTeX) — des processus qui dépassent le cadre de cet article (voir [Pour aller plus loin](#further-reading) pour des liens vers des descriptions de ces processus).

## Pour aller plus loin

* [How OpenType Works](https://simoncozens.github.io/fonts-and-layout/opentype.html) (by Simon Cozens).
* [Déterminer si un fichier de police est au format OpenType ou au format TrueType](https://typedrawers.com/discussion/2945/determine-whether-a-font-file-is-opentype-format-or-truetype-format)— une discussion de la difficulté à déterminer si un `.ttf` est du TrueType simple ou de l’OpenType à saveur TrueType.
* [Un examen plus approfondi des polices TrueType et de pdfTeX](https://tug.org/TUGboat/tb30-1/tb94thanh.pdf)— un article de TUGboat rédigé par [Hàn Thế Thành](https://tug.org/interviews/thanh.html), le créateur de [pdfTeX](https://www.tug.org/applications/pdftex/).
* [Une structure de répertoires pour les fichiers TeX](https://tug.org/tds/tds.html), une hiérarchie standard de dossiers/répertoires pour organiser les fichiers liés à TeX.
* [L’installation et l’utilisation des polices OpenType dans LaTeX](https://www.tug.org/TUGboat/tb27-2/tb87owens.pdf)— un article de TUGboat expliquant comment préparer des polices OpenType pour une utilisation avec pdfLaTeX.
* [Comment utiliser des polices TrueType avec PdfTeX à l’aide de otftotfm ?](https://tex.stackexchange.com/questions/52819/how-do-i-use-truetype-fonts-with-pdftex-using-otftotfm/52902#52902)— un fil tex.stackexchange contenant un exemple détaillé.

### Une note sur les « guerres des polices »...

Les années 1980 et 1990 ont vu les « guerres des polices », avec deux formats concurrents, PostScript Type 1 (d’Adobe) et TrueType (créé par Apple, concédé sous licence à Microsoft), se livrant bataille pour la suprématie — afin de gagner le cœur et l’esprit de tous les utilisateurs, en particulier des designers et des typographes. Finalement, le [format de police OpenType](https://learn.microsoft.com/en-us/typography/opentype) est apparu (en 1997) comme une solution hybride, englobant et étendant les technologies de police d’Adobe et d’Apple. OpenType s’appuie sur le format de fichier TrueType d’origine pour permettre des capacités de composition avancées et une meilleure prise en charge d’Unicode grâce à des polices contenant plus de 65 000 formes de caractères (glyphes).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/latex/fr/questions-et-reponses/58-i-have-a-custom-font-i-d-like-to-load-to-my-document.-how-can-i-do-this.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
