XeTeX

XeTeX
Description de l'image XeTeX Logo.svg.
Description de l'image Rare and ancient ligatures in XeTeX.svg.
Informations
Développé par Jonathan Kew
Première version Voir et modifier les données sur Wikidata
Dernière version 0.9999.3 ()
Dépôt sourceforge.net/p/xetex/code/ci/master/tree et git.code.sf.net/p/xetex/codeVoir et modifier les données sur Wikidata
Écrit en C++ et CVoir et modifier les données sur Wikidata
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Type mise en page
Licence Licence X11
Site web http://xetex.sourceforge.net/

XeTeX est un logiciel de mise en page dérivé de TeX qui utilise Unicode et les technologies modernes de polices de caractères telles que OpenType et Apple Advanced Typography. Initialement développé pour Mac OS X, il est maintenant multiplate-forme. Les fichiers sources sont, par défaut, en UTF-8.

XeTeX est publié initialement seulement pour Mac OS X en avril 2004, avec l’implémentation du support pour Unicode et AAT. En 2005, le support pour OpenType est rajouté. Durant la conférence BachoTeX 2006, une version pour Linux est annoncée, qui est portée pour Windows par Akira Kakuto quelques mois plus tard.

XeTeX est inclus dans la distribution TeX Live 2007 pour les principales plateformes, ainsi que dans MiKTeX à partir de la version 2.7. Lors de l’inclusion dans TeXLive, XeTeX est compatible avec la plupart des macro des paquets LaTeX, et les polices de caractères OpenType, TrueType et PostScript, sans configuration particulière. La version 0.998, annoncée lors de BachoTeX 2008, apporte le support de la normalisation Unicode via la macro \XeTeXinputnormalization. La version 0.9999 sort en mai 2013, et change quitte le moteur de rendu ICU au profit de HarfBuzz pour les rendus OpenType, Graphite2 pour les rendus Graphite, et choisit Core Text pour remplacer ATSUI sur Mac OS X.

Mode de fonctionnement

[modifier | modifier le code]

XeTeX génère le document de sortie, au format PDF, en deux étapes à partir du fichier source LaTeX. Au cours de la première partie du traitement, un fichier DVI est créé, qui est ensuite converti en PDF par un pilote.

Dans le cas du fonctionnement par défaut, le fichier DVI est envoyé directement au pilote PDF, sans produire de fichiers intermédiaires consultables par l’utilisateur. Il est possible d’exécuter seulement la première étape et de sauvegarder le DVI.

Pour générer le PDF dans la seconde étape, deux pilotes sont disponibles :

À partir de la version 0.997, le pilote par défaut est xdvipdfmx pour toutes les plateformes. Puis, à partir de la version 0.9999, xdv2pdf n’est plus supporté, car son développement a cessé[1].

XeTeX fonctionne avec les macros LaTeX et ConTeXt. Pour LaTeX, la commande associée est xelatex. Le paquet fontspec est généralement appelé pour sélectionner la police du document, et permettre aux polices choisies d’être nommées et réutilisées. Ce paquet permet également d’utiliser différents types de ligatures typographiques[2]. L’utilisation du paquet arabxetexpermet le rendu des langues s’écrivant de droite à gauche[3].

Ceci est un exemple de source XeTeX avec le rendu. La police utilisée est Linux Libertine.

\documentclass[11pt]{article}
\usepackage{fontspec}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Linux Libertine O}
\begin{document}
\section{Unicode support}

\subsection{English}
All human beings are born free and equal in dignity and rights.
 
\subsection{Íslenska}
Hver maður er borinn frjáls og jafn öðrum að virðingu og réttindum.
 
\subsection{Русский}  
Все люди рождаются свободными и равными в своем достоинстве и 
правах.
 
\subsection{Tiếng Việt}
Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và 
quyền lợi.
 
\subsection{Ελληνικά} 
Ὅλοι οἱ ἄνθρωποι γεννιοῦνται ἐλεύθεροι καὶ ἴσοι στὴν ἀξιοπρέπεια 
καὶ τὰ δικαιώματα.

\section{Legacy syntax}
When he goes---``Hello World!''\\
She replies—“Hello dear!”
 
\section{Ligatures}
\fontspec[Ligatures={Common, Historic}]{Linux Libertine O Italic}
\fontsize{12pt}{18pt}\selectfont Questo è strano assai!
 
\section{Numerals}
\fontspec[Numbers={OldStyle}]{Linux Libertine O}Old style: 1234567\\
\fontspec[Numbers={Lining}]{Linux Libertine O}Lining: 1234567
 
\end{document}
Le texte compilé.
Le texte compilé.

À noter que le package xltxtra est désormais considéré comme redondant par rapport au package fontspenc notamment, qui permet de gérer les différents typographies comme Open Type ou Apple Advanced Typography.

Ligatures historiques

[modifier | modifier le code]

Un autre exemple, avec des ligatures à l'ancienne :

Notes et références

[modifier | modifier le code]
  1. (en) Khaled Hosny, « [XeTeX] Future of xdv2pdf driver on Mac », (consulté le )
  2. (en) Will Robertson, « The fontspec package » [PDF], sur ctan.org, (consulté le )
  3. (en) « Documentation d’ArabTeX » (consulté le )