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 :
Évidemment je pourrais trouver une police gérant aussi l’hébreu, par exemple la classique Times New Roman :
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 \<lang>font
.
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.
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}
Vos commentaires
# Le 14 novembre 2012 à 21:20, par gilcot En réponse à : Langues dans un alphabet non latin et polices de caractère
Encore une preuve d’élégance et de simplicité inégalables :p