XeTeX

维基百科,自由的百科全书
跳转到导航 跳转到搜索
XeTeX
File:XeTeX Logo.svg
原作者Jonathan Kew
开发者Khaled Hosny
当前版本0.999992(2020年1月20日,​6年前​(2020-01-20
源代码库
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
引擎
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统跨平台
    类型排版
    许可协议MIT许可证
    网站xetex.sourceforge.net

    XeTeX/ˈziːtɛx//ˈziːtɛk/[1]风格化后写作XeTeX)是一种使用UnicodeTeX排版引擎,并支持一些现代字体技术,例如OpenTypeGraphiteApple Advanced Typography英语Apple Advanced Typography(AAT)。其作者和维护者是Jonathan Kew,并以X11自由软件许可证发布[2]

    虽然XeTeX最初只是为Mac OS X所开发,但它现在在各主要平台上都可以运作。它原生支持Unicode,并默认其输入文件为UTF-8编码。XeTeX可以在不进行额外设定的情况下直接使用操作系统中安装的字体,因此可以直接利用OpenType、Graphite中的高级特性,例如额外的字形花体合字,可变的文本粗细等等。XeTeX提供了对OpenType中本地排版约定(locl标签)的支持,也允许向字体传递OpenType的元标签。它亦支持使用包含特殊数学字符的Unicode字体排版数学公式,例如使用Cambria MathAsana Math字体代替传统的TeX字体。

    历史[编辑]

    2004年4月,发布了XeTeX的第一个版本,这个版本只支持Mac OS X,并包括了内置的ATTUnicode支持。2005年,加入了对OpenType的支持。在2006年BachoTeX期间,发布了第一个支持Linux的版本,并在数月后由Akira Kakuto移植到了Microsoft Windows上,其跨平台版本最终包含在TeX Live 2007中。另外,从2.7版开始,MiKTeX也包含了XeTeX

    作为TeX Live的一部分,XeTeX支持大多数为LaTeXOpenTypeTrueTypePostScript字体开发的宏包,而无需特别的安装和设置。

    BachoTeX 2008上宣布发行0.998版本,通过\XeTeXinputnormalization命令支持Unicode正规化

    2013年5月发布0.9999,为了OpenType排版从ICU排版引擎转换到HarfBuzz,为Graphite排版输出增添Graphite2,并在Mac OS X以Core Text取代ATSUI

    工作过程[编辑]

    File:Rare and ancient ligatures in XeTeX.svg
    使用OpenType字体(Hoefler Text)渲染合字

    XeTeX分两个阶段处理输入文件。在第一阶段中,XeTeX输出扩展DVI (xdv)文件,然后由驱动转换为PDF文件。在默认模式下,xdv文件被直接通过管道送入驱动,不产生任何用户可见的中间文件。同时,也可以只运行XeTeX的第一阶段,保存xdv文件,但在截至2008年7月 (2008-07)尚无可以阅读这种格式的阅读器。

    有两种后端驱动可以从xdv文件产生PDF文件:

    从0.997版开始,所有平台上的默认驱动都是xdvipdfmx。在0.9999版中xdv2pdf不再得到支持,其开发也被中止。[3]

    XeTeX可以很好的支持LaTeXConTeXt英语ConTeXt包。其中,LaTeX部分以xelatex的方式引用。并通常与fontspec一起使用,该宏包提供字体的配置方式,并允许重命名复杂的字体名称以便于再利用[4]

    XeTeX包含在TeX LiveMacTeX英语MacTeXMiKTeX发行包中。

    示例[编辑]

    下面的例子包括了XeTeX源代码和渲染结果。例子中使用了开源字体文泉驿微米黑(WenQuanYi Micro Hei)显示Unicode字符,使用了以SIL开源字体授权发布的Linux Libertine O字体显示OpenType字体的连字及旧式数字样式。以XeLaTeX命令处理。

    阿拉伯文字支持[编辑]

    XeTeX中编排阿拉伯文字的一个解决方案是使用arabxetex软件包。为此,需要在下列文本中插入阿拉伯文字:

    \begin{arab}[utf]
    .
    .
    .
    \end{arab}
    

    用下列代码举例说明:

    参见[编辑]

    参考文献[编辑]

    1. ^ Kew, Jonathan. TUG. 与Dave Walden的访谈 https://web.archive.org/web/20201028203628/http://www.tug.org/interviews/interview-files/jonathan-kew.html. 2007-04-03 [2012-10-25]. (原始内容存档于2020-10-28) (English).  缺少或|title=为空 (帮助)
    2. ^ XeTeX downloads. SIL International. [2012-10-25]. (原始内容存档于2021-10-20) (English). 
    3. ^ Hosny, Khaled. Future of xdv2pdf driver on Mac. March 12, 2013 [2013-06-07]. (原始内容存档于2021-01-18). 
    4. ^ Robertson, Will. The fontspec package (PDF). 2008-08-09 [2009-01-08]. (原始内容存档 (PDF)于2009-02-05) (English). 

    延伸阅读[编辑]

    外部链接[编辑]