diff options
-rw-r--r-- | Master/texmf-dist/tex/latex/fontspec/fontspec.sty | 1070 |
1 files changed, 1070 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty new file mode 100644 index 00000000000..2436f15daca --- /dev/null +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty @@ -0,0 +1,1070 @@ +%% +%% 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 <return> 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 <will@guerilla.net.au> +%% +%% 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'. |