texlive[65366] Master/texmf-dist: babel (26dec22)

commits+karl at tug.org commits+karl at tug.org
Mon Dec 26 21:44:11 CET 2022


Revision: 65366
          http://tug.org/svn/texlive?view=revision&revision=65366
Author:   karl
Date:     2022-12-26 21:44:11 +0100 (Mon, 26 Dec 2022)
Log Message:
-----------
babel (26dec22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/babel/README.md
    trunk/Master/texmf-dist/doc/latex/babel/babel.pdf
    trunk/Master/texmf-dist/source/latex/babel/babel.dtx
    trunk/Master/texmf-dist/source/latex/babel/babel.ins
    trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx
    trunk/Master/texmf-dist/source/latex/babel/locale.zip
    trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
    trunk/Master/texmf-dist/tex/generic/babel/babel.def
    trunk/Master/texmf-dist/tex/generic/babel/babel.sty
    trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini
    trunk/Master/texmf-dist/tex/generic/babel/luababel.def
    trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
    trunk/Master/texmf-dist/tex/generic/babel/txtbabel.def
    trunk/Master/texmf-dist/tex/generic/babel/xebabel.def

Modified: trunk/Master/texmf-dist/doc/latex/babel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/babel/README.md	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 @@
 
 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 @@
 
 ### 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

Modified: trunk/Master/texmf-dist/doc/latex/babel/babel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 @@
 |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 @@
   |\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 @@
 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 @@
 \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 @@
 \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 @@
 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 @@
 
 \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 @@
 (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,9 +3756,12 @@
   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,15 +4158,38 @@
 \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}
 
 \begin{itemize}
@@ -4415,8 +4465,8 @@
   also use the new tools for encoded strings, described below.
 \item Avoid adding things to |\noextras|\m{lang} except for umlauthigh
   and friends, |\bbl at deactivate|, |\bbl@(non)frenchspacing|, and
-  language-specific macros. Use always, if possible, |\bbl at save| and
-  |\bbl at savevariable| (except if you still want to have access to the
+  language-specific macros. Use always, if possible, |\babel at save| and
+  |\babel at 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 @@
 % \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 @@
   \fi}
 %    \end{macrocode}
 %
-% An alternative to |\IfFormatAtLeastTF| for old versions. Temporary.
-%
-%    \begin{macrocode}  
-\ifx\IfFormatAtLeastTF\@undefined
-  \def\bbl at ifformatlater{\@ifl at t@r\fmtversion}
-\else
-  \let\bbl at 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 @@
 %
 %    \begin{macrocode}
 \newif\ifbbl at usedategroup
+\let\bbl at savedextras\@empty
 \def\bbl at switch#1{%  from select@, foreign@
   % make sure there is info for the language if so requested
   \bbl at ensureinfo{#1}%
@@ -6515,6 +6556,7 @@
     \fi
   \bbl at esphack
   % switch extras
+  \csname bbl at preextras@#1\endcsname
   \bbl at usehooks{beforeextras}{}%
   \csname extras#1\endcsname\relax
   \bbl at usehooks{afterextras}{}%
@@ -6522,6 +6564,7 @@
   %  > babel-sh-<short>
   %  > babel-bidi
   %  > babel-fontspec
+  \let\bbl at savedextras\@empty
   % hyphenation - case mapping
   \ifcase\bbl at opt@hyphenmap\or
     \def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -8440,15 +8483,23 @@
 % are appended to |\originalTeX| and the counter is incremented. The
 % macro |\babel at 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 at save#1{%
-  \expandafter\let\csname babel@\number\babel at savecnt\endcsname#1\relax
-  \toks@\expandafter{\originalTeX\let#1=}%
-  \bbl at exp{%
-    \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
-  \advance\babel at savecnt\@ne}
+  \def\bbl at tempa{{,#1,}}% Clumsy, for Plain
+  \expandafter\bbl at add\expandafter\bbl at tempa\expandafter{%
+    \expandafter{\expandafter,\bbl at savedextras,}}%
+  \expandafter\in@\bbl at tempa
+  \ifin@\else
+    \bbl at add\bbl at savedextras{,#1,}%
+    \bbl at carg\let{babel@\number\babel at savecnt}#1\relax
+    \toks@\expandafter{\originalTeX\let#1=}%
+    \bbl at exp{%
+      \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
+    \advance\babel at savecnt\@ne
+  \fi}
 \def\babel at savevariable#1{%
   \toks@\expandafter{\originalTeX #1=}%
   \bbl at exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -10010,62 +10061,18 @@
       \fi}%
   \fi
   % == Counters: mapdigits ==
-  % Native digits (lua level).
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@mapdigits\@nnil\else
-      \bbl at ifunset{bbl at dgnat@\languagename}{}%
-        {\RequirePackage{luatexbase}%
-         \bbl at 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 at 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 at save\@alph? It won't be
-  % restored correctly when exiting the language, so we ignore 
-  % this change with the \bbl at alph@saved trick.
   \ifx\bbl at KVP@alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at alph@saved}%
-      {\let\bbl at alph@saved\@alph}%
-      {\let\@alph\bbl at alph@saved
-       \babel at save\@alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@alph
         \let\\\@alph\<bbl at cntr@\bbl at KVP@alph @\languagename>}}%
   \fi
   \ifx\bbl at KVP@Alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at Alph@saved}%
-      {\let\bbl at Alph@saved\@Alph}%
-      {\let\@Alph\bbl at Alph@saved
-       \babel at save\@Alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@Alph
         \let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
   \fi
   % == Calendars ==
@@ -10086,6 +10093,9 @@
     \ifx\bbl at tempb\@empty\else
       ,variant=\bbl at tempb
     \fi}%
+  % == engine specific extensions ==
+  % Defined in XXXbabel.def
+  \bbl at provide@extra{#2}%
   % == require.babel in ini ==
   % To load or reaload the babel-*.tex, if require.babel in ini
   \ifx\bbl at beforestart\relax\else  % But not in doc aux or body
@@ -10117,19 +10127,7 @@
       {\bbl at post@fs}%
   \fi
   % == transforms ==
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@transforms\@nnil\else
-      \def\bbl at elt##1##2##3{%
-        \in@{$transforms.}{$##1}%
-        \ifin@
-          \def\bbl at tempa{##1}%
-          \bbl at replace\bbl at tempa{transforms.}{}%
-          \bbl at carg\bbl at transforms{babel\bbl at tempa}{##2}{##3}%
-        \fi}%
-      \csname bbl at inidata@\languagename\endcsname
-      \bbl at release@transforms\relax % \relax closes the last item.
-    \fi
-  \fi
+  % > luababel.def
   % == main ==
   \ifx\bbl at KVP@main\@nnil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
@@ -10248,6 +10246,11 @@
           {}%
           {\bbl at exp{\let\bbl at tempa\<l@##1>}}%
       \fi}%
+    \ifx\bbl at tempa\relax 
+      \bbl at warning{%
+        Requested 'hyphenrules=' for '\languagename' not found.\\%
+        Using the default value. Reported}%
+    \fi
   \fi
   \ifx\bbl at tempa\relax %         if no opt or no language in opt found
     \ifx\bbl at KVP@import\@nnil
@@ -11294,8 +11297,6 @@
   \bbl at adjust@layout{\let\list\bbl at NL@list}}
 \@namedef{bbl at ADJ@layout.lists at off}{%
   \bbl at adjust@layout{\let\list\bbl at OL@list}}
-\@namedef{bbl at ADJ@hyphenation.extra at on}{%
-  \bbl at activateposthyphen}
 %
 \@namedef{bbl at ADJ@autoload.bcp47 at on}{%
   \bbl at bcpallowedtrue}
@@ -11341,8 +11342,12 @@
   \let\bbl at restorelastskip\relax
   \let\bbl at savelastskip\relax}
 \@namedef{bbl at ADJ@select.write at omit}{%
+  \AddBabelHook{babel-select}{beforestart}{%
+    \expandafter\babel at aux\expandafter{\bbl at main@language}{}}%
   \let\bbl at restorelastskip\relax
   \def\bbl at savelastskip##1\bbl at restorelastskip{}}
+\@namedef{bbl at ADJ@select.encoding at off}{%
+  \let\bbl at encoding@select at off\@empty}
 %    \end{macrocode}
 %
 % As the final task, load the code for lua. TODO: use babel name, override 
@@ -11695,9 +11700,9 @@
 %
 %    \begin{macrocode}
      \ifx\@mkboth\markboth
-       \def\bbl at tempc{\let\@mkboth\markboth}
+       \def\bbl at tempc{\let\@mkboth\markboth}%
      \else
-       \def\bbl at tempc{}
+       \def\bbl at tempc{}%
      \fi
      \bbl at ifunset{markboth }\bbl at redefine\bbl at redefinerobust
      \markboth#1#2{%
@@ -11710,7 +11715,7 @@
        \bbl at ifblank{#2}%
          {\@temptokena{}}%
          {\@temptokena\expandafter{\bbl at tempb{#2}}}%
-       \bbl at exp{\\\org at markboth{\the\toks@}{\the\@temptokena}}}
+       \bbl at exp{\\\org at markboth{\the\toks@}{\the\@temptokena}}}%
        \bbl at tempc
      \fi}  % end ifbbl at single, end \IfBabelLayout
 %    \end{macrocode}
@@ -12516,8 +12521,8 @@
 %    \begin{macrocode}
 \ifx\bbl at main@language\@undefined
   \bbl at 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 at load@language{nil}
 \fi
 %</package>
@@ -13289,14 +13294,12 @@
 \AddBabelHook{babel-fontspec}{beforestart}{\bbl at ckeckstdfonts}
 \DisableBabelHook{babel-fontspec}
 <@Font selection@>
-\input txtbabel.def
+\def\bbl at 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 @@
 % which is the bidi model in both \pdftex{} and \xetex{}.
 %
 %    \begin{macrocode}
-%<*texxet>
+%<*xetex|texxet>
 \providecommand\bbl at provide@intraspace{}
 \bbl at trace{Redefinitions for bidi layout}
 \def\bbl at sspre@caption{%
   \bbl at exp{\everyhbox{\\\bbl at textdir\bbl at cs{wdir@\bbl at main@language}}}}
-\ifx\bbl at opt@layout\@nnil\endinput\fi  % No layout
+\ifx\bbl at opt@layout\@nnil\else % if layout=.. 
 \def\bbl at startskip{\ifcase\bbl at thepardir\leftskip\else\rightskip\fi}
 \def\bbl at endskip{\ifcase\bbl at thepardir\rightskip\else\leftskip\fi}
 \ifx\bbl at beforeforeign\leavevmode % A poor test for bidi=
@@ -13385,6 +13388,16 @@
 %      think there must be a better way.
 %
 %    \begin{macrocode}
+\IfBabelLayout{counters*}%
+  {\bbl at add\bbl at opt@layout{.counters.}%
+   \AddToHook{shipout/before}{%
+     \let\bbl at tempa\babelsublr
+     \let\babelsublr\@firstofone
+     \let\bbl at save@thepage\thepage
+     \protected at edef\thepage{\thepage}%
+     \let\babelsublr\bbl at tempa}%
+   \AddToHook{shipout/after}{%
+     \let\thepage\bbl at save@thepage}}{}
 \IfBabelLayout{counters}%
   {\let\bbl at latinarabic=\@arabic
    \def\@arabic#1{\babelsublr{\bbl at latinarabic#1}}%
@@ -13392,6 +13405,53 @@
    \def\@roman#1{\babelsublr{\ensureascii{\bbl at asciiroman#1}}}%
    \let\bbl at asciiRoman=\@Roman
    \def\@Roman#1{\babelsublr{\ensureascii{\bbl at 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 at provide@extra#1{%
+  % == auto-select encoding ==
+  \ifx\bbl at encoding@select at off\@empty\else
+    \bbl at ifunset{bbl at encoding@#1}%
+      {\def\@elt##1{,##1,}%
+       \edef\bbl at tempe{\expandafter\@gobbletwo\@fontenc at load@list}%
+       \count@\z@
+       \bbl at foreach\bbl at tempe{%
+         \def\bbl at tempd{##1}%  Save last declared
+         \advance\count@\@ne}%
+       \ifnum\count@>\@ne
+         \getlocaleproperty*\bbl at tempa{#1}{identification/encodings}%
+         \ifx\bbl at tempa\relax \let\bbl at tempa\@empty \fi
+         \bbl at replace\bbl at tempa{ }{,}%
+         \global\bbl at csarg\let{encoding@#1}\@empty
+         \bbl at xin@{,\bbl at tempd,}{,\bbl at tempa,}%
+         \ifin@\else % if main encoding included in ini, do nothing
+           \let\bbl at tempb\relax
+           \bbl at foreach\bbl at tempa{%
+             \ifx\bbl at tempb\relax
+               \bbl at xin@{,##1,}{,\bbl at tempe,}%
+               \ifin@\def\bbl at tempb{##1}\fi
+             \fi}%
+           \ifx\bbl at tempb\relax\else
+             \bbl at exp{%
+               \global\<bbl at add>\<bbl at preextras@#1>{\<bbl at encoding@#1>}%
+             \gdef\<bbl at encoding@#1>{%
+               \\\babel at save\\\f at encoding
+               \\\bbl at add\\\originalTeX{\\\selectfont}%
+               \\\fontencoding{\bbl at tempb}%
+               \\\selectfont}}%
+           \fi
+         \fi
+       \fi}%
+      {}%
+  \fi}
 %</texxet>
 %    \end{macrocode}
 %
@@ -13704,6 +13764,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
@@ -14826,10 +14894,10 @@
           \bbl at add\normalfont{\bbl at eqnodir}%
           \ifnum\bbl at eqnpos=\@ne
             \def\@eqnnum{%
-             \setbox\z@\hbox{\bbl at eqnum}%
-             \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+              \setbox\z@\hbox{\bbl at eqnum}%
+              \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
           \else
-             \let\@eqnnum\bbl at eqnum
+            \let\@eqnnum\bbl at eqnum
           \fi
         \fi}
       % Hack. YA luatex bug?:
@@ -14904,7 +14972,56 @@
       \fi
     \fi}
 \fi
+\def\bbl at provide@extra#1{%
+  % == Counters: mapdigits ==
+  % Native digits
+  \ifx\bbl at KVP@mapdigits\@nnil\else
+    \bbl at ifunset{bbl at dgnat@\languagename}{}%
+      {\RequirePackage{luatexbase}%
+       \bbl at 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 at 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 at KVP@transforms\@nnil\else
+    \def\bbl at elt##1##2##3{%
+      \in@{$transforms.}{$##1}%
+      \ifin@
+        \def\bbl at tempa{##1}%
+        \bbl at replace\bbl at tempa{transforms.}{}%
+        \bbl at carg\bbl at transforms{babel\bbl at tempa}{##2}{##3}%
+      \fi}%
+    \csname bbl at inidata@\languagename\endcsname
+    \bbl at release@transforms\relax % \relax closes the last item.
+  \fi}
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % if no layout
+%
 \ifnum\bbl at bidimode>\z@
   \def\bbl at nextfake#1{%  non-local changes, use always inside a group!
     \bbl at exp{%
@@ -15045,6 +15162,12 @@
 %      there are some additional readjustments for |bidi=default|.
 %
 %    \begin{macrocode}
+\IfBabelLayout{counters*}%
+  {\bbl at add\bbl at opt@layout{.counters.}%
+   \directlua{
+     luatexbase.add_to_callback("process_output_buffer",
+       Babel.discard_sublr , "Babel.discard_sublr") }%
+  }{}
 \IfBabelLayout{counters}%
   {\let\bbl at OL@@textsuperscript\@textsuperscript
    \bbl at sreplace\@textsuperscript{\m at th}{\m at th\mathdir\pagedir}%
@@ -22089,6 +22212,8 @@
   local has_en = false
   local first_et = nil
 
+  local has_hyperlink = false
+
   local ATDIR = Babel.attr_dir
 
   local save_outer
@@ -22200,8 +22325,11 @@
       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
     end
@@ -22400,7 +22528,37 @@
 
   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}

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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
 

Modified: trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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'

Modified: trunk/Master/texmf-dist/source/latex/babel/locale.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua	2022-12-26 20:44:11 UTC (rev 65366)
@@ -106,6 +106,8 @@
   local has_en = false
   local first_et = nil
 
+  local has_hyperlink = false
+
   local ATDIR = Babel.attr_dir
 
   local save_outer
@@ -219,6 +221,9 @@
     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 @@
 
   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

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.def	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 at single\endcsname
 \chardef\bbl at bidimode\z@
 \fi
-\def\bbl at version{3.83}
-\def\bbl at date{2022/11/30}
+\def\bbl at version{3.84}
+\def\bbl at date{2022/12/26}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi
@@ -640,6 +640,7 @@
 \def\babel at toc#1#2{%
   \select at language{#1}}
 \newif\ifbbl at usedategroup
+\let\bbl at savedextras\@empty
 \def\bbl at switch#1{%  from select@, foreign@
   % make sure there is info for the language if so requested
   \bbl at ensureinfo{#1}%
@@ -672,6 +673,7 @@
     \fi
   \bbl at esphack
   % switch extras
+  \csname bbl at preextras@#1\endcsname
   \bbl at usehooks{beforeextras}{}%
   \csname extras#1\endcsname\relax
   \bbl at usehooks{afterextras}{}%
@@ -679,6 +681,7 @@
   %  > babel-sh-<short>
   %  > babel-bidi
   %  > babel-fontspec
+  \let\bbl at savedextras\@empty
   % hyphenation - case mapping
   \ifcase\bbl at opt@hyphenmap\or
     \def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -1085,11 +1088,6 @@
   \else
     \expandafter\@firstofone
   \fi}
-\ifx\IfFormatAtLeastTF\@undefined
-  \def\bbl at ifformatlater{\@ifl at t@r\fmtversion}
-\else
-  \let\bbl at ifformatlater\IfFormatAtLeastTF
-\fi
 \def\bbl at 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 at savecnt
 \babel at beginsave
 \def\babel at save#1{%
-  \expandafter\let\csname babel@\number\babel at savecnt\endcsname#1\relax
-  \toks@\expandafter{\originalTeX\let#1=}%
-  \bbl at exp{%
-    \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
-  \advance\babel at savecnt\@ne}
+  \def\bbl at tempa{{,#1,}}% Clumsy, for Plain
+  \expandafter\bbl at add\expandafter\bbl at tempa\expandafter{%
+    \expandafter{\expandafter,\bbl at savedextras,}}%
+  \expandafter\in@\bbl at tempa
+  \ifin@\else
+    \bbl at add\bbl at savedextras{,#1,}%
+    \bbl at carg\let{babel@\number\babel at savecnt}#1\relax
+    \toks@\expandafter{\originalTeX\let#1=}%
+    \bbl at exp{%
+      \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
+    \advance\babel at savecnt\@ne
+  \fi}
 \def\babel at savevariable#1{%
   \toks@\expandafter{\originalTeX #1=}%
   \bbl at exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -2708,62 +2713,18 @@
       \fi}%
   \fi
   % == Counters: mapdigits ==
-  % Native digits (lua level).
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@mapdigits\@nnil\else
-      \bbl at ifunset{bbl at dgnat@\languagename}{}%
-        {\RequirePackage{luatexbase}%
-         \bbl at 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 at 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 at save\@alph? It won't be
-  % restored correctly when exiting the language, so we ignore
-  % this change with the \bbl at alph@saved trick.
   \ifx\bbl at KVP@alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at alph@saved}%
-      {\let\bbl at alph@saved\@alph}%
-      {\let\@alph\bbl at alph@saved
-       \babel at save\@alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@alph
         \let\\\@alph\<bbl at cntr@\bbl at KVP@alph @\languagename>}}%
   \fi
   \ifx\bbl at KVP@Alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at Alph@saved}%
-      {\let\bbl at Alph@saved\@Alph}%
-      {\let\@Alph\bbl at Alph@saved
-       \babel at save\@Alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@Alph
         \let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
   \fi
   % == Calendars ==
@@ -2784,6 +2745,9 @@
     \ifx\bbl at tempb\@empty\else
       ,variant=\bbl at tempb
     \fi}%
+  % == engine specific extensions ==
+  % Defined in XXXbabel.def
+  \bbl at provide@extra{#2}%
   % == require.babel in ini ==
   % To load or reaload the babel-*.tex, if require.babel in ini
   \ifx\bbl at beforestart\relax\else  % But not in doc aux or body
@@ -2815,19 +2779,7 @@
       {\bbl at post@fs}%
   \fi
   % == transforms ==
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@transforms\@nnil\else
-      \def\bbl at elt##1##2##3{%
-        \in@{$transforms.}{$##1}%
-        \ifin@
-          \def\bbl at tempa{##1}%
-          \bbl at replace\bbl at tempa{transforms.}{}%
-          \bbl at carg\bbl at transforms{babel\bbl at tempa}{##2}{##3}%
-        \fi}%
-      \csname bbl at inidata@\languagename\endcsname
-      \bbl at release@transforms\relax % \relax closes the last item.
-    \fi
-  \fi
+  % > luababel.def
   % == main ==
   \ifx\bbl at KVP@main\@nnil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
@@ -2925,6 +2877,11 @@
           {}%
           {\bbl at exp{\let\bbl at tempa\<l@##1>}}%
       \fi}%
+    \ifx\bbl at tempa\relax
+      \bbl at warning{%
+        Requested 'hyphenrules=' for '\languagename' not found.\\%
+        Using the default value. Reported}%
+    \fi
   \fi
   \ifx\bbl at tempa\relax %         if no opt or no language in opt found
     \ifx\bbl at KVP@import\@nnil
@@ -3746,8 +3703,6 @@
   \bbl at adjust@layout{\let\list\bbl at NL@list}}
 \@namedef{bbl at ADJ@layout.lists at off}{%
   \bbl at adjust@layout{\let\list\bbl at OL@list}}
-\@namedef{bbl at ADJ@hyphenation.extra at on}{%
-  \bbl at activateposthyphen}
 \@namedef{bbl at ADJ@autoload.bcp47 at on}{%
   \bbl at bcpallowedtrue}
 \@namedef{bbl at ADJ@autoload.bcp47 at off}{%
@@ -3792,8 +3747,12 @@
   \let\bbl at restorelastskip\relax
   \let\bbl at savelastskip\relax}
 \@namedef{bbl at ADJ@select.write at omit}{%
+  \AddBabelHook{babel-select}{beforestart}{%
+    \expandafter\babel at aux\expandafter{\bbl at main@language}{}}%
   \let\bbl at restorelastskip\relax
   \def\bbl at savelastskip##1\bbl at restorelastskip{}}
+\@namedef{bbl at ADJ@select.encoding at off}{%
+  \let\bbl at encoding@select at off\@empty}
 \ifx\directlua\@undefined\else
   \ifx\bbl at luapatterns\@undefined
     \input luababel.def

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone
@@ -246,11 +246,6 @@
   \else
     \expandafter\@firstofone
   \fi}
-\ifx\IfFormatAtLeastTF\@undefined
-  \def\bbl at ifformatlater{\@ifl at t@r\fmtversion}
-\else
-  \let\bbl at ifformatlater\IfFormatAtLeastTF
-\fi
 \def\bbl at 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 at version{3.83}
-\def\bbl at date{2022/11/30}
+\def\bbl at version{3.84}
+\def\bbl at date{2022/12/26}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi
@@ -696,6 +691,7 @@
 \def\babel at toc#1#2{%
   \select at language{#1}}
 \newif\ifbbl at usedategroup
+\let\bbl at savedextras\@empty
 \def\bbl at switch#1{%  from select@, foreign@
   % make sure there is info for the language if so requested
   \bbl at ensureinfo{#1}%
@@ -728,6 +724,7 @@
     \fi
   \bbl at esphack
   % switch extras
+  \csname bbl at preextras@#1\endcsname
   \bbl at usehooks{beforeextras}{}%
   \csname extras#1\endcsname\relax
   \bbl at usehooks{afterextras}{}%
@@ -735,6 +732,7 @@
   %  > babel-sh-<short>
   %  > babel-bidi
   %  > babel-fontspec
+  \let\bbl at savedextras\@empty
   % hyphenation - case mapping
   \ifcase\bbl at opt@hyphenmap\or
     \def\BabelLower##1##2{\lccode##1=##2\relax}%
@@ -1141,11 +1139,6 @@
   \else
     \expandafter\@firstofone
   \fi}
-\ifx\IfFormatAtLeastTF\@undefined
-  \def\bbl at ifformatlater{\@ifl at t@r\fmtversion}
-\else
-  \let\bbl at ifformatlater\IfFormatAtLeastTF
-\fi
 \def\bbl at 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 at savecnt
 \babel at beginsave
 \def\babel at save#1{%
-  \expandafter\let\csname babel@\number\babel at savecnt\endcsname#1\relax
-  \toks@\expandafter{\originalTeX\let#1=}%
-  \bbl at exp{%
-    \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
-  \advance\babel at savecnt\@ne}
+  \def\bbl at tempa{{,#1,}}% Clumsy, for Plain
+  \expandafter\bbl at add\expandafter\bbl at tempa\expandafter{%
+    \expandafter{\expandafter,\bbl at savedextras,}}%
+  \expandafter\in@\bbl at tempa
+  \ifin@\else
+    \bbl at add\bbl at savedextras{,#1,}%
+    \bbl at carg\let{babel@\number\babel at savecnt}#1\relax
+    \toks@\expandafter{\originalTeX\let#1=}%
+    \bbl at exp{%
+      \def\\\originalTeX{\the\toks@\<babel@\number\babel at savecnt>\relax}}%
+    \advance\babel at savecnt\@ne
+  \fi}
 \def\babel at savevariable#1{%
   \toks@\expandafter{\originalTeX #1=}%
   \bbl at exp{\def\\\originalTeX{\the\toks@\the#1\relax}}}
@@ -2764,62 +2764,18 @@
       \fi}%
   \fi
   % == Counters: mapdigits ==
-  % Native digits (lua level).
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@mapdigits\@nnil\else
-      \bbl at ifunset{bbl at dgnat@\languagename}{}%
-        {\RequirePackage{luatexbase}%
-         \bbl at 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 at 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 at save\@alph? It won't be
-  % restored correctly when exiting the language, so we ignore
-  % this change with the \bbl at alph@saved trick.
   \ifx\bbl at KVP@alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at alph@saved}%
-      {\let\bbl at alph@saved\@alph}%
-      {\let\@alph\bbl at alph@saved
-       \babel at save\@alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@alph
         \let\\\@alph\<bbl at cntr@\bbl at KVP@alph @\languagename>}}%
   \fi
   \ifx\bbl at KVP@Alph\@nnil\else
-    \bbl at extras@wrap{\\\bbl at Alph@saved}%
-      {\let\bbl at Alph@saved\@Alph}%
-      {\let\@Alph\bbl at Alph@saved
-       \babel at save\@Alph}%
     \bbl at exp{%
-      \\\bbl at add\<extras\languagename>{%
+      \\\bbl at add\<bbl at preextras@\languagename>{%
+        \\\babel at save\\\@Alph
         \let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
   \fi
   % == Calendars ==
@@ -2840,6 +2796,9 @@
     \ifx\bbl at tempb\@empty\else
       ,variant=\bbl at tempb
     \fi}%
+  % == engine specific extensions ==
+  % Defined in XXXbabel.def
+  \bbl at provide@extra{#2}%
   % == require.babel in ini ==
   % To load or reaload the babel-*.tex, if require.babel in ini
   \ifx\bbl at beforestart\relax\else  % But not in doc aux or body
@@ -2871,19 +2830,7 @@
       {\bbl at post@fs}%
   \fi
   % == transforms ==
-  \ifodd\bbl at engine
-    \ifx\bbl at KVP@transforms\@nnil\else
-      \def\bbl at elt##1##2##3{%
-        \in@{$transforms.}{$##1}%
-        \ifin@
-          \def\bbl at tempa{##1}%
-          \bbl at replace\bbl at tempa{transforms.}{}%
-          \bbl at carg\bbl at transforms{babel\bbl at tempa}{##2}{##3}%
-        \fi}%
-      \csname bbl at inidata@\languagename\endcsname
-      \bbl at release@transforms\relax % \relax closes the last item.
-    \fi
-  \fi
+  % > luababel.def
   % == main ==
   \ifx\bbl at KVP@main\@nnil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
@@ -2981,6 +2928,11 @@
           {}%
           {\bbl at exp{\let\bbl at tempa\<l@##1>}}%
       \fi}%
+    \ifx\bbl at tempa\relax
+      \bbl at warning{%
+        Requested 'hyphenrules=' for '\languagename' not found.\\%
+        Using the default value. Reported}%
+    \fi
   \fi
   \ifx\bbl at tempa\relax %         if no opt or no language in opt found
     \ifx\bbl at KVP@import\@nnil
@@ -3802,8 +3754,6 @@
   \bbl at adjust@layout{\let\list\bbl at NL@list}}
 \@namedef{bbl at ADJ@layout.lists at off}{%
   \bbl at adjust@layout{\let\list\bbl at OL@list}}
-\@namedef{bbl at ADJ@hyphenation.extra at on}{%
-  \bbl at activateposthyphen}
 \@namedef{bbl at ADJ@autoload.bcp47 at on}{%
   \bbl at bcpallowedtrue}
 \@namedef{bbl at ADJ@autoload.bcp47 at off}{%
@@ -3848,8 +3798,12 @@
   \let\bbl at restorelastskip\relax
   \let\bbl at savelastskip\relax}
 \@namedef{bbl at ADJ@select.write at omit}{%
+  \AddBabelHook{babel-select}{beforestart}{%
+    \expandafter\babel at aux\expandafter{\bbl at main@language}{}}%
   \let\bbl at restorelastskip\relax
   \def\bbl at savelastskip##1\bbl at restorelastskip{}}
+\@namedef{bbl at ADJ@select.encoding at off}{%
+  \let\bbl at encoding@select at off\@empty}
 \ifx\directlua\@undefined\else
   \ifx\bbl at luapatterns\@undefined
     \input luababel.def
@@ -3969,9 +3923,9 @@
             \\\org at markright{\\\protect\\\foreignlanguage{\languagename}%
               {\\\protect\\\bbl at restore@actives\the\toks@}}}}}%
      \ifx\@mkboth\markboth
-       \def\bbl at tempc{\let\@mkboth\markboth}
+       \def\bbl at tempc{\let\@mkboth\markboth}%
      \else
-       \def\bbl at tempc{}
+       \def\bbl at tempc{}%
      \fi
      \bbl at ifunset{markboth }\bbl at redefine\bbl at redefinerobust
      \markboth#1#2{%
@@ -3984,7 +3938,7 @@
        \bbl at ifblank{#2}%
          {\@temptokena{}}%
          {\@temptokena\expandafter{\bbl at tempb{#2}}}%
-       \bbl at exp{\\\org at markboth{\the\toks@}{\the\@temptokena}}}
+       \bbl at exp{\\\org at markboth{\the\toks@}{\the\@temptokena}}}%
        \bbl at tempc
      \fi}  % end ifbbl at single, end \IfBabelLayout
 \bbl at trace{Preventing clashes with other packages}
@@ -4448,8 +4402,8 @@
     {Languages have been loaded, so I can do nothing}}
 \ifx\bbl at main@language\@undefined
   \bbl at 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 at load@language{nil}
 \fi
 \endinput

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 at format{\jobname}
-\def\bbl at version{3.83}
-\def\bbl at date{2022/11/30}
+\def\bbl at version{3.84}
+\def\bbl at date{2022/12/26}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-DZ.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-EG.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-IQ.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-JO.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-LB.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-MA.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-PS.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SA.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-SY.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar-TN.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Cyrl.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az-Latn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/az/babel-az.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/be/babel-be.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = T2A
+encodings = T2A T2B
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/bg/babel-bg.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = T2A
+encodings = T2A T2B T2C
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/bs/babel-bs-Cyrl.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A T2B
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ce/babel-ce.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/chr/babel-chr.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cher
 script.tag.opentype = cher
 level = 1
-encodings = 
+encodings = LCH
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Arab.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.opentype = arab
 polyglossia.variant = sorani
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb-Latn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.opentype = latn
 polyglossia.variant = sorani
 level = 1
-encodings = 
+encodings = T1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.opentype = arab
 polyglossia.variant = sorani
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu-Cyrs.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrs
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/cu/babel-cu.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/fy/babel-fy.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ha/babel-ha-NE.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T4
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/haw/babel-haw.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Hebr
 script.tag.opentype = hebr
 level = 1
-encodings = 
+encodings = LHE H8
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hy/babel-hy.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Armn
 script.tag.opentype = armn
 level = 1
-encodings = 
+encodings = OT6
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kab/babel-kab.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T4
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kea/babel-kea.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kgp/babel-kgp.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kk/babel-kk.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kl/babel-kl.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/kmr/babel-kmr-Arab.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.opentype = arab
 polyglossia.variant = kurmanji
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ks/babel-ks.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ky/babel-ky.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A T2B
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lag/babel-lag.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lkt/babel-lkt.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T4
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lrc/babel-lrc.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = L7x
+encodings = T1 OT1 L7x
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mas/babel-mas.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T4
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mn/babel-mn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A T2B
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mt/babel-mt.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mua/babel-mua.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mzn/babel-mzn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LFE LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/naq/babel-naq.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/os/babel-os.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/pa/babel-pa-Arab.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ps/babel-ps.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LFE LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ru/babel-ru.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = T2A
+encodings = T2A T2B T2C
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/sah/babel-sah.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/sc/babel-sc.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/shi/babel-shi-Latn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T4
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/smn/babel-smn.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Thai
 script.tag.opentype = thai
 level = 1
-encodings = 
+encodings = LTH
 derivate = no
 require.babel = thai
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 require.babel = uyghur
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ur/babel-ur.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LFE LAE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Arab.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Arab
 script.tag.opentype = arab
 level = 1
-encodings = 
+encodings = LAE LFE
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/uz/babel-uz-Cyrl.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Cyrl
 script.tag.opentype = cyrl
 level = 1
-encodings = 
+encodings = T2A
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Hebr
 script.tag.opentype = hebr
 level = 1
-encodings = 
+encodings = LHE H8
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yo/babel-yo.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yrl/babel-yrl.ini	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = 
+encodings = T1 OT1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/luababel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 @@
           \bbl at add\normalfont{\bbl at eqnodir}%
           \ifnum\bbl at eqnpos=\@ne
             \def\@eqnnum{%
-             \setbox\z@\hbox{\bbl at eqnum}%
-             \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+              \setbox\z@\hbox{\bbl at eqnum}%
+              \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
           \else
-             \let\@eqnnum\bbl at eqnum
+            \let\@eqnnum\bbl at eqnum
           \fi
         \fi}
       % Hack. YA luatex bug?:
@@ -1493,6 +1501,54 @@
       \fi
     \fi}
 \fi
+\def\bbl at provide@extra#1{%
+  % == Counters: mapdigits ==
+  % Native digits
+  \ifx\bbl at KVP@mapdigits\@nnil\else
+    \bbl at ifunset{bbl at dgnat@\languagename}{}%
+      {\RequirePackage{luatexbase}%
+       \bbl at 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 at 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 at KVP@transforms\@nnil\else
+    \def\bbl at elt##1##2##3{%
+      \in@{$transforms.}{$##1}%
+      \ifin@
+        \def\bbl at tempa{##1}%
+        \bbl at replace\bbl at tempa{transforms.}{}%
+        \bbl at carg\bbl at transforms{babel\bbl at tempa}{##2}{##3}%
+      \fi}%
+    \csname bbl at inidata@\languagename\endcsname
+    \bbl at release@transforms\relax % \relax closes the last item.
+  \fi}
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % if no layout
 \ifnum\bbl at bidimode>\z@
   \def\bbl at nextfake#1{%  non-local changes, use always inside a group!
@@ -1626,6 +1682,12 @@
       \fi
     }}
   {}
+\IfBabelLayout{counters*}%
+  {\bbl at add\bbl at opt@layout{.counters.}%
+   \directlua{
+     luatexbase.add_to_callback("process_output_buffer",
+       Babel.discard_sublr , "Babel.discard_sublr") }%
+  }{}
 \IfBabelLayout{counters}%
   {\let\bbl at OL@@textsuperscript\@textsuperscript
    \bbl at sreplace\@textsuperscript{\m at th}{\m at th\mathdir\pagedir}%

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2022-12-26 20:44:11 UTC (rev 65366)
@@ -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 at nil\@undefined
   \newlanguage\l at nil

Modified: trunk/Master/texmf-dist/tex/generic/babel/txtbabel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/txtbabel.def	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/txtbabel.def	2022-12-26 20:44:11 UTC (rev 65366)
@@ -37,7 +37,7 @@
 \bbl at trace{Redefinitions for bidi layout}
 \def\bbl at sspre@caption{%
   \bbl at exp{\everyhbox{\\\bbl at textdir\bbl at cs{wdir@\bbl at main@language}}}}
-\ifx\bbl at opt@layout\@nnil\endinput\fi  % No layout
+\ifx\bbl at opt@layout\@nnil\else % if layout=..
 \def\bbl at startskip{\ifcase\bbl at thepardir\leftskip\else\rightskip\fi}
 \def\bbl at endskip{\ifcase\bbl at thepardir\rightskip\else\leftskip\fi}
 \ifx\bbl at beforeforeign\leavevmode % A poor test for bidi=
@@ -144,6 +144,16 @@
    \BabelFootnote\localfootnote\languagename{}{}%
    \BabelFootnote\mainfootnote{}{}{}}
   {}
+\IfBabelLayout{counters*}%
+  {\bbl at add\bbl at opt@layout{.counters.}%
+   \AddToHook{shipout/before}{%
+     \let\bbl at tempa\babelsublr
+     \let\babelsublr\@firstofone
+     \let\bbl at save@thepage\thepage
+     \protected at edef\thepage{\thepage}%
+     \let\babelsublr\bbl at tempa}%
+   \AddToHook{shipout/after}{%
+     \let\thepage\bbl at save@thepage}}{}
 \IfBabelLayout{counters}%
   {\let\bbl at latinarabic=\@arabic
    \def\@arabic#1{\babelsublr{\bbl at latinarabic#1}}%
@@ -151,6 +161,43 @@
    \def\@roman#1{\babelsublr{\ensureascii{\bbl at asciiroman#1}}}%
    \let\bbl at asciiRoman=\@Roman
    \def\@Roman#1{\babelsublr{\ensureascii{\bbl at asciiRoman#1}}}}{}
+\fi % end if layout
+\def\bbl at provide@extra#1{%
+  % == auto-select encoding ==
+  \ifx\bbl at encoding@select at off\@empty\else
+    \bbl at ifunset{bbl at encoding@#1}%
+      {\def\@elt##1{,##1,}%
+       \edef\bbl at tempe{\expandafter\@gobbletwo\@fontenc at load@list}%
+       \count@\z@
+       \bbl at foreach\bbl at tempe{%
+         \def\bbl at tempd{##1}%  Save last declared
+         \advance\count@\@ne}%
+       \ifnum\count@>\@ne
+         \getlocaleproperty*\bbl at tempa{#1}{identification/encodings}%
+         \ifx\bbl at tempa\relax \let\bbl at tempa\@empty \fi
+         \bbl at replace\bbl at tempa{ }{,}%
+         \global\bbl at csarg\let{encoding@#1}\@empty
+         \bbl at xin@{,\bbl at tempd,}{,\bbl at tempa,}%
+         \ifin@\else % if main encoding included in ini, do nothing
+           \let\bbl at tempb\relax
+           \bbl at foreach\bbl at tempa{%
+             \ifx\bbl at tempb\relax
+               \bbl at xin@{,##1,}{,\bbl at tempe,}%
+               \ifin@\def\bbl at tempb{##1}\fi
+             \fi}%
+           \ifx\bbl at tempb\relax\else
+             \bbl at exp{%
+               \global\<bbl at add>\<bbl at preextras@#1>{\<bbl at encoding@#1>}%
+             \gdef\<bbl at encoding@#1>{%
+               \\\babel at save\\\f at encoding
+               \\\bbl at add\\\originalTeX{\\\selectfont}%
+               \\\fontencoding{\bbl at tempb}%
+               \\\selectfont}}%
+           \fi
+         \fi
+       \fi}%
+      {}%
+  \fi}
 \endinput
 %%
 %% End of file `txtbabel.def'.

Modified: trunk/Master/texmf-dist/tex/generic/babel/xebabel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/xebabel.def	2022-12-26 20:42:43 UTC (rev 65365)
+++ trunk/Master/texmf-dist/tex/generic/babel/xebabel.def	2022-12-26 20:44:11 UTC (rev 65366)
@@ -260,7 +260,136 @@
 \def\bbl at font@rst#1#2#3#4{%
   \bbl at csarg\def{famrst@#4}{\bbl at font@set{#1}#2#3}}
 \def\bbl at font@fams{rm,sf,tt}
-\input txtbabel.def
+\def\bbl at provide@extra#1{}
+\providecommand\bbl at provide@intraspace{}
+\bbl at trace{Redefinitions for bidi layout}
+\def\bbl at sspre@caption{%
+  \bbl at exp{\everyhbox{\\\bbl at textdir\bbl at cs{wdir@\bbl at main@language}}}}
+\ifx\bbl at opt@layout\@nnil\else % if layout=..
+\def\bbl at startskip{\ifcase\bbl at thepardir\leftskip\else\rightskip\fi}
+\def\bbl at endskip{\ifcase\bbl at thepardir\rightskip\else\leftskip\fi}
+\ifx\bbl at beforeforeign\leavevmode % A poor test for bidi=
+  \def\@hangfrom#1{%
+    \setbox\@tempboxa\hbox{{#1}}%
+    \hangindent\ifcase\bbl at thepardir\wd\@tempboxa\else-\wd\@tempboxa\fi
+    \noindent\box\@tempboxa}
+  \def\raggedright{%
+    \let\\\@centercr
+    \bbl at startskip\z at skip
+    \@rightskip\@flushglue
+    \bbl at endskip\@rightskip
+    \parindent\z@
+    \parfillskip\bbl at startskip}
+  \def\raggedleft{%
+    \let\\\@centercr
+    \bbl at startskip\@flushglue
+    \bbl at endskip\z at skip
+    \parindent\z@
+    \parfillskip\bbl at endskip}
+\fi
+\IfBabelLayout{lists}
+  {\bbl at sreplace\list
+     {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl at listleftmargin}%
+   \def\bbl at listleftmargin{%
+     \ifcase\bbl at thepardir\leftmargin\else\rightmargin\fi}%
+   \ifcase\bbl at engine
+     \def\labelenumii{)\theenumii(}% pdftex doesn't reverse ()
+     \def\p at enumiii{\p at enumii)\theenumii(}%
+   \fi
+   \bbl at sreplace\@verbatim
+     {\leftskip\@totalleftmargin}%
+     {\bbl at startskip\textwidth
+      \advance\bbl at startskip-\linewidth}%
+   \bbl at sreplace\@verbatim
+     {\rightskip\z at skip}%
+     {\bbl at endskip\z at skip}}%
+  {}
+\IfBabelLayout{contents}
+  {\bbl at sreplace\@dottedtocline{\leftskip}{\bbl at startskip}%
+   \bbl at sreplace\@dottedtocline{\rightskip}{\bbl at endskip}}
+  {}
+\IfBabelLayout{columns}
+  {\bbl at sreplace\@outputdblcol{\hb at xt@\textwidth}{\bbl at outputhbox}%
+   \def\bbl at outputhbox#1{%
+     \hb at xt@\textwidth{%
+       \hskip\columnwidth
+       \hfil
+       {\normalcolor\vrule \@width\columnseprule}%
+       \hfil
+       \hb at xt@\columnwidth{\box\@leftcolumn \hss}%
+       \hskip-\textwidth
+       \hb at xt@\columnwidth{\box\@outputbox \hss}%
+       \hskip\columnsep
+       \hskip\columnwidth}}}%
+  {}
+\bbl at trace{Bidi footnotes}
+\ifnum\bbl at bidimode>\z@
+  \def\bbl at footnote#1#2#3{%
+    \@ifnextchar[%
+      {\bbl at footnote@o{#1}{#2}{#3}}%
+      {\bbl at footnote@x{#1}{#2}{#3}}}
+  \long\def\bbl at footnote@x#1#2#3#4{%
+    \bgroup
+      \select at language@x{\bbl at main@language}%
+      \bbl at fn@footnote{#2#1{\ignorespaces#4}#3}%
+    \egroup}
+  \long\def\bbl at footnote@o#1#2#3[#4]#5{%
+    \bgroup
+      \select at language@x{\bbl at main@language}%
+      \bbl at fn@footnote[#4]{#2#1{\ignorespaces#5}#3}%
+    \egroup}
+  \def\bbl at footnotetext#1#2#3{%
+    \@ifnextchar[%
+      {\bbl at footnotetext@o{#1}{#2}{#3}}%
+      {\bbl at footnotetext@x{#1}{#2}{#3}}}
+  \long\def\bbl at footnotetext@x#1#2#3#4{%
+    \bgroup
+      \select at language@x{\bbl at main@language}%
+      \bbl at fn@footnotetext{#2#1{\ignorespaces#4}#3}%
+    \egroup}
+  \long\def\bbl at footnotetext@o#1#2#3[#4]#5{%
+    \bgroup
+      \select at language@x{\bbl at main@language}%
+      \bbl at fn@footnotetext[#4]{#2#1{\ignorespaces#5}#3}%
+    \egroup}
+  \def\BabelFootnote#1#2#3#4{%
+    \ifx\bbl at fn@footnote\@undefined
+      \let\bbl at fn@footnote\footnote
+    \fi
+    \ifx\bbl at fn@footnotetext\@undefined
+      \let\bbl at fn@footnotetext\footnotetext
+    \fi
+    \bbl at ifblank{#2}%
+      {\def#1{\bbl at footnote{\@firstofone}{#3}{#4}}
+       \@namedef{\bbl at stripslash#1text}%
+         {\bbl at footnotetext{\@firstofone}{#3}{#4}}}%
+      {\def#1{\bbl at exp{\\\bbl at footnote{\\\foreignlanguage{#2}}}{#3}{#4}}%
+       \@namedef{\bbl at stripslash#1text}%
+         {\bbl at exp{\\\bbl at footnotetext{\\\foreignlanguage{#2}}}{#3}{#4}}}}
+\fi
+\IfBabelLayout{footnotes}%
+  {\BabelFootnote\footnote\languagename{}{}%
+   \BabelFootnote\localfootnote\languagename{}{}%
+   \BabelFootnote\mainfootnote{}{}{}}
+  {}
+\IfBabelLayout{counters*}%
+  {\bbl at add\bbl at opt@layout{.counters.}%
+   \AddToHook{shipout/before}{%
+     \let\bbl at tempa\babelsublr
+     \let\babelsublr\@firstofone
+     \let\bbl at save@thepage\thepage
+     \protected at edef\thepage{\thepage}%
+     \let\babelsublr\bbl at tempa}%
+   \AddToHook{shipout/after}{%
+     \let\thepage\bbl at save@thepage}}{}
+\IfBabelLayout{counters}%
+  {\let\bbl at latinarabic=\@arabic
+   \def\@arabic#1{\babelsublr{\bbl at latinarabic#1}}%
+   \let\bbl at asciiroman=\@roman
+   \def\@roman#1{\babelsublr{\ensureascii{\bbl at asciiroman#1}}}%
+   \let\bbl at asciiRoman=\@Roman
+   \def\@Roman#1{\babelsublr{\ensureascii{\bbl at asciiRoman#1}}}}{}
+\fi % end if layout
 \endinput
 %%
 %% End of file `xebabel.def'.



More information about the tex-live-commits mailing list.