summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
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
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')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua13
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua4
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def66
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty21
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini186
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini186
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini191
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini191
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini193
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini193
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def58
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf4
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def23
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def8
51 files changed, 1396 insertions, 137 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
index 67377b7517e..3fbb4e83e95 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `basic-r')
--
--
--- 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.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
index f75a2ea9205..8acc02ed6fe 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `basic')
--
--
--- 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.
@@ -44,12 +44,6 @@ Babel.fontmap[2] = {} -- al/an
Babel.bidi_enabled = true
Babel.mirroring_enabled = true
--- Temporary:
-
-if harf then
- Babel.mirroring_enabled = false
-end
-
require('babel-data-bidi.lua')
local characters = Babel.characters
@@ -340,7 +334,10 @@ function Babel.bidi(head, ispar, hdir)
item = nodes[r][1] -- MIRRORING
if Babel.mirroring_enabled and item.id == GLYPH
and temp == 'r' and characters[item.char] then
- item.char = characters[item.char].m or item.char
+ local font_mode = font.fonts[item.font].properties.mode
+ if font_mode ~= 'harf' and font_mode ~= 'plug' then
+ item.char = characters[item.char].m or item.char
+ end
end
end
first_on = nil
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
index 7678d8f9088..9e3aefa7990 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `bididata')
--
--
--- 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.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
index 5c297aa8313..99c356c4a83 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `cjkdata')
--
--
--- 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.
@@ -251,6 +251,8 @@ Babel.cjk_class = setmetatable ( Babel.cjk_characters, {
__index = function(_, k)
if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3
or (k >= 0x2E80 and k <= 0x9FFF)
+ or (k >= 0xA000 and k <= 0xA48F) -- Yi
+ or (k >= 0xA490 and k <= 0xA4CF) -- Yi
or (k >= 0xF900 and k <= 0xFAFF)
or (k >= 0xFE10 and k <= 0xFE1F)
or (k >= 0xFE30 and k <= 0xFE6F)
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{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index d7c63b64f62..0e1df6edca9 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `package')
%%
%%
-%% 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.
@@ -33,7 +33,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2020/01/15 3.38 The Babel package]
+\ProvidesPackage{babel}[2020/02/03 3.39 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -214,8 +214,6 @@
\bbl@languages
\fi
\ifodd\bbl@engine
- % Harftex is evolving, so the callback is not harcoded, just in case
- \def\bbl@harfpreline{Harf pre_linebreak_filter callback}%
\def\bbl@activate@preotf{%
\let\bbl@activate@preotf\relax % only once
\directlua{
@@ -245,23 +243,14 @@
Babel.pre_otfload_v,
'Babel.pre_otfload_v',
luatexbase.priority_in_callback('pre_linebreak_filter',
- '\bbl@harfpreline')
- or luatexbase.priority_in_callback('pre_linebreak_filter',
- 'luaotfload.node_processor')
- or nil)
+ 'luaotfload.node_processor') or nil)
%
luatexbase.add_to_callback('hpack_filter',
Babel.pre_otfload_h,
'Babel.pre_otfload_h',
luatexbase.priority_in_callback('hpack_filter',
- '\bbl@harfpreline')
- or luatexbase.priority_in_callback('hpack_filter',
- 'luaotfload.node_processor')
- or nil)
- }%
- \@ifpackageloaded{harfload}%
- {\directlua{ Babel.mirroring_enabled = false }}%
- {}}
+ 'luaotfload.node_processor') or nil)
+ }}
\let\bbl@tempa\relax
\@ifpackagewith{babel}{bidi=basic}%
{\def\bbl@tempa{basic}}%
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index 2031c1e7974..a649c5d17ed 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `blplain')
%%
%%
-%% 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.
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index e2a67c88065..67bb6c63ab9 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `bplain')
%%
%%
-%% 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.
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index d957175cfb3..af0a5726b0c 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `patterns')
%%
%%
-%% 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.
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2020/01/15 3.38 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2020/02/03 3.39 Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini
new file mode 100644
index 00000000000..f2b2878e1fa
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini
@@ -0,0 +1,186 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german
+tag.bcp47 = de
+tag.opentype = DEU
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Anlage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Anlage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = german
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z]
+index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini
new file mode 100644
index 00000000000..43c52b7fa6a
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini
@@ -0,0 +1,186 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german
+tag.bcp47 = de
+tag.opentype = DEU
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Anlage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Anlage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = ngerman
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z]
+index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini
new file mode 100644
index 00000000000..009a5861b43
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini
@@ -0,0 +1,191 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german-austria
+name.babel.A = german-at
+name.babel.B = austrian
+tag.bcp47 = de
+tag.opentype = DEU
+region.local = Österreich
+region.english = Austria
+region.tag.bcp47 = AT
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Jänner
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = J\"anner
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = german
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z]
+index = [A Ä B C D E F G H I J K L M N O Ö P Q R S T U Ü V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group =  
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini
new file mode 100644
index 00000000000..ea818e04097
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini
@@ -0,0 +1,191 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german-austria
+name.babel.A = german-at
+name.babel.B = austrian
+tag.bcp47 = de
+tag.opentype = DEU
+region.local = Österreich
+region.english = Austria
+region.tag.bcp47 = AT
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Jänner
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = J\"anner
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = ngerman
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z]
+index = [A Ä B C D E F G H I J K L M N O Ö P Q R S T U Ü V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group =  
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini
index 8045641b7ee..ea818e04097 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2017-09-01
+version = 1.1
+date = 2020-01-27
name.local = Deutsch
name.english = German
name.babel = german-austria
@@ -151,7 +151,7 @@ time.short = [HH]:[mm]
[typography]
frenchspacing = yes
-hyphenrules = german
+hyphenrules = ngerman
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini
new file mode 100644
index 00000000000..58475ad465c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini
@@ -0,0 +1,193 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german-switzerland
+name.babel.A = german-ch
+name.babel.B = nswissgerman
+; The following conflicts with gsw:
+name.babel.C = swissgerman
+tag.bcp47 = de
+tag.opentype = DEU
+region.local = Schweiz
+region.english = Switzerland
+region.tag.bcp47 = CH
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = swissgerman
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ß ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s t u ü v w x y z]
+index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = '
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini
new file mode 100644
index 00000000000..2099d528317
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini
@@ -0,0 +1,193 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.1
+date = 2020-01-27
+name.local = Deutsch
+name.english = German
+name.babel = german-switzerland
+name.babel.A = german-ch
+name.babel.B = nswissgerman
+; The following conflicts with gsw:
+name.babel.C = swissgerman
+tag.bcp47 = de
+tag.opentype = DEU
+region.local = Schweiz
+region.english = Switzerland
+region.tag.bcp47 = CH
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe auch
+proof = Beweis
+glossary = Glossar
+
+[captions.licr]
+preface = Vorwort
+ref = Literatur
+abstract = Zusammenfassung
+bib = Literaturverzeichnis
+chapter = Kapitel
+appendix = Anhang
+contents = Inhaltsverzeichnis
+listfigure = Abbildungsverzeichnis
+listtable = Tabellenverzeichnis
+index = Index
+figure = Abbildung
+table = Tabelle
+part = Teil
+encl = Beilage(n)
+cc = Verteiler
+headto = An
+page = Seite
+see = siehe
+also = siehe\space auch
+proof = Beweis
+glossary = Glossar
+
+[date.gregorian]
+date.long = [d].[ ][MMMM] [y]
+date.short = [dd].[MM].[yy]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = März
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+months.narrow.1 = J
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = J
+months.narrow.7 = J
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = Montag
+days.wide.tue = Dienstag
+days.wide.wed = Mittwoch
+days.wide.thu = Donnerstag
+days.wide.fri = Freitag
+days.wide.sat = Samstag
+days.wide.sun = Sonntag
+days.abbreviated.mon = Mo.
+days.abbreviated.tue = Di.
+days.abbreviated.wed = Mi.
+days.abbreviated.thu = Do.
+days.abbreviated.fri = Fr.
+days.abbreviated.sat = Sa.
+days.abbreviated.sun = So.
+days.narrow.mon = M
+days.narrow.tue = D
+days.narrow.wed = M
+days.narrow.thu = D
+days.narrow.fri = F
+days.narrow.sat = S
+days.narrow.sun = S
+dayPeriods.abbreviated.am = vorm.
+dayPeriods.abbreviated.pm = nachm.
+dayPeriods.narrow.am = vm.
+dayPeriods.narrow.pm = nm.
+dayPeriods.wide.am = vorm.
+dayPeriods.wide.pm = nachm.
+
+[date.gregorian.licr]
+months.wide.1 = Januar
+months.wide.2 = Februar
+months.wide.3 = M\"arz
+months.wide.4 = April
+months.wide.5 = Mai
+months.wide.6 = Juni
+months.wide.7 = Juli
+months.wide.8 = August
+months.wide.9 = September
+months.wide.10 = Oktober
+months.wide.11 = November
+months.wide.12 = Dezember
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = yes
+hyphenrules = ngerman
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „“‚‘
+auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ß ú ù ŭ û ū ÿ]
+exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s t u ü v w x y z]
+index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
+punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = '
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ·
+
+[counters]
+alph =
+Alph =
+ordinals =
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini
index f5dcf575c23..2099d528317 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2017-09-01
+version = 1.1
+date = 2020-01-27
name.local = Deutsch
name.english = German
name.babel = german-switzerland
@@ -153,7 +153,7 @@ time.short = [HH]:[mm]
[typography]
frenchspacing = yes
-hyphenrules = swissgerman
+hyphenrules = ngerman
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini
index d3a9c535dc1..43c52b7fa6a 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2017-09-01
+version = 1.1
+date = 2020-01-27
name.local = Deutsch
name.english = German
name.babel = german
@@ -146,7 +146,7 @@ time.short = [HH]:[mm]
[typography]
frenchspacing = yes
-hyphenrules = german
+hyphenrules = ngerman
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex
new file mode 100644
index 00000000000..29675547c3f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{de-AT-1901}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex
new file mode 100644
index 00000000000..735c8b23af5
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{de-CH-1901}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex
new file mode 100644
index 00000000000..7a2744a93a6
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{de-1901}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex
new file mode 100644
index 00000000000..8fb22b4c450
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-german-austria}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
new file mode 100644
index 00000000000..94521c32c9c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-german}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini b/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini
index 95f871fbcdd..a2040c0d60f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2017-09-01
+version = 1.1
+date = 2020-01-20
name.local = ꆈꌠꉙ
name.english = Sichuan Yi
name.babel = sichuanyi
@@ -142,6 +142,8 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+intraspace = 0 .1 0
+linebreaking = c
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
index bab79c73c73..b8bd33581d2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2019-05-05
+version = 1.2
+date = 2020-01-20
name.local = 日本語
name.english = Japanese
name.babel = japanese
@@ -143,6 +143,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
[characters]
delimiters.quotes = 「」『』
diff --git a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
index e1982e22111..d266c9f9a61 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2018-10-02
+version = 1.4
+date = 2020-01-20
name.local = ខ្មែរ
name.english = Khmer
name.babel = khmer
@@ -145,6 +145,7 @@ postexhyphenchar =
hyphenationmin =
justify = s
intraspace = 0 .1 0
+linebreaking = s
[characters]
ranges = 1780..17FF
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
index d4af85d2f88..e0cb7af8000 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2019-10-30
+version = 1.3
+date = 2020-01-20
name.local = 한국어
name.english = Korean
name.babel = korean
@@ -144,6 +144,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini b/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini
index 885852cb907..87789e09b6b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2018-10-02
+version = 1.4
+date = 2020-01-20
name.local = ລາວ
name.english = Lao
name.babel = lao
@@ -122,6 +122,7 @@ postexhyphenchar =
hyphenationmin =
justify = s
intraspace = 0 .1 0
+linebreaking = s
[characters]
ranges = 0E80..0EFF
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini
index 55b3ab3d380..1bdcb7d29d1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Bengali
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini
index 75391386ccc..e1182550b7e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Devanagari
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini
index f4974a4c47c..f031e9820e1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Gujarati
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini
index 58c610110fb..7e1766e0846 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Kannada
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini
index 12cee73cbb0..40596e49e25 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Malayalam
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini
index c52cffdc229..b7f1861a645 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Telugu
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini
index 75391386ccc..e1182550b7e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini
@@ -11,10 +11,10 @@
[identification]
charset = utf8
-version = 0.5
-date = 2018-05-21
+version = 0.6
+date = 2020-01-29
name.english = Sanskrit
-name.babel.0 = sanskrit
+name.babel = sanskrit
tag.bcp47 = sa
tag.opentype = SAN
script.name = Devanagari
diff --git a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
index 9762713b1e0..2fe1cabc751 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2018-09-07
+version = 1.3
+date = 2020-01-20
name.local = ไทย
name.english = Thai
name.babel = thai
@@ -160,6 +160,7 @@ postexhyphenchar =
hyphenationmin =
justify = s
intraspace = 0 .1 0
+linebreaking = s
[characters]
ranges = 0E00..0E7F
diff --git a/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini b/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini
index c3c8caa7d81..c7f14c1f15d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2019-05-05
+version = 1.3
+date = 2020-01-20
name.local = 粵語
name.english = Cantonese
name.babel = cantonese
@@ -144,6 +144,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
[characters]
delimiters.quotes = 「」『』
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
index 2b20813dd34..8d0578a3ac2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -149,6 +149,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +smpl
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
index 73f0f0aacaa..12483536fb5 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -149,6 +149,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +smpl
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
index 0a9219ded17..59cddd20671 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -149,6 +149,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +smpl
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
index cf872c7feb9..6a634e1a658 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -146,6 +146,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +smpl
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
index 0f009770bd2..c2a9a3ec321 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Traditional
@@ -149,6 +149,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +trad
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
index ffdc6874a28..1f6432c7765 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Traditional
@@ -149,6 +149,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +trad
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
index ed0139a5ce9..de89382ef77 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Traditional
@@ -146,6 +146,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
opentype.features = +trad
[characters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
index 0b7e4b7efc0..d8d4b236daa 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2019-10-30
+version = 1.4
+date = 2020-01-20
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -145,6 +145,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
intraspace = 0 .1 0
+linebreaking = c
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 43f8982568b..e926e10eabf 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `luatex')
%%
%%
-%% 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.
@@ -489,7 +489,7 @@
\def\bbl@provide@intraspace{%
\bbl@ifunset{bbl@intsp@\languagename}{}%
{\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else
- \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Hant,Hans,Jpan,Kore,Kana}%
+ \bbl@xin@{\bbl@cs{lnbrk@\languagename}}{c}%
\ifin@ % cjk
\bbl@cjkintraspace
\directlua{
@@ -554,6 +554,12 @@
\bbl@trace{Font handling with fontspec}
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
+ \bbl@foreach{#1}{%
+ \expandafter\ifx\csname date##1\endcsname\relax
+ \IfFileExists{babel-##1.tex}%
+ {\babelprovide{##1}}%
+ {}%
+ \fi}%
\edef\bbl@tempa{#1}%
\def\bbl@tempb{#2}% Used by \bbl@bblfont
\ifx\fontspec\@undefined
@@ -750,7 +756,7 @@ Babel.script_blocks = {
{0x2B740, 0x2B81F}, {0x2B820, 0x2CEAF},
{0x2CEB0, 0x2EBEF}, {0x2F800, 0x2FA1F}},
['Hebr'] = {{0x0590, 0x05FF}},
- ['Japa'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF},
+ ['Jpan'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF},
{0x4E00, 0x9FAF}, {0xFF00, 0xFFEF}},
['Khmr'] = {{0x1780, 0x17FF}, {0x19E0, 0x19FF}},
['Knda'] = {{0x0C80, 0x0CFF}},
@@ -772,10 +778,11 @@ Babel.script_blocks = {
['Thai'] = {{0x0E00, 0x0E7F}},
['Tibt'] = {{0x0F00, 0x0FFF}},
['Vaii'] = {{0xA500, 0xA63F}},
- ['Yiii']= {{0xA490, 0xA4CF}, {0xA000, 0xA48F}}
+ ['Yiii'] = {{0xA000, 0xA48F}, {0xA490, 0xA4CF}}
}
Babel.script_blocks.Hant = Babel.script_blocks.Hans
+Babel.script_blocks.Kana = Babel.script_blocks.Jpan
function Babel.locale_map(head)
if not Babel.locale_mapped then return head end
@@ -801,7 +808,7 @@ function Babel.locale_map(head)
end
end
% Now, take action
- if toloc then
+ if toloc and toloc > -1 then
if Babel.locale_props[toloc].lg then
item.lang = Babel.locale_props[toloc].lg
node.set_attribute(item, LOCALE, toloc)
@@ -860,6 +867,12 @@ end
Babel.Babel.cjk_characters[\the\count@]['c'] = '#1'
}}
\let\bbl@chprop@lb\bbl@chprop@linebreak
+\def\bbl@chprop@locale#1{%
+ \directlua{
+ Babel.chr_to_loc = Babel.chr_to_loc or {}
+ Babel.chr_to_loc[\the\count@] =
+ \bbl@ifblank{#1}{-1000}{\the\@nameuse{bbl@id@@#1}}\space
+ }}
\begingroup
\catcode`\#=12
\catcode`\%=12
@@ -1029,16 +1042,44 @@ end
return head
end
- &% Used below
+ &% The following functions belong to the next macro
+
+ &% This table stores capture maps, numbered consecutively
+ Babel.capture_maps = {}
+
function Babel.capture_func(key, cap)
local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]"
+ ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map)
ret = ret:gsub("%[%[%]%]%.%.", '')
ret = ret:gsub("%.%.%[%[%]%]", '')
return key .. [[=function(m) return ]] .. ret .. [[ end]]
end
+
+ function Babel.capt_map(from, mapno)
+ return Babel.capture_maps[mapno][from] or from
+ end
+
+ &% Handle the {n|abc|ABC} syntax in captures
+ function Babel.capture_func_map(capno, from, to)
+ local froms = {}
+ for s in string.utfcharacters(from) do
+ table.insert(froms, s)
+ end
+ local cnt = 1
+ table.insert(Babel.capture_maps, {})
+ local mlen = table.getn(Babel.capture_maps)
+ for s in string.utfcharacters(to) do
+ Babel.capture_maps[mlen][froms[cnt]] = s
+ cnt = cnt + 1
+ end
+ return "]]..Babel.capt_map(m[" .. capno .. "]," ..
+ (mlen) .. ").." .. "[["
+ end
+
}
\catcode`\#=6
\gdef\babelposthyphenation#1#2#3{&%
+ \bbl@activateposthyphen
\begingroup
\def\babeltempa{\bbl@add@list\babeltempb}&%
\let\babeltempb\@empty
@@ -1071,6 +1112,11 @@ end
}&%
\endgroup}
\endgroup
+\def\bbl@activateposthyphen{%
+ \let\bbl@activateposthyphen\relax
+ \directlua{
+ Babel.linebreaking.add_after(Babel.post_hyphenate_replace)
+ }}
\bbl@trace{Redefinitions for bidi layout}
\ifx\@eqnnum\@undefined\else
\ifx\bbl@attr@dir\@undefined\else
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 1a3d6712af7..9d827bb7704 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `nil')
%%
%%
-%% 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.
@@ -32,7 +32,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2020/01/15 3.38 Nil language]
+\ProvidesLanguage{nil}[2020/02/03 3.39 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def
index a1fc1e47094..cba847617b0 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `plain')
%%
%%
-%% 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.
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 0f343001fb3..2e09a082a31 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `kernel')
%%
%%
-%% 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.
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2020/01/15 3.38 Babel switching mechanism]
+\ProvidesFile{switch.def}[2020/02/03 3.39 Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -58,8 +58,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.38}
-\def\bbl@date{2020/01/15}
+\def\bbl@version{3.39}
+\def\bbl@date{2020/02/03}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -146,7 +146,6 @@
\edef\languagename{%
\ifnum\escapechar=\expandafter`\string#1\@empty
\else\string#1\@empty\fi}%
- % \@namedef{bbl@lcname@#1}{#1}%
\select@language{\languagename}%
% write to auxs
\expandafter\ifx\csname date\languagename\endcsname\relax\else
@@ -163,8 +162,13 @@
% set name
\edef\languagename{#1}%
\bbl@fixname\languagename
+ \expandafter\ifx\csname date\languagename\endcsname\relax
+ \IfFileExists{babel-\languagename.tex}%
+ {\babelprovide{\languagename}}%
+ {}%
+ \fi
\bbl@iflanguage\languagename{%
- \expandafter\ifx\csname date\languagename\endcsname\relax
+ \expandafter\ifx\csname date\languagename\endcsname\relax
\bbl@error
{Unknown language `#1'. Either you have\\%
misspelled its name, it has not been installed,\\%
@@ -301,8 +305,12 @@
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
- % \@namedef{bbl@lcname@#1}{#1}%
\bbl@fixname\languagename
+ \expandafter\ifx\csname date\languagename\endcsname\relax
+ \IfFileExists{babel-\languagename.tex}%
+ {\babelprovide{\languagename}}%
+ {}%
+ \fi
\bbl@iflanguage\languagename{%
\expandafter\ifx\csname date\languagename\endcsname\relax
\bbl@warning % TODO - why a warning, not an error?
@@ -396,6 +404,7 @@
\let\uselocale\setlocale
\let\locale\setlocale
\let\selectlocale\setlocale
+\let\localename\setlocale
\let\textlocale\setlocale
\let\textlanguage\setlocale
\let\languagetext\setlocale
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index 88bb8a1f627..9f7b0550311 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `texxet')
%%
%%
-%% 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.
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 9150aadd477..def3d33137f 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `xetex')
%%
%%
-%% 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.
@@ -113,6 +113,12 @@
\bbl@trace{Font handling with fontspec}
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
+ \bbl@foreach{#1}{%
+ \expandafter\ifx\csname date##1\endcsname\relax
+ \IfFileExists{babel-##1.tex}%
+ {\babelprovide{##1}}%
+ {}%
+ \fi}%
\edef\bbl@tempa{#1}%
\def\bbl@tempb{#2}% Used by \bbl@bblfont
\ifx\fontspec\@undefined