---
myst:
html_meta:
keywords: fonte, Unicode, caractère, substitution, remplacement
---
# Comment spécifier une fonte de substitution pour les caractères qui manquent à ma fonte principale ?
Parfois, il manque quelques caractères à une fonte,
qu'il est possible de composer dans une autre fonte
sans que cela ne dépare le texte :
par exemple, si les deux fontes se ressemblent beaucoup
ou s'il s'agit d'émoticones ou de symboles.
Cette page traite des moyens de spécifier cette fonte de remplacement
une fois pour toute dans le préambule.
::: {attention}
Cette page ne traite pas de l'utilisation d'une fonte secondaire
pour une langue autre que la langue principale
(par exemple pour du texte en caractères cyrilliques).
Si tel est votre besoin, utilisez `\babelfont` avec
ou voyez la section _Font setup_ dans le manuel de .
:::
::: {todo}
Créer une page sur la configuration des fontes en fonction des langues.
:::
::: {tip}
Si le caractère manquant est un caractère avec diacritique,
vous pouvez tenter de le configurer sans changer de fonte
en suivant les instructions [ici](/3_composition/texte/symboles/polices/ajuster_diacritiques).
:::
## Avec `newunicodechar`
permet de déclarer n'importe quel remplacement pour un caractère Unicode donné.
Un de ses usages possibles est de spécifier dans le remplacement
le caractère précédé de la commande de fonte qui doit être utilisée pour l'afficher.
Dans l'exemple suivant, on utilise FreeSerif et Garamond Libre
pour compléter la fonte par défaut de LaTeX. Voici un exemple d'utilisation :
```
% !TEX engine=lualatex
\documentclass[french,a6paper]{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\usepackage{babel}
\usepackage{hyperref}
\newfontface\chiffresdansronds{FreeSerif}
\newunicodechar{❶}{{\chiffresdansronds ❶}}
\newunicodechar{❷}{{\chiffresdansronds ❷}}
\newfontface\chiffresgrecs{Garamond Libre}
\newunicodechar{ϡ}{{\chiffresgrecs ϡ}}
\begin{document}
Il peut être nécessaire d'utiliser une fonte de substitution pour quelques
caractères, notamment : ❶ si vous utilisez des symboles ou des émojis ;
❷ si votre fonte ne supporte pas certains caractères (par exemple si vous
voulez écrire 900 en \href{https://fr.wikipedia.org/wiki/Numération_grecque}
{numération grecque} : ϡ).
\end{document}
```
Si vous avez toute une série de caractères à configurer de la sorte,
vous pouvez ajouter à votre préambule la macro suivante :
```{noedit}
\makeatletter
\newcommand*{\substituerFonte}[2]{%
\expandafter\newfontface
\csname fonte@substitution@#1\endcsname
{#1}%
\substituer@fonte@char[#1]#2,\relax,
}
\def\substituer@fonte@char[#1]#2,{%
\ifx #2\relax
\let\todo\relax
\else
\newunicodechar{#2}{{%
\csname fonte@substitution@#1\endcsname
#2%
}}%
\def\todo{\substituer@fonte@char[#1]}%
\fi
\todo
}
\makeatother
```
à utiliser ainsi :
```{noedit}
\substituerFonte{Garamond Libre}{α,β,γ,φ,δ,ε,ζ,γ,θ,η}
\substituerFonte{FreeSerif}{❶,❷,❸,❹}
```