--- 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}{❶,❷,❸,❹} ```