XǝTeX
原作者 | Jonathan Kew |
---|---|
開發者 | Khaled Hosny |
当前版本 | 0.999992(2020年1月20日 | )
源代码库 | |
操作系统 | 跨平台 |
类型 | 排版 |
许可协议 | MIT许可证 |
网站 | xetex.sourceforge.net |
XeTeX(/ˈziːtɛx/或/ˈziːtɛk/[1],風格化後写作XǝTeX)是一种使用Unicode的TeX排版引擎,并支持一些现代字体技术,例如OpenType、Graphite和Apple Advanced Typography(AAT)。其作者和维护者是Jonathan Kew,并以X11自由软件许可证发布[2]。
虽然XǝTeX最初只是为Mac OS X所开发,但它现在在各主要平台上都可以运作。它原生支持Unicode,并默认其输入文件为UTF-8编码。XǝTeX可以在不进行额外配置的情况下直接使用操作系统中安装的字体,因此可以直接利用OpenType、Graphite中的高级特性,例如额外的字形,花体,合字,可变的文本粗细等等。XǝTeX提供了对OpenType中本地排版约定(locl
标签)的支持,也允许向字体传递OpenType的元标签。它亦支持使用包含特殊数学字符的Unicode字体排版数学公式,例如使用Cambria Math或Asana Math字体代替传统的TeX字体。
历史
[编辑]2004年4月,发布了XǝTeX的第一个版本,这个版本只支持Mac OS X,并包括了内建的ATT和Unicode支持。2005年,加入了对OpenType的支持。在2006年BachoTeX期间,发布了第一个支持Linux的版本,并在数月后由Akira Kakuto移植到了Microsoft Windows上,其跨平台版本最终包含在TeX Live 2007中。另外,从2.7版开始,MiKTeX也包含了XǝTeX。
作为TeX Live的一部分,XǝTeX支持大多数为LaTeX、OpenType、TrueType和PostScript字体开发的巨集包,而无需特别的安装和设定。
BachoTeX 2008上宣布发行0.998版本,通过\XeTeXinputnormalization
命令支持Unicode正规化。
2013年5月发布0.9999,为了OpenType排版从ICU排版引擎转换到HarfBuzz,为Graphite排版输出增添Graphite2,并在Mac OS X以Core Text取代ATSUI。
工作过程
[编辑]XǝTeX分两个阶段处理输入文件。在第一阶段中,XǝTeX输出扩展DVI (xdv
)文件,然后由驱动转换为PDF文件。在默认模式下,xdv
文件被直接通过管道送入驱动,不产生任何用户可见的中间文件。同时,也可以只运行XǝTeX的第一阶段,保存xdv
文件,但在截至2008年7月[update]尚无可以阅读这种格式的阅读器。
有两种后端驱动可以从xdv
文件产生PDF文件:
xdv2pdf
:它使用AAT技术(Apple Advanced Typography),只能在Mac OS X上工作。xdvipdfmx
:它是dvipdfmx
的修改版。它在标准的FreeType和fontconfig上采用了修改版本的Unicode国际化组件(ICU),可以在所有平台上工作。
从0.997版开始,所有平台上的默认驱动都是xdvipdfmx
。在0.9999版中xdv2pdf不再得到支持,其开发也被中止。[3]
XǝTeX可以很好的支持LaTeX和ConTeXt巨集包。其中,LaTeX部分以xelatex
的方式引用。并通常与fontspec
一起使用,该巨集包提供字体的配置方式,并允许重新命名复杂的字体名称以便于再利用[4]。
XǝTeX包含在TeX Live、MacTeX和MiKTeX发行包中。
示例
[编辑]下面的例子包括了XǝTeX源代码和渲染结果。例子中使用了开源字体文泉驿微米黑(WenQuanYi Micro Hei)显示Unicode字符,使用了以SIL开源字体授权发布的Linux Libertine O字体显示OpenType字体的连字及旧式数字样式。以XeLaTeX命令处理。
%!Tex Program = xelatex \documentclass[a4paper]{article} \usepackage{xltxtra} \setmainfont[Mapping=tex-text]{WenQuanYi Micro Hei} \begin{document}\pagestyle{empty} \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{简体中文} 每个人生来平等,享有相同的地位和权利。 \subsection{繁體中文} 每個人生來平等,享有相同的地位和權利。 \subsection{日本語} すべての人間は自由であり、かつ、尊厳と権利とについて平等である。 \section{Legacy syntax} When he goes---``Hello World!''\\ She replies—“Hello dear!” \section{Ligatures} \fontspec[Ligatures={Common, Historical}]{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} |
阿拉伯文字支持
[编辑]在XǝTeX中使用阿拉伯文字的一个解决方案是使用arabxetex软件包。为此,你需要在下列文本中插入阿拉伯文字:
\begin{arab}[utf] . . . \end{arab}
用下列代码举例说明:
\documentclass[12pt,fleqn,titlepage,twoside,a4paper]{book} \usepackage{etex} \usepackage{amsfonts,amsmath,amssymb,graphicx} \usepackage{txfonts} \usepackage[centering,includeheadfoot,margin=1in]{geometry} \usepackage{tabvar} \usepackage{arabxetex} %\newfontfamily{\arabicfont}[Script=Arabic,Scale=1.5]{Traditional Arabic} \parindent = 0pt \begin{document} \begin{arab}[utf] \chapter*{\textarab[utf]{ حِكَم من تَجمـيعي }} \section*{\textarab[utf]{ شِعر }} أديـن بدين الحـــب أنـى تــوجـهت ركـائبه \qquad فالحـــب دينــي و إيماني\\ لنا أسوة في بشر هند و اختها و قيس و ليلى \qquad ثـــــم مـــــي و غـــيــــلان \end{arab} \end{document} |
参见
[编辑]参考文献
[编辑]- ^ Kew, Jonathan. TUG. 访谈 with 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) (英语). 缺少或
|title=
为空 (帮助) - ^ XeTeX downloads. SIL International. [2012-10-25]. (原始内容存档于2021-10-20) (英语).
- ^ Hosny, Khaled. Future of xdv2pdf driver on Mac. March 12, 2013 [2013-06-07]. (原始内容存档于2021-01-18).
- ^ Robertson, Will. The fontspec package (PDF). 2008-08-09 [2009-01-08]. (原始内容存档 (PDF)于2009-02-05) (英语).
延伸阅读
[编辑]- M. Goossens (Ed.) (2008) The XeTeX Companion: TeX meets OpenType and Unicode (页面存档备份,存于互联网档案馆).