diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/babel.def | 108 |
1 files changed, 67 insertions, 41 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def index 26f38577fd8..1414affbc28 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.def +++ b/Master/texmf-dist/tex/generic/babel/babel.def @@ -41,7 +41,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{babel.def}[2020/02/03 3.39 Babel common definitions] +\ProvidesFile{babel.def}[2020/02/14 3.40 Babel common definitions] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -196,31 +196,33 @@ \fi}% \expandafter\bbl@replace@aux#1#2\bbl@nil#2% \edef#1{\the\toks@}} -\bbl@exp{\def\\\bbl@parsedef##1\detokenize{macro:}}#2->#3\relax{% - \def\bbl@tempa{#1}% - \def\bbl@tempb{#2}% - \def\bbl@tempe{#3}} -\def\bbl@sreplace#1#2#3{% - \begingroup - \expandafter\bbl@parsedef\meaning#1\relax - \def\bbl@tempc{#2}% - \edef\bbl@tempc{\expandafter\strip@prefix\meaning\bbl@tempc}% - \def\bbl@tempd{#3}% - \edef\bbl@tempd{\expandafter\strip@prefix\meaning\bbl@tempd}% - \bbl@xin@{\bbl@tempc}{\bbl@tempe}% If not in macro, do nothing - \ifin@ - \bbl@exp{\\\bbl@replace\\\bbl@tempe{\bbl@tempc}{\bbl@tempd}}% - \def\bbl@tempc{% Expanded an executed below as 'uplevel' - \\\makeatletter % "internal" macros with @ are assumed - \\\scantokens{% - \bbl@tempa\\\@namedef{\bbl@stripslash#1}\bbl@tempb{\bbl@tempe}}% - \catcode64=\the\catcode64\relax}% Restore @ - \else - \let\bbl@tempc\@empty % Not \relax - \fi - \bbl@exp{% For the 'uplevel' assignments - \endgroup - \bbl@tempc}} % empty or expand to set #1 with changes +\ifx\detokenize\@undefined\else % Unused macros if old Plain TeX + \bbl@exp{\def\\\bbl@parsedef##1\detokenize{macro:}}#2->#3\relax{% + \def\bbl@tempa{#1}% + \def\bbl@tempb{#2}% + \def\bbl@tempe{#3}} + \def\bbl@sreplace#1#2#3{% + \begingroup + \expandafter\bbl@parsedef\meaning#1\relax + \def\bbl@tempc{#2}% + \edef\bbl@tempc{\expandafter\strip@prefix\meaning\bbl@tempc}% + \def\bbl@tempd{#3}% + \edef\bbl@tempd{\expandafter\strip@prefix\meaning\bbl@tempd}% + \bbl@xin@{\bbl@tempc}{\bbl@tempe}% If not in macro, do nothing + \ifin@ + \bbl@exp{\\\bbl@replace\\\bbl@tempe{\bbl@tempc}{\bbl@tempd}}% + \def\bbl@tempc{% Expanded an executed below as 'uplevel' + \\\makeatletter % "internal" macros with @ are assumed + \\\scantokens{% + \bbl@tempa\\\@namedef{\bbl@stripslash#1}\bbl@tempb{\bbl@tempe}}% + \catcode64=\the\catcode64\relax}% Restore @ + \else + \let\bbl@tempc\@empty % Not \relax + \fi + \bbl@exp{% For the 'uplevel' assignments + \endgroup + \bbl@tempc}} % empty or expand to set #1 with changes +\fi \def\bbl@ifsamestring#1#2{% \begingroup \protected@edef\bbl@tempb{#1}% @@ -1443,6 +1445,7 @@ \bbl@exportkey{dgnat}{numbers.digits.native}{}% \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% + \bbl@exportkey{hyoth}{typography.hyphenate.other}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% \endinput \endgroup}% boxed, to avoid extra spaces: @@ -1544,6 +1547,19 @@ \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}% \fi \bbl@provide@intraspace + % == hyphenate.other == + \bbl@ifunset{bbl@hyoth@\languagename}{}% + {\bbl@csarg\bbl@replace{hyoth@\languagename}{ }{,}% + \bbl@startcommands*{\languagename}{}% + \bbl@csarg\bbl@foreach{hyoth@\languagename}{% + \ifcase\bbl@engine + \ifnum##1<257 + \SetHyphenMap{\BabelLower{##1}{##1}}% + \fi + \else + \SetHyphenMap{\BabelLower{##1}{##1}}% + \fi}% + \bbl@endcommands} % == maparabic == % Native digits, if provided in ini (TeX level, xe and lua) \ifcase\bbl@engine\else @@ -1810,8 +1826,22 @@ \else \bbl@exp{\global\let\<bbl@#1@\languagename>\<bbl@@kv@#2>}% \fi}} +\def\bbl@iniwarning#1{% + \bbl@ifunset{bbl@@kv@identification.warning#1}{}% + {\bbl@warning{% + From babel-\@nameuse{bbl@lini@\languagename}.ini:\\% + \@nameuse{bbl@@kv@identification.warning#1}\\% + Reported }}} \let\bbl@inikv@identification\bbl@inikv \def\bbl@secpost@identification{% + \bbl@iniwarning{}% + \ifcase\bbl@engine + \bbl@iniwarning{.pdflatex}% + \or + \bbl@iniwarning{.lualatex}% + \or + \bbl@iniwarning{.xelatex}% + \fi% \bbl@exportkey{elname}{identification.name.english}{}% \bbl@exp{\\\bbl@exportkey{lname}{identification.name.opentype}% {\csname bbl@elname@\languagename\endcsname}}% @@ -1831,25 +1861,12 @@ \bbl@exportkey{prehc}{typography.prehyphenchar}{}% \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% + \bbl@exportkey{hyoth}{typography.hyphenate.other}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% \bbl@exportkey{jstfy}{typography.justify}{w}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% \bbl@exportkey{rqtex}{identification.require.babel}{}% - \bbl@xin@{0.5}{\@nameuse{bbl@@kv@identification.version}}% - \ifin@ - \bbl@warning{% - There are neither captions nor date in `\languagename'.\\% - It may not be suitable for proper typesetting, and it\\% - could change. Reported}% - \fi - \bbl@xin@{0.9}{\@nameuse{bbl@@kv@identification.version}}% - \ifin@ - \bbl@warning{% - The `\languagename' date format may not be suitable\\% - for proper typesetting, and therefore it very likely will\\% - change in a future release. Reported}% - \fi \bbl@toglobal\bbl@savetoday \bbl@toglobal\bbl@savedate} \ifcase\bbl@engine @@ -2282,7 +2299,16 @@ \ifx\cf@encoding\bbl@t@one \xdef\latinencoding{\bbl@t@one}% \else - \@ifl@aded{def}{t1enc}{\xdef\latinencoding{\bbl@t@one}}{}% + \ifx\@fontenc@load@list\@undefined + \@ifl@aded{def}{t1enc}{\xdef\latinencoding{\bbl@t@one}}{}% + \else + \def\@elt#1{,#1,}% + \edef\bbl@tempa{\expandafter\@gobbletwo\@fontenc@load@list}% + \bbl@xin@{,T1,}\bbl@tempa + \ifin@ + \xdef\latinencoding{\bbl@t@one}% + \fi + \fi \fi}} \DeclareRobustCommand{\latintext}{% \fontencoding{\latinencoding}\selectfont |