diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/xebabel.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/xebabel.def | 96 |
1 files changed, 54 insertions, 42 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index def3d33137f..e3c943e2c8c 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -46,37 +46,51 @@ \xebbl@stop \let\xebbl@stop\relax} \def\bbl@intraspace#1 #2 #3\@@{% - \bbl@csarg\gdef{xeisp@\bbl@cs{sbcp@\languagename}}% + \bbl@csarg\gdef{xeisp@\languagename}% {\XeTeXlinebreakskip #1em plus #2em minus #3em\relax}} \def\bbl@intrapenalty#1\@@{% - \bbl@csarg\gdef{xeipn@\bbl@cs{sbcp@\languagename}}% + \bbl@csarg\gdef{xeipn@\languagename}% {\XeTeXlinebreakpenalty #1\relax}} \def\bbl@provide@intraspace{% - \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Thai,Laoo,Khmr}% - \ifin@ % sea (currently ckj not handled) - \bbl@ifunset{bbl@intsp@\languagename}{}% - {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else - \ifx\bbl@KVP@intraspace\@nil - \bbl@exp{% - \\\bbl@intraspace\bbl@cs{intsp@\languagename}\\\@@}% - \fi - \ifx\bbl@KVP@intrapenalty\@nil - \bbl@intrapenalty0\@@ - \fi - \fi - \ifx\bbl@KVP@intraspace\@nil\else % We may override the ini - \expandafter\bbl@intraspace\bbl@KVP@intraspace\@@ - \fi - \ifx\bbl@KVP@intrapenalty\@nil\else - \expandafter\bbl@intrapenalty\bbl@KVP@intrapenalty\@@ - \fi - \ifx\bbl@ispacesize\@undefined - \AtBeginDocument{% - \expandafter\bbl@add - \csname selectfont \endcsname{\bbl@ispacesize}}% - \def\bbl@ispacesize{\bbl@cs{xeisp@\bbl@cs{sbcp@\languagename}}}% - \fi}% - \fi} + \bbl@xin@{\bbl@cl{lnbrk}}{s}% + \ifin@\else\bbl@xin@{\bbl@cl{lnbrk}}{c}\fi + \ifin@ + \bbl@ifunset{bbl@intsp@\languagename}{}% + {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else + \ifx\bbl@KVP@intraspace\@nil + \bbl@exp{% + \\\bbl@intraspace\bbl@cl{intsp}\\\@@}% + \fi + \ifx\bbl@KVP@intrapenalty\@nil + \bbl@intrapenalty0\@@ + \fi + \fi + \ifx\bbl@KVP@intraspace\@nil\else % We may override the ini + \expandafter\bbl@intraspace\bbl@KVP@intraspace\@@ + \fi + \ifx\bbl@KVP@intrapenalty\@nil\else + \expandafter\bbl@intrapenalty\bbl@KVP@intrapenalty\@@ + \fi + \bbl@exp{% + \\\bbl@add\<extras\languagename>{% + \XeTeXlinebreaklocale "\bbl@cl{lbcp}"% + \<bbl@xeisp@\languagename>% + \<bbl@xeipn@\languagename>}% + \\\bbl@toglobal\<extras\languagename>% + \\\bbl@add\<noextras\languagename>{% + \XeTeXlinebreaklocale "en"}% + \\\bbl@toglobal\<noextras\languagename>}% + \ifx\bbl@ispacesize\@undefined + \gdef\bbl@ispacesize{\bbl@cl{xeisp}}% + \ifx\AtBeginDocument\@notprerr + \expandafter\@secondoftwo % to execute right now + \fi + \AtBeginDocument{% + \expandafter\bbl@add + \csname selectfont \endcsname{\bbl@ispacesize}% + \expandafter\bbl@toglobal\csname selectfont \endcsname}% + \fi}% + \fi} \AddBabelHook{xetex}{loadkernel}{% \begingroup % Reset chars "80-"C0 to category "other", no case mapping: @@ -167,7 +181,7 @@ \gdef\bbl@switchfont{% \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}% \bbl@exp{% eg Arabic -> arabic - \lowercase{\edef\\\bbl@tempa{\bbl@cs{sname@\languagename}}}}% + \lowercase{\edef\\\bbl@tempa{\bbl@cl{sname}}}}% \bbl@foreach\bbl@font@fams{% \bbl@ifunset{bbl@##1dflt@\languagename}% (1) language? {\bbl@ifunset{bbl@##1dflt@*\bbl@tempa}% (2) from script? @@ -187,7 +201,7 @@ \global\bbl@csarg\let{famrst@##1}\relax}% {\bbl@exp{% order is relevant \\\bbl@add\\\originalTeX{% - \\\bbl@font@rst{\bbl@cs{##1dflt@\languagename}}% + \\\bbl@font@rst{\bbl@cl{##1dflt}}% \<##1default>\<##1family>{##1}}% \\\bbl@font@set\<bbl@##1dflt@\languagename>% the main part! \<##1default>\<##1family>}}}% @@ -210,11 +224,13 @@ \expandafter\xdef\csname ##1default\endcsname{\f@family}}% {}}% \ifx\bbl@tempa\@empty\else - \bbl@infowarn{The following fonts are not babel standard families:\\% + \bbl@infowarn{The following font families will use the default\\% + settings for all or some languages:\\% \bbl@tempa There is nothing intrinsically wrong with it, but\\% - 'babel' will no set Script and Language. Consider\\% - defining a new family with \string\babelfont.\\% + 'babel' will no set Script and Language, which could\\% + be relevant in some languages. If your document uses\\% + these families, consider redefining them with \string\babelfont.\\% Reported}% \fi \endgroup} @@ -232,18 +248,14 @@ \let\bbl@tempe\bbl@mapselect \let\bbl@mapselect\relax \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below - \let#4\relax % So that can be used with \newfontfamily + \let#4\@empty % Make sure \renewfontfamily is valid \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}}% - {\bbl@cs{sotf@\languagename}}}% - \<keys_if_exist:nnF>{fontspec-opentype}% - {Language/\bbl@cs{lname@\languagename}}% - {\\\newfontlanguage{\bbl@cs{lname@\languagename}}% - {\bbl@cs{lotf@\languagename}}}% - \\\newfontfamily\\#4% + \<keys_if_exist:nnF>{fontspec-opentype}{Script/\bbl@cl{sname}}% + {\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}% + \<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}% + {\\\newfontlanguage{\bbl@cl{lname}}{\bbl@cl{lotf}}}% + \\\renewfontfamily\\#4% [\bbl@cs{lsys@\languagename},#2]}{#3}% ie \bbl@exp{..}{#3} \begingroup #4% |