summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-22 20:24:00 +0000
committerKarl Berry <karl@freefriends.org>2022-05-22 20:24:00 +0000
commit77115f354b353e70a149626be8cf14e22f2d1502 (patch)
treee25dae193c66b5bbf0600ff9e0721da3b429ce6e
parentb7435fa062618aa6443677b4d2ea44bde4a46d54 (diff)
babel (22may22)
git-svn-id: svn://tug.org/texlive/trunk@63369 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md23
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin857732 -> 861855 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx255
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin796166 -> 796596 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def55
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty62
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini14
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini14
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini20
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini5
-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/en/babel-en-AU.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-BE.ini14
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini18
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini18
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-LU.ini12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr.ini12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini34
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sr/babel-sr.ini34
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini8
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini8
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def73
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf29
36 files changed, 526 insertions, 264 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 537cda320d1..2342ebae59d 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.74
+## Babel 3.75
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -8,9 +8,9 @@ is a set of ini files for about 250 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.74 are described in:
+Changes in version 3.75 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.74.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.75.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -46,11 +46,20 @@ respective authors.
### Summary of latest changes
```
-3.74 2022-04-30
+3.75 2022-05-22
+ * `\BabelEnsureInfo` is active by default, to make sure the BCP 47
+ codes are always available, as they may be required by the
+ LaTeX kernel.
+ * `\localeinfo*` is like `\localeinfo` but expands to empty if
+ unknown (fully expandable).
+ * The key `character`/`ranges` in `ini` files now sets the
+ corresponding Unicode script ranges (as used by `onchar`).
* Fixes:
- - Error in transforms if | is active.
- - Minor fixes in Khemer, Turkmen, Marathi.
- * RTL math improved (with luatex).
+ - Misplaced rule un diagbox (#43)
+ - Caption names of 'chapter' and 'part' swapped in Chinese (#180).
+ - Captions after numbers in Lithuanian.
+ - `hyphenrules` in the `ini` files for `en-AU` and
+ `en-NZ` where set to `english` instead of `ukenglish`.
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index b68346d6e57..52960c988be 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index 980ab2b11e6..6bc32b0c7b9 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2022/04/30 v3.74 The Babel package]
+\ProvidesFile{babel.dtx}[2022/05/22 v3.75 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -184,11 +184,7 @@
Poppelier, Piet van Oostrum and many others have been used.
Bernd Raichle has provided many helpful suggestions.}}
\author{Johannes Braams\\
- Kersengaarde 33\\
- 2723 BP Zoetermeer\\
- The Netherlands\\
- \normalsize From version 3.9 on, Javier Bezos\\
- \normalsize \texttt{www.texnia.com}}
+ Javier Bezos}
\date{Typeset \today}
\begin{titlepage}
@@ -213,12 +209,12 @@ Version \csname @gobble\expandafter\endcsname\fileversion\newline
\LARGE
\vspace{1.2cm}
-Johannes L. Braams\\[-.5ex]
-{\large Original author}
-
-\vspace{.3cm}
Javier Bezos\\[-.5ex]
{\large Current maintainer}
+
+\vspace{.3cm}
+Johannes L. Braams\\[-.5ex]
+{\large Original author}
\end{minipage}
&\cellcolor[rgb]{.92, .86, .73}
\vspace{2cm}
@@ -2890,7 +2886,8 @@ argument is the name of a language; the second and third arguments are
the actions to take if the result of the test is true or false
respectively.
-\Describe{\localeinfo}{\marg{field}}
+\Describe{\localeinfo}{%
+ \colorbox{thegrey}{\ttfamily\hskip-.2em*\hskip-.2em}{\marg{field}}}
\New{3.38} If an |ini| file has been loaded for the current language,
you may access the information stored in it. This macro is fully
@@ -2902,15 +2899,30 @@ expandable, and the available fields are:
%%% activated because the bug in \languagename is far from trivial.
\item[|tag.ini|] is the tag of the |ini| file (the way this
file is identified in its name).
-\item[|tag.bcp47|] is the full BCP 47 tag (see the warning below).
+\item[|tag.bcp47|] is the full BCP 47 tag (see the warning below). This
+ is the value to be used for the ‘real' provided tag (\babel{} may
+ fill other fields if they are considered necessary).
\item[|language.tag.bcp47|] is the BCP 47 language tag.
\item[|tag.opentype|] is the tag used by OpenType (usually, but not
always, the same as BCP 47).
\item[|script.name|], as provided by the Unicode CLDR.
\item[|script.tag.bcp47|] is the BCP 47 tag of the script
- used by this locale.
+ used by this locale. This is a required field for the fonts to be
+ correctly set up, and therefore it should be always defined.
\item[|script.tag.opentype|] is the tag used by OpenType (usually,
but not always, the same as BCP 47).
+\item[|region.tag.bcp47|] is the BCP 47 tag of the region or territory.
+ Defined only if the locale loaded actually contains it (eg, |es-MX|
+ does, but |es| doesn’t), which is how locales behave in the CLDR.
+ \New{3.75}
+\item[|variant.tag.bcp47|] is the BCP 47 tag of the variant (in the BCP 47
+ sense, like |1901| for German). \New{3.75}
+\item[|extension.|\m{s}|.tag.bcp47|] is the BCP 47 value of the
+ extension whose singleton is \m{s} (currently the recognized
+ singletons are |x|, |t| and |u|). The internal syntax can be somewhat
+ complex, and this feature is still somewhat tentative. An example is
+ \textsf{classiclatin} which sets |extension.x.tag.bcp47| to classic.
+ \New{3.75}
\end{description}
\begin{warning}
@@ -2919,6 +2931,18 @@ expandable, and the available fields are:
counterintuitive.
\end{warning}
+\New{3.75} Sometimes, it comes in handy to be able to use |\localeinfo|
+in an expandable way even if something went wrong (for example, the
+locale currently active is undefined). For these cases, |localeinfo*|
+just returns an empty string instead of raising an error. Bear in mind
+that \babel{}, following the CLDR, may leave the region unset, which
+means |\getlanguageproperty*|, described below, is the preferred
+command, so that the existence of a field can be checked before. This
+also means building a string with the language and the region with
+|\localeinfo*{language.tab.bcp47}|\allowbreak |-|\allowbreak
+|\localeinfo*{region.tab.bcp47}| is not usually a good idea (because of
+the hyphen).
+
\Describe{\getlocaleproperty}{%
\colorbox{thegrey}{\ttfamily\hskip-.2em*\hskip-.2em}%
\marg{macro}\marg{locale}\marg{property}}
@@ -2955,12 +2979,15 @@ named |\LocaleForEach| to traverse the list, where |#1| is the name of
the current item, so that |\LocaleForEach{\message{ **#1** }}| just
shows the loaded |ini|’s.
-\Describe{\BabelEnsureInfo}{}
-|ini| files are loaded with |\babelprovide| and also when languages are
-selected if there is a |\babelfont| or they have not been explicitly
-declared. To ensure the |ini| files are loaded (and therefore the
-corresponding data) even if these two conditions are not met, write
-|\BabelEnsureInfo| in the preamble.
+\Describe{ensureinfo=off}{}
+\New{3.75} Previously, |ini| files are loaded only with |\babelprovide|
+and also when languages are selected if there is a |\babelfont| or they
+have not been explicitly declared. Now the |ini| files are loaded (and
+therefore the corresponding data) even if these two conditions are not
+met (in previous versions you had to enable it with |\BabelEnsureInfo|
+in the preamble). Because of the way this feature works, problems are
+very unlikely, but there is switch as a package option to turn the new
+behavior off (|ensureinfo=off|).
\subsection{Hyphenation and line breaking}
@@ -5116,8 +5143,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.74>>
-%<<date=2022/04/30>>
+%<<version=3.75>>
+%<<date=2022/05/22>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -9748,6 +9775,11 @@ help from Bernd Raichle, for which I am grateful.
\ifx\bbl@KVP@language\@nil\else
\bbl@csarg\edef{lname@#2}{\bbl@KVP@language}%
\fi
+ \ifcase\bbl@engine\or
+ \bbl@ifunset{bbl@chrng@\languagename}{}%
+ {\directlua{
+ Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}%
+ \fi
% == onchar ==
\ifx\bbl@KVP@onchar\@nil\else
\bbl@luahyphenate
@@ -10251,6 +10283,10 @@ help from Bernd Raichle, for which I am grateful.
\ifin@
\bbl@ini@calendar{##1}%
\fi
+ \in@{=identification/extension.}{=##1/##2}%
+ \ifin@
+ \bbl@ini@extension{##2}%
+ \fi
\bbl@ifunset{bbl@inikv@##1}{}%
{\csname bbl@inikv@##1\endcsname{##2}{##3}}}%
\bbl@inidata}
@@ -10360,6 +10396,24 @@ help from Bernd Raichle, for which I am grateful.
Reported }}}
%
\let\bbl@release@transforms\@empty
+% \end{macrocode}
+%
+% BCP 47 extensions are separated by a single letter (eg,
+% |latin-x-medieval|. The following macro handles this special case to
+% create correctly the correspondig info.
+%
+% \begin{macrocode}
+\def\bbl@ini@extension#1{%
+ \def\bbl@tempa{#1}%
+ \bbl@replace\bbl@tempa{extension.}{}%
+ \bbl@replace\bbl@tempa{.tag.bcp47}{}%
+ \bbl@ifunset{bbl@info@#1}%
+ {\bbl@csarg\xdef{info@#1}{ext/\bbl@tempa}%
+ \bbl@exp{%
+ \\\g@addto@macro\\\bbl@moreinfo{%
+ \\\bbl@exportkey{ext/\bbl@tempa}{identification.#1}{}}}}%
+ {}}
+\let\bbl@moreinfo\@empty
%
\def\bbl@ini@exports#1{%
% Identification always exported
@@ -10383,6 +10437,9 @@ help from Bernd Raichle, for which I am grateful.
{\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}%
+ \bbl@exportkey{rbcp}{identification.region.tag.bcp47}{}%
+ \bbl@exportkey{vbcp}{identification.variant.tag.bcp47}{}%
+ \bbl@moreinfo
% Also maps bcp47 -> languagename
\ifbbl@bcptoname
\bbl@csarg\xdef{bcp@map@\bbl@cl{tbcp}}{\languagename}%
@@ -10951,13 +11008,21 @@ help from Bernd Raichle, for which I am grateful.
% following macro just exposes it with a user command.
%
% \begin{macrocode}
+\def\bbl@localeinfo#1#2{%
+ \bbl@ifunset{bbl@info@#2}{#1}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
+ {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
\newcommand\localeinfo[1]{%
- \bbl@ifunset{bbl@\csname bbl@info@#1\endcsname @\languagename}%
- {\bbl@error{I've found no info for the current locale.\\%
- The corresponding ini file has not been loaded\\%
- Perhaps it doesn't exist}%
- {See the manual for details.}}%
- {\bbl@cs{\csname bbl@info@#1\endcsname @\languagename}}}
+ \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
+ \bbl@afterelse\bbl@localeinfo{}%
+ \else
+ \bbl@localeinfo
+ {\bbl@error{I've found no info for the current locale.\\%
+ The corresponding ini file has not been loaded\\%
+ Perhaps it doesn't exist}%
+ {See the manual for details.}}%
+ {#1}%
+ \fi}
% \@namedef{bbl@info@name.locale}{lcname}
\@namedef{bbl@info@tag.ini}{lini}
\@namedef{bbl@info@name.english}{elname}
@@ -10968,7 +11033,22 @@ help from Bernd Raichle, for which I am grateful.
\@namedef{bbl@info@script.name}{esname}
\@namedef{bbl@info@script.name.opentype}{sname}
\@namedef{bbl@info@script.tag.bcp47}{sbcp}
-\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@region.tag.bcp47}{rbcp}
+\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
+% Extensions are dealt with in a special way
+% Now, an internal \LaTeX{} macro:
+\providecommand\BCPdata[1]{\localeinfo*{#1.tag.bcp47}}
+% \end{macrocode}
+%
+% With version 3.75 |\BabelEnsureInfo| is executed always, but there is
+% an option to disable it.
+%
+% \begin{macrocode}
+%<<*More package options>>
+\DeclareOption{ensureinfo=off}{}
+%<</More package options>>
+%
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -10978,12 +11058,15 @@ help from Bernd Raichle, for which I am grateful.
\bbl@foreach\bbl@loaded{{%
\def\languagename{##1}%
\bbl@ensureinfo{##1}}}}
+\@ifpackagewith{babel}{ensureinfo=off}{}%
+ {\AtEndOfPackage{% Test for plain.
+ \ifx\@undefined\bbl@loaded\else\BabelEnsureInfo\fi}}
% \end{macrocode}
%
% More general, but non-expandable, is |\getlocaleproperty|. To inspect
% every possible loaded |ini|, we define |\LocaleForEach|, where
% |\bbl@ini@loaded| is a comma-separated list of locales, built by
-% |\bbl@read@ini|.
+% |\bbl@read@ini|.
%
% \begin{macrocode}
\newcommand\getlocaleproperty{%
@@ -11791,11 +11874,7 @@ help from Bernd Raichle, for which I am grateful.
% latter solution will be eventually removed).
%
% \begin{macrocode}
-\bbl@ifformatlater{2021-06-01}%
- {\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}}
- {\def\bbl@patchfont#1{%
- \expandafter\bbl@add\csname selectfont \endcsname{#1}%
- \expandafter\bbl@toglobal\csname selectfont \endcsname}}
+\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}
% \end{macrocode}
%
% \end{macro}
@@ -13524,6 +13603,15 @@ help from Bernd Raichle, for which I am grateful.
end
return has_bidi
end
+ function Babel.set_chranges_b (script, chrng)
+ if chrng == '' then return end
+ texio.write('Replacing ' .. script .. ' script ranges')
+ Babel.script_blocks[script] = {}
+ for s, e in string.gmatch(chrng..' ', '(.-)%.%.(.-)%s') do
+ table.insert(
+ Babel.script_blocks[script], {tonumber(s,16), tonumber(e,16)})
+ end
+ end
}
\endgroup
\ifx\newattribute\@undefined\else
@@ -14767,22 +14855,21 @@ end
% \(text|par)dir required in pgf:
\def\bbl@pictresetdir{\bodydir TRT\pardir TRT\textdir TRT\relax}%
\fi}%
- \ifx\AddToHook\@undefined\else
- \AddToHook{env/picture/begin}{\bbl@pictsetdir\tw@}%
- \directlua{
- Babel.get_picture_dir = true
- Babel.picture_has_bidi = 0
- %
- function Babel.picture_dir (head)
- if not Babel.get_picture_dir then return head end
- if Babel.hlist_has_bidi(head) then
- Babel.picture_has_bidi = 1
- end
- return head
+ \AddToHook{env/picture/begin}{\bbl@pictsetdir\tw@}%
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ %
+ function Babel.picture_dir (head)
+ if not Babel.get_picture_dir then return head end
+ if Babel.hlist_has_bidi(head) then
+ Babel.picture_has_bidi = 1
end
- luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
- "Babel.picture_dir")
- }%
+ return head
+ end
+ luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
+ "Babel.picture_dir")
+ }%
\AtBeginDocument{%
\long\def\put(#1,#2)#3{%
\@killglue
@@ -14797,7 +14884,7 @@ end
\setbox\z@\hb@xt@\z@{%
\@defaultunitsset\@tempdimc{#1}\unitlength
\kern\@tempdimc
- #3\hss}%
+ #3\hss}% TODO: #3 executed twice (below). That’s bad.
\edef\bbl@tempc{\directlua{tex.print(Babel.picture_has_bidi)}}%
\fi
% Do:
@@ -14807,35 +14894,26 @@ end
\kern\@tempdimc
{\ifnum\bbl@tempc>\z@\bbl@pictresetdir\fi#3}\hss}%
\ignorespaces}%
- \MakeRobust\put}%
- \fi
+ \MakeRobust\put}%
\AtBeginDocument
- {\ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
- \ifx\AddToHook\@undefined
- \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
- {\bbl@pictsetdir\z@\pgfpicturetrue}%
- \else
- \AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
- \fi
+ {\AddToHook{cmd/diagbox@pict/before}{\let\bbl@pictsetdir\@gobble}%
+ \ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
+ \AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
\bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
\fi
- \ifx\tikzpicture\@undefined\else
- \ifx\AddToHook\@undefined\else
- \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
- \fi
+ \ifx\tikzpicture\@undefined\else
+ \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
\bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
\bbl@sreplace\tikz{\begingroup}{\begingroup\bbl@pictsetdir\tw@}%
\fi
- \ifx\AddToHook\@undefined\else
- \ifx\tcolorbox\@undefined\else
- \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
- \bbl@sreplace\tcb@savebox
- {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
- \ifx\tikzpicture@tcb@hooked\@undefined\else
- \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
- {\textdir TLT\noexpand\tikzpicture}%
- \fi
+ \ifx\tcolorbox\@undefined\else
+ \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \bbl@sreplace\tcb@savebox
+ {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
+ \ifx\tikzpicture@tcb@hooked\@undefined\else
+ \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
+ {\textdir TLT\noexpand\tikzpicture}%
\fi
\fi
}}
@@ -22564,6 +22642,39 @@ Babel.cjk_breaks = {
% \end{macro}
% \end{macro}
%
+% There is no locale file for this pseudo-language, so the
+% corresponding fields are defined here.
+%
+% \begin{macrocode}
+\def\bbl@inidata@nil{%
+ \bbl@elt{identification}{tag.ini}{und}%
+ \bbl@elt{identification}{load.level}{0}%
+ \bbl@elt{identification}{charset}{utf8}%
+ \bbl@elt{identification}{version}{1.0}%
+ \bbl@elt{identification}{date}{2022-05-16}%
+ \bbl@elt{identification}{name.local}{nil}%
+ \bbl@elt{identification}{name.english}{nil}%
+ \bbl@elt{identification}{name.babel}{nil}%
+ \bbl@elt{identification}{tag.bcp47}{und}%
+ \bbl@elt{identification}{language.tag.bcp47}{und}%
+ \bbl@elt{identification}{tag.opentype}{dflt}%
+ \bbl@elt{identification}{script.name}{Latin}%
+ \bbl@elt{identification}{script.tag.bcp47}{Latn}%
+ \bbl@elt{identification}{script.tag.opentype}{DFLT}%
+ \bbl@elt{identification}{level}{1}%
+ \bbl@elt{identification}{encodings}{}%
+ \bbl@elt{identification}{derivate}{no}}
+\@namedef{bbl@tbcp@nil}{und}
+\@namedef{bbl@lbcp@nil}{und}
+\@namedef{bbl@lotf@nil}{dflt}
+\@namedef{bbl@elname@nil}{nil}
+\@namedef{bbl@lname@nil}{nil}
+\@namedef{bbl@esname@nil}{Latin}
+\@namedef{bbl@sname@nil}{Latin}
+\@namedef{bbl@sbcp@nil}{Latn}
+\@namedef{bbl@sotf@nil}{Latn}
+% \end{macrocode}
+%
% The macro |\ldf@finish| takes care of looking for a
% configuration file, setting the main language to be switched on
% at |\begin{document}| and resetting the category code of
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 1c80ae6d803..188056d2277 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2022/04/30}
+\def\filedate{2022/05/22}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index b7a7c3dfbc2..725de441f26 100644
--- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2022/04/30 v3.74]
+\ProvidesFile{bbcompat.dtx}[2022/05/22 v3.75]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index 5a1e3abb207..fb753161f64 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index a2badd86813..4ca1e0f6491 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2022/04/30 3.74 Babel common definitions]
+\ProvidesFile{babel.def}[2022/05/22 3.75 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -406,8 +406,8 @@
\expandafter\newif\csname ifbbl@single\endcsname
\chardef\bbl@bidimode\z@
\fi
-\def\bbl@version{3.74}
-\def\bbl@date{2022/04/30}
+\def\bbl@version{3.75}
+\def\bbl@date{2022/05/22}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2521,6 +2521,11 @@
\ifx\bbl@KVP@language\@nil\else
\bbl@csarg\edef{lname@#2}{\bbl@KVP@language}%
\fi
+ \ifcase\bbl@engine\or
+ \bbl@ifunset{bbl@chrng@\languagename}{}%
+ {\directlua{
+ Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}%
+ \fi
% == onchar ==
\ifx\bbl@KVP@onchar\@nil\else
\bbl@luahyphenate
@@ -2976,6 +2981,10 @@
\ifin@
\bbl@ini@calendar{##1}%
\fi
+ \in@{=identification/extension.}{=##1/##2}%
+ \ifin@
+ \bbl@ini@extension{##2}%
+ \fi
\bbl@ifunset{bbl@inikv@##1}{}%
{\csname bbl@inikv@##1\endcsname{##2}{##3}}}%
\bbl@inidata}
@@ -3047,6 +3056,17 @@
\bbl@cs{@kv@identification.warning#1}\\%
Reported }}}
\let\bbl@release@transforms\@empty
+\def\bbl@ini@extension#1{%
+ \def\bbl@tempa{#1}%
+ \bbl@replace\bbl@tempa{extension.}{}%
+ \bbl@replace\bbl@tempa{.tag.bcp47}{}%
+ \bbl@ifunset{bbl@info@#1}%
+ {\bbl@csarg\xdef{info@#1}{ext/\bbl@tempa}%
+ \bbl@exp{%
+ \\\g@addto@macro\\\bbl@moreinfo{%
+ \\\bbl@exportkey{ext/\bbl@tempa}{identification.#1}{}}}}%
+ {}}
+\let\bbl@moreinfo\@empty
\def\bbl@ini@exports#1{%
% Identification always exported
\bbl@iniwarning{}%
@@ -3069,6 +3089,9 @@
{\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}%
+ \bbl@exportkey{rbcp}{identification.region.tag.bcp47}{}%
+ \bbl@exportkey{vbcp}{identification.variant.tag.bcp47}{}%
+ \bbl@moreinfo
% Also maps bcp47 -> languagename
\ifbbl@bcptoname
\bbl@csarg\xdef{bcp@map@\bbl@cl{tbcp}}{\languagename}%
@@ -3518,13 +3541,21 @@
\def\bbl@alphnum@invalid#1{%
\bbl@error{Alphabetic numeral too large (#1)}%
{Currently this is the limit.}}
+\def\bbl@localeinfo#1#2{%
+ \bbl@ifunset{bbl@info@#2}{#1}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
+ {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
\newcommand\localeinfo[1]{%
- \bbl@ifunset{bbl@\csname bbl@info@#1\endcsname @\languagename}%
- {\bbl@error{I've found no info for the current locale.\\%
- The corresponding ini file has not been loaded\\%
- Perhaps it doesn't exist}%
- {See the manual for details.}}%
- {\bbl@cs{\csname bbl@info@#1\endcsname @\languagename}}}
+ \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
+ \bbl@afterelse\bbl@localeinfo{}%
+ \else
+ \bbl@localeinfo
+ {\bbl@error{I've found no info for the current locale.\\%
+ The corresponding ini file has not been loaded\\%
+ Perhaps it doesn't exist}%
+ {See the manual for details.}}%
+ {#1}%
+ \fi}
\@namedef{bbl@info@tag.ini}{lini}
\@namedef{bbl@info@name.english}{elname}
\@namedef{bbl@info@name.opentype}{lname}
@@ -3535,6 +3566,9 @@
\@namedef{bbl@info@script.name.opentype}{sname}
\@namedef{bbl@info@script.tag.bcp47}{sbcp}
\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@region.tag.bcp47}{rbcp}
+\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
+\providecommand\BCPdata[1]{\localeinfo*{#1.tag.bcp47}}
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -3544,6 +3578,9 @@
\bbl@foreach\bbl@loaded{{%
\def\languagename{##1}%
\bbl@ensureinfo{##1}}}}
+\@ifpackagewith{babel}{ensureinfo=off}{}%
+ {\AtEndOfPackage{% Test for plain.
+ \ifx\@undefined\bbl@loaded\else\BabelEnsureInfo\fi}}
\newcommand\getlocaleproperty{%
\@ifstar\bbl@getproperty@s\bbl@getproperty@x}
\def\bbl@getproperty@s#1#2#3{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 2c97c5384a5..1cb4eca5736 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2022/04/30 3.74 The Babel package]
+\ProvidesPackage{babel}[2022/05/22 3.75 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -357,6 +357,7 @@
\DeclareOption{hyphenmap=select}{\chardef\bbl@opt@hyphenmap\tw@}
\DeclareOption{hyphenmap=other}{\chardef\bbl@opt@hyphenmap\thr@@}
\DeclareOption{hyphenmap=other*}{\chardef\bbl@opt@hyphenmap4\relax}
+\DeclareOption{ensureinfo=off}{}
\DeclareOption{safe=none}{\let\bbl@opt@safe\@empty}
\DeclareOption{safe=bib}{\def\bbl@opt@safe{B}}
\DeclareOption{safe=ref}{\def\bbl@opt@safe{R}}
@@ -458,8 +459,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.74}
-\def\bbl@date{2022/04/30}
+\def\bbl@version{3.75}
+\def\bbl@date{2022/05/22}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2573,6 +2574,11 @@
\ifx\bbl@KVP@language\@nil\else
\bbl@csarg\edef{lname@#2}{\bbl@KVP@language}%
\fi
+ \ifcase\bbl@engine\or
+ \bbl@ifunset{bbl@chrng@\languagename}{}%
+ {\directlua{
+ Babel.set_chranges_b('\bbl@cl{sbcp}', '\bbl@cl{chrng}') }}%
+ \fi
% == onchar ==
\ifx\bbl@KVP@onchar\@nil\else
\bbl@luahyphenate
@@ -3028,6 +3034,10 @@
\ifin@
\bbl@ini@calendar{##1}%
\fi
+ \in@{=identification/extension.}{=##1/##2}%
+ \ifin@
+ \bbl@ini@extension{##2}%
+ \fi
\bbl@ifunset{bbl@inikv@##1}{}%
{\csname bbl@inikv@##1\endcsname{##2}{##3}}}%
\bbl@inidata}
@@ -3099,6 +3109,17 @@
\bbl@cs{@kv@identification.warning#1}\\%
Reported }}}
\let\bbl@release@transforms\@empty
+\def\bbl@ini@extension#1{%
+ \def\bbl@tempa{#1}%
+ \bbl@replace\bbl@tempa{extension.}{}%
+ \bbl@replace\bbl@tempa{.tag.bcp47}{}%
+ \bbl@ifunset{bbl@info@#1}%
+ {\bbl@csarg\xdef{info@#1}{ext/\bbl@tempa}%
+ \bbl@exp{%
+ \\\g@addto@macro\\\bbl@moreinfo{%
+ \\\bbl@exportkey{ext/\bbl@tempa}{identification.#1}{}}}}%
+ {}}
+\let\bbl@moreinfo\@empty
\def\bbl@ini@exports#1{%
% Identification always exported
\bbl@iniwarning{}%
@@ -3121,6 +3142,9 @@
{\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}%
+ \bbl@exportkey{rbcp}{identification.region.tag.bcp47}{}%
+ \bbl@exportkey{vbcp}{identification.variant.tag.bcp47}{}%
+ \bbl@moreinfo
% Also maps bcp47 -> languagename
\ifbbl@bcptoname
\bbl@csarg\xdef{bcp@map@\bbl@cl{tbcp}}{\languagename}%
@@ -3570,13 +3594,21 @@
\def\bbl@alphnum@invalid#1{%
\bbl@error{Alphabetic numeral too large (#1)}%
{Currently this is the limit.}}
+\def\bbl@localeinfo#1#2{%
+ \bbl@ifunset{bbl@info@#2}{#1}%
+ {\bbl@ifunset{bbl@\csname bbl@info@#2\endcsname @\languagename}{#1}%
+ {\bbl@cs{\csname bbl@info@#2\endcsname @\languagename}}}}
\newcommand\localeinfo[1]{%
- \bbl@ifunset{bbl@\csname bbl@info@#1\endcsname @\languagename}%
- {\bbl@error{I've found no info for the current locale.\\%
- The corresponding ini file has not been loaded\\%
- Perhaps it doesn't exist}%
- {See the manual for details.}}%
- {\bbl@cs{\csname bbl@info@#1\endcsname @\languagename}}}
+ \ifx*#1\@empty % TODO. A bit hackish to make it expandable.
+ \bbl@afterelse\bbl@localeinfo{}%
+ \else
+ \bbl@localeinfo
+ {\bbl@error{I've found no info for the current locale.\\%
+ The corresponding ini file has not been loaded\\%
+ Perhaps it doesn't exist}%
+ {See the manual for details.}}%
+ {#1}%
+ \fi}
\@namedef{bbl@info@tag.ini}{lini}
\@namedef{bbl@info@name.english}{elname}
\@namedef{bbl@info@name.opentype}{lname}
@@ -3587,6 +3619,9 @@
\@namedef{bbl@info@script.name.opentype}{sname}
\@namedef{bbl@info@script.tag.bcp47}{sbcp}
\@namedef{bbl@info@script.tag.opentype}{sotf}
+\@namedef{bbl@info@region.tag.bcp47}{rbcp}
+\@namedef{bbl@info@variant.tag.bcp47}{vbcp}
+\providecommand\BCPdata[1]{\localeinfo*{#1.tag.bcp47}}
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -3596,6 +3631,9 @@
\bbl@foreach\bbl@loaded{{%
\def\languagename{##1}%
\bbl@ensureinfo{##1}}}}
+\@ifpackagewith{babel}{ensureinfo=off}{}%
+ {\AtEndOfPackage{% Test for plain.
+ \ifx\@undefined\bbl@loaded\else\BabelEnsureInfo\fi}}
\newcommand\getlocaleproperty{%
\@ifstar\bbl@getproperty@s\bbl@getproperty@x}
\def\bbl@getproperty@s#1#2#3{%
@@ -3989,11 +4027,7 @@
\else
\DeclareTextFontCommand{\textlatin}{\latintext}
\fi
-\bbl@ifformatlater{2021-06-01}%
- {\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}}
- {\def\bbl@patchfont#1{%
- \expandafter\bbl@add\csname selectfont \endcsname{#1}%
- \expandafter\bbl@toglobal\csname selectfont \endcsname}}
+\def\bbl@patchfont#1{\AddToHook{selectfont}{#1}}
\bbl@trace{Loading basic (internal) bidi support}
\ifodd\bbl@engine
\else % TODO. Move to txtbabel
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 45ff587e515..4513dc0526c 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,10 +38,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2022/04/30 3.74 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2022/05/22 3.75 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.74}
-\def\bbl@date{2022/04/30}
+\def\bbl@version{3.75}
+\def\bbl@date{2022/05/22}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini
index a43f56ff0f6..85bab5a6b21 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.9
-date = 2021-06-25
+version = 1.10
+date = 2022-05-15
name.local = العربية
name.english = Arabic
name.babel = arabic-algeria arabic-dz
@@ -153,10 +153,10 @@ hyphenationmin =
[characters]
delimiters.quotes = ”“’‘
-auxiliary = [\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
-punctuation = [\\- ‐ – — ، ؛ \\: ! ؟ . ' \" ( ) \\[ \\]]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
[numbers]
defaultNumberingSystem = latn
@@ -180,6 +180,6 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
-kashida.plain.2.0 = { ()ل()[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini
index df69846f4cf..8b84168251c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.9
-date = 2021-06-25
+version = 1.10
+date = 2022-05-15
name.local = العربية
name.english = Arabic
name.babel = arabic-morocco arabic-ma
@@ -156,7 +156,7 @@ delimiters.quotes = ”“’‘
auxiliary = [\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک ڭ گ ݣ ی]
exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
-punctuation = [\\- ‐ – — ، ؛ \\: ! ؟ . ' \" ( ) \\[ \\]]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
[numbers]
defaultNumberingSystem = latn
@@ -180,6 +180,6 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
-kashida.plain.2.0 = { ()ل()[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini
index 15ba0d273f9..a0232c3830f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.9
-date = 2021-06-25
+version = 1.10
+date = 2022-05-15
name.local = العربية
name.english = Arabic
name.babel = arabic-syria arabic-sy
@@ -152,10 +152,10 @@ hyphenationmin =
[characters]
delimiters.quotes = ”“’‘
-auxiliary = [\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
-punctuation = [\\- ‐ – — ، ؛ \\: ! ؟ . ' \" ( ) \\[ \\]]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
[numbers]
defaultNumberingSystem = arab
@@ -179,7 +179,7 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
-kashida.plain.2.0 = { ()ل()[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini
index 692c1ec421d..25f8f013722 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.13
-date = 2021-09-29
+version = 1.14
+date = 2022-05-15
name.local = العربية
name.english = Arabic
name.babel = arabic
@@ -151,10 +151,10 @@ hyphenationmin =
[characters]
delimiters.quotes = ”“’‘
-auxiliary = [\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
-punctuation = [\\- ‐ – — ، ؛ \\: ! ؟ . ' \" ( ) \\[ \\]]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
[numbers]
defaultNumberingSystem = arab
@@ -193,23 +193,23 @@ transliteration.dad.3.1 = { string = {1|aui|ًٌٍ} }
transliteration.dad.3.2 = { remove }
transliteration.dad.4.0 = { ([tAa]){*} }
transliteration.dad.4.1 = { string = {1|tAa|ةٱٰ} }
-transliteration.dad.4.2 = { remove }
+transliteration.dad.4.2 = { remove }
transliteration.dad.5.0 = { ([tds])h }
transliteration.dad.5.1 = { string = {1|tds|ثذش} }
transliteration.dad.5.2 = { remove }
transliteration.dad.6.0 = { {+}([aui]) }
-transliteration.dad.6.1 = { string = {1|aui|َُِ} }
+transliteration.dad.6.1 = { string = {1|aui|َُِ} }
transliteration.dad.6.2 = { string = ّ }
transliteration.dad.7.0 = { '([AauiIbnf]) }
transliteration.dad.7.1 = { remove }
transliteration.dad.7.2 = { string = {1|AauiIbnf|آأؤإئٮںڡ} }
; 1-letter
transliteration.dad.8.0 = { ([{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe]) }
-transliteration.dad.8.1 = { string = {1|{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe|ءابتجحخدرزسصضطظعغفقكلمنهوىيَُِّْپچڤگژۀ} }
+transliteration.dad.8.1 = { string = {1|{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe|ءابتجحخدرزسصضطظعغفقكلمنهوىيَُِّْپچڤگژۀ} }
;
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
-kashida.plain.2.0 = { ()ل()[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
+kashida.plain.2.1 = { kashida = 0 }
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
index 2243aab87f4..d9b0c7c6e10 100644
--- 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = german
@@ -23,6 +23,7 @@ tag.opentype = DEU
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1901
level = 1
encodings = T1 OT1 LY1
derivate = no
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
index 87296f1f991..9624e48ea51 100644
--- 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = german
@@ -22,6 +22,7 @@ tag.opentype = DEU
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1996
level = 1
encodings = T1 OT1 LY1
derivate = no
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
index 7d5ffa23ac6..1d0d64979d8 100644
--- 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = austrian german-austria german-at
@@ -26,6 +26,7 @@ region.tag.bcp47 = AT
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1901
polyglossia.variant = austrian
polyglossia.spelling = old
level = 1
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
index a4839f15308..a2204401d09 100644
--- 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = austrian german-austria german-at
@@ -26,6 +26,7 @@ region.tag.bcp47 = AT
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1996
polyglossia.variant = austrian
polyglossia.spelling = new
level = 1
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
index f23225fecfe..6ce1d61e21a 100644
--- 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
@@ -11,14 +11,12 @@
[identification]
charset = utf8
-version = 1.4
-date = 2021-09-29
+version = 1.5
+date = 2022-05-1729
name.local = Deutsch
name.english = German
name.babel = german-switzerland german-ch nswissgerman
name.polyglossia = german
-; The following conflicts with gsw:
-name.babel.C = swissgerman
tag.bcp47 = de-CH-1901
language.tag.bcp47 = de
tag.opentype = DEU
@@ -28,6 +26,7 @@ region.tag.bcp47 = CH
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1901
polyglossia.variant = swiss
polyglossia.spelling = old
level = 1
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
index 3f8df2ae11e..7af819b870e 100644
--- 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
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2021-09-29
+version = 1.5
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = german-switzerland german-ch nswissgerman
@@ -28,6 +28,7 @@ region.tag.bcp47 = CH
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+variant.tag.bcp47 = 1996
polyglossia.variant = swiss
polyglossia.spelling = new
level = 1
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 4b93e767e6e..cf39b6e8128 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,14 +11,12 @@
[identification]
charset = utf8
-version = 1.4
-date = 2021-09-29
+version = 1.5
+date = 2022-05-17
name.local = Deutsch
name.english = German
name.babel = german-switzerland german-ch nswissgerman
name.polyglossia = german
-; The following conflicts with gsw:
-name.babel.C = swissgerman
tag.bcp47 = de-CH
language.tag.bcp47 = de
tag.opentype = DEU
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-AU.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-AU.ini
index e6a8f903c90..bbef7b2f4dc 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-AU.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-AU.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-09-29
+version = 1.4
+date = 2022-05-17
name.local = English
name.english = English
name.babel = english-australia english-au australian
@@ -150,7 +150,7 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
-hyphenrules = english
+hyphenrules = ukenglish
lefthyphenmin = 2
righthyphenmin = 3
hyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini
index 78280c21698..8ac9d3df963 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-09-29
+version = 1.4
+date = 2022-05-17
name.local = English
name.english = English
name.babel = english-newzealand english-nz newzealand
@@ -150,7 +150,7 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
-hyphenrules = english
+hyphenrules = ukenglish
lefthyphenmin = 2
righthyphenmin = 3
hyphenchar =
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 a73ff11d28d..511d9757c1c 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.98
-date = 2020-06-30
+version = 0.981
+date = 2022-05-14
name.local = français
name.english = French
name.babel = french-belgium french-be
@@ -161,21 +161,21 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other.locale = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
-auxiliary = [á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ]
+auxiliary = [á å ä ã ā ć ē í ì ī ij ñ ó ò ö õ ø ř š ſ ß ú ǔ]
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 = [\\- ‐ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
[numbers]
defaultNumberingSystem = latn
minimumGroupingDigits = 1
decimal = ,
exponential = E
-group =  
+group =  
infinity = ∞
list = ;
minusSign = -
@@ -186,4 +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
+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
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 4ee0d3552e9..066049d580b 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,11 +11,11 @@
[identification]
charset = utf8
-version = 0.981
-date = 2021-09-29
-name.local = français
-name.english = French
-name.babel = french-canada french-ca
+version = 0.982
+date = 2022-05-14
+name.local = français canadien
+name.english = Canadian French
+name.babel = canadien french-canada french-ca
tag.bcp47 = fr-CA
language.tag.bcp47 = fr
tag.opentype = FRA
@@ -77,7 +77,7 @@ glossary = Glossaire
[date.gregorian]
date.long = [d|date.day] [MMMM] [y]
-date.short = [yy]-[MM]-[dd]
+date.short = [y]-[MM]-[dd]
months.wide.1 = janvier
months.wide.2 = février
months.wide.3 = mars
@@ -145,7 +145,7 @@ months.wide.11 = novembre
months.wide.12 = d\'ecembre
[time.gregorian]
-time.medium = [HH]:[mm]:[ss]
+time.medium = [HH] h [mm] min [ss] s
time.short = [HH] h [mm]
[typography]
@@ -168,7 +168,7 @@ 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 = [\\- ‐ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
[numbers]
defaultNumberingSystem = latn
@@ -186,4 +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
+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
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 0ba1f8aaa7c..c05091cf750 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,10 +11,10 @@
[identification]
charset = utf8
-version = 0.981
-date = 2021-09-29
-name.local = français
-name.english = French
+version = 0.982
+date = 2022-05-14
+name.local = français suisse
+name.english = Swiss French
name.babel = french-switzerland french-ch
tag.bcp47 = fr-CH
language.tag.bcp47 = fr
@@ -165,17 +165,17 @@ hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»‹›
-auxiliary = [á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ]
+auxiliary = [á å ä ã ā ć ē í ì ī ij ñ ó ò ö õ ø ř š ſ ß ú ǔ]
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 = [\\- ‐ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
[numbers]
defaultNumberingSystem = latn
minimumGroupingDigits = 1
-decimal = .
+decimal = ,
exponential = E
-group =  
+group =  
infinity = ∞
list = ;
minusSign = -
@@ -186,4 +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
+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
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 859b61c2c9a..32a85c0a354 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.981
-date = 2021-09-29
+version = 0.982
+date = 2022-05-14
name.local = français
name.english = French
name.babel = french-luxembourg french-lu
@@ -161,14 +161,14 @@ preexhyphenchar =
postexhyphenchar =
hyphenationmin =
; The syntax is liable to change in 'other' values
-hyphenate.other.locale = "27
+hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
-auxiliary = [á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ]
+auxiliary = [á å ä ã ā ć ē í ì ī ij ñ ó ò ö õ ø ř š ſ ß ú ǔ]
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 = [\\- ‐ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
[numbers]
defaultNumberingSystem = latn
@@ -186,4 +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
+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
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 fed6ec4cad8..3c297a63424 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.98
-date = 2020-06-30
+version = 0.981
+date = 2022-05-14
name.local = français
name.english = French
name.babel = french
@@ -164,17 +164,17 @@ hyphenate.other.locale = "27
[characters]
delimiters.quotes = «»«»
-auxiliary = [á å ä ã ā ē í ì ī ñ ó ò ö ø ú ǔ]
+auxiliary = [á å ä ã ā ć ē í ì ī ij ñ ó ò ö õ ø ř š ſ ß ú ǔ]
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 = [\\- ‐ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ’ \" “ ” « » ( ) \\[ \\] § @ * / \\& # † ‡]
[numbers]
defaultNumberingSystem = latn
minimumGroupingDigits = 1
decimal = ,
exponential = E
-group =  
+group =  
infinity = ∞
list = ;
minusSign = -
@@ -185,4 +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
+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
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
index a6cf0879b27..6860238898f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-11-15
+version = 1.4
+date = 2022-05-17
name.english = Classic Latin
tag.bcp47 = la-x-classic
language.tag.bcp47 = la
@@ -20,6 +20,7 @@ tag.opentype = LAT
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+extension.x.tag.bcp47 = classic
level = 1
encodings = T1 OT1 LY1
derivate = no
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
index de282f1577a..72959e18dc2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-11-15
+version = 1.4
+date = 2022-05-17
name.english = Ecclesiastic Latin
tag.bcp47 = la-x-ecclesia
language.tag.bcp47 = la
@@ -20,6 +20,7 @@ tag.opentype = LAT
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+extension.x.tag.bcp47 = ecclesia
level = 1
encodings = T1 OT1 LY1
derivate = no
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
index c2a3fe36658..dff24c0e7c6 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-11-15
+version = 1.4
+date = 2022-05-17
name.english = Medieval Latin
tag.bcp47 = la-x-medieval
language.tag.bcp47 = la
@@ -20,6 +20,7 @@ tag.opentype = LAT
script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
+extension.x.tag.bcp47 = medieval
level = 1
encodings = T1 OT1 LY1
derivate = no
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini b/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
index 0e8874cad85..3c3c7441974 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-06-30
+version = 1.3
+date = 2022-05-11
name.local = lietuvių
name.english = Lithuanian
name.babel = lithuanian
@@ -33,46 +33,56 @@ preface = Pratarmė
ref = Literatūra
abstract = Santrauka
bib = Literatūra
+chapter.template = [chapter][ ][[chapter]]
chapter = skyrius
-appendix = Priedas
+appendix.template = [chapter][ ][[appendix]]
+appendix = priedas
contents = Turinys
listfigure = Iliustracijų sąrašas
listtable = Lentelių sąrašas
index = Rodyklė
+figure.template = [figure][ ][[figure]]
figure = pav.
+table.template = [table][ ][[table]]
table = lentelė
-part = Dalis
+part.template = [part][ ][[part]]
+part = dalis
encl = Įdėta
cc = Kopijos
headto =
page = puslapis
see = žiūrėk
also = taip pat
-proof =
-glossary =
+proof = Įrodymas
+glossary = Glosarijus
[captions.licr]
preface = Pratarm\.e
ref = Literat\=ura
abstract = Santrauka
bib = Literat\=ura
+chapter.template = [chapter][ ][[chapter]]
chapter = skyrius
-appendix = Priedas
+appendix.template = [chapter][ ][[appendix]]
+appendix = priedas
contents = Turinys
listfigure = Iliustracij\k u\space s\k ara\v sas
listtable = Lenteli\k u\space s\k ara\v sas
index = Rodykl\.e
+figure.template = [figure][ ][[figure]]
figure = pav.
+table.template = [table][ ][[table]]
table = lentel\.e
-part = Dalis
+part.template = [part][ ][[part]]
+part = dalis
encl = \k Id\.eta
cc = Kopijos
-headto\space=
+headto =
page = puslapis
see = \v zi\=ur\.ek
-also = taip\space pat
-proof =
-glossary =
+also = taip pat
+proof = \k Irodymas
+glossary = Glosarijus
[date.gregorian]
date.long = [y] m. [MMMM] [d] d.
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sr/babel-sr.ini b/Master/texmf-dist/tex/generic/babel/locale/sr/babel-sr.ini
index c0e4f1d9128..d78a179f9a2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sr/babel-sr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sr/babel-sr.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2021-04-24
+version = 1.5
+date = 2022-05-14
name.local = српски
name.english = Serbian
name.babel = serbian
@@ -74,6 +74,22 @@ also = \cyrv\cyri\cyrd\cyri\cyrt\cyra\cyrk\cyro\cyrdje\cyre
proof = \CYRD\cyro\cyrk\cyra\cyrz
glossary = \CYRR\cyre\cyrch\cyrn\cyri\cyrk
+[date.gregorian.Genitive]
+date.long = [d].[ ][MMMM] [y].
+date.short = [d].[M].[yy].
+months.wide.1 = јануара
+months.wide.2 = фебруара
+months.wide.3 = марта
+months.wide.4 = априла
+months.wide.5 = маја
+months.wide.6 = јуна
+months.wide.7 = јула
+months.wide.8 = августа
+months.wide.9 = септембра
+months.wide.10 = октобра
+months.wide.11 = новембра
+months.wide.12 = децембра
+
[date.gregorian]
date.long = [d].[ ][MMMM] [y].
date.short = [d].[M].[yy].
@@ -129,6 +145,20 @@ dayPeriods.narrow.pm = p
dayPeriods.wide.am = пре подне
dayPeriods.wide.pm = по подне
+[date.gregorian.Genitive.licr]
+months.wide.1 = \cyrje\cyra\cyrn\cyru\cyra\cyrr\cyra
+months.wide.2 = \cyrf\cyre\cyrb\cyrr\cyru\cyra\cyrr\cyra
+months.wide.3 = \cyrm\cyra\cyrr\cyrt\cyra
+months.wide.4 = \cyra\cyrp\cyrr\cyri\cyrl\cyra
+months.wide.5 = \cyrm\cyra\cyrje\cyra
+months.wide.6 = \cyrje\cyru\cyrn\cyra
+months.wide.7 = \cyrje\cyru\cyrl\cyra
+months.wide.8 = \cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra
+months.wide.9 = \cyrs\cyre\cyrp\cyrt\cyre\cyrm\cyrb\cyrr\cyra
+months.wide.10 = \cyro\cyrk\cyrt\cyro\cyrb\cyrr\cyra
+months.wide.11 = \cyrn\cyro\cyrv\cyre\cyrm\cyrb\cyrr\cyra
+months.wide.12 = \cyrd\cyre\cyrc\cyre\cyrm\cyrb\cyrr\cyra
+
[date.gregorian.licr]
months.wide.1 = \cyrje\cyra\cyrn\cyru\cyra\cyrr
months.wide.2 = \cyrf\cyre\cyrb\cyrr\cyru\cyra\cyrr
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 0e50fecfb07..ec6e736d941 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
@@ -13,8 +13,8 @@
[identification]
charset = utf8
-version = 1.10
-date = 2021-09-29
+version = 1.11
+date = 2022-05-10
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -37,7 +37,7 @@ abstract = 摘要
bib = 参考文献
chapter.template = [[prechapter]] [chapter] [[postchapter]]
prechapter = 第
-postchapter = 部分
+postchapter = 章
appendix = 附录
contents = 目录
listfigure = 插图
@@ -47,7 +47,7 @@ figure = 图
table = 表
part.template = [[prepart]] [part] [[postpart]]
prepart = 第
-postpart = 章
+postpart = 部分
encl =
cc =
headto =
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 a58adc3e5b2..fa12675a75d 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
@@ -13,8 +13,8 @@
[identification]
charset = utf8
-version = 1.10
-date = 2021-09-29
+version = 1.11
+date = 2022-05-10
name.local = 中文
name.english = Chinese
name.opentype = Chinese Simplified
@@ -38,7 +38,7 @@ abstract = 摘要
bib = 参考文献
chapter.template = [[prechapter]] [chapter] [[postchapter]]
prechapter = 第
-postchapter = 部分
+postchapter = 章
appendix = 附录
contents = 目录
listfigure = 插图
@@ -48,7 +48,7 @@ figure = 图
table = 表
part.template = [[prepart]] [part] [[postpart]]
prepart = 第
-postpart = 章
+postpart = 部分
encl =
cc =
headto =
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 3deb849a853..37360b98336 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -272,6 +272,15 @@
end
return has_bidi
end
+ function Babel.set_chranges_b (script, chrng)
+ if chrng == '' then return end
+ texio.write('Replacing ' .. script .. ' script ranges')
+ Babel.script_blocks[script] = {}
+ for s, e in string.gmatch(chrng..' ', '(.-)%.%.(.-)%s') do
+ table.insert(
+ Babel.script_blocks[script], {tonumber(s,16), tonumber(e,16)})
+ end
+ end
}
\endgroup
\ifx\newattribute\@undefined\else
@@ -1565,22 +1574,21 @@ end
% \(text|par)dir required in pgf:
\def\bbl@pictresetdir{\bodydir TRT\pardir TRT\textdir TRT\relax}%
\fi}%
- \ifx\AddToHook\@undefined\else
- \AddToHook{env/picture/begin}{\bbl@pictsetdir\tw@}%
- \directlua{
- Babel.get_picture_dir = true
- Babel.picture_has_bidi = 0
- %
- function Babel.picture_dir (head)
- if not Babel.get_picture_dir then return head end
- if Babel.hlist_has_bidi(head) then
- Babel.picture_has_bidi = 1
- end
- return head
+ \AddToHook{env/picture/begin}{\bbl@pictsetdir\tw@}%
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ %
+ function Babel.picture_dir (head)
+ if not Babel.get_picture_dir then return head end
+ if Babel.hlist_has_bidi(head) then
+ Babel.picture_has_bidi = 1
end
- luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
- "Babel.picture_dir")
- }%
+ return head
+ end
+ luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
+ "Babel.picture_dir")
+ }%
\AtBeginDocument{%
\long\def\put(#1,#2)#3{%
\@killglue
@@ -1595,7 +1603,7 @@ end
\setbox\z@\hb@xt@\z@{%
\@defaultunitsset\@tempdimc{#1}\unitlength
\kern\@tempdimc
- #3\hss}%
+ #3\hss}% TODO: #3 executed twice (below). That’s bad.
\edef\bbl@tempc{\directlua{tex.print(Babel.picture_has_bidi)}}%
\fi
% Do:
@@ -1605,35 +1613,26 @@ end
\kern\@tempdimc
{\ifnum\bbl@tempc>\z@\bbl@pictresetdir\fi#3}\hss}%
\ignorespaces}%
- \MakeRobust\put}%
- \fi
+ \MakeRobust\put}%
\AtBeginDocument
- {\ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
- \ifx\AddToHook\@undefined
- \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
- {\bbl@pictsetdir\z@\pgfpicturetrue}%
- \else
- \AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
- \fi
+ {\AddToHook{cmd/diagbox@pict/before}{\let\bbl@pictsetdir\@gobble}%
+ \ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
+ \AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
\bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
\fi
\ifx\tikzpicture\@undefined\else
- \ifx\AddToHook\@undefined\else
- \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
- \fi
+ \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
\bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
\bbl@sreplace\tikz{\begingroup}{\begingroup\bbl@pictsetdir\tw@}%
\fi
- \ifx\AddToHook\@undefined\else
- \ifx\tcolorbox\@undefined\else
- \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
- \bbl@sreplace\tcb@savebox
- {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
- \ifx\tikzpicture@tcb@hooked\@undefined\else
- \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
- {\textdir TLT\noexpand\tikzpicture}%
- \fi
+ \ifx\tcolorbox\@undefined\else
+ \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \bbl@sreplace\tcb@savebox
+ {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
+ \ifx\tikzpicture@tcb@hooked\@undefined\else
+ \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
+ {\textdir TLT\noexpand\tikzpicture}%
\fi
\fi
}}
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 8c8c69776ee..6e618b7f298 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -33,7 +33,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2022/04/30 3.74 Nil language]
+\ProvidesLanguage{nil}[2022/05/22 3.75 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
@@ -45,6 +45,33 @@
\providehyphenmins{\CurrentOption}{\m@ne\m@ne}
\let\captionsnil\@empty
\let\datenil\@empty
+\def\bbl@inidata@nil{%
+ \bbl@elt{identification}{tag.ini}{und}%
+ \bbl@elt{identification}{load.level}{0}%
+ \bbl@elt{identification}{charset}{utf8}%
+ \bbl@elt{identification}{version}{1.0}%
+ \bbl@elt{identification}{date}{2022-05-16}%
+ \bbl@elt{identification}{name.local}{nil}%
+ \bbl@elt{identification}{name.english}{nil}%
+ \bbl@elt{identification}{name.babel}{nil}%
+ \bbl@elt{identification}{tag.bcp47}{und}%
+ \bbl@elt{identification}{language.tag.bcp47}{und}%
+ \bbl@elt{identification}{tag.opentype}{dflt}%
+ \bbl@elt{identification}{script.name}{Latin}%
+ \bbl@elt{identification}{script.tag.bcp47}{Latn}%
+ \bbl@elt{identification}{script.tag.opentype}{DFLT}%
+ \bbl@elt{identification}{level}{1}%
+ \bbl@elt{identification}{encodings}{}%
+ \bbl@elt{identification}{derivate}{no}}
+\@namedef{bbl@tbcp@nil}{und}
+\@namedef{bbl@lbcp@nil}{und}
+\@namedef{bbl@lotf@nil}{dflt}
+\@namedef{bbl@elname@nil}{nil}
+\@namedef{bbl@lname@nil}{nil}
+\@namedef{bbl@esname@nil}{Latin}
+\@namedef{bbl@sname@nil}{Latin}
+\@namedef{bbl@sbcp@nil}{Latn}
+\@namedef{bbl@sotf@nil}{Latn}
\ldf@finish{nil}
\endinput
%%