web-dev-qa-db-fra.com

Comment les polices inconnues sont-elles substituées?

Supposons que j’ouvre un document texte étranger que j’ouvre avec un outil d’édition de texte qui reconnaît les polices (par exemple, LibreOffice Writer). Dans ce document, il est possible que certaines polices utilisées ne soient pas disponibles sur mon installation Ubuntu (par exemple, Garamond).

La question qui se pose est la suivante: comment Ubuntu détermine-t-elle l’une des polices installées à utiliser pour remplacer la police inconnue? Est-ce qu'il lit les caractéristiques de la police et en cherche une similaire? Une police de substitution par défaut est-elle toujours utilisée? Est-ce qu'il recherche des noms de police similaires?

En plus de cela, j'aimerais savoir si je peux modifier ce comportement ou définir des alias de polices manuels pour utiliser automatiquement, par exemple. la police gratuite EB-Garamont au lieu de la police non-libre Garamont?

14
Byte Commander

Je pense que c'est décidé non par Ubuntu mais par le programme (LibreOffice, OpenOffice, etc.). Je ne pouvais rien voir lié à LibreOffice en soi mais OpenOffice a un Nice wiki avec quelques détails sur le fonctionnement de cette "Font Fallback". Cela pourrait être applicable à LibreOffice également, en général.

Je reproduis certaines sections du wiki ci-dessous pour clarifier. Il est difficile d'expliquer mieux que ce qui est dans le wiki , alors il vaut mieux le lire à partir de là:

Qu'est-ce que la substitution de polices dans OpenOffice.org 2?

Font-Fallback démarre chaque fois qu'une police demandée qui n'est pas installée sur le système est demandée. (Non installé signifie: non disponible pour OOo). OOo essaie ensuite d'utiliser une police différente de celle que OOo sait qui correspond à la police demandée aussi proche que possible.

Comment fonctionne le remplacement des polices?

Pour que les polices de remplacement produisent des résultats satisfaisants, OOo doit en quelque sorte connaître les similitudes des polices. OOo doit savoir qu'il peut par exemple remplacer Helvetica à la place de Arial, mais pas Comic Sans. Cette tâche n’est pas aussi facile qu’elle le semble, car il existe de nombreuses polices et que OOo ne peut pas les connaître toutes.

OOo utilise plusieurs méthodes pour trouver un remplaçant adéquat:

  • Informations d'alias de police fournies par le système (par exemple, à partir d'un fonts.dirfichier )
  • Liste codée en dur des polices de repli, de VCL.xcu (essayé en premier)
  • Noms de police alternatifs
  • Les attributs de police (par exemple, a-t-il des caractères CJK, s’agit-il d’une police Symbol) ou de style (serif/non-serif, proportionnel/non proportionnel)

si tout cela échoue aussi:

  • utiliser une police par défaut

Pas directement lié mais ceci Le document TLDP est une bonne lecture.

9
Ron