summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-12-26 20:44:11 +0000
committerKarl Berry <karl@freefriends.org>2022-12-26 20:44:11 +0000
commit18f9fe84463278c66b907bf156c4c2103bd0bab4 (patch)
treecd8678f971c279801f4f637b6882f3e92527cbe9 /Master
parentde344b41eaef699806b32d6be046e3442dbbcfa2 (diff)
babel (26dec22)
git-svn-id: svn://tug.org/texlive/trunk@65366 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md23
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin897584 -> 902955 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx420
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin848042 -> 848392 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua37
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def113
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty128
-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.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def68
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def49
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def131
77 files changed, 851 insertions, 509 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index d3e4b754257..7efdf6d9b1c 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.83
+## Babel 3.84
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.83 are described in:
+Changes in version 3.84 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.83.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.84.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -46,17 +46,14 @@ respective authors.
### Summary of latest changes
```
-3.83 2022-11-30
- * Improved Punjabi, thanks to Arvinder Singh (@punjab).
- * Compatibility with 'lscape', thanks to Salim Bou (@seloumi).
- * New locale files: Kaingang, Nheengatu, Sardinian.
- * Better handling of `leqno` with `amsmath`.
+3.84 2022-12-26
+ * Automatic selection of encodings with \babelprovide and pdftex.
* Fixes:
- - Wrong date format for Australian in babel-en-AU.ini (#195)
- - Option handling was broken with braces (#198)
- - Stray punctuation with tikz lead to lua error (#197)
- - Hungarian as a secondary language reordered some captions
- (#203).
+ - With 'select.write = omit' the main language wasn’t selected
+ in the aux file.
+ - Incorrect link box in end of line if it is preceded by a
+ non-Arabic character (#207)
+ - New option counters* the pre-expand \thepage. See #26.
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 57211aa2fd1..7f740c3fdea 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 792605685a0..fe81253e4f7 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/11/30 v3.83 The Babel package]
+\ProvidesFile{babel.dtx}[2022/12/26 v3.84 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -587,6 +587,13 @@ language (eg, |lu| can be the locale name with tag |khb| or the tag for
|lubakatanga|). See section \ref{bcp47} for further details.
\end{note}
+\New{3.84} With \pdftex, when a language is loaded on the fly
+(actually, with |\babelprovide|) selectors now set the font encoding
+based on the list provided when loading |fontenc|. Not all scripts have
+an associated encoding, so this feature works only with Latin,
+Cyrillic, Greek, Arabic, Hebrew, Cherokee, Armenian, and Georgian,
+provided a suitable font is found.
+
\subsection{Modifiers}
\New{3.9c} The basic behavior of some languages can be modified when
@@ -839,12 +846,6 @@ text
|\begin{finnish}|).
\end{note}
-\begin{note}
- Actually, there may be another advantage in the ‘short’ syntax
- |\text|\m{tag}, namely, it is not affected by |\MakeUppercase| (while
- |\foreignlanguage| is).
-\end{note}
-
\Describe{\babelensure}{|[include=|\m{commands}|,exclude=|\m{commands}%
|,fontenc=|\m{encoding}|]|\marg{language}}
@@ -2559,8 +2560,8 @@ for example:
In other engines it just suppresses hyphenation (because the pattern
list is empty).
-\New{3.58} Another special value is |unhyphenated|, which activates a
-line breking mode that allows spaces to be stretched to arbitrary amounts.
+\New{3.58} Another special value is |unhyphenated|, which is an
+alternative to |justification=unhyphenated|.
\Describe{main}{} This valueless option makes the language the main one
(thus overriding that set when \babel\ is loaded). Only in newly defined
@@ -2668,14 +2669,27 @@ Currently used only in Southeast Asian scrips, like Thai. Ignored if 0
\Describe{transforms=}{\meta{transform-list}}
See section~\ref{transforms}.
-\Describe{justification=}{\texttt{kashida} $\string|$
-\texttt{elongated} $\string|$ \texttt{unhyphenated}
-$\string|$ \texttt{padding}}
-\New{3.59} There are currently three options, mainly for the Arabic
-script. It sets the linebreaking and justification method, which can be
-based on the the \textsc{arabic tatweel} character or in the
-‘justification alternatives’ OpenType table (\texttt{jalt}). For an
-explanation see the
+\Describe{justification=}{\texttt{unhyphenated} $\string|$
+\texttt{kashida} $\string|$ \texttt{elongated} $\string|$
+\texttt{padding}}
+\New{3.59} There are currently 4 options. Note they are language
+dependent, so that they will not be applied to other languages.
+
+The first one (|unhyphenated|) activates a line breaking mode that
+allows spaces to be stretched to arbitrary amounts. Although for
+European standards the result may look odd, in some writing systems,
+like Malayalam and other Indic scripts, this has been the customary
+(although not always the desired) practice. Because of that, no locale
+sets currently this mode by default (Amharic is an exception). Unlike
+|\sloppy|, the |\hfuzz| and the |\vfuzz| are not changed, because this
+line breaking mode is not really ‘sloppy’ (in other words, overfull
+boxes are reported as usual).
+
+The second and the third are for the Arabic script. It sets the
+linebreaking and justification method, which can be based on the the
+\textsc{arabic tatweel} character or in the ‘justification
+alternatives’ OpenType table (\texttt{jalt}). For an explanation see
+the
\href{https://latex3.github.io/babel/news/whats-new-in-babel-3.59.html}%
{\babel\ site}.
@@ -2895,8 +2909,18 @@ date in the way users would expect in their own culture. Currently,
\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: allowed calendars are |buddhist|, |coptic|,
-|hebrew|, |islamic-civil|, |islamic-umalqura|, |persian|. The optional
+which must be macros.
+Allowed calendars are
+\begin{multicols}{4}
+ |buddhist|\\
+ |coptic|\\
+ |ethiopic|\\
+ |hebrew|\\
+ |islamic-civil|\\
+ |islamic-umalqura|\\
+ |persian|
+\end{multicols}
+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.
@@ -2974,7 +2998,7 @@ in an expandable way even if something went wrong (for example, the
locale currently active is undefined). For these cases, |localeinfo*|
just returns an empty string instead of raising an error. Bear in mind
that \babel{}, following the CLDR, may leave the region unset, which
-means |\getlanguageproperty*|, described below, is the preferred
+means |\getlocaleproperty*|, described below, is the preferred
command, so that the existence of a field can be checked before. This
also means building a string with the language and the region with
|\localeinfo*{language.tab.bcp47}|\allowbreak |-|\allowbreak
@@ -3278,7 +3302,7 @@ four characters: \textit{!?:;}\,.}
\trans{Indic scripts}{danda.nobreak}{Prevents a line break before a
danda or double danda if there is a space. For Assamese, Bengali,
-Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Tamil, Telugu.}
+Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Tamil, Telugu.}
\trans{Latin}{digraphs.ligatures}{Replaces the groups \textit{ae},
\textit{AE}, \textit{oe}, \textit{OE} with \textit{æ}, \textit{Æ},
@@ -3487,7 +3511,7 @@ corresponding language tags as selector names with:
(You can deactivate it with |off|.) So, if |dutch| is one of the
package (or class) options, you can write |\selectlanguage{nl}|. Note
the language name does not change (in this example is still |dutch|),
-but you can get it with |\localeinfo| or |\getlanguageproperty|. It
+but you can get it with |\localeinfo| or |\getlocaleproperty|. It
must be turned on explicitly for similar reasons to those explained
above.
@@ -3732,8 +3756,11 @@ required by all engines.
rendered in that order with |bidi=basic| (as a decimal number), in
|\arabic{c1}.\arabic{c2}| the visual order is \textit{c2.c1}. Of
course, you may always adjust the order by changing the language, if
- necessary.\footnote{Next on the roadmap are counters and numeral
- systems in general. Expect some minor readjustments.}
+ necessary.
+
+ \New{3.84} Since |\thepage| is (indirectly) redefined, |makeindex|
+ will reject many entries as invalid. With |counters*| \babel{}
+ attempts to remove the conflicting macros.
\item[lists] required in \xetex{} and \pdftex{}, but only in
bidirectional (with both R and L paragraphs) documents in \luatex{}.
@@ -4131,14 +4158,37 @@ empty, removes them. The last argument is the locale name:
\Describe{\babeladjust}{\marg{key-value-list}}
\New{3.36} Sometimes you might need to disable some \babel{} features.
-Currently this macro understands the following keys (and only for
-\textsf{luatex}), with values |on| or |off|: |bidi.text|,
-|bidi.mirroring|, |bidi.mapdigits|, |layout.lists|, |layout.tabular|,
-|linebreak.sea|, |linebreak.cjk|, |justify.arabic|. For example, you can set
-|\babeladjust{bidi.text=off}| if you are using an alternative algorithm
-or with large sections not requiring it. Use with care, because these
-options do not deactivate other related options (like paragraph
-direction with |bidi.text|).
+Currently this macro understands the following keys [to be documented],
+with values |on| or |off|:
+\begin{multicols}{3}
+\ttfamily
+bidi.mirroring\\
+bidi.text\\
+% bidi.mapdigits\\
+linebreak.sea\\
+linebreak.cjk\\
+justify.arabic\\
+layout.tabular\\
+layout.lists\\
+autoload.bcp47\\
+bcp47.toname
+\end{multicols}
+
+Other keys [to be documented] are:
+\begin{multicols}{3}
+\ttfamily
+autoload.options\\
+autoload.bcp47.prefix\\
+autoload.bcp47.options\\
+prehyphenation.disable\\
+select.write\\
+select.encoding\\
+\end{multicols}
+
+For example, you can set |\babeladjust{bidi.text=off}| if you are using
+an alternative algorithm or with large sections not requiring it. Use
+with care, because these options do not deactivate other related
+options (like paragraph direction with |bidi.text|).
\subsection{Tips, workarounds, known issues and notes}
@@ -4415,8 +4465,8 @@ Some recommendations:
also use the new tools for encoded strings, described below.
\item Avoid adding things to |\noextras|\m{lang} except for umlauthigh
and friends, |\bbl@deactivate|, |\bbl@(non)frenchspacing|, and
- language-specific macros. Use always, if possible, |\bbl@save| and
- |\bbl@savevariable| (except if you still want to have access to the
+ language-specific macros. Use always, if possible, |\babel@save| and
+ |\babel@savevariable| (except if you still want to have access to the
previous value). Do not reset a macro or a setting to a hardcoded
value. Never. Instead save its value in |\extras|\m{lang}.
\item Do not switch scripts. If you want to make sure a set of glyphs
@@ -5188,8 +5238,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.83>>
-%<<date=2022/11/30>>
+%<<version=3.84>>
+%<<date=2022/12/26>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -5520,16 +5570,6 @@ help from Bernd Raichle, for which I am grateful.
\fi}
% \end{macrocode}
%
-% An alternative to |\IfFormatAtLeastTF| for old versions. Temporary.
-%
-% \begin{macrocode}
-\ifx\IfFormatAtLeastTF\@undefined
- \def\bbl@ifformatlater{\@ifl@t@r\fmtversion}
-\else
- \let\bbl@ifformatlater\IfFormatAtLeastTF
-\fi
-% \end{macrocode}
-%
% The following adds some code to |\extras...| both before and after,
% while avoiding doing it twice. It's somewhat convoluted, to deal with
% |#|'s. Used to deal with alph, Alph and frenchspacing when there are
@@ -6483,6 +6523,7 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\newif\ifbbl@usedategroup
+\let\bbl@savedextras\@empty
\def\bbl@switch#1{% from select@, foreign@
% make sure there is info for the language if so requested
\bbl@ensureinfo{#1}%
@@ -6515,6 +6556,7 @@ help from Bernd Raichle, for which I am grateful.
\fi
\bbl@esphack
% switch extras
+ \csname bbl@preextras@#1\endcsname
\bbl@usehooks{beforeextras}{}%
\csname extras#1\endcsname\relax
\bbl@usehooks{afterextras}{}%
@@ -6522,6 +6564,7 @@ help from Bernd Raichle, for which I am grateful.
% > babel-sh-<short>
% > babel-bidi
% > babel-fontspec
+ \let\bbl@savedextras\@empty
% hyphenation - case mapping
\ifcase\bbl@opt@hyphenmap\or
\def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -8440,15 +8483,23 @@ help from Bernd Raichle, for which I am grateful.
% are appended to |\originalTeX| and the counter is incremented. The
% macro |\babel@savevariable|\meta{variable} saves the value of the
% variable. \meta{variable} can be anything allowed after the |\the|
-% primitive.
+% primitive. To avoid messing saved definitions up, they are saved only
+% the very first time.
%
% \begin{macrocode}
\def\babel@save#1{%
- \expandafter\let\csname babel@\number\babel@savecnt\endcsname#1\relax
- \toks@\expandafter{\originalTeX\let#1=}%
- \bbl@exp{%
- \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
- \advance\babel@savecnt\@ne}
+ \def\bbl@tempa{{,#1,}}% Clumsy, for Plain
+ \expandafter\bbl@add\expandafter\bbl@tempa\expandafter{%
+ \expandafter{\expandafter,\bbl@savedextras,}}%
+ \expandafter\in@\bbl@tempa
+ \ifin@\else
+ \bbl@add\bbl@savedextras{,#1,}%
+ \bbl@carg\let{babel@\number\babel@savecnt}#1\relax
+ \toks@\expandafter{\originalTeX\let#1=}%
+ \bbl@exp{%
+ \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
+ \advance\babel@savecnt\@ne
+ \fi}
\def\babel@savevariable#1{%
\toks@\expandafter{\originalTeX #1=}%
\bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -10010,62 +10061,18 @@ help from Bernd Raichle, for which I am grateful.
\fi}%
\fi
% == Counters: mapdigits ==
- % Native digits (lua level).
- \ifodd\bbl@engine
- \ifx\bbl@KVP@mapdigits\@nnil\else
- \bbl@ifunset{bbl@dgnat@\languagename}{}%
- {\RequirePackage{luatexbase}%
- \bbl@activate@preotf
- \directlua{
- Babel = Babel or {} %%% -> presets in luababel
- Babel.digits_mapped = true
- Babel.digits = Babel.digits or {}
- Babel.digits[\the\localeid] =
- table.pack(string.utfvalue('\bbl@cl{dgnat}'))
- if not Babel.numbers then
- function Babel.numbers(head)
- local LOCALE = Babel.attr_locale
- local GLYPH = node.id'glyph'
- local inmath = false
- for item in node.traverse(head) do
- if not inmath and item.id == GLYPH then
- local temp = node.get_attribute(item, LOCALE)
- if Babel.digits[temp] then
- local chr = item.char
- if chr > 47 and chr < 58 then
- item.char = Babel.digits[temp][chr-47]
- end
- end
- elseif item.id == node.id'math' then
- inmath = (item.subtype == 0)
- end
- end
- return head
- end
- end
- }}%
- \fi
- \fi
+ % > luababel.def
% == Counters: alph, Alph ==
- % What if extras<lang> contains a \babel@save\@alph? It won't be
- % restored correctly when exiting the language, so we ignore
- % this change with the \bbl@alph@saved trick.
\ifx\bbl@KVP@alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@alph@saved}%
- {\let\bbl@alph@saved\@alph}%
- {\let\@alph\bbl@alph@saved
- \babel@save\@alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@alph
\let\\\@alph\<bbl@cntr@\bbl@KVP@alph @\languagename>}}%
\fi
\ifx\bbl@KVP@Alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@Alph@saved}%
- {\let\bbl@Alph@saved\@Alph}%
- {\let\@Alph\bbl@Alph@saved
- \babel@save\@Alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@Alph
\let\\\@Alph\<bbl@cntr@\bbl@KVP@Alph @\languagename>}}%
\fi
% == Calendars ==
@@ -10086,6 +10093,9 @@ help from Bernd Raichle, for which I am grateful.
\ifx\bbl@tempb\@empty\else
,variant=\bbl@tempb
\fi}%
+ % == engine specific extensions ==
+ % Defined in XXXbabel.def
+ \bbl@provide@extra{#2}%
% == require.babel in ini ==
% To load or reaload the babel-*.tex, if require.babel in ini
\ifx\bbl@beforestart\relax\else % But not in doc aux or body
@@ -10117,19 +10127,7 @@ help from Bernd Raichle, for which I am grateful.
{\bbl@post@fs}%
\fi
% == transforms ==
- \ifodd\bbl@engine
- \ifx\bbl@KVP@transforms\@nnil\else
- \def\bbl@elt##1##2##3{%
- \in@{$transforms.}{$##1}%
- \ifin@
- \def\bbl@tempa{##1}%
- \bbl@replace\bbl@tempa{transforms.}{}%
- \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
- \fi}%
- \csname bbl@inidata@\languagename\endcsname
- \bbl@release@transforms\relax % \relax closes the last item.
- \fi
- \fi
+ % > luababel.def
% == main ==
\ifx\bbl@KVP@main\@nnil % Restore only if not 'main'
\let\languagename\bbl@savelangname
@@ -10248,6 +10246,11 @@ help from Bernd Raichle, for which I am grateful.
{}%
{\bbl@exp{\let\bbl@tempa\<l@##1>}}%
\fi}%
+ \ifx\bbl@tempa\relax
+ \bbl@warning{%
+ Requested 'hyphenrules=' for '\languagename' not found.\\%
+ Using the default value. Reported}%
+ \fi
\fi
\ifx\bbl@tempa\relax % if no opt or no language in opt found
\ifx\bbl@KVP@import\@nnil
@@ -11294,8 +11297,6 @@ help from Bernd Raichle, for which I am grateful.
\bbl@adjust@layout{\let\list\bbl@NL@list}}
\@namedef{bbl@ADJ@layout.lists@off}{%
\bbl@adjust@layout{\let\list\bbl@OL@list}}
-\@namedef{bbl@ADJ@hyphenation.extra@on}{%
- \bbl@activateposthyphen}
%
\@namedef{bbl@ADJ@autoload.bcp47@on}{%
\bbl@bcpallowedtrue}
@@ -11341,8 +11342,12 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl@restorelastskip\relax
\let\bbl@savelastskip\relax}
\@namedef{bbl@ADJ@select.write@omit}{%
+ \AddBabelHook{babel-select}{beforestart}{%
+ \expandafter\babel@aux\expandafter{\bbl@main@language}{}}%
\let\bbl@restorelastskip\relax
\def\bbl@savelastskip##1\bbl@restorelastskip{}}
+\@namedef{bbl@ADJ@select.encoding@off}{%
+ \let\bbl@encoding@select@off\@empty}
% \end{macrocode}
%
% As the final task, load the code for lua. TODO: use babel name, override
@@ -11695,9 +11700,9 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\ifx\@mkboth\markboth
- \def\bbl@tempc{\let\@mkboth\markboth}
+ \def\bbl@tempc{\let\@mkboth\markboth}%
\else
- \def\bbl@tempc{}
+ \def\bbl@tempc{}%
\fi
\bbl@ifunset{markboth }\bbl@redefine\bbl@redefinerobust
\markboth#1#2{%
@@ -11710,7 +11715,7 @@ help from Bernd Raichle, for which I am grateful.
\bbl@ifblank{#2}%
{\@temptokena{}}%
{\@temptokena\expandafter{\bbl@tempb{#2}}}%
- \bbl@exp{\\\org@markboth{\the\toks@}{\the\@temptokena}}}
+ \bbl@exp{\\\org@markboth{\the\toks@}{\the\@temptokena}}}%
\bbl@tempc
\fi} % end ifbbl@single, end \IfBabelLayout
% \end{macrocode}
@@ -12516,8 +12521,8 @@ help from Bernd Raichle, for which I am grateful.
% \begin{macrocode}
\ifx\bbl@main@language\@undefined
\bbl@info{%
- You haven't specified a language. I'll use 'nil'\\%
- as the main language. Reported}
+ You haven't specified a language as a class or package\\%
+ option. I'll load 'nil'. Reported}
\bbl@load@language{nil}
\fi
%</package>
@@ -13289,14 +13294,12 @@ help from Bernd Raichle, for which I am grateful.
\AddBabelHook{babel-fontspec}{beforestart}{\bbl@ckeckstdfonts}
\DisableBabelHook{babel-fontspec}
<@Font selection@>
-\input txtbabel.def
+\def\bbl@provide@extra#1{}
%</xetex>
% \end{macrocode}
%
% \subsection{Layout}
%
-% \textit{In progress.}
-%
% Note elements like headlines and margins can be modified easily with
% packages like \textsf{fancyhdr}, \textsf{typearea} or
% \textsf{titleps}, and \textsf{geometry}.
@@ -13310,12 +13313,12 @@ help from Bernd Raichle, for which I am grateful.
% which is the bidi model in both \pdftex{} and \xetex{}.
%
% \begin{macrocode}
-%<*texxet>
+%<*xetex|texxet>
\providecommand\bbl@provide@intraspace{}
\bbl@trace{Redefinitions for bidi layout}
\def\bbl@sspre@caption{%
\bbl@exp{\everyhbox{\\\bbl@textdir\bbl@cs{wdir@\bbl@main@language}}}}
-\ifx\bbl@opt@layout\@nnil\endinput\fi % No layout
+\ifx\bbl@opt@layout\@nnil\else % if layout=..
\def\bbl@startskip{\ifcase\bbl@thepardir\leftskip\else\rightskip\fi}
\def\bbl@endskip{\ifcase\bbl@thepardir\rightskip\else\leftskip\fi}
\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
@@ -13385,6 +13388,16 @@ help from Bernd Raichle, for which I am grateful.
% think there must be a better way.
%
% \begin{macrocode}
+\IfBabelLayout{counters*}%
+ {\bbl@add\bbl@opt@layout{.counters.}%
+ \AddToHook{shipout/before}{%
+ \let\bbl@tempa\babelsublr
+ \let\babelsublr\@firstofone
+ \let\bbl@save@thepage\thepage
+ \protected@edef\thepage{\thepage}%
+ \let\babelsublr\bbl@tempa}%
+ \AddToHook{shipout/after}{%
+ \let\thepage\bbl@save@thepage}}{}
\IfBabelLayout{counters}%
{\let\bbl@latinarabic=\@arabic
\def\@arabic#1{\babelsublr{\bbl@latinarabic#1}}%
@@ -13392,6 +13405,53 @@ help from Bernd Raichle, for which I am grateful.
\def\@roman#1{\babelsublr{\ensureascii{\bbl@asciiroman#1}}}%
\let\bbl@asciiRoman=\@Roman
\def\@Roman#1{\babelsublr{\ensureascii{\bbl@asciiRoman#1}}}}{}
+\fi % end if layout
+%</xetex|texxet>
+% \end{macrocode}
+%
+% \subsection{8-bit TeX}
+%
+% Which start just above, because some code is shared with \xetex. Now,
+% 8-bit specific stuff.
+%
+% \begin{macrocode}
+%<*texxet>
+\def\bbl@provide@extra#1{%
+ % == auto-select encoding ==
+ \ifx\bbl@encoding@select@off\@empty\else
+ \bbl@ifunset{bbl@encoding@#1}%
+ {\def\@elt##1{,##1,}%
+ \edef\bbl@tempe{\expandafter\@gobbletwo\@fontenc@load@list}%
+ \count@\z@
+ \bbl@foreach\bbl@tempe{%
+ \def\bbl@tempd{##1}% Save last declared
+ \advance\count@\@ne}%
+ \ifnum\count@>\@ne
+ \getlocaleproperty*\bbl@tempa{#1}{identification/encodings}%
+ \ifx\bbl@tempa\relax \let\bbl@tempa\@empty \fi
+ \bbl@replace\bbl@tempa{ }{,}%
+ \global\bbl@csarg\let{encoding@#1}\@empty
+ \bbl@xin@{,\bbl@tempd,}{,\bbl@tempa,}%
+ \ifin@\else % if main encoding included in ini, do nothing
+ \let\bbl@tempb\relax
+ \bbl@foreach\bbl@tempa{%
+ \ifx\bbl@tempb\relax
+ \bbl@xin@{,##1,}{,\bbl@tempe,}%
+ \ifin@\def\bbl@tempb{##1}\fi
+ \fi}%
+ \ifx\bbl@tempb\relax\else
+ \bbl@exp{%
+ \global\<bbl@add>\<bbl@preextras@#1>{\<bbl@encoding@#1>}%
+ \gdef\<bbl@encoding@#1>{%
+ \\\babel@save\\\f@encoding
+ \\\bbl@add\\\originalTeX{\\\selectfont}%
+ \\\fontencoding{\bbl@tempb}%
+ \\\selectfont}}%
+ \fi
+ \fi
+ \fi}%
+ {}%
+ \fi}
%</texxet>
% \end{macrocode}
%
@@ -13704,6 +13764,14 @@ help from Bernd Raichle, for which I am grateful.
Babel.script_blocks[script], {tonumber(s,16), tonumber(e,16)})
end
end
+ function Babel.discard_sublr(str)
+ if str:find( [[\string\indexentry]] ) and
+ str:find( [[\string\babelsublr]] ) then
+ str = str:gsub( [[\string\babelsublr%s*(%b{})]],
+ function(m) return m:sub(2,-2) end )
+ end
+ return str
+end
}
\endgroup
\ifx\newattribute\@undefined\else
@@ -14826,10 +14894,10 @@ end
\bbl@add\normalfont{\bbl@eqnodir}%
\ifnum\bbl@eqnpos=\@ne
\def\@eqnnum{%
- \setbox\z@\hbox{\bbl@eqnum}%
- \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+ \setbox\z@\hbox{\bbl@eqnum}%
+ \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
\else
- \let\@eqnnum\bbl@eqnum
+ \let\@eqnnum\bbl@eqnum
\fi
\fi}
% Hack. YA luatex bug?:
@@ -14904,7 +14972,56 @@ end
\fi
\fi}
\fi
+\def\bbl@provide@extra#1{%
+ % == Counters: mapdigits ==
+ % Native digits
+ \ifx\bbl@KVP@mapdigits\@nnil\else
+ \bbl@ifunset{bbl@dgnat@\languagename}{}%
+ {\RequirePackage{luatexbase}%
+ \bbl@activate@preotf
+ \directlua{
+ Babel = Babel or {} %%% -> presets in luababel
+ Babel.digits_mapped = true
+ Babel.digits = Babel.digits or {}
+ Babel.digits[\the\localeid] =
+ table.pack(string.utfvalue('\bbl@cl{dgnat}'))
+ if not Babel.numbers then
+ function Babel.numbers(head)
+ local LOCALE = Babel.attr_locale
+ local GLYPH = node.id'glyph'
+ local inmath = false
+ for item in node.traverse(head) do
+ if not inmath and item.id == GLYPH then
+ local temp = node.get_attribute(item, LOCALE)
+ if Babel.digits[temp] then
+ local chr = item.char
+ if chr > 47 and chr < 58 then
+ item.char = Babel.digits[temp][chr-47]
+ end
+ end
+ elseif item.id == node.id'math' then
+ inmath = (item.subtype == 0)
+ end
+ end
+ return head
+ end
+ end
+ }}%
+ \fi
+ % == transforms ==
+ \ifx\bbl@KVP@transforms\@nnil\else
+ \def\bbl@elt##1##2##3{%
+ \in@{$transforms.}{$##1}%
+ \ifin@
+ \def\bbl@tempa{##1}%
+ \bbl@replace\bbl@tempa{transforms.}{}%
+ \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
+ \fi}%
+ \csname bbl@inidata@\languagename\endcsname
+ \bbl@release@transforms\relax % \relax closes the last item.
+ \fi}
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
+%
\ifnum\bbl@bidimode>\z@
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
\bbl@exp{%
@@ -15045,6 +15162,12 @@ end
% there are some additional readjustments for |bidi=default|.
%
% \begin{macrocode}
+\IfBabelLayout{counters*}%
+ {\bbl@add\bbl@opt@layout{.counters.}%
+ \directlua{
+ luatexbase.add_to_callback("process_output_buffer",
+ Babel.discard_sublr , "Babel.discard_sublr") }%
+ }{}
\IfBabelLayout{counters}%
{\let\bbl@OL@@textsuperscript\@textsuperscript
\bbl@sreplace\@textsuperscript{\m@th}{\m@th\mathdir\pagedir}%
@@ -22089,6 +22212,8 @@ function Babel.bidi(head, ispar, hdir)
local has_en = false
local first_et = nil
+ local has_hyperlink = false
+
local ATDIR = Babel.attr_dir
local save_outer
@@ -22200,7 +22325,10 @@ function Babel.bidi(head, ispar, hdir)
d = nil
elseif item.id == node.id'math' then
- inmath = (item.subtype == 0)
+ inmath = (item.subtype == 0)
+
+ elseif item.id == 8 and item.subtype == 19 then
+ has_hyperlink = true
else
d = nil
@@ -22400,7 +22528,37 @@ function Babel.bidi(head, ispar, hdir)
end
- return node.prev(head) or head
+ head = node.prev(head) or head
+
+ -------------- FIX HYPERLINKS ----------------
+
+ if has_hyperlink then
+ local flag, linking = 0, 0
+ for item in node.traverse(head) do
+ if item.id == DIR then
+ if item.dir == '+TRT' or item.dir == '+TLT' then
+ flag = flag + 1
+ elseif item.dir == '-TRT' or item.dir == '-TLT' then
+ flag = flag - 1
+ end
+ elseif item.id == 8 and item.subtype == 19 then
+ linking = flag
+ elseif item.id == 8 and item.subtype == 20 then
+ if linking > 0 then
+ if item.prev.id == DIR and
+ (item.prev.dir == '-TRT' or item.prev.dir == '-TLT') then
+ d = node.new(DIR)
+ d.dir = item.prev.dir
+ node.remove(head, item.prev)
+ node.insert_after(head, item, d)
+ end
+ end
+ linking = 0
+ end
+ end
+ end
+
+ return head
end
%</basic>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index dddb4bc51f3..fde40b70879 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/11/30}
+\def\filedate{2022/12/26}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index e84432d1bae..1fc18c43930 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/11/30 v3.83]
+\ProvidesFile{bbcompat.dtx}[2022/12/26 v3.84]
%</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 3594284b9bc..45e00adbb51 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-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
index 233f5bc5f01..d5b57487b9b 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -106,6 +106,8 @@ function Babel.bidi(head, ispar, hdir)
local has_en = false
local first_et = nil
+ local has_hyperlink = false
+
local ATDIR = Babel.attr_dir
local save_outer
@@ -219,6 +221,9 @@ function Babel.bidi(head, ispar, hdir)
elseif item.id == node.id'math' then
inmath = (item.subtype == 0)
+ elseif item.id == 8 and item.subtype == 19 then
+ has_hyperlink = true
+
else
d = nil
end
@@ -417,5 +422,35 @@ function Babel.bidi(head, ispar, hdir)
end
- return node.prev(head) or head
+ head = node.prev(head) or head
+
+ -------------- FIX HYPERLINKS ----------------
+
+ if has_hyperlink then
+ local flag, linking = 0, 0
+ for item in node.traverse(head) do
+ if item.id == DIR then
+ if item.dir == '+TRT' or item.dir == '+TLT' then
+ flag = flag + 1
+ elseif item.dir == '-TRT' or item.dir == '-TLT' then
+ flag = flag - 1
+ end
+ elseif item.id == 8 and item.subtype == 19 then
+ linking = flag
+ elseif item.id == 8 and item.subtype == 20 then
+ if linking > 0 then
+ if item.prev.id == DIR and
+ (item.prev.dir == '-TRT' or item.prev.dir == '-TLT') then
+ d = node.new(DIR)
+ d.dir = item.prev.dir
+ node.remove(head, item.prev)
+ node.insert_after(head, item, d)
+ end
+ end
+ linking = 0
+ end
+ end
+ end
+
+ return head
end
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index e50195a5835..2d8cf023050 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/11/30 3.83 Babel common definitions]
+\ProvidesFile{babel.def}[2022/12/26 3.84 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.83}
-\def\bbl@date{2022/11/30}
+\def\bbl@version{3.84}
+\def\bbl@date{2022/12/26}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -640,6 +640,7 @@
\def\babel@toc#1#2{%
\select@language{#1}}
\newif\ifbbl@usedategroup
+\let\bbl@savedextras\@empty
\def\bbl@switch#1{% from select@, foreign@
% make sure there is info for the language if so requested
\bbl@ensureinfo{#1}%
@@ -672,6 +673,7 @@
\fi
\bbl@esphack
% switch extras
+ \csname bbl@preextras@#1\endcsname
\bbl@usehooks{beforeextras}{}%
\csname extras#1\endcsname\relax
\bbl@usehooks{afterextras}{}%
@@ -679,6 +681,7 @@
% > babel-sh-<short>
% > babel-bidi
% > babel-fontspec
+ \let\bbl@savedextras\@empty
% hyphenation - case mapping
\ifcase\bbl@opt@hyphenmap\or
\def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -1085,11 +1088,6 @@
\else
\expandafter\@firstofone
\fi}
-\ifx\IfFormatAtLeastTF\@undefined
- \def\bbl@ifformatlater{\@ifl@t@r\fmtversion}
-\else
- \let\bbl@ifformatlater\IfFormatAtLeastTF
-\fi
\def\bbl@extras@wrap#1#2#3{% 1:in-test, 2:before, 3:after
\toks@\expandafter\expandafter\expandafter{%
\csname extras\languagename\endcsname}%
@@ -1757,11 +1755,18 @@
\newcount\babel@savecnt
\babel@beginsave
\def\babel@save#1{%
- \expandafter\let\csname babel@\number\babel@savecnt\endcsname#1\relax
- \toks@\expandafter{\originalTeX\let#1=}%
- \bbl@exp{%
- \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
- \advance\babel@savecnt\@ne}
+ \def\bbl@tempa{{,#1,}}% Clumsy, for Plain
+ \expandafter\bbl@add\expandafter\bbl@tempa\expandafter{%
+ \expandafter{\expandafter,\bbl@savedextras,}}%
+ \expandafter\in@\bbl@tempa
+ \ifin@\else
+ \bbl@add\bbl@savedextras{,#1,}%
+ \bbl@carg\let{babel@\number\babel@savecnt}#1\relax
+ \toks@\expandafter{\originalTeX\let#1=}%
+ \bbl@exp{%
+ \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
+ \advance\babel@savecnt\@ne
+ \fi}
\def\babel@savevariable#1{%
\toks@\expandafter{\originalTeX #1=}%
\bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -2708,62 +2713,18 @@
\fi}%
\fi
% == Counters: mapdigits ==
- % Native digits (lua level).
- \ifodd\bbl@engine
- \ifx\bbl@KVP@mapdigits\@nnil\else
- \bbl@ifunset{bbl@dgnat@\languagename}{}%
- {\RequirePackage{luatexbase}%
- \bbl@activate@preotf
- \directlua{
- Babel = Babel or {} %%% -> presets in luababel
- Babel.digits_mapped = true
- Babel.digits = Babel.digits or {}
- Babel.digits[\the\localeid] =
- table.pack(string.utfvalue('\bbl@cl{dgnat}'))
- if not Babel.numbers then
- function Babel.numbers(head)
- local LOCALE = Babel.attr_locale
- local GLYPH = node.id'glyph'
- local inmath = false
- for item in node.traverse(head) do
- if not inmath and item.id == GLYPH then
- local temp = node.get_attribute(item, LOCALE)
- if Babel.digits[temp] then
- local chr = item.char
- if chr > 47 and chr < 58 then
- item.char = Babel.digits[temp][chr-47]
- end
- end
- elseif item.id == node.id'math' then
- inmath = (item.subtype == 0)
- end
- end
- return head
- end
- end
- }}%
- \fi
- \fi
+ % > luababel.def
% == Counters: alph, Alph ==
- % What if extras<lang> contains a \babel@save\@alph? It won't be
- % restored correctly when exiting the language, so we ignore
- % this change with the \bbl@alph@saved trick.
\ifx\bbl@KVP@alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@alph@saved}%
- {\let\bbl@alph@saved\@alph}%
- {\let\@alph\bbl@alph@saved
- \babel@save\@alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@alph
\let\\\@alph\<bbl@cntr@\bbl@KVP@alph @\languagename>}}%
\fi
\ifx\bbl@KVP@Alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@Alph@saved}%
- {\let\bbl@Alph@saved\@Alph}%
- {\let\@Alph\bbl@Alph@saved
- \babel@save\@Alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@Alph
\let\\\@Alph\<bbl@cntr@\bbl@KVP@Alph @\languagename>}}%
\fi
% == Calendars ==
@@ -2784,6 +2745,9 @@
\ifx\bbl@tempb\@empty\else
,variant=\bbl@tempb
\fi}%
+ % == engine specific extensions ==
+ % Defined in XXXbabel.def
+ \bbl@provide@extra{#2}%
% == require.babel in ini ==
% To load or reaload the babel-*.tex, if require.babel in ini
\ifx\bbl@beforestart\relax\else % But not in doc aux or body
@@ -2815,19 +2779,7 @@
{\bbl@post@fs}%
\fi
% == transforms ==
- \ifodd\bbl@engine
- \ifx\bbl@KVP@transforms\@nnil\else
- \def\bbl@elt##1##2##3{%
- \in@{$transforms.}{$##1}%
- \ifin@
- \def\bbl@tempa{##1}%
- \bbl@replace\bbl@tempa{transforms.}{}%
- \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
- \fi}%
- \csname bbl@inidata@\languagename\endcsname
- \bbl@release@transforms\relax % \relax closes the last item.
- \fi
- \fi
+ % > luababel.def
% == main ==
\ifx\bbl@KVP@main\@nnil % Restore only if not 'main'
\let\languagename\bbl@savelangname
@@ -2925,6 +2877,11 @@
{}%
{\bbl@exp{\let\bbl@tempa\<l@##1>}}%
\fi}%
+ \ifx\bbl@tempa\relax
+ \bbl@warning{%
+ Requested 'hyphenrules=' for '\languagename' not found.\\%
+ Using the default value. Reported}%
+ \fi
\fi
\ifx\bbl@tempa\relax % if no opt or no language in opt found
\ifx\bbl@KVP@import\@nnil
@@ -3746,8 +3703,6 @@
\bbl@adjust@layout{\let\list\bbl@NL@list}}
\@namedef{bbl@ADJ@layout.lists@off}{%
\bbl@adjust@layout{\let\list\bbl@OL@list}}
-\@namedef{bbl@ADJ@hyphenation.extra@on}{%
- \bbl@activateposthyphen}
\@namedef{bbl@ADJ@autoload.bcp47@on}{%
\bbl@bcpallowedtrue}
\@namedef{bbl@ADJ@autoload.bcp47@off}{%
@@ -3792,8 +3747,12 @@
\let\bbl@restorelastskip\relax
\let\bbl@savelastskip\relax}
\@namedef{bbl@ADJ@select.write@omit}{%
+ \AddBabelHook{babel-select}{beforestart}{%
+ \expandafter\babel@aux\expandafter{\bbl@main@language}{}}%
\let\bbl@restorelastskip\relax
\def\bbl@savelastskip##1\bbl@restorelastskip{}}
+\@namedef{bbl@ADJ@select.encoding@off}{%
+ \let\bbl@encoding@select@off\@empty}
\ifx\directlua\@undefined\else
\ifx\bbl@luapatterns\@undefined
\input luababel.def
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 7a2f278811b..5086adda397 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/11/30 3.83 The Babel package]
+\ProvidesPackage{babel}[2022/12/26 3.84 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -246,11 +246,6 @@
\else
\expandafter\@firstofone
\fi}
-\ifx\IfFormatAtLeastTF\@undefined
- \def\bbl@ifformatlater{\@ifl@t@r\fmtversion}
-\else
- \let\bbl@ifformatlater\IfFormatAtLeastTF
-\fi
\def\bbl@extras@wrap#1#2#3{% 1:in-test, 2:before, 3:after
\toks@\expandafter\expandafter\expandafter{%
\csname extras\languagename\endcsname}%
@@ -462,8 +457,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.83}
-\def\bbl@date{2022/11/30}
+\def\bbl@version{3.84}
+\def\bbl@date{2022/12/26}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -696,6 +691,7 @@
\def\babel@toc#1#2{%
\select@language{#1}}
\newif\ifbbl@usedategroup
+\let\bbl@savedextras\@empty
\def\bbl@switch#1{% from select@, foreign@
% make sure there is info for the language if so requested
\bbl@ensureinfo{#1}%
@@ -728,6 +724,7 @@
\fi
\bbl@esphack
% switch extras
+ \csname bbl@preextras@#1\endcsname
\bbl@usehooks{beforeextras}{}%
\csname extras#1\endcsname\relax
\bbl@usehooks{afterextras}{}%
@@ -735,6 +732,7 @@
% > babel-sh-<short>
% > babel-bidi
% > babel-fontspec
+ \let\bbl@savedextras\@empty
% hyphenation - case mapping
\ifcase\bbl@opt@hyphenmap\or
\def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -1141,11 +1139,6 @@
\else
\expandafter\@firstofone
\fi}
-\ifx\IfFormatAtLeastTF\@undefined
- \def\bbl@ifformatlater{\@ifl@t@r\fmtversion}
-\else
- \let\bbl@ifformatlater\IfFormatAtLeastTF
-\fi
\def\bbl@extras@wrap#1#2#3{% 1:in-test, 2:before, 3:after
\toks@\expandafter\expandafter\expandafter{%
\csname extras\languagename\endcsname}%
@@ -1813,11 +1806,18 @@
\newcount\babel@savecnt
\babel@beginsave
\def\babel@save#1{%
- \expandafter\let\csname babel@\number\babel@savecnt\endcsname#1\relax
- \toks@\expandafter{\originalTeX\let#1=}%
- \bbl@exp{%
- \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
- \advance\babel@savecnt\@ne}
+ \def\bbl@tempa{{,#1,}}% Clumsy, for Plain
+ \expandafter\bbl@add\expandafter\bbl@tempa\expandafter{%
+ \expandafter{\expandafter,\bbl@savedextras,}}%
+ \expandafter\in@\bbl@tempa
+ \ifin@\else
+ \bbl@add\bbl@savedextras{,#1,}%
+ \bbl@carg\let{babel@\number\babel@savecnt}#1\relax
+ \toks@\expandafter{\originalTeX\let#1=}%
+ \bbl@exp{%
+ \def\\\originalTeX{\the\toks@\<babel@\number\babel@savecnt>\relax}}%
+ \advance\babel@savecnt\@ne
+ \fi}
\def\babel@savevariable#1{%
\toks@\expandafter{\originalTeX #1=}%
\bbl@exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -2764,62 +2764,18 @@
\fi}%
\fi
% == Counters: mapdigits ==
- % Native digits (lua level).
- \ifodd\bbl@engine
- \ifx\bbl@KVP@mapdigits\@nnil\else
- \bbl@ifunset{bbl@dgnat@\languagename}{}%
- {\RequirePackage{luatexbase}%
- \bbl@activate@preotf
- \directlua{
- Babel = Babel or {} %%% -> presets in luababel
- Babel.digits_mapped = true
- Babel.digits = Babel.digits or {}
- Babel.digits[\the\localeid] =
- table.pack(string.utfvalue('\bbl@cl{dgnat}'))
- if not Babel.numbers then
- function Babel.numbers(head)
- local LOCALE = Babel.attr_locale
- local GLYPH = node.id'glyph'
- local inmath = false
- for item in node.traverse(head) do
- if not inmath and item.id == GLYPH then
- local temp = node.get_attribute(item, LOCALE)
- if Babel.digits[temp] then
- local chr = item.char
- if chr > 47 and chr < 58 then
- item.char = Babel.digits[temp][chr-47]
- end
- end
- elseif item.id == node.id'math' then
- inmath = (item.subtype == 0)
- end
- end
- return head
- end
- end
- }}%
- \fi
- \fi
+ % > luababel.def
% == Counters: alph, Alph ==
- % What if extras<lang> contains a \babel@save\@alph? It won't be
- % restored correctly when exiting the language, so we ignore
- % this change with the \bbl@alph@saved trick.
\ifx\bbl@KVP@alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@alph@saved}%
- {\let\bbl@alph@saved\@alph}%
- {\let\@alph\bbl@alph@saved
- \babel@save\@alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@alph
\let\\\@alph\<bbl@cntr@\bbl@KVP@alph @\languagename>}}%
\fi
\ifx\bbl@KVP@Alph\@nnil\else
- \bbl@extras@wrap{\\\bbl@Alph@saved}%
- {\let\bbl@Alph@saved\@Alph}%
- {\let\@Alph\bbl@Alph@saved
- \babel@save\@Alph}%
\bbl@exp{%
- \\\bbl@add\<extras\languagename>{%
+ \\\bbl@add\<bbl@preextras@\languagename>{%
+ \\\babel@save\\\@Alph
\let\\\@Alph\<bbl@cntr@\bbl@KVP@Alph @\languagename>}}%
\fi
% == Calendars ==
@@ -2840,6 +2796,9 @@
\ifx\bbl@tempb\@empty\else
,variant=\bbl@tempb
\fi}%
+ % == engine specific extensions ==
+ % Defined in XXXbabel.def
+ \bbl@provide@extra{#2}%
% == require.babel in ini ==
% To load or reaload the babel-*.tex, if require.babel in ini
\ifx\bbl@beforestart\relax\else % But not in doc aux or body
@@ -2871,19 +2830,7 @@
{\bbl@post@fs}%
\fi
% == transforms ==
- \ifodd\bbl@engine
- \ifx\bbl@KVP@transforms\@nnil\else
- \def\bbl@elt##1##2##3{%
- \in@{$transforms.}{$##1}%
- \ifin@
- \def\bbl@tempa{##1}%
- \bbl@replace\bbl@tempa{transforms.}{}%
- \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
- \fi}%
- \csname bbl@inidata@\languagename\endcsname
- \bbl@release@transforms\relax % \relax closes the last item.
- \fi
- \fi
+ % > luababel.def
% == main ==
\ifx\bbl@KVP@main\@nnil % Restore only if not 'main'
\let\languagename\bbl@savelangname
@@ -2981,6 +2928,11 @@
{}%
{\bbl@exp{\let\bbl@tempa\<l@##1>}}%
\fi}%
+ \ifx\bbl@tempa\relax
+ \bbl@warning{%
+ Requested 'hyphenrules=' for '\languagename' not found.\\%
+ Using the default value. Reported}%
+ \fi
\fi
\ifx\bbl@tempa\relax % if no opt or no language in opt found
\ifx\bbl@KVP@import\@nnil
@@ -3802,8 +3754,6 @@
\bbl@adjust@layout{\let\list\bbl@NL@list}}
\@namedef{bbl@ADJ@layout.lists@off}{%
\bbl@adjust@layout{\let\list\bbl@OL@list}}
-\@namedef{bbl@ADJ@hyphenation.extra@on}{%
- \bbl@activateposthyphen}
\@namedef{bbl@ADJ@autoload.bcp47@on}{%
\bbl@bcpallowedtrue}
\@namedef{bbl@ADJ@autoload.bcp47@off}{%
@@ -3848,8 +3798,12 @@
\let\bbl@restorelastskip\relax
\let\bbl@savelastskip\relax}
\@namedef{bbl@ADJ@select.write@omit}{%
+ \AddBabelHook{babel-select}{beforestart}{%
+ \expandafter\babel@aux\expandafter{\bbl@main@language}{}}%
\let\bbl@restorelastskip\relax
\def\bbl@savelastskip##1\bbl@restorelastskip{}}
+\@namedef{bbl@ADJ@select.encoding@off}{%
+ \let\bbl@encoding@select@off\@empty}
\ifx\directlua\@undefined\else
\ifx\bbl@luapatterns\@undefined
\input luababel.def
@@ -3969,9 +3923,9 @@
\\\org@markright{\\\protect\\\foreignlanguage{\languagename}%
{\\\protect\\\bbl@restore@actives\the\toks@}}}}}%
\ifx\@mkboth\markboth
- \def\bbl@tempc{\let\@mkboth\markboth}
+ \def\bbl@tempc{\let\@mkboth\markboth}%
\else
- \def\bbl@tempc{}
+ \def\bbl@tempc{}%
\fi
\bbl@ifunset{markboth }\bbl@redefine\bbl@redefinerobust
\markboth#1#2{%
@@ -3984,7 +3938,7 @@
\bbl@ifblank{#2}%
{\@temptokena{}}%
{\@temptokena\expandafter{\bbl@tempb{#2}}}%
- \bbl@exp{\\\org@markboth{\the\toks@}{\the\@temptokena}}}
+ \bbl@exp{\\\org@markboth{\the\toks@}{\the\@temptokena}}}%
\bbl@tempc
\fi} % end ifbbl@single, end \IfBabelLayout
\bbl@trace{Preventing clashes with other packages}
@@ -4448,8 +4402,8 @@
{Languages have been loaded, so I can do nothing}}
\ifx\bbl@main@language\@undefined
\bbl@info{%
- You haven't specified a language. I'll use 'nil'\\%
- as the main language. Reported}
+ You haven't specified a language as a class or package\\%
+ option. I'll load 'nil'. Reported}
\bbl@load@language{nil}
\fi
\endinput
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index bd092a30571..340cd8fd97f 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/11/30 3.83 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2022/12/26 3.84 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.83}
-\def\bbl@date{2022/11/30}
+\def\bbl@version{3.84}
+\def\bbl@date{2022/12/26}
\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 02f07a141cc..95541fd0d87 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.11
-date = 2022-06-02
+version = 1.12
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-algeria arabic-dz
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index 26f4c315807..a9d1be36145 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2022-06-14
+version = 1.2
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-egypt arabic-eg
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index bf81451876a..9c86fd13c0e 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-02
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-iraq arabic-iq
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index a3249a4ba30..ac7c2f5c349 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-02
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-jordan arabic-jo
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index d80fd914ee4..6a42a499f52 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-02
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-lebanon arabic-lb
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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 b93c38d3f40..dd03dd797c9 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.11
-date = 2022-06-02
+version = 1.12
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-morocco arabic-ma
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index dde90f0cd3c..10b74d59d30 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-02
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-palestinianterritories arabic-ps
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini
index 2a289e4688b..49e23db6a4e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-11
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-saudiarabia arabic-sa
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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 ed70704359c..0a55703d247 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.11
-date = 2022-06-02
+version = 1.12
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-syria arabic-sy
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
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
index 4e3d2cc461c..1a7d1a538dd 100644
--- 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
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-06-02
+version = 1.1
+date = 2022-12-08
name.local = العربية
name.english = Arabic
name.babel = arabic-tunisia arabic-tn
@@ -24,7 +24,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini
index 1901337e6f1..dbe5a764070 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-06-14
+version = 1.5
+date = 2022-12-08
name.local = азәрбајҹан
name.english = Azerbaijani
name.babel = azerbaijani-cyrillic azerbaijani-cyrl
@@ -21,7 +21,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini
index cf7d319d671..ee53fbb0ef7 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-06-14
+version = 1.5
+date = 2022-12-08
name.local = azərbaycan
name.english = Azerbaijani
name.babel = azerbaijani-latin azerbaijani-latn
@@ -21,7 +21,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini
index b058ff55712..25db5c6a6f9 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-06-14
+version = 1.5
+date = 2022-12-08
name.local = azərbaycan
name.english = Azerbaijani
name.babel = azerbaijani
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
index fd530268621..44d1f3958d2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.8
-date = 2022-09-11
+version = 1.9
+date = 2022-12-08
name.local = беларуская
name.english = Belarusian
name.babel = belarusian
@@ -23,7 +23,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings = T2A
+encodings = T2A T2B
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini b/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini
index ba9b2ab9476..f181f79b3db 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2022-09-11
+version = 1.6
+date = 2022-12-08
name.local = български
name.english = Bulgarian
name.babel = bulgarian
@@ -23,7 +23,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings = T2A
+encodings = T2A T2B T2C
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini b/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini
index de2c457d5b8..23cc6bd1e11 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-06-14
+version = 1.5
+date = 2022-12-08
name.local = босански
name.english = Bosnian
name.babel = bosnian-cyrillic bosnian-cyrl
@@ -21,7 +21,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A T2B
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini b/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini
index 081fa8513b1..03b8853bd6d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-07-02
+version = 1.5
+date = 2022-12-08
name.local = нохчийн
name.english = Chechen
name.babel = chechen
@@ -22,7 +22,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini b/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini
index 109ac13042e..0691d412523 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-07-02
+version = 1.5
+date = 2022-12-08
name.local = ᏣᎳᎩ
name.english = Cherokee
name.babel = cherokee
@@ -22,7 +22,7 @@ script.name = Cherokee
script.tag.bcp47 = Cher
script.tag.opentype = cher
level = 1
-encodings =
+encodings = LCH
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini
index 558f34f5ca3..7f5a5627ad1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-07-02
+version = 1.7
+date = 2022-12-08
name.local = کوردیی ناوەندی
name.english = Central Kurdish
name.babel = sorani centralkurdish
@@ -27,7 +27,7 @@ script.tag.bcp47 = Arab
script.tag.opentype = arab
polyglossia.variant = sorani
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
index 98b4b3102ad..538f6426138 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-06-30
+version = 1.5
+date = 2022-12-08
name.local = Kurdîy nawendî
name.english = Central Kurdish
name.babel = sorani centralkurdish-latin
@@ -25,7 +25,7 @@ script.tag.bcp47 = Latn
script.tag.opentype = latn
polyglossia.variant = sorani
level = 1
-encodings =
+encodings = T1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
index d7c30f0297d..627d3defb26 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-07-02
+version = 1.7
+date = 2022-12-08
name.local = کوردیی ناوەندی
name.english = Central Kurdish
name.babel = sorani centralkurdish
@@ -27,7 +27,7 @@ script.tag.bcp47 = Arab
script.tag.opentype = arab
polyglossia.variant = sorani
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
index 49a519c60ad..15248a46c52 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-12-08
name.local = словѣ́ньскъ ѩꙁꙑ́къ
name.english = Church Slavic
name.babel = churchslavic-oldcyrillic
@@ -22,7 +22,7 @@ script.name = Old Church Slavonic Cyrillic
script.tag.bcp47 = Cyrs
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
index d59891d83a8..25ba69a3288 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-06-30
+version = 1.4
+date = 2022-12-08
name.local = црькъвьнословѣньскъ ѩзыкъ
name.english = Church Slavic
name.babel = churchslavic churchslavonic
@@ -23,7 +23,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
index 2e9e0785a38..fae996d724e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.10
-date = 2022-07-03
+version = 1.11
+date = 2022-12-08
name.local = فارسی
name.english = Persian
name.babel = persian
@@ -23,7 +23,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini b/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini
index a6a193ff006..dc3a10cb5e2 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-07-03
+version = 1.5
+date = 2022-12-08
name.local = Frysk
name.english = Western Frisian
name.babel = westernfrisian
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini b/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini
index c3f0ad9dbfc..479e3d2668f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2022-09-01
+version = 1.4
+date = 2022-12-08
name.local = Hausa
name.english = Hausa
name.babel = hausa-niger hausa-ne
@@ -24,7 +24,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T4
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini b/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini
index 1d667f03dd4..8ad8fe215fe 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = ʻŌlelo Hawaiʻi
name.english = Hawaiian
name.babel = hawaiian
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
index d377bfd44ed..d8c85d0ec5e 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-09-01
+version = 1.7
+date = 2022-12-08
name.local = עברית
name.english = Hebrew
name.babel = hebrew
@@ -23,7 +23,7 @@ script.name = Hebrew
script.tag.bcp47 = Hebr
script.tag.opentype = hebr
level = 1
-encodings =
+encodings = LHE H8
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
index f90a1f60704..36df7a666f8 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.9
-date = 2022-09-11
+version = 1.10
+date = 2022-12-08
name.local = հայերեն
name.english = Armenian
name.babel = armenian
@@ -25,7 +25,7 @@ script.name = Armenian
script.tag.bcp47 = Armn
script.tag.opentype = armn
level = 1
-encodings =
+encodings = OT6
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini b/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini
index c1e405f8670..f6079f7494c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2022-12-08
name.local = Taqbaylit
name.english = Kabyle
name.babel = kabyle
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T4
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini b/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini
index 920244ed0f3..062125e8d8b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2022-12-08
name.local = kabuverdianu
name.english = Kabuverdianu
name.babel = kabuverdianu
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini b/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini
index ce72754d85b..b0aa146bc61 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-10-24
+version = 1.1
+date = 2022-12-08
name.local = kanhgág
name.english = Kaingang
name.babel = kaingang
@@ -20,7 +20,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini b/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini
index f2f4965e173..e2b3b1eed12 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2022-12-08
name.local = қазақ тілі
name.english = Kazakh
name.babel = kazakh
@@ -22,7 +22,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini b/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini
index 582c5f58f5f..35fb4e16c04 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2022-12-08
name.local = kalaallisut
name.english = Kalaallisut
name.babel = kalaallisut
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini
index 96be50d59f1..afd6835db13 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.1
-date = 2020-06-30
+version = 1.2
+date = 2022-12-08
name.local = کورمانجی
name.english = Northern Kurdish
name.babel = kurmanji northernkurdish-arabic
@@ -23,7 +23,7 @@ script.tag.bcp47 = Arab
script.tag.opentype = arab
polyglossia.variant = kurmanji
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini b/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini
index a996a6a56d2..4f8875adf9c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2022-09-07
+version = 1.6
+date = 2022-12-08
name.local = کٲشُر
name.english = Kashmiri
name.babel = kashmiri
@@ -22,7 +22,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini b/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini
index dfbff84e942..e110c1f7d8c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-07
+version = 1.5
+date = 2022-12-08
name.local = кыргызча
name.english = Kyrgyz
name.babel = kyrgyz
@@ -22,7 +22,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A T2B
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini b/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini
index 1ab322f7a29..49fa90bbf15 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Kɨlaangi
name.english = Langi
name.babel = langi
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini b/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini
index 28187137905..dd5002ef13d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-07
+version = 1.5
+date = 2022-12-08
name.local = Lakȟólʼiyapi
name.english = Lakota
name.babel = lakota
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T4
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
index 40ed2174c96..ea33f69050c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-09-07
+version = 1.7
+date = 2022-12-08
name.local = لۊری شومالی
name.english = Northern Luri
name.babel = northernluri
@@ -22,7 +22,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini b/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
index b0e1879823e..d7ae9623b3c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2022-09-11
+version = 1.6
+date = 2022-12-08
name.local = lietuvių
name.english = Lithuanian
name.babel = lithuanian
@@ -23,7 +23,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings = L7x
+encodings = T1 OT1 L7x
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini b/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini
index 80e5e14312d..76da7bb7b61 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Maa
name.english = Masai
name.babel = masai
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T4
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini b/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini
index 8c2c84c55bb..aac7b0c3977 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-09-07
+version = 1.5
+date = 2022-12-08
name.local = монгол
name.english = Mongolian
name.babel = mongolian
@@ -23,7 +23,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A T2B
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini b/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini
index a4504bda0be..d2b78fd3c61 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-10-12
+version = 1.5
+date = 2022-12-08
name.local = Malti
name.english = Maltese
name.babel = maltese
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini b/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini
index e167add0e32..5c3055cfd28 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Mundaŋ
name.english = Mundang
name.babel = mundang
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
index 18d67433e8b..234c7a1774a 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-09-24
+version = 1.7
+date = 2022-12-08
name.local = مازرونی
name.english = Mazanderani
name.babel = mazanderani
@@ -22,7 +22,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LFE LAE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini b/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini
index 700252d7ee2..1b45d418f8d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Khoekhoegowab
name.english = Nama
name.babel = nama
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini b/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini
index 1f417918b1e..f559783cfaa 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-10-12
+version = 1.5
+date = 2022-12-08
name.local = ирон
name.english = Ossetic
name.babel = ossetic
@@ -22,7 +22,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini
index c26eed50ccc..17c0126b1f8 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-12-08
name.local = پنجابی
name.english = Punjabi
name.babel = punjabi-arabic punjabi-arab
@@ -21,7 +21,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
index 1dcff9602bc..67b0eaa5441 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-10-12
+version = 1.7
+date = 2022-12-08
name.local = پښتو
name.english = Pashto
name.babel = pashto
@@ -22,7 +22,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LFE LAE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
index 01570f15f2c..1469a24c5f3 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
@@ -1,3 +1,4 @@
+
; 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:
@@ -9,8 +10,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2022-10-12
+version = 1.7
+date = 2022-12-08
name.local = русский
name.english = Russian
name.babel = russian
@@ -23,7 +24,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings = T2A
+encodings = T2A T2B T2C
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini b/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini
index 290093b922d..ae14acb39f0 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2022-10-12
+version = 1.5
+date = 2022-12-08
name.local = саха тыла
name.english = Sakha
name.babel = sakha
@@ -22,7 +22,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini b/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini
index ed9be768b33..f1581c346a6 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-10-24
+version = 1.1
+date = 2022-12-08
name.local = sardu
name.english = Sardinian
name.babel = sardinian
@@ -20,7 +20,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini b/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini
index 92f7d9dbe6e..fa0a90dc814 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Tashelḥiyt
name.english = Tachelhit
name.babel = tachelhit-latin tachelhit-latn
@@ -21,7 +21,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T4
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini b/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini
index 57b9c3d1c9e..a5c9bc5607d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = anarâškielâ
name.english = Inari Sami
name.babel = inarisami
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
index b95a20ac5e4..747ab6095e9 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.10
-date = 2022-09-12
+version = 1.11
+date = 2022-12-08
name.local = ไทย
name.english = Thai
name.babel = thai
@@ -23,7 +23,7 @@ script.name = Thai
script.tag.bcp47 = Thai
script.tag.opentype = thai
level = 1
-encodings =
+encodings = LTH
derivate = no
require.babel = thai
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
index 395d9136094..96b7fee1eeb 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
@@ -12,8 +12,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2021-04-05
+version = 1.7
+date = 2022-12-08
name.local = ئۇيغۇرچە
name.english = Uyghur
name.babel = uyghur
@@ -25,7 +25,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
require.babel = uyghur
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini b/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini
index b1225f239bc..fcdfee2ef10 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-12-08
name.local = اردو
name.english = Urdu
name.babel = urdu
@@ -25,7 +25,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LFE LAE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini b/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini
index 5002c3804c6..8585517f1a9 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-12-08
name.local = اوزبیک
name.english = Uzbek
name.babel = uzbek-arabic uzbek-arab
@@ -21,7 +21,7 @@ script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
level = 1
-encodings =
+encodings = LAE LFE
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini b/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini
index 761cfb660e9..0fbc2733959 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = ўзбекча
name.english = Uzbek
name.babel = uzbek-cyrillic uzbek-cyrl
@@ -21,7 +21,7 @@ script.name = Cyrillic
script.tag.bcp47 = Cyrl
script.tag.opentype = cyrl
level = 1
-encodings =
+encodings = T2A
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini b/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
index f1bc93dfe25..dd8c9653c1b 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = ייִדיש
name.english = Yiddish
name.babel = yiddish
@@ -22,7 +22,7 @@ script.name = Hebrew
script.tag.bcp47 = Hebr
script.tag.opentype = hebr
level = 1
-encodings =
+encodings = LHE H8
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini b/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini
index 55f96643d55..0e933d955f0 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.3
-date = 2020-10-11
+version = 1.4
+date = 2022-12-08
name.local = Èdè Yorùbá
name.english = Yoruba
name.babel = yoruba
@@ -22,7 +22,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini b/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini
index fb15865abd7..5fdea20c189 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini
@@ -7,8 +7,8 @@
[identification]
charset = utf8
-version = 1.0
-date = 2022-10-24
+version = 1.1
+date = 2022-12-08
name.local = nheẽgatu
name.english = Nheengatu
name.babel = nheengatu
@@ -20,7 +20,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings =
+encodings = T1 OT1
derivate = no
[captions]
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 3e8f89ee4ea..30f8c2000db 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -284,6 +284,14 @@
Babel.script_blocks[script], {tonumber(s,16), tonumber(e,16)})
end
end
+ function Babel.discard_sublr(str)
+ if str:find( [[\string\indexentry]] ) and
+ str:find( [[\string\babelsublr]] ) then
+ str = str:gsub( [[\string\babelsublr%s*(%b{})]],
+ function(m) return m:sub(2,-2) end )
+ end
+ return str
+end
}
\endgroup
\ifx\newattribute\@undefined\else
@@ -1415,10 +1423,10 @@ end
\bbl@add\normalfont{\bbl@eqnodir}%
\ifnum\bbl@eqnpos=\@ne
\def\@eqnnum{%
- \setbox\z@\hbox{\bbl@eqnum}%
- \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+ \setbox\z@\hbox{\bbl@eqnum}%
+ \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
\else
- \let\@eqnnum\bbl@eqnum
+ \let\@eqnnum\bbl@eqnum
\fi
\fi}
% Hack. YA luatex bug?:
@@ -1493,6 +1501,54 @@ end
\fi
\fi}
\fi
+\def\bbl@provide@extra#1{%
+ % == Counters: mapdigits ==
+ % Native digits
+ \ifx\bbl@KVP@mapdigits\@nnil\else
+ \bbl@ifunset{bbl@dgnat@\languagename}{}%
+ {\RequirePackage{luatexbase}%
+ \bbl@activate@preotf
+ \directlua{
+ Babel = Babel or {} %%% -> presets in luababel
+ Babel.digits_mapped = true
+ Babel.digits = Babel.digits or {}
+ Babel.digits[\the\localeid] =
+ table.pack(string.utfvalue('\bbl@cl{dgnat}'))
+ if not Babel.numbers then
+ function Babel.numbers(head)
+ local LOCALE = Babel.attr_locale
+ local GLYPH = node.id'glyph'
+ local inmath = false
+ for item in node.traverse(head) do
+ if not inmath and item.id == GLYPH then
+ local temp = node.get_attribute(item, LOCALE)
+ if Babel.digits[temp] then
+ local chr = item.char
+ if chr > 47 and chr < 58 then
+ item.char = Babel.digits[temp][chr-47]
+ end
+ end
+ elseif item.id == node.id'math' then
+ inmath = (item.subtype == 0)
+ end
+ end
+ return head
+ end
+ end
+ }}%
+ \fi
+ % == transforms ==
+ \ifx\bbl@KVP@transforms\@nnil\else
+ \def\bbl@elt##1##2##3{%
+ \in@{$transforms.}{$##1}%
+ \ifin@
+ \def\bbl@tempa{##1}%
+ \bbl@replace\bbl@tempa{transforms.}{}%
+ \bbl@carg\bbl@transforms{babel\bbl@tempa}{##2}{##3}%
+ \fi}%
+ \csname bbl@inidata@\languagename\endcsname
+ \bbl@release@transforms\relax % \relax closes the last item.
+ \fi}
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
\ifnum\bbl@bidimode>\z@
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
@@ -1626,6 +1682,12 @@ end
\fi
}}
{}
+\IfBabelLayout{counters*}%
+ {\bbl@add\bbl@opt@layout{.counters.}%
+ \directlua{
+ luatexbase.add_to_callback("process_output_buffer",
+ Babel.discard_sublr , "Babel.discard_sublr") }%
+ }{}
\IfBabelLayout{counters}%
{\let\bbl@OL@@textsuperscript\@textsuperscript
\bbl@sreplace\@textsuperscript{\m@th}{\m@th\mathdir\pagedir}%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 158f80d2a2c..64fc65b5a74 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/11/30 3.83 Nil language]
+\ProvidesLanguage{nil}[2022/12/26 3.84 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index b6a4aa89585..cb34d09338a 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -37,7 +37,7 @@
\bbl@trace{Redefinitions for bidi layout}
\def\bbl@sspre@caption{%
\bbl@exp{\everyhbox{\\\bbl@textdir\bbl@cs{wdir@\bbl@main@language}}}}
-\ifx\bbl@opt@layout\@nnil\endinput\fi % No layout
+\ifx\bbl@opt@layout\@nnil\else % if layout=..
\def\bbl@startskip{\ifcase\bbl@thepardir\leftskip\else\rightskip\fi}
\def\bbl@endskip{\ifcase\bbl@thepardir\rightskip\else\leftskip\fi}
\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
@@ -144,6 +144,16 @@
\BabelFootnote\localfootnote\languagename{}{}%
\BabelFootnote\mainfootnote{}{}{}}
{}
+\IfBabelLayout{counters*}%
+ {\bbl@add\bbl@opt@layout{.counters.}%
+ \AddToHook{shipout/before}{%
+ \let\bbl@tempa\babelsublr
+ \let\babelsublr\@firstofone
+ \let\bbl@save@thepage\thepage
+ \protected@edef\thepage{\thepage}%
+ \let\babelsublr\bbl@tempa}%
+ \AddToHook{shipout/after}{%
+ \let\thepage\bbl@save@thepage}}{}
\IfBabelLayout{counters}%
{\let\bbl@latinarabic=\@arabic
\def\@arabic#1{\babelsublr{\bbl@latinarabic#1}}%
@@ -151,6 +161,43 @@
\def\@roman#1{\babelsublr{\ensureascii{\bbl@asciiroman#1}}}%
\let\bbl@asciiRoman=\@Roman
\def\@Roman#1{\babelsublr{\ensureascii{\bbl@asciiRoman#1}}}}{}
+\fi % end if layout
+\def\bbl@provide@extra#1{%
+ % == auto-select encoding ==
+ \ifx\bbl@encoding@select@off\@empty\else
+ \bbl@ifunset{bbl@encoding@#1}%
+ {\def\@elt##1{,##1,}%
+ \edef\bbl@tempe{\expandafter\@gobbletwo\@fontenc@load@list}%
+ \count@\z@
+ \bbl@foreach\bbl@tempe{%
+ \def\bbl@tempd{##1}% Save last declared
+ \advance\count@\@ne}%
+ \ifnum\count@>\@ne
+ \getlocaleproperty*\bbl@tempa{#1}{identification/encodings}%
+ \ifx\bbl@tempa\relax \let\bbl@tempa\@empty \fi
+ \bbl@replace\bbl@tempa{ }{,}%
+ \global\bbl@csarg\let{encoding@#1}\@empty
+ \bbl@xin@{,\bbl@tempd,}{,\bbl@tempa,}%
+ \ifin@\else % if main encoding included in ini, do nothing
+ \let\bbl@tempb\relax
+ \bbl@foreach\bbl@tempa{%
+ \ifx\bbl@tempb\relax
+ \bbl@xin@{,##1,}{,\bbl@tempe,}%
+ \ifin@\def\bbl@tempb{##1}\fi
+ \fi}%
+ \ifx\bbl@tempb\relax\else
+ \bbl@exp{%
+ \global\<bbl@add>\<bbl@preextras@#1>{\<bbl@encoding@#1>}%
+ \gdef\<bbl@encoding@#1>{%
+ \\\babel@save\\\f@encoding
+ \\\bbl@add\\\originalTeX{\\\selectfont}%
+ \\\fontencoding{\bbl@tempb}%
+ \\\selectfont}}%
+ \fi
+ \fi
+ \fi}%
+ {}%
+ \fi}
\endinput
%%
%% End of file `txtbabel.def'.
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 5df64079805..83bbc23de04 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -260,7 +260,136 @@
\def\bbl@font@rst#1#2#3#4{%
\bbl@csarg\def{famrst@#4}{\bbl@font@set{#1}#2#3}}
\def\bbl@font@fams{rm,sf,tt}
-\input txtbabel.def
+\def\bbl@provide@extra#1{}
+\providecommand\bbl@provide@intraspace{}
+\bbl@trace{Redefinitions for bidi layout}
+\def\bbl@sspre@caption{%
+ \bbl@exp{\everyhbox{\\\bbl@textdir\bbl@cs{wdir@\bbl@main@language}}}}
+\ifx\bbl@opt@layout\@nnil\else % if layout=..
+\def\bbl@startskip{\ifcase\bbl@thepardir\leftskip\else\rightskip\fi}
+\def\bbl@endskip{\ifcase\bbl@thepardir\rightskip\else\leftskip\fi}
+\ifx\bbl@beforeforeign\leavevmode % A poor test for bidi=
+ \def\@hangfrom#1{%
+ \setbox\@tempboxa\hbox{{#1}}%
+ \hangindent\ifcase\bbl@thepardir\wd\@tempboxa\else-\wd\@tempboxa\fi
+ \noindent\box\@tempboxa}
+ \def\raggedright{%
+ \let\\\@centercr
+ \bbl@startskip\z@skip
+ \@rightskip\@flushglue
+ \bbl@endskip\@rightskip
+ \parindent\z@
+ \parfillskip\bbl@startskip}
+ \def\raggedleft{%
+ \let\\\@centercr
+ \bbl@startskip\@flushglue
+ \bbl@endskip\z@skip
+ \parindent\z@
+ \parfillskip\bbl@endskip}
+\fi
+\IfBabelLayout{lists}
+ {\bbl@sreplace\list
+ {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl@listleftmargin}%
+ \def\bbl@listleftmargin{%
+ \ifcase\bbl@thepardir\leftmargin\else\rightmargin\fi}%
+ \ifcase\bbl@engine
+ \def\labelenumii{)\theenumii(}% pdftex doesn't reverse ()
+ \def\p@enumiii{\p@enumii)\theenumii(}%
+ \fi
+ \bbl@sreplace\@verbatim
+ {\leftskip\@totalleftmargin}%
+ {\bbl@startskip\textwidth
+ \advance\bbl@startskip-\linewidth}%
+ \bbl@sreplace\@verbatim
+ {\rightskip\z@skip}%
+ {\bbl@endskip\z@skip}}%
+ {}
+\IfBabelLayout{contents}
+ {\bbl@sreplace\@dottedtocline{\leftskip}{\bbl@startskip}%
+ \bbl@sreplace\@dottedtocline{\rightskip}{\bbl@endskip}}
+ {}
+\IfBabelLayout{columns}
+ {\bbl@sreplace\@outputdblcol{\hb@xt@\textwidth}{\bbl@outputhbox}%
+ \def\bbl@outputhbox#1{%
+ \hb@xt@\textwidth{%
+ \hskip\columnwidth
+ \hfil
+ {\normalcolor\vrule \@width\columnseprule}%
+ \hfil
+ \hb@xt@\columnwidth{\box\@leftcolumn \hss}%
+ \hskip-\textwidth
+ \hb@xt@\columnwidth{\box\@outputbox \hss}%
+ \hskip\columnsep
+ \hskip\columnwidth}}}%
+ {}
+\bbl@trace{Bidi footnotes}
+\ifnum\bbl@bidimode>\z@
+ \def\bbl@footnote#1#2#3{%
+ \@ifnextchar[%
+ {\bbl@footnote@o{#1}{#2}{#3}}%
+ {\bbl@footnote@x{#1}{#2}{#3}}}
+ \long\def\bbl@footnote@x#1#2#3#4{%
+ \bgroup
+ \select@language@x{\bbl@main@language}%
+ \bbl@fn@footnote{#2#1{\ignorespaces#4}#3}%
+ \egroup}
+ \long\def\bbl@footnote@o#1#2#3[#4]#5{%
+ \bgroup
+ \select@language@x{\bbl@main@language}%
+ \bbl@fn@footnote[#4]{#2#1{\ignorespaces#5}#3}%
+ \egroup}
+ \def\bbl@footnotetext#1#2#3{%
+ \@ifnextchar[%
+ {\bbl@footnotetext@o{#1}{#2}{#3}}%
+ {\bbl@footnotetext@x{#1}{#2}{#3}}}
+ \long\def\bbl@footnotetext@x#1#2#3#4{%
+ \bgroup
+ \select@language@x{\bbl@main@language}%
+ \bbl@fn@footnotetext{#2#1{\ignorespaces#4}#3}%
+ \egroup}
+ \long\def\bbl@footnotetext@o#1#2#3[#4]#5{%
+ \bgroup
+ \select@language@x{\bbl@main@language}%
+ \bbl@fn@footnotetext[#4]{#2#1{\ignorespaces#5}#3}%
+ \egroup}
+ \def\BabelFootnote#1#2#3#4{%
+ \ifx\bbl@fn@footnote\@undefined
+ \let\bbl@fn@footnote\footnote
+ \fi
+ \ifx\bbl@fn@footnotetext\@undefined
+ \let\bbl@fn@footnotetext\footnotetext
+ \fi
+ \bbl@ifblank{#2}%
+ {\def#1{\bbl@footnote{\@firstofone}{#3}{#4}}
+ \@namedef{\bbl@stripslash#1text}%
+ {\bbl@footnotetext{\@firstofone}{#3}{#4}}}%
+ {\def#1{\bbl@exp{\\\bbl@footnote{\\\foreignlanguage{#2}}}{#3}{#4}}%
+ \@namedef{\bbl@stripslash#1text}%
+ {\bbl@exp{\\\bbl@footnotetext{\\\foreignlanguage{#2}}}{#3}{#4}}}}
+\fi
+\IfBabelLayout{footnotes}%
+ {\BabelFootnote\footnote\languagename{}{}%
+ \BabelFootnote\localfootnote\languagename{}{}%
+ \BabelFootnote\mainfootnote{}{}{}}
+ {}
+\IfBabelLayout{counters*}%
+ {\bbl@add\bbl@opt@layout{.counters.}%
+ \AddToHook{shipout/before}{%
+ \let\bbl@tempa\babelsublr
+ \let\babelsublr\@firstofone
+ \let\bbl@save@thepage\thepage
+ \protected@edef\thepage{\thepage}%
+ \let\babelsublr\bbl@tempa}%
+ \AddToHook{shipout/after}{%
+ \let\thepage\bbl@save@thepage}}{}
+\IfBabelLayout{counters}%
+ {\let\bbl@latinarabic=\@arabic
+ \def\@arabic#1{\babelsublr{\bbl@latinarabic#1}}%
+ \let\bbl@asciiroman=\@roman
+ \def\@roman#1{\babelsublr{\ensureascii{\bbl@asciiroman#1}}}%
+ \let\bbl@asciiRoman=\@Roman
+ \def\@Roman#1{\babelsublr{\ensureascii{\bbl@asciiRoman#1}}}}{}
+\fi % end if layout
\endinput
%%
%% End of file `xebabel.def'.