Langues dans un alphabet non latin et polices de caractère

Transcription

Langues dans un alphabet non latin et polices de caractère
Langues dans un alphabet non latin et polices de caractère
Extrait du Geekographie Maïeulesque
http://geekographie.maieul.net/106
Langues dans un alphabet non
latin et polices de caractère
- LaTeX - Typographie -
Date de mise en ligne : lundi 22 octobre 2012
Copyright © Geekographie Maïeulesque - Tous droits réservés
Copyright © Geekographie Maïeulesque
Page 1/3
Langues dans un alphabet non latin et polices de caractère
En préparant une formation pour un collègue, je me suis rendu compte que mon livre
pouvait être un peu elliptique sur certains aspects de la gestion du polylinguisme avec LaTeX,
notamment lorsqu'on l'on à affaire à des langues s'écrivant avec des caractères non latins.
Unicode ne suffit pas
La norme Unicode permet de stocker tous les caractères existants sur Terre [1].
Néanmoins Unicode ne définit pas comment s'affichent les caractères : ce travail est confiée aux polices.
Or il n'existe pas de polices contenant l'ensemble des caractères Unicodes. Il est donc parfois utile de définir une
police différente pour une langue différente.
Exemple
Soit le code suivant :
Le premier mot du livre de la Genèse est : \texthebrew{Ñ°¼èµÐé´Á–Ùê}.
Si je choisie d'utiliser comme police principale la police Linux Libertine [2], j'ai un problème : celle-ci ne supporte pas
encore toutes les subtilités de l'hébreu biblique.
Ainsi j'obtiens le résultat suivant, assez inesthétique :
<a href="IMG/png/hebreulibertine.png" title='PNG - 10.5 ko' type="image/png">
Mot hébreu avec Linux Libertine : bof, bof.
Évidemment je pourrais trouver une police gérant aussi l'hébreu, par exemple la classique Times New Roman :
<a href="IMG/png/hebreutime.png" title='PNG - 10.4 ko' type="image/png">
Mot hébreu avec Times New Roman : mieux
Cependant, je peux préférer la Linux Libertine pour les caractères latins.
Varier la police
La solution est donc de prendre une police particulière pour l'hébreu, par exemple sur le site du SIL.
Il faut alors utiliser fontspec, qui permet de définir des nouvelles familles de caractères, en combinaison avec
polyglossia, qui permet de gérer les changements de langue.
Pour cela, on définit une famille
Copyright © Geekographie Maïeulesque
\font.
Page 2/3
Langues dans un alphabet non latin et polices de caractère
Donc pour avoir l'hébreu affiché avec la police Ezra SIL, je crée une nouvelle famille de polices :
\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}
Grâce à cela, la police change automatiquement lors de l'appel à \hebrewtext. N'oubliez pas cependant le
Script=Hebrew. Il permet à XeLaTeX, lorsqu'il compose l'affichage final, d'utiliser les bon paramètres pour appeler les
caractères de la police et par conséquent d'avoir un placement correct de ces caractères, notamment les niquud.
<a href="IMG/png/hebreuezra.png" title='PNG - 11.2 ko' type="image/png">
Mot hébreu avec la police Ezra Sil : un problème de taille
Régler la police
Comme vous pouvez constater, il y a un problème de taille. En effet, deux polices différentes n'ont pas, pour un
même nombre de points, la même taille physique.
La solution est alors de dire à fontspec d'appliquer un redimensionnement sur la police. Dans le cas présent, nous
souhaitons utiliser la police à 80 % de sa taille :
\newfontfamily\hebrewfont[Scale=0.8,Script=Hebrew]{Ezra SIL}
<a href="IMG/png/hebreuezra80pc.png" title='PNG
- 10.4 ko' type="image/png">
Mot hébreu avec la police Ezra Sil et une taille correcte
Post-scriptum :
En problème connexe se pose la manière de saisir les caractères Unicodes. Je vous promet de vous écrire bientôt des articles pour expliquer
comment créer son propre pilote de clavier sous Mac Os X...
[1] Du moins tout les caractères ayant été suffisamment étudiés pour pouvoir être décrits dans un certain formalismes. Ainsi certaines rares sont
encore en cours d'intégration à Unicode...
[2] Via \setmainfont{Linux Libertine O}.
Copyright © Geekographie Maïeulesque
Page 3/3

Documents pareils