XETEX是一种使用
Unicode的TeX排版引擎,并支持一些现代字体技术,例如OpenType、Graphite和Apple Advanced Typography(AAT)。其作者和维护者是Jonathan Kew,并以X11自由软件许可证发布。
XETEX最初只是为Mac OS X所开发,但它如今在各主要平台上都可以运作。它原生支持Unicode,并默认其输入文件为UTF-8编码。XETEX可以在不进行额外配置的情况下直接使用操作系统中安装的字体,因此可以直接利用OpenType、Graphite中的高级特性,例如额外的字形,花体,合字,可变的文本粗细等等。XETEX提供了对OpenType中本地排版约定(locl标签)的支持,也允许向字体传递OpenType的元标签。它亦支持使用包含特殊数学字符的Unicode字体排版数学公式,例如使用Cambria Math或Asana Math字体代替传统的TeX字体。
2004年4月,发布了XETEX的第一个版本,这个版本只支持Mac OS X,并包括了内建的ATT和Unicode支持。2005年,加入了对OpenType的支持。在2006年BachoTeX期间,发布了第一个支持Linux的版本,并在数月后由Akira Kakuto移植到了Microsoft Windows上,其跨平台版本最终包含在TEX Live 2007中。另外,从2.7版开始,MiKTEX也包含了XETEX。
作为TEX Live的一部分,XETEX支持大多数为LATEX、OpenType、TrueType和
PostScript字体开发的宏包,而无需特别的安装和设定。
2013年5月发布0.9999,为了OpenType排版从ICU排版引擎转换到HarfBuzz,为Graphite排版输出增添Graphite2,并在Mac OS X以Core Text取代ATSUI。
XETEX分两个阶段处理输入文件。在第一阶段中,XETEX输出扩展DVI (xdv)文件,然后由驱动转换为PDF文件。在默认模式下,xdv文件被直接通过管道送入驱动,不产生任何用户可见的中间文件。同时,也可以只运行XETEX的第一阶段,保存xdv文件,但在截至2008年7月尚无可以阅读这种格式的阅读器。
XETEX可以很好的支持LATEX和ConTeXt宏包。其中,LaTeX部分以xelatex的方式引用。并通常与fontspec一起使用,该宏包提供字体的配置方式,并允许重命名复杂的字体名称以便于再。