texlive[68651] Master/texmf-dist: babel (25oct23)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 25 22:01:44 CEST 2023


Revision: 68651
          https://tug.org/svn/texlive?view=revision&revision=68651
Author:   karl
Date:     2023-10-25 22:01:44 +0200 (Wed, 25 Oct 2023)
Log Message:
-----------
babel (25oct23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/babel/README.md
    trunk/Master/texmf-dist/doc/latex/babel/babel-code.pdf
    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.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/hr/babel-hr.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/is/babel-is.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lad/babel-lad.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/nv/babel-nv.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/pl/babel-pl.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yiddish.tex
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
    trunk/Master/texmf-dist/tex/generic/babel/luababel.def
    trunk/Master/texmf-dist/tex/generic/babel/nil.ldf

Modified: trunk/Master/texmf-dist/doc/latex/babel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/babel/README.md	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2023-10-25 20:01:44 UTC (rev 68651)
@@ -1,6 +1,6 @@
-## Babel 3.95
+## Babel 3.96
 
-2023-09-29
+2023-10-25
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages. Many
@@ -10,9 +10,9 @@
 
 The latest stable version is available on <https://ctan.org/pkg/babel>.
 
-Changes in version 3.95 are described in:
+Changes in version 3.96 are described in:
 
-https://latex3.github.io/babel/news/whats-new-in-babel-3.95.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.96.html
 
 Apart from the manual, you can find information on some aspects of babel at:
 
@@ -48,12 +48,12 @@
 
 ### Summary of latest changes
 ```
-3.95 2023-09-29
-     * New locales: Cebuano, Chuvash, Dogri, Northern Frisian,
-       Hmong Njua, Maori, Manipuri, Santali, Sindhi, Sundanese, Tajik,
-       Tatar, Xhosa.       
-     * Minimum locales: Awadhi, Gothic, Saraiki.
-     * Fix: added some missing native numbers and character ranges.
+3.96 2023-10-25
+     * Added LGI to non-ASCII encodings.
+     * New macro: \asciiencoding.
+     * Removed OT1 in some ini files.
+     * Improved support for Odia (thanks to @avisekjena).
+     * Transform 'hyphen.repeat' in Croatian.
 ```
 
 ### Previous changes

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

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	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2023-10-25 20:01:44 UTC (rev 68651)
@@ -32,7 +32,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2023/09/29 v3.95 The Babel package]
+\ProvidesFile{babel.dtx}[2023/10/25 v3.96 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -82,22 +82,33 @@
 \usepackage{color,colortbl}
 \usepackage[linkcolor=blue,urlcolor=blue,colorlinks=true]{hyperref}
 \hypersetup{%
-  pdfsubject={LaTeX Multilingual documents and localization for pdfTeX, LuaTex and
-  XeTeX.},
-  pdfauthor={Johannes Braams, Javier Bezos},
+  pdfsubject={LaTeX Multilingual documents and localization for pdfTeX,
+    LuaTeX and XeTeX.},
+  pdfauthor={Javier Bezos, Johannes Braams},
   pdftitle={Babel},
   pdfkeywords={TeX, LaTeX, pdfTeX, LuaTeX, XeTeX, internationalization,
-  localization}}
+    localization}}
+\ExplSyntaxOn
 \newcommand\New[1]{%
-  \colorbox[rgb]{.92, .86, .73}{New #1}\enspace\ignorespaces}
-\definecolor{thered}  {rgb}{0.65,0.04,0.07}
-\definecolor{thegrey} {gray}{0.8}
+  \regex_extract_once:nnN{(\d\d?)\.(\d\d)}{#1}\bbltempa
+  \seq_pop_right:NN\bbltempa\bbltempb
+  \seq_pop_right:NN\bbltempa\bbltempa
+  \colorbox[rgb]{.92, .86, .73}%
+    {New~#1%
+    \quark_if_no_value:NTF\bbltempb{}%
+      {~\ifnum\bbltempa>2 \ifnum\bbltempb>34
+         \href{https://latex3.github.io/babel/news/%
+               whats-new-in-babel-\bbltempa.\bbltempb.html}%
+              {\raisebox{.15ex}{$\oplus$}}%
+       \fi\fi}}\enspace\ignorespaces}
+\ExplSyntaxOff
+\definecolor{thered}{rgb}{0.65,0.04,0.07}
+\definecolor{thegrey}{gray}{0.8}
 \definecolor{shadecolor}{rgb}{1,1,0.97}
 \definecolor{messages}{rgb}{.66,.13,.27}
 \makeatletter
 \def\@begintheorem#1#2{%
   \list{}{}%
-  % \small
   \global\advance\@listdepth\m at ne
   \item[{\sffamily\bfseries\color{messages}\hspace*{1.3em}%
         \MakeUppercase{#1}}]}%
@@ -2618,7 +2629,7 @@
 twofold: (1) a user-friendly way to declare them, because
 often BCP 47 tags are not known (and sometimes can be complex);
 (2) if for some reason the tag changes (eg, you decide to tag
-`english` as `en-001` instead of `en-US`), the new mappings will be
+|english| as |en-001| instead of |en-US|), the new mappings will be
 still assigned to that language.
 
 \begin{example} For Classical Latin (no need to know the tag is
@@ -2631,7 +2642,7 @@
 \begin{note}
   There are still some rough edges when declaring a mapping with the
   |x| extension, or when two \babel{} languages share the same BCP 47
-  tag. These issues will be sorted out in future releases.
+  tag. These issues are expected be sorted out in future releases.
 \end{note}
 
 \subsection{Creating a language}
@@ -2932,7 +2943,8 @@
   {\babel\ site}.
 
 \Describe{linebreaking=}{}
-\New{3.59} Just a synonymous for \texttt{justification}.
+\New{3.59} Just a synonymous for \texttt{justification}. Depending on
+the language, this name can make more sense.
 
 \begin{note}
   (1) If you need shorthands, you can define them with |\useshorthands|
@@ -3261,6 +3273,12 @@
   \New{3.75}
 \end{description}
 
+\begin{note}
+  Currently, |x| is used for two separate functions, namely,
+  identifying a \babel{} locale without a BCP47 tag and setting an
+  alternative set of rules for casing.
+\end{note}
+
 \begin{warning}
   \New{3.46} As of version 3.46 |tag.bcp47| returns the full BCP 47
   tag. Formerly it returned just the language subtag, which was clearly
@@ -3538,7 +3556,7 @@
 recommended way to make these transformations (the best way is with
 OTF features), but it can get you out of a hurry.}
 
-\trans{Czech, Polish, Portuguese, Slovak,
+\trans{Croatian, Czech, Polish, Portuguese, Slovak,
 Spanish}{hyphen.repeat}{Explicit hyphens behave like
 |\string\babelhyphen|\allowbreak|\{repeat\}|.}
 
@@ -3859,7 +3877,7 @@
 LICR-savvy encoding in the ASCII range. It is used to redefine |\TeX|
 and |\LaTeX| so that they are correctly typeset even with |LGR| or
 |X2| (the complete list is stored in |\BabelNonASCII|, which by default
-is |LGR|, |X2|, |OT2|, |OT3|, |OT6|, |LHE|, |LWN|, |LMA|, |LMC|,
+is |LGR|, |LGI|, |X2|, |OT2|, |OT3|, |OT6|, |LHE|, |LWN|, |LMA|, |LMC|,
 |LMS|, |LMU|, but you can modify it). So, in some sense it fixes the
 bug described in the previous paragraph.
 
@@ -5545,8 +5563,8 @@
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.95>>
-%<<date=2023/09/29>>
+%<<version=3.96>>
+%<<date=2023/10/25>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -10262,9 +10280,7 @@
       % TODO - error/warning if no script
       \directlua{
         if Babel.script_blocks['\bbl at cl{sbcp}'] then
-          Babel.loc_to_scr[\the\localeid] =
-            Babel.script_blocks['\bbl at cl{sbcp}']
-          Babel.locale_props[\the\localeid].lc = \the\localeid\space
+          Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl at cl{sbcp}']
           Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space
         end
       }%
@@ -10458,6 +10474,7 @@
          \let\BabelBeforeIni\@gobbletwo
          \chardef\atcatcode=\catcode`\@
          \catcode`\@=11\relax
+         \def\CurrentOption{#2}%
          \bbl at input@texini{\bbl at cs{rqtex@\languagename}}%
          \catcode`\@=\atcatcode
          \let\atcatcode\relax
@@ -10907,6 +10924,11 @@
   \ifbbl at bcptoname
     \bbl at csarg\xdef{bcp at map@\bbl at cl{tbcp}}{\languagename}%
   \fi
+  \ifcase\bbl at engine\or
+    \directlua{%
+      Babel.locale_props[\the\bbl at cs{id@@\languagename}].script
+        = '\bbl at cl{sbcp}'}%
+  \fi
   % Conditional
   \ifnum#1>\z@         % 0 = only info, 1, 2 = basic, (re)new
     \bbl at exportkey{calpr}{date.calendar.preferred}{}%
@@ -12291,11 +12313,12 @@
 %
 %    \begin{macrocode}
 \bbl at trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonASCII{LGR,LGI,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
 \newcommand\BabelNonText{TS1,T3,TS3}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX
 \let\ensureascii\@firstofone
+\let\asciiencoding\@empty
 \AtBeginDocument{%
   \def\@elt#1{,#1,}%
   \edef\bbl at tempa{\expandafter\@gobbletwo\@fontenc at load@list}%
@@ -12305,10 +12328,10 @@
   \bbl at foreach\BabelNonASCII{% LGR loaded in a non-standard way
     \bbl at ifunset{T@#1}{}{\def\bbl at tempb{#1}}}%
   \bbl at foreach\bbl at tempa{%
-    \bbl at xin@{#1}{\BabelNonASCII}%
+    \bbl at xin@{,#1,}{,\BabelNonASCII,}%
     \ifin@
       \def\bbl at tempb{#1}% Store last non-ascii
-    \else\bbl at xin@{#1}{\BabelNonText}% Pass
+    \else\bbl at xin@{,#1,}{,\BabelNonText,}% Pass
       \ifin@\else
         \def\bbl at tempc{#1}% Store last ascii
       \fi
@@ -12318,8 +12341,9 @@
     \ifin@\else
       \edef\bbl at tempc{\cf at encoding}% The default if ascii wins
     \fi
-    \edef\ensureascii#1{%
-      {\noexpand\fontencoding{\bbl at tempc}\noexpand\selectfont#1}}%
+    \let\asciiencoding\bbl at tempc
+    \renewcommand\ensureascii[1]{%
+      {\fontencoding{\asciiencoding}\selectfont#1}}%
     \DeclareTextCommandDefault{\TeX}{\ensureascii{\org at TeX}}%
     \DeclareTextCommandDefault{\LaTeX}{\ensureascii{\org at LaTeX}}%
   \fi}
@@ -14829,15 +14853,17 @@
 % \subsection{Automatic fonts and ids switching}
 %
 % After defining the blocks for a number of scripts (must be extended
-% and very likely fine tuned), we define a short function which just
-% traverse the node list to carry out the replacements. The table
-% |loc_to_scr| gets the locale form a script range (note the locale is
-% the key, and that there is an intermediate table built on the fly for
-% optimization). This locale is then used to get the |\language| and
-% the |\localeid| as stored in |locale_props|, as well as the font (as
-% requested). In the latter table a key starting with |/| maps the font
-% from the global one (the key) to the local one (the value). Maths are
-% skipped and discretionaries are handled in a special way.
+% and very likely fine tuned), we define a the function
+% |Babel.locale_map|, which just traverse the node list to carry out
+% the replacements. The table |loc_to_scr| stores the script range for
+% each locale (whose id is the key), copied from this table (so that it
+% can be modified on a locale basis); there is an intermediate table
+% named |chr_to_loc| built on the fly for optimization, which maps a
+% char to the locale. This locale is then used to get the |\language|
+% as stored in |locale_props|, as well as the font (as requested). In
+% the latter table a key starting with |/| maps the font from the
+% global one (the key) to the local one (the value). Maths are skipped
+% and discretionaries are handled in a special way.
 %
 %    \begin{macrocode}
 % TODO - to a lua file
@@ -14919,15 +14945,22 @@
             end
           end
         end
+        % Treat composite chars in a different fashion, because they
+        % 'inherit' the previous locale.
+        if (item.char >= 0x0300 and item.char <= 0x036F) or
+           (item.char >= 0x1AB0 and item.char <= 0x1AFF) or
+           (item.char >= 0x1DC0 and item.char <= 0x1DFF) then
+             Babel.chr_to_loc[item.char] = -2000
+             toloc = -2000
+        end
+        if not toloc then
+          Babel.chr_to_loc[item.char] = -1000
+        end
       end
-      % Now, take action, but treat composite chars in a different
-      % fashion, because they 'inherit' the previous locale. Not yet
-      % optimized.
-      if not toloc and 
-          (item.char >= 0x0300 and item.char <= 0x036F) or
-          (item.char >= 0x1AB0 and item.char <= 0x1AFF) or
-          (item.char >= 0x1DC0 and item.char <= 0x1DFF) then
+      if toloc == -2000 then
         toloc = toloc_save
+      elseif toloc == -1000 then
+        toloc = nil
       end
       if toloc and Babel.locale_props[toloc] and
           Babel.locale_props[toloc].letters and
@@ -14934,16 +14967,22 @@
           tex.getcatcode(item.char) \string~= 11 then
         toloc = nil
       end
-      if toloc and toloc > -1 then
+      if toloc and Babel.locale_props[toloc].script
+          and Babel.locale_props[node.get_attribute(item, LOCALE)].script
+          and Babel.locale_props[toloc].script ==
+            Babel.locale_props[node.get_attribute(item, LOCALE)].script then 
+        toloc = nil
+      end
+      if toloc then
         if Babel.locale_props[toloc].lg then
           item.lang = Babel.locale_props[toloc].lg
           node.set_attribute(item, LOCALE, toloc)
-        end      
+        end 
         if Babel.locale_props[toloc]['/'..item.font] then
           item.font = Babel.locale_props[toloc]['/'..item.font]
         end
-        toloc_save = toloc
       end
+      toloc_save = toloc
     elseif not inmath and item.id == 7 then % Apply recursively
       item.replace = item.replace and Babel.locale_map(item.replace)
       item.pre     = item.pre and Babel.locale_map(item.pre)
@@ -23648,7 +23687,7 @@
 \@namedef{bbl at esname@nil}{Latin}
 \@namedef{bbl at sname@nil}{Latin}
 \@namedef{bbl at sbcp@nil}{Latn}
-\@namedef{bbl at sotf@nil}{Latn}
+\@namedef{bbl at sotf@nil}{latn}
 %    \end{macrocode}
 %
 %    The macro |\ldf at finish| takes care of looking for a

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2023-10-25 20:01:44 UTC (rev 68651)
@@ -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{2023/09/29}
+\def\filedate{2023/10/25}
 \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	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2023-10-25 20:01:44 UTC (rev 68651)
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2023/09/29 v3.95]
+\ProvidesFile{bbcompat.dtx}[2023/10/25 v3.96]
 %</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.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.def	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2023-10-25 20:01:44 UTC (rev 68651)
@@ -40,7 +40,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{babel.def}[2023/09/29 v3.95 Babel common definitions]
+\ProvidesFile{babel.def}[2023/10/25 v3.96 Babel common definitions]
 \ifx\AtBeginDocument\@undefined  % TODO. change test.
   \def\@empty{}
 \def\loadlocalcfg#1{%
@@ -595,8 +595,8 @@
     \toks@\expandafter{\bbl at tempc#3}%
     \expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
   \fi}
-\def\bbl at version{3.95}
-\def\bbl at date{2023/09/29}
+\def\bbl at version{3.96}
+\def\bbl at date{2023/10/25}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2023-10-25 20:01:44 UTC (rev 68651)
@@ -34,7 +34,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2023/09/29 v3.95 The Babel package]
+\ProvidesPackage{babel}[2023/10/25 v3.96 The Babel package]
 \@ifpackagewith{babel}{debug}
   {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone
@@ -470,8 +470,8 @@
       \expandafter\@secondoftwo
     \fi}
 \fi
-\def\bbl at version{3.95}
-\def\bbl at date{2023/09/29}
+\def\bbl at version{3.96}
+\def\bbl at date{2023/10/25}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi
@@ -2441,9 +2441,7 @@
       % TODO - error/warning if no script
       \directlua{
         if Babel.script_blocks['\bbl at cl{sbcp}'] then
-          Babel.loc_to_scr[\the\localeid] =
-            Babel.script_blocks['\bbl at cl{sbcp}']
-          Babel.locale_props[\the\localeid].lc = \the\localeid\space
+          Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl at cl{sbcp}']
           Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space
         end
       }%
@@ -2637,6 +2635,7 @@
          \let\BabelBeforeIni\@gobbletwo
          \chardef\atcatcode=\catcode`\@
          \catcode`\@=11\relax
+         \def\CurrentOption{#2}%
          \bbl at input@texini{\bbl at cs{rqtex@\languagename}}%
          \catcode`\@=\atcatcode
          \let\atcatcode\relax
@@ -2993,6 +2992,11 @@
   \ifbbl at bcptoname
     \bbl at csarg\xdef{bcp at map@\bbl at cl{tbcp}}{\languagename}%
   \fi
+  \ifcase\bbl at engine\or
+    \directlua{%
+      Babel.locale_props[\the\bbl at cs{id@@\languagename}].script
+        = '\bbl at cl{sbcp}'}%
+  \fi
   % Conditional
   \ifnum#1>\z@         % 0 = only info, 1, 2 = basic, (re)new
     \bbl at exportkey{calpr}{date.calendar.preferred}{}%
@@ -3885,11 +3889,12 @@
   }
 \@onlypreamble\substitutefontfamily
 \bbl at trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonASCII{LGR,LGI,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
 \newcommand\BabelNonText{TS1,T3,TS3}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX
 \let\ensureascii\@firstofone
+\let\asciiencoding\@empty
 \AtBeginDocument{%
   \def\@elt#1{,#1,}%
   \edef\bbl at tempa{\expandafter\@gobbletwo\@fontenc at load@list}%
@@ -3899,10 +3904,10 @@
   \bbl at foreach\BabelNonASCII{% LGR loaded in a non-standard way
     \bbl at ifunset{T@#1}{}{\def\bbl at tempb{#1}}}%
   \bbl at foreach\bbl at tempa{%
-    \bbl at xin@{#1}{\BabelNonASCII}%
+    \bbl at xin@{,#1,}{,\BabelNonASCII,}%
     \ifin@
       \def\bbl at tempb{#1}% Store last non-ascii
-    \else\bbl at xin@{#1}{\BabelNonText}% Pass
+    \else\bbl at xin@{,#1,}{,\BabelNonText,}% Pass
       \ifin@\else
         \def\bbl at tempc{#1}% Store last ascii
       \fi
@@ -3912,8 +3917,9 @@
     \ifin@\else
       \edef\bbl at tempc{\cf at encoding}% The default if ascii wins
     \fi
-    \edef\ensureascii#1{%
-      {\noexpand\fontencoding{\bbl at tempc}\noexpand\selectfont#1}}%
+    \let\asciiencoding\bbl at tempc
+    \renewcommand\ensureascii[1]{%
+      {\fontencoding{\asciiencoding}\selectfont#1}}%
     \DeclareTextCommandDefault{\TeX}{\ensureascii{\org at TeX}}%
     \DeclareTextCommandDefault{\LaTeX}{\ensureascii{\org at LaTeX}}%
   \fi}

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2023-10-25 20:01:44 UTC (rev 68651)
@@ -38,10 +38,10 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{hyphen.cfg}[2023/09/29 v3.95 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2023/10/25 v3.96 Babel hyphens]
 \xdef\bbl at format{\jobname}
-\def\bbl at version{3.95}
-\def\bbl at date{2023/09/29}
+\def\bbl at version{3.96}
+\def\bbl at date{2023/10/25}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2023-10-21
 name.local = hrvatski
 name.english = Croatian
 name.babel = croatian
@@ -146,10 +146,10 @@
 time.short = [HH]:[mm]
 
 [typography]
-frenchspacing = no
+frenchspacing = yes
 hyphenrules = croatian
 lefthyphenmin = 2
-righthyphenmin = 3
+righthyphenmin = 2
 hyphenchar = 
 prehyphenchar = 
 posthyphenchar = 
@@ -195,3 +195,7 @@
 digraphs.ligatures.4.0 = { ([LlNn])j }
 digraphs.ligatures.4.1 =   { string = {1|LlNn|LjljNjnj} }
 digraphs.ligatures.4.2 =   { remove }
+;
+hyphen.repeat.1.0 = { (){a}=(){a} }
+hyphen.repeat.1.1 =   {}
+hyphen.repeat.1.2 =   { no = -, pre = -, post = -, data = 1 }

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/is/babel-is.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/is/babel-is.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/is/babel-is.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.4
-date = 2022-09-01
+version = 1.5
+date = 2023-10-17
 name.local = íslenska
 name.english = Icelandic
 name.babel = icelandic
@@ -23,7 +23,7 @@
 script.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = T1 OT1 LY1
+encodings = T1 LY1
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/lad/babel-lad.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/lad/babel-lad.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lad/babel-lad.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -7,8 +7,8 @@
 
 [identification]
 charset = utf8
-version = 0.2
-date = 2023-09-03
+version = 0.3
+date = 2023-10-06
 name.local = Ladino
 name.english = Ladino
 name.babel = ladino
@@ -22,6 +22,7 @@
 level = 1
 encodings = NHE8 HE8 LHE
 derivate = no
+require.babel = hebrew
 warning = This is a bare minimum locale for 'ladino'.
 
 [captions]
@@ -118,3 +119,36 @@
 preexhyphenchar  = 
 postexhyphenchar = 
 hyphenationmin   = 
+
+[counters]
+letters.1    = א ב ג  ד  ה ו  ז  ח ט
+letters.2    = י כ ל מ נ ס ע פ צ
+letters.F.15 = טו
+letters.F.16 = טז
+letters.F.17 = יז
+letters.F.18 = יח
+letters.F.19 = יט
+letters.3    = ק ר ש ת תק תר תש תת תתק
+letters.4    = א׳ ב׳ ג׳ ד׳ ה׳ ו׳ ז׳ ח׳ ט׳
+
+[transforms.prehyphenation]
+transliteration.cj.1.0 = { ([aAE]): }
+transliteration.cj.1.1 =   { string = {1|aAE|ֱֲֳ} }
+transliteration.cj.1.2 =   { remove }
+transliteration.cj.2.0 = { ([/{+}])s }
+transliteration.cj.2.1 =   { string = {1|/{002C}+|ששׂשׁ} }
+transliteration.cj.2.2 =   { remove }
+transliteration.cj.3.0 = { {-}{-} }
+transliteration.cj.3.1 =   { string = ־ }
+transliteration.cj.3.2 =   { remove }
+transliteration.cj.4.0 = { {.}([htsS]) }
+transliteration.cj.4.1 =   { remove }
+transliteration.cj.4.2 =   { string = {1|htsS|חטצץ} }
+transliteration.cj.5.0 = { /a({a}) }
+transliteration.cj.5.1 =   { remove }
+transliteration.cj.5.2 =   { string = {1} }
+transliteration.cj.5.3 =   { string =  ַ}
+transliteration.cj.6.0 = { w([o{*}]) }
+transliteration.cj.6.1 =   { string = {1|o*|וֹוּ} }
+transliteration.cj.7.0 = { ([aAbdeEghikKlmMnNoOpPqrstuUwyz{*}:'’`‘;]) }
+transliteration.cj.7.1 =   { string = {1|aAbdeEghikKlmMnNoOpPqrstuUwyz*:'’`‘;|ַָבדֵֶגהִכךלמםנןֹוֹפףקרסתֻוּויזְּאאעע׃} }

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	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/lt/babel-lt.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -10,8 +10,8 @@
 
 [identification]
 charset = utf8
-version = 1.7
-date = 2023-01-29
+version = 1.8
+date = 2023-10-17
 name.local = lietuvių
 name.english = Lithuanian
 name.babel = lithuanian
@@ -24,7 +24,7 @@
 script.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = T1 OT1 L7x
+encodings = T1 L7x
 derivate = no
 
 [captions]

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/nv/babel-nv.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/nv/babel-nv.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/nv/babel-nv.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -7,8 +7,8 @@
 
 [identification]
 charset = utf8
-version = 0.2
-date = 2023-09-03
+version = 0.3
+date = 2023-10-17
 name.local = Diné Bizaad
 name.english = Navajo
 name.babel = navajo
@@ -20,7 +20,7 @@
 script.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = T1 OT1 LY1
+encodings = T1 LY1
 derivate = no
 warning = This is a bare minimum locale for 'navajo'.
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/or/babel-or.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -6,11 +6,12 @@
 ; * Common Locale Data Repository (license Unicode):
 ;   http://cldr.unicode.org/
 ;   http://unicode.org/copyright.html
+; With contributions by ଅଶୋକ ଦାସ୍ and ଅଭିଷେକ ଜେନା (@avisekjena).
 
 [identification]
 charset = utf8
-version = 1.10
-date = 2022-10-12
+version = 1.11
+date = 2023-10-21
 name.local = ଓଡ଼ିଆ
 name.english = Odia
 name.babel = odia oriya
@@ -26,27 +27,27 @@
 derivate = no
 
 [captions]
-preface = 
-ref = 
-abstract = 
-bib = 
-chapter = 
-appendix = 
-contents = 
-listfigure = 
-listtable = 
-index = 
-figure = 
-table = 
-part = 
-encl = 
-cc = 
-headto = 
-page = 
-see = 
-also = 
-proof = 
-glossary = 
+preface = ପ୍ରାରମ୍ଭ
+ref = ସନ୍ଦର୍ଭ
+abstract = ସାରାଂଶ
+bib = ସୂଚନା
+chapter = ଅଧ୍ୟାୟ
+appendix = ପରିଶିଷ୍ଟ
+contents = ସୁଚୀ ପତ୍ର
+listfigure = ପ୍ରତିଛବି ତାଲିକା
+listtable = ଟେବୁଲ ତାଲିକା
+index = ସୂଚକାଙ୍କ
+figure = ପ୍ରତିଛବି
+table = ଟେବୁଲ୍
+part = ବିଭାଗ
+encl = ସଂଲଗ୍ନ
+cc = କପି କରନ୍ତୁ
+headto = ପ୍ରତି
+page = ପୃଷ୍ଠା
+see = ଦେଖନ୍ତୁ
+also = ଅଧିକ ଦେଖନ୍ତୁ
+proof = ପ୍ରମାଣ
+glossary = ଶବ୍ଦର ଶବ୍ଦକୋଷ
 
 [captions.licr]
 preface = 
@@ -77,9 +78,9 @@
 months.wide.1 = ଜାନୁଆରୀ
 months.wide.2 = ଫେବୃଆରୀ
 months.wide.3 = ମାର୍ଚ୍ଚ
-months.wide.4 = ଅପ୍ରେଲ
-months.wide.5 = ମଇ
-months.wide.6 = ଜୁନ
+months.wide.4 = ଏପ୍ରିଲ୍
+months.wide.5 = ମେ
+months.wide.6 = ଜୁନ୍
 months.wide.7 = ଜୁଲାଇ
 months.wide.8 = ଅଗଷ୍ଟ
 months.wide.9 = ସେପ୍ଟେମ୍ବର
@@ -89,13 +90,13 @@
 months.narrow.1 = ଜା
 months.narrow.2 = ଫେ
 months.narrow.3 = ମା
-months.narrow.4 = ଅ
-months.narrow.5 = ମଇ
+months.narrow.4 = ଏ
+months.narrow.5 = ମେ
 months.narrow.6 = ଜୁ
-months.narrow.7 = ଜୁ
+months.narrow.7 = ଜୁଲା
 months.narrow.8 = ଅ
 months.narrow.9 = ସେ
-months.narrow.10 = ଅ
+months.narrow.10 = ଅକ୍ଟୋ
 months.narrow.11 = ନ
 months.narrow.12 = ଡି
 days.wide.mon = ସୋମବାର
@@ -169,6 +170,9 @@
 superscriptingExponent = ×
 
 [counters]
+alphabetic =  କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ ଢ ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ର ଲ ଳ ଶ ସ ଷ ହ କ୍ଷ
+; alphabetic = କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ ଞ ଟ ଠ ଡ ଡ଼ ଢ ଢ଼ ଣ ତ ଥ ଦ ଧ ନ ପ ଫ ବ ଭ ମ ଯ ୟ ର ଲ ଳ ୱ ଶ ଷ ସ ହ
+akshar = ଅ ଆ ଇ ଈ ଉ ଊ ଋ ଏ ଐ ଓ ଔ
 
 [transforms.prehyphenation]
 danda.nobreak.1.0 = { |[।॥] }

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/pl/babel-pl.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/pl/babel-pl.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/pl/babel-pl.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2022-10-12
+version = 1.6
+date = 2023-10-17
 name.local = polski
 name.english = Polish
 name.babel = polish
@@ -23,7 +23,7 @@
 script.tag.bcp47 = Latn
 script.tag.opentype = latn
 level = 1
-encodings = T1 OT1 LY1
+encodings = T1 LY1 QX OT4
 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	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.8
-date = 2023-08-31
+version = 1.9
+date = 2023-10-06
 name.local = ייִדיש
 name.english = Yiddish
 name.babel = yiddish
@@ -24,7 +24,7 @@
 level = 1
 encodings = NHE8 HE8 LHE
 derivate = no
-require.babel = yiddish
+require.babel = hebrew
 
 [captions]
 preface = 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yiddish.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yiddish.tex	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yiddish.tex	2023-10-25 20:01:44 UTC (rev 68651)
@@ -10,125 +10,4 @@
 \BabelBeforeIni{yi}{%
 }
 
-\ifcase\bbl at engine\else
-% Contributed by Udi Fogiel, with some changes
-\def\BabelHebrewNumeralMarkerSingle{׳}% Number is a single letter
-\def\BabelHebrewNumeralMarkerFinal{״}%  Before final letter
-
-\@namedef{bbl at cntr@letters.long@\CurrentOption}#1%
-  {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}0}
-
-\@namedef{bbl at cntr@letters.gershayim@\CurrentOption}#1%
-  {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}1}
-
-\@namedef{bbl at cntr@letters.final@\CurrentOption}#1%
-  {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}2}
-
-\def\hebrew at num@trunc#1#2{%
-  \ifnum\numexpr #1-#2*\numexpr #1/#2\relax<0
-    \the\numexpr #1/#2-1\relax
-  \else
-    \the\numexpr #1/#2\relax
-  \fi}
-
-\def\@hebrew@@numeral#1#2{%
-  \ifnum#1<\z@\bbl at error{Invalid Hebrew numeral (<0)}{Not supported.}%
-  \else
-    \ifnum#1<1000
-		    \hebrew at num@nomil{#1}{#2}%
-    \else
-      \ifnum#1>999999 % For forward compatibility
-        \bbl at error{Hebrew numeral too large (>999999)}%
-          {Currently this is the limit.}%
-        #1%
-      \else
-        \expandafter\@hebrew@@numeral\expandafter
-          {\the\numexpr\hebrew at num@trunc{#1}{1000}}0%
-        \BabelHebrewNumeralMarkerSingle
-        \expandafter\hebrew at num@nomil\expandafter
-          {\the\numexpr #1-1000*\hebrew at num@trunc{#1}{1000}}{#2}%
-      \fi
-    \fi
-  \fi}
-
-\def\hebrew at alph@zero{}
-\def\hebrew at num@nomil#1#2{%
-  \ifcase\hebrew at num@trunc{#1}{100}%    print nothing if no hundreds
-    \or ק\ifnum#2>0 \ifnum#1=100 \BabelHebrewNumeralMarkerSingle\fi\fi
-    \or ר\ifnum#2>0 \ifnum#1=200 \BabelHebrewNumeralMarkerSingle\fi\fi
-    \or ש\ifnum#2>0 \ifnum#1=300 \BabelHebrewNumeralMarkerSingle\fi\fi
-    \or ת\ifnum#2>0 \ifnum#1=400 \BabelHebrewNumeralMarkerSingle\fi\fi
-    \or ת\ifnum#2>0 \ifnum#1=500 \BabelHebrewNumeralMarkerFinal\fi\fi ק%
-    \or ת\ifnum#2>0 \ifnum#1=600 \BabelHebrewNumeralMarkerFinal\fi\fi ר%
-    \or ת\ifnum#2>0 \ifnum#1=700 \BabelHebrewNumeralMarkerFinal\fi\fi ש%
-    \or ת\ifnum#2>0 \ifnum#1=800 \BabelHebrewNumeralMarkerFinal\fi\fi ת%
-    \or תת\ifnum#2>0 \ifnum#1=900 \BabelHebrewNumeralMarkerFinal\fi\fi ק%
-  \fi
-  \ifnum\the\numexpr #1-100*\hebrew at num@trunc{#1}{100} = 16
-    \ifnum#2>0 ט\BabelHebrewNumeralMarkerFinal ז\else טז\fi  % tet-zayin
-  \else\ifnum\the\numexpr #1 - 100*\hebrew at num@trunc{#1}{100} = 15
-    \ifnum#2>0 ט\BabelHebrewNumeralMarkerFinal ו\else טו\fi  % tet-vav
-  \else  % print nothing if no tens:
-  \ifcase\expandafter\hebrew at num@trunc\expandafter
-      {\the\numexpr#1-100*\hebrew at num@trunc{#1}{100}}{10}% 
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 י\else
-        \ifnum#2>0 \ifnum#1=10 י\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal י\fi\else י\fi
-      \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 כ\else
-         \ifnum#2>0 \ifnum#1>20 \BabelHebrewNumeralMarkerFinal\fi\fi
-         \if #22ך\else כ\fi\ifnum#2>0 \ifnum#1=20 \BabelHebrewNumeralMarkerSingle\fi\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ל\else
-         \ifnum#2>0 \ifnum#1=30 ל\BabelHebrewNumeralMarkerSingle
-         \else\BabelHebrewNumeralMarkerFinal ל\fi\else ל\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 מ\else
-         \ifnum#2>0 \ifnum#1>40 \BabelHebrewNumeralMarkerFinal\fi\fi
-         \if #22ם\else מ\fi\ifnum#2>0 \ifnum#1=40 \BabelHebrewNumeralMarkerSingle\fi\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 נ\else
-         \ifnum#2>0 \ifnum#1>50 \BabelHebrewNumeralMarkerFinal\fi\fi
-         \if #22ן\else נ\fi\ifnum#2>0 \ifnum#1=50 \BabelHebrewNumeralMarkerSingle\fi\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ס\else
-         \ifnum#2>0 \ifnum#1=60 ס\BabelHebrewNumeralMarkerSingle
-         \else\BabelHebrewNumeralMarkerFinal ס\fi\else ס\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ע\else
-         \ifnum#2>0 \ifnum#1=70 ע\BabelHebrewNumeralMarkerSingle
-         \else\BabelHebrewNumeralMarkerFinal ע\fi\else ע\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 פ\else
-         \ifnum#2>0 \ifnum#1>80 \BabelHebrewNumeralMarkerFinal\fi\fi
-         \if #22ף\else פ\fi\ifnum#2>0 \ifnum#1=80 \BabelHebrewNumeralMarkerSingle\fi\fi
-       \fi
-    \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 צ\else
-        \ifnum#2>0 \ifnum#1>90 \BabelHebrewNumeralMarkerFinal\fi\fi
-        \if #22ץ\else צ\fi\ifnum#2>0 \ifnum#1=90 \BabelHebrewNumeralMarkerSingle \fi\fi
-      \fi
-  \fi
-  \ifcase\numexpr #1-10*\hebrew at num@trunc{#1}{10}%
-      \hebrew at alph@zero %  empty but can be defined if desired
-      \or\ifnum#2>0 \ifnum#1=1 א\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal א\fi\else א\fi
-      \or\ifnum#2>0 \ifnum#1=2 ב\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ב\fi\else ב\fi
-      \or\ifnum#2>0 \ifnum#1=3 ג\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ג\fi\else ג\fi
-      \or\ifnum#2>0 \ifnum#1=4 ד\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ד\fi\else ד\fi
-      \or\ifnum#2>0 \ifnum#1=5 ה\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ה\fi\else ה\fi
-      \or\ifnum#2>0 \ifnum#1=6 ו\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ו\fi\else ו\fi
-      \or\ifnum#2>0 \ifnum#1=7 ז\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ז\fi\else ז\fi
-      \or\ifnum#2>0 \ifnum#1=8 ח\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ח\fi\else ח\fi
-      \or\ifnum#2>0 \ifnum#1=9 ט\BabelHebrewNumeralMarkerSingle
-        \else\BabelHebrewNumeralMarkerFinal ט\fi\else ט\fi
-  \fi\fi\fi}
-\fi
-
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.11
-date = 2023-09-02
+version = 1.12
+date = 2023-10-24
 name.local = 简体中文
 name.english = Simplified Chinese
 name.opentype = Chinese Simplified
@@ -132,7 +132,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -159,7 +159,7 @@
 months.wide.24    = 闰腊月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -235,5 +235,5 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.11
-date = 2023-09-02
+version = 1.12
+date = 2023-10-24
 name.local = 简体中文
 name.english = Simplified Chinese
 name.opentype = Chinese Simplified
@@ -132,7 +132,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -159,7 +159,7 @@
 months.wide.24    = 闰腊月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -235,5 +235,5 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.11
-date = 2023-09-02
+version = 1.12
+date = 2023-10-24
 name.local = 简体中文
 name.english = Simplified Chinese
 name.opentype = Chinese Simplified
@@ -132,7 +132,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -159,7 +159,7 @@
 months.wide.24    = 闰腊月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -235,6 +235,6 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.13
-date = 2023-09-02
+version = 1.14
+date = 2023-10-24
 name.local = 简体中文
 name.english = Simplified Chinese
 name.opentype = Chinese Simplified
@@ -135,7 +135,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -162,7 +162,7 @@
 months.wide.24    = 闰腊月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -238,5 +238,5 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.11
-date = 2023-09-02
+version = 1.12
+date = 2023-10-24
 name.local = 繁體中文
 name.english = Traditional Chinese
 name.opentype = Chinese Traditional
@@ -132,7 +132,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -159,7 +159,7 @@
 months.wide.24    = 闰十二月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -235,6 +235,6 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.11
-date = 2023-09-02
+version = 1.12
+date = 2023-10-24
 name.local = 繁體中文
 name.english = Traditional Chinese
 name.opentype = Chinese Traditional
@@ -132,7 +132,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -159,7 +159,7 @@
 months.wide.24    = 闰臘月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -235,6 +235,6 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.12
-date = 2023-09-02
+version = 1.13
+date = 2023-10-24
 name.local = 繁體中文
 name.english = Traditional Chinese
 name.opentype = Chinese Traditional
@@ -137,7 +137,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -164,7 +164,7 @@
 months.wide.24    = 闰臘月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -240,6 +240,6 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
 
 

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini	2023-10-25 20:01:44 UTC (rev 68651)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.13
-date = 2023-09-02
+version = 1.14
+date = 2023-10-24
 name.local = 中文
 name.english = Chinese
 name.opentype = Chinese Simplified
@@ -136,7 +136,7 @@
 dayPeriods.wide.pm = 下午
 
 [date.chinese]
-date.long = [y|digits]年[MMMM][d|date.days]
+date.long = [y|digits]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -163,7 +163,7 @@
 months.wide.24    = 闰腊月
 
 [date.chinese.Sexagenary]
-date.long = [U|date.sexagenary]年[MMMM][d|date.days]
+date.long = [U|date.sexagenary]年[MMMM][d|date.day]
 months.wide.1     = 正月
 months.wide.2     = 二月
 months.wide.3     = 三月
@@ -239,4 +239,4 @@
 parenthesized.ideograph = ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
 fullwidth.lower.alpha = a b c d e f g h i j k l m n o p q r s t u v w x y z
 fullwidth.upper.alpha = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-date.days = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+date.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十

Modified: trunk/Master/texmf-dist/tex/generic/babel/luababel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2023-10-25 20:01:44 UTC (rev 68651)
@@ -1100,15 +1100,22 @@
             end
           end
         end
+        % Treat composite chars in a different fashion, because they
+        % 'inherit' the previous locale.
+        if (item.char >= 0x0300 and item.char <= 0x036F) or
+           (item.char >= 0x1AB0 and item.char <= 0x1AFF) or
+           (item.char >= 0x1DC0 and item.char <= 0x1DFF) then
+             Babel.chr_to_loc[item.char] = -2000
+             toloc = -2000
+        end
+        if not toloc then
+          Babel.chr_to_loc[item.char] = -1000
+        end
       end
-      % Now, take action, but treat composite chars in a different
-      % fashion, because they 'inherit' the previous locale. Not yet
-      % optimized.
-      if not toloc and
-          (item.char >= 0x0300 and item.char <= 0x036F) or
-          (item.char >= 0x1AB0 and item.char <= 0x1AFF) or
-          (item.char >= 0x1DC0 and item.char <= 0x1DFF) then
+      if toloc == -2000 then
         toloc = toloc_save
+      elseif toloc == -1000 then
+        toloc = nil
       end
       if toloc and Babel.locale_props[toloc] and
           Babel.locale_props[toloc].letters and
@@ -1115,7 +1122,13 @@
           tex.getcatcode(item.char) \string~= 11 then
         toloc = nil
       end
-      if toloc and toloc > -1 then
+      if toloc and Babel.locale_props[toloc].script
+          and Babel.locale_props[node.get_attribute(item, LOCALE)].script
+          and Babel.locale_props[toloc].script ==
+            Babel.locale_props[node.get_attribute(item, LOCALE)].script then
+        toloc = nil
+      end
+      if toloc then
         if Babel.locale_props[toloc].lg then
           item.lang = Babel.locale_props[toloc].lg
           node.set_attribute(item, LOCALE, toloc)
@@ -1123,8 +1136,8 @@
         if Babel.locale_props[toloc]['/'..item.font] then
           item.font = Babel.locale_props[toloc]['/'..item.font]
         end
-        toloc_save = toloc
       end
+      toloc_save = toloc
     elseif not inmath and item.id == 7 then % Apply recursively
       item.replace = item.replace and Babel.locale_map(item.replace)
       item.pre     = item.pre and Babel.locale_map(item.pre)

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2023-10-25 20:01:02 UTC (rev 68650)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2023-10-25 20:01:44 UTC (rev 68651)
@@ -33,7 +33,7 @@
 %% extension |.ins|) which are part of the distribution.
 %%
 
-\ProvidesLanguage{nil}[2023/09/29 v3.95 Nil language]
+\ProvidesLanguage{nil}[2023/10/25 v3.96 Nil language]
 \LdfInit{nil}{datenil}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil
@@ -72,7 +72,7 @@
 \@namedef{bbl at esname@nil}{Latin}
 \@namedef{bbl at sname@nil}{Latin}
 \@namedef{bbl at sbcp@nil}{Latn}
-\@namedef{bbl at sotf@nil}{Latn}
+\@namedef{bbl at sotf@nil}{latn}
 \ldf at finish{nil}
 \endinput
 %%



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