Pourquoi des caractères disparaissent de mes figures avec #

Admettons que vous ayez une figure au format PDF que vous voulez utiliser dans votre document avec Lorsque vous compilez le document, se plaint de « missing glyphs » (« glyphes manquants »), et une partie (ou la totalité) du texte de la figure originale n’est plus visible : légendes, symboles…

Voici ce qui s’est passé :

  • Votre fichier contenant la figure (disons fig.pdf) contient une police font.pfb intégrée,

  • note qu’il a font.pfb sur le disque, et le charge à la place de la copie fournie par fig.pdf,

  • Il s’avère que la copie contenue dans fig.pdf avait des glyphes qui ne sont pas dans le fichier font.pfb du disque, de sorte que vous obtenez des erreurs lors de la compilation et que vous voyez que des caractères sont manquants lorsque vous visualisez la sortie.

Le problème est que ne peut pas savoir que les polices sont différentes, puisqu’elles ont le même nom…

fait cela pour réduire la taille des fichiers : si votre document chargeait les figures fig1.pdf et fig2.pdf qui, toutes deux, utilisaient la police font.pfb, si ne faisait rien de particulier, il y aurait deux copies de font.pfb dans le fichier de sortie. Plus, peut-être, une troisième copie si votre document utilisait également la police…

Note

Un cas réel est la police URW NimbusRomNo9L-Regu (un clone de Times Roman), qui est disponible dans une version avec des lettres cyrilliques, alors que la version fournie dans les distributions n’a pas ces lettres. Les deux versions, en général, ont le même nom.

La solution facile, « quick and dirty », est d’ajouter la commande

\pdfinclusioncopyfonts=1

au préambule de votre document. De cette façon, conservera toutes les copies des polices, sans chercher à les dédoublonner.

La « vraie » solution est de renommer l’une ou l’autre des polices. Cela nécessite de reconfigurer les tables de polices d’un programme ou votre logiciel de dessin), ce qui est un évidemment laborieux.