summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-14 21:24:22 +0000
committerKarl Berry <karl@freefriends.org>2020-05-14 21:24:22 +0000
commit0ceebb71618356e1ae06cdfd3cff81e322f2307b (patch)
treefb643d2536a1177f17c7c90410226f1accef7c31 /Master/texmf-dist/tex/generic/babel
parentbb587f3190ec7933ee6a18e994099e566c6e8009 (diff)
babel (13may20)
git-svn-id: svn://tug.org/texlive/trunk@55143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def104
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty257
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini41
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini54
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def209
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def2
47 files changed, 602 insertions, 332 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 3db01a667c0..7db59afba5b 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -39,7 +39,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2020/04/28 3.43 Babel common definitions]
+\ProvidesFile{babel.def}[2020/05/13 3.44 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
% == Code for plain ==
\def\@empty{}
@@ -390,6 +390,7 @@
\ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
\ifx\bbl@trace\@undefined\def\bbl@trace#1{}\fi
\expandafter\newif\csname ifbbl@single\endcsname
+ \chardef\bbl@bidimode\z@
\fi
\ifx\bbl@trace\@undefined
\let\LdfInit\endinput
@@ -412,8 +413,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.43}
-\def\bbl@date{2020/04/28}
+\def\bbl@version{3.44}
+\def\bbl@date{2020/05/13}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -660,13 +661,24 @@
\csname date#1\endcsname\relax
\fi
\else
- \ifbbl@usedategroup % if \foreign... within \<lang>date
- \bbl@usedategroupfalse
- \ifhmode
- \hskip\z@skip % trick to ignore spaces
+ \ifhmode
+ \hskip\z@skip % trick to ignore spaces
+ \bbl@xin@{,captions,}{,\bbl@select@opts,}%
+ \ifin@
+ \csname captions#1\endcsname\relax
+ \fi
+ \bbl@xin@{,date,}{,\bbl@select@opts,}%
+ \ifin@ % if \foreign... within \<lang>date
\csname date#1\endcsname\relax
- \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
- \else
+ \fi
+ \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
+ \else
+ \bbl@xin@{,captions,}{,\bbl@select@opts,}%
+ \ifin@
+ \csname captions#1\endcsname\relax
+ \fi
+ \bbl@xin@{,date,}{,\bbl@select@opts,}%
+ \ifin@
\csname date#1\endcsname\relax
\fi
\fi
@@ -709,9 +721,12 @@
\ignorespaces}
\long\def\endotherlanguage{%
\global\@ignoretrue\ignorespaces}
-\expandafter\def\csname otherlanguage*\endcsname#1{%
+\expandafter\def\csname otherlanguage*\endcsname{%
+ \@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}}
+\def\bbl@otherlanguage@s[#1]#2{%
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
- \foreign@language{#1}}
+ \def\bbl@select@opts{#1}%
+ \foreign@language{#2}}
\expandafter\let\csname endotherlanguage*\endcsname\relax
\providecommand\bbl@beforeforeign{}
\edef\foreignlanguage{%
@@ -719,13 +734,14 @@
\expandafter\noexpand\csname foreignlanguage \endcsname}
\expandafter\def\csname foreignlanguage \endcsname{%
\@ifstar\bbl@foreign@s\bbl@foreign@x}
-\def\bbl@foreign@x#1#2{%
+\newcommand\bbl@foreign@x[3][]{%
\begingroup
+ \def\bbl@select@opts{#1}%
\let\BabelText\@firstofone
\bbl@beforeforeign
- \foreign@language{#1}%
+ \foreign@language{#2}%
\bbl@usehooks{foreign}{}%
- \BabelText{#2}% Now in horizontal mode!
+ \BabelText{#3}% Now in horizontal mode!
\endgroup}
\def\bbl@foreign@s#1#2{% TODO - \shapemode, \@setpar, ?\@@par
\begingroup
@@ -740,6 +756,10 @@
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
+ \ifbbl@usedategroup
+ \bbl@add\bbl@select@opts{,date,}%
+ \bbl@usedategroupfalse
+ \fi
\bbl@fixname\languagename
% TODO. name@map here?
\bbl@provide@locale
@@ -2161,11 +2181,13 @@
\DeclareTextCompositeCommand{\"}{OT1}{E}{\bbl@umlaute{E}}%
\DeclareTextCompositeCommand{\"}{OT1}{I}{\bbl@umlaute{I}}%
\DeclareTextCompositeCommand{\"}{OT1}{O}{\bbl@umlauta{O}}%
- \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}%
-}
+ \DeclareTextCompositeCommand{\"}{OT1}{U}{\bbl@umlauta{U}}}
\ifx\l@english\@undefined
\chardef\l@english\z@
\fi
+\ifx\l@babelnohyhens\@undefined
+ \newlanguage\l@babelnohyphens
+\fi
\bbl@trace{Bidi layout}
\providecommand\IfBabelLayout[3]{#3}%
\newcommand\BabelPatchSection[1]{%
@@ -2283,7 +2305,8 @@
\bbl@ifunset{bbl@lname@#2}% TODO. Duplicated
{\def\BabelBeforeIni##1##2{%
\begingroup
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\let\bbl@ini@captions@aux\@gobbletwo
\def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}%
\bbl@read@ini{##1}{basic data}%
@@ -2294,7 +2317,8 @@
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\ifx\bbl@initoload\relax\endinput\fi
\endgroup}%
@@ -2401,11 +2425,11 @@
\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}{ }{,}%
+ % == hyphenate.other.locale ==
+ \bbl@ifunset{bbl@hyotl@\languagename}{}%
+ {\bbl@csarg\bbl@replace{hyotl@\languagename}{ }{,}%
\bbl@startcommands*{\languagename}{}%
- \bbl@csarg\bbl@foreach{hyoth@\languagename}{%
+ \bbl@csarg\bbl@foreach{hyotl@\languagename}{%
\ifcase\bbl@engine
\ifnum##1<257
\SetHyphenMap{\BabelLower{##1}{##1}}%
@@ -2414,6 +2438,17 @@
\SetHyphenMap{\BabelLower{##1}{##1}}%
\fi}%
\bbl@endcommands}%
+ % == hyphenate.other.script ==
+ \bbl@ifunset{bbl@hyots@\languagename}{}%
+ {\bbl@csarg\bbl@replace{hyots@\languagename}{ }{,}%
+ \bbl@csarg\bbl@foreach{hyots@\languagename}{%
+ \ifcase\bbl@engine
+ \ifnum##1<257
+ \global\lccode##1=##1\relax
+ \fi
+ \else
+ \global\lccode##1=##1\relax
+ \fi}}%
% == maparabic ==
% Native digits, if provided in ini (TeX level, xe and lua)
\ifcase\bbl@engine\else
@@ -2576,7 +2611,8 @@
\bbl@ifunset{bbl@lname@#1}% TODO. Duplicated
{\def\BabelBeforeIni##1##2{%
\begingroup
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\let\bbl@ini@captions@aux\@gobbletwo
\def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}%
\bbl@read@ini{##1}{basic data}%
@@ -2584,8 +2620,8 @@
\bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}%
\bbl@exportkey{rgthm}{typography.righthyphenmin}{3}%
- \bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{chrng}{characters.ranges}{}%
\bbl@exportkey{dgnat}{numbers.digits.native}{}%
@@ -2781,6 +2817,11 @@
\let\bbl@inikv@characters\bbl@inikv
\let\bbl@inikv@numbers\bbl@inikv
\def\bbl@inikv@counters#1=#2\@@{%
+ \bbl@ifsamestring{#1}{digits}%
+ {\bbl@error{The counter name 'digits' is reserved for mapping\\%
+ decimal digits}%
+ {Use another name.}}%
+ {}%
\def\bbl@tempc{#1}%
\bbl@trim@def{\bbl@tempb*}{#2}%
\in@{.1$}{#1$}%
@@ -2804,7 +2845,8 @@
\bbl@exportkey{prehc}{typography.prehyphenchar}{}%
\bbl@exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl@exportkey{hyphr}{typography.hyphenrules}{}%
- \bbl@exportkey{hyoth}{typography.hyphenate.other}{}%
+ \bbl@exportkey{hyotl}{typography.hyphenate.other.locale}{}%
+ \bbl@exportkey{hyots}{typography.hyphenate.other.script}{}%
\bbl@exportkey{intsp}{typography.intraspace}{}%
\bbl@exportkey{jstfy}{typography.justify}{w}%
\bbl@exportkey{chrng}{characters.ranges}{}%
@@ -2844,6 +2886,7 @@
\bbl@csarg\def{secpre@date.gregorian.licr}{% discard uni
\ifcase\bbl@engine\let\bbl@savedate\@empty\fi}
\fi
+\newcommand\localedate{\@nameuse{bbl@date@\languagename}}
\def\bbl@inidate#1.#2.#3.#4\relax#5#6{% TODO - ignore with 'captions'
\bbl@trim@def\bbl@tempa{#1.#2}%
\bbl@ifsamestring{\bbl@tempa}{months.wide}% to savedate
@@ -2901,7 +2944,11 @@
\bbl@replace\bbl@toreplace{[y]}{\BabelDatey{####1}}%
\bbl@replace\bbl@toreplace{[yy]}{\BabelDateyy{####1}}%
\bbl@replace\bbl@toreplace{[yyyy]}{\BabelDateyyyy{####1}}%
+ \bbl@replace\bbl@toreplace{[y|}{\bbl@datecntr[####1|}%
+ \bbl@replace\bbl@toreplace{[m|}{\bbl@datecntr[####2|}%
+ \bbl@replace\bbl@toreplace{[d|}{\bbl@datecntr[####3|}%
\bbl@replace@finish@iii\bbl@toreplace}
+\def\bbl@datecntr[#1|#2]{\localenumeral{#2}{#1}}
\def\bbl@provide@lsys#1{%
\bbl@ifunset{bbl@lname@#1}%
{\bbl@ini@basic{#1}}%
@@ -2923,7 +2970,8 @@
\def\BabelBeforeIni##1##2{%
\begingroup
\bbl@add\bbl@secpost@identification{\closein\bbl@readstream }%
- \catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\;=12 %
+ \catcode`\[=12 \catcode`\]=12 \catcode`\==12
+ \catcode`\;=12 \catcode`\|=12 %
\bbl@read@ini{##1}{font and identification data}%
\endinput % babel- .tex may contain onlypreamble's
\endgroup}% boxed, to avoid extra spaces:
@@ -2957,7 +3005,7 @@
\bbl@cs{cntr@#1.3@\languagename}#6%
\bbl@cs{cntr@#1.2@\languagename}#7%
\bbl@cs{cntr@#1.1@\languagename}#8%
- \ifnum#6#7#8>\z@ % An ad hod rule for Greek. Ugly. To be fixed.
+ \ifnum#6#7#8>\z@ % TODO. An ad hoc rule for Greek. Ugly.
\bbl@ifunset{bbl@cntr@#1.S.321@\languagename}{}%
{\bbl@cs{cntr@#1.S.321@\languagename}}%
\fi}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index bfa5ab18295..b78bdcf26d3 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -33,7 +33,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2020/04/28 3.43 The Babel package]
+\ProvidesPackage{babel}[2020/05/13 3.44 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -285,61 +285,6 @@
\global\let\@ifl@ter@@\@ifl@ter
\def\@ifl@ter#1#2#3#4#5{\global\let\@ifl@ter\@ifl@ter@@}%
\endinput}{}%
-\ifodd\bbl@engine
- \def\bbl@activate@preotf{%
- \let\bbl@activate@preotf\relax % only once
- \directlua{
- Babel = Babel or {}
- %
- function Babel.pre_otfload_v(head)
- if Babel.numbers and Babel.digits_mapped then
- head = Babel.numbers(head)
- end
- if Babel.bidi_enabled then
- head = Babel.bidi(head, false, dir)
- end
- return head
- end
- %
- function Babel.pre_otfload_h(head, gc, sz, pt, dir)
- if Babel.numbers and Babel.digits_mapped then
- head = Babel.numbers(head)
- end
- if Babel.bidi_enabled then
- head = Babel.bidi(head, false, dir)
- end
- return head
- end
- %
- luatexbase.add_to_callback('pre_linebreak_filter',
- Babel.pre_otfload_v,
- 'Babel.pre_otfload_v',
- luatexbase.priority_in_callback('pre_linebreak_filter',
- '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',
- 'luaotfload.node_processor') or nil)
- }}
- \let\bbl@tempa\relax
- \@ifpackagewith{babel}{bidi=basic}%
- {\def\bbl@tempa{basic}}%
- {\@ifpackagewith{babel}{bidi=basic-r}%
- {\def\bbl@tempa{basic-r}}%
- {}}
- \ifx\bbl@tempa\relax\else
- \let\bbl@beforeforeign\leavevmode
- \AtEndOfPackage{\EnableBabelHook{babel-bidi}}%
- \RequirePackage{luatexbase}%
- \directlua{
- require('babel-data-bidi.lua')
- require('babel-bidi-\bbl@tempa.lua')
- }
- \bbl@activate@preotf
- \fi
-\fi
\bbl@trace{key=value and another general options}
\bbl@csarg\let{tempa\expandafter}\csname opt@babel.sty\endcsname
\def\bbl@tempb#1.#2{%
@@ -384,63 +329,13 @@
\DeclareOption{hyphenmap=select}{\chardef\bbl@opt@hyphenmap\tw@}
\DeclareOption{hyphenmap=other}{\chardef\bbl@opt@hyphenmap\thr@@}
\DeclareOption{hyphenmap=other*}{\chardef\bbl@opt@hyphenmap4\relax}
-\ifodd\bbl@engine
- \DeclareOption{bidi=basic-r}%
- {\ExecuteOptions{bidi=basic}}
- \DeclareOption{bidi=basic}%
- {\let\bbl@beforeforeign\leavevmode
- % TODO - to locale_props, not as separate attribute
- \newattribute\bbl@attr@dir
- % I don't like it, hackish:
- \frozen@everymath\expandafter{%
- \expandafter\bbl@mathboxdir\the\frozen@everymath}%
- \frozen@everydisplay\expandafter{%
- \expandafter\bbl@mathboxdir\the\frozen@everydisplay}%
- \bbl@exp{\output{\bodydir\pagedir\the\output}}%
- \AtEndOfPackage{\EnableBabelHook{babel-bidi}}}
-\else
- \DeclareOption{bidi=basic-r}%
- {\ExecuteOptions{bidi=basic}}
- \DeclareOption{bidi=basic}%
- {\bbl@error
- {The bidi method `basic' is available only in\\%
- luatex. I'll continue with `bidi=default', so\\%
- expect wrong results}%
- {See the manual for further details.}%
- \let\bbl@beforeforeign\leavevmode
- \AtEndOfPackage{%
- \EnableBabelHook{babel-bidi}%
- \bbl@xebidipar}}
- \def\bbl@loadxebidi#1{%
- \ifx\RTLfootnotetext\@undefined
- \AtEndOfPackage{%
- \EnableBabelHook{babel-bidi}%
- \ifx\fontspec\@undefined
- \usepackage{fontspec}% bidi needs fontspec
- \fi
- \usepackage#1{bidi}}%
- \fi}
- \DeclareOption{bidi=bidi}%
- {\bbl@tentative{bidi=bidi}%
- \bbl@loadxebidi{}}
- \DeclareOption{bidi=bidi-r}%
- {\bbl@tentative{bidi=bidi-r}%
- \bbl@loadxebidi{[rldocument]}}
- \DeclareOption{bidi=bidi-l}%
- {\bbl@tentative{bidi=bidi-l}%
- \bbl@loadxebidi{}}
-\fi
-\DeclareOption{bidi=default}%
- {\let\bbl@beforeforeign\leavevmode
- \ifodd\bbl@engine
- \newattribute\bbl@attr@dir
- \bbl@exp{\output{\bodydir\pagedir\the\output}}%
- \fi
- \AtEndOfPackage{%
- \EnableBabelHook{babel-bidi}%
- \ifodd\bbl@engine\else
- \bbl@xebidipar
- \fi}}
+\chardef\bbl@bidimode\z@
+\DeclareOption{bidi=default}{\chardef\bbl@bidimode=\@ne}
+\DeclareOption{bidi=basic}{\chardef\bbl@bidimode=101 }
+\DeclareOption{bidi=basic-r}{\chardef\bbl@bidimode=102 }
+\DeclareOption{bidi=bidi}{\chardef\bbl@bidimode=201 }
+\DeclareOption{bidi=bidi-r}{\chardef\bbl@bidimode=202 }
+\DeclareOption{bidi=bidi-l}{\chardef\bbl@bidimode=203 }
\let\bbl@opt@shorthands\@nnil
\let\bbl@opt@config\@nnil
\let\bbl@opt@main\@nnil
@@ -778,9 +673,114 @@
\else
\DeclareTextFontCommand{\textlatin}{\latintext}
\fi
-\bbl@trace{Basic (internal) bidi support}
+\ifodd\bbl@engine
+ \def\bbl@activate@preotf{%
+ \let\bbl@activate@preotf\relax % only once
+ \directlua{
+ Babel = Babel or {}
+ %
+ function Babel.pre_otfload_v(head)
+ if Babel.numbers and Babel.digits_mapped then
+ head = Babel.numbers(head)
+ end
+ if Babel.bidi_enabled then
+ head = Babel.bidi(head, false, dir)
+ end
+ return head
+ end
+ %
+ function Babel.pre_otfload_h(head, gc, sz, pt, dir)
+ if Babel.numbers and Babel.digits_mapped then
+ head = Babel.numbers(head)
+ end
+ if Babel.bidi_enabled then
+ head = Babel.bidi(head, false, dir)
+ end
+ return head
+ end
+ %
+ luatexbase.add_to_callback('pre_linebreak_filter',
+ Babel.pre_otfload_v,
+ 'Babel.pre_otfload_v',
+ luatexbase.priority_in_callback('pre_linebreak_filter',
+ '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',
+ 'luaotfload.node_processor') or nil)
+ }}
+\fi
+\bbl@trace{Loading basic (internal) bidi support}
+\ifodd\bbl@engine
+ \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200
+ \let\bbl@beforeforeign\leavevmode
+ \AtEndOfPackage{\EnableBabelHook{babel-bidi}}
+ \RequirePackage{luatexbase}
+ \bbl@activate@preotf
+ \directlua{
+ require('babel-data-bidi.lua')
+ \ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or
+ require('babel-bidi-basic.lua')
+ \or
+ require('babel-bidi-basic-r.lua')
+ \fi}
+ % TODO - to locale_props, not as separate attribute
+ \newattribute\bbl@attr@dir
+ % TODO. I don't like it, hackish:
+ \bbl@exp{\output{\bodydir\pagedir\the\output}}
+ \AtEndOfPackage{\EnableBabelHook{babel-bidi}}
+ \fi\fi
+\else
+ \ifnum\bbl@bidimode>100 \ifnum\bbl@bidimode<200
+ \bbl@error
+ {The bidi method `basic' is available only in\\%
+ luatex. I'll continue with `bidi=default', so\\%
+ expect wrong results}%
+ {See the manual for further details.}%
+ \let\bbl@beforeforeign\leavevmode
+ \AtEndOfPackage{%
+ \EnableBabelHook{babel-bidi}%
+ \bbl@xebidipar}
+ \fi\fi
+ \def\bbl@loadxebidi#1{%
+ \ifx\RTLfootnotetext\@undefined
+ \AtEndOfPackage{%
+ \EnableBabelHook{babel-bidi}%
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}% bidi needs fontspec
+ \fi
+ \usepackage#1{bidi}}%
+ \fi}
+ \ifnum\bbl@bidimode>200
+ \ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or
+ \bbl@tentative{bidi=bidi}
+ \bbl@loadxebidi{}
+ \or
+ \bbl@tentative{bidi=bidi-r}
+ \bbl@loadxebidi{[rldocument]}
+ \or
+ \bbl@tentative{bidi=bidi-l}
+ \bbl@loadxebidi{}
+ \fi
+ \fi
+\fi
+\ifnum\bbl@bidimode=\@ne
+ \let\bbl@beforeforeign\leavevmode
+ \ifodd\bbl@engine
+ \newattribute\bbl@attr@dir
+ \bbl@exp{\output{\bodydir\pagedir\the\output}}%
+ \fi
+ \AtEndOfPackage{%
+ \EnableBabelHook{babel-bidi}%
+ \ifodd\bbl@engine\else
+ \bbl@xebidipar
+ \fi}
+\fi
+\bbl@trace{Macros to switch the text direction}
\def\bbl@alscripts{,Arabic,Syriac,Thaana,}
-\def\bbl@rscripts{%
+\def\bbl@rscripts{% TODO. Base on codes ??
,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,%
Old Hungarian,Old Hungarian,Lydian,Mandaean,Manichaean,%
Manichaean,Meroitic Cursive,Meroitic,Old North Arabian,%
@@ -817,9 +817,9 @@
\bbl@pardir{#1}%
\fi
\bbl@textdir{#1}}
+\AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir}
+\DisableBabelHook{babel-bidi}
\ifodd\bbl@engine % luatex=1
- \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir}
- \DisableBabelHook{babel-bidi}
\chardef\bbl@thetextdir\z@
\chardef\bbl@thepardir\z@
\def\bbl@getluadir#1{%
@@ -857,9 +857,11 @@
\else
\everyhbox{\textdir TRT\relax}%
\fi}
+ \frozen@everymath\expandafter{%
+ \expandafter\bbl@mathboxdir\the\frozen@everymath}
+ \frozen@everydisplay\expandafter{%
+ \expandafter\bbl@mathboxdir\the\frozen@everydisplay}
\else % pdftex=0, xetex=2
- \AddBabelHook{babel-bidi}{afterextras}{\bbl@switchdir}
- \DisableBabelHook{babel-bidi}
\newcount\bbl@dirlevel
\chardef\bbl@thetextdir\z@
\chardef\bbl@thepardir\z@
@@ -916,20 +918,18 @@
\newtoks\everypar
\everypar=\bbl@severypar
\bbl@severypar{\bbl@xeeverypar\the\everypar}}
- \def\bbl@tempb{%
+ \ifnum\bbl@bidimode>200
\let\bbl@textdir@i\@gobbletwo
\let\bbl@xebidipar\@empty
\AddBabelHook{bidi}{foreign}{%
- \def\bbl@tempa{\def\BabelText########1}%
+ \def\bbl@tempa{\def\BabelText####1}%
\ifcase\bbl@thetextdir
- \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}%
+ \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
\else
- \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}%
+ \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}{}%
+ \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}
+ \fi
\fi
\DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}}
\AtBeginDocument{%
@@ -984,8 +984,6 @@
{\bbl@load@language{\CurrentOption}}%
{#1\bbl@load@language{#2}#3}}
\DeclareOption{afrikaans}{\bbl@try@load@lang{}{dutch}{}}
-\DeclareOption{brazil}{\bbl@try@load@lang{}{portuges}{}}
-\DeclareOption{brazilian}{\bbl@try@load@lang{}{portuges}{}}
\DeclareOption{hebrew}{%
\input{rlbabel.def}%
\bbl@load@language{hebrew}}
@@ -994,7 +992,6 @@
\DeclareOption{nynorsk}{\bbl@try@load@lang{}{norsk}{}}
\DeclareOption{polutonikogreek}{%
\bbl@try@load@lang{}{greek}{\languageattribute{greek}{polutoniko}}}
-\DeclareOption{portuguese}{\bbl@try@load@lang{}{portuges}{}}
\DeclareOption{russian}{\bbl@try@load@lang{}{russianb}{}}
\DeclareOption{ukrainian}{\bbl@try@load@lang{}{ukraineb}{}}
\DeclareOption{uppersorbian}{\bbl@try@load@lang{}{usorbian}{}}
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index a66ac1fbcda..ea15f47a235 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -37,10 +37,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2020/04/28 3.43 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2020/05/13 3.44 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.43}
-\def\bbl@date{2020/04/28}
+\def\bbl@version{3.44}
+\def\bbl@date{2020/05/13}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\let\orig@dump\dump
diff --git a/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini b/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini
index cc6a4598186..b4fd908668f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/af/babel-af.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = Afrikaans
name.english = Afrikaans
name.babel = afrikaans
@@ -157,7 +157,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27 "2D
+hyphenate.other.locale = "27 "2D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini b/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini
index 99063c5eda2..019a4d487b7 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/am/babel-am.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2020-03-22
+version = 1.2
+date = 2020-05-05
name.local = አማርኛ
name.english = Amharic
name.babel = amharic
@@ -148,9 +148,10 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing =
-hyphenrules =
-lefthyphenmin = 2
-righthyphenmin = 2
+; Modern practice. Use 'amharic' for the traditional one:
+hyphenrules = babelnohyphens
+lefthyphenmin = 1
+righthyphenmin = 1
hyphenchar =
prehyphenchar =
posthyphenchar =
@@ -158,8 +159,13 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = s
+intraspace = 0 .1 0
+; The syntax is liable to change in 'other' values
+hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
[characters]
+ranges = 1200..139F 2D80..2DDF AB00..AB2F
delimiters.quotes = «»‹›
auxiliary = []
exemplarCharacters = [ሀ ሁ ሂ ሃ ሄ ህ ሆ ለ ሉ ሊ ላ ሌ ል ሎ ሏ ሐ ሑ ሒ ሓ ሔ ሕ ሖ ሗ መ ሙ ሚ ማ ሜ ም ሞ ሟ ሠ ሡ ሢ ሣ ሤ ሥ ሦ ሧ ረ ሩ ሪ ራ ሬ ር ሮ ሯ ሰ ሱ ሲ ሳ ሴ ስ ሶ ሷ ሸ ሹ ሺ ሻ ሼ ሽ ሾ ሿ ቀ ቁ ቂ ቃ ቄ ቅ ቆ ቈ ቊ ቋ ቌ ቍ በ ቡ ቢ ባ ቤ ብ ቦ ቧ ቨ ቩ ቪ ቫ ቬ ቭ ቮ ቯ ተ ቱ ቲ ታ ቴ ት ቶ ቷ ቸ ቹ ቺ ቻ ቼ ች ቾ ቿ ኀ ኁ ኂ ኃ ኄ ኅ ኆ ኈ ኊ ኋ ኌ ኍ ነ ኑ ኒ ና ኔ ን ኖ ኗ ኘ ኙ ኚ ኛ ኜ ኝ ኞ ኟ አ ኡ ኢ ኣ ኤ እ ኦ ኧ ከ ኩ ኪ ካ ኬ ክ ኮ ኰ ኲ ኳ ኴ ኵ ኸ ኹ ኺ ኻ ኼ ኽ ኾ ወ ዉ ዊ ዋ ዌ ው ዎ ዐ ዑ ዒ ዓ ዔ ዕ ዖ ዘ ዙ ዚ ዛ ዜ ዝ ዞ ዟ ዠ ዡ ዢ ዣ ዤ ዥ ዦ ዧ የ ዩ ዪ ያ ዬ ይ ዮ ደ ዱ ዲ ዳ ዴ ድ ዶ ዷ ጀ ጁ ጂ ጃ ጄ ጅ ጆ ጇ ገ ጉ ጊ ጋ ጌ ግ ጎ ጐ ጒ ጓ ጔ ጕ ጠ ጡ ጢ ጣ ጤ ጥ ጦ ጧ ጨ ጩ ጪ ጫ ጬ ጭ ጮ ጯ ጰ ጱ ጲ ጳ ጴ ጵ ጶ ጷ ጸ ጹ ጺ ጻ ጼ ጽ ጾ ጿ ፀ ፁ ፂ ፃ ፄ ፅ ፆ ፈ ፉ ፊ ፋ ፌ ፍ ፎ ፏ ፐ ፑ ፒ ፓ ፔ ፕ ፖ ፗ]
@@ -181,3 +187,28 @@ plusSign = +
superscriptingExponent = ×
[counters]
+; suffix is ፦
+; These counters actually belong to different Ethiopic languages
+; They have been taken directly from CSS
+afar = ሀ ለ ሐ መ ረ ሰ በ ተ ነ አ ከ ወ ዐ የ ደ ዸ ገ ጸ ፈ
+agaw = ሀ ለ ሐ መ ረ ሰ ሸ ቀ ቐ በ ቨ ተ ቸ ነ ኘ ጀ ገ ጘ ጠ ጨ ጰ ጸ ፈ ፐ
+ari = ሀ ለ መ ረ ሰ ሸ በ ቨ ተ ቸ ነ ጀ ገ ጨ ፀ ፐ
+blin = ሀ ለ ሐ መ ሰ ሸ ረ ቀ ቐ በ ተ ነ ጀ ገ ጘ ጠ ጨ ፈ ቸ ኘ ጸ ጰ ፐ
+dizi = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ጸ ፀ ፈ
+gedeo = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ጸ ፈ ፐ
+gumuz = ሀ ሐ ለ ሐ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ኘ ገ ጨ ጰ ፀ ፐ
+hadiyya = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ
+harari = ሐ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ፈ
+kaffa = ሀ ለ ሐ መ ሠ ረ ሰ ሸ ቀ በ ተ ቸ ኀ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ
+kebena = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ ፐ
+kembata = ሀ ለ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ጀ ገ ጠ ጨ ጰ ፈ
+konso = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ፈ ፐ
+kunama = ሀ ለ መ ረ ሰ ሸ በ ተ ቸ ነ ኘ ጀ ገ
+meen = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ኀ ነ ኘ ጀ ገ ጠ ጨ ጰ ፐ ፀ
+oromo = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ አ ከ ወ የ ደ ዸ ጀ ገ ጠ ጨ ጰ ጸ ፈ
+saho = ሀ ለ ሐ መ ረ ሰ ቀ በ ተ ነ ገ ጠ ጨ ጰ ጸ ፈ
+sidama = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ አ ከ ወ የ ደ ዸ ጀ ገ ጠ ጨ ጰ ጸ ፈ
+silti = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ጀ ገ ጠ ጨ ጰ ፈ
+tigre = ሀ ለ ሐ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ አ ከ ወ ዐ ዘ የ ደ ጀ ገ ጠ ጨ ጰ ጸ ፈ ፐ
+wolaita = ሀ ለ መ ረ ሰ ሸ ቀ በ ተ ቸ ነ ኘ ሰ ገ ጠ ጨ ጰ ጸ ፀ ፈ ፐ
+yemsa = ሀ ለ መ ረ ሰ ሸ ቀ በ ቨ ተ ቸ ነ ኘ ጀ ገ ጘ ጠ ጨ ጰ ፈ ፐ \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini b/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini
index 19f4e7458de..541e28b05e4 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/as/babel-as.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2020-04-07
+version = 1.6
+date = 2020-05-05
name.local = অসমীয়া
name.english = Assamese
name.babel = assamese
@@ -122,7 +122,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
index ab7c2d83e1d..aa0b05d5cfa 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-03-22
+version = 1.4
+date = 2020-05-05
name.local = беларуская
name.english = Belarusian
name.babel = belarusian
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27 "2D
+hyphenate.other.locale = "27 "2D
[characters]
delimiters.quotes = «»„“
diff --git a/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini b/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini
index 9025457047f..397cbfe2da4 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/bn/babel-bn.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2020-04-22
+version = 1.6
+date = 2020-05-05
name.local = বাংলা
name.english = Bangla
name.babel = bengali
@@ -122,7 +122,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
index c03b87f3b77..77d01bc6a8a 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2020-03-22
+version = 1.2
+date = 2020-05-05
name.local = словѣ́ньскъ ѩꙁꙑ́къ
name.english = Church Slavic
name.babel = churchslavic-oldcyrillic
@@ -81,7 +81,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes.0 = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
index 628d207d766..d06af3d69fe 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2020-03-22
+version = 1.2
+date = 2020-05-05
name.local = црькъвьнословѣньскъ ѩзыкъ
name.english = Church Slavic
name.babel = churchslavic churchslavonic
@@ -81,7 +81,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes.0 = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
index d79d284c0ee..494a2fa36ab 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
@@ -4,8 +4,8 @@
[identification]
charset = utf8
-version = 0.4
-date = 2020-03-22
+version = 0.5
+date = 2020-05-05
name.local = Ἐλληνικά
; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
name.english = Polytonic Greek
@@ -154,7 +154,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF
+hyphenate.other.locale = "0027 "2019 "02BC
+hyphenate.other.script = "1FBD "1FBF
[characters]
delimiters.quotes = «»“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
index 48b7b1f4321..8db2d599f5d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-03-22
+version = 1.4
+date = 2020-05-05
name.local = Ελληνικά
name.english = Greek
name.babel = greek
@@ -160,7 +160,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF
+hyphenate.other.locale = "0027 "2019 "02BC
+hyphenate.other.script = "1FBD "1FBF
[characters]
delimiters.quotes = «»“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
index e7d628a48a7..283458bea7f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.local = français
name.english = French
name.babel = french-belgium french-be
@@ -27,7 +27,6 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
-warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release.
[captions]
preface = Préface
@@ -76,7 +75,7 @@ proof = D\'emonstration
glossary = Glossaire
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [d|date.day] [MMMM] [y]
date.short = [d]/[MM]/[yy]
months.wide.1 = janvier
months.wide.2 = février
@@ -161,7 +160,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
@@ -186,3 +185,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
index 9b514576a4f..2b9b7516c08 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.local = français
name.english = French
name.babel = french-canada
@@ -28,7 +28,6 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
-warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release.
[captions]
preface = Préface
@@ -77,7 +76,7 @@ proof = D\'emonstration
glossary = Glossaire
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [d|date.day] [MMMM] [y]
date.short = [yy]-[MM]-[dd]
months.wide.1 = janvier
months.wide.2 = février
@@ -162,7 +161,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»”“
@@ -187,3 +186,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini
index 93864e95bfe..b94a88c34de 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.local = français
name.english = French
name.babel = french-switzerland
@@ -28,7 +28,6 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
-warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release.
[captions]
preface = Préface
@@ -77,7 +76,7 @@ proof = D\'emonstration
glossary = Glossaire
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [d|date.day] [MMMM] [y]
date.short = [dd].[MM].[yy]
months.wide.1 = janvier
months.wide.2 = février
@@ -162,7 +161,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»‹›
@@ -187,3 +186,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini
index f070696d745..7e1c84457c1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.local = français
name.english = French
name.babel = french-luxembourg
@@ -28,7 +28,6 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
-warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release.
[captions]
preface = Préface
@@ -77,7 +76,7 @@ proof = D\'emonstration
glossary = Glossaire
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [d|date.day] [MMMM] [y]
date.short = [dd]/[MM]/[y]
months.wide.1 = janvier
months.wide.2 = février
@@ -162,7 +161,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
@@ -187,3 +186,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
index b80f066e95e..8567be44378 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.local = français
name.english = French
name.babel = french
@@ -26,7 +26,6 @@ script.tag.opentype = latn
level = 1
encodings = T1 OT1 LY1
derivate = no
-warning = The `french' date format may not be suitable\\for proper typesetting, and therefore very likely\\it will change in a future release.
[captions]
preface = Préface
@@ -75,7 +74,7 @@ proof = D\'emonstration
glossary = Glossaire
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [d|date.day] [MMMM] [y]
date.short = [dd]/[MM]/[y]
months.wide.1 = janvier
months.wide.2 = février
@@ -160,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
@@ -185,3 +184,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+date.day = 1\textsuperscript{er} 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini b/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini
index 3b149f5ef95..1aaa01d3e17 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fur/babel-fur.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = furlan
name.english = Friulian
name.babel = friulian
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = ‘’“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
index 41a29fd0fd2..d199a530956 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = Αρχαία ελληνικά
name.english = Ancient Greek
name.babel = greek
@@ -147,7 +147,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "0027 "2019 "02BC "1FBD "1FBF
+hyphenate.other.locale = "0027 "2019 "02BC
+hyphenate.other.script = "1FBD "1FBF
[characters]
delimiters.quotes = «»“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini b/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini
index 8b14a7cd3db..20088b03bc5 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/gu/babel-gu.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = ગુજરાતી
name.english = Gujarati
name.babel = gujarati
@@ -144,7 +144,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini
index c13cb8773eb..7c6f98aa1ca 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = हिन्दी
name.english = Hindi
name.babel = hindi
@@ -172,7 +172,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
index 5bedc981d83..0b5161c49f4 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
@@ -13,8 +13,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-04-20
+version = 1.5
+date = 2020-05-05
name.local = հայերեն
name.english = Armenian
name.babel = armenian
@@ -147,7 +147,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = «»«»
diff --git a/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini b/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini
index e26f479615f..72d8c766567 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/it/babel-it.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = italiano
name.english = Italian
name.babel = italian
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini b/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini
index be87bfd8425..646fcfc2361 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kn/babel-kn.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = ಕನ್ನಡ
name.english = Kannada
name.babel = kannada
@@ -127,7 +127,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini b/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini
index 2079a4ee682..06194a8316b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ml/babel-ml.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = മലയാളം
name.english = Malayalam
name.babel = malayalam
@@ -133,7 +133,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
index 2456c009893..387f7963551 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2020-04-23
+version = 1.6
+date = 2020-05-05
name.local = मराठी
name.english = Marathi
name.babel = marathi
@@ -123,7 +123,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini b/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini
index 0bfd5f06040..6ccc24734ff 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/oc/babel-oc.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 0.96
-date = 2020-03-22
+version = 0.97
+date = 2020-05-05
name.english = Occitan
name.babel = occitan
name.polyglossia = occitan
@@ -115,7 +115,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini b/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini
index 9aa13230571..9ea3419e88c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = ଓଡ଼ିଆ
name.english = Odia
name.babel = oriya
@@ -144,7 +144,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini
index 2baefa78c5c..ab495cfb419 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Guru.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = ਪੰਜਾਬੀ
name.english = Punjabi
name.babel = punjabi-gurmukhi punjabi-guru
@@ -143,7 +143,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini
index 3b261a25050..c68682d52a1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = ਪੰਜਾਬੀ
name.english = Punjabi
name.babel = punjabi
@@ -144,7 +144,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini b/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini
index 08b72239c71..dcc4cfd365a 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pms/babel-pms.ini
@@ -12,7 +12,7 @@
[identification]
charset = utf8
version = 1.2
-date = 2020-03-22
+date = 2020-05-05
name.english = Piedmontese
name.babel = piedmontese
name.polyglossia = piedmontese
@@ -114,7 +114,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini
index a50ff40ed5e..17eaaa92b1b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-BR.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = português
name.english = Portuguese
name.babel = brazilian portuguese-brazil portuguese-br
@@ -162,7 +162,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini
index 3bfc225614e..52dba7ef296 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt-PT.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-04
name.local = português
name.english = Portuguese
name.babel = portuguese portuguese-portugal portuguese-pt
@@ -79,18 +79,18 @@ glossary = Gloss\'ario
[date.gregorian]
date.long = [d] de [MMMM] de [y]
date.short = [dd]/[MM]/[y]
-months.wide.1 = Janeiro
-months.wide.2 = Fevereiro
-months.wide.3 = Março
-months.wide.4 = Abril
-months.wide.5 = Maio
-months.wide.6 = Junho
-months.wide.7 = Julho
-months.wide.8 = Agosto
-months.wide.9 = Setembro
-months.wide.10 = Outubro
-months.wide.11 = Novembro
-months.wide.12 = Dezembro
+months.wide.1 = janeiro
+months.wide.2 = fevereiro
+months.wide.3 = março
+months.wide.4 = abril
+months.wide.5 = maio
+months.wide.6 = junho
+months.wide.7 = julho
+months.wide.8 = agosto
+months.wide.9 = setembro
+months.wide.10 = outubro
+months.wide.11 = novembro
+months.wide.12 = dezembro
months.narrow.1 = J
months.narrow.2 = F
months.narrow.3 = M
@@ -132,18 +132,18 @@ dayPeriods.wide.am = AM
dayPeriods.wide.pm = PM
[date.gregorian.licr]
-months.wide.1 = Janeiro
-months.wide.2 = Fevereiro
-months.wide.3 = Mar\c co
-months.wide.4 = Abril
-months.wide.5 = Maio
-months.wide.6 = Junho
-months.wide.7 = Julho
-months.wide.8 = Agosto
-months.wide.9 = Setembro
-months.wide.10 = Outubro
-months.wide.11 = Novembro
-months.wide.12 = Dezembro
+months.wide.1 = janeiro
+months.wide.2 = fevereiro
+months.wide.3 = mar\c co
+months.wide.4 = abril
+months.wide.5 = maio
+months.wide.6 = junho
+months.wide.7 = julho
+months.wide.8 = agosto
+months.wide.9 = setembro
+months.wide.10 = outubro
+months.wide.11 = novembro
+months.wide.12 = dezembro
[time.gregorian]
time.medium = [HH]:[mm]:[ss]
@@ -162,7 +162,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini
index de45a791849..e91242ced8f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pt/babel-pt.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = português
name.english = Portuguese
name.babel = portuguese
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini b/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini
index 087f51409c0..99d38fa11a0 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/rm/babel-rm.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = rumantsch
name.english = Romansh
name.babel = romansh
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»‹›
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
index bb1e2e978e7..95bd75ef648 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-03-22
+version = 1.4
+date = 2020-05-05
name.local = русский
name.english = Russian
name.babel = russian
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes = «»„“
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 eb51cb8843b..baddf3e7b63 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,8 +11,8 @@
[identification]
charset = utf8
-version = 0.8
-date = 2020-03-22
+version = 0.9
+date = 2020-05-05
name.english = Sanskrit
name.babel = sanskrit
tag.bcp47 = sa
@@ -85,7 +85,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D "0CF1 "0CF2
+hyphenate.other.locale = "200C "200D
+hyphenate.other.script = "0CF1 "0CF2
[characters]
delimiters.quotes.0 =
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 f947a895075..df9179b6bd7 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,8 +11,8 @@
[identification]
charset = utf8
-version = 0.8
-date = 2020-03-22
+version = 0.9
+date = 2020-05-05
name.local = संस्कृत
name.english = Sanskrit
name.babel = sanskrit
@@ -86,7 +86,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D "0CF1 "0CF2
+hyphenate.other.locale = "200C "200D
+hyphenate.other.script = "0CF1 "0CF2
[characters]
delimiters.quotes =
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 3bb610d7760..d5e3eab4f6c 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,8 +11,8 @@
[identification]
charset = utf8
-version = 0.8
-date = 2020-03-22
+version = 0.9
+date = 2020-05-05
name.english = Sanskrit
name.babel = sanskrit
tag.bcp47 = sa
@@ -85,7 +85,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D "0CF1 "0CF2
+hyphenate.other.locale = "200C "200D
+hyphenate.other.script = "0CF1 "0CF2
[characters]
delimiters.quotes.0 =
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 a3ea6a76a6c..35a2cb511c2 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,8 +11,8 @@
[identification]
charset = utf8
-version = 0.8
-date = 2020-03-22
+version = 0.9
+date = 2020-05-05
name.english = Sanskrit
name.babel = sanskrit
name.polyglossia = sanskrit
@@ -87,7 +87,8 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D "0CF1 "0CF2
+hyphenate.other.locale = "200C "200D
+hyphenate.other.script = "0CF1 "0CF2
[characters]
delimiters.quotes.0 =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini b/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini
index 85d394f0fba..5899b140a3e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ta/babel-ta.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2020-03-22
+version = 1.6
+date = 2020-05-05
name.local = தமிழ்
name.english = Tamil
name.babel = tamil
@@ -145,7 +145,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini b/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini
index 996f62eb676..33839db2455 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/te/babel-te.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-03-22
+version = 1.5
+date = 2020-05-05
name.local = తెలుగు
name.english = Telugu
name.babel = telugu
@@ -122,7 +122,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "200C "200D
+hyphenate.other.locale = "200C "200D
[characters]
delimiters.quotes = “”‘’
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
index 4d20ad47143..e51dfa31381 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-03-22
+version = 1.3
+date = 2020-05-05
name.local = tk
name.english = Turkmen
name.babel = turkmen
@@ -120,7 +120,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "2D
+hyphenate.other.locale = "2D
[characters]
delimiters.quotes = “”“”
diff --git a/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini b/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini
index 6c427d52aa9..6dc66b4ba54 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/uk/babel-uk.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-03-22
+version = 1.4
+date = 2020-05-05
name.local = українська
name.english = Ukrainian
name.babel = ukrainian
@@ -159,7 +159,7 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other = "27 "2D
+hyphenate.other.locale = "27 "2D
[characters]
delimiters.quotes = «»„“
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 1767810fa08..6420f102887 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -251,6 +251,7 @@
\endgroup
\ifx\newattribute\@undefined\else
\newattribute\bbl@attr@locale
+ \directlua{ Babel.attr_locale = luatexbase.registernumber'bbl@attr@locale'}
\AddBabelHook{luatex}{beforeextras}{%
\setattribute\bbl@attr@locale\localeid}
\fi
@@ -859,8 +860,8 @@ end
\let\bbl@chprop@bmg\bbl@chprop@mirror
\def\bbl@chprop@linebreak#1{%
\directlua{
- Babel.Babel.cjk_characters[\the\count@] = Babel.Babel.cjk_characters[\the\count@] or {}
- Babel.Babel.cjk_characters[\the\count@]['c'] = '#1'
+ Babel.cjk_characters[\the\count@] = Babel.cjk_characters[\the\count@] or {}
+ Babel.cjk_characters[\the\count@]['c'] = '#1'
}}
\let\bbl@chprop@lb\bbl@chprop@linebreak
\def\bbl@chprop@locale#1{%
@@ -874,7 +875,8 @@ end
\catcode`\%=12
\catcode`\&=14
\directlua{
- Babel.linebreaking.replacements = {}
+ Babel.linebreaking.post_replacements = {}
+ Babel.linebreaking.pre_replacements = {}
function Babel.str_to_nodes(fn, matches, base)
local n, head, last
@@ -900,25 +902,30 @@ end
local word_nodes = {}
local lang
local item = head
+ local inmath = false
while item do
if item.id == 29
and not(item.char == 124) &% ie, not |
and not(item.char == 61) &% ie, not =
+ and not inmath
and (item.lang == lang or lang == nil) then
lang = lang or item.lang
word_string = word_string .. unicode.utf8.char(item.char)
word_nodes[#word_nodes+1] = item
- elseif item.id == 7 and item.subtype == 2 then
+ elseif item.id == 7 and item.subtype == 2 and not inmath then
word_string = word_string .. '='
word_nodes[#word_nodes+1] = item
- elseif item.id == 7 and item.subtype == 3 then
+ elseif item.id == 7 and item.subtype == 3 and not inmath then
word_string = word_string .. '|'
word_nodes[#word_nodes+1] = item
+ elseif item.id == node.id'math' then
+ inmath = (item.subtype == 0)
+
elseif word_string == '' then
&% pass
@@ -932,7 +939,7 @@ end
function Babel.post_hyphenate_replace(head)
local u = unicode.utf8
- local lbkr = Babel.linebreaking.replacements
+ local lbkr = Babel.linebreaking.post_replacements
local word_head = head
while true do
@@ -1038,6 +1045,152 @@ end
return head
end
+ &%%%
+ &% Preliminary code for \babelprehyphenation
+ &% TODO. Copypaste pattern. Merge with fetch_word
+ function Babel.fetch_subtext(head, funct)
+ local word_string = ''
+ local word_nodes = {}
+ local lang
+ local item = head
+ local inmath = false
+
+ while item do
+
+ if item.id == 29 then
+ local locale = node.get_attribute(item, Babel.attr_locale)
+
+ if not(item.char == 124) &% ie, not | = space
+ and not inmath
+ and (locale == lang or lang == nil) then
+ lang = lang or locale
+ word_string = word_string .. unicode.utf8.char(item.char)
+ word_nodes[#word_nodes+1] = item
+ end
+
+ if item == node.tail(head) then
+ item = nil
+ return word_string, word_nodes, item, lang
+ end
+
+ elseif item.id == 12 and item.subtype == 13 and not inmath then
+ word_string = word_string .. '|'
+ word_nodes[#word_nodes+1] = item
+
+ if item == node.tail(head) then
+ item = nil
+ return word_string, word_nodes, item, lang
+ end
+
+ elseif item.id == node.id'math' then
+ inmath = (item.subtype == 0)
+
+ elseif word_string == '' then
+ &% pass
+
+ else
+ return word_string, word_nodes, item, lang
+ end
+
+ item = item.next
+ end
+ end
+
+ &% TODO. Copypaste pattern. Merge with pre_hyphenate_replace
+ function Babel.pre_hyphenate_replace(head)
+ local u = unicode.utf8
+ local lbkr = Babel.linebreaking.pre_replacements
+ local word_head = head
+
+ while true do
+ local w, wn, nw, lang = Babel.fetch_subtext(word_head)
+ if not lang then return head end
+
+ if not lbkr[lang] then
+ break
+ end
+
+ for k=1, #lbkr[lang] do
+ local p = lbkr[lang][k].pattern
+ local r = lbkr[lang][k].replace
+
+ while true do
+ local matches = { u.match(w, p) }
+ if #matches < 2 then break end
+
+ local first = table.remove(matches, 1)
+ local last = table.remove(matches, #matches)
+
+ &% Fix offsets, from bytes to unicode.
+ first = u.len(w:sub(1, first-1)) + 1
+ last = u.len(w:sub(1, last-1))
+
+ local new &% used when inserting and removing nodes
+ local changed = 0
+
+ &% This loop traverses the replace list and takes the
+ &% corresponding actions
+ for q = first, last do
+ local crep = r[q-first+1]
+ local char_node = wn[q]
+ local char_base = char_node
+
+ if crep and crep.data then
+ char_base = wn[crep.data+first-1]
+ end
+
+ if crep == {} then
+ break
+ elseif crep == nil then
+ changed = changed + 1
+ node.remove(head, char_node)
+ elseif crep and crep.string then
+ changed = changed + 1
+ local str = crep.string(matches)
+ if str == '' then
+ if q == 1 then
+ word_head = char_node.next
+ end
+ head, new = node.remove(head, char_node)
+ elseif char_node.id == 29 and u.len(str) == 1 then
+ char_node.char = string.utfvalue(str)
+ else
+ local n
+ for s in string.utfvalues(str) do
+ if char_node.id == 7 then
+ log('Automatic hyphens cannot be replaced, just removed.')
+ else
+ n = node.copy(char_base)
+ end
+ n.char = s
+ if q == 1 then
+ head, new = node.insert_before(head, char_node, n)
+ word_head = new
+ else
+ node.insert_before(head, char_node, n)
+ end
+ end
+
+ node.remove(head, char_node)
+ end &% string length
+ end &% if char and char.string
+ end &% for char in match
+ if changed > 20 then
+ texio.write('Too many changes. Ignoring the rest.')
+ elseif changed > 0 then
+ &% For one-to-one can we modifiy directly the
+ &% values without re-fetching? Very likely.
+ w, wn, nw = Babel.fetch_subtext(word_head)
+ end
+
+ end &% for match
+ end &% for patterns
+ word_head = nw
+ end &% for words
+ return head
+ end
+ &%%% end of preliminary code for \babelprehyphenation
+
&% The following functions belong to the next macro
&% This table stores capture maps, numbered consecutively
@@ -1071,7 +1224,6 @@ end
return "]]..Babel.capt_map(m[" .. capno .. "]," ..
(mlen) .. ").." .. "[["
end
-
}
\catcode`\#=6
\gdef\babelposthyphenation#1#2#3{&%
@@ -1091,10 +1243,10 @@ end
tex.print([[\string\babeltempa{{]] .. rep .. [[}}]])
}}}&%
\directlua{
- local lbkr = Babel.linebreaking.replacements
+ local lbkr = Babel.linebreaking.post_replacements
local u = unicode.utf8
&% Convert pattern:
- local patt = string.gsub([[#2]], '%s', '')
+ local patt = string.gsub([==[#2]==], '%s', '')
if not u.find(patt, '()', nil, true) then
patt = '()' .. patt .. '()'
end
@@ -1107,12 +1259,47 @@ end
{ pattern = patt, replace = { \babeltempb } })
}&%
\endgroup}
+\gdef\babelprehyphenation#1#2#3{&%
+ \bbl@activateprehyphen
+ \begingroup
+ \def\babeltempa{\bbl@add@list\babeltempb}&%
+ \let\babeltempb\@empty
+ \bbl@foreach{#3}{&%
+ \bbl@ifsamestring{##1}{remove}&%
+ {\bbl@add@list\babeltempb{nil}}&%
+ {\directlua{
+ local rep = [[##1]]
+ rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func)
+ tex.print([[\string\babeltempa{{]] .. rep .. [[}}]])
+ }}}&%
+ \directlua{
+ local lbkr = Babel.linebreaking.pre_replacements
+ local u = unicode.utf8
+ &% Convert pattern:
+ local patt = string.gsub([==[#2]==], '%s', '')
+ if not u.find(patt, '()', nil, true) then
+ patt = '()' .. patt .. '()'
+ end
+ patt = u.gsub(patt, '{(.)}',
+ function (n)
+ return '%' .. (tonumber(n) and (tonumber(n)+1) or n)
+ end)
+ lbkr[\the\csname bbl@id@@#1\endcsname] = lbkr[\the\csname bbl@id@@#1\endcsname] or {}
+ table.insert(lbkr[\the\csname bbl@id@@#1\endcsname],
+ { pattern = patt, replace = { \babeltempb } })
+ }&%
+ \endgroup}
\endgroup
\def\bbl@activateposthyphen{%
\let\bbl@activateposthyphen\relax
\directlua{
Babel.linebreaking.add_after(Babel.post_hyphenate_replace)
}}
+\def\bbl@activateprehyphen{%
+ \let\bbl@activateprehyphen\relax
+ \directlua{
+ Babel.linebreaking.add_before(Babel.pre_hyphenate_replace)
+ }}
\bbl@trace{Redefinitions for bidi layout}
\ifx\@eqnnum\@undefined\else
\ifx\bbl@attr@dir\@undefined\else
@@ -1122,7 +1309,7 @@ end
\fi
\fi
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
-\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
+\ifnum\bbl@bidimode>\z@
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
\bbl@exp{%
\mathdir\the\bodydir
@@ -1211,7 +1398,7 @@ end
\let\bbl@OL@p@enumiii\p@enumiii
\def\p@enumiii{\p@enumii)\theenumii(}}{}}{}
\bbl@trace{Bidi footnotes}
-\ifx\bbl@beforeforeign\leavevmode
+\ifnum\bbl@bidimode>\z@
\def\bbl@footnote#1#2#3{%
\@ifnextchar[%
{\bbl@footnote@o{#1}{#2}{#3}}%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index bb6319588c7..478fa9f819b 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -32,7 +32,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2020/04/28 3.43 Nil language]
+\ProvidesLanguage{nil}[2020/05/13 3.44 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index bf6f6a3285c..9d37e273020 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -94,7 +94,7 @@
\hskip\columnwidth}}}%
{}
\bbl@trace{Bidi footnotes}
-\ifx\bbl@beforeforeign\leavevmode
+\ifnum\bbl@bidimode>\z@
\def\bbl@footnote#1#2#3{%
\@ifnextchar[%
{\bbl@footnote@o{#1}{#2}{#3}}%