diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/xebabel.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/xebabel.def | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index 4e1433a00bc..cd47364b3c6 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -45,6 +45,12 @@ \AddBabelHook{xetex}{stopcommands}{% \xebbl@stop \let\xebbl@stop\relax} +\def\bbl@intraspace#1 #2 #3\@@{% + \bbl@csarg\gdef{xeisp@\bbl@cs{sbcp@\languagename}}% + {\XeTeXlinebreakskip #1em plus #2em minus #3em\relax}} +\def\bbl@intrapenalty#1\@@{% + \bbl@csarg\gdef{xeipn@\bbl@cs{sbcp@\languagename}}% + {\XeTeXlinebreakpenalty #1\relax}} \AddBabelHook{xetex}{loadkernel}{% \begingroup % Reset chars "80-"C0 to category "other", no case mapping: @@ -85,10 +91,11 @@ \ifx\fontspec\@undefined \usepackage{fontspec}% \fi - \EnableBabelHook{babel-fontspec}% + \EnableBabelHook{babel-fontspec}% Just calls \bbl@switchfont \bbl@bblfont} \newcommand\bbl@bblfont[2][]{% 1=features 2=fontname \bbl@ifunset{\bbl@tempb family}{\bbl@providefam{\bbl@tempb}}{}% + % For the default font, just in case: \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% \expandafter\bbl@ifblank\expandafter{\bbl@tempa}% {\bbl@csarg\edef{\bbl@tempb dflt@}{<>{#1}{#2}}% save bbl@rmdflt@ @@ -125,8 +132,9 @@ \def\bbl@tempa{% \bbl@warning{The current font is not a standard family:\\% \fontname\font\\% - Script and Language are not applied. Consider defining a\\% - new family with \string\babelfont. Reported}}% + Script and Language are not applied. Consider\\% + defining a new family with \string\babelfont.\\% + Reported}}% \bbl@foreach\bbl@font@fams{% don't gather with prev for \bbl@ifunset{bbl@##1dflt@\languagename}% {\bbl@cs{famrst@##1}% @@ -149,8 +157,18 @@ \def\bbl@fontspec@set#1#2#3{% eg \bbl@rmdflt@lang fnt-opt fnt-nme \let\bbl@tempe\bbl@mapselect \let\bbl@mapselect\relax - \bbl@exp{\<fontspec_set_family:Nnn>\\#1% - {\bbl@cs{lsys@\languagename},#2}}{#3}% + \bbl@exp{% TODO - should be global, but even local does its job + % I'm still not sure -- must investigate + \<keys_if_exist:nnF>{fontspec-opentype}% + {Script/\bbl@cs{sname@\languagename}}% + {\\\newfontscript{\bbl@cs{sname@\languagename}}% + {\bbl@cs{sotf@\languagename}}}% + \<keys_if_exist:nnF>{fontspec-opentype}% + {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}% \def\bbl@font@rst#1#2#3#4{% |