summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/xebabel.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/xebabel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def25
1 files changed, 16 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index cd47364b3c6..1159998dde1 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -149,16 +149,18 @@
\def\bbl@font@set#1#2#3{% eg \bbl@rmdflt@lang \rmdefault \rmfamily
\bbl@xin@{<>}{#1}%
\ifin@
- \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1}%
+ \bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1\\#3}%
\fi
\bbl@exp{%
- \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang}
+ \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang}
\\\bbl@ifsamestring{#2}{\f@family}{\\#3\let\\\bbl@tempa\relax}{}}}
-\def\bbl@fontspec@set#1#2#3{% eg \bbl@rmdflt@lang fnt-opt fnt-nme
+\def\bbl@fontspec@set#1#2#3#4{% eg \bbl@rmdflt@lang fnt-opt fnt-nme \xxfamily
\let\bbl@tempe\bbl@mapselect
\let\bbl@mapselect\relax
- \bbl@exp{% TODO - should be global, but even local does its job
- % I'm still not sure -- must investigate
+ \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below
+ \let#4\relax % So that can be used with \newfontfamily
+ \bbl@exp{%
+ \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% eg, '\rmfamily '
\<keys_if_exist:nnF>{fontspec-opentype}%
{Script/\bbl@cs{sname@\languagename}}%
{\\\newfontscript{\bbl@cs{sname@\languagename}}%
@@ -167,10 +169,15 @@
{Language/\bbl@cs{lname@\languagename}}%
{\\\newfontlanguage{\bbl@cs{lname@\languagename}}%
{\bbl@cs{lotf@\languagename}}}%
- \<fontspec_set_family:Nnn>\\#1%
- {\bbl@cs{lsys@\languagename},#2}}{#3}% ie \bbl@exp{..}{#3}
- \let\bbl@mapselect\bbl@tempe
- \bbl@toglobal#1}%
+ \\\newfontfamily\\#4%
+ [\bbl@cs{lsys@\languagename},#2]}{#3}% ie \bbl@exp{..}{#3}
+ \begingroup
+ #4%
+ \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)}
+ \endgroup
+ \let#4\bbl@temp@fam
+ \bbl@exp{\let\<\bbl@stripslash#4\space>}\bbl@temp@pfam
+ \let\bbl@mapselect\bbl@tempe}%
\def\bbl@font@rst#1#2#3#4{%
\bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}}
\def\bbl@font@fams{rm,sf,tt}