From 446616af78c68a47b3851065c2121bab5a96ad53 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 19 Jun 2006 22:49:18 +0000 Subject: fontspec update, and put under xetex git-svn-id: svn://tug.org/texlive/trunk@1706 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/fontspec/fontspec.sty | 1070 --------------------- Master/texmf-dist/tex/xetex/fontspec/fontspec.cfg | 25 + Master/texmf-dist/tex/xetex/fontspec/fontspec.sty | 1028 ++++++++++++++++++++ 3 files changed, 1053 insertions(+), 1070 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/fontspec/fontspec.sty create mode 100644 Master/texmf-dist/tex/xetex/fontspec/fontspec.cfg create mode 100644 Master/texmf-dist/tex/xetex/fontspec/fontspec.sty (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty deleted file mode 100644 index 2436f15daca..00000000000 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty +++ /dev/null @@ -1,1070 +0,0 @@ -%% -%% 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, 2005 Will Robertson -%% -%% License information appended. -%% -%% -\ProvidesPackage{fontspec}[2005/07/15 v1.8a Advanced font selection for XeLaTeX] -\expandafter\ifx\csname XeTeXversion\endcsname\relax - \@latex@error{^^J - *************************************************^^J - *** Sorry! ^^J - *** The fontspec package only works with XeTeX. ^^J - *************************************************} -\fi -\def\zf@enc{U} -\renewcommand\encodingdefault{\zf@enc} -\RequirePackage{keyval} -\newcommand*\fontspec[2][]{% - \zf@fontspec{#1}{#2}% - \fontfamily\zf@family\selectfont} -\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\zf@tempinst{\noexpand\fontfamily{\zf@family}\noexpand\selectfont}% - \let#1\zf@tempinst} -\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{\csname\f@family\endcsname}% - \fontspec - [\expandafter\@firstoftwo\zf@thisinfo, #1]% - {\expandafter\@secondoftwo\zf@thisinfo}% - \let\zf@default@options\zf@default@options@old} -\let\addfontfeature\addfontfeatures -\newcounter{newff} -\newcommand*\newfontfeature[2]{% - \stepcounter{newff}% - \expandafter\edef\csname +zf-#1\endcsname{+zf-\thenewff}% - \define@key{zf}{#1}[]{% - \zf@update@family{\csname +zf-#1\endcsname}% - \zf@update@ff{#2}}} -\newcommand*\newfeaturecode[3]{% - \define@key{zf}{#1}[]{\zf@make@feature{#2}{#3}{}}} -\newcommand*\zf@fontspec[2]{% - \edef\zf@options{#1}% - \edef\zf@macname{#2}% - \edef\zf@family{\zap@space #2 \@empty}% - \zf@set@font@type{#2}% - \zf@firsttimetrue - \zf@get@feature@requests - \zf@firsttimefalse - \expandafter\ifx\csname\zf@family\endcsname\relax - \wlog{fontspec: Defining font family for "#2" - with options [\zf@current@options]}% - \edef\zf@info{{\zf@current@options}{#2}}% - \expandafter\let\csname\zf@family\endcsname\zf@info - \DeclareFontFamily{\zf@enc}{\zf@family}{}% - \zf@make@font@shapes{#2}{\mddefault}{\updefault}% - \let\zf@options@old\zf@options - \def\zf@options{\zf@options@old,\zf@bf@options}% - \ifx\zf@bf\@empty - \zf@make@font@shapes[#2]{#2/B}{\bfdefault}{\updefault}% - \else - \zf@make@font@shapes\zf@bf\bfdefault\updefault - \fi - \let\zf@options\zf@options@old - \let\zf@options@old\zf@options - \def\zf@options{\zf@options@old,\zf@it@options}% - \ifx\zf@it\@empty - \zf@make@font@shapes[#2]{#2/I}{\mddefault}{\itdefault}% - \else - \zf@make@font@shapes\zf@it\mddefault\itdefault - \fi - \let\zf@options\zf@options@old - \let\zf@options@old\zf@options - \def\zf@options{\zf@options@old,\zf@bfit@options}% - \ifx\zf@bfit\@empty - \ifx\zf@bf\@empty - \ifx\zf@it\@empty - \zf@make@font@shapes[#2]{#2/BI}{\bfdefault}{\itdefault}% - \else - \zf@make@font@shapes[\zf@it]{\zf@it/B}{\bfdefault}{\itdefault}% - \fi - \else - \zf@make@font@shapes[\zf@bf]{\zf@bf/I}{\bfdefault}{\itdefault}% - \fi - \else - \zf@make@font@shapes\zf@bfit\bfdefault\itdefault - \fi - \let\zf@options\zf@options@old - \fi} -\newcommand*\zf@set@font@type[1]{% - \font\zf@testfont = "#1" at 10pt - \zf@aatfalse \zf@opentypefalse \zf@mmfalse - \expandafter\ifnum\XeTeXcountfeatures\zf@testfont > 0 - \zf@aattrue - \fi - \expandafter\ifnum\XeTeXOTcountscripts\zf@testfont > 0 - \zf@opentypetrue - \fi - \expandafter\ifnum\XeTeXcountvariations\zf@testfont > 0 - \zf@mmtrue - \fi} -\newif\ifzf@aat \newif\ifzf@opentype \newif\ifzf@mm -\begingroup - \nfss@catcodes - \globaldefs=1 - \newcommand*\zf@make@font@shapes[4][]{% - \ifEqFonts{#1}{#2}\then\else - \edef\zf@macname{#2}% - \zf@get@feature@requests - \ifx\zf@scale\@empty - \let\zf@scale@str\@empty - \else - \edef\zf@scale@str{s*[\zf@scale]}% - \fi - \DeclareFontShape{\zf@enc}{\zf@family}{#3}{#4}% - {<-> \zf@scale@str "#2\zf@suffix:\zf@ff"}{}% - \zf@test@smallcaps - \ifx\zf@smallcaps\@empty\else - \ifx #4\updefault - \let\zf@scshape\scdefault - \fi - \ifx #4\itdefault - \let\zf@scshape\sidefault - \fi - \DeclareFontShape - {\zf@enc}{\zf@family}{#3}{\zf@scshape}% - {<-> \zf@scale@str "#2\zf@suffix:\zf@ff\zf@smallcaps"}{}% - \fi - \fi} -\endgroup -\newcommand*{\zf@update@family}[1]{% - \ifzf@firsttime - \g@addto@macro\zf@family{#1}% - \fi} -\newif\ifzf@firsttime -\newcommand*\zf@get@feature@requests{% - \ifzf@firsttime - \let\zf@scale \@empty - \let\zf@suffix \@empty - \let\zf@bf \@empty - \let\zf@it \@empty - \let\zf@bfit \@empty - \let\zf@bf@options \@empty - \let\zf@it@options \@empty - \let\zf@bfit@options\@empty - \fi - \let\zf@ff\@empty - \ifx\zf@default@options\@empty - \let\zf@current@options\zf@options - \else - \edef\zf@current@options{\zf@default@options,\zf@options}% - \fi - \edef\zf@process@options - {\noexpand\setkeys{zf}{\zf@current@options}}% - \zf@process@options} -\newcommand*\zf@test@smallcaps{% - \let\zf@smallcaps\@empty - \ifzf@aat - \zf@make@aat@feature@string{3}{3}% - \ifx\zf@thisfontfeature\@empty\else - \edef\zf@smallcaps{\zf@thisfontfeature;}% - \fi - \fi - \ifzf@opentype - \font\zf@testfont="\zf@macname" at 10pt - \count255 = \XeTeXOTcountscripts\zf@testfont - \ifnum\count255 > 0 - \count255 = 0 - \zf@featurecount = \XeTeXOTcountfeatures\zf@testfont "6C61746E "0 - \loop\ifnum\count255 < \zf@featurecount - \ifnum\XeTeXOTfeaturetag\zf@testfont "6C61746E "0 - \count255 = "736D6370 % 'smcp' - \edef\zf@smallcaps{+smcp,}% - \count255 = \zf@featurecount - \else - \advance\count255 by 1 - \fi - \repeat - \fi - \fi} -\newcount\zf@featurecount -\newcommand*\zf@update@ff[1]{% - \begingroup - \def\zf@feature@separator{;}% - \ifzf@opentype - \def\zf@feature@separator{,}% - \fi - \let\@tempa\zf@ff - \xdef\zf@ff{\@tempa #1\zf@feature@separator}% - \endgroup} -\newcommand*\zf@make@feature[3]{% - \ifzf@aat - \zf@make@aat@feature@string{#1}{#2}% - \ifx\zf@thisfontfeature\@empty\else - \zf@update@family{+#1,#2}% - \zf@update@ff\zf@thisfontfeature - \fi - \fi - \ifzf@opentype - \zf@update@family{#3}% - \zf@update@ff{#3}% - \fi} -\newcommand*\zf@define@font@feature[1]{% - \define@key{zf}{#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*\aliasfeature[2]{% - \define@key{zf}{#2}{{\setkeys{zf@feat@#1}{##1}}}} -\newcommand*\zf@make@aat@feature@string[2]{% - \font\zf@fontone="\zf@macname" at 10pt - \edef\zf@this@featurename{\XeTeXfeaturename\zf@fontone #1}% - \ifx\zf@this@featurename\@empty - \let\zf@thisfontfeature\@empty - \else - \edef\zf@this@selectionname{\XeTeXselectorname\zf@fontone #1 #2}% - \ifx\zf@this@selectionname\@empty - \let\zf@thisfontfeature\@empty - \else - \edef\zf@thisfontfeature{% - \ifnum\XeTeXisexclusivefeature\zf@fontone #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} -\let\then\iftrue -\def\ifEqFonts#1#2\then{% - \ifx#1\@empty\else - \font\zf@fontone = "#1" at 10pt - \edef\@tempa{\fontname\zf@fontone}% - \fi - \font\zf@fonttwo = "#2" at 10pt - \edef\@tempb{\fontname\zf@fonttwo}% - \ifx\@tempa\@tempb} -\define@key{zf}{Bold}{% - \def\zf@bf{#1}% - \zf@update@family{bf:\zap@space #1 \@empty}} -\define@key{zf}{Italic}{% - \def\zf@it{#1}% - \zf@update@family{it:\zap@space #1 \@empty}} -\define@key{zf}{BoldItalic}{% - \def\zf@bfit{#1}% - \zf@update@family{bfit:\zap@space #1 \@empty}} -\define@key{zf}{BoldFont}{% - \def\zf@bf{#1}% - \zf@update@family{bf:\zap@space #1 \@empty}} -\define@key{zf}{ItalicFont}{% - \def\zf@it{#1}% - \zf@update@family{it:\zap@space #1 \@empty}} -\define@key{zf}{BoldItalicFont}{% - \def\zf@bfit{#1}% - \zf@update@family{bfit:\zap@space #1 \@empty}} - -\define@key{zf}{BoldFeatures}{% - \def\zf@bf@options{#1}% - \zf@update@family{bffeat:\zap@space #1 \@empty}} -\define@key{zf}{ItalicFeatures}{% - \def\zf@it@options{#1}% - \zf@update@family{itfeat:\zap@space #1 \@empty}} -\define@key{zf}{BoldItalicFeatures}{% - \def\zf@bfit@options{#1}% - \zf@update@family{bfitfeat:\zap@space #1 \@empty}} -\define@key{zf}{Scale}{% - \zf@update@family{+scale:#1}% - \edef\zf@scale{#1}} -\define@key{zf}{Colour}{% - \zf@update@family{+col:#1}% - \zf@update@ff{color=#1}} -\define@key{zf}{Color}{% - \zf@update@family{+col:#1}% - \zf@update@ff{color=#1}} -\define@key{zf}{Mapping}{% - \zf@update@family{+map:#1}% - \zf@update@ff{mapping=#1}} -\define@key{zf}{Weight}{% - \zf@update@family{+weight:#1}% - \zf@update@ff{weight=#1}} -\define@key{zf}{Width}{% - \zf@update@family{+width:#1}% - \zf@update@ff{width=#1}} -\define@key{zf}{OpticalSize}{% - \ifzf@opentype - \g@addto@macro\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@opentype\else - \ifzf@mm\else - \ifzf@firsttime - \PackageWarning{fontspec}{\zf@macname doesn't appear to have an Optical Size axis} - \fi - \fi - \fi} -\define@key{zf}{Script}{\ifzf@opentype\bgroup\setkeys{zf@scpt}{#1}\egroup\fi} -\newcommand*\zf@make@scpt@feature[2]{% - \define@key{zf@scpt}{#1}[]{% - \zf@update@family{+scpt:#2}% - \zf@update@ff{script=#2}}} -\zf@make@scpt@feature{Arabic}{arab} -\zf@make@scpt@feature{Armenian}{armn} -\zf@make@scpt@feature{Balinese}{bali} -\zf@make@scpt@feature{Bengali}{beng} -\zf@make@scpt@feature{Bopomofo}{bopo} -\zf@make@scpt@feature{Braille}{brai} -\zf@make@scpt@feature{Buginese}{bugi} -\zf@make@scpt@feature{Buhid}{buhd} -\zf@make@scpt@feature{Byzantine Music}{byzm} -\zf@make@scpt@feature{Canadian Syllabics}{cans} -\zf@make@scpt@feature{Cherokee}{cher} -\zf@make@scpt@feature{CJK}{hani} -\zf@make@scpt@feature{CJK Ideographic}{hani} -\zf@make@scpt@feature{Coptic}{copt} -\zf@make@scpt@feature{Cypriot Syllabary}{cprt} -\zf@make@scpt@feature{Cyrillic}{cyrl} -\zf@make@scpt@feature{Default}{DFLT} -\zf@make@scpt@feature{Deseret}{dsrt} -\zf@make@scpt@feature{Devanagari}{deva} -\zf@make@scpt@feature{Ethiopic}{ethi} -\zf@make@scpt@feature{Georgian}{geor} -\zf@make@scpt@feature{Glagolitic}{glag} -\zf@make@scpt@feature{Gothic}{goth} -\zf@make@scpt@feature{Greek}{grek} -\zf@make@scpt@feature{Gujarati}{gujr} -\zf@make@scpt@feature{Gurmukhi}{guru} -\zf@make@scpt@feature{Hangul Jamo}{jamo} -\zf@make@scpt@feature{Hangul}{hang} -\zf@make@scpt@feature{Hanunoo}{hano} -\zf@make@scpt@feature{Hebrew}{hebr} -\zf@make@scpt@feature{Hiragana and Katakana}{kana} -\zf@make@scpt@feature{Kana}{kana} -\zf@make@scpt@feature{Javanese}{java} -\zf@make@scpt@feature{Kannada}{knda} -\zf@make@scpt@feature{Kharosthi}{khar} -\zf@make@scpt@feature{Khmer}{khmr} -\zf@make@scpt@feature{Lao}{lao } -\zf@make@scpt@feature{Latin}{latn} -\zf@make@scpt@feature{Limbu}{limb} -\zf@make@scpt@feature{Linear B}{linb} -\zf@make@scpt@feature{Malayalam}{mlym} -\zf@make@scpt@feature{Math}{math} -\zf@make@scpt@feature{Maths}{math} -\zf@make@scpt@feature{Mongolian}{mong} -\zf@make@scpt@feature{Musical Symbols}{musc} -\zf@make@scpt@feature{Myanmar}{mymr} -\zf@make@scpt@feature{N'ko}{nko } -\zf@make@scpt@feature{Ogham}{ogam} -\zf@make@scpt@feature{Old Italic}{ital} -\zf@make@scpt@feature{Old Persian Cuneiform}{xpeo} -\zf@make@scpt@feature{Oriya}{orya} -\zf@make@scpt@feature{Osmanya}{osma} -\zf@make@scpt@feature{Phags-pa}{phag} -\zf@make@scpt@feature{Phoenician}{phnx} -\zf@make@scpt@feature{Runic}{runr} -\zf@make@scpt@feature{Shavian}{shaw} -\zf@make@scpt@feature{Sinhala}{sinh} -\zf@make@scpt@feature{Sumero-Akkadian Cuneiform}{xsux} -\zf@make@scpt@feature{Syloti Nagri}{sylo} -\zf@make@scpt@feature{Syriac}{syrc} -\zf@make@scpt@feature{Tagalog}{tglg} -\zf@make@scpt@feature{Tagbanwa}{tagb} -\zf@make@scpt@feature{Tai Le}{tale} -\zf@make@scpt@feature{Tai Lu}{talu} -\zf@make@scpt@feature{Tamil}{taml} -\zf@make@scpt@feature{Telugu}{telu} -\zf@make@scpt@feature{Thaana}{thaa} -\zf@make@scpt@feature{Thai}{thai} -\zf@make@scpt@feature{Tibetan}{tibt} -\zf@make@scpt@feature{Tifinagh}{tfng} -\zf@make@scpt@feature{Ugaritic Cuneiform}{ugar} -\zf@make@scpt@feature{Yi}{yi } - -\define@key{zf}{Language}{\ifzf@opentype\bgroup\setkeys{zf@lang}{#1}\egroup\fi} -\newcommand*\zf@make@lang@feature[2]{% - \define@key{zf@lang}{#1}[]{% - \zf@update@family{+lang:#2}% - \zf@update@ff{language=#2}}} -\zf@make@lang@feature{Abaza}{ABA} -\zf@make@lang@feature{Abkhazian}{ABK} -\zf@make@lang@feature{Adyghe}{ADY} -\zf@make@lang@feature{Afrikaans}{AFK} -\zf@make@lang@feature{Afar}{AFR} -\zf@make@lang@feature{Agaw}{AGW} -\zf@make@lang@feature{Altai}{ALT} -\zf@make@lang@feature{Amharic}{AMH} -\zf@make@lang@feature{Arabic}{ARA} -\zf@make@lang@feature{Aari}{ARI} -\zf@make@lang@feature{Arakanese}{ARK} -\zf@make@lang@feature{Assamese}{ASM} -\zf@make@lang@feature{Athapaskan}{ATH} -\zf@make@lang@feature{Avar}{AVR} -\zf@make@lang@feature{Awadhi}{AWA} -\zf@make@lang@feature{Aymara}{AYM} -\zf@make@lang@feature{Azeri}{AZE} -\zf@make@lang@feature{Badaga}{BAD} -\zf@make@lang@feature{Baghelkhandi}{BAG} -\zf@make@lang@feature{Balkar}{BAL} -\zf@make@lang@feature{Baule}{BAU} -\zf@make@lang@feature{Berber}{BBR} -\zf@make@lang@feature{Bench}{BCH} -\zf@make@lang@feature{Bible Cree}{BCR} -\zf@make@lang@feature{Belarussian}{BEL} -\zf@make@lang@feature{Bemba}{BEM} -\zf@make@lang@feature{Bengali}{BEN} -\zf@make@lang@feature{Bulgarian}{BGR} -\zf@make@lang@feature{Bhili}{BHI} -\zf@make@lang@feature{Bhojpuri}{BHO} -\zf@make@lang@feature{Bikol}{BIK} -\zf@make@lang@feature{Bilen}{BIL} -\zf@make@lang@feature{Blackfoot}{BKF} -\zf@make@lang@feature{Balochi}{BLI} -\zf@make@lang@feature{Balante}{BLN} -\zf@make@lang@feature{Balti}{BLT} -\zf@make@lang@feature{Bambara}{BMB} -\zf@make@lang@feature{Bamileke}{BML} -\zf@make@lang@feature{Breton}{BRE} -\zf@make@lang@feature{Brahui}{BRH} -\zf@make@lang@feature{Braj Bhasha}{BRI} -\zf@make@lang@feature{Burmese}{BRM} -\zf@make@lang@feature{Bashkir}{BSH} -\zf@make@lang@feature{Beti}{BTI} -\zf@make@lang@feature{Catalan}{CAT} -\zf@make@lang@feature{Cebuano}{CEB} -\zf@make@lang@feature{Chechen}{CHE} -\zf@make@lang@feature{Chaha Gurage}{CHG} -\zf@make@lang@feature{Chattisgarhi}{CHH} -\zf@make@lang@feature{Chichewa}{CHI} -\zf@make@lang@feature{Chukchi}{CHK} -\zf@make@lang@feature{Chipewyan}{CHP} -\zf@make@lang@feature{Cherokee}{CHR} -\zf@make@lang@feature{Chuvash}{CHU} -\zf@make@lang@feature{Comorian}{CMR} -\zf@make@lang@feature{Coptic}{COP} -\zf@make@lang@feature{Cree}{CRE} -\zf@make@lang@feature{Carrier}{CRR} -\zf@make@lang@feature{Crimean Tatar}{CRT} -\zf@make@lang@feature{Church Slavonic}{CSL} -\zf@make@lang@feature{Czech}{CSY} -\zf@make@lang@feature{Danish}{DAN} -\zf@make@lang@feature{Dargwa}{DAR} -\zf@make@lang@feature{Woods Cree}{DCR} -\zf@make@lang@feature{German}{DEU} -\zf@make@lang@feature{Default}{DFLT} -\zf@make@lang@feature{Dogri}{DGR} -\zf@make@lang@feature{Divehi}{DIV} -\zf@make@lang@feature{Djerma}{DJR} -\zf@make@lang@feature{Dangme}{DNG} -\zf@make@lang@feature{Dinka}{DNK} -\zf@make@lang@feature{Dungan}{DUN} -\zf@make@lang@feature{Dzongkha}{DZN} -\zf@make@lang@feature{Ebira}{EBI} -\zf@make@lang@feature{Eastern Cree}{ECR} -\zf@make@lang@feature{Edo}{EDO} -\zf@make@lang@feature{Efik}{EFI} -\zf@make@lang@feature{Greek}{ELL} -\zf@make@lang@feature{English}{ENG} -\zf@make@lang@feature{Erzya}{ERZ} -\zf@make@lang@feature{Spanish}{ESP} -\zf@make@lang@feature{Estonian}{ETI} -\zf@make@lang@feature{Basque}{EUQ} -\zf@make@lang@feature{Evenki}{EVK} -\zf@make@lang@feature{Even}{EVN} -\zf@make@lang@feature{Ewe}{EWE} -\zf@make@lang@feature{French Antillean}{FAN} -\zf@make@lang@feature{Farsi}{FAR} -\zf@make@lang@feature{Finnish}{FIN} -\zf@make@lang@feature{Fijian}{FJI} -\zf@make@lang@feature{Flemish}{FLE} -\zf@make@lang@feature{Forest Nenets}{FNE} -\zf@make@lang@feature{Fon}{FON} -\zf@make@lang@feature{Faroese}{FOS} -\zf@make@lang@feature{French}{FRA} -\zf@make@lang@feature{Frisian}{FRI} -\zf@make@lang@feature{Friulian}{FRL} -\zf@make@lang@feature{Futa}{FTA} -\zf@make@lang@feature{Fulani}{FUL} -\zf@make@lang@feature{Ga}{GAD} -\zf@make@lang@feature{Gaelic}{GAE} -\zf@make@lang@feature{Gagauz}{GAG} -\zf@make@lang@feature{Galician}{GAL} -\zf@make@lang@feature{Garshuni}{GAR} -\zf@make@lang@feature{Garhwali}{GAW} -\zf@make@lang@feature{Ge'ez}{GEZ} -\zf@make@lang@feature{Gilyak}{GIL} -\zf@make@lang@feature{Gumuz}{GMZ} -\zf@make@lang@feature{Gondi}{GON} -\zf@make@lang@feature{Greenlandic}{GRN} -\zf@make@lang@feature{Garo}{GRO} -\zf@make@lang@feature{Guarani}{GUA} -\zf@make@lang@feature{Gujarati}{GUJ} -\zf@make@lang@feature{Haitian}{HAI} -\zf@make@lang@feature{Halam}{HAL} -\zf@make@lang@feature{Harauti}{HAR} -\zf@make@lang@feature{Hausa}{HAU} -\zf@make@lang@feature{Hawaiin}{HAW} -\zf@make@lang@feature{Hammer-Banna}{HBN} -\zf@make@lang@feature{Hiligaynon}{HIL} -\zf@make@lang@feature{Hindi}{HIN} -\zf@make@lang@feature{High Mari}{HMA} -\zf@make@lang@feature{Hindko}{HND} -\zf@make@lang@feature{Ho}{HO} -\zf@make@lang@feature{Harari}{HRI} -\zf@make@lang@feature{Croatian}{HRV} -\zf@make@lang@feature{Hungarian}{HUN} -\zf@make@lang@feature{Armenian}{HYE} -\zf@make@lang@feature{Igbo}{IBO} -\zf@make@lang@feature{Ijo}{IJO} -\zf@make@lang@feature{Ilokano}{ILO} -\zf@make@lang@feature{Indonesian}{IND} -\zf@make@lang@feature{Ingush}{ING} -\zf@make@lang@feature{Inuktitut}{INU} -\zf@make@lang@feature{Irish}{IRI} -\zf@make@lang@feature{Irish Traditional}{IRT} -\zf@make@lang@feature{Icelandic}{ISL} -\zf@make@lang@feature{Inari Sami}{ISM} -\zf@make@lang@feature{Italian}{ITA} -\zf@make@lang@feature{Hebrew}{IWR} -\zf@make@lang@feature{Javanese}{JAV} -\zf@make@lang@feature{Yiddish}{JII} -\zf@make@lang@feature{Japanese}{JAN} -\zf@make@lang@feature{Judezmo}{JUD} -\zf@make@lang@feature{Jula}{JUL} -\zf@make@lang@feature{Kabardian}{KAB} -\zf@make@lang@feature{Kachchi}{KAC} -\zf@make@lang@feature{Kalenjin}{KAL} -\zf@make@lang@feature{Kannada}{KAN} -\zf@make@lang@feature{Karachay}{KAR} -\zf@make@lang@feature{Georgian}{KAT} -\zf@make@lang@feature{Kazakh}{KAZ} -\zf@make@lang@feature{Kebena}{KEB} -\zf@make@lang@feature{Khutsuri Georgian}{KGE} -\zf@make@lang@feature{Khakass}{KHA} -\zf@make@lang@feature{Khanty-Kazim}{KHK} -\zf@make@lang@feature{Khmer}{KHM} -\zf@make@lang@feature{Khanty-Shurishkar}{KHS} -\zf@make@lang@feature{Khanty-Vakhi}{KHV} -\zf@make@lang@feature{Khowar}{KHW} -\zf@make@lang@feature{Kikuyu}{KIK} -\zf@make@lang@feature{Kirghiz}{KIR} -\zf@make@lang@feature{Kisii}{KIS} -\zf@make@lang@feature{Kokni}{KKN} -\zf@make@lang@feature{Kalmyk}{KLM} -\zf@make@lang@feature{Kamba}{KMB} -\zf@make@lang@feature{Kumaoni}{KMN} -\zf@make@lang@feature{Komo}{KMO} -\zf@make@lang@feature{Komso}{KMS} -\zf@make@lang@feature{Kanuri}{KNR} -\zf@make@lang@feature{Kodagu}{KOD} -\zf@make@lang@feature{Korean Old Hangul}{KOH} -\zf@make@lang@feature{Konkani}{KOK} -\zf@make@lang@feature{Kikongo}{KON} -\zf@make@lang@feature{Komi-Permyak}{KOP} -\zf@make@lang@feature{Korean}{KOR} -\zf@make@lang@feature{Komi-Zyrian}{KOZ} -\zf@make@lang@feature{Kpelle}{KPL} -\zf@make@lang@feature{Krio}{KRI} -\zf@make@lang@feature{Karakalpak}{KRK} -\zf@make@lang@feature{Karelian}{KRL} -\zf@make@lang@feature{Karaim}{KRM} -\zf@make@lang@feature{Karen}{KRN} -\zf@make@lang@feature{Koorete}{KRT} -\zf@make@lang@feature{Kashmiri}{KSH} -\zf@make@lang@feature{Khasi}{KSI} -\zf@make@lang@feature{Kildin Sami}{KSM} -\zf@make@lang@feature{Kui}{KUI} -\zf@make@lang@feature{Kulvi}{KUL} -\zf@make@lang@feature{Kumyk}{KUM} -\zf@make@lang@feature{Kurdish}{KUR} -\zf@make@lang@feature{Kurukh}{KUU} -\zf@make@lang@feature{Kuy}{KUY} -\zf@make@lang@feature{Koryak}{KYK} -\zf@make@lang@feature{Ladin}{LAD} -\zf@make@lang@feature{Lahuli}{LAH} -\zf@make@lang@feature{Lak}{LAK} -\zf@make@lang@feature{Lambani}{LAM} -\zf@make@lang@feature{Lao}{LAO} -\zf@make@lang@feature{Latin}{LAT} -\zf@make@lang@feature{Laz}{LAZ} -\zf@make@lang@feature{L-Cree}{LCR} -\zf@make@lang@feature{Ladakhi}{LDK} -\zf@make@lang@feature{Lezgi}{LEZ} -\zf@make@lang@feature{Lingala}{LIN} -\zf@make@lang@feature{Low Mari}{LMA} -\zf@make@lang@feature{Limbu}{LMB} -\zf@make@lang@feature{Lomwe}{LMW} -\zf@make@lang@feature{Lower Sorbian}{LSB} -\zf@make@lang@feature{Lule Sami}{LSM} -\zf@make@lang@feature{Lithuanian}{LTH} -\zf@make@lang@feature{Luba}{LUB} -\zf@make@lang@feature{Luganda}{LUG} -\zf@make@lang@feature{Luhya}{LUH} -\zf@make@lang@feature{Luo}{LUO} -\zf@make@lang@feature{Latvian}{LVI} -\zf@make@lang@feature{Majang}{MAJ} -\zf@make@lang@feature{Makua}{MAK} -\zf@make@lang@feature{Malayalam Traditional}{MAL} -\zf@make@lang@feature{Mansi}{MAN} -\zf@make@lang@feature{Marathi}{MAR} -\zf@make@lang@feature{Marwari}{MAW} -\zf@make@lang@feature{Mbundu}{MBN} -\zf@make@lang@feature{Manchu}{MCH} -\zf@make@lang@feature{Moose Cree}{MCR} -\zf@make@lang@feature{Mende}{MDE} -\zf@make@lang@feature{Me'en}{MEN} -\zf@make@lang@feature{Mizo}{MIZ} -\zf@make@lang@feature{Macedonian}{MKD} -\zf@make@lang@feature{Male}{MLE} -\zf@make@lang@feature{Malagasy}{MLG} -\zf@make@lang@feature{Malinke}{MLN} -\zf@make@lang@feature{Malayalam Reformed}{MLR} -\zf@make@lang@feature{Malay}{MLY} -\zf@make@lang@feature{Mandinka}{MND} -\zf@make@lang@feature{Mongolian}{MNG} -\zf@make@lang@feature{Manipuri}{MNI} -\zf@make@lang@feature{Maninka}{MNK} -\zf@make@lang@feature{Manx Gaelic}{MNX} -\zf@make@lang@feature{Moksha}{MOK} -\zf@make@lang@feature{Moldavian}{MOL} -\zf@make@lang@feature{Mon}{MON} -\zf@make@lang@feature{Moroccan}{MOR} -\zf@make@lang@feature{Maori}{MRI} -\zf@make@lang@feature{Maithili}{MTH} -\zf@make@lang@feature{Maltese}{MTS} -\zf@make@lang@feature{Mundari}{MUN} -\zf@make@lang@feature{Naga-Assamese}{NAG} -\zf@make@lang@feature{Nanai}{NAN} -\zf@make@lang@feature{Naskapi}{NAS} -\zf@make@lang@feature{N-Cree}{NCR} -\zf@make@lang@feature{Ndebele}{NDB} -\zf@make@lang@feature{Ndonga}{NDG} -\zf@make@lang@feature{Nepali}{NEP} -\zf@make@lang@feature{Newari}{NEW} -\zf@make@lang@feature{Nagari}{NGR} -\zf@make@lang@feature{Norway House Cree}{NHC} -\zf@make@lang@feature{Nisi}{NIS} -\zf@make@lang@feature{Niuean}{NIU} -\zf@make@lang@feature{Nkole}{NKL} -\zf@make@lang@feature{N'ko}{NKO} -\zf@make@lang@feature{Dutch}{NLD} -\zf@make@lang@feature{Nogai}{NOG} -\zf@make@lang@feature{Norwegian}{NOR} -\zf@make@lang@feature{Northern Sami}{NSM} -\zf@make@lang@feature{Northern Tai}{NTA} -\zf@make@lang@feature{Esperanto}{NTO} -\zf@make@lang@feature{Nynorsk}{NYN} -\zf@make@lang@feature{Oji-Cree}{OCR} -\zf@make@lang@feature{Ojibway}{OJB} -\zf@make@lang@feature{Oriya}{ORI} -\zf@make@lang@feature{Oromo}{ORO} -\zf@make@lang@feature{Ossetian}{OSS} -\zf@make@lang@feature{Palestinian Aramaic}{PAA} -\zf@make@lang@feature{Pali}{PAL} -\zf@make@lang@feature{Punjabi}{PAN} -\zf@make@lang@feature{Palpa}{PAP} -\zf@make@lang@feature{Pashto}{PAS} -\zf@make@lang@feature{Polytonic Greek}{PGR} -\zf@make@lang@feature{Pilipino}{PIL} -\zf@make@lang@feature{Palaung}{PLG} -\zf@make@lang@feature{Polish}{PLK} -\zf@make@lang@feature{Provencal}{PRO} -\zf@make@lang@feature{Portuguese}{PTG} -\zf@make@lang@feature{Chin}{QIN} -\zf@make@lang@feature{Rajasthani}{RAJ} -\zf@make@lang@feature{R-Cree}{RCR} -\zf@make@lang@feature{Russian Buriat}{RBU} -\zf@make@lang@feature{Riang}{RIA} -\zf@make@lang@feature{Rhaeto-Romanic}{RMS} -\zf@make@lang@feature{Romanian}{ROM} -\zf@make@lang@feature{Romany}{ROY} -\zf@make@lang@feature{Rusyn}{RSY} -\zf@make@lang@feature{Ruanda}{RUA} -\zf@make@lang@feature{Russian}{RUS} -\zf@make@lang@feature{Sadri}{SAD} -\zf@make@lang@feature{Sanskrit}{SAN} -\zf@make@lang@feature{Santali}{SAT} -\zf@make@lang@feature{Sayisi}{SAY} -\zf@make@lang@feature{Sekota}{SEK} -\zf@make@lang@feature{Selkup}{SEL} -\zf@make@lang@feature{Sango}{SGO} -\zf@make@lang@feature{Shan}{SHN} -\zf@make@lang@feature{Sibe}{SIB} -\zf@make@lang@feature{Sidamo}{SID} -\zf@make@lang@feature{Silte Gurage}{SIG} -\zf@make@lang@feature{Skolt Sami}{SKS} -\zf@make@lang@feature{Slovak}{SKY} -\zf@make@lang@feature{Slavey}{SLA} -\zf@make@lang@feature{Slovenian}{SLV} -\zf@make@lang@feature{Somali}{SML} -\zf@make@lang@feature{Samoan}{SMO} -\zf@make@lang@feature{Sena}{SNA} -\zf@make@lang@feature{Sindhi}{SND} -\zf@make@lang@feature{Sinhalese}{SNH} -\zf@make@lang@feature{Soninke}{SNK} -\zf@make@lang@feature{Sodo Gurage}{SOG} -\zf@make@lang@feature{Sotho}{SOT} -\zf@make@lang@feature{Albanian}{SQI} -\zf@make@lang@feature{Serbian}{SRB} -\zf@make@lang@feature{Saraiki}{SRK} -\zf@make@lang@feature{Serer}{SRR} -\zf@make@lang@feature{South Slavey}{SSL} -\zf@make@lang@feature{Southern Sami}{SSM} -\zf@make@lang@feature{Suri}{SUR} -\zf@make@lang@feature{Svan}{SVA} -\zf@make@lang@feature{Swedish}{SVE} -\zf@make@lang@feature{Swadaya Aramaic}{SWA} -\zf@make@lang@feature{Swahili}{SWK} -\zf@make@lang@feature{Swazi}{SWZ} -\zf@make@lang@feature{Sutu}{SXT} -\zf@make@lang@feature{Syriac}{SYR} -\zf@make@lang@feature{Tabasaran}{TAB} -\zf@make@lang@feature{Tajiki}{TAJ} -\zf@make@lang@feature{Tamil}{TAM} -\zf@make@lang@feature{Tatar}{TAT} -\zf@make@lang@feature{TH-Cree}{TCR} -\zf@make@lang@feature{Telugu}{TEL} -\zf@make@lang@feature{Tongan}{TGN} -\zf@make@lang@feature{Tigre}{TGR} -\zf@make@lang@feature{Tigrinya}{TGY} -\zf@make@lang@feature{Thai}{THA} -\zf@make@lang@feature{Tahitian}{THT} -\zf@make@lang@feature{Tibetan}{TIB} -\zf@make@lang@feature{Turkmen}{TKM} -\zf@make@lang@feature{Temne}{TMN} -\zf@make@lang@feature{Tswana}{TNA} -\zf@make@lang@feature{Tundra Nenets}{TNE} -\zf@make@lang@feature{Tonga}{TNG} -\zf@make@lang@feature{Todo}{TOD} -\zf@make@lang@feature{Turkish}{TRK} -\zf@make@lang@feature{Tsonga}{TSG} -\zf@make@lang@feature{Turoyo Aramaic}{TUA} -\zf@make@lang@feature{Tulu}{TUL} -\zf@make@lang@feature{Tuvin}{TUV} -\zf@make@lang@feature{Twi}{TWI} -\zf@make@lang@feature{Udmurt}{UDM} -\zf@make@lang@feature{Ukrainian}{UKR} -\zf@make@lang@feature{Urdu}{URD} -\zf@make@lang@feature{Upper Sorbian}{USB} -\zf@make@lang@feature{Uyghur}{UYG} -\zf@make@lang@feature{Uzbek}{UZB} -\zf@make@lang@feature{Venda}{VEN} -\zf@make@lang@feature{Vietnamese}{VIT} -\zf@make@lang@feature{Wa}{WA} -\zf@make@lang@feature{Wagdi}{WAG} -\zf@make@lang@feature{West-Cree}{WCR} -\zf@make@lang@feature{Welsh}{WEL} -\zf@make@lang@feature{Wolof}{WLF} -\zf@make@lang@feature{Tai Lue}{XBD} -\zf@make@lang@feature{Xhosa}{XHS} -\zf@make@lang@feature{Yakut}{YAK} -\zf@make@lang@feature{Yoruba}{YBA} -\zf@make@lang@feature{Y-Cree}{YCR} -\zf@make@lang@feature{Yi Classic}{YIC} -\zf@make@lang@feature{Yi Modern}{YIM} -\zf@make@lang@feature{Chinese Hong Kong}{ZHH} -\zf@make@lang@feature{Chinese Phonetic}{ZHP} -\zf@make@lang@feature{Chinese Simplified}{ZHS} -\zf@make@lang@feature{Chinese Traditional}{ZHT} -\zf@make@lang@feature{Zande}{ZND} -\zf@make@lang@feature{Zulu}{ZUL} -\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}{+cpsp} -\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}{SMALLCAPS}{}{}{+c2sc} -\zf@define@feature@option{Letters}{PETITECAPS}{}{}{+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{Swashes} -\zf@define@feature@option{Swashes}{Contextual}{}{}{+cswh} -\zf@define@feature@option{Swashes}{WordInitial}{8}{0}{+init} -\zf@define@feature@option{Swashes}{NoWordInitial}{8}{1}{-init} -\zf@define@feature@option{Swashes}{WordFinal}{8}{2}{+fina} -\zf@define@feature@option{Swashes}{NoWordFinal}{8}{3}{-fina} -\zf@define@feature@option{Swashes}{LineInitial}{8}{4}{} -\zf@define@feature@option{Swashes}{NoLineInitial}{8}{5}{} -\zf@define@feature@option{Swashes}{LineFinal}{8}{6}{+falt} -\zf@define@feature@option{Swashes}{NoLineFinal}{8}{7}{-falt} -\zf@define@feature@option{Swashes}{Inner}{8}{8}{} -\zf@define@feature@option{Swashes}{NoInner}{8}{9}{} -\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{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}{Alternate}{\zf@make@feature{17}{#1}{}} -\define@key{zf}{Variant}{\zf@make@feature{18}{#1}{% - \ifnum #1 > 0 - \ifnum #1 < 100 - \ifnum #1 > 9 - +ss#1% - \else - +ss0#1% - \fi - \else - \PackageWarning{fontspec}{OpenType variant number must be - between 1 and 99 inclusive.}% - \fi - \else - \PackageWarning{fontspec}{OpenType variant number must be between 1 - and 99 inclusive.}% - \fi}} -\zf@define@font@feature{Style} -\aliasfeature{Style}{StyleOptions} -\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}{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@font@feature{CharacterShape} -\zf@define@feature@option{CharacterShape}{Traditional}{20}{0}{+trad} -\zf@define@feature@option{CharacterShape}{Simplified}{20}{1}{+smpl} -\zf@define@feature@option{CharacterShape}{JIS1978}{20}{2}{+jp78} -\zf@define@feature@option{CharacterShape}{JIS1983}{20}{3}{+jp83} -\zf@define@feature@option{CharacterShape}{JIS1990}{20}{4}{+jp90} -\zf@define@feature@option{CharacterShape}{Expert}{20}{10}{+expt} -\zf@define@feature@option{CharacterShape}{NLC}{20}{13}{+nlck} -\zf@define@font@feature{TextSpacing} -\zf@define@feature@option{TextSpacing}{Proportional}{22}{0}{+pwid} -\zf@define@feature@option{TextSpacing}{FullWidth}{22}{1}{+fwid} -\zf@define@feature@option{TextSpacing}{HalfWidth}{22}{2}{+hwid} -\zf@define@feature@option{TextSpacing}{ThirdWidth}{22}{3}{+twid} -\zf@define@feature@option{TextSpacing}{QuarterWidth}{22}{4}{+qwid} -\zf@define@feature@option{TextSpacing}{AlternateProportional}{22}{5}{+palt} -\zf@define@feature@option{TextSpacing}{AlternateHalfWidth}{22}{6}{+halt} -\zf@define@feature@option{TextSpacing}{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}{} -\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 - \expandafter\ifx - \csname\f@encoding/\f@family/\f@series/#3\endcsname - \relax\else - \edef\@tempa{#3}% - \fi - \fi - \fontshape{\@tempa}\selectfont} -\DeclareRobustCommand{\itshape}{% - \not@math@alphabet\itshape\mathit - \zf@merge@shape\itdefault\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} -\newif\ifzf@math@euler -\newif\ifzf@math@lucida -\newif\ifzf@euler@package@loaded -\@ifpackageloaded{euler}{\zf@euler@package@loadedtrue} - {\zf@euler@package@loadedfalse} -\AtBeginDocument{% - \@ifpackageloaded{euler}{% - \ifzf@euler@package@loaded - \zf@math@eulertrue - \else - \PackageError{fontspec}{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 to proceed\MessageBreak - with incorrect \protect\mathit, \protect\mathbf, etc} - \fi}{} - \@ifpackageloaded{lucbmath}{\zf@math@lucidatrue}{} - \@ifpackageloaded{lucidabr}{\zf@math@lucidatrue}{} - \DeclareSymbolFont{legacymaths}{OT1}{cmr}{m}{n} - \SetSymbolFont{legacymaths}{bold}{OT1}{cmr}{bx}{n} - \DeclareMathAccent{\acute} {\mathalpha}{legacymaths}{"13} - \DeclareMathAccent{\grave} {\mathalpha}{legacymaths}{"12} - \DeclareMathAccent{\ddot} {\mathalpha}{legacymaths}{"7F} - \DeclareMathAccent{\tilde} {\mathalpha}{legacymaths}{"7E} - \DeclareMathAccent{\bar} {\mathalpha}{legacymaths}{"16} - \DeclareMathAccent{\breve} {\mathalpha}{legacymaths}{"15} - \DeclareMathAccent{\check} {\mathalpha}{legacymaths}{"14} - \DeclareMathAccent{\hat} {\mathalpha}{legacymaths}{"5E} % too bad, euler - \DeclareMathAccent{\dot} {\mathalpha}{legacymaths}{"5F} - \DeclareMathAccent{\mathring}{\mathalpha}{legacymaths}{"17} - \ifzf@math@euler\else - \DeclareMathSymbol{!}{\mathclose}{legacymaths}{"21} - \DeclareMathSymbol{:}{\mathrel} {legacymaths}{"3A} - \DeclareMathSymbol{;}{\mathpunct}{legacymaths}{"3B} - \DeclareMathSymbol{?}{\mathclose}{legacymaths}{"3F} - \ifzf@math@lucida - \@ifpackageloaded{amsmath}{}{% - \DeclareMathSymbol{\colon}{\mathpunct}{legacymaths}{"3A}} - \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}{"00} - \DeclareMathSymbol{\Delta}{\mathalpha}{legacymaths}{"01} - \DeclareMathSymbol{\Theta}{\mathalpha}{legacymaths}{"02} - \DeclareMathSymbol{\Lambda}{\mathalpha}{legacymaths}{"03} - \DeclareMathSymbol{\Xi}{\mathalpha}{legacymaths}{"04} - \DeclareMathSymbol{\Pi}{\mathalpha}{legacymaths}{"05} - \DeclareMathSymbol{\Sigma}{\mathalpha}{legacymaths}{"06} - \DeclareMathSymbol{\Upsilon}{\mathalpha}{legacymaths}{"07} - \DeclareMathSymbol{\Phi}{\mathalpha}{legacymaths}{"08} - \DeclareMathSymbol{\Psi}{\mathalpha}{legacymaths}{"09} - \DeclareMathSymbol{\Omega}{\mathalpha}{legacymaths}{"0A} - \DeclareMathSymbol{+}{\mathbin}{legacymaths}{"2B} - \DeclareMathSymbol{=}{\mathrel}{legacymaths}{"3D} - \DeclareMathDelimiter{(}{\mathopen} {legacymaths}{"28}{largesymbols}{"00} - \DeclareMathDelimiter{)}{\mathclose}{legacymaths}{"29}{largesymbols}{"01} - \DeclareMathDelimiter{[}{\mathopen} {legacymaths}{"5B}{largesymbols}{"02} - \DeclareMathDelimiter{]}{\mathclose}{legacymaths}{"5D}{largesymbols}{"03} - \DeclareMathDelimiter{/}{\mathord}{legacymaths}{"2F}{largesymbols}{"0E} - \DeclareMathSymbol{\mathdollar}{\mathord}{legacymaths}{"24} - \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 - \expandafter\ifx\csname zf@rmboldmaths\endcsname\relax - \SetMathAlphabet\mathrm{bold}\zf@enc\zf@rmmaths\bfdefault\updefault - \SetMathAlphabet\mathit{bold}\zf@enc\zf@rmmaths\bfdefault\itdefault - \else - \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 - \fi - \SetMathAlphabet\mathsf{bold}\zf@enc\zf@sfmaths\bfdefault\updefault - \SetMathAlphabet\mathsf{bold}\zf@enc\zf@ttmaths\bfdefault\updefault} -%% -%% Copyright 2005 by Will Robertson -%% -%% Distributable under the LaTeX Project Public License, -%% version 1.3a 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/xetex/fontspec/fontspec.cfg b/Master/texmf-dist/tex/xetex/fontspec/fontspec.cfg new file mode 100644 index 00000000000..1741bba6d7d --- /dev/null +++ b/Master/texmf-dist/tex/xetex/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/xetex/fontspec/fontspec.sty b/Master/texmf-dist/tex/xetex/fontspec/fontspec.sty new file mode 100644 index 00000000000..86e8e054a71 --- /dev/null +++ b/Master/texmf-dist/tex/xetex/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 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 +%% +%% 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'. -- cgit v1.2.3