En lisant la documentation du package addfont, dont il est fait usage dans cette réponse pour utiliser des polices Metafont, il est précisé que l'on doit connaître l'encodage de la police utilisé pour la commande suivante : \addfont{OT1}{flyspec}{\flyspec}.

  • Comment peut-on connaître l'encodage de la police metafont capbas ?
  • Comment de manière générale peut-on connaître l'encodage d'une police ?

Posée 10 Aoû '17, 16:55

Andr%C3%A9C's gravatar image

AndréC
61121124
Taux d'acceptation : 25%

Modifiée 10 Aoû '17, 19:15


En lisant le fichier capbas.mf, on trouve la déclaration suivante : font_coding_scheme:="TeX text"; Je pense que cela suggère un codage OT1 pour (La)TeX. Vu la taille de la fonte je crois que ne s’y trouve que des caractères ASCII 7 bits autrement dit des lettres sans accents ni cédilles, des chiffres et éventuellement des bricoles comme l’esperluète.

Pour ce qui de la manière générale, hormis la lecture de la valeur du font_coding_scheme dans un fichier metafont dont il me semble, à regarder le MetafontBook, que la valeur peut-être assez poétique, je crains qu’il ne faille tester quelques caractères sensibles c.-à-d. hors ASCII 7 bits et voir le numéro qu’il porte. Heureusement...

M’étant souvenu d’avoir vu quelque chose sur une extension permettant de montrer les caractères d’une fonte avec LaTeX, j’ai trouvé après une rapide recherche le lien suivant (anglais) qui évoque l’extension fonttable et les commandes \fonttableet \xfonttable.

On peut utiliser ceci

Ouvrir dans l'éditeur Overleaf
\documentclass{article} 
 \usepackage{fonttable}
 \begin{document}
 \fonttable{capbas}
 \end{document}

pour voir le codage en direct.

Avec ceci

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
 \usepackage[T1]{fontenc}
 \usepackage{addfont}
 \addfont{T1}{capbas}{\capbas}
 \begin{document}
   \capbas ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890 \char '100
 \end{document}

j’obtiens tous les caractères présentés dans le premier document.

De fait dans un cas comme celui-ci, avec une police très lacunaire, il ne semble pas que le choix du codage soit important. J’ai pris T1 pour voir.

Lien permanent

Publiée 10 Aoû '17, 22:42

Le%20TeXnicien%20de%20surface's gravatar image

Le TeXnicien de surface
2.0k814
Taux d'acceptation : 27%

Tentative de réponse

Voici un extrait de la page 416 de l'ouvrage de F. Mittelbach M. Goossens et al The LaTeX Companion

Ouvrir dans l'éditeur Overleaf
Encoding  Description                                                       Declared by 
T1        LaTex text encoding (Latin) a.k.a. "CorK" encoding                      LaTeX 
TS1       LaTex symbol encoding (Latin)                                           LaTeX 
T2A,B,C   LaTex text encoding (Cyrillic)                      Cyrillic support packages 
T3        LaTex phonetic alphabet encoding                                 tipa package 
TS3       LaTex phonetic alphabet encoding (extra symbols)                 tipa package 
T4        LaTex text encoding (African languages)                                    -- 
T5        LaTex text encoding (Vietnamese)                                           -- 
T7        LaTex text encoding (reserved for Greek)                                   -- 
OT1       TeX text as defined by Donald Knuth                                     LaTeX 
OT2       Tex text for Cyrilli languages (obsolete)           Cyrillic support packages 
OT3       Tex phonetic alphabet encoding (obsolete)                                  -- 
OT4       TeX text with extensions for Polish language                               -- 
OT6       TeX text with extensions for Armenian language                             -- 
OML       TeX math text (italic) as defined by Donald Knuth                       LaTeX 
OMS       TeX math symbol as defined by Donald Knuth                              LaTeX 
OMX       TeX math extended symbol as defined by Donald Knuth                     LaTeX 
X2        Extended text encoding (Cyrillic)                   Cyrillic support packages 
U         Unknown encoding (for arbitrary rubbish)                                LaTeX 
L..       Local encoding (for private encoding)                                       --
LV1       Encoding used with some VTeX fonts                                 MicroPress 
LY1       Alternative to T1 encoding                                                Y&Y

Donc, on peut distinguer les encodages des différentes polices suivant leurs usage

  • polices pour formater des formules mathématiques
  • lettres (latines) et grecques (OML)
  • majuscules calligraphiques et symboles mathématiques \Leftarrow, \forall ... (OMS)
  • symboles mathématiques de tailles variables (avec \left et \right par exemple) comme [, {, (, \int et \sum. (OMX)
  • polices pour formater de texte
  • lettres (latines) et majuscules grecques (T1 ou OT1)
  • lettres cyrillique (T2A, T2B, T2C ou OT2)
  • symboles de texte, copyright, Trademark, ... (TS1)
  • d'autres polices ...

Comment distinguer l'encodage T1 de OT1.

1) À la page 442 on peut lire

If one uses, for example, "<" in text, the current font encoding determines whether one gets < (T1) or perhaps a ¡ (OT1) in the printout.

ce qui peut se traduire par:

Si l'on utilise, par exemple, "<" dans le texte, l'encodage de police actuel détermine si on obtient < (T1) ou peut-être un ¡ (OT1) dans l'impression.

mais ça ne suffit pas, par exemple

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\begin{document}
foo <

\ttfamily foo <     
\end{document}

En effet, bien que l'encodage des polices télétypes cmrtt est OT1 elles contient le caractère <. Mais ce qu'on peut conclure de ça est que si la police transforme < en ¡ donc l'encodage est OT1.

2) Il y a l'idée naïve qui dit que les police T1 n'ont pas des lettres accentuées é, à, ... ceci aussi n'est pas suffisant mais c'est la police produit bien un é lorsqu'on tape é alors son encodage et T1.

3) une police d'encodage OT1 se limitait à 128 glyphes, une police d'encodage T1 peut contenir 256 glyphes.

une autre tentative plus sérieuse

  • Le document LaTeX font encodings peut être une bonne référence.
  • Le fichier nfssfonts partie de MiKTeX (je pense TeXLive aussi) permet la création de tableau de code (glyphes) d'une police donnée, il ne reste que comparer ce tableau avec les tableaux donnés LaTeX font encodings.
Lien permanent

Publiée 18 Aoû '17, 01:08

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 18 Aoû '17, 02:15

@touhami, ces informations sont très intéressantes, elles font progresser la base de connaissance, mais encore difficiles à exploiter car extrêmement technique.

(18 Aoû '17, 01:30) AndréC Andr%C3%A9C's gravatar image
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.