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.def96
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%