diff options
author | Jonathan Kew <jfkthame@googlemail.com> | 2006-09-15 15:31:59 +0000 |
---|---|---|
committer | Jonathan Kew <jfkthame@googlemail.com> | 2006-09-15 15:31:59 +0000 |
commit | d8ed1d31bf3ef5cdd91c34bbd0dc4d8d026e8b4b (patch) | |
tree | a9907f2ba73ffc51535d5b1fa0bfb0b2b39883ee /Master/texmf-dist/tex/xelatex | |
parent | 433cd9a731d3e97c7d2df22a6cebe37aa64054f9 (diff) |
added ini files etc for xetex-based formats, moved fontspec and xltxtra packages from xetex to xelatex subdir
git-svn-id: svn://tug.org/texlive/trunk@2132 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/config/crop.cfg | 17 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/config/geometry.cfg | 16 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/config/hyperref.cfg | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/config/xelatex.ini | 8 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/fontspec/fontspec.cfg | 25 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/fontspec/fontspec.sty | 1028 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/graphics/color.cfg | 43 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/graphics/graphics.cfg | 68 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/graphics/xetex.def | 439 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty | 156 |
10 files changed, 1814 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xelatex/config/crop.cfg b/Master/texmf-dist/tex/xelatex/config/crop.cfg new file mode 100644 index 00000000000..63a658bc53a --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/config/crop.cfg @@ -0,0 +1,17 @@ +% crop.cfg for xetex - JK - 2006-06-07 +% This attempts to persuade crop.sty to work with xetex +% Public domain + +\@ifundefined{XeTeXversion}{}{ + %% Use the "pdftex" driver (i.e., \pdfpagewidth, \pdfpageheight) with XeTeX + \def\CROP@reqdriver{pdftex} + + %% make crop.sty believe this is valid + \@ifundefined{pdfoutput}{ + \newcount\pdfoutput \pdfoutput=1 + }{} +} + +\endinput + +%% End of file `crop.cfg'. diff --git a/Master/texmf-dist/tex/xelatex/config/geometry.cfg b/Master/texmf-dist/tex/xelatex/config/geometry.cfg new file mode 100644 index 00000000000..d98cc4b6062 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/config/geometry.cfg @@ -0,0 +1,16 @@ +%% geometry.cfg for XeLaTeX - JK 2006-06-07 +% Public domain + +\@ifundefined{XeTeXversion}{}{ + %% Use the "pdftex" driver (i.e., \pdfpagewidth, \pdfpageheight) with XeTeX + \Gm@setdriver{pdftex} + + %% make geometry.sty believe this is valid + \@ifundefined{pdfoutput}{ + \newcount\pdfoutput \pdfoutput=1 + }{} +} + +\endinput + +%% End of file `geometry.cfg'. diff --git a/Master/texmf-dist/tex/xelatex/config/hyperref.cfg b/Master/texmf-dist/tex/xelatex/config/hyperref.cfg new file mode 100644 index 00000000000..17c89c29b16 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/config/hyperref.cfg @@ -0,0 +1,14 @@ +% config file for hyperref.sty with xetex +% Jonathan Kew +% Public domain + +\ProvidesFile{hyperref.cfg}% + [2006/06/07 v1.2b hyperref configuration of XeTeX] +% Change default driver to "hdvipdfm" instead of "hypertex", +% requires hyperref 2002/06/05 v6.72s +\providecommand*{\Hy@defaultdriver}{hdvipdfm}% + +% force the driver choice for xetex +\@ifundefined{XeTeXversion}{}{\ExecuteOptions{dvipdfm}} + +\endinput diff --git a/Master/texmf-dist/tex/xelatex/config/xelatex.ini b/Master/texmf-dist/tex/xelatex/config/xelatex.ini new file mode 100644 index 00000000000..a4d7ecd4622 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/config/xelatex.ini @@ -0,0 +1,8 @@ +% xelatex.ini +% jonathan kew +% updated: 18 May 2006 +% Public domain +\XeTeXuseglyphmetrics=1 +\input unicode-letters +\input latex.ltx +\dump diff --git a/Master/texmf-dist/tex/xelatex/fontspec/fontspec.cfg b/Master/texmf-dist/tex/xelatex/fontspec/fontspec.cfg new file mode 100644 index 00000000000..1741bba6d7d --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/fontspec/fontspec.cfg @@ -0,0 +1,25 @@ + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% FOR BACKWARDS COMPATIBILITY WITH PREVIOUS VERSIONS %%% + +\newcommand\newfeaturecode[3]{% + \define@key{zf}{#1}[]{\zf@make@feature{#2}{#3}{}}} + +\aliasfontfeature{BoldFont}{Bold} +\aliasfontfeature{ItalicFont}{Italic} +\aliasfontfeature{BoldItalicFont}{BoldItalic} +\aliasfontfeature{SmallCapsFont}{SmallCaps} +\aliasfontfeature{Style}{StyleOptions} +\aliasfontfeature{Contextuals}{Swashes} +\aliasfontfeatureoption{Contextuals}{Swash}{Contextual} +\aliasfontfeatureoption{Letters}{UppercaseSmallCaps}{SMALLCAPS} +\aliasfontfeatureoption{Letters}{UppercasePetiteCaps}{PETITECAPS} + +%%%%%%%%%%%%%%%%%%%%%%% +%%% FOR CONVENIENCE %%% + +\newfontscript{Kana}{kana} +\newfontscript{Maths}{math} +\newfontscript{CJK}{hani} + diff --git a/Master/texmf-dist/tex/xelatex/fontspec/fontspec.sty b/Master/texmf-dist/tex/xelatex/fontspec/fontspec.sty new file mode 100644 index 00000000000..86e8e054a71 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/fontspec/fontspec.sty @@ -0,0 +1,1028 @@ +%% +%% This is file `fontspec.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fontspec.dtx (with options: `fontspec') +%% +%% ________________________________ +%% The fontspec package for XeLaTeX +%% (C) 2004--2006 Will Robertson +%% +%% License information appended. +%% +%% +\ProvidesPackage{fontspec} + [2006/06/07 v1.10 Advanced font selection for XeLaTeX] + +\unless\ifdefined\XeTeXversion + \@latex@error{^^J + *************************************************^^J + *** Sorry! ^^J + *** The fontspec package only works with XeTeX. ^^J + *************************************************} +\fi +\newif\ifzf@firsttime +\newif\ifzf@tfm +\newif\ifzf@atsui +\newif\ifzf@icu +\newif\ifzf@mm +\newif\ifzf@math@euler +\newif\ifzf@math@lucida +\newif\ifzf@euler@package@loaded +\newif\ifzf@package@babel@loaded +\newcount\c@zf@newff +\newcount\c@zf@index +\newcount\c@zf@script +\newcount\c@zf@language +\newcommand\zf@PackageError[2]{\PackageError{fontspec}{#1}{#2}} +\newcommand\zf@PackageWarning[1]{\PackageWarning{fontspec}{#1}} +\newcommand\zf@PackageInfo[1]{\PackageInfo{fontspec}{#1}} +\RequirePackage{calc} +\RequirePackage{xkeyval}[2005/05/07] +\def\zf@enc{U} +\renewcommand\encodingdefault{\zf@enc} +\def\cyrillicencoding{U}% +\def\latinencoding{U}% +\g@addto@macro\document{% + \def\cyrillicencoding{U}% + \def\latinencoding{U}} +\newcommand*\fontspec[2][]{% + \zf@fontspec{#1}{#2}% + \fontfamily\zf@family\selectfont + \ignorespaces} +\newcommand*\setromanfont[2][]{% + \zf@fontspec{#1}{#2}% + \let\rmdefault\zf@family + \normalfont} +\newcommand*\setsansfont[2][]{% + \zf@fontspec{#1}{#2}% + \let\sfdefault\zf@family + \normalfont} +\newcommand*\setmonofont[2][]{% + \zf@fontspec{#1}{#2}% + \let\ttdefault\zf@family + \normalfont} +\newcommand*\setmathrm[2][]{% + \zf@fontspec{#1}{#2}% + \let\zf@rmmaths\zf@family} +\newcommand*\setboldmathrm[2][]{% + \zf@fontspec{#1}{#2}% + \let\zf@rmboldmaths\zf@family} +\newcommand*\setmathsf[2][]{% + \zf@fontspec{#1}{#2}% + \let\zf@sfmaths\zf@family} +\newcommand*\setmathtt[2][]{% + \zf@fontspec{#1}{#2}% + \let\zf@ttmaths\zf@family} +\@onlypreamble\setmathrm +\@onlypreamble\setboldmathrm +\@onlypreamble\setmathsf +\@onlypreamble\setmathtt +\def\zf@rmmaths{\rmdefault} +\def\zf@sfmaths{\sfdefault} +\def\zf@ttmaths{\ttdefault} +\newcommand*\newfontinstance[1]{% + \@ifnextchar[{\newfontinstance@i#1}{\newfontinstance@i#1[]}} +\def\newfontinstance@i#1[#2]#3{% + \zf@fontspec{#2}{#3}% + \edef#1{\noexpand\fontfamily{\zf@family}\noexpand\selectfont}} +\newcommand*\defaultfontfeatures[1]{\def\zf@default@options{#1,}} +\let\zf@default@options\@empty +\newcommand*\addfontfeatures[1]{% + \let\zf@default@options@old\zf@default@options + \let\zf@default@options\@empty + \edef\zf@thisinfo{}% + \edef\@tempa{% + \noexpand\zf@fontspec + {\csname zf@family@options\f@family\endcsname,#1}% + {\csname zf@family@fontname\f@family\endcsname}}% + \@tempa + \fontfamily\zf@family\selectfont + \let\zf@default@options\zf@default@options@old + \ignorespaces} +\let\addfontfeature\addfontfeatures +\newcommand*\newfontfeature[2]{% + \stepcounter{zf@newff}% + \def@cx{+zf-#1}{+zf-\the\c@zf@newff}% + \define@key[zf]{options}{#1}[]{% + \zf@update@family{\csname+zf-#1\endcsname}% + \zf@update@ff{#2}}} +\newcommand*\newAATfeature[4]{% + \unless\ifcsname zf@options@#1\endcsname + \zf@define@font@feature{#1}% + \fi + \key@ifundefined[zf]{#1}{#2}{}{% + \zf@PackageWarning{Option '#2' of font feature '#1' overwritten.}}% + \zf@define@feature@option{#1}{#2}{#3}{#4}{}} +\newcommand*\newICUfeature[3]{% + \unless\ifcsname zf@options@#1\endcsname + \zf@define@font@feature{#1}% + \fi + \key@ifundefined[zf]{#1}{#2}{}{% + \zf@PackageWarning{Option '#2' of font feature '#1' overwritten.}}% + \zf@define@feature@option{#1}{#2}{}{}{#3}} +\newcommand*\aliasfontfeature[2]{\multi@alias@key{#1}{#2}} +\newcommand*\aliasfontfeatureoption[3]{\keyval@alias@key[zf@feat]{#1}{#2}{#3}} +\newcommand*\newfontscript[2]{% + \define@key[zf@feat]{Script}{#1}[]{% + \zf@check@ot@script{#2}% + \if@tempswa + \c@zf@script\@tempcnta\relax + \xdef\zf@script@name{#1}% + \xdef\zf@family@long{\zf@family@long+script=#1}% + \xdef\zf@pre@ff{script=#2,\zf@pre@ff}% + \else + \zf@PackageWarning{Font \fontname\zf@basefont does not contain script '#1'}% + \fi}} +\newcommand*\newfontlanguage[2]{% + \define@key[zf@feat]{Lang}{#1}[]{% + \zf@check@ot@lang{#2}% + \if@tempswa + \c@zf@language\@tempcnta\relax + \xdef\zf@language@name{#1}% + \xdef\zf@family@long{\zf@family@long+lang=#1}% + \xdef\zf@pre@ff{\zf@pre@ff language=#2,}% + \else + \zf@PackageWarning{Font \fontname\zf@basefont does not contain + language '#1' for script '\zf@script@name'}% + \fi}} +\providecommand\def@cx[2]{\expandafter\edef\csname#1\endcsname{#2}} +\providecommand\gdef@cx[2]{\expandafter\xdef\csname#1\endcsname{#2}} +\providecommand\let@cc[2]{\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\newcommand*\zf@fontspec[2]{% + \begingroup + \zf@init + \edef\zf@fontname{#2}% + \let\zf@family@long\zf@fontname + \setkeys*[zf]{preparse}{#1}% + \edef\zf@font@feat{\zf@font@feat\XKV@rm}% + \unless\ifdefined\zf@basefont + \font\zf@basefont="\zf@fontname\zf@suffix" at \f@size pt + \fi + \zf@set@font@type + \zf@firsttimetrue + \zf@get@feature@requests{\zf@font@feat}% + \zf@firsttimefalse + \unless\ifcsname zf@UID@\zf@family@long\endcsname + \ifcsname c@zf@famc@#2\endcsname + \expandafter\stepcounter\else + \expandafter\newcounter\fi + {zf@famc@#2}% + \def@cx{zf@UID@\zf@family@long}{% + \zap@space#2 \@empty + (\expandafter\the\csname c@zf@famc@#2\endcsname)}% + \fi + \xdef\zf@family{\@nameuse{zf@UID@\zf@family@long}}% + \unless\ifcsname zf@family@fontname\zf@family\endcsname + \zf@PackageInfo{Defining font family for "#2" + with options [\zf@default@options #1]}% + \gdef@cx{zf@family@fontname\zf@family}{\zf@fontname}% + \gdef@cx{zf@family@options\zf@family}{\zf@default@options #1}% + \gdef@cx{zf@family@fontdef\zf@family}{\zf@fontname\zf@suffix:\zf@pre@ff\zf@ff}% + \DeclareFontFamily{\zf@enc}{\zf@family}{}% + \zf@make@font@shapes{\zf@fontname}{\mddefault}{\updefault}{\zf@font@feat\zf@up@feat}% + \ifx\zf@bf\@empty + \zf@make@font@shapes[\zf@fontname]{/B}{\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \else + \zf@make@font@shapes{\zf@bf}{\bfdefault}{\updefault}{\zf@font@feat\zf@bf@feat}% + \fi + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/I}{\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \else + \zf@make@font@shapes{\zf@it}{\mddefault}{\itdefault}{\zf@font@feat\zf@it@feat}% + \fi + \ifx\zf@bfit\@empty + \ifx\zf@bf\@empty + \ifx\zf@it\@empty + \zf@make@font@shapes[\zf@fontname]{/BI}{\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \else + \zf@make@font@shapes[\zf@it]{/B}{\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes[\zf@bf]{/I}{\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \else + \zf@make@font@shapes{\zf@bfit}{\bfdefault}{\itdefault}{\zf@font@feat\zf@bfit@feat}% + \fi + \fi + \endgroup + } +\newcommand*\zf@set@font@type{% + \zf@tfmfalse \zf@atsuifalse \zf@icufalse \zf@mmfalse + \ifcase\XeTeXfonttype\zf@basefont + \zf@tfm + \or + \zf@atsuitrue + \ifnum\XeTeXcountvariations\zf@basefont > 0 + \zf@mmtrue + \fi + \or + \zf@icutrue + \fi} +\newcommand*\zf@make@font@shapes[5][]{% + \bgroup + \edef\@tempa{#1}% + \ifx\@tempa\@empty\else + \font\@tempfonta="#1\zf@suffix" at \f@size pt + \edef\@tempa{\fontname\@tempfonta}% + \fi + \font\@tempfontb="#1#2\zf@suffix" at \f@size pt + \edef\@tempb{\fontname\@tempfontb}% + \ifx\@tempa\@tempb + \zf@PackageInfo{Could not resolve font #1#2 (it might not exist)}% + \else + \edef\zf@fontname{#1#2}% + \let\zf@basefont\@tempfontb + \zf@DeclareFontShape{#3}{#4}{#5}% + \ifx\zf@sc\@empty + \zf@make@smallcaps + \ifx\zf@smallcaps\@empty\else + \zf@DeclareFontShape[\zf@smallcaps]{#3} + {\ifx#4\itdefault\sidefault\else\scdefault\fi}{#5\zf@sc@feat}% + \fi + \else + \edef\zf@fontname{\zf@sc}% + \zf@DeclareFontShape{#3} + {\ifx#4\itdefault\sidefault\else\scdefault\fi}{#5\zf@sc@feat}% + \fi + \fi + \egroup} +\newcommand\zf@DeclareFontShape[4][]{% + \zf@get@feature@requests{#4}% + \def\@tempb{"\zf@fontname\zf@suffix:\zf@pre@ff\zf@ff#1"}% + \zf@PackageInfo{\string\font\space is \@tempb}% + \edef\@tempa{\noexpand + \DeclareFontShape{\zf@enc}{\zf@family}{#2}{#3} + {<->\zf@scale\@tempb}{\zf@adjust}}% + \@tempa + \edef\@tempa{#3}\edef\@tempb{\itdefault}% + \ifx\@tempa\@tempb + \edef\@tempa{\noexpand + \DeclareFontShape{\zf@enc}{\zf@family}{#2}{\sldefault} + {<->sub*\zf@family/#2/\itdefault}{\zf@adjust}}% + \@tempa + \fi} +\newcommand*{\zf@update@family}[1]{% + \ifzf@firsttime + \xdef\zf@family@long{\zf@family@long#1}% + \fi} +\newcommand*\zf@get@feature@requests[1]{% + \let\zf@ff \@empty + \let\zf@scale \@empty + \let\zf@adjust \@empty + \edef\@tempa{\noexpand\setkeys[zf]{options}{\zf@default@options#1}}% + \@tempa} +\newcommand*\zf@init{% + \let\zf@pre@ff \@empty + \let\zf@font@feat \@empty + \let\zf@suffix \@empty + \let\zf@bf \@empty + \let\zf@it \@empty + \let\zf@bfit \@empty + \let\zf@sc \@empty + \let\zf@up@feat \@empty + \let\zf@bf@feat \@empty + \let\zf@it@feat \@empty + \let\zf@bfit@feat \@empty + \let\zf@sc@feat \@empty + \c@zf@script 1818326126\relax + \def\zf@script@name{Latin}% + \c@zf@language 0\relax + \def\zf@language@name{Default}% +} +\newcommand*\zf@make@smallcaps{% + \let\zf@smallcaps\@empty + \ifzf@atsui + \zf@make@aat@feature@string{3}{3}% + \unless\ifx\zf@thisfontfeature\@empty + \edef\zf@smallcaps{\zf@thisfontfeature;}% + \fi + \fi + \ifzf@icu + \zf@check@ot@feat{+smcp}% + \if@tempswa + \edef\zf@smallcaps{+smcp,}% + \fi + \fi} +\newcommand*\zf@update@ff[1]{% + \unless\ifzf@firsttime + \xdef\zf@ff{\zf@ff #1\ifzf@icu,\else;\fi}% + \fi} +\newcommand*\zf@make@feature[3]{% + \ifzf@atsui + \zf@make@aat@feature@string{#1}{#2}% + \ifx\zf@thisfontfeature\@empty + \zf@PackageWarning{% + AAT feature '\XKV@tfam=\XKV@tkey' + (#1,#2) not available in font \fontname\zf@basefont}% + \else + \zf@update@family{+#1,#2}% + \zf@update@ff\zf@thisfontfeature + \fi + \fi + \ifzf@icu + \zf@check@ot@feat{#3}% + \if@tempswa + \zf@update@family{#3}% + \zf@update@ff{#3}% + \else + \zf@PackageWarning{% + OpenType feature '\XKV@tfam=\XKV@tkey' (#3) + not available in font \fontname\zf@basefont, script + '\zf@script@name', language '\zf@language@name'}% + \fi + \fi} +\newcommand*\zf@define@font@feature[1]{% + \define@key[zf]{options}{#1}{{\setkeys[zf@feat]{#1}{##1}}}} +\newcommand*\zf@define@feature@option[5]{% + \define@key[zf@feat]{#1}{#2}[]{\zf@make@feature{#3}{#4}{#5}}} +\newcommand*\keyval@alias@key[4][KV]{% + \let@cc{#1@#2@#4}{#1@#2@#3}% + \let@cc{#1@#2@#4@default}{#1@#2@#3@default}} +\newcommand*\multi@alias@key[2]{ + \key@ifundefined[zf]{preparse}{#1} + {\key@ifundefined[zf]{options}{#1} + {\zf@PackageError{The feature #1 doesn't appear to be defined} + {It looks like you're trying to rename a feature that doesn't exist.}} + {\keyval@alias@key[zf]{options}{#1}{#2}}} + {\keyval@alias@key[zf]{preparse}{#1}{#2}}} +\newcommand*\zf@make@aat@feature@string[2]{% + \edef\zf@this@featurename{\XeTeXfeaturename\zf@basefont #1}% + \ifx\zf@this@featurename\@empty + \let\zf@thisfontfeature\@empty + \else + \edef\zf@this@selectionname{\XeTeXselectorname\zf@basefont #1 #2}% + \ifx\zf@this@selectionname\@empty + \let\zf@thisfontfeature\@empty + \else + \edef\zf@thisfontfeature{% + \ifnum\XeTeXisexclusivefeature\zf@basefont #1 > 0 + \zf@this@featurename=\zf@this@selectionname + \else + \ifodd #2 + \zf@this@featurename=!\zf@this@selectionname + \else + \zf@this@featurename=\zf@this@selectionname + \fi + \fi}% + \fi + \fi} +\newcommand\zf@iv@strnum[1]{% + \zf@iv@strnum@i#1 \@nil} +\def\zf@iv@strnum@i#1 \@nil{% + \zf@iv@strnum@ii#1\@empty\@empty\@nil} +\def\zf@iv@strnum@ii#1#2#3#4#5\@nil{% + \@tempcnta\z@ + \@tempcntb`#1\relax + \multiply\@tempcntb"1000000\advance\@tempcnta\@tempcntb + \@tempcntb`#2 + \multiply\@tempcntb"10000\advance\@tempcnta\@tempcntb + \expandafter\@tempcntb\ifx\@empty#332\else`#3\fi + \multiply\@tempcntb"100\advance\@tempcnta\@tempcntb + \expandafter\@tempcntb\ifx\@empty#432\else`#4\fi + \advance\@tempcnta\@tempcntb} +\newcommand\zf@v@strnum[1]{% + \expandafter\zf@iv@strnum@i\@gobble#1 \@nil} +\newcommand\zf@check@ot@script[1]{% + \zf@iv@strnum{#1}% + \@tempcntb\XeTeXOTcountscripts\zf@basefont + \c@zf@index\z@ \@tempswafalse + \loop\ifnum\c@zf@index<\@tempcntb + \ifnum\XeTeXOTscripttag\zf@basefont\c@zf@index=\@tempcnta + \@tempswatrue + \c@zf@index\@tempcntb + \else + \advance\c@zf@index\@ne + \fi + \repeat} +\newcommand\zf@check@ot@lang[1]{% + \zf@iv@strnum{#1}% + \@tempcntb\XeTeXOTcountlanguages\zf@basefont\c@zf@script + \c@zf@index\z@ \@tempswafalse + \loop\ifnum\c@zf@index<\@tempcntb + \ifnum\XeTeXOTlanguagetag\zf@basefont\c@zf@script\c@zf@index=\@tempcnta + \@tempswatrue + \c@zf@index\@tempcntb + \else + \advance\c@zf@index\@ne + \fi + \repeat} +\newcommand*\zf@check@ot@feat[1]{% + \@tempcntb\XeTeXOTcountfeatures\zf@basefont\c@zf@script\c@zf@language + \zf@v@strnum{#1}% + \c@zf@index\z@ \@tempswafalse + \loop\ifnum\c@zf@index<\@tempcntb + \ifnum\XeTeXOTfeaturetag\zf@basefont\c@zf@script\c@zf@language\c@zf@index=\@tempcnta + \@tempswatrue + \c@zf@index\@tempcntb + \else + \advance\c@zf@index\@ne + \fi + \repeat} +\define@key[zf]{preparse}{BoldFont}{% + \zf@partial@fontname#1\@nil + \let\zf@bf\@tempa + \edef\zf@family@long{\zf@family@long bf:#1}} +\define@key[zf]{preparse}{ItalicFont}{% + \zf@partial@fontname#1\@nil + \let\zf@it\@tempa + \edef\zf@family@long{\zf@family@long it:#1}} +\define@key[zf]{preparse}{BoldItalicFont}{% + \zf@partial@fontname#1\@nil + \let\zf@bfit\@tempa + \edef\zf@family@long{\zf@family@long bfit:#1}} +\define@key[zf]{options}{SmallCapsFont}{% + \zf@partial@fontname#1\@nil + \let\zf@sc\@tempa + \zf@update@family{sc:\zap@space #1 \@empty}} +\def\zf@partial@fontname#1#2\@nil{% + \if#1*\relax + \edef\@tempa{\zf@fontname#2}% + \else + \edef\@tempa{#1#2}% + \fi} +\define@key[zf]{preparse}{UprightFeatures}{% + \def\zf@up@feat{,#1}% + \edef\zf@family@long{\zf@family@long rmfeat:#1}} +\define@key[zf]{preparse}{BoldFeatures}{% + \def\zf@bf@feat{,#1}% + \edef\zf@family@long{\zf@family@long bffeat:#1}} +\define@key[zf]{preparse}{ItalicFeatures}{% + \def\zf@it@feat{,#1}% + \edef\zf@family@long{\zf@family@long itfeat:#1}} +\define@key[zf]{preparse}{BoldItalicFeatures}{% + \def\zf@bfit@feat{,#1}% + \edef\zf@family@long{\zf@family@long bfitfeat:#1}} +\define@key[zf]{options}{SmallCapsFeatures}{% + \unless\ifzf@firsttime\def\zf@sc@feat{,#1}\fi + \zf@update@family{scfeat:\zap@space #1 \@empty}} +\define@choicekey[zf]{preparse}{Renderer}{AAT,ICU}{% + \edef\zf@suffix{\zf@suffix/#1}% + \font\zf@basefont="\zf@fontname\zf@suffix" at \f@size pt + \edef\zf@family@long{\zf@family@long +rend:#1}} +\define@key[zf]{preparse}{Script}{% + \edef\zf@suffix{\zf@suffix/ICU}% + \font\zf@basefont="\zf@fontname\zf@suffix" at \f@size pt + \edef\zf@family@long{\zf@family@long +script:#1} + {\setkeys[zf@feat]{Script}{#1}}} +\define@key[zf]{preparse}{Language}{% + \edef\zf@suffix{\zf@suffix/ICU}% + \font\zf@basefont="\zf@fontname\zf@suffix" at \f@size pt + \edef\zf@family@long{\zf@family@long +language:#1} + {\setkeys[zf@feat]{Lang}{#1}}} +\define@key[zf]{options}{Scale}{% + \edef\@tempa{#1}% + \edef\@tempb{MatchLowercase}% + \ifx\@tempa\@tempb + \zf@calc@scale{5}% + \else + \edef\@tempb{MatchUppercase}% + \ifx\@tempa\@tempb + \zf@calc@scale{8}% + \else + \edef\zf@scale{#1}% + \fi + \fi + \zf@update@family{+scale:\zf@scale}% + \edef\zf@scale{s*[\zf@scale]}} +\newcommand\zf@calc@scale[1]{% + \begingroup + \rmfamily + \setlength\@tempdima{\fontdimen#1\font}% + \setlength\@tempdimb{\fontdimen#1\zf@basefont}% + \setlength\@tempdimc{1pt*\ratio{\@tempdima}{\@tempdimb}}% + \xdef\zf@scale{\strip@pt\@tempdimc} + \zf@PackageInfo{\zf@fontname\space scale = \zf@scale}% + \endgroup} +\define@key[zf]{options}{WordSpace}{% + \zf@update@family{+wordspace:#1}% + \unless\ifzf@firsttime + \zf@wordspace@parse#1,\zf@@ii,\zf@@iii,\zf@@ + \fi} +\def\zf@wordspace@parse#1,#2,#3,#4\zf@@{% + \def\@tempa{#4}% + \ifx\@tempa\@empty + \g@addto@macro\zf@adjust{% + \fontdimen2\font#1\fontdimen2\font + \fontdimen3\font#1\fontdimen3\font + \fontdimen4\font#1\fontdimen4\font}% + \else + \g@addto@macro\zf@adjust{% + \fontdimen2\font#1\fontdimen2\font + \fontdimen3\font#2\fontdimen3\font + \fontdimen4\font#3\fontdimen4\font}% + \fi} +\define@key[zf]{options}{PunctuationSpace}{% + \zf@update@family{+punctspace:#1}% + \g@addto@macro\zf@adjust{% + \fontdimen7\font#1\fontdimen7\font}} +\define@key[zf]{options}{LetterSpace}{% + \zf@update@family{+tracking:#1}% + \zf@update@ff{letterspace=#1}} +\define@key[zf]{options}{HyphenChar}{% + \zf@update@family{+hyphenchar:#1}% + \edef\@tempa{#1}% + \edef\@tempb{None}% + \ifx\@tempa\@tempb + \g@addto@macro\zf@adjust{\hyphenchar\font-1\relax}% + \else + \zf@check@one@char#1\zf@@ + \ifx\@tempb\@empty + \g@addto@macro\zf@adjust{% + {\expandafter\hyphenchar\expandafter + \font\expandafter`#1}}% + \else + \g@addto@macro\zf@adjust{\hyphenchar\font#1\relax} + \fi + \fi} +\def\zf@check@one@char#1#2\zf@@{\def\@tempb{#2}} +\define@key[zf]{options}{Colour}{% + \zf@update@family{+col:#1}% + \zf@update@ff{color=#1}} +\keyval@alias@key[zf]{options}{Colour}{Color} +\define@key[zf]{options}{Mapping}{% + \zf@update@family{+map:#1}% + \zf@update@ff{mapping=#1}} +\define@key[zf]{options}{Weight}{% + \zf@update@family{+weight:#1}% + \zf@update@ff{weight=#1}} +\define@key[zf]{options}{Width}{% + \zf@update@family{+width:#1}% + \zf@update@ff{width=#1}} +\define@key[zf]{options}{OpticalSize}{% + \ifzf@icu + \edef\zf@suffix{\zf@suffix/S=#1}% + \zf@update@family{+size:#1} + \fi + \ifzf@mm + \zf@update@family{+size:#1}% + \zf@update@ff{optical size=#1} + \fi + \ifzf@icu\else + \ifzf@mm\else + \ifzf@firsttime + \zf@PackageWarning + {\fontname\zf@basefont\space doesn't appear to have an Optical Size axis} + \fi + \fi + \fi} +\zf@define@font@feature{Ligatures} +\zf@define@feature@option{Ligatures}{Required} {1}{0}{+rlig} +\zf@define@feature@option{Ligatures}{NoRequired} {1}{1}{-rlig} +\zf@define@feature@option{Ligatures}{Common} {1}{2}{+liga} +\zf@define@feature@option{Ligatures}{NoCommon} {1}{3}{-liga} +\zf@define@feature@option{Ligatures}{Rare} {1}{4}{+dlig} +\zf@define@feature@option{Ligatures}{NoRare} {1}{5}{-dlig} +\zf@define@feature@option{Ligatures}{Discretionary} {1}{4}{+dlig} +\zf@define@feature@option{Ligatures}{NoDiscretionary}{1}{5}{-dlig} +\zf@define@feature@option{Ligatures}{Contextual} {}{} {+clig} +\zf@define@feature@option{Ligatures}{NoContextual} {}{} {-clig} +\zf@define@feature@option{Ligatures}{Historical} {}{} {+hlig} +\zf@define@feature@option{Ligatures}{NoHistorical} {}{} {-hlig} +\zf@define@feature@option{Ligatures}{Logos} {1}{6} {} +\zf@define@feature@option{Ligatures}{NoLogos} {1}{7} {} +\zf@define@feature@option{Ligatures}{Rebus} {1}{8} {} +\zf@define@feature@option{Ligatures}{NoRebus} {1}{9} {} +\zf@define@feature@option{Ligatures}{Diphthong} {1}{10}{} +\zf@define@feature@option{Ligatures}{NoDiphthong} {1}{11}{} +\zf@define@feature@option{Ligatures}{Squared} {1}{12}{} +\zf@define@feature@option{Ligatures}{NoSquared} {1}{13}{} +\zf@define@feature@option{Ligatures}{AbbrevSquared} {1}{14}{} +\zf@define@feature@option{Ligatures}{NoAbbrevSquared}{1}{15}{} +\zf@define@feature@option{Ligatures}{Icelandic} {1}{32}{} +\zf@define@feature@option{Ligatures}{NoIcelandic} {1}{33}{} +\zf@define@font@feature{Letters} +\zf@define@feature@option{Letters}{Normal}{3}{0}{} +\zf@define@feature@option{Letters}{Uppercase}{3}{1}{+case} +\zf@define@feature@option{Letters}{Lowercase}{3}{2}{} +\zf@define@feature@option{Letters}{SmallCaps}{3}{3}{+smcp} +\zf@define@feature@option{Letters}{PetiteCaps}{}{}{+pcap} +\zf@define@feature@option{Letters}{UppercaseSmallCaps}{}{}{+c2sc} +\zf@define@feature@option{Letters}{UppercasePetiteCaps}{}{}{+c2pc} +\zf@define@feature@option{Letters}{InitialCaps}{3}{4}{} +\zf@define@feature@option{Letters}{Unicase}{}{}{+unic} +\zf@define@font@feature{Numbers} +\zf@define@feature@option{Numbers}{Monospaced}{6}{0}{+tnum} +\zf@define@feature@option{Numbers}{Proportional}{6}{1}{+pnum} +\zf@define@feature@option{Numbers}{Lowercase}{21}{0}{+onum} +\zf@define@feature@option{Numbers}{OldStyle}{21}{0}{+onum} +\zf@define@feature@option{Numbers}{Uppercase}{21}{1}{+lnum} +\zf@define@feature@option{Numbers}{Lining}{21}{1}{+lnum} +\zf@define@feature@option{Numbers}{SlashedZero}{14}{5}{+zero} +\zf@define@feature@option{Numbers}{NoSlashedZero}{14}{4}{-zero} +\zf@define@font@feature{Contextuals} +\zf@define@feature@option{Contextuals}{Swash}{}{}{+cswh} +\zf@define@feature@option{Contextuals}{NoSwash}{}{}{-cswh} +\zf@define@feature@option{Contextuals}{WordInitial}{8}{0}{+init} +\zf@define@feature@option{Contextuals}{NoWordInitial}{8}{1}{-init} +\zf@define@feature@option{Contextuals}{WordFinal}{8}{2}{+fina} +\zf@define@feature@option{Contextuals}{NoWordFinal}{8}{3}{-fina} +\zf@define@feature@option{Contextuals}{LineInitial}{8}{4}{} +\zf@define@feature@option{Contextuals}{NoLineInitial}{8}{5}{} +\zf@define@feature@option{Contextuals}{LineFinal}{8}{6}{+falt} +\zf@define@feature@option{Contextuals}{NoLineFinal}{8}{7}{-falt} +\zf@define@feature@option{Contextuals}{Inner}{8}{8}{+medi} +\zf@define@feature@option{Contextuals}{NoInner}{8}{9}{-medi} +\zf@define@font@feature{Diacritics} +\zf@define@feature@option{Diacritics}{Show}{9}{0}{} +\zf@define@feature@option{Diacritics}{Hide}{9}{1}{} +\zf@define@feature@option{Diacritics}{Decompose}{9}{2}{} +\zf@define@font@feature{Kerning} +\zf@define@feature@option{Kerning}{Uppercase}{}{}{+cpsp} +\zf@define@feature@option{Kerning}{On}{}{}{+kern} +\zf@define@feature@option{Kerning}{Off}{}{}{-kern} +\zf@define@font@feature{VerticalPosition} +\zf@define@feature@option{VerticalPosition}{Normal}{10}{0}{} +\zf@define@feature@option{VerticalPosition}{Superior}{10}{1}{+sups} +\zf@define@feature@option{VerticalPosition}{Inferior}{10}{2}{+subs} +\zf@define@feature@option{VerticalPosition}{ScientificInferior}{}{}{+sinf} +\zf@define@feature@option{VerticalPosition}{Ordinal}{10}{3}{+ordn} +\zf@define@feature@option{VerticalPosition}{Numerator}{}{}{+numr} +\zf@define@feature@option{VerticalPosition}{Denominator}{}{}{+dnom} +\zf@define@font@feature{Fractions} +\zf@define@feature@option{Fractions}{On}{11}{1}{+frac} +\zf@define@feature@option{Fractions}{Off}{11}{0}{-frac} +\zf@define@feature@option{Fractions}{Diagonal}{11}{2}{} +\zf@define@feature@option{Fractions}{Alternate}{}{}{+afrc} +\define@key[zf]{options}{Alternate}{% + \setkeys*[zf@feat]{Alternate}{#1}% + \unless\ifx\XKV@rm\@empty + \zf@make@feature{17}{#1}{}% + \fi} +\define@key[zf]{options}{Variant}{% + \setkeys*[zf@feat]{Variant}{#1}% + \unless\ifx\XKV@rm\@empty + \zf@make@feature{18}{#1}{+ss\two@digits{#1}}% + \fi} +\zf@define@font@feature{Style} +\zf@define@feature@option{Style}{Alternate}{}{}{+salt} +\zf@define@feature@option{Style}{Italic}{32}{2}{+ital} +\zf@define@feature@option{Style}{Ruby}{28}{2}{+ruby} +\zf@define@feature@option{Style}{Swash}{}{}{+swsh} +\zf@define@feature@option{Style}{Historic}{}{}{+hist} +\zf@define@feature@option{Style}{Display}{19}{1}{} +\zf@define@feature@option{Style}{Engraved}{19}{2}{} +\zf@define@feature@option{Style}{TitlingCaps}{19}{4}{+titl} +\zf@define@feature@option{Style}{TallCaps}{19}{5}{} +\zf@define@feature@option{Style}{HorizontalKana}{}{}{+hkna} +\zf@define@feature@option{Style}{VerticalKana}{}{}{+vkna} +\zf@define@font@feature{CJKShape} +\zf@define@feature@option{CJKShape}{Traditional}{20}{0}{+trad} +\zf@define@feature@option{CJKShape}{Simplified}{20}{1}{+smpl} +\zf@define@feature@option{CJKShape}{JIS1978}{20}{2}{+jp78} +\zf@define@feature@option{CJKShape}{JIS1983}{20}{3}{+jp83} +\zf@define@feature@option{CJKShape}{JIS1990}{20}{4}{+jp90} +\zf@define@feature@option{CJKShape}{Expert}{20}{10}{+expt} +\zf@define@feature@option{CJKShape}{NLC}{20}{13}{+nlck} +\zf@define@font@feature{CharacterWidth} +\zf@define@feature@option{CharacterWidth}{Proportional}{22}{0}{+pwid} +\zf@define@feature@option{CharacterWidth}{Full}{22}{1}{+fwid} +\zf@define@feature@option{CharacterWidth}{Half}{22}{2}{+hwid} +\zf@define@feature@option{CharacterWidth}{Third}{22}{3}{+twid} +\zf@define@feature@option{CharacterWidth}{Quarter}{22}{4}{+qwid} +\zf@define@feature@option{CharacterWidth}{AlternateProportional}{22}{5}{+palt} +\zf@define@feature@option{CharacterWidth}{AlternateHalf}{22}{6}{+halt} +\zf@define@feature@option{CharacterWidth}{Default}{22}{7}{} +\zf@define@font@feature{Annotation} +\zf@define@feature@option{Annotation}{Off}{24}{0}{-nalt} +\zf@define@feature@option{Annotation}{On}{}{}{+nalt} +\zf@define@feature@option{Annotation}{Box}{24}{1}{} +\zf@define@feature@option{Annotation}{RoundedBox}{24}{2}{} +\zf@define@feature@option{Annotation}{Circle}{24}{3}{} +\zf@define@feature@option{Annotation}{BlackCircle}{24}{4}{} +\zf@define@feature@option{Annotation}{Parenthesis}{24}{5}{} +\zf@define@feature@option{Annotation}{Period}{24}{6}{} +\zf@define@feature@option{Annotation}{RomanNumerals}{24}{7}{} +\zf@define@feature@option{Annotation}{Diamond}{24}{8}{} +\zf@define@feature@option{Annotation}{BlackSquare}{24}{9}{} +\zf@define@feature@option{Annotation}{BlackRoundSquare}{24}{10}{} +\zf@define@feature@option{Annotation}{DoubleCircle}{24}{11}{} +\zf@define@font@feature{Vertical} +\define@key[zf@feat]{Vertical}{RotatedGlyphs}[]{% + \ifzf@icu + \zf@make@feature{}{}{+vrt2}% + \else + \zf@update@family{+vert}% + \zf@update@ff{vertical}% + \fi} +\newfontscript{Arabic}{arab} \newfontscript{Armenian}{armn} +\newfontscript{Balinese}{bali} \newfontscript{Bengali}{beng} +\newfontscript{Bopomofo}{bopo} \newfontscript{Braille}{brai} +\newfontscript{Buginese}{bugi} \newfontscript{Buhid}{buhd} +\newfontscript{Byzantine Music}{byzm} \newfontscript{Canadian Syllabics}{cans} +\newfontscript{Cherokee}{cher} +\newfontscript{CJK Ideographic}{hani} \newfontscript{Coptic}{copt} +\newfontscript{Cypriot Syllabary}{cprt} \newfontscript{Cyrillic}{cyrl} +\newfontscript{Default}{DFLT} \newfontscript{Deseret}{dsrt} +\newfontscript{Devanagari}{deva} \newfontscript{Ethiopic}{ethi} +\newfontscript{Georgian}{geor} \newfontscript{Glagolitic}{glag} +\newfontscript{Gothic}{goth} \newfontscript{Greek}{grek} +\newfontscript{Gujarati}{gujr} \newfontscript{Gurmukhi}{guru} +\newfontscript{Hangul Jamo}{jamo} \newfontscript{Hangul}{hang} +\newfontscript{Hanunoo}{hano} \newfontscript{Hebrew}{hebr} +\newfontscript{Hiragana and Katakana}{kana} +\newfontscript{Javanese}{java} \newfontscript{Kannada}{knda} +\newfontscript{Kharosthi}{khar} \newfontscript{Khmer}{khmr} +\newfontscript{Lao}{lao } \newfontscript{Latin}{latn} +\newfontscript{Limbu}{limb} \newfontscript{Linear B}{linb} +\newfontscript{Malayalam}{mlym} \newfontscript{Math}{math} +\newfontscript{Mongolian}{mong} +\newfontscript{Musical Symbols}{musc} \newfontscript{Myanmar}{mymr} +\newfontscript{N'ko}{nko } \newfontscript{Ogham}{ogam} +\newfontscript{Old Italic}{ital} \newfontscript{Old Persian Cuneiform}{xpeo} +\newfontscript{Oriya}{orya} \newfontscript{Osmanya}{osma} +\newfontscript{Phags-pa}{phag} \newfontscript{Phoenician}{phnx} +\newfontscript{Runic}{runr} \newfontscript{Shavian}{shaw} +\newfontscript{Sinhala}{sinh} \newfontscript{Sumero-Akkadian Cuneiform}{xsux} +\newfontscript{Syloti Nagri}{sylo} \newfontscript{Syriac}{syrc} +\newfontscript{Tagalog}{tglg} \newfontscript{Tagbanwa}{tagb} +\newfontscript{Tai Le}{tale} \newfontscript{Tai Lu}{talu} +\newfontscript{Tamil}{taml} \newfontscript{Telugu}{telu} +\newfontscript{Thaana}{thaa} \newfontscript{Thai}{thai} +\newfontscript{Tibetan}{tibt} \newfontscript{Tifinagh}{tfng} +\newfontscript{Ugaritic Cuneiform}{ugar}\newfontscript{Yi}{yi } +\newfontlanguage{Abaza}{ABA}\newfontlanguage{Abkhazian}{ABK}\newfontlanguage{Adyghe}{ADY} +\newfontlanguage{Afrikaans}{AFK}\newfontlanguage{Afar}{AFR}\newfontlanguage{Agaw}{AGW} +\newfontlanguage{Altai}{ALT}\newfontlanguage{Amharic}{AMH}\newfontlanguage{Arabic}{ARA} +\newfontlanguage{Aari}{ARI}\newfontlanguage{Arakanese}{ARK}\newfontlanguage{Assamese}{ASM} +\newfontlanguage{Athapaskan}{ATH}\newfontlanguage{Avar}{AVR}\newfontlanguage{Awadhi}{AWA} +\newfontlanguage{Aymara}{AYM}\newfontlanguage{Azeri}{AZE}\newfontlanguage{Badaga}{BAD} +\newfontlanguage{Baghelkhandi}{BAG}\newfontlanguage{Balkar}{BAL}\newfontlanguage{Baule}{BAU} +\newfontlanguage{Berber}{BBR}\newfontlanguage{Bench}{BCH}\newfontlanguage{Bible Cree}{BCR} +\newfontlanguage{Belarussian}{BEL}\newfontlanguage{Bemba}{BEM}\newfontlanguage{Bengali}{BEN} +\newfontlanguage{Bulgarian}{BGR}\newfontlanguage{Bhili}{BHI}\newfontlanguage{Bhojpuri}{BHO} +\newfontlanguage{Bikol}{BIK}\newfontlanguage{Bilen}{BIL}\newfontlanguage{Blackfoot}{BKF} +\newfontlanguage{Balochi}{BLI}\newfontlanguage{Balante}{BLN}\newfontlanguage{Balti}{BLT} +\newfontlanguage{Bambara}{BMB}\newfontlanguage{Bamileke}{BML}\newfontlanguage{Breton}{BRE} +\newfontlanguage{Brahui}{BRH}\newfontlanguage{Braj Bhasha}{BRI}\newfontlanguage{Burmese}{BRM} +\newfontlanguage{Bashkir}{BSH}\newfontlanguage{Beti}{BTI}\newfontlanguage{Catalan}{CAT} +\newfontlanguage{Cebuano}{CEB}\newfontlanguage{Chechen}{CHE}\newfontlanguage{Chaha Gurage}{CHG} +\newfontlanguage{Chattisgarhi}{CHH}\newfontlanguage{Chichewa}{CHI}\newfontlanguage{Chukchi}{CHK} +\newfontlanguage{Chipewyan}{CHP}\newfontlanguage{Cherokee}{CHR}\newfontlanguage{Chuvash}{CHU} +\newfontlanguage{Comorian}{CMR}\newfontlanguage{Coptic}{COP}\newfontlanguage{Cree}{CRE} +\newfontlanguage{Carrier}{CRR}\newfontlanguage{Crimean Tatar}{CRT}\newfontlanguage{Church Slavonic}{CSL} +\newfontlanguage{Czech}{CSY}\newfontlanguage{Danish}{DAN}\newfontlanguage{Dargwa}{DAR} +\newfontlanguage{Woods Cree}{DCR}\newfontlanguage{German}{DEU}\newfontlanguage{Default}{DFLT} +\newfontlanguage{Dogri}{DGR}\newfontlanguage{Divehi}{DIV}\newfontlanguage{Djerma}{DJR} +\newfontlanguage{Dangme}{DNG}\newfontlanguage{Dinka}{DNK}\newfontlanguage{Dungan}{DUN} +\newfontlanguage{Dzongkha}{DZN}\newfontlanguage{Ebira}{EBI}\newfontlanguage{Eastern Cree}{ECR} +\newfontlanguage{Edo}{EDO}\newfontlanguage{Efik}{EFI}\newfontlanguage{Greek}{ELL} +\newfontlanguage{English}{ENG}\newfontlanguage{Erzya}{ERZ}\newfontlanguage{Spanish}{ESP} +\newfontlanguage{Estonian}{ETI}\newfontlanguage{Basque}{EUQ}\newfontlanguage{Evenki}{EVK} +\newfontlanguage{Even}{EVN}\newfontlanguage{Ewe}{EWE}\newfontlanguage{French Antillean}{FAN} +\newfontlanguage{Farsi}{FAR}\newfontlanguage{Finnish}{FIN}\newfontlanguage{Fijian}{FJI} +\newfontlanguage{Flemish}{FLE}\newfontlanguage{Forest Nenets}{FNE}\newfontlanguage{Fon}{FON} +\newfontlanguage{Faroese}{FOS}\newfontlanguage{French}{FRA}\newfontlanguage{Frisian}{FRI} +\newfontlanguage{Friulian}{FRL}\newfontlanguage{Futa}{FTA}\newfontlanguage{Fulani}{FUL} +\newfontlanguage{Ga}{GAD}\newfontlanguage{Gaelic}{GAE}\newfontlanguage{Gagauz}{GAG} +\newfontlanguage{Galician}{GAL}\newfontlanguage{Garshuni}{GAR}\newfontlanguage{Garhwali}{GAW} +\newfontlanguage{Ge'ez}{GEZ}\newfontlanguage{Gilyak}{GIL}\newfontlanguage{Gumuz}{GMZ} +\newfontlanguage{Gondi}{GON}\newfontlanguage{Greenlandic}{GRN}\newfontlanguage{Garo}{GRO} +\newfontlanguage{Guarani}{GUA}\newfontlanguage{Gujarati}{GUJ}\newfontlanguage{Haitian}{HAI} +\newfontlanguage{Halam}{HAL}\newfontlanguage{Harauti}{HAR}\newfontlanguage{Hausa}{HAU} +\newfontlanguage{Hawaiin}{HAW}\newfontlanguage{Hammer-Banna}{HBN}\newfontlanguage{Hiligaynon}{HIL} +\newfontlanguage{Hindi}{HIN}\newfontlanguage{High Mari}{HMA}\newfontlanguage{Hindko}{HND} +\newfontlanguage{Ho}{HO}\newfontlanguage{Harari}{HRI}\newfontlanguage{Croatian}{HRV} +\newfontlanguage{Hungarian}{HUN}\newfontlanguage{Armenian}{HYE}\newfontlanguage{Igbo}{IBO} +\newfontlanguage{Ijo}{IJO}\newfontlanguage{Ilokano}{ILO}\newfontlanguage{Indonesian}{IND} +\newfontlanguage{Ingush}{ING}\newfontlanguage{Inuktitut}{INU}\newfontlanguage{Irish}{IRI} +\newfontlanguage{Irish Traditional}{IRT}\newfontlanguage{Icelandic}{ISL}\newfontlanguage{Inari Sami}{ISM} +\newfontlanguage{Italian}{ITA}\newfontlanguage{Hebrew}{IWR}\newfontlanguage{Javanese}{JAV} +\newfontlanguage{Yiddish}{JII}\newfontlanguage{Japanese}{JAN}\newfontlanguage{Judezmo}{JUD} +\newfontlanguage{Jula}{JUL}\newfontlanguage{Kabardian}{KAB}\newfontlanguage{Kachchi}{KAC} +\newfontlanguage{Kalenjin}{KAL}\newfontlanguage{Kannada}{KAN}\newfontlanguage{Karachay}{KAR} +\newfontlanguage{Georgian}{KAT}\newfontlanguage{Kazakh}{KAZ}\newfontlanguage{Kebena}{KEB} +\newfontlanguage{Khutsuri Georgian}{KGE}\newfontlanguage{Khakass}{KHA}\newfontlanguage{Khanty-Kazim}{KHK} +\newfontlanguage{Khmer}{KHM}\newfontlanguage{Khanty-Shurishkar}{KHS}\newfontlanguage{Khanty-Vakhi}{KHV} +\newfontlanguage{Khowar}{KHW}\newfontlanguage{Kikuyu}{KIK}\newfontlanguage{Kirghiz}{KIR} +\newfontlanguage{Kisii}{KIS}\newfontlanguage{Kokni}{KKN}\newfontlanguage{Kalmyk}{KLM} +\newfontlanguage{Kamba}{KMB}\newfontlanguage{Kumaoni}{KMN}\newfontlanguage{Komo}{KMO} +\newfontlanguage{Komso}{KMS}\newfontlanguage{Kanuri}{KNR}\newfontlanguage{Kodagu}{KOD} +\newfontlanguage{Korean Old Hangul}{KOH}\newfontlanguage{Konkani}{KOK}\newfontlanguage{Kikongo}{KON} +\newfontlanguage{Komi-Permyak}{KOP}\newfontlanguage{Korean}{KOR}\newfontlanguage{Komi-Zyrian}{KOZ} +\newfontlanguage{Kpelle}{KPL}\newfontlanguage{Krio}{KRI}\newfontlanguage{Karakalpak}{KRK} +\newfontlanguage{Karelian}{KRL}\newfontlanguage{Karaim}{KRM}\newfontlanguage{Karen}{KRN} +\newfontlanguage{Koorete}{KRT}\newfontlanguage{Kashmiri}{KSH}\newfontlanguage{Khasi}{KSI} +\newfontlanguage{Kildin Sami}{KSM}\newfontlanguage{Kui}{KUI}\newfontlanguage{Kulvi}{KUL} +\newfontlanguage{Kumyk}{KUM}\newfontlanguage{Kurdish}{KUR}\newfontlanguage{Kurukh}{KUU} +\newfontlanguage{Kuy}{KUY}\newfontlanguage{Koryak}{KYK}\newfontlanguage{Ladin}{LAD} +\newfontlanguage{Lahuli}{LAH}\newfontlanguage{Lak}{LAK}\newfontlanguage{Lambani}{LAM} +\newfontlanguage{Lao}{LAO}\newfontlanguage{Latin}{LAT}\newfontlanguage{Laz}{LAZ} +\newfontlanguage{L-Cree}{LCR}\newfontlanguage{Ladakhi}{LDK}\newfontlanguage{Lezgi}{LEZ} +\newfontlanguage{Lingala}{LIN}\newfontlanguage{Low Mari}{LMA}\newfontlanguage{Limbu}{LMB} +\newfontlanguage{Lomwe}{LMW}\newfontlanguage{Lower Sorbian}{LSB}\newfontlanguage{Lule Sami}{LSM} +\newfontlanguage{Lithuanian}{LTH}\newfontlanguage{Luba}{LUB}\newfontlanguage{Luganda}{LUG} +\newfontlanguage{Luhya}{LUH}\newfontlanguage{Luo}{LUO}\newfontlanguage{Latvian}{LVI} +\newfontlanguage{Majang}{MAJ}\newfontlanguage{Makua}{MAK}\newfontlanguage{Malayalam Traditional}{MAL} +\newfontlanguage{Mansi}{MAN}\newfontlanguage{Marathi}{MAR}\newfontlanguage{Marwari}{MAW} +\newfontlanguage{Mbundu}{MBN}\newfontlanguage{Manchu}{MCH}\newfontlanguage{Moose Cree}{MCR} +\newfontlanguage{Mende}{MDE}\newfontlanguage{Me'en}{MEN}\newfontlanguage{Mizo}{MIZ} +\newfontlanguage{Macedonian}{MKD}\newfontlanguage{Male}{MLE}\newfontlanguage{Malagasy}{MLG} +\newfontlanguage{Malinke}{MLN}\newfontlanguage{Malayalam Reformed}{MLR}\newfontlanguage{Malay}{MLY} +\newfontlanguage{Mandinka}{MND}\newfontlanguage{Mongolian}{MNG}\newfontlanguage{Manipuri}{MNI} +\newfontlanguage{Maninka}{MNK}\newfontlanguage{Manx Gaelic}{MNX}\newfontlanguage{Moksha}{MOK} +\newfontlanguage{Moldavian}{MOL}\newfontlanguage{Mon}{MON}\newfontlanguage{Moroccan}{MOR} +\newfontlanguage{Maori}{MRI} \newfontlanguage{Maithili}{MTH} \newfontlanguage{Maltese}{MTS} +\newfontlanguage{Mundari}{MUN} \newfontlanguage{Naga-Assamese}{NAG} \newfontlanguage{Nanai}{NAN} +\newfontlanguage{Naskapi}{NAS} \newfontlanguage{N-Cree}{NCR} \newfontlanguage{Ndebele}{NDB} +\newfontlanguage{Ndonga}{NDG} \newfontlanguage{Nepali}{NEP} \newfontlanguage{Newari}{NEW} +\newfontlanguage{Nagari}{NGR} \newfontlanguage{Norway House Cree}{NHC} \newfontlanguage{Nisi}{NIS} +\newfontlanguage{Niuean}{NIU} \newfontlanguage{Nkole}{NKL} \newfontlanguage{N'ko}{NKO} +\newfontlanguage{Dutch}{NLD} \newfontlanguage{Nogai}{NOG} \newfontlanguage{Norwegian}{NOR} +\newfontlanguage{Northern Sami}{NSM} \newfontlanguage{Northern Tai}{NTA} \newfontlanguage{Esperanto}{NTO} +\newfontlanguage{Nynorsk}{NYN} \newfontlanguage{Oji-Cree}{OCR} \newfontlanguage{Ojibway}{OJB} +\newfontlanguage{Oriya}{ORI} \newfontlanguage{Oromo}{ORO} \newfontlanguage{Ossetian}{OSS} +\newfontlanguage{Palestinian Aramaic}{PAA} \newfontlanguage{Pali}{PAL} \newfontlanguage{Punjabi}{PAN} +\newfontlanguage{Palpa}{PAP} \newfontlanguage{Pashto}{PAS} \newfontlanguage{Polytonic Greek}{PGR} +\newfontlanguage{Pilipino}{PIL} \newfontlanguage{Palaung}{PLG} \newfontlanguage{Polish}{PLK} +\newfontlanguage{Provencal}{PRO} \newfontlanguage{Portuguese}{PTG} \newfontlanguage{Chin}{QIN} +\newfontlanguage{Rajasthani}{RAJ} \newfontlanguage{R-Cree}{RCR} \newfontlanguage{Russian Buriat}{RBU} +\newfontlanguage{Riang}{RIA} \newfontlanguage{Rhaeto-Romanic}{RMS} \newfontlanguage{Romanian}{ROM} +\newfontlanguage{Romany}{ROY} \newfontlanguage{Rusyn}{RSY} \newfontlanguage{Ruanda}{RUA} +\newfontlanguage{Russian}{RUS} \newfontlanguage{Sadri}{SAD} \newfontlanguage{Sanskrit}{SAN} +\newfontlanguage{Santali}{SAT} \newfontlanguage{Sayisi}{SAY} \newfontlanguage{Sekota}{SEK} +\newfontlanguage{Selkup}{SEL} \newfontlanguage{Sango}{SGO} \newfontlanguage{Shan}{SHN} +\newfontlanguage{Sibe}{SIB} \newfontlanguage{Sidamo}{SID} \newfontlanguage{Silte Gurage}{SIG} +\newfontlanguage{Skolt Sami}{SKS} \newfontlanguage{Slovak}{SKY} \newfontlanguage{Slavey}{SLA} +\newfontlanguage{Slovenian}{SLV} \newfontlanguage{Somali}{SML} \newfontlanguage{Samoan}{SMO} +\newfontlanguage{Sena}{SNA} \newfontlanguage{Sindhi}{SND} \newfontlanguage{Sinhalese}{SNH} +\newfontlanguage{Soninke}{SNK} \newfontlanguage{Sodo Gurage}{SOG} \newfontlanguage{Sotho}{SOT} +\newfontlanguage{Albanian}{SQI} \newfontlanguage{Serbian}{SRB} \newfontlanguage{Saraiki}{SRK} +\newfontlanguage{Serer}{SRR} \newfontlanguage{South Slavey}{SSL} \newfontlanguage{Southern Sami}{SSM} +\newfontlanguage{Suri}{SUR} \newfontlanguage{Svan}{SVA} \newfontlanguage{Swedish}{SVE} +\newfontlanguage{Swadaya Aramaic}{SWA} \newfontlanguage{Swahili}{SWK} \newfontlanguage{Swazi}{SWZ} +\newfontlanguage{Sutu}{SXT} \newfontlanguage{Syriac}{SYR} \newfontlanguage{Tabasaran}{TAB} +\newfontlanguage{Tajiki}{TAJ} \newfontlanguage{Tamil}{TAM} \newfontlanguage{Tatar}{TAT} +\newfontlanguage{TH-Cree}{TCR} \newfontlanguage{Telugu}{TEL} \newfontlanguage{Tongan}{TGN} +\newfontlanguage{Tigre}{TGR} \newfontlanguage{Tigrinya}{TGY} \newfontlanguage{Thai}{THA} +\newfontlanguage{Tahitian}{THT} \newfontlanguage{Tibetan}{TIB} \newfontlanguage{Turkmen}{TKM} +\newfontlanguage{Temne}{TMN} \newfontlanguage{Tswana}{TNA} \newfontlanguage{Tundra Nenets}{TNE} +\newfontlanguage{Tonga}{TNG} \newfontlanguage{Todo}{TOD} \newfontlanguage{Turkish}{TUR} +\newfontlanguage{Tsonga}{TSG} \newfontlanguage{Turoyo Aramaic}{TUA} \newfontlanguage{Tulu}{TUL} +\newfontlanguage{Tuvin}{TUV} \newfontlanguage{Twi}{TWI} \newfontlanguage{Udmurt}{UDM} +\newfontlanguage{Ukrainian}{UKR} \newfontlanguage{Urdu}{URD} \newfontlanguage{Upper Sorbian}{USB} +\newfontlanguage{Uyghur}{UYG} \newfontlanguage{Uzbek}{UZB} \newfontlanguage{Venda}{VEN} +\newfontlanguage{Vietnamese}{VIT} \newfontlanguage{Wa}{WA} \newfontlanguage{Wagdi}{WAG} +\newfontlanguage{West-Cree}{WCR} \newfontlanguage{Welsh}{WEL} \newfontlanguage{Wolof}{WLF} +\newfontlanguage{Tai Lue}{XBD} \newfontlanguage{Xhosa}{XHS} \newfontlanguage{Yakut}{YAK} +\newfontlanguage{Yoruba}{YBA} \newfontlanguage{Y-Cree}{YCR} \newfontlanguage{Yi Classic}{YIC} +\newfontlanguage{Yi Modern}{YIM} \newfontlanguage{Chinese Hong Kong}{ZHH} +\newfontlanguage{Chinese Phonetic}{ZHP} \newfontlanguage{Chinese Simplified}{ZHS} +\newfontlanguage{Chinese Traditional}{ZHT} \newfontlanguage{Zande}{ZND} \newfontlanguage{Zulu}{ZUL} +\providecommand*{\sidefault}{si} +\DeclareRobustCommand{\sishape}{% + \not@math@alphabet\sishape\relax + \fontshape\sidefault\selectfont} +\DeclareTextFontCommand{\textsi}{\sishape} +\newcommand*{\zf@merge@shape}[3]{% + \edef\@tempa{#1}% + \edef\@tempb{#2}% + \ifx\f@shape\@tempb + \ifcsname\f@encoding/\f@family/\f@series/#3\endcsname + \edef\@tempa{#3}% + \fi + \fi + \fontshape{\@tempa}\selectfont} +\DeclareRobustCommand{\itshape}{% + \not@math@alphabet\itshape\mathit + \zf@merge@shape\itdefault\scdefault\sidefault} +\DeclareRobustCommand{\slshape}{% + \not@math@alphabet\slshape\relax + \zf@merge@shape\sldefault\scdefault\sidefault} +\DeclareRobustCommand{\scshape}{% + \not@math@alphabet\scshape\relax + \zf@merge@shape\scdefault\itdefault\sidefault} +\DeclareRobustCommand{\upshape}{% + \not@math@alphabet\upshape\relax + \zf@merge@shape\updefault\sidefault\scdefault} +\AtBeginDocument{% + \DeclareRobustCommand\em + {\@nomath\em + \edef\@tempa{\f@shape}% + \edef\@tempb{\itdefault}% + \ifx\@tempa\@tempb + \eminnershape + \else + \emshape + \fi}} +\DeclareTextFontCommand{\emph}{\em} +\let\emshape\itshape +\let\eminnershape\upshape +\@ifpackageloaded{euler}{\zf@euler@package@loadedtrue} + {\zf@euler@package@loadedfalse} +\AtBeginDocument{% + \let\zf@font@warning\@font@warning + \let\@font@warning\@font@info + \@ifpackageloaded{euler}{% + \ifzf@euler@package@loaded + \zf@math@eulertrue + \else + \zf@PackageError{The euler package must be loaded BEFORE fontspec} + {fontspec only overwrites euler's attempt to \MessageBreak + define the maths text fonts if fontspec is \MessageBreak + loaded after euler. Type <return> to proceed\MessageBreak + with incorrect \protect\mathit, \protect\mathbf, etc} + \fi}{} + \@ifpackageloaded{lucbmath}{\zf@math@lucidatrue}{} + \@ifpackageloaded{lucidabr}{\zf@math@lucidatrue}{} + \@ifpackageloaded{lucimatx}{\zf@math@lucidatrue}{} + \DeclareSymbolFont{legacymaths}{OT1}{cmr}{m}{n} + \SetSymbolFont{legacymaths}{bold}{OT1}{cmr}{bx}{n} + \DeclareMathAccent{\acute} {\mathalpha}{legacymaths}{19} + \DeclareMathAccent{\grave} {\mathalpha}{legacymaths}{18} + \DeclareMathAccent{\ddot} {\mathalpha}{legacymaths}{127} + \DeclareMathAccent{\tilde} {\mathalpha}{legacymaths}{126} + \DeclareMathAccent{\bar} {\mathalpha}{legacymaths}{22} + \DeclareMathAccent{\breve} {\mathalpha}{legacymaths}{21} + \DeclareMathAccent{\check} {\mathalpha}{legacymaths}{20} + \DeclareMathAccent{\hat} {\mathalpha}{legacymaths}{94} % too bad, euler + \DeclareMathAccent{\dot} {\mathalpha}{legacymaths}{95} + \DeclareMathAccent{\mathring}{\mathalpha}{legacymaths}{23} + \begingroup + \mathchardef\@tempa="603A % + \let\next\egroup + \ifx\colon\@tempa + \DeclareMathSymbol{\colon}{\mathpunct}{legacymaths}{58} + \fi + \endgroup + \ifzf@math@euler\else + \DeclareMathSymbol{!}{\mathclose}{legacymaths}{33} + \DeclareMathSymbol{:}{\mathrel} {legacymaths}{58} + \DeclareMathSymbol{;}{\mathpunct}{legacymaths}{59} + \DeclareMathSymbol{?}{\mathclose}{legacymaths}{63} + \ifzf@math@lucida\else + \DeclareMathSymbol{0}{\mathalpha}{legacymaths}{`0} + \DeclareMathSymbol{1}{\mathalpha}{legacymaths}{`1} + \DeclareMathSymbol{2}{\mathalpha}{legacymaths}{`2} + \DeclareMathSymbol{3}{\mathalpha}{legacymaths}{`3} + \DeclareMathSymbol{4}{\mathalpha}{legacymaths}{`4} + \DeclareMathSymbol{5}{\mathalpha}{legacymaths}{`5} + \DeclareMathSymbol{6}{\mathalpha}{legacymaths}{`6} + \DeclareMathSymbol{7}{\mathalpha}{legacymaths}{`7} + \DeclareMathSymbol{8}{\mathalpha}{legacymaths}{`8} + \DeclareMathSymbol{9}{\mathalpha}{legacymaths}{`9} + \DeclareMathSymbol{\Gamma}{\mathalpha}{legacymaths}{0} + \DeclareMathSymbol{\Delta}{\mathalpha}{legacymaths}{1} + \DeclareMathSymbol{\Theta}{\mathalpha}{legacymaths}{2} + \DeclareMathSymbol{\Lambda}{\mathalpha}{legacymaths}{3} + \DeclareMathSymbol{\Xi}{\mathalpha}{legacymaths}{4} + \DeclareMathSymbol{\Pi}{\mathalpha}{legacymaths}{5} + \DeclareMathSymbol{\Sigma}{\mathalpha}{legacymaths}{6} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{legacymaths}{7} + \DeclareMathSymbol{\Phi}{\mathalpha}{legacymaths}{8} + \DeclareMathSymbol{\Psi}{\mathalpha}{legacymaths}{9} + \DeclareMathSymbol{\Omega}{\mathalpha}{legacymaths}{10} + \DeclareMathSymbol{+}{\mathbin}{legacymaths}{43} + \DeclareMathSymbol{=}{\mathrel}{legacymaths}{61} + \DeclareMathDelimiter{(}{\mathopen} {legacymaths}{40}{largesymbols}{0} + \DeclareMathDelimiter{)}{\mathclose}{legacymaths}{41}{largesymbols}{1} + \DeclareMathDelimiter{[}{\mathopen} {legacymaths}{91}{largesymbols}{2} + \DeclareMathDelimiter{]}{\mathclose}{legacymaths}{93}{largesymbols}{3} + \DeclareMathDelimiter{/}{\mathord}{legacymaths}{47}{largesymbols}{14} + \DeclareMathSymbol{\mathdollar}{\mathord}{legacymaths}{36} + \fi + \fi + \DeclareSymbolFont{operators}\zf@enc\zf@rmmaths\mddefault\updefault + \SetSymbolFont{operators}{normal}\zf@enc\zf@rmmaths\mddefault\updefault + \SetMathAlphabet\mathrm{normal}\zf@enc\zf@rmmaths\mddefault\updefault + \SetMathAlphabet\mathit{normal}\zf@enc\zf@rmmaths\mddefault\itdefault + \SetMathAlphabet\mathbf{normal}\zf@enc\zf@rmmaths\bfdefault\updefault + \SetMathAlphabet\mathsf{normal}\zf@enc\zf@sfmaths\mddefault\updefault + \SetMathAlphabet\mathtt{normal}\zf@enc\zf@ttmaths\mddefault\updefault + \SetSymbolFont{operators}{bold}\zf@enc\zf@rmmaths\bfdefault\updefault + \ifdefined\zf@rmboldmaths + \SetMathAlphabet\mathrm{bold}\zf@enc\zf@rmboldmaths\mddefault\updefault + \SetMathAlphabet\mathbf{bold}\zf@enc\zf@rmboldmaths\bfdefault\updefault + \SetMathAlphabet\mathit{bold}\zf@enc\zf@rmboldmaths\mddefault\itdefault + \else + \SetMathAlphabet\mathrm{bold}\zf@enc\zf@rmmaths\bfdefault\updefault + \SetMathAlphabet\mathit{bold}\zf@enc\zf@rmmaths\bfdefault\itdefault + \fi + \SetMathAlphabet\mathsf{bold}\zf@enc\zf@sfmaths\bfdefault\updefault + \SetMathAlphabet\mathtt{bold}\zf@enc\zf@ttmaths\bfdefault\updefault + \let\font@warning\zf@font@warning} +\DeclareOption{config}{% + \InputIfFileExists{fontspec.cfg} + {\typeout{fontspec.cfg loaded.}} + {\typeout{fontspec.cfg would be loaded now if it existed.}}} +\DeclareOption{noconfig}{} +\DeclareOption{quiet}{\let\zf@PackageWarning\zf@PackageInfo} +\ExecuteOptions{config} +\ProcessOptions +%% +%% Copyright 2005 by Will Robertson <will@guerilla.net.au> +%% +%% Distributable under the LaTeX Project Public License, +%% version 1.3b or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) +%% by Will Robertson. +%% +%% This work consists of the file fontspec.dtx +%% and the derived files fontspec.sty and fontspec.pdf. +%% +%% +%% End of file `fontspec.sty'. diff --git a/Master/texmf-dist/tex/xelatex/graphics/color.cfg b/Master/texmf-dist/tex/xelatex/graphics/color.cfg new file mode 100644 index 00000000000..0271726719e --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/graphics/color.cfg @@ -0,0 +1,43 @@ +\ProvidesFile{color.cfg}% + [2005/10/12 v1.3b color configuration of teTeX/TeXLive, extended for XeTeX] + +% 2005/10/12 moved this here to avoid shipping modified graphics.sty +\DeclareOption{xetex}{\def\Gin@driver{xetex.def}} + +% Select an appropriate default driver +\begingroup + \chardef\x=0\relax + % check pdfTeX + \@ifundefined{pdfoutput}{}{% + \ifcase\pdfoutput + \else + \chardef\x=1\relax + \fi + }% + % check VTeX + \@ifundefined{OpMode}{}{% + \chardef\x=2\relax + }% + % check XeTeX + \@ifundefined{XeTeXversion}{}{% + \chardef\x=3\relax + }% +\expandafter\endgroup +\ifcase\x + % default case + \def\Gin@driver{dvips.def}% + \ExecuteOptions{dvips}% +\or + % pdfTeX is running in pdf mode + \def\Gin@driver{pdftex.def}% + \ExecuteOptions{pdftex}% +\or + % VTeX is running + \def\Gin@driver{vtex.def}% + \ExecuteOptions{vtex}% +\else + % XeTeX is running + \def\Gin@driver{xetex.def}% + \ExecuteOptions{xetex}% +\fi +\endinput diff --git a/Master/texmf-dist/tex/xelatex/graphics/graphics.cfg b/Master/texmf-dist/tex/xelatex/graphics/graphics.cfg new file mode 100644 index 00000000000..d9fe21767e6 --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/graphics/graphics.cfg @@ -0,0 +1,68 @@ +\ProvidesFile{graphics.cfg}% + [2005/10/12 v1.3b graphics configuration of teTeX/TeXLive, extended for XeTeX] + +% 2005/10/12 moved this here to avoid shipping modified graphics.sty +\DeclareOption{xetex}{\def\Gin@driver{xetex.def}} + +% Select an appropriate default driver +\begingroup + \chardef\x=0\relax + % check pdfTeX + \@ifundefined{pdfoutput}{}{% + \ifcase\pdfoutput + \else + \chardef\x=1\relax + \fi + }% + % check VTeX + \@ifundefined{OpMode}{}{% + \chardef\x=2\relax + }% + % check XeTeX + \@ifundefined{XeTeXversion}{}{% + \chardef\x=3\relax + }% +\expandafter\endgroup +\ifcase\x + % default case + \def\Gin@driver{dvips.def}% + \ExecuteOptions{dvips}% +\or + % pdfTeX is running in pdf mode + \def\Gin@driver{pdftex.def}% + \ExecuteOptions{pdftex}% +\or + % VTeX is running + \def\Gin@driver{vtex.def}% + \ExecuteOptions{vtex}% +\else + % XeTeX is running + \def\Gin@driver{xetex.def}% + \ExecuteOptions{xetex}% +\fi + +% Fix for dvips and xdvi versions that can uncompress +% graphic files without an explicite call of gunzip. +% (The fix is not applied for miniltx.tex, because +% \AtEndOfPackage is not available in plainTeX.) +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname AtEndOfPackage\endcsname\relax +\else + \AtEndOfPackage{% + \begingroup + \@ifundefined{DeclareGraphicsRule}{% + \endgroup + }{% + \def\x{dvips.def}% + \expandafter\endgroup + \ifx\x\Gin@driver + \DeclareGraphicsRule{.pz}{eps}{.bb}{}% + \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}% + \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}% + \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}% + \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{}% + \fi + }% + }% +\fi +\endinput diff --git a/Master/texmf-dist/tex/xelatex/graphics/xetex.def b/Master/texmf-dist/tex/xelatex/graphics/xetex.def new file mode 100644 index 00000000000..feefc27f01d --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/graphics/xetex.def @@ -0,0 +1,439 @@ +%% +%% This is file `xetex.def', +%% based upon other drivers for LaTeX color and graphics support. +%% +%% Copyright 2004, 2005 Ross Moore <ross@maths.mq.edu.au> +%% modified by Jonathan Kew <jonathan_kew@sil.org> +%% +%% This file is *not yet* part of the Standard LaTeX `Graphics Bundle'. +%% It may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Version History +%% +%% 2006/08/10 [JK] Version v0.92 correct type-check in \G@measure@QTm; +%% remove \G@PDF@ext, apply \lowercase instead; +%% make \XeTeXquote have catcode 12 rather than 11; +%% explicit space after "filename.ext" (reqd by xetex 0.995) +%% +%% 2006/07/19 [JK] Version v0.91 use \special{color ...} rather than +%% \special{x:textcolor ...} etc, for compatibility with +%% both xdv2pdf and xdvipdfmx drivers; +%% added .bmp to list of recognized graphics extensions +%% +%% 2006/01/09 [JK] Version v0.9 removed support for XeTeX versions +%% prior to 0.6 (when the \XeTeXpicfile parameters were +%% modified), to avoid problem when \XeTeXrevision inc. letters +%% +%% 2005/10/12 Version v0.8 removed spurious space in \convertHEX@ +%% -- found by Morten Hogholm +%% +%% 2004/05/09 Version v0.7 changed support for \pagecolor, adapted +%% from pdftex.def, to put a \special in the \shipout ; +%% this driver should now work with miniltx.tex ; +%% changed some control-sequence names; +%% implemented HSB to RGB color conversion +%% identified the redundant (v0.5) coding more clearly. +%% +%% 2004/05/08 Version v0.6 properly implements scaling and rotations +%% following the coding used with pdftex.def ; +%% implemented `viewport' and prepared for `clip'; +%% don't rely on " to have correct catcode; +%% altered the suffix order for graphics, to be: +%% .pdf .png .jpg .pict .tif .... +%% +%% 2004/04/29 Version v0.5 adapts to the changed names for the +%% graphics inclusion primitives, and version strings. +%% +%% 2004/04/23 Version v0.41 works with graphics.sty as well as +%% graphicx.sty ; \G@pdf@ext is '.pdf'; +%% similarly define and use \G@PDF@ext for '.PDF'; +%% removed some log-messages. +%% +%% 2004/04/22 Version v0.4 designed to work with XeTeX v0.4 +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ProvidesFile{xetex.def} + [2006/08/10 v0.92 LaTeX color/graphics driver for XeTeX (RRM, mod. JK)] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% make sure we can use " with correct catcode +{\catcode`\"=12 + \gdef\XeTeXquote{"}% +} + +% miniltx.tex does not define \PackageWarning +% or \PackageWarningNoLine. +\@ifundefined{PackageWarning}{% + \def\PackageWarning#1#2{% + \begingroup + \newlinechar=10 % + \def\MessageBreak{% + ^^J(#1)\@spaces\@spaces\@spaces\@spaces + }% + \immediate\write16{^^JPackage #1 Warning: #2\on@line.^^J}% + \endgroup + }% +}{} +\@ifundefined{PackageWarningNoLine}{% + \def\PackageWarningNoLine#1#2{% + \PackageWarning{#1}{#2\@gobble}% + }% +}{} +\@ifundefined{on@line}{% + \def\on@line{ on input line \the\inputlineno}% +}{} +\@ifundefined{@spaces}{% + \def\@spaces{\space\space\space\space}% +}{} +\def\GXT@warn{\PackageWarning{xetex.def}}% +\ifx\Gin@log\@undefined + \def\Gin@log{\message} +\fi + +% Colour Support. The following models may be used. +% * rgb \ +% * cmyk \ +% * gray /-- all passed directly to the driver +% * hsb / +% * RGB ---- converted to rgb here +% * named +% +\def\c@lor@arg#1{% + \dimen@#1\p@ + \ifdim\dimen@<\z@\dimen@\maxdimen\fi + \ifdim\dimen@>\p@ + \PackageError{color}{Argument `#1' not in range [0,1]}\@ehd + \fi} +\def\color@gray#1#2{% + \c@lor@arg{#2}% + \edef#1{gray #2}% + } +\def\color@cmyk#1#2{\c@lor@@cmyk#2\@@#1} +\def\c@lor@@cmyk#1,#2,#3,#4\@@#5{% + \c@lor@arg{#4}% + \c@lor@arg{#1}% + \c@lor@arg{#2}% + \c@lor@arg{#3}% + \edef#5{cmyk #1 #2 #3 #4}% + } +\def\color@rgb#1#2{\c@lor@@rgb#2\@@#1} +\def\c@lor@@rgb#1,#2,#3\@@#4{% + \c@lor@arg{#1}% + \c@lor@arg{#2}% + \c@lor@arg{#3}% + \edef#4{rgb #1 #2 #3}% + } +\def\color@RGB#1#2{\c@lor@@RGB#2\@@#1} +\def\c@lor@@RGB#1,#2,#3\@@#4{% + \c@lor@RGB@rgb{#1}\@tempa + \c@lor@RGB@rgb{#2}\@tempb + \c@lor@RGB@rgb{#3}\@tempc + \c@lor@@rgb\@tempa,\@tempb,\@tempc\@@#4% + } +\def\c@lor@RGB@rgb#1#2{% + \dimen@#1\p@ + \divide\dimen@\@cclv + \edef#2{\strip@pt\dimen@}} +\def\color@hsb#1#2{\c@lor@@hsb#2\@@#1} +\def\c@lor@@hsb#1,#2,#3\@@#4{% + \c@lor@arg{#1}% + \c@lor@arg{#2}% + \c@lor@arg{#3}% + \edef#4{hsb #1 #2 #3}% + } +\def\color@named#1#2{\c@lor@@named#2,,\@@#1} +\def\c@lor@@named#1,#2,#3\@@#4{% + \@ifundefined{col@#1}% + {\PackageError{color}{Undefined color `#1'}\@ehd}% + {\edef#4{ #1}}% + } + +\def\current@color{gray 0} + +% +% v0.02t: support for \pagecolor +\def\set@page@color{% + \global\let\current@page@color\current@color + \@ifundefined{GXTorg@shipout}{% + \global\let\GXTorg@shipout\shipout + \gdef\shipout{% + \afterassignment\GXT@shipout + \global\setbox\@cclv=% + }% + \gdef\GXT@shipout{% + \ifvoid\@cclv\relax + \aftergroup\GXT@@shipout + \GXT@setpagecolor + \else + \GXTorg@shipout\vbox{% + \GXT@setpagecolor + \box\@cclv + }% + \fi + }% + \gdef\GXT@@shipout{% + \GXTorg@shipout\box\@cclv\relax + }% + \gdef\GXT@setpagecolor{% + \special{background \current@page@color}% + }% + }{}% +} + +\def\set@color@stack{% + \special{color push \current@color}% + \aftergroup\reset@color +} +\def\set@color@nostack{% + \special{color \current@color}% + \aftergroup\reset@color +} +\def\reset@color@nostack{% + \special{color \current@color}% + \expandafter\checkfor@moreresets +} +\def\reset@color@stack{% + \special{color pop}% + \expandafter\checkfor@moreresets +} +\def\checkfor@moreresets{\futurelet\tmp\checkfor@moreresets@} +\def\checkfor@moreresets@{% + \ifx\tmp\reset@color\expandafter\gobble@color\fi} +\def\gobble@color#1{\checkfor@moreresets} + +\def\define@color@named#1#2{% + \expandafter\edef\csname col@#1\endcsname{#2}} +% +\def\check@for@XeTeX@colorstack{% + \expandafter\ifx\csname use@XeTeX@colorstack\endcsname\relax + \let\set@color\set@color@stack + \let\reset@color\reset@color@stack + \let\checkfor@moreresets\relax + \else + \let\set@color\set@color@nostack + \let\reset@color\reset@color@nostack + \fi +} +% +% use \noXeTeXcolorstack to turn off the color-stack +% mechanism; use it within the preamble only. +% This may be useful with some packages +% e.g. TeXpower which makes partial page-builds. +% +\def\noXeTeXcolorstack{\def\use@XeTeX@colorstack{}} +\AtBeginDocument{\check@for@XeTeX@colorstack} +% +% < end of color support for XeTeX > + +% < graphics inclusion for XeTeX > +% +% PDF is a special case which has extra features +\def\G@pdf@ext{.pdf} + +% \Gin@XeTeX@page: page number of pdf image or \@empty otherwise. +% This code adapted from pdftex.def +\let\Gin@XeTeX@page\@empty +\begingroup + \toks@{\define@key{Gin}{page}{\def\Gin@XeTeX@page{#1}}}% + \@ifundefined{define@key}{% + \edef\x{\endgroup\noexpand\AtBeginDocument{% + \noexpand\@ifundefined{define@key}{}{\the\toks@}}% + }\x + }{\expandafter\endgroup\the\toks@} + +% rotating graphics is supported, but +% rotation of arbitrary material is not supported yet +% +\def\GXT@erotate#1#2{\Grot@setangle{#1}\hbox{#2}}% +\def\set@GXT@erotate{\let\Gin@erotate\GXT@erotate} +%\AtBeginDocument{\set@GXT@erotate} + +\expandafter\ifx\csname XeTeXpicfile\endcsname\relax + \let\picfile@cmd\picfile + \let\pdffile@cmd\pdffile +\else + \let\picfile@cmd\XeTeXpicfile + \let\pdffile@cmd\XeTeXpdffile +\fi + +% all graphics are handled by Apple's QuickTime +% +\def\XeTeX@include@QTm#1{% + \def\picpage{}% + \lowercase{\edef\type@ext{\Gin@ext}}% + \ifx\type@ext\G@pdf@ext + \ifx\Gin@XeTeX@page\@empty\else + \edef\picpage{ page\Gin@XeTeX@page}\fi + \def\picfilecommand{\pdffile@cmd}% + \else + \def\picfilecommand{\picfile@cmd}% + \fi + \edef\picfileargs{ \XeTeXquote#1\XeTeXquote\space\picpage}% + \Gin@log{% + <use \picfileargs>% + }% + \ifx\Gscale@start\relax + \setbox\z@=\hbox{\expandafter\picfilecommand\picfileargs}% + \edef\next{\box\z@\egroup + \def\noexpand\width{\the\wd\z@}\relax + \def\noexpand\height{\the\ht\z@}\bgroup}% + \expandafter\next + \else + \XeTeX@scaleinclude{#1}% + \fi +} +\def\XeTeX@scaleinclude#1{% + \def\@tempa{!}% + \ifx\Gin@scaley\@tempa + \let\Gin@scaley\Gin@scalex + \else + \ifx\Gin@scalex\@tempa\let\Gin@scalex\Gin@scaley\fi + \fi + \hbox{% + \Gscale@box{\Gin@scalex}[\Gin@scaley]{% + \@ifundefined{Gin@vllx}{% + \GXT@viewportfalse + % without viewport/trim clipping does not make sense + % for XeTeX + \Gin@clipfalse + }{}% + \ifGin@clip + \GXT@warn{No clipping support in XeTeX yet}% + \if!\Gin@vllx\Gin@vlly\Gin@vurx\Gin@vury!% + \else + \let\GXT@clipend\GXT@DoClipEnd + \setbox\@tempboxa\hbox\bgroup + \fi + \fi + \ifGXT@viewport + \ifdim\Gin@vlly\p@=\z@ + \else + \lower\Gin@vlly bp\hbox\bgroup + \fi + \ifdim\Gin@vllx\p@=\z@ + \else + \hskip-\Gin@vllx bp\relax + \fi + \fi +% + \expandafter\picfilecommand\picfileargs +% + \ifGXT@viewport + \ifdim\Gin@vlly\p@=\z@ + \else + \egroup + \fi + \GXT@clipend + \fi + }% + }% +} +\newif\ifGXT@viewport +\GXT@viewporttrue +\let\GXT@clipend\relax +\def\GXT@DoClipEnd{% + \egroup + \dp\@tempboxa\z@ + % \Gin@urx and \Gin@ury already contain the correct values, + % so both cases viewport and trim can be handled together: + \dimen@\Gin@urx\p@ + \advance\dimen@ -\Gin@vllx\p@ + \wd\@tempboxa\strip@pt\dimen@ bp\relax + \dimen@\Gin@ury\p@ + \advance\dimen@ -\Gin@vlly\p@ + \ht\@tempboxa\strip@pt\dimen@ bp\relax + % when clipping is implemented for XeTeX + % make the changes here: + \box\@tempboxa +} + + +\def\Gread@QTm#1{\IfFileExists{\Gin@base.bb}% + {\Gread@eps{\Gin@base.bb}}% + {\G@measure@QTm{\Gin@base}{\Gin@ext}}% +} +\def\G@measure@QTm#1#2{% + % \@warning{measuring size of QuickTime graphic #1#2}% + \bgroup + \lowercase{\edef\type@ext{#2}}% + \ifx\type@ext\G@pdf@ext + \ifx\Gin@XeTeX@page\@empty \def\picpage{}% + \else \edef\picpage{ page\Gin@XeTeX@page}\fi + \fi + \setbox0=\hbox{% + \ifx\type@ext\G@pdf@ext + \edef\piccommand{\noexpand\pdffile@cmd + \XeTeXquote#1#2\XeTeXquote\space\picpage}% + \else + \edef\piccommand{\noexpand\picfile@cmd + \XeTeXquote#1#2\XeTeXquote\space}% + \fi + \piccommand + }\dimen0=\wd0 \dimen2=\ht0 + \edef\next{\egroup + \def\noexpand\Gin@urx{\strip@pt\dimen0}% + \def\noexpand\Gin@ury{\strip@pt\dimen2}}% + \next + \Gin@defaultbp\Gin@llx{0}% + \Gin@defaultbp\Gin@lly{0}% + \expandafter\Gin@defaultbp\expandafter\Gin@urx\expandafter{\Gin@urx}% + \expandafter\Gin@defaultbp\expandafter\Gin@ury\expandafter{\Gin@ury}% +% \typeout{XeTeX: HiRes BoundingBox = (0,0)\space x (\Gin@urx,\Gin@ury) }% + \Gin@nat@width=\Gin@urx\p@ + \Gin@nat@height=\Gin@ury\p@ + % these emulate \@begin@tempboxa + \edef\width{\the\Gin@nat@width}% + \edef\height{\the\Gin@nat@height}% + \def\depth{0pt}% + \let\totalheight\@ovri + \totalheight\height +} + +\let\Ginclude@QTm\XeTeX@include@QTm + +% For a new graphics type, you can include a line here ... +\@namedef{Gin@rule@.pdf}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.gif}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.jpg}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.mac}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.pict}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.png}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.psd}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.sgi}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.tga}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.tif}#1{{QTm}{QTm}{#1}} +\@namedef{Gin@rule@.bmp}#1{{QTm}{QTm}{#1}} + +% movies not supported yet: +%\@namedef{Gin@rule@.qt}#1{{QTm}{QTm}{#1}} +%\@namedef{Gin@rule@.mpg}#1{{QTm}{QTm}{#1}} +%\@namedef{Gin@rule@.mov}#1{{QTm}{QTm}{#1}} +%\@namedef{Gin@rule@.moov}#1{{QTm}{QTm}{#1}} + + +% ... though this default rule will try QuickTime anyway ... +\@namedef{Gin@rule@*}#1{{QTm}{QTm}{#1}} + +% ... and add it's extension here +\def\Gin@extensions{.pdf,.png,.jpg,.bmp,.pict,.tif,.psd,.mac,.sga,.tga,.gif} + +% +% Rotation & Scaling +% supported from xetex v0.6 onwards +% + +\def\Grot@start{\wd\z@\z@ + \special{x:gsave}\special{x:rotate \Grot@angle}} +\def\Grot@end{\special{x:grestore}} + +\def\Gscale@start{% + \special{x:gsave}\special{x:scale \Gscale@x\space\Gscale@y}} +\let\Gscale@end\Grot@end +% + +\endinput +%% +%% End of file `xetex.def'. diff --git a/Master/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty b/Master/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty new file mode 100644 index 00000000000..c8527e2fd5c --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xltxtra/xltxtra.sty @@ -0,0 +1,156 @@ +%% +%% This is file `xltxtra.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xltxtra.dtx (with options: `package') +%% +%% ____________________________ +%% The xltxtra package +%% (C) 2006 Will Robertson +%% License information appended +%% +%% +\unless\ifdefined\XeTeXversion + \@latex@error{^^J + *************************************************^^J + *** The xltxtra package only works with XeTeX ***^^J + *************************************************} +\fi +\ProvidesPackage{xltxtra} + [2006/06/08 v0.1 Improvements for the XeTeX/LaTeX format] +\newcommand*\TeXlogospacing[5]{% + \DeclareRobustCommand\TeX{% + \leavevmode + \smash{% + T\kern#1 + \lower#3\hbox{E}\kern#2 X}% + \spacefactor1000\relax} + \DeclareRobustCommand{\LaTeX}{% + \leavevmode + \smash{ + L\kern#4% + {\sbox\z@ T% + \vbox to\ht\z@{\hbox{\check@mathfonts + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern#5% + \TeX}} + \DeclareRobustCommand\XeTeX{% + \leavevmode + \smash{% + X\lower #3 + \hbox{\kern #2 + \ifnum\XeTeXcharglyph"018E > 0 + \char"018E\relax + \else\ifdim\fontdimen1\font=0pt + \reflectbox{E}% + \else % rotation is about the origin, so we need to adjust positioning + \XeTeXuseglyphmetrics=1% + \setbox0=\hbox{E}\dimen0=\ht0\advance\dimen0by\dp0% + \raise\dimen0\hbox{\rotatebox{180}{\box0}}% + \fi\fi + }\kern#1\TeX}}} +\TeXlogospacing{-0.15em}{-0.15em}{0.5ex}{-0.36em}{-0.15em} +\RequirePackage{etex} +\RequirePackage{fixltx2e}[2006/03/24] +\newcommand*\robust@let@nc[2]{% + \expandafter\let\expandafter#1\csname #2 \endcsname} +\DeclareRobustCommand{\-}{% + \discretionary{% + \char\ifnum\hyphenchar\font<\z@ + \xlx@defaulthyphenchar + \else + \hyphenchar\font + \fi}{}{}} +\def\xlx@defaulthyphenchar{`\-} +\robust@let@nc\faketextsubscript{textsubscript} +\robust@let@nc\faketextsuperscript{textsuperscript} +\DeclareRobustCommand*\textsubscript{% + \@ifstar{\faketextsubscript}{\@@textsubscript}} +\newcommand\@@textsubscript[1]{% + \begingroup + \c@zf@script 1818326126\relax + \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt + \zf@set@font@type + \ifzf@atsui + \zf@make@aat@feature@string{10}{2}% + \unless\ifx\zf@thisfontfeature\@empty + {\addfontfeature{VerticalPosition=Inferior}#1}% + \else + \faketextsubscript{#1}% + \fi + \fi + \ifzf@icu + \zf@check@ot@feat{+subs}% + \if@tempswa + {\addfontfeature{VerticalPosition=Inferior}#1}% + \else + \zf@check@ot@feat{+sinf}% + \if@tempswa + {\addfontfeature{VerticalPosition=ScientificInferior}#1}% + \else + \faketextsubscript{#1}% + \fi + \fi + \fi + \endgroup} +\DeclareRobustCommand*\textsuperscript{% + \@ifstar{\faketextsuperscript}{\@@textsuperscript}} +\newcommand\@@textsuperscript[1]{% + \begingroup + \c@zf@script 1818326126\relax + \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt + \zf@set@font@type + \ifzf@atsui + \zf@make@aat@feature@string{10}{1}% + \unless\ifx\zf@thisfontfeature\@empty + {\addfontfeature{VerticalPosition=Superior}#1}% + \else + \faketextsuperscript{#1}% + \fi + \fi + \ifzf@icu + \zf@check@ot@feat{+sups}% + \if@tempswa + {\addfontfeature{VerticalPosition=Superior}#1}% + \else + \faketextsuperscript{#1}% + \fi + \fi + \endgroup} +\newcommand*\vfrac[2]{% + \begingroup + \c@zf@script 1818326126\relax + \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt + \zf@set@font@type + \ifzf@atsui + {\addfontfeature{VerticalPosition=Superior}#1}% + \textfractionsolidus + {\addfontfeature{VerticalPosition=Inferior}#2}% + \fi + \ifzf@icu + {\addfontfeature{VerticalPosition=Numerator}#1}% + \textfractionsolidus + {\addfontfeature{VerticalPosition=Denominator}#2}% + \fi + \endgroup} +%% +%% Copyright (C) 2006 by Will Robertson <wspr81@gmail.com> +%% +%% Distributable under the LaTeX Project Public License, +%% version 1.3b or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +%% This work is "maintained" (as per LPPL maintenance status) +%% by Will Robertson. +%% +%% This work consists of the file xltxtra.dtx +%% and the derived files xltxtra.sty and xltxtra.pdf. +%% +%% +%% End of file `xltxtra.sty'. |