summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-03 22:33:15 +0000
committerKarl Berry <karl@freefriends.org>2020-02-03 22:33:15 +0000
commitd3807e8026e4eefdf5f0f8863039f2d26fffa97b (patch)
tree461d929aec6d7a11ca819c7fc2d73afa657cf569 /Master/texmf-dist/tex/generic/babel/babel.def
parentf4032873eaf19f1ff874f7e2d2086e67fb37b00d (diff)
babel (3feb20)
git-svn-id: svn://tug.org/texlive/trunk@53660 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def66
1 files changed, 38 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 9f8352bbac9..26f38577fd8 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `core')
%%
%%
-%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -41,7 +41,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2020/01/15 3.38 Babel common definitions]
+\ProvidesFile{babel.def}[2020/02/03 3.39 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -992,7 +992,7 @@
\newcommand\SetHyphenMap[1]{%
\bbl@forlang\bbl@tempa{%
\expandafter\bbl@stringdef
- \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}}
+ \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}}%
\def\bbl@provstring##1##2{%
\providecommand##1{##2}%
\bbl@toglobal##1}%
@@ -1020,6 +1020,7 @@
\edef\bbl@L{\zap@space#1 \@empty}%
\edef\bbl@G{\zap@space#2 \@empty}%
\bbl@startcmds@ii}
+\let\bbl@startcommands\StartBabelCommands
\newcommand\bbl@startcmds@ii[1][\@empty]{%
\let\SetString\@gobbletwo
\let\bbl@stringdef\@gobbletwo
@@ -1104,6 +1105,7 @@
\endgroup
\endgroup
\bbl@scafter}
+\let\bbl@endcommands\EndBabelCommands
\def\bbl@setstring#1#2{%
\bbl@forlang\bbl@tempa{%
\edef\bbl@LC{\bbl@tempa\bbl@stripslash#1}%
@@ -1373,7 +1375,7 @@
\let\bbl@savelangname\languagename
\edef\bbl@savelocaleid{\the\localeid}%
% Set name and locale id
- \def\languagename{#2}%
+ \edef\languagename{#2}%
% \global\@namedef{bbl@lcname@#2}{#2}%
\bbl@id@assign
\let\bbl@KVP@captions\@nil
@@ -1390,7 +1392,7 @@
\let\bbl@KVP@onchar\@nil
\let\bbl@KVP@chargroups\@nil
\bbl@forkv{#1}{% TODO - error handling
- \in@{..}{##1}%
+ \in@{/}{##1}%
\ifin@
\bbl@renewinikey##1\@@{##2}%
\else
@@ -1439,8 +1441,10 @@
\bbl@read@ini{##1}{basic data}%
\bbl@exportkey{chrng}{characters.ranges}{}%
\bbl@exportkey{dgnat}{numbers.digits.native}{}%
+ \bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
+ \endinput
\endgroup}% boxed, to avoid extra spaces:
{\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}%
{}%
@@ -1461,10 +1465,15 @@
Babel.locale_mapped = true
Babel.linebreaking.add_before(Babel.locale_map)
Babel.loc_to_scr = {}
- Babel.chr_to_loc = {}
+ Babel.chr_to_loc = Babel.chr_to_loc or {}
end}%
\bbl@xin@{ ids }{ \bbl@KVP@onchar\space}%
\ifin@
+ \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection
+ \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}%
+ \fi
+ \bbl@exp{\\\bbl@add\\\bbl@starthyphens
+ {\\\bbl@patterns@lua{\languagename}}}%
% TODO - error/warning if no script
\directlua{
if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then
@@ -1483,7 +1492,7 @@
if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then
Babel.loc_to_scr[\the\localeid] =
Babel.script_blocks['\bbl@cs{sbcp@\languagename}']
- end}
+ end}%
\ifx\bbl@mapselect\@undefined
\AtBeginDocument{%
\expandafter\bbl@add\csname selectfont \endcsname{{\bbl@mapselect}}%
@@ -1587,7 +1596,7 @@
return head
end
end
- }}
+ }}%
\fi
\fi
% == require.babel in ini ==
@@ -1640,7 +1649,7 @@
\@namedef{date#1}{}% marks lang exists - required by \StartBabelCommands
\@namedef{extras#1}{}%
\@namedef{noextras#1}{}%
- \StartBabelCommands*{#1}{captions}%
+ \bbl@startcommands*{#1}{captions}%
\ifx\bbl@KVP@captions\@nil % and also if import, implicit
\def\bbl@tempb##1{% elt for \bbl@captionslist
\ifx##1\@empty\else
@@ -1663,7 +1672,7 @@
\bbl@savetoday
\bbl@savedate
\fi
- \EndBabelCommands
+ \bbl@endcommands
\bbl@exp{%
\def\<#1hyphenmins>{%
{\bbl@ifunset{bbl@lfthm@#1}{2}{\@nameuse{bbl@lfthm@#1}}}%
@@ -1743,7 +1752,7 @@
\def\bbl@inipreread##1=##2\@@{%
\bbl@trim@def\bbl@tempa{##1}% Redundant below !!
% Move trims here ??
- \bbl@ifunset{bbl@KVP@\bbl@section..\bbl@tempa}%
+ \bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}%
{\expandafter\bbl@inireader\bbl@tempa=##2\@@}%
{}}%
\let\bbl@inireader\bbl@iniskip
@@ -1777,14 +1786,14 @@
\@nameuse{bbl@secpost@\bbl@section}% ends previous section
\def\bbl@section{#1}% starts current section
\def\bbl@elt##1##2{%
- \@namedef{bbl@KVP@#1..##1}{}}%
+ \@namedef{bbl@KVP@#1/##1}{}}%
\@nameuse{bbl@renew@#1}%
\@nameuse{bbl@secpre@#1}% pre-section `hook'
\bbl@ifunset{bbl@inikv@#1}%
{\let\bbl@inireader\bbl@iniskip}%
{\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}}
\let\bbl@renewlist\@empty
-\def\bbl@renewinikey#1..#2\@@#3{%
+\def\bbl@renewinikey#1/#2\@@#3{%
\bbl@ifunset{bbl@renew@#1}%
{\bbl@add@list\bbl@renewlist{#1}}%
{}%
@@ -1820,6 +1829,7 @@
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
\bbl@exportkey{prehc}{typography.prehyphenchar}{}%
+ \bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{jstfy}{typography.justify}{w}%
@@ -2025,9 +2035,7 @@
\@namedef{bbl@ADJ@layout.lists@on}{%
\bbl@adjust@layout{\let\list\bbl@OL@list}}
\@namedef{bbl@ADJ@hyphenation.extra@on}{%
- \directlua{
- Babel.linebreaking.add_after(Babel.post_hyphenate_replace)
- }}
+ \bbl@activateposthyphen}
{\def\format{lplain}
\ifx\fmtname\format
\else
@@ -2422,18 +2430,20 @@
\newtoks\everypar
\everypar=\bbl@severypar
\bbl@severypar{\bbl@xeeverypar\the\everypar}}
- \@ifpackagewith{babel}{bidi=bidi}%
- {\let\bbl@textdir@i\@gobbletwo
- \let\bbl@xebidipar\@empty
- \AddBabelHook{bidi}{foreign}{%
- \def\bbl@tempa{\def\BabelText####1}%
- \ifcase\bbl@thetextdir
- \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
- \else
- \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
- \fi}
- \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}}
- {}%
+ \def\bbl@tempb{%
+ \let\bbl@textdir@i\@gobbletwo
+ \let\bbl@xebidipar\@empty
+ \AddBabelHook{bidi}{foreign}{%
+ \def\bbl@tempa{\def\BabelText########1}%
+ \ifcase\bbl@thetextdir
+ \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}%
+ \else
+ \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}%
+ \fi}
+ \def\bbl@pardir##1{\ifcase##1\relax\setLR\else\setRL\fi}}
+ \@ifpackagewith{babel}{bidi=bidi}{\bbl@tempb}{}%
+ \@ifpackagewith{babel}{bidi=bidi-l}{\bbl@tempb}{}%
+ \@ifpackagewith{babel}{bidi=bidi-r}{\bbl@tempb}{}%
\fi
\DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}}
\AtBeginDocument{%