7
1

J'utilise Debian GNU/Linux et TeXlive 2015.

Y a-t-il une commande qui me permette de lister toutes les polices directement utilisables par LaTeX ?

Et une autre qui liste les polices utilisables par LuaLaTeX ?

Mieux encore : ne serait-il pas possible de composer un document comprenant cette liste illustrée d'exemples ?

Posée 28 Sep '15, 21:28

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 06 Nov '16, 20:55

Il est possible de rechercher les fichiers de définition des polices. Il sont suffixés .fd :

Ouvrir dans l'éditeur
# find / -name '*.fd'

Mais ce n'est ni élégant ni utile : j'obtiens un grand nombre de noms de fichiers du type ot1lhfr.fd. Cela n'est pas utilisable tel quel.

Or je voudrais obtenir les noms des fontes tels que je les écris dans le document .tex.

(28 Sep '15, 23:00) Pathe ♦♦ Pathe's gravatar image

Pour les polices fournies par le système (donc hors distribution TeX) et visibles par XeTeX et LuaTeX, on peut utiliser la commande fc-list. Sur ma machine, j'obtiens une liste de 474 polices...

(29 Sep '15, 12:07) Paul Gaborit Paul%20Gaborit's gravatar image
2

Je ne vais peut-être pas répondre exactement à la question mais je pense que cela peut t’intéresser. Il existe un site Web répertoriant beaucoup de polices d’écritures libres utilisables par LaTeX et XeLaTeX (en ce qui concerne LuaTeX je ne sais pas, je ne l’ai jamais utilisé).

Chaque police est complétée d’exemples selon les différentes écritures (normale, italique, gras, chiffre, mathématique, etc.) et du code à ajouter pour l’utiliser.

À voir par ici : http://www.tug.dk/FontCatalogue/.

Je ne pense pas qu’elles y soient toutes, mais il y a déjà une bonne base à exploiter. :-)

(17 Oct '15, 00:39) freetux freetux's gravatar image

@freetux Sauf erreur de ma part, les commandes indiquées sur ce site ne sont destinées qu'à usage de LaTeX et pas XeLaTeX.

(18 Oct '15, 15:04) denis ♦♦ denis's gravatar image

@denis En effet, les commandes ne sont que pour LaTeX, au temps pour moi. Mais généralement je l’utilise pour trouver une police qui me plaît bien, puis récupérer le nom afin de trouver le package de ma distribution correspondant pour l’installer. :-)

(20 Oct '15, 14:11) freetux freetux's gravatar image

Pour lister les polices utilisables par LuaLaTeX, il suffit de lancer la commande :

Ouvrir dans l'éditeur Overleaf
fc-list > polices.txt

et d'examiner le contenu du fichier en question. Mais, pour être certain de lister aussi celles livrées avec la TeX Live, il est nécessaire de procéder comme suit :


(Extrait du livre LaTeX, l'essentiel (2010) de Denis Bitouzé et Jean-Côme Charpentier, avec la participation de Manuel Pégourié-Gonnard, justement auteur des lignes suivantes.)

XeLaTeX est capable d’accéder directement aux polices du système, mais paradoxalement pas à celles livrées avec la TeX Live, puisqu’il n’utilise pas le même mécanisme d’accès aux polices que les autres programmes de la famille LaTeX. Pour lui permettre de trouver ces polices, il suffit de les enregistrer au niveau du système ; s’il s’agit de :

  • Linux : on fait une copie du fichier /usr/local/texlive/2015/texmf-var/fonts/conf/texlive-fontconfig.conf (on peut même légèrement le modifier en supprimant la ligne se terminant par fonts/type1</dir>,car elle installe de très nombreuses polices qui ne sont guère utiles) que l’on place :
  • en tant qu'utilisateur standard : en ~/.fonts.conf (si ce fichier existe déjà, il ne faut pas l’écraser, mais fusionner les deux en recopiant les lignes commençant par <dir> du fichier de TeX Live entre <fontconfig> et </fontconfig> dans le fichier existant) puis on lance la commande fc-cache ;
  • (si on désire installer ces polices pour tous les utilisateurs) en tant qu’administrateur : en /etc/fonts/conf.d/09-texlive.conf puis on lance la commande fc-cache -s.
  • Mac OS X : on ouvre l’application Livre des polices puis le menu Fichier → Nouvelle bibliothèque pour créer une nouvelle bibliothèque nommée par exemple TeX Live, qu’on sélectionne ensuite. On ouvre alors le menu Fichier → Ajouter des polices et, dans la boîte qui apparaît, on utilise le raccourci ⇑ + ⌘ + G pour aller dans le dossier /usr/local/texlive/2015/texmf-dist/fonts où on sélectionne les répertoires opentype et truetype avant de valider.
  • Windows : il n’y a rien à faire, l’installateur TeX Live s’est occupé de tout.

Pour composer un document comprenant cette liste illustrée d'exemples, on peut utiliser le code suivant, qui provient de ce fil et de celui-ci sur tex.stackexchange.com.

On pourra y ajuster le seuil 200 dans if i > 200 then break end selon le nombre d'exemples voulu (ne pas fixer de limite conduit en général à la saturation de la mémoire).

Il est à compiler au moyen de lualatex :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Mono Light}

\usepackage{luacode}

\usepackage[margin=18mm]{geometry}
\parindent=0pt

\usepackage{longtable,makecell}
\renewcommand\arraystretch{2}

\begin{document}
\begin{luacode}
  myfonts=dofile(config.luaotfload.paths.index_path_luc)
  teststring = "Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr et cætera !"

tex.print("\\begin{longtable}{lp{10cm}}\\hline")

for i,v in ipairs(myfonts.mappings) do
  -- Stop early for testing purposes.
  if i > 200 then break end

  tex.print('\\makecell[l]{\\bfseries')
  tex.print(-2, v.familyname)
  tex.print('\\\\[-1ex] \\scriptsize')
  tex.print(-2, v.fontname)
  tex.print('} & \\LARGE\\fontspec{' .. v.fontname .. '}')
  tex.print(-2, teststring)
  tex.print('\\\\ \\hline')
end
tex.print("\\end{longtable}")
\end{luacode}
\end{document}
Lien permanent

Publiée 29 Sep '15, 12:41

denis's gravatar image

denis ♦♦
7.0k1510
Taux d'acceptation : 52%

Modifiée 26 Jui '19, 20:36

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

fc-list, fc-cache et le script ci-dessus fonctionnent parfaitement... après une très très longue compilation pour ce dernier (grâce à LuaLaTex peut-être faudrait-il le préciser) !

J'obtiens un beau pdf de 27 pages.

En revanche, je ne comprends pas selon quel ordre les polices y sont classées : l'ordre est alphabétique, mais à plusieurs reprises, ce qui rend le document peu utilisable.

(29 Sep '15, 15:04) Pathe ♦♦ Pathe's gravatar image

Effectivement, je vais préciser le compilateur à utiliser pour l'exemple. Quant au classement des polices, je n'ai aucune idée mais on peut toujours faire une recherche dans le PDF produit sur un nom de police.

(29 Sep '15, 15:24) denis ♦♦ denis's gravatar image

Outre le problème de classement des polices (je relis le code et ne suis pas éclairé pour autant), le script ne répond pas totalement à la problématique de lister TOUTES les polices utilisables par des logiciels LaTeX-like installées sur l'ordinateur.

Pour ce faire, il faudrait générer des exemples à partir de la liste générée par la commande fc-cache puis les associer à ceux générés par le script.

Et pour bien faire, il faudrait spécifier en bas de page la date, le nom de machine et la qualité des polices (utilisables par LaTeX ou par LuaLaTex).

(29 Sep '15, 19:39) Pathe ♦♦ Pathe's gravatar image

@Pathe Sauf erreur de ma part, fc-cache ne fait qu'ajouter à la liste des (de toutes les) polices du système d'exploitation (toutes) celles fournies par la TeX Live et ce « luacode » permet, pour chacune des polices de cette liste, d'afficher en regard son nom et le pangramme composé avec elle. Or, a priori, toutes les polices de la TeX Live qui sont utilisables par LaTeX peuvent l'être aussi par LuaLaTeX. À moins que je n'aie pas compris le sens de ton commentaire, je pense donc que toutes les polices sont listées.

(29 Sep '15, 20:28) denis ♦♦ denis's gravatar image

@denis : toutes les fontes ne sont pas listées. Par exemple, les excellentes kpfonts de Christophe Caignaert manquent.

Il me souvient que, lors de la dernière journée GUTenberg, il avait justement dit qu'elles n'étaient pas utilisables par LuaLaTex. Mais je me trompe peut-être.

C'est à tirer au clair.

(29 Sep '15, 22:46) Pathe ♦♦ Pathe's gravatar image

Faut-il écrire luaLaTeX ou LuaLaTeX ?

(29 Sep '15, 22:47) Pathe ♦♦ Pathe's gravatar image

@Pathe Chez moi, elles sont listées : par exemple grep kp polices.txt donne entre autres /usr/local/texlive/2015/texmf-dist/fonts/type1/public/kpfonts/jkplkmsc.pfb: Kp\-Light\-LargeSmallCaps:style=Regular. Il est vrai toutefois qu'on ne peut pas les utiliser en exploitant les fonctionnalités de fontspec mais on peut en revanche toujours charger le package kpfonts (et nécessairement \usepackage[T1]{fontenc}) et compiler avec lualatex.

(29 Sep '15, 23:08) denis ♦♦ denis's gravatar image

@Pathe Ça vaudrait le coup d'ouvrir une nouvelle question au sujet de luaLaTeX versus LuaLaTeX.

(29 Sep '15, 23:10) denis ♦♦ denis's gravatar image

Il y a un certain Manuel Pégourié-Gonnard qui a écrit A guide to LuaLaTeX : voilà qui répond à ma question.

J'amende le fil en ce sens, en écrivant « LuaLaTeX » pour le logiciel et en gardant « lualatex » si l'on parle de la commande Unix : c'est un tantinet spécieux - mais utile, non ?

(29 Sep '15, 23:23) Pathe ♦♦ Pathe's gravatar image

@denis Le bug avec fontspec est maintenant corrigé, sa correction intégrée dans TeXLive et distribuée sur CTAN. Le contournement initial de l'exemple peut donc être supprimé.

(30 Sep '15, 08:59) Paul Gaborit Paul%20Gaborit's gravatar image
1

@Pathe fc-cache ne liste que les polices visibles par l'OS. La manip proposée par MPG vise à rendre connues par l'OS les polices opentype, truetype et T1 proposées par TeXLive. Mais toutes les autres polices restent invisibles de l'OS et donc de XeTeX. LuaTeX lui peut utiliser et les polices connues de l'OS et toutes celles proposées par la distribution.

(30 Sep '15, 09:07) Paul Gaborit Paul%20Gaborit's gravatar image

@Paul Gaborit Quelles sont « toutes les autres polices [qui] restent invisibles de l'OS » ?

(30 Sep '15, 09:12) denis ♦♦ denis's gravatar image
1

@denis Par exemple, toutes celles pour lesquelles on ne dispose que des fichiers .mf. Un bon exemple : "Computer Modern" (qui ne sont pas les mêmes polices que cm-super ou Latin Modern...).

(30 Sep '15, 11:06) Paul Gaborit Paul%20Gaborit's gravatar image

J'en reviens à ma demande initiale : comment lister toutes les polices utilisables par des logiciels LaTeX-like et en faire un document ordonné et illustré d'exemples ?

(30 Sep '15, 12:51) Pathe ♦♦ Pathe's gravatar image
Affichage de 5 parmi 14 Afficher 9 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.