summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-06 20:28:50 +0000
committerKarl Berry <karl@freefriends.org>2022-06-06 20:28:50 +0000
commitb152ca763384663a7513005c110d134b6cab7bd1 (patch)
tree684da4bced78f90b7faf35fc1fec0fddfd8d4e54
parentf5c56d1fc35b553aad7d16f2f23dd7167d2e935c (diff)
babel (6jun22)
git-svn-id: svn://tug.org/texlive/trunk@63498 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md27
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin861855 -> 882541 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx474
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins5
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin796596 -> 822759 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex290
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex120
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex73
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def24
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty24
-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.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini185
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini42
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-eg.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-egypt.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iq.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iraq.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jo.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jordan.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lb.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lebanon.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-palestinianterritories.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-ps.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tn.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tunisia.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-americanenglish.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-australianenglish.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-britishenglish.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-canadianenglish.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-AU.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-CA.ini28
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-GB.ini12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-NZ.ini12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en-US.ini20
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/en/babel-en.ini10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CA.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-fr-CH.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canadianfrench.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-swissfrench.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ro/babel-moldavian.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro-MD.ini186
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-md.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-moldova.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
53 files changed, 2625 insertions, 136 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 2342ebae59d..6b2fb1b2401 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.75
+## Babel 3.76
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.75 are described in:
+Changes in version 3.76 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.75.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.76.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -46,20 +46,13 @@ respective authors.
### Summary of latest changes
```
-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:
- - 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`.
+3.76 2022-06-06
+ * Calendar conversion with a new macro \babelcalendar: hebrew,
+ islamic-civil, islamic-umalqura, persian.
+ * Added 6 locales for Arabic: Egypt, Iraq, Jordan, Lebanon,
+ Palestinian Territories, Tunisia.
+ * More updates to CLDR 4.1: French, English, Moldavian and
+ Arabic.
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 52960c988be..4585e8ca836 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 6bc32b0c7b9..4d1fec7dcda 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/05/22 v3.75 The Babel package]
+\ProvidesFile{babel.dtx}[2022/06/06 v3.76 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -2850,7 +2850,7 @@ date corresponding to the Gregorian calendar and other lunisolar systems
with the following command.
\Describe{\localedate}{\oarg{calendar=.., variant=..}%
- {\marg{year}\m{month}\m{day}}}
+ {\marg{year}\marg{month}\marg{day}}}
By default the calendar is the Gregorian, but an |ini| file may define
strings for other calendars (currently |ar|, |ar-|*, |he|, |fa|, |hi|).
@@ -2863,6 +2863,20 @@ Even with a certain calendar there may be variants. In Kurmanji the
default variant prints something like \textit{30. Çileya Pêşîn 2019},
but with |variant=izafa| it prints \textit{31’ê Çileya Pêşînê 2019}.
+\Describe{\babelcalendar}{\oarg{date}%
+ \marg{calendar}\marg{year-macro}\m{month-macro}\m{day-macro}}
+
+\New{3.76} Although calendars aren’t the primary concern of \babel, the
+package should be able to, at least, generate correctly the current
+date in the way users would expect in their own culture. Currently,
+|\localedate| can print dates in a few calendars (provided the
+\textsf{ini} locale file has been imported), but year, month and day
+had to be entered by hand, which is very inconvenient. With this macro,
+the current date is converted and stored in the three last arguments,
+which must be macros. The optional argument converts the given date, in
+the form ‘\m{year}-\m{month}-\m{day}’. Please, refer to the page on the
+news for 3.76 in the \babel{} site for further details.
+
\subsection{Accessing language info}
\Describe{\languagename}{}
@@ -5143,8 +5157,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.75>>
-%<<date=2022/05/22>>
+%<<version=3.76>>
+%<<date=2022/06/06>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -9682,6 +9696,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@KVP@Alph\@nil
\let\bbl@KVP@labels\@nil
\bbl@csarg\let{KVP@labels*}\@nil
+ \let\bbl@calendars\@empty
\global\let\bbl@inidata\@empty
\global\let\bbl@extend@ini\@gobble
\gdef\bbl@key@list{;}%
@@ -10018,6 +10033,14 @@ help from Bernd Raichle, for which I am grateful.
\let\atcatcode\relax
\global\bbl@csarg\let{rqtex@\languagename}\relax
\fi}%
+ \bbl@foreach\bbl@calendars{%
+ \bbl@ifunset{bbl@ca@##1}{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \InputIfFileExists{babel-ca-##1.tex}{}{}%
+ \catcode`\@=\atcatcode
+ \let\atcatcode\relax}%
+ {}}%
\fi
% == frenchspacing ==
\ifcase\bbl@howloaded\in@true\else\in@false\fi
@@ -10281,7 +10304,9 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@section{##1}%
\in@{=date.}{=##1}% Find a better place
\ifin@
- \bbl@ini@calendar{##1}%
+ \bbl@ifunset{bbl@inikv@##1}%
+ {\bbl@ini@calendar{##1}}%
+ {}%
\fi
\in@{=identification/extension.}{=##1/##2}%
\ifin@
@@ -10325,7 +10350,7 @@ help from Bernd Raichle, for which I am grateful.
\bbl@endcommands}
% \end{macrocode}
%
-% A somewhat hackish tool to handle calendar sections. To be improved.
+% A somewhat hackish tool to handle calendar sections. TODO. To be improved.
%
% \begin{macrocode}
\def\bbl@ini@calendar#1{%
@@ -10342,6 +10367,9 @@ help from Bernd Raichle, for which I am grateful.
\fi
\ifx\bbl@tempa\relax\else
\bbl@replace\bbl@tempa{=}{}%
+ \ifx\bbl@tempa\@empty\else
+ \xdef\bbl@calendars{,\bbl@tempa}%
+ \fi
\bbl@exp{%
\def\<bbl@inikv@#1>####1####2{%
\\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}%
@@ -10753,6 +10781,8 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\let\bbl@calendar\@empty
+\newcommand\babelcalendar[2][\the\year-\the\month-\the\day]{%
+ \@nameuse{bbl@ca@#2}#1\@@}
\newcommand\BabelDateSpace{\nobreakspace}
\newcommand\BabelDateDot{.\@} % TODO. \let instead of repeating
\newcommand\BabelDated[1]{{\number#1}}
@@ -22685,6 +22715,438 @@ Babel.cjk_breaks = {
%</nil>
% \end{macrocode}
%
+% \section{Calendars}
+%
+% The code for specific calendars are placed in the
+% specific files, loaded when requested by an |ini| file in the
+% |identification| section with |require.calendars|.
+%
+% \subsection{Islamic}
+%
+% Start with function to compute the Julian day. It’s based on the
+% little library |calendar.js|, by John Walker, in the public domain.
+% The code for the Civil calendar is based on it, too.
+%
+% \begin{macrocode}
+%<*ca-islamic>
+\ExplSyntaxOn
+\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
+\def\bbl@cs@gregleap#1{%
+ (\bbl@fpmod{#1}{4} == 0) &&
+ (!((\bbl@fpmod{#1}{100} == 0) && (\bbl@fpmod{#1}{400} != 0)))}
+\def\bbl@ca@jd#1#2#3{% year, month, day
+ \fp_eval:n{ 1721424.5 + (365 * (#1 - 1)) +
+ floor((#1 - 1) / 4) + (-floor((#1 - 1) / 100)) +
+ floor((#1 - 1) / 400) + floor((((367 * #2) - 362) / 12) +
+ ((#2 <= 2) ? 0 : (\bbl@cs@gregleap{#1} ? -1 : -2)) + #3) }}
+% == islamic (default)
+% Not yet implemented
+\def\bbl@ca@islamic#1-#2-#3\@@#4#5#6{}
+% \end{macrocode}
+%
+% The Civil calendar.
+%
+% \begin{macrocode}
+\def\bbl@cs@isltojd#1#2#3{ % year, month, day
+ ((#3 + ceil(29.5 * (#2 - 1)) +
+ (#1 - 1) * 354 + floor((3 + (11 * #1)) / 30) +
+ 1948439.5) - 1) }
+\@namedef{bbl@ca@islamic-civil++}{\bbl@ca@islamicvl@x{+2}}
+\@namedef{bbl@ca@islamic-civil+}{\bbl@ca@islamicvl@x{+1}}
+\@namedef{bbl@ca@islamic-civil}{\bbl@ca@islamicvl@x{}}
+\@namedef{bbl@ca@islamic-civil-}{\bbl@ca@islamicvl@x{-1}}
+\@namedef{bbl@ca@islamic-civil--}{\bbl@ca@islamicvl@x{-2}}
+\def\bbl@ca@islamicvl@x#1#2-#3-#4\@@#5#6#7{%
+ \edef\bbl@tempa{%
+ \fp_eval:n{ floor(\bbl@ca@jd{#2}{#3}{#4})+0.5 #1}}%
+ \edef#5{%
+ \fp_eval:n{ floor(((30*(\bbl@tempa-1948439.5)) + 10646)/10631) }}%
+ \edef#6{\fp_eval:n{
+ min(12,ceil((\bbl@tempa-(29+\bbl@cs@isltojd{#5}{1}{1}))/29.5)+1) }}%
+ \edef#7{\fp_eval:n{ \bbl@tempa - \bbl@cs@isltojd{#5}{#6}{1} + 1} }}
+% \end{macrocode}
+%
+% The Umm al-Qura calendar, used mainly in Saudi Arabia, is based
+% on \textsf{moment-hijri}, by Abdullah Alsigar (license MIT).
+%
+% Since the main aim is to provide a suitable |\today|, and maybe some
+% close dates, data just covers Hijri $\sim$1435/$\sim$1460 (Gregorian
+% $\sim$2014/$\sim$2038).
+%
+% \begin{macrocode}
+\def\bbl@ca@umalqura@data{56660, 56690,56719,56749,56778,56808,%
+ 56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,%
+ 57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,%
+ 57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,%
+ 57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,%
+ 58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,%
+ 58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,%
+ 58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,%
+ 58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,%
+ 59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,%
+ 59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,%
+ 59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,%
+ 60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,%
+ 60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,%
+ 60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,%
+ 60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,%
+ 61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,%
+ 61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,%
+ 61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,%
+ 62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,%
+ 62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,%
+ 62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,%
+ 63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,%
+ 63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,%
+ 63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,%
+ 63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,%
+ 64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,%
+ 64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,%
+ 64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,%
+ 65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,%
+ 65401,65431,65460,65490,65520}
+\@namedef{bbl@ca@islamic-umalqura+}{\bbl@ca@islamcuqr@x{+1}}
+\@namedef{bbl@ca@islamic-umalqura}{\bbl@ca@islamcuqr@x{}}
+\@namedef{bbl@ca@islamic-umalqura-}{\bbl@ca@islamcuqr@x{-1}}
+\def\bbl@ca@islamcuqr@x#1#2-#3-#4\@@#5#6#7{%
+ \ifnum#2>2014 \ifnum#2<2038
+ \bbl@afterfi\expandafter\@gobble
+ \fi\fi
+ {\bbl@error{Year~out~of~range}{The~allowed~range~is~2014-2038}}%
+ \edef\bbl@tempd{\fp_eval:n{ % (Julian) day
+ \bbl@ca@jd{#2}{#3}{#4} + 0.5 - 2400000 #1}}%
+ \count@\@ne
+ \bbl@foreach\bbl@ca@umalqura@data{%
+ \advance\count@\@ne
+ \ifnum##1>\bbl@tempd\else
+ \edef\bbl@tempe{\the\count@}%
+ \edef\bbl@tempb{##1}%
+ \fi}%
+ \edef\bbl@templ{\fp_eval:n{ \bbl@tempe + 16260 + 949 }}% month~lunar
+ \edef\bbl@tempa{\fp_eval:n{ floor((\bbl@templ - 1 ) / 12) }}% annus
+ \edef#5{\fp_eval:n{ \bbl@tempa + 1 }}%
+ \edef#6{\fp_eval:n{ \bbl@templ - (12 * \bbl@tempa) }}%
+ \edef#7{\fp_eval:n{ \bbl@tempd - \bbl@tempb + 1 }}}
+\ExplSyntaxOff
+%</ca-islamic>
+% \end{macrocode}
+%
+% \section{Hebrew}
+%
+% This is basically the set of macros written by Michail Rozman in
+% 1991, with corrections and adaptions by Rama Porrat, Misha, Dan Haran
+% and Boris Lavva. This must be eventually replaced by computations
+% with \textsf{l3fp}.
+%
+% \begin{macrocode}
+%<*ca-hebrew>
+\newcount\bbl@cntcommon
+\def\bbl@remainder#1#2#3{%
+ #3 = #1 % c = a
+ \divide #3 by #2 % c = a/b
+ \multiply #3 by -#2 % c = -b(a/b)
+ \advance #3 by #1 }% % c = a - b(a/b)
+\newif\ifbbl@divisible
+\def\bbl@checkifdivisible#1#2{%
+ {\countdef\tmp = 0 % \tmp == \count0 - temporary variable
+ \bbl@remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0
+ \global\bbl@divisibletrue
+ \else
+ \global\bbl@divisiblefalse
+ \fi}}
+\newif\ifbbl@gregleap
+\def\bbl@ifgregleap#1{%
+ \bbl@checkifdivisible{#1}{4}%
+ \ifbbl@divisible
+ \bbl@checkifdivisible{#1}{100}%
+ \ifbbl@divisible
+ \bbl@checkifdivisible{#1}{400}%
+ \ifbbl@divisible
+ \bbl@gregleaptrue
+ \else
+ \bbl@gregleapfalse
+ \fi
+ \else
+ \bbl@gregleaptrue
+ \fi
+ \else
+ \bbl@gregleapfalse
+ \fi
+ \ifbbl@gregleap}
+\def\bbl@gregdayspriormonths#1#2#3{% no month number 0
+ {#3 = \ifcase #1 0 \or 0 \or 31 \or 59 \or 90 \or 120 \or 151 \or
+ 181 \or 212 \or 243 \or 273 \or 304 \or 334 \fi
+ \bbl@ifgregleap{#2}%
+ \ifnum #1 > 2 % if month after February
+ \advance #3 by 1 % add leap day
+ \fi
+ \fi
+ \global\bbl@cntcommon = #3}%
+ #3 = \bbl@cntcommon}
+\def\bbl@gregdaysprioryears#1#2{%
+ {\countdef\tmpc = 4 % \tmpc==\count4
+ \countdef\tmpb = 2 % \tmpb==\count2
+ \tmpb = #1 %
+ \advance \tmpb by -1 %
+ \tmpc = \tmpb % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365 % Days in prior years =
+ #2 = \tmpc % = 365*(year-1) ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 4 % \tmpc = (year-1)/4
+ \advance #2 by \tmpc % ... plus Julian leap days ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 100 % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc % ... minus century years ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 400 % \tmpc = (year-1)/400
+ \advance #2 by \tmpc % ... plus 4-century years.
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@absfromgreg#1#2#3#4{%
+ {\countdef\tmpd = 0 % \tmpd==\count0
+ #4 = #1 % days so far this month
+ \bbl@gregdayspriormonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd % add days in prior months
+ \bbl@gregdaysprioryears{#3}{\tmpd}%
+ \advance #4 by \tmpd % add days in prior years
+ \global\bbl@cntcommon = #4}%
+ #4 = \bbl@cntcommon}
+\newif\ifbbl@hebrleap
+\def\bbl@checkleaphebryear#1{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \tmpa = #1
+ \multiply \tmpa by 7
+ \advance \tmpa by 1
+ \bbl@remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7 % \tmpb = (7*year+1)%19
+ \global\bbl@hebrleaptrue
+ \else
+ \global\bbl@hebrleapfalse
+ \fi}}
+\def\bbl@hebrelapsedmonths#1#2{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \countdef\tmpc = 2 % \tmpc==\count2
+ \tmpa = #1 %
+ \advance \tmpa by -1 %
+ #2 = \tmpa % #2 = \tmpa = year-1
+ \divide #2 by 19 % Number of complete Meton cycles
+ \multiply #2 by 235 % #2 = 235*((year-1)/19)
+ \bbl@remainder{\tmpa}{19}{\tmpb}% \tmpa = years%19-years this cycle
+ \tmpc = \tmpb %
+ \multiply \tmpb by 12 %
+ \advance #2 by \tmpb % add regular months this cycle
+ \multiply \tmpc by 7 %
+ \advance \tmpc by 1 %
+ \divide \tmpc by 19 % \tmpc = (1+7*((year-1)%19))/19 -
+ \advance #2 by \tmpc % add leap months
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@hebrelapseddays#1#2{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \countdef\tmpc = 2 % \tmpc==\count2
+ \bbl@hebrelapsedmonths{#1}{#2}%
+ \tmpa = #2 %
+ \multiply \tmpa by 13753 %
+ \advance \tmpa by 5604 % \tmpa=MonthsElapsed*13758 + 5604
+ \bbl@remainder{\tmpa}{25920}{\tmpc}% \tmpc == ConjunctionParts
+ \divide \tmpa by 25920
+ \multiply #2 by 29
+ \advance #2 by 1
+ \advance #2 by \tmpa % #2 = 1 + MonthsElapsed*29 +
+ \bbl@remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440
+ \ifnum \tmpc < 9924
+ \else % New moon at 9 h. 204 p. or later
+ \ifnum \tmpa = 2 % on Tuesday ...
+ \bbl@checkleaphebryear{#1}% of a common year
+ \ifbbl@hebrleap
+ \else
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \ifnum \tmpc < 16789
+ \else % New moon at 15 h. 589 p. or later
+ \ifnum \tmpa = 1 % on Monday ...
+ \advance #1 by -1
+ \bbl@checkleaphebryear{#1}% at the end of leap year
+ \ifbbl@hebrleap
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \else
+ \advance #2 by 1 % new moon at or after midday
+ \fi
+ \bbl@remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0 % if Sunday ...
+ \advance #2 by 1
+ \else %
+ \ifnum \tmpa = 3 % Wednesday ...
+ \advance #2 by 1
+ \else
+ \ifnum \tmpa = 5 % or Friday
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@daysinhebryear#1#2{%
+ {\countdef\tmpe = 12 % \tmpe==\count12
+ \bbl@hebrelapseddays{#1}{\tmpe}%
+ \advance #1 by 1
+ \bbl@hebrelapseddays{#1}{#2}%
+ \advance #2 by -\tmpe
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@hebrdayspriormonths#1#2#3{%
+ {\countdef\tmpf= 14 % \tmpf==\count14
+ #3 = \ifcase #1 % Days in prior month of regular year
+ 0 \or % no month number 0
+ 0 \or % Tishri
+ 30 \or % Heshvan
+ 59 \or % Kislev
+ 89 \or % Tebeth
+ 118 \or % Shebat
+ 148 \or % Adar I
+ 148 \or % Adar II
+ 177 \or % Nisan
+ 207 \or % Iyar
+ 236 \or % Sivan
+ 266 \or % Tammuz
+ 295 \or % Av
+ 325 \or % Elul
+ 400 % Dummy
+ \fi
+ \bbl@checkleaphebryear{#2}%
+ \ifbbl@hebrleap % in leap year
+ \ifnum #1 > 6 % if month after Adar I
+ \advance #3 by 30 % add 30 days
+ \fi
+ \fi
+ \bbl@daysinhebryear{#2}{\tmpf}%
+ \ifnum #1 > 3
+ \ifnum \tmpf = 353 %
+ \advance #3 by -1 %
+ \fi % Short Kislev
+ \ifnum \tmpf = 383 %
+ \advance #3 by -1 %
+ \fi %
+ \fi
+ \ifnum #1 > 2
+ \ifnum \tmpf = 355 %
+ \advance #3 by 1 %
+ \fi % Long Heshvan
+ \ifnum \tmpf = 385 %
+ \advance #3 by 1 %
+ \fi %
+ \fi
+ \global\bbl@cntcommon = #3}%
+ #3 = \bbl@cntcommon}
+\def\bbl@absfromhebr#1#2#3#4{%
+ {#4 = #1
+ \bbl@hebrdayspriormonths{#2}{#3}{#1}%
+ \advance #4 by #1 % Add days in prior months this year
+ \bbl@hebrelapseddays{#3}{#1}%
+ \advance #4 by #1 % Add days in prior years
+ \advance #4 by -1373429 % Subtract days before Gregorian
+ \global\bbl@cntcommon = #4}% % 01.01.0001
+ #4 = \bbl@cntcommon}
+\def\bbl@hebrfromgreg#1#2#3#4#5#6{%
+ {\countdef\tmpx= 17 % \tmpx==\count17
+ \countdef\tmpy= 18 % \tmpy==\count18
+ \countdef\tmpz= 19 % \tmpz==\count19
+ #6 = #3 %
+ \global\advance #6 by 3761 % approximation from above
+ \bbl@absfromgreg{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1
+ \bbl@absfromhebr{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4 %
+ \global\advance #6 by -1 % Hyear = Gyear + 3760
+ \bbl@absfromhebr{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi %
+ \advance #4 by -\tmpx % Days in this year
+ \advance #4 by 1 %
+ #5 = #4 %
+ \divide #5 by 30 % Approximation for month from below
+ \loop % Search for month
+ \bbl@hebrdayspriormonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4
+ \advance #5 by 1
+ \tmpy = \tmpx
+ \repeat
+ \global\advance #5 by -1
+ \global\advance #4 by -\tmpy}}
+\newcount\bbl@hebrday \newcount\bbl@hebrmonth \newcount\bbl@hebryear
+\newcount\bbl@gregday \newcount\bbl@gregmonth \newcount\bbl@gregyear
+%
+\def\bbl@ca@hebrew#1-#2-#3\@@#4#5#6{%
+ \bbl@gregday=#3 \bbl@gregmonth=#2 \bbl@gregyear=#1
+ \bbl@hebrfromgreg
+ {\bbl@gregday}{\bbl@gregmonth}{\bbl@gregyear}%
+ {\bbl@hebrday}{\bbl@hebrmonth}{\bbl@hebryear}%
+ \edef#4{\the\bbl@hebryear}%
+ \edef#5{\the\bbl@hebrmonth}%
+ \edef#6{\the\bbl@hebrday}}
+%</ca-hebrew>
+% \end{macrocode}
+%
+% \section{Persian}
+%
+% There is an algorithm written in TeX by Jabri, Abolhassani, Pournader
+% and Esfahbod, created for the first versions of the FarsiTeX system
+% (no longer available), but the original license is GPL, so its use
+% with LPPL is problematic. The code here follows loosely that by John
+% Walker, which is free and accurate, but sadly very complex, so
+% the relevant data for the years 2013-2050 have been pre-calculated
+% and stored. Actually, all we need is the first day (either March 20 or
+% March 21).
+%
+% \begin{macrocode}
+%<*ca-persian>
+\ExplSyntaxOn
+\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
+\def\bbl@cs@gregleap#1{%
+ (\bbl@fpmod{#1}{4} == 0) &&
+ (!((\bbl@fpmod{#1}{100} == 0) && (\bbl@fpmod{#1}{400} != 0)))}
+\def\bbl@ca@jd#1#2#3{% year, month, day
+ \fp_eval:n{ 1721424.5 + (365 * (#1 - 1)) +
+ floor((#1 - 1) / 4) + (-floor((#1 - 1) / 100)) +
+ floor((#1 - 1) / 400) + floor((((367 * #2) - 362) / 12) +
+ ((#2 <= 2) ? 0 : (\bbl@cs@gregleap{#1} ? -1 : -2)) + #3) }}
+\def\bbl@ca@firstjal@xx{2012,2016,2020,2024,2028,2029,% March 20
+ 2032,2033,2036,2037,2040,2041,2044,2045,2048,2049}
+\def\bbl@ca@persian#1-#2-#3\@@#4#5#6{%
+ \edef\bbl@tempa{#1}% 20XX-03-\bbl@tempe = 1 farvardin:
+ \ifnum\bbl@tempa>2012 \ifnum\bbl@tempa<2051
+ \bbl@afterfi\expandafter\@gobble
+ \fi\fi
+ {\bbl@error{Year~out~of~range}{The~allowed~range~is~2013-2050}}%
+ \bbl@xin@{\bbl@tempa}{\bbl@ca@firstjal@xx}%
+ \ifin@\def\bbl@tempe{20}\else\def\bbl@tempe{21}\fi
+ \edef\bbl@tempc{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{#2}{#3}+.5}}% current
+ \edef\bbl@tempb{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{03}{\bbl@tempe}+.5}}% begin
+ \ifnum\bbl@tempc<\bbl@tempb
+ \edef\bbl@tempa{\fp_eval:n{\bbl@tempa-1}}% go back 1 year and redo
+ \bbl@xin@{\bbl@tempa}{\bbl@ca@firstjal@xx}%
+ \ifin@\def\bbl@tempe{20}\else\def\bbl@tempe{21}\fi
+ \edef\bbl@tempb{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{03}{\bbl@tempe}+.5}}%
+ \fi
+ \edef#4{\fp_eval:n{\bbl@tempa-621}}% set Jalali year
+ \edef#6{\fp_eval:n{\bbl@tempc-\bbl@tempb+1}}% days from 1 farvardin
+ \edef#5{\fp_eval:n{% set Jalali month
+ (#6 <= 186) ? ceil(#6 / 31) : ceil((#6 - 6) / 30)}}
+ \edef#6{\fp_eval:n{% set Jalali day
+ (#6 - ((#5 <= 7) ? ((#5 - 1) * 31) : (((#5 - 1) * 30) + 6)))}}}
+\ExplSyntaxOff
+%</ca-persian>
+% \end{macrocode}
+%
% \section{Support for Plain \TeX\ (\texttt{plain.def})}
%
% \subsection{Not renaming \file{hyphen.tex}}
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 188056d2277..6988ba0b041 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/05/22}
+\def\filedate{2022/06/06}
\def\batchfile{babel.ins}
\input docstrip.tex
@@ -135,6 +135,9 @@
\file{switch.def}{\from{babel.dtx}{kernel}}
\file{hyphen.cfg}{\from{babel.dtx}{patterns}}
\file{nil.ldf}{\from{babel.dtx}{nil}}
+ \file{babel-ca-hebrew.tex}{\from{babel.dtx}{ca-hebrew}}
+ \file{babel-ca-islamic.tex}{\from{babel.dtx}{ca-islamic}}
+ \file{babel-ca-persian.tex}{\from{babel.dtx}{ca-persian}}
\file{xebabel.def}{\from{babel.dtx}{xetex}}
\file{luababel.def}{\from{babel.dtx}{luatex}}
\file{txtbabel.def}{\from{babel.dtx}{texxet}}
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index 725de441f26..eeb5593f435 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/05/22 v3.75]
+\ProvidesFile{bbcompat.dtx}[2022/06/06 v3.76]
%</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 fb753161f64..40265b1fd14 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-ca-hebrew.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
new file mode 100644
index 00000000000..8e9b4b7a232
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
@@ -0,0 +1,290 @@
+%%
+%% This is file `babel-ca-hebrew.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babel.dtx (with options: `ca-hebrew')
+%%
+%%
+%% Copyright (C) 2012-2022 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 1989-2012 Johannes L. Braams and
+%% any individual authors listed elsewhere in this file.
+%% All rights reserved.
+%%
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Javier Bezos.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension |.ins|) which are part of the distribution.
+%%
+
+\newcount\bbl@cntcommon
+\def\bbl@remainder#1#2#3{%
+ #3 = #1 % c = a
+ \divide #3 by #2 % c = a/b
+ \multiply #3 by -#2 % c = -b(a/b)
+ \advance #3 by #1 }% % c = a - b(a/b)
+\newif\ifbbl@divisible
+\def\bbl@checkifdivisible#1#2{%
+ {\countdef\tmp = 0 % \tmp == \count0 - temporary variable
+ \bbl@remainder{#1}{#2}{\tmp}%
+ \ifnum \tmp = 0
+ \global\bbl@divisibletrue
+ \else
+ \global\bbl@divisiblefalse
+ \fi}}
+\newif\ifbbl@gregleap
+\def\bbl@ifgregleap#1{%
+ \bbl@checkifdivisible{#1}{4}%
+ \ifbbl@divisible
+ \bbl@checkifdivisible{#1}{100}%
+ \ifbbl@divisible
+ \bbl@checkifdivisible{#1}{400}%
+ \ifbbl@divisible
+ \bbl@gregleaptrue
+ \else
+ \bbl@gregleapfalse
+ \fi
+ \else
+ \bbl@gregleaptrue
+ \fi
+ \else
+ \bbl@gregleapfalse
+ \fi
+ \ifbbl@gregleap}
+\def\bbl@gregdayspriormonths#1#2#3{% no month number 0
+ {#3 = \ifcase #1 0 \or 0 \or 31 \or 59 \or 90 \or 120 \or 151 \or
+ 181 \or 212 \or 243 \or 273 \or 304 \or 334 \fi
+ \bbl@ifgregleap{#2}%
+ \ifnum #1 > 2 % if month after February
+ \advance #3 by 1 % add leap day
+ \fi
+ \fi
+ \global\bbl@cntcommon = #3}%
+ #3 = \bbl@cntcommon}
+\def\bbl@gregdaysprioryears#1#2{%
+ {\countdef\tmpc = 4 % \tmpc==\count4
+ \countdef\tmpb = 2 % \tmpb==\count2
+ \tmpb = #1 %
+ \advance \tmpb by -1 %
+ \tmpc = \tmpb % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365 % Days in prior years =
+ #2 = \tmpc % = 365*(year-1) ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 4 % \tmpc = (year-1)/4
+ \advance #2 by \tmpc % ... plus Julian leap days ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 100 % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc % ... minus century years ...
+ \tmpc = \tmpb %
+ \divide \tmpc by 400 % \tmpc = (year-1)/400
+ \advance #2 by \tmpc % ... plus 4-century years.
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@absfromgreg#1#2#3#4{%
+ {\countdef\tmpd = 0 % \tmpd==\count0
+ #4 = #1 % days so far this month
+ \bbl@gregdayspriormonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd % add days in prior months
+ \bbl@gregdaysprioryears{#3}{\tmpd}%
+ \advance #4 by \tmpd % add days in prior years
+ \global\bbl@cntcommon = #4}%
+ #4 = \bbl@cntcommon}
+\newif\ifbbl@hebrleap
+\def\bbl@checkleaphebryear#1{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \tmpa = #1
+ \multiply \tmpa by 7
+ \advance \tmpa by 1
+ \bbl@remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7 % \tmpb = (7*year+1)%19
+ \global\bbl@hebrleaptrue
+ \else
+ \global\bbl@hebrleapfalse
+ \fi}}
+\def\bbl@hebrelapsedmonths#1#2{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \countdef\tmpc = 2 % \tmpc==\count2
+ \tmpa = #1 %
+ \advance \tmpa by -1 %
+ #2 = \tmpa % #2 = \tmpa = year-1
+ \divide #2 by 19 % Number of complete Meton cycles
+ \multiply #2 by 235 % #2 = 235*((year-1)/19)
+ \bbl@remainder{\tmpa}{19}{\tmpb}% \tmpa = years%19-years this cycle
+ \tmpc = \tmpb %
+ \multiply \tmpb by 12 %
+ \advance #2 by \tmpb % add regular months this cycle
+ \multiply \tmpc by 7 %
+ \advance \tmpc by 1 %
+ \divide \tmpc by 19 % \tmpc = (1+7*((year-1)%19))/19 -
+ \advance #2 by \tmpc % add leap months
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@hebrelapseddays#1#2{%
+ {\countdef\tmpa = 0 % \tmpa==\count0
+ \countdef\tmpb = 1 % \tmpb==\count1
+ \countdef\tmpc = 2 % \tmpc==\count2
+ \bbl@hebrelapsedmonths{#1}{#2}%
+ \tmpa = #2 %
+ \multiply \tmpa by 13753 %
+ \advance \tmpa by 5604 % \tmpa=MonthsElapsed*13758 + 5604
+ \bbl@remainder{\tmpa}{25920}{\tmpc}% \tmpc == ConjunctionParts
+ \divide \tmpa by 25920
+ \multiply #2 by 29
+ \advance #2 by 1
+ \advance #2 by \tmpa % #2 = 1 + MonthsElapsed*29 +
+ \bbl@remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440
+ \ifnum \tmpc < 9924
+ \else % New moon at 9 h. 204 p. or later
+ \ifnum \tmpa = 2 % on Tuesday ...
+ \bbl@checkleaphebryear{#1}% of a common year
+ \ifbbl@hebrleap
+ \else
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \ifnum \tmpc < 16789
+ \else % New moon at 15 h. 589 p. or later
+ \ifnum \tmpa = 1 % on Monday ...
+ \advance #1 by -1
+ \bbl@checkleaphebryear{#1}% at the end of leap year
+ \ifbbl@hebrleap
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \else
+ \advance #2 by 1 % new moon at or after midday
+ \fi
+ \bbl@remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0 % if Sunday ...
+ \advance #2 by 1
+ \else %
+ \ifnum \tmpa = 3 % Wednesday ...
+ \advance #2 by 1
+ \else
+ \ifnum \tmpa = 5 % or Friday
+ \advance #2 by 1
+ \fi
+ \fi
+ \fi
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@daysinhebryear#1#2{%
+ {\countdef\tmpe = 12 % \tmpe==\count12
+ \bbl@hebrelapseddays{#1}{\tmpe}%
+ \advance #1 by 1
+ \bbl@hebrelapseddays{#1}{#2}%
+ \advance #2 by -\tmpe
+ \global\bbl@cntcommon = #2}%
+ #2 = \bbl@cntcommon}
+\def\bbl@hebrdayspriormonths#1#2#3{%
+ {\countdef\tmpf= 14 % \tmpf==\count14
+ #3 = \ifcase #1 % Days in prior month of regular year
+ 0 \or % no month number 0
+ 0 \or % Tishri
+ 30 \or % Heshvan
+ 59 \or % Kislev
+ 89 \or % Tebeth
+ 118 \or % Shebat
+ 148 \or % Adar I
+ 148 \or % Adar II
+ 177 \or % Nisan
+ 207 \or % Iyar
+ 236 \or % Sivan
+ 266 \or % Tammuz
+ 295 \or % Av
+ 325 \or % Elul
+ 400 % Dummy
+ \fi
+ \bbl@checkleaphebryear{#2}%
+ \ifbbl@hebrleap % in leap year
+ \ifnum #1 > 6 % if month after Adar I
+ \advance #3 by 30 % add 30 days
+ \fi
+ \fi
+ \bbl@daysinhebryear{#2}{\tmpf}%
+ \ifnum #1 > 3
+ \ifnum \tmpf = 353 %
+ \advance #3 by -1 %
+ \fi % Short Kislev
+ \ifnum \tmpf = 383 %
+ \advance #3 by -1 %
+ \fi %
+ \fi
+ \ifnum #1 > 2
+ \ifnum \tmpf = 355 %
+ \advance #3 by 1 %
+ \fi % Long Heshvan
+ \ifnum \tmpf = 385 %
+ \advance #3 by 1 %
+ \fi %
+ \fi
+ \global\bbl@cntcommon = #3}%
+ #3 = \bbl@cntcommon}
+\def\bbl@absfromhebr#1#2#3#4{%
+ {#4 = #1
+ \bbl@hebrdayspriormonths{#2}{#3}{#1}%
+ \advance #4 by #1 % Add days in prior months this year
+ \bbl@hebrelapseddays{#3}{#1}%
+ \advance #4 by #1 % Add days in prior years
+ \advance #4 by -1373429 % Subtract days before Gregorian
+ \global\bbl@cntcommon = #4}% % 01.01.0001
+ #4 = \bbl@cntcommon}
+\def\bbl@hebrfromgreg#1#2#3#4#5#6{%
+ {\countdef\tmpx= 17 % \tmpx==\count17
+ \countdef\tmpy= 18 % \tmpy==\count18
+ \countdef\tmpz= 19 % \tmpz==\count19
+ #6 = #3 %
+ \global\advance #6 by 3761 % approximation from above
+ \bbl@absfromgreg{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1
+ \bbl@absfromhebr{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4 %
+ \global\advance #6 by -1 % Hyear = Gyear + 3760
+ \bbl@absfromhebr{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi %
+ \advance #4 by -\tmpx % Days in this year
+ \advance #4 by 1 %
+ #5 = #4 %
+ \divide #5 by 30 % Approximation for month from below
+ \loop % Search for month
+ \bbl@hebrdayspriormonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4
+ \advance #5 by 1
+ \tmpy = \tmpx
+ \repeat
+ \global\advance #5 by -1
+ \global\advance #4 by -\tmpy}}
+\newcount\bbl@hebrday \newcount\bbl@hebrmonth \newcount\bbl@hebryear
+\newcount\bbl@gregday \newcount\bbl@gregmonth \newcount\bbl@gregyear
+\def\bbl@ca@hebrew#1-#2-#3\@@#4#5#6{%
+ \bbl@gregday=#3 \bbl@gregmonth=#2 \bbl@gregyear=#1
+ \bbl@hebrfromgreg
+ {\bbl@gregday}{\bbl@gregmonth}{\bbl@gregyear}%
+ {\bbl@hebrday}{\bbl@hebrmonth}{\bbl@hebryear}%
+ \edef#4{\the\bbl@hebryear}%
+ \edef#5{\the\bbl@hebrmonth}%
+ \edef#6{\the\bbl@hebrday}}
+\endinput
+%%
+%% End of file `babel-ca-hebrew.tex'.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
new file mode 100644
index 00000000000..98f88b5ad93
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
@@ -0,0 +1,120 @@
+%%
+%% This is file `babel-ca-islamic.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babel.dtx (with options: `ca-islamic')
+%%
+%%
+%% Copyright (C) 2012-2022 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 1989-2012 Johannes L. Braams and
+%% any individual authors listed elsewhere in this file.
+%% All rights reserved.
+%%
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Javier Bezos.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension |.ins|) which are part of the distribution.
+%%
+
+\ExplSyntaxOn
+\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
+\def\bbl@cs@gregleap#1{%
+ (\bbl@fpmod{#1}{4} == 0) &&
+ (!((\bbl@fpmod{#1}{100} == 0) && (\bbl@fpmod{#1}{400} != 0)))}
+\def\bbl@ca@jd#1#2#3{% year, month, day
+ \fp_eval:n{ 1721424.5 + (365 * (#1 - 1)) +
+ floor((#1 - 1) / 4) + (-floor((#1 - 1) / 100)) +
+ floor((#1 - 1) / 400) + floor((((367 * #2) - 362) / 12) +
+ ((#2 <= 2) ? 0 : (\bbl@cs@gregleap{#1} ? -1 : -2)) + #3) }}
+\def\bbl@ca@islamic#1-#2-#3\@@#4#5#6{}
+\def\bbl@cs@isltojd#1#2#3{ % year, month, day
+ ((#3 + ceil(29.5 * (#2 - 1)) +
+ (#1 - 1) * 354 + floor((3 + (11 * #1)) / 30) +
+ 1948439.5) - 1) }
+\@namedef{bbl@ca@islamic-civil++}{\bbl@ca@islamicvl@x{+2}}
+\@namedef{bbl@ca@islamic-civil+}{\bbl@ca@islamicvl@x{+1}}
+\@namedef{bbl@ca@islamic-civil}{\bbl@ca@islamicvl@x{}}
+\@namedef{bbl@ca@islamic-civil-}{\bbl@ca@islamicvl@x{-1}}
+\@namedef{bbl@ca@islamic-civil--}{\bbl@ca@islamicvl@x{-2}}
+\def\bbl@ca@islamicvl@x#1#2-#3-#4\@@#5#6#7{%
+ \edef\bbl@tempa{%
+ \fp_eval:n{ floor(\bbl@ca@jd{#2}{#3}{#4})+0.5 #1}}%
+ \edef#5{%
+ \fp_eval:n{ floor(((30*(\bbl@tempa-1948439.5)) + 10646)/10631) }}%
+ \edef#6{\fp_eval:n{
+ min(12,ceil((\bbl@tempa-(29+\bbl@cs@isltojd{#5}{1}{1}))/29.5)+1) }}%
+ \edef#7{\fp_eval:n{ \bbl@tempa - \bbl@cs@isltojd{#5}{#6}{1} + 1} }}
+\def\bbl@ca@umalqura@data{56660, 56690,56719,56749,56778,56808,%
+ 56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,%
+ 57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,%
+ 57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,%
+ 57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,%
+ 58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,%
+ 58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,%
+ 58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,%
+ 58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,%
+ 59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,%
+ 59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,%
+ 59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,%
+ 60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,%
+ 60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,%
+ 60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,%
+ 60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,%
+ 61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,%
+ 61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,%
+ 61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,%
+ 62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,%
+ 62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,%
+ 62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,%
+ 63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,%
+ 63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,%
+ 63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,%
+ 63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,%
+ 64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,%
+ 64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,%
+ 64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,%
+ 65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,%
+ 65401,65431,65460,65490,65520}
+\@namedef{bbl@ca@islamic-umalqura+}{\bbl@ca@islamcuqr@x{+1}}
+\@namedef{bbl@ca@islamic-umalqura}{\bbl@ca@islamcuqr@x{}}
+\@namedef{bbl@ca@islamic-umalqura-}{\bbl@ca@islamcuqr@x{-1}}
+\def\bbl@ca@islamcuqr@x#1#2-#3-#4\@@#5#6#7{%
+ \ifnum#2>2014 \ifnum#2<2038
+ \bbl@afterfi\expandafter\@gobble
+ \fi\fi
+ {\bbl@error{Year~out~of~range}{The~allowed~range~is~2014-2038}}%
+ \edef\bbl@tempd{\fp_eval:n{ % (Julian) day
+ \bbl@ca@jd{#2}{#3}{#4} + 0.5 - 2400000 #1}}%
+ \count@\@ne
+ \bbl@foreach\bbl@ca@umalqura@data{%
+ \advance\count@\@ne
+ \ifnum##1>\bbl@tempd\else
+ \edef\bbl@tempe{\the\count@}%
+ \edef\bbl@tempb{##1}%
+ \fi}%
+ \edef\bbl@templ{\fp_eval:n{ \bbl@tempe + 16260 + 949 }}% month~lunar
+ \edef\bbl@tempa{\fp_eval:n{ floor((\bbl@templ - 1 ) / 12) }}% annus
+ \edef#5{\fp_eval:n{ \bbl@tempa + 1 }}%
+ \edef#6{\fp_eval:n{ \bbl@templ - (12 * \bbl@tempa) }}%
+ \edef#7{\fp_eval:n{ \bbl@tempd - \bbl@tempb + 1 }}}
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `babel-ca-islamic.tex'.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
new file mode 100644
index 00000000000..3c6d90a36fc
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
@@ -0,0 +1,73 @@
+%%
+%% This is file `babel-ca-persian.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% babel.dtx (with options: `ca-persian')
+%%
+%%
+%% Copyright (C) 2012-2022 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 1989-2012 Johannes L. Braams and
+%% any individual authors listed elsewhere in this file.
+%% All rights reserved.
+%%
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Javier Bezos.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension |.ins|) which are part of the distribution.
+%%
+
+\ExplSyntaxOn
+\def\bbl@fpmod#1#2{(#1-#2*floor(#1/#2))}
+\def\bbl@cs@gregleap#1{%
+ (\bbl@fpmod{#1}{4} == 0) &&
+ (!((\bbl@fpmod{#1}{100} == 0) && (\bbl@fpmod{#1}{400} != 0)))}
+\def\bbl@ca@jd#1#2#3{% year, month, day
+ \fp_eval:n{ 1721424.5 + (365 * (#1 - 1)) +
+ floor((#1 - 1) / 4) + (-floor((#1 - 1) / 100)) +
+ floor((#1 - 1) / 400) + floor((((367 * #2) - 362) / 12) +
+ ((#2 <= 2) ? 0 : (\bbl@cs@gregleap{#1} ? -1 : -2)) + #3) }}
+\def\bbl@ca@firstjal@xx{2012,2016,2020,2024,2028,2029,% March 20
+ 2032,2033,2036,2037,2040,2041,2044,2045,2048,2049}
+\def\bbl@ca@persian#1-#2-#3\@@#4#5#6{%
+ \edef\bbl@tempa{#1}% 20XX-03-\bbl@tempe = 1 farvardin:
+ \ifnum\bbl@tempa>2012 \ifnum\bbl@tempa<2051
+ \bbl@afterfi\expandafter\@gobble
+ \fi\fi
+ {\bbl@error{Year~out~of~range}{The~allowed~range~is~2013-2050}}%
+ \bbl@xin@{\bbl@tempa}{\bbl@ca@firstjal@xx}%
+ \ifin@\def\bbl@tempe{20}\else\def\bbl@tempe{21}\fi
+ \edef\bbl@tempc{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{#2}{#3}+.5}}% current
+ \edef\bbl@tempb{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{03}{\bbl@tempe}+.5}}% begin
+ \ifnum\bbl@tempc<\bbl@tempb
+ \edef\bbl@tempa{\fp_eval:n{\bbl@tempa-1}}% go back 1 year and redo
+ \bbl@xin@{\bbl@tempa}{\bbl@ca@firstjal@xx}%
+ \ifin@\def\bbl@tempe{20}\else\def\bbl@tempe{21}\fi
+ \edef\bbl@tempb{\fp_eval:n{\bbl@ca@jd{\bbl@tempa}{03}{\bbl@tempe}+.5}}%
+ \fi
+ \edef#4{\fp_eval:n{\bbl@tempa-621}}% set Jalali year
+ \edef#6{\fp_eval:n{\bbl@tempc-\bbl@tempb+1}}% days from 1 farvardin
+ \edef#5{\fp_eval:n{% set Jalali month
+ (#6 <= 186) ? ceil(#6 / 31) : ceil((#6 - 6) / 30)}}
+ \edef#6{\fp_eval:n{% set Jalali day
+ (#6 - ((#5 <= 7) ? ((#5 - 1) * 31) : (((#5 - 1) * 30) + 6)))}}}
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `babel-ca-persian.tex'.
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 4ca1e0f6491..fcda966b804 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/05/22 3.75 Babel common definitions]
+\ProvidesFile{babel.def}[2022/06/06 3.76 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.75}
-\def\bbl@date{2022/05/22}
+\def\bbl@version{3.76}
+\def\bbl@date{2022/06/06}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2428,6 +2428,7 @@
\let\bbl@KVP@Alph\@nil
\let\bbl@KVP@labels\@nil
\bbl@csarg\let{KVP@labels*}\@nil
+ \let\bbl@calendars\@empty
\global\let\bbl@inidata\@empty
\global\let\bbl@extend@ini\@gobble
\gdef\bbl@key@list{;}%
@@ -2764,6 +2765,14 @@
\let\atcatcode\relax
\global\bbl@csarg\let{rqtex@\languagename}\relax
\fi}%
+ \bbl@foreach\bbl@calendars{%
+ \bbl@ifunset{bbl@ca@##1}{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \InputIfFileExists{babel-ca-##1.tex}{}{}%
+ \catcode`\@=\atcatcode
+ \let\atcatcode\relax}%
+ {}}%
\fi
% == frenchspacing ==
\ifcase\bbl@howloaded\in@true\else\in@false\fi
@@ -2979,7 +2988,9 @@
\def\bbl@section{##1}%
\in@{=date.}{=##1}% Find a better place
\ifin@
- \bbl@ini@calendar{##1}%
+ \bbl@ifunset{bbl@inikv@##1}%
+ {\bbl@ini@calendar{##1}}%
+ {}%
\fi
\in@{=identification/extension.}{=##1/##2}%
\ifin@
@@ -3029,6 +3040,9 @@
\fi
\ifx\bbl@tempa\relax\else
\bbl@replace\bbl@tempa{=}{}%
+ \ifx\bbl@tempa\@empty\else
+ \xdef\bbl@calendars{,\bbl@tempa}%
+ \fi
\bbl@exp{%
\def\<bbl@inikv@#1>####1####2{%
\\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}%
@@ -3339,6 +3353,8 @@
\fi}%
{}}}
\let\bbl@calendar\@empty
+\newcommand\babelcalendar[2][\the\year-\the\month-\the\day]{%
+ \@nameuse{bbl@ca@#2}#1\@@}
\newcommand\BabelDateSpace{\nobreakspace}
\newcommand\BabelDateDot{.\@} % TODO. \let instead of repeating
\newcommand\BabelDated[1]{{\number#1}}
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 1cb4eca5736..03b591a8c24 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/05/22 3.75 The Babel package]
+\ProvidesPackage{babel}[2022/06/06 3.76 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -459,8 +459,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.75}
-\def\bbl@date{2022/05/22}
+\def\bbl@version{3.76}
+\def\bbl@date{2022/06/06}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2481,6 +2481,7 @@
\let\bbl@KVP@Alph\@nil
\let\bbl@KVP@labels\@nil
\bbl@csarg\let{KVP@labels*}\@nil
+ \let\bbl@calendars\@empty
\global\let\bbl@inidata\@empty
\global\let\bbl@extend@ini\@gobble
\gdef\bbl@key@list{;}%
@@ -2817,6 +2818,14 @@
\let\atcatcode\relax
\global\bbl@csarg\let{rqtex@\languagename}\relax
\fi}%
+ \bbl@foreach\bbl@calendars{%
+ \bbl@ifunset{bbl@ca@##1}{%
+ \chardef\atcatcode=\catcode`\@
+ \catcode`\@=11\relax
+ \InputIfFileExists{babel-ca-##1.tex}{}{}%
+ \catcode`\@=\atcatcode
+ \let\atcatcode\relax}%
+ {}}%
\fi
% == frenchspacing ==
\ifcase\bbl@howloaded\in@true\else\in@false\fi
@@ -3032,7 +3041,9 @@
\def\bbl@section{##1}%
\in@{=date.}{=##1}% Find a better place
\ifin@
- \bbl@ini@calendar{##1}%
+ \bbl@ifunset{bbl@inikv@##1}%
+ {\bbl@ini@calendar{##1}}%
+ {}%
\fi
\in@{=identification/extension.}{=##1/##2}%
\ifin@
@@ -3082,6 +3093,9 @@
\fi
\ifx\bbl@tempa\relax\else
\bbl@replace\bbl@tempa{=}{}%
+ \ifx\bbl@tempa\@empty\else
+ \xdef\bbl@calendars{,\bbl@tempa}%
+ \fi
\bbl@exp{%
\def\<bbl@inikv@#1>####1####2{%
\\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}%
@@ -3392,6 +3406,8 @@
\fi}%
{}}}
\let\bbl@calendar\@empty
+\newcommand\babelcalendar[2][\the\year-\the\month-\the\day]{%
+ \@nameuse{bbl@ca@#2}#1\@@}
\newcommand\BabelDateSpace{\nobreakspace}
\newcommand\BabelDateDot{.\@} % TODO. \let instead of repeating
\newcommand\BabelDated[1]{{\number#1}}
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 4513dc0526c..526a0184ecb 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/05/22 3.75 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2022/06/06 3.76 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.75}
-\def\bbl@date{2022/05/22}
+\def\bbl@version{3.76}
+\def\bbl@date{2022/06/06}
\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 85bab5a6b21..574ee220bf7 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.10
-date = 2022-05-15
+version = 1.11
+date = 2022-06-02
name.local = العربية
name.english = Arabic
name.babel = arabic-algeria arabic-dz
@@ -53,7 +53,7 @@ proof = برهان
glossary = قاموس
[date.gregorian]
-date.long = [d] [MMMM]، [y]
+date.long = [d] [MMMM] [y]
date.short = [d]‏/[M]‏/[y]
months.wide.1 = جانفي
months.wide.2 = فيفري
@@ -180,6 +180,6 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.1.1 = { kashida = 500 }
kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini
new file mode 100644
index 00000000000..9be40ee4464
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-egypt arabic-eg
+tag.bcp47 = ar-EG
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = مصر
+region.english = Egypt
+region.tag.bcp47 = EG
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = ديسمبر
+months.narrow.1 = ي
+months.narrow.2 = ف
+months.narrow.3 = م
+months.narrow.4 = أ
+months.narrow.5 = و
+months.narrow.6 = ن
+months.narrow.7 = ل
+months.narrow.8 = غ
+months.narrow.9 = س
+months.narrow.10 = ك
+months.narrow.11 = ب
+months.narrow.12 = د
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = arab
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = ,
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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-IQ.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini
new file mode 100644
index 00000000000..793855eb4ca
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-iraq arabic-iq
+tag.bcp47 = ar-IQ
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = العراق
+region.english = Iraq
+region.tag.bcp47 = IQ
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = كانون الأول
+months.narrow.1 = ك
+months.narrow.2 = ش
+months.narrow.3 = آ
+months.narrow.4 = ن
+months.narrow.5 = أ
+months.narrow.6 = ح
+months.narrow.7 = ت
+months.narrow.8 = آ
+months.narrow.9 = أ
+months.narrow.10 = ت
+months.narrow.11 = ت
+months.narrow.12 = ك
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = arab
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = ,
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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-JO.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini
new file mode 100644
index 00000000000..f602f0a1388
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-jordan arabic-jo
+tag.bcp47 = ar-JO
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = الأردن
+region.english = Jordan
+region.tag.bcp47 = JO
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = كانون الأول
+months.narrow.1 = ك
+months.narrow.2 = ش
+months.narrow.3 = آ
+months.narrow.4 = ن
+months.narrow.5 = أ
+months.narrow.6 = ح
+months.narrow.7 = ت
+months.narrow.8 = آ
+months.narrow.9 = أ
+months.narrow.10 = ت
+months.narrow.11 = ت
+months.narrow.12 = ك
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = arab
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = ,
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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-LB.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini
new file mode 100644
index 00000000000..a399997a7e3
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-lebanon arabic-lb
+tag.bcp47 = ar-LB
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = لبنان
+region.english = Lebanon
+region.tag.bcp47 = LB
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = كانون الأول
+months.narrow.1 = ك
+months.narrow.2 = ش
+months.narrow.3 = آ
+months.narrow.4 = ن
+months.narrow.5 = أ
+months.narrow.6 = ح
+months.narrow.7 = ت
+months.narrow.8 = آ
+months.narrow.9 = أ
+months.narrow.10 = ت
+months.narrow.11 = ت
+months.narrow.12 = ك
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = arab
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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 8b84168251c..1bcdd3c30ad 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.10
-date = 2022-05-15
+version = 1.11
+date = 2022-06-02
name.local = العربية
name.english = Arabic
name.babel = arabic-morocco arabic-ma
@@ -53,7 +53,7 @@ proof = برهان
glossary = قاموس
[date.gregorian]
-date.long = [d] [MMMM]، [y]
+date.long = [d] [MMMM] [y]
date.short = [d]‏/[M]‏/[y]
months.wide.1 = يناير
months.wide.2 = فبراير
@@ -180,6 +180,6 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.1.1 = { kashida = 500 }
kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini
new file mode 100644
index 00000000000..c6d41617bd1
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-palestinianterritories arabic-ps
+tag.bcp47 = ar-PS
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = الأراضي الفلسطينية
+region.english = Palestinian Territories
+region.tag.bcp47 = PS
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = كانون الأول
+months.narrow.1 = ك
+months.narrow.2 = ش
+months.narrow.3 = آ
+months.narrow.4 = ن
+months.narrow.5 = أ
+months.narrow.6 = ح
+months.narrow.7 = ت
+months.narrow.8 = آ
+months.narrow.9 = أ
+months.narrow.10 = ت
+months.narrow.11 = ت
+months.narrow.12 = ك
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = arab
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = .
+exponential = E
+group = ,
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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 a0232c3830f..983dd0224bb 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.10
-date = 2022-05-15
+version = 1.11
+date = 2022-06-02
name.local = العربية
name.english = Arabic
name.babel = arabic-syria arabic-sy
@@ -53,7 +53,7 @@ proof = برهان
glossary = قاموس
[date.gregorian]
-date.long = [d] [MMMM]، [y]
+date.long = [d] [MMMM] [y]
months.wide.1 = كانون الثاني
months.wide.2 = شباط
months.wide.3 = آذار
@@ -179,7 +179,7 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
[transforms.prehyphenation]
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.1.1 = { kashida = 500 }
kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini
new file mode 100644
index 00000000000..e20b249938e
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini
@@ -0,0 +1,185 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = العربية
+name.english = Arabic
+name.babel = arabic-tunisia arabic-tn
+tag.bcp47 = ar-TN
+language.tag.bcp47 = ar
+tag.opentype = ARA
+region.local = تونس
+region.english = Tunisia
+region.tag.bcp47 = TN
+script.name = Arabic
+script.tag.bcp47 = Arab
+script.tag.opentype = arab
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = مدخل
+ref = المراجع
+abstract = ملخص
+bib = المصادر
+chapter = باب
+appendix = الملاحق
+contents = المحتويات
+listfigure = قائمة الأشكال
+listtable = قائمة الجداول
+index = الفهرس
+figure = شكل
+table = جدول
+part = القسم
+encl = المرفقات
+cc = نسخة ل‬
+headto = إلى
+page = صفحة
+see = راجع
+also = راجع أيضًا
+proof = برهان
+glossary = قاموس
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [d]‏/[M]‏/[y]
+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 = ديسمبر
+months.narrow.1 = ج
+months.narrow.2 = ف
+months.narrow.3 = م
+months.narrow.4 = أ
+months.narrow.5 = م
+months.narrow.6 = ج
+months.narrow.7 = ج
+months.narrow.8 = أ
+months.narrow.9 = س
+months.narrow.10 = أ
+months.narrow.11 = ن
+months.narrow.12 = د
+days.wide.mon = الاثنين
+days.wide.tue = الثلاثاء
+days.wide.wed = الأربعاء
+days.wide.thu = الخميس
+days.wide.fri = الجمعة
+days.wide.sat = السبت
+days.wide.sun = الأحد
+days.abbreviated.mon = الاثنين
+days.abbreviated.tue = الثلاثاء
+days.abbreviated.wed = الأربعاء
+days.abbreviated.thu = الخميس
+days.abbreviated.fri = الجمعة
+days.abbreviated.sat = السبت
+days.abbreviated.sun = الأحد
+days.narrow.mon = ن
+days.narrow.tue = ث
+days.narrow.wed = ر
+days.narrow.thu = خ
+days.narrow.fri = ج
+days.narrow.sat = س
+days.narrow.sun = ح
+dayPeriods.abbreviated.am = ص
+dayPeriods.abbreviated.pm = م
+dayPeriods.narrow.am = ص
+dayPeriods.narrow.pm = م
+dayPeriods.wide.am = ص
+dayPeriods.wide.pm = م
+
+[date.islamic]
+date.long = [d] [MMMM]، [y]
+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 = ذو الحجة
+months.narrow.1 = ١
+months.narrow.2 = ٢
+months.narrow.3 = ٣
+months.narrow.4 = ٤
+months.narrow.5 = ٥
+months.narrow.6 = ٦
+months.narrow.7 = ٧
+months.narrow.8 = ٨
+months.narrow.9 = ٩
+months.narrow.10 = ١٠
+months.narrow.11 = ١١
+months.narrow.12 = ١٢
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules =
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = ”“’‘
+auxiliary = [ـ\u200C\u200D\u200E\u200F پ چ ژ ڜ ڢ ڤ ڥ ٯ ڧ ڨ ک گ ی]
+exemplarCharacters = [\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0670 ء أ ؤ إ ئ ا آ ب ة ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ى ي]
+index = [ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي]
+punctuation = [\\- ‐ ‑ – — ، ؛ \\: ! ؟ . … ' \" « » ( ) \\[ \\]]
+
+[numbers]
+defaultNumberingSystem = latn
+digits.native = ٠١٢٣٤٥٦٧٨٩
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = ‎-
+nan = ليس رقمًا
+perMille = ‰
+percentSign = ‎%‎
+plusSign = ‎+
+superscriptingExponent = ×
+
+[counters]
+abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
+
+[transforms.prehyphenation]
+kashida.plain.1.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 25f8f013722..65bb8d31d24 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.14
-date = 2022-05-15
+version = 1.15
+date = 2022-06-02
name.local = العربية
name.english = Arabic
name.babel = arabic
@@ -51,7 +51,7 @@ proof = برهان
glossary = قاموس
[date.gregorian]
-date.long = [d] [MMMM]، [y]
+date.long = [d] [MMMM] [y]
date.short = [d]‏/[M]‏/[y]
months.wide.1 = يناير
months.wide.2 = فبراير
@@ -180,36 +180,36 @@ maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر
; Yannis Haralambous' system in his 'dad'. Only two rules are missing.
; 3-letter
transliteration.dad.1.0 = { {+}a{*} }
-transliteration.dad.1.1 = { string = ٰ }
-transliteration.dad.1.2 = { string = ّ }
-transliteration.dad.1.3 = { remove }
+transliteration.dad.1.1 = { string = ٰ }
+transliteration.dad.1.2 = { string = ّ }
+transliteration.dad.1.3 = { remove }
transliteration.dad.2.0 = { {+}([aui])N }
-transliteration.dad.2.1 = { string = {1|aui|ًٌٍ} }
-transliteration.dad.2.2 = { string = ّ }
-transliteration.dad.2.3 = { remove }
+transliteration.dad.2.1 = { string = {1|aui|ًٌٍ} }
+transliteration.dad.2.2 = { string = ّ }
+transliteration.dad.2.3 = { remove }
; 2-letter
transliteration.dad.3.0 = { ([aui])N }
-transliteration.dad.3.1 = { string = {1|aui|ًٌٍ} }
-transliteration.dad.3.2 = { remove }
+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.1 = { string = {1|tAa|ةٱٰ} }
+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.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.2 = { string = ّ }
+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|آأؤإئٮںڡ} }
+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|ءابتجحخدرزسصضطظعغفقكلمنهوىيَُِّْپچڤگژۀ} }
;
kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]*[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
-kashida.plain.1.1 = { kashida = 500 }
+kashida.plain.1.1 = { kashida = 500 }
kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
-kashida.plain.2.1 = { kashida = 0 }
+kashida.plain.2.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-eg.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-eg.tex
new file mode 100644
index 00000000000..1ccd4e05948
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-eg.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-EG}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-egypt.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-egypt.tex
new file mode 100644
index 00000000000..1ccd4e05948
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-egypt.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-EG}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iq.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iq.tex
new file mode 100644
index 00000000000..a83ed8313df
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iq.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-IQ}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iraq.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iraq.tex
new file mode 100644
index 00000000000..a83ed8313df
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-iraq.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-IQ}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jo.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jo.tex
new file mode 100644
index 00000000000..0fb56839040
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jo.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-JO}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jordan.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jordan.tex
new file mode 100644
index 00000000000..0fb56839040
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-jordan.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-JO}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lb.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lb.tex
new file mode 100644
index 00000000000..0614d727157
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lb.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-LB}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lebanon.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lebanon.tex
new file mode 100644
index 00000000000..0614d727157
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-lebanon.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-LB}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-palestinianterritories.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-palestinianterritories.tex
new file mode 100644
index 00000000000..1746e189d63
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-palestinianterritories.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-PS}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-ps.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-ps.tex
new file mode 100644
index 00000000000..1746e189d63
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-ps.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-PS}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tn.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tn.tex
new file mode 100644
index 00000000000..3036a02a9ce
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tn.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-TN}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tunisia.tex b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tunisia.tex
new file mode 100644
index 00000000000..3036a02a9ce
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-arabic-tunisia.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ar-TN}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-americanenglish.tex b/Master/texmf-dist/tex/generic/babel/locale/en/babel-americanenglish.tex
new file mode 100644
index 00000000000..7ad0eba4be1
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-americanenglish.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-english-unitedstates}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-australianenglish.tex b/Master/texmf-dist/tex/generic/babel/locale/en/babel-australianenglish.tex
new file mode 100644
index 00000000000..fc115022565
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-australianenglish.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-english-australia}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-britishenglish.tex b/Master/texmf-dist/tex/generic/babel/locale/en/babel-britishenglish.tex
new file mode 100644
index 00000000000..a38f537313e
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-britishenglish.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-english-unitedkingdom}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-canadianenglish.tex b/Master/texmf-dist/tex/generic/babel/locale/en/babel-canadianenglish.tex
new file mode 100644
index 00000000000..abe1825246c
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-canadianenglish.tex
@@ -0,0 +1,4 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\input{babel-english-canada}
+\endinput \ No newline at end of file
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 bbef7b2f4dc..f5c334b4737 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,11 +11,11 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-05-17
-name.local = English
-name.english = English
-name.babel = english-australia english-au australian
+version = 1.5
+date = 2022-06-02
+name.local = Australian English
+name.english = Australian English
+name.babel = english-australia english-au australian australianenglish
tag.bcp47 = en-AU
language.tag.bcp47 = en
tag.opentype = ENG
@@ -76,7 +76,7 @@ proof = Proof
glossary = Glossary
[date.gregorian]
-date.long = [d] [MMMM] [y]
+date.long = [MMMM] [d], [y]
date.short = [d]/[M]/[yy]
months.wide.1 = January
months.wide.2 = February
@@ -109,13 +109,13 @@ days.wide.thu = Thursday
days.wide.fri = Friday
days.wide.sat = Saturday
days.wide.sun = Sunday
-days.abbreviated.mon = Mon.
-days.abbreviated.tue = Tue.
-days.abbreviated.wed = Wed.
-days.abbreviated.thu = Thu.
-days.abbreviated.fri = Fri.
-days.abbreviated.sat = Sat.
-days.abbreviated.sun = Sun.
+days.abbreviated.mon = Mon
+days.abbreviated.tue = Tue
+days.abbreviated.wed = Wed
+days.abbreviated.thu = Thu
+days.abbreviated.fri = Fri
+days.abbreviated.sat = Sat
+days.abbreviated.sun = Sun
days.narrow.mon = M.
days.narrow.tue = Tu.
days.narrow.wed = W.
@@ -145,8 +145,8 @@ months.wide.11 = November
months.wide.12 = December
[time.gregorian]
-time.medium = [h]:[mm]:[ss] [a]
-time.short = [h]:[mm] [a]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
@@ -166,7 +166,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
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-CA.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-CA.ini
index a52c1668d61..096637468b9 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-CA.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-CA.ini
@@ -11,11 +11,11 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-09-29
-name.local = English
-name.english = English
-name.babel = english-canada english-ca canadian
+version = 1.4
+date = 2022-06-02
+name.local = Canadian English
+name.english = Canadian English
+name.babel = english-canada english-ca canadian canadianenglish
tag.bcp47 = en-CA
language.tag.bcp47 = en
tag.opentype = ENG
@@ -123,12 +123,12 @@ days.narrow.thu = T
days.narrow.fri = F
days.narrow.sat = S
days.narrow.sun = S
-dayPeriods.abbreviated.am = AM
-dayPeriods.abbreviated.pm = PM
-dayPeriods.narrow.am = a
-dayPeriods.narrow.pm = p
-dayPeriods.wide.am = AM
-dayPeriods.wide.pm = PM
+dayPeriods.abbreviated.am = a.m.
+dayPeriods.abbreviated.pm = p.m.
+dayPeriods.narrow.am = am
+dayPeriods.narrow.pm = pm
+dayPeriods.wide.am = a.m.
+dayPeriods.wide.pm = p.m.
[date.gregorian.licr]
months.wide.1 = January
@@ -145,8 +145,8 @@ months.wide.11 = November
months.wide.12 = December
[time.gregorian]
-time.medium = [h]:[mm]:[ss] [a]
-time.short = [h]:[mm] [a]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
@@ -166,7 +166,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
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-GB.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-GB.ini
index 89bfbe8dfca..e42ec096a8d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-GB.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-GB.ini
@@ -11,11 +11,11 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-09-29
-name.local = English
-name.english = English
-name.babel = english-unitedkingdom english-gb british ukenglish
+version = 1.4
+date = 2022-06-02
+name.local = British English
+name.english = British English
+name.babel = english-unitedkingdom english-gb british britishenglish ukenglish
tag.bcp47 = en-GB
language.tag.bcp47 = en
tag.opentype = ENG
@@ -167,7 +167,7 @@ delimiters.quotes.A = ‘’“”
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
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 8ac9d3df963..84c58df905e 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.4
-date = 2022-05-17
+version = 1.5
+date = 2022-06-02
name.local = English
name.english = English
name.babel = english-newzealand english-nz newzealand
@@ -76,7 +76,7 @@ proof = Proof
glossary = Glossary
[date.gregorian]
-date.long = [d][ ][MMMM] [y]
+date.long = [MMMM] [d], [y]
date.short = [d]/[MM]/[yy]
months.wide.1 = January
months.wide.2 = February
@@ -145,8 +145,8 @@ months.wide.11 = November
months.wide.12 = December
[time.gregorian]
-time.medium = [h]:[mm]:[ss] [a]
-time.short = [h]:[mm] [a]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
@@ -166,7 +166,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
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-US.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-US.ini
index ee90c572427..a400fb2954b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-US.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en-US.ini
@@ -11,11 +11,11 @@
[identification]
charset = utf8
-version = 1.3
-date = 2021-09-29
-name.local = English
-name.english = English
-name.babel = english-unitedstates english-us american usenglish
+version = 1.4
+date = 2022-06-02
+name.local = American English
+name.english = American English
+name.babel = english-unitedstates english-us american americanenglish usenglish
tag.bcp47 = en-US
language.tag.bcp47 = en
tag.opentype = ENG
@@ -145,8 +145,8 @@ months.wide.11 = November
months.wide.12 = December
[time.gregorian]
-time.medium = [h]:[mm]:[ss] [a]
-time.short = [h]:[mm] [a]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
@@ -166,7 +166,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
@@ -174,11 +174,11 @@ minimumGroupingDigits = 1
decimal = .
exponential = E
group = ,
-infinity = INF
+infinity = ∞
list = ;
minusSign = -
nan = NaN
-perMille = 0/00
+perMille = ‰
percentSign = %
plusSign = +
superscriptingExponent = ×
diff --git a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en.ini b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en.ini
index 9cfc5f6b4fa..75c40345a55 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/en/babel-en.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/en/babel-en.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.2
-date = 2020-06-30
+version = 1.3
+date = 2022-06-02
name.local = English
name.english = English
name.babel = english
@@ -143,8 +143,8 @@ months.wide.11 = November
months.wide.12 = December
[time.gregorian]
-time.medium = [h]:[mm]:[ss] [a]
-time.short = [h]:[mm] [a]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
[typography]
frenchspacing = no
@@ -164,7 +164,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
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 066049d580b..fedef221c99 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.982
-date = 2022-05-14
+version = 0.983
+date = 2022-06-02
name.local = français canadien
name.english = Canadian French
-name.babel = canadien french-canada french-ca
+name.babel = canadien french-canada french-ca canadianfrench
tag.bcp47 = fr-CA
language.tag.bcp47 = fr
tag.opentype = FRA
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 c05091cf750..0a7c341d678 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,11 +11,11 @@
[identification]
charset = utf8
-version = 0.982
-date = 2022-05-14
+version = 0.983
+date = 2022-06-02
name.local = français suisse
name.english = Swiss French
-name.babel = french-switzerland french-ch
+name.babel = french-switzerland french-ch swissfrench
tag.bcp47 = fr-CH
language.tag.bcp47 = fr
tag.opentype = FRA
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canadianfrench.tex b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canadianfrench.tex
new file mode 100644
index 00000000000..cedf0ff25b8
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canadianfrench.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{fr-CA}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-swissfrench.tex b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-swissfrench.tex
new file mode 100644
index 00000000000..78f7cc32d18
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-swissfrench.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{fr-CH}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-moldavian.tex b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-moldavian.tex
new file mode 100644
index 00000000000..ee5972d17c8
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-moldavian.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ro-MD}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro-MD.ini b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro-MD.ini
new file mode 100644
index 00000000000..98f44afbfef
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-ro-MD.ini
@@ -0,0 +1,186 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * polyglossia language styles (license LPPL)
+; https://www.ctan.org/pkg/polyglossia
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2022-06-02
+name.local = română
+name.english = Moldavian
+name.babel = moldavian romanian-moldova romanian-md
+tag.bcp47 = ro-MD
+language.tag.bcp47 = ro
+tag.opentype = ROM
+region.local = Republica Moldova
+region.english = Moldova
+region.tag.bcp47 = MD
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1 LY1
+derivate = no
+
+[captions]
+preface = Prefaţă
+ref = Bibliografie
+abstract = Rezumat
+bib = Bibliografie
+chapter = Capitolul
+appendix = Anexa
+contents = Cuprins
+listfigure = Listă de figuri
+listtable = Listă de tabele
+index = Index
+figure = Figura
+table = Tabela
+part = Partea
+encl = Anexă
+cc = Copie
+headto = Pentru
+page = Pagina
+see = Vezi
+also = Vezi de asemenea
+proof = Demonstraţie
+glossary = Glosar
+
+[captions.licr]
+preface = Prefa\c t\u a
+ref = Bibliografie
+abstract = Rezumat
+bib = Bibliografie
+chapter = Capitolul
+appendix = Anexa
+contents = Cuprins
+listfigure = List\u a de figuri
+listtable = List\u a de tabele
+index = Index
+figure = Figura
+table = Tabela
+part = Partea
+encl = Anex\u a
+cc = Copie
+headto = Pentru
+page = Pagina
+see = Vezi
+also = Vezi de asemenea
+proof = Demonstra\c tie
+glossary = Glosar
+
+[date.gregorian]
+date.long = [d] [MMMM] [y]
+date.short = [dd].[MM].[y]
+months.wide.1 = ianuarie
+months.wide.2 = februarie
+months.wide.3 = martie
+months.wide.4 = aprilie
+months.wide.5 = mai
+months.wide.6 = iunie
+months.wide.7 = iulie
+months.wide.8 = august
+months.wide.9 = septembrie
+months.wide.10 = octombrie
+months.wide.11 = noiembrie
+months.wide.12 = decembrie
+months.narrow.1 = I
+months.narrow.2 = F
+months.narrow.3 = M
+months.narrow.4 = A
+months.narrow.5 = M
+months.narrow.6 = I
+months.narrow.7 = I
+months.narrow.8 = A
+months.narrow.9 = S
+months.narrow.10 = O
+months.narrow.11 = N
+months.narrow.12 = D
+days.wide.mon = luni
+days.wide.tue = marți
+days.wide.wed = miercuri
+days.wide.thu = joi
+days.wide.fri = vineri
+days.wide.sat = sâmbătă
+days.wide.sun = duminică
+days.abbreviated.mon = Lun
+days.abbreviated.tue = Mar
+days.abbreviated.wed = Mie
+days.abbreviated.thu = Joi
+days.abbreviated.fri = Vin
+days.abbreviated.sat = Sâm
+days.abbreviated.sun = Dum
+days.narrow.mon = L
+days.narrow.tue = Ma
+days.narrow.wed = Mi
+days.narrow.thu = J
+days.narrow.fri = V
+days.narrow.sat = S
+days.narrow.sun = D
+dayPeriods.abbreviated.am = a.m.
+dayPeriods.abbreviated.pm = p.m.
+dayPeriods.narrow.am = a.m.
+dayPeriods.narrow.pm = p.m.
+dayPeriods.wide.am = a.m.
+dayPeriods.wide.pm = p.m.
+
+[date.gregorian.licr]
+months.wide.1 = ianuarie
+months.wide.2 = februarie
+months.wide.3 = martie
+months.wide.4 = aprilie
+months.wide.5 = mai
+months.wide.6 = iunie
+months.wide.7 = iulie
+months.wide.8 = august
+months.wide.9 = septembrie
+months.wide.10 = octombrie
+months.wide.11 = noiembrie
+months.wide.12 = decembrie
+
+[time.gregorian]
+time.medium = [HH]:[mm]:[ss]
+time.short = [HH]:[mm]
+
+[typography]
+frenchspacing = no
+hyphenrules = romanian
+lefthyphenmin = 2
+righthyphenmin = 3
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes = „”«»
+auxiliary = [á à å ä ç é è ê ë ñ ö q ş ţ ü]
+exemplarCharacters = [a ă â b c d e f g h i î j k l m n o p r s ș t ț u v w x y z]
+index = [A Ă Â B C D E F G H I Î J K L M N O P Q R S Ș T Ț U V W X Y Z]
+punctuation = [\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ \" “ ” „ « » ( ) \\[ \\] @ * /]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = +
+superscriptingExponent = ×
+
+[counters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-md.tex b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-md.tex
new file mode 100644
index 00000000000..ee5972d17c8
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-md.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ro-MD}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-moldova.tex b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-moldova.tex
new file mode 100644
index 00000000000..ee5972d17c8
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ro/babel-romanian-moldova.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ro-MD}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 6e618b7f298..c9ce4aff2ce 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/05/22 3.75 Nil language]
+\ProvidesLanguage{nil}[2022/06/06 3.76 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil