summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-06-19 22:49:18 +0000
committerKarl Berry <karl@freefriends.org>2006-06-19 22:49:18 +0000
commit446616af78c68a47b3851065c2121bab5a96ad53 (patch)
treed0d19399424d93ae6e99d635428049ce428f475a /Master/texmf-dist/tex
parent315f6e8cf21d3f57aaefe05b58147de728d5ede0 (diff)
fontspec update, and put under xetex
git-svn-id: svn://tug.org/texlive/trunk@1706 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.sty1070
-rw-r--r--Master/texmf-dist/tex/xetex/fontspec/fontspec.cfg25
-rw-r--r--Master/texmf-dist/tex/xetex/fontspec/fontspec.sty1028
3 files changed, 1053 insertions, 1070 deletions
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 <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'.
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 <return> to proceed\MessageBreak
+ with incorrect \protect\mathit, \protect\mathbf, etc}
+ \fi}{}
+ \@ifpackageloaded{lucbmath}{\zf@math@lucidatrue}{}
+ \@ifpackageloaded{lucidabr}{\zf@math@lucidatrue}{}
+ \@ifpackageloaded{lucimatx}{\zf@math@lucidatrue}{}
+ \DeclareSymbolFont{legacymaths}{OT1}{cmr}{m}{n}
+ \SetSymbolFont{legacymaths}{bold}{OT1}{cmr}{bx}{n}
+ \DeclareMathAccent{\acute} {\mathalpha}{legacymaths}{19}
+ \DeclareMathAccent{\grave} {\mathalpha}{legacymaths}{18}
+ \DeclareMathAccent{\ddot} {\mathalpha}{legacymaths}{127}
+ \DeclareMathAccent{\tilde} {\mathalpha}{legacymaths}{126}
+ \DeclareMathAccent{\bar} {\mathalpha}{legacymaths}{22}
+ \DeclareMathAccent{\breve} {\mathalpha}{legacymaths}{21}
+ \DeclareMathAccent{\check} {\mathalpha}{legacymaths}{20}
+ \DeclareMathAccent{\hat} {\mathalpha}{legacymaths}{94} % too bad, euler
+ \DeclareMathAccent{\dot} {\mathalpha}{legacymaths}{95}
+ \DeclareMathAccent{\mathring}{\mathalpha}{legacymaths}{23}
+ \begingroup
+ \mathchardef\@tempa="603A %
+ \let\next\egroup
+ \ifx\colon\@tempa
+ \DeclareMathSymbol{\colon}{\mathpunct}{legacymaths}{58}
+ \fi
+ \endgroup
+ \ifzf@math@euler\else
+ \DeclareMathSymbol{!}{\mathclose}{legacymaths}{33}
+ \DeclareMathSymbol{:}{\mathrel} {legacymaths}{58}
+ \DeclareMathSymbol{;}{\mathpunct}{legacymaths}{59}
+ \DeclareMathSymbol{?}{\mathclose}{legacymaths}{63}
+ \ifzf@math@lucida\else
+ \DeclareMathSymbol{0}{\mathalpha}{legacymaths}{`0}
+ \DeclareMathSymbol{1}{\mathalpha}{legacymaths}{`1}
+ \DeclareMathSymbol{2}{\mathalpha}{legacymaths}{`2}
+ \DeclareMathSymbol{3}{\mathalpha}{legacymaths}{`3}
+ \DeclareMathSymbol{4}{\mathalpha}{legacymaths}{`4}
+ \DeclareMathSymbol{5}{\mathalpha}{legacymaths}{`5}
+ \DeclareMathSymbol{6}{\mathalpha}{legacymaths}{`6}
+ \DeclareMathSymbol{7}{\mathalpha}{legacymaths}{`7}
+ \DeclareMathSymbol{8}{\mathalpha}{legacymaths}{`8}
+ \DeclareMathSymbol{9}{\mathalpha}{legacymaths}{`9}
+ \DeclareMathSymbol{\Gamma}{\mathalpha}{legacymaths}{0}
+ \DeclareMathSymbol{\Delta}{\mathalpha}{legacymaths}{1}
+ \DeclareMathSymbol{\Theta}{\mathalpha}{legacymaths}{2}
+ \DeclareMathSymbol{\Lambda}{\mathalpha}{legacymaths}{3}
+ \DeclareMathSymbol{\Xi}{\mathalpha}{legacymaths}{4}
+ \DeclareMathSymbol{\Pi}{\mathalpha}{legacymaths}{5}
+ \DeclareMathSymbol{\Sigma}{\mathalpha}{legacymaths}{6}
+ \DeclareMathSymbol{\Upsilon}{\mathalpha}{legacymaths}{7}
+ \DeclareMathSymbol{\Phi}{\mathalpha}{legacymaths}{8}
+ \DeclareMathSymbol{\Psi}{\mathalpha}{legacymaths}{9}
+ \DeclareMathSymbol{\Omega}{\mathalpha}{legacymaths}{10}
+ \DeclareMathSymbol{+}{\mathbin}{legacymaths}{43}
+ \DeclareMathSymbol{=}{\mathrel}{legacymaths}{61}
+ \DeclareMathDelimiter{(}{\mathopen} {legacymaths}{40}{largesymbols}{0}
+ \DeclareMathDelimiter{)}{\mathclose}{legacymaths}{41}{largesymbols}{1}
+ \DeclareMathDelimiter{[}{\mathopen} {legacymaths}{91}{largesymbols}{2}
+ \DeclareMathDelimiter{]}{\mathclose}{legacymaths}{93}{largesymbols}{3}
+ \DeclareMathDelimiter{/}{\mathord}{legacymaths}{47}{largesymbols}{14}
+ \DeclareMathSymbol{\mathdollar}{\mathord}{legacymaths}{36}
+ \fi
+ \fi
+ \DeclareSymbolFont{operators}\zf@enc\zf@rmmaths\mddefault\updefault
+ \SetSymbolFont{operators}{normal}\zf@enc\zf@rmmaths\mddefault\updefault
+ \SetMathAlphabet\mathrm{normal}\zf@enc\zf@rmmaths\mddefault\updefault
+ \SetMathAlphabet\mathit{normal}\zf@enc\zf@rmmaths\mddefault\itdefault
+ \SetMathAlphabet\mathbf{normal}\zf@enc\zf@rmmaths\bfdefault\updefault
+ \SetMathAlphabet\mathsf{normal}\zf@enc\zf@sfmaths\mddefault\updefault
+ \SetMathAlphabet\mathtt{normal}\zf@enc\zf@ttmaths\mddefault\updefault
+ \SetSymbolFont{operators}{bold}\zf@enc\zf@rmmaths\bfdefault\updefault
+ \ifdefined\zf@rmboldmaths
+ \SetMathAlphabet\mathrm{bold}\zf@enc\zf@rmboldmaths\mddefault\updefault
+ \SetMathAlphabet\mathbf{bold}\zf@enc\zf@rmboldmaths\bfdefault\updefault
+ \SetMathAlphabet\mathit{bold}\zf@enc\zf@rmboldmaths\mddefault\itdefault
+ \else
+ \SetMathAlphabet\mathrm{bold}\zf@enc\zf@rmmaths\bfdefault\updefault
+ \SetMathAlphabet\mathit{bold}\zf@enc\zf@rmmaths\bfdefault\itdefault
+ \fi
+ \SetMathAlphabet\mathsf{bold}\zf@enc\zf@sfmaths\bfdefault\updefault
+ \SetMathAlphabet\mathtt{bold}\zf@enc\zf@ttmaths\bfdefault\updefault
+ \let\font@warning\zf@font@warning}
+\DeclareOption{config}{%
+ \InputIfFileExists{fontspec.cfg}
+ {\typeout{fontspec.cfg loaded.}}
+ {\typeout{fontspec.cfg would be loaded now if it existed.}}}
+\DeclareOption{noconfig}{}
+\DeclareOption{quiet}{\let\zf@PackageWarning\zf@PackageInfo}
+\ExecuteOptions{config}
+\ProcessOptions
+%%
+%% Copyright 2005 by Will Robertson <will@guerilla.net.au>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3b or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Will Robertson.
+%%
+%% This work consists of the file fontspec.dtx
+%% and the derived files fontspec.sty and fontspec.pdf.
+%%
+%%
+%% End of file `fontspec.sty'.