XeTeX

本来の表記は「XǝTeX」です。この記事に付けられたページ名は技術的な制限または記事名の制約により不正確なものとなっています。 XǝTeX（XeTeX, ズィーテック、ズィーテフ）は、組版処理ソフトウェアとして知られるTeXを拡張・改良し、最新のフォント技術等に対応させたソフトウェア。TeXの代替エンジン。 Unicodeをベースとし、OpenType・Graphite・Apple Advanced Typography (AAT) などの最新のフォント表示技術に対応しているのが特徴。これにより、OSにインストールされているフォントをそのまま利用できるメリットも生まれた。元はジョナサン・キュー（Jonathan Kew）により開発され、MIT Licenseにより配布されているフリーソフトウェア。 2004年〜2005年にMac OS X専用ソフトとして発表されたが、2006年にLinuxやMicrosoft Windowsにも対応した。2007年にはメジャーなTeXディストリビューションであるTeX Liveに収録され、ほぼ全ての環境で利用できるようになった。 双方向テキスト (bi-directional text) に対応していることを意識し、左右対称な名称となっている。1文字目の"X"はMac OS Xの"X"。2文字目は、前身となったシステムε-TeXに由来し、反転させたラテン文字の"E"を用いることが推奨されている。 読み方については、zee-TeX と書いてあるがごとく読むこととされており、カタカナでは「ズィーテック」「ズィーテフ」などと近似される。TeXの発音についての詳細は「TeX」を参照のこと。 2004年4月、Mac OS X専用ソフトウェアとして発表。2005年にOpenType機能が追加された。BachoTeX 2006会議にてLinux版が発表され、数ヶ月後、角藤亮によりWindowsに移植された。 Mac専用ディストリビューションであるMacTeXは2006年にXǝTeXを収録し、各メジャープラットフォーム用のXǝTeXはTeX Live 2007に収録された。MiKTeXにはバージョン2.7から収録されている。 BachoTeX 2008で発表されたXǝTeX 0.998ではUnicode正規化に対応した（\XeTeXinputnormalizationコマンド）。 TeX組版時にはTeXフォントメトリック（.tfm）と呼ばれるファイルにより各字形の位置を定め、出力ドライバはそれに従い実際の字形データを探して表示するという手法を取っているが、これはTrueTypeやOpenTypeなどが一般的な1990年代以降のコンピュータのフォントのあり方とは大きく異なる。XǝTeXは、特に.tfmなどを用意せずとも、OSにインストールされた各フォントも利用できる。 一方、従来からの.tfm系フォントも引き続き利用可能であり、TeXとの互換性を保っている。 元来TeXは英語を想定して作られており、文字コードはASCIIを原則としていた。他の言語の入力のためにはpTeXのような改造版や、専用のパッケージの導入が必要であったが、こういった回避方法や各パッケージ特有の書き方などは複雑化する傾向にあった。XǝTeXはUnicodeを全面的にサポートし、デフォルトの入力文字コードはUTF-8である。これにより世界各地で日常的に使われる用字系のほとんどを網羅した。これに伴い、従来のTeXでは8ビットで文字を処理していたことに代わり、UTF-16を内部的に使用するように改められた。 異体字や合字などの字体切り替え、ウェイト（書体の太さ）の細かな指定、OpenTypeのロケール指定（locl）、などの先進的な機能に対応しているほか、OpenTypeのタグをそのままフォントに受け渡す機能も備える。フォントメトリクスに基づいた伝統的なTeXの数式組版処理に代わって、数式処理に特化したCambria MathやAsana MathなどのUnicodeフォントを用いた数式組みにも対応している。 従来のTeXは画像や図に特化した処理は特に行わず、マクロパッケージに受け渡すのみであったが、XǝTeXは画像に関する機能を内蔵している。 XǝTeXによる組版処理は2段階に分けて行われる。第1段階では拡張DVI（xdv）形式で中間出力が行われ、これが第2段階でドライバによりPDFに変換される。通常xdv形式の中間出力はそのままPDF変換ドライバに渡され、利用者が中間出力を目にすることはない。第1段階のみを実行しxdv形式でファイルに保存することも可能だが、2012年12月現在、この中間形式を開くことのできるビューアは存在しない。 xdv形式をPDFに変換するドライバは2種類存在する。 xdv2pdf Apple Type Services for Unicode Imaging (ATSUI) と QuickTime により動作するため、macOS専用。 xdvipdfmx dvipdfmの改変版。FreeTypeを利用しており、クロスプラットフォーム。 バージョン0.997からxdvipdfmxがデフォルトとなり、バージョン0.9999からはxdv2pdfはサポート対象外となり、開発は中止された。 XǝTeXはLaTeX・ConTeXtいずれのマクロパッケージとも極めて相性よく動作する。XǝTeX版のLaTeXはxelatexという名称で呼び出される。fontspecパッケージと合わせて利用されることが多く、これによりフォントの選択・切り替えが容易になる。 XǝTeXはTeX Live, MacTeX, MiKTeXに同梱されて提供されている。 以下にXǝLaTeXへの入力と組版結果を示す。用いたフォントはLinux Libertine（SIL Open Font License）。 \documentclass[11pt]{article} \usepackage{fontspec} \setmainfont[Ligatures=TeX]{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, Historical}]{Linux Libertine O Italic} Questo è strano assai! \section{Numerals} \fontspec[Numbers={OldStyle}]{Linux Libertine O}Old style: 1234567\\ \fontspec[Numbers={Lining}]{Linux Libertine O}Lining: 1234567 \end{document}