%!TEX TS-program = XeLaTeX=xdvipdfmx \documentclass[12pt]{article} \makeatletter \def\@dotsep{999} \usepackage{fontspec,xltxtra,xunicode} \usepackage{lmodern} \defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase} \setromanfont[Numbers=Lowercase]{FPL Neu} %\setsansfont{Lucida Sans} %\setmonofont{Lucida Sans Typewriter} \usepackage{calc,fancyvrb,hyperref} \usepackage{geometry} %\geometry{screen,margin=3cm} \usepackage[nofancy]{svninfo} \svnInfo $Id: XeTeX-reference.ltx 7 2006-10-25 12:06:06Z will $ \usepackage[medium,rm]{titlesec} \usepackage{enumitem} \setlist{nolistsep} \newenvironment{optdesc} {\begin{description}[font=\ttfamily,style=nextline,leftmargin=1.5cm]} {\end{description}} \newcommand\cmd{% \vspace{2ex plus 5pt minus 5pt} \noindent \SaveVerb[% aftersave={% \begin{minipage}{\linewidth} \UseVerb{CMD}}]{CMD}} \DefineShortVerb{\|} \newcommand\xarg[1]{‹\textit{#1}›} \newcommand\desc[1]{\par#1} \def\endcmd{\end{minipage}} \newsavebox\verbatimbox \edef\examplefilename{\jobname.example} \newlength\exampleindent \setlength\exampleindent{1em} \newenvironment{example} {\VerbatimEnvironment \begin{VerbatimOut}{\examplefilename}} {\end{VerbatimOut} \typesetexample} \newcommand\typesetexample{% \vspace{2ex plus 5pt minus 5pt} \vrule \hspace{\exampleindent} \begin{minipage}{\linewidth-\exampleindent} \textit{Example:}\par \vspace{0.4\baselineskip} \BVerbatimInput[fontsize=\small]{\examplefilename}\par \vspace{0.4\baselineskip} \input\examplefilename\relax \end{minipage} \vspace{2ex plus 5pt minus 5pt}} \let\strong\textbf \providecommand\pdfTeX{pdf\/\TeX} \newcommand\hlink[2]{\href{#1}{#2}\footnote{\url{#1}}} \let\latin\textit \def\eg{\latin{e.g.}} \def\ie{\latin{i.e.}} \def\Eg{\latin{E.g.}} \def\Ie{\latin{I.e.}} \def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}} \setlength\parskip{0pt} \setlength\parindent{2em} \raggedbottom \begin{document} \title{The \XeTeX\ reference guide} \author{Will Robertson} \date{\svnInfoLongDate} \maketitle \tableofcontents \section{Introduction} This document serves to summarise \XeTeX's additional features without being so much as a `users' guide'. Note that much of the functionality addressed here is provided in abstracted form in various \LaTeX\ packages and Con\TeX{}t modules. \part{\XeTeX\ specifics} \section{The {\ttfamily\char`\\font} command} The |\font| command has seen significant addition in \XeTeX\ to facilitate rich font feature selection. Under \TeX, fonts were selected like so: |\font\1="|\xarg{font name}|"| with various options appended such as `|at 10pt|' or `|scaled 1.2|'. This syntax has been extended in \XeTeX\ by passing additions options through the \xarg{font name}. This syntax looks something like\par {\centering|\font\1="|\xarg{font name}\xarg{font options}|:|\xarg{font features}|"| \xarg{\TeX\ font features}\par}\noindent The \xarg{font name} is the actual name of the font; e.g., `|Charis SIL|'. When using the |xdvipdfmx| driver (not yet the default in Mac~OS~X), it is possible to use fonts that aren't installed in the operating system by surrounding their name with square brackets. The current directory and the |texmf| trees are searched for files named in this way, or the path may be embedded in the font declaration. \Eg, \begin{quote}\small |\font\1="[fp9r8a]"| \hfill \emph{Selects `FPL Neu' in the current directory} |\font\1="[/myfonts/fp9r8a]"| \hfill \emph{Selects `FPL Neu' somewhere else} |\font\1="[lmroman10-regular]"| \hfill \emph{Selects a Latin Modern font in the \emph{TDS}} \end{quote} The other arguments are optional and described subsequently. \subsection{Font options} \xarg{Font options} may be an concatenation of the following: \begin{optdesc} \item[/B] Use the bold version of the selected font. \item[/I] Use the italic version of the selected font. \item[/BI] Use the bold italic version of the selected font. \item[/IB] Same as \texttt{/BI}. \item[/S=$x$] Use the version of the selected font corresponding to the optical size $x$\,pt. \item[/AAT] Explicitly use the ATSUI renderer (Mac OS X only). \item[/ICU] Explicitly use the ICU OpenType renderer (only useful on Mac OS X). \end{optdesc} Font options aren't applicable when the font is selected locally (\ie, with square brackets). \subsection{Font features} The \xarg{font features} is a comma or semi-colon separated list activating or deactivating various AAT or OpenType font features, which will vary by font. The \XeTeX\ documentation files \path{aat-info.tex} and \path{opentype-info.tex} provide per-font lists of supported features. \subsubsection{Arbitrary AAT or OpenType features.} OpenType font features are chosen with standard tags, registered with Adobe or Microsoft: see \hlink{http://www.microsoft.com/typography/otspec/featuretags.htm}{this link}. \begin{example} \font\warnock="Warnock Pro/I/S=5:+smcp" at 12pt \warnock This is the OpenType font Warnock Pro in italic with small caps at a small optical size. \end{example} AAT font features are specified by strings within each font. Therefore, even equivalent features between different fonts can have different names. \begin{example} \font\hoefler="Hoefler Text/B:Letter Case=Small Caps" at 12pt \hoefler This is the AAT font Hoefler Text in bold with small caps. \end{example} Some font features may be applied for any font. These are \begin{optdesc} \item[mapping=\textsl{}] Uses the specified font mapping for this font. \item[color={\slshape RRGGBB}{[{\slshape TT}]}] Triple pair of hex values to specify the colour in RGB space, with an optional value for the transparency. \item[letterspace=$x$] Adds $x/S$ space between letters in words, where $S$ is the font size. \end{optdesc} \subsubsection{OpenType script and language support} OpenType font features can vary by script (`alphabet') and by language. \begin{optdesc} \item[script=\textsl{