summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-03-29 21:35:44 +0000
committerKarl Berry <karl@freefriends.org>2024-03-29 21:35:44 +0000
commitff4e3b54056f06c0dce5f9423003d8c8fbb5fe33 (patch)
tree47983b51719b2c01111fb63e49f991ad138ef999
parent59e30b63db8a55f8b463dfd85e7a17ace98d5622 (diff)
babel (29mar24)
git-svn-id: svn://tug.org/texlive/trunk@70809 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md27
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel-code.pdfbin647075 -> 646852 bytes
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin421738 -> 422784 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx146
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin1086742 -> 1086767 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def10
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty19
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/brx/babel-brx.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canada.tex15
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fr/babel-french.tex18
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def14
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def15
16 files changed, 173 insertions, 108 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 1469c5b7f16..aee528f60cf 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,18 +1,18 @@
-## Babel 24.2
+## Babel 24.3
-2024-02-07
+2024-03-29
-This package manages culturally-determined typographical (and other)
-rules, and hyphenation patterns for a wide range of languages. Many
-language styles work with pdflatex, as well as with xelatex and
-lualatex out of the box. A few even work with plain formats. Included
-is a set of ini files for about 300 languages.
+`babel` is the multilingual framework for localizing documents in
+LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined
+typographical (and other) rules for about 170 to 300 languages,
+depending on the engine, with several levels of coverage. A few
+languages even work with Plain formats.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 24.2 are described in:
+Changes in version 24.3 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-24.2.html
+https://latex3.github.io/babel/news/whats-new-in-babel-24.3.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -48,9 +48,12 @@ respective authors.
### Summary of latest changes
```
-24.2 2024-02-07
- * Cleaned up some language names.
- * Mosty internal changes and minor fixes.
+24.3 2024-03-29
+ * A silly mistake in the French locales: the interchar
+ 'punctuation.space' was named 'puntuation.space' (xetex)
+ * New setting 'interchar.disable' in \babeladjust (xetex)
+ * Experimental macro '\localebox' (luatex)
+ * Alphabetic counter for Bodo (lua/xe)
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel-code.pdf b/Master/texmf-dist/doc/latex/babel/babel-code.pdf
index fa0a7983077..de968014b29 100644
--- a/Master/texmf-dist/doc/latex/babel/babel-code.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 21d664d5bbf..7c263bf3eaa 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index ea14d382bbe..11b73fef9b8 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2024/02/07 v24.2 The Babel package]
+\ProvidesFile{babel.dtx}[2024/03/29 v24.3 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -748,7 +748,9 @@ for the language chosen:
\selectlanguage{german}
\end{verbatim}
-This command can be used as environment, too.
+This command can be used as environment, too, in case there are
+relatively short texts and you do not want to reset the language with a
+hardcode value.
\begin{note}
For ``historical reasons'', a macro name is converted to a language
@@ -785,15 +787,18 @@ This command can be used as environment, too.
rarely happens, but if it were the case, you must use
|otherlanguage| instead.
\item In addition, this macro inserts a |\write| in vertical mode,
- which may break the vertical spacing in some cases (for example,
- between lists). \New{3.64} The behavior can be adjusted with
- |\babeladjust{select.write=|\m{mode}|}|, where \m{mode} is |shift|
- (which shifts the skips down and adds a |\penalty|); |keep| (the
- default -- with it the |\write| and the skips are kept in the order
- they are written), and |omit| (which may seem a too drastic solution,
- because nothing is written, but more often than not this command is
- applied to more or less shorts texts with no sectioning or similar
- commands and therefore no language synchronization is necessary).
+ which may break the vertical spacing in some cases (for example,
+ between lists or at the beginning of a table cell). \New{3.64} The
+ behavior can be adjusted with
+ |\babeladjust{select.write=|\m{mode}|}|, where \m{mode} is |shift|
+ (which shifts the skips down and adds a |\penalty|); |keep| (the
+ default -- with it the |\write| and the skips are kept in the order
+ they are written), and |omit| (which may seem a too drastic
+ solution, because nothing is written, but more often than not this
+ command is applied to more or less shorts texts with no sectioning
+ or similar commands, and therefore no language synchronization is
+ necessary). In a table cell, a |\leavevmode| just before the
+ selector may be enough.
\end{itemize}
\end{warning}
@@ -851,7 +856,17 @@ is roughly equivalent to:
If you want a change which is really local, you must enclose this
environment with an additional grouping, like braces |{}|.
-Spaces after the environment are ignored.
+Spaces after the environment are ignored.\footnote{Very likely, and
+because of the limitations of many old editors with bidi text, the idea
+was \cs{end}\texttt{\{otherlanguage\}} had to be a line by itself.} If this
+behavior is not desired, you may use the environment
+\texttt{selectlanguage}.
+
+\begin{warning}
+ Being similar to |\selectlanguage|, the warning above about the
+ internal |\write| also applies here. The current mode (vertical or
+ horizonal) is also not changed.
+\end{warning}
\Describe{\begin\menv{otherlanguage*}}%
{\oarg{option-list}\marg{language}\Eenv{otherlanguage*}}
@@ -889,9 +904,10 @@ group.
|\textcolor| and many others). The same applies to environments,
because |arabic| conflicts with |\arabic|. Furthermore, and because of
this overloading, detecting the language of a chunk of text by
- external tools can become unfeasible. Except if there is a reason for
+ external tools can become unfeasible (is |\textga| the locale for the
+ African language Gã or something else?). Except if there is a reason for
this ‘syntactical sugar’, the best option is to stick to the default
- selectors or to define your own alternatives.
+ selectors or even to define your own alternatives.
\end{warning}
\begin{example}
@@ -2258,19 +2274,11 @@ to select fonts in addition to the three basic families.
\babelfont[hindi]{rm}{Shobhika}
\end{verbatim}
This makes sure the OpenType script for Devanagari is |deva| and not
- |dev2|, in case it is not detected correctly. You may also pass some
- options to \textsf{fontspec}: with |silent|, the warnings about
- unavailable scripts or languages are not shown (they are only really
- useful when the document format is being set up).
-\end{note}
-
-\begin{note}
- Directionality is a property affecting margins, indentation, column
- order, etc., not just text. Therefore, it is under the direct control
- of the language, which applies both the script and the direction to
- the text. As a consequence, there is no need to set \texttt{Script}
- when declaring a font with |\babelfont| (nor \texttt{Language}). In
- fact, it is even discouraged.
+ |dev2|, in case it is not detected correctly.
+% You may also pass some
+% options to \textsf{fontspec}: with |silent|, the warnings about
+% unavailable scripts or languages are not shown (they are only really
+% useful when the document format is being set up).
\end{note}
\begin{note}
@@ -2285,6 +2293,15 @@ to select fonts in addition to the three basic families.
\end{note}
\begin{note}
+ Directionality is a property affecting margins, indentation, column
+ order, etc., not just text. Therefore, it is under the direct control
+ of the language, which applies both the script and the direction to
+ the text. As a consequence, there is no need to set \texttt{Script}
+ when declaring a font with |\babelfont| (nor \texttt{Language}). In
+ fact, it is even discouraged.
+\end{note}
+
+\begin{note}
The keys |Language| and |Script| just pass these values to the
\textit{font}, and do \textit{not} set the script for the
\textit{language} (and therefore the writing direction). In other
@@ -3679,6 +3696,11 @@ the ‘provided’ locale. Currently there is a set of rules for French
named |punctuation.space|, which applies proper spacing with characters
\textit{;:!?«»}.
+\begin{note}
+ You can use |transforms| and |interchar| at the same time. Only the
+ relevant key for the current engine is taken into account.
+\end{note}
+
\subsection{Selection based on BCP 47 tags}
\label{bcp47}
@@ -4461,15 +4483,17 @@ autoload.options\\
autoload.bcp47.prefix\\
autoload.bcp47.options\\
prehyphenation.disable\\
+interchar.disable\\
select.write\\
select.encoding\\
\end{multicols}
Most of them are documented elsewhere. With |select.encoding=off|, the
encoding is not set when loading a language on the fly with \pdftex{}
(only |off|). |prehyphenation.disable| is by default |nohyphenation|,
-which means prehyphenation transforms are not applied if the current
+which means \luatex{} prehyphenation transforms are not applied if the current
hyphenation rules are |nohyphenation|; with |off| they are never
-disabled.
+disabled. |interchar.disable| takes the same values, but for the
+\xetex{} interchar mechanism.
For example, you can set |\babeladjust{bidi.text=off}| if you are using
an alternative algorithm or with large sections not requiring it. Use
@@ -5427,8 +5451,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=24.2>>
-%<<date=2024/02/07>>
+%<<version=24.3>>
+%<<date=2024/03/29>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -6588,7 +6612,8 @@ wouldn’t exist.
\chardef\localeid\bbl@cl{id@}}
% \end{macrocode}
%
-% The unprotected part of |\selectlanguage|.
+% The unprotected part of |\selectlanguage|. In case it is used as
+% environment, declare |\endselectlaguage|, just for safety.
%
% \begin{macrocode}
\expandafter\def\csname selectlanguage \endcsname#1{%
@@ -6596,6 +6621,7 @@ wouldn’t exist.
\bbl@push@language
\aftergroup\bbl@pop@language
\bbl@set@language{#1}}
+\let\endselectlanguage\relax
% \end{macrocode}
%
% \end{macro}
@@ -6814,14 +6840,10 @@ wouldn’t exist.
% \end{macrocode}
%
% \begin{environment}{otherlanguage}
-% The \Lenv{otherlanguage} environment can be used as an
-% alternative to using the |\selectlanguage| declarative
-% command. When you are typesetting a document which mixes
-% left-to-right and right-to-left typesetting you have to use this
-% environment in order to let things work as you expect them to.
-%
-% The |\ignorespaces| command is necessary to hide the environment
-% when it is entered in horizontal mode.
+% The \Lenv{otherlanguage} environment can be used as an alternative to
+% using the |\selectlanguage| declarative command. The |\ignorespaces|
+% command is necessary to hide the environment when it is entered in
+% horizontal mode.
%
% \begin{macrocode}
\long\def\otherlanguage#1{%
@@ -6835,8 +6857,7 @@ wouldn’t exist.
% itself when it is called in horizontal mode.
%
% \begin{macrocode}
-\long\def\endotherlanguage{%
- \global\@ignoretrue\ignorespaces}
+\long\def\endotherlanguage{\@ignoretrue\ignorespaces}
% \end{macrocode}
%
% \end{environment}
@@ -11585,6 +11606,15 @@ wouldn’t exist.
\directlua{ Babel.ignore_pre_char = function(node)
return false
end }}
+\@namedef{bbl@ADJ@interchar.disable@nohyphenation}{%
+ \def\bbl@ignoreinterchar{%
+ \ifnum\language=\l@nohyphenation
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}}
+\@namedef{bbl@ADJ@interchar.disable@off}{%
+ \let\bbl@ignoreinterchar\@firstofone}
\@namedef{bbl@ADJ@select.write@shift}{%
\let\bbl@restorelastskip\relax
\def\bbl@savelastskip{%
@@ -13598,7 +13628,7 @@ wouldn’t exist.
\let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>%
\let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx
\\\renewfontfamily\\#4%
- [\bbl@cl{lsys},%
+ [\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
#2]}{#3}% ie \bbl@exp{..}{#3}
\bbl@exp{%
@@ -13878,16 +13908,17 @@ wouldn’t exist.
% ‘disabled’ with |\bbl@ic@<label>@<lang>|.
%
% \begin{macrocode}
+\def\bbl@ignoreinterchar{%
+ \ifnum\language=\l@nohyphenation
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}
\newcommand\babelinterchar[5][]{%
\let\bbl@kv@label\@empty
\bbl@forkv{#1}{\bbl@csarg\edef{kv@##1}{##2}}%
\@namedef{\zap@space bbl@xeinter@\bbl@kv@label @#3@#4@#2 \@empty}%
- {\ifnum\language=\l@nohyphenation
- \expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi
- {#5}}%
+ {\bbl@ignoreinterchar{#5}}%
\bbl@csarg\let{ic@\bbl@kv@label @#2}\@firstofone
\bbl@exp{\\\bbl@for\\\bbl@tempa{\zap@space#3 \@empty}}{%
\bbl@exp{\\\bbl@for\\\bbl@tempb{\zap@space#4 \@empty}}{%
@@ -15540,9 +15571,14 @@ end
local d = node.new(node.id'dir')
d.dir = '+TRT'
node.insert_before(head, node.has_glyph(head), d)
+ local inmath = false
for item in node.traverse(head) do
- node.set_attribute(item,
- Babel.attr_dir, token.get_macro('bbl@thedir'))
+ if item.id == 11 then
+ inmath = (item.subtype == 0)
+ elseif not inmath then
+ node.set_attribute(item,
+ Babel.attr_dir, token.get_macro('bbl@thedir'))
+ end
end
end
end
@@ -15554,6 +15590,14 @@ end
\fi
% \end{macrocode}
%
+% Experimental. Tentative name.
+%
+% \begin{macrocode}
+\DeclareRobustCommand\localebox[1]{%
+ {\def\bbl@insidemath{0}%
+ \mbox{\foreignlanguage{\languagename}{#1}}}}
+% \end{macrocode}
+%
% \subsection{Layout}
%
% Unlike \xetex{}, \luatex{} requires only minimal changes for
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 4b857314cbb..d498b8ff4f1 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2024/02/07}
+\def\filedate{2024/03/29}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index 8d458823607..9c1856b9982 100644
--- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2024/02/07 v24.2]
+\ProvidesFile{bbcompat.dtx}[2024/03/29 v24.3]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index bbc0ace01f6..5a90571a6bc 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 3a1f99d2e7c..a76f7f47b11 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2024/02/07 v24.2 Babel common definitions]
+\ProvidesFile{babel.def}[2024/03/29 v24.3 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -596,8 +596,8 @@
\toks@\expandafter{\bbl@tempc#3}%
\expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
\fi}
-\def\bbl@version{24.2}
-\def\bbl@date{2024/02/07}
+\def\bbl@version{24.3}
+\def\bbl@date{2024/03/29}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -735,6 +735,7 @@
\bbl@push@language
\aftergroup\bbl@pop@language
\bbl@set@language{#1}}
+\let\endselectlanguage\relax
\def\BabelContentsFiles{toc,lof,lot}
\def\bbl@set@language#1{% from selectlanguage, pop@
% The old buggy way. Preserved for compatibility.
@@ -890,8 +891,7 @@
\ifnum\bbl@hymapsel=\@cclv\let\bbl@hymapsel\thr@@\fi
\csname selectlanguage \endcsname{#1}%
\ignorespaces}
-\long\def\endotherlanguage{%
- \global\@ignoretrue\ignorespaces}
+\long\def\endotherlanguage{\@ignoretrue\ignorespaces}
\expandafter\def\csname otherlanguage*\endcsname{%
\@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}}
\def\bbl@otherlanguage@s[#1]#2{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 0eb07150d03..35fa58deff0 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2024/02/07 v24.2 The Babel package]
+\ProvidesPackage{babel}[2024/03/29 v24.3 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -466,8 +466,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{24.2}
-\def\bbl@date{2024/02/07}
+\def\bbl@version{24.3}
+\def\bbl@date{2024/03/29}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -633,6 +633,7 @@
\bbl@push@language
\aftergroup\bbl@pop@language
\bbl@set@language{#1}}
+\let\endselectlanguage\relax
\def\BabelContentsFiles{toc,lof,lot}
\def\bbl@set@language#1{% from selectlanguage, pop@
% The old buggy way. Preserved for compatibility.
@@ -788,8 +789,7 @@
\ifnum\bbl@hymapsel=\@cclv\let\bbl@hymapsel\thr@@\fi
\csname selectlanguage \endcsname{#1}%
\ignorespaces}
-\long\def\endotherlanguage{%
- \global\@ignoretrue\ignorespaces}
+\long\def\endotherlanguage{\@ignoretrue\ignorespaces}
\expandafter\def\csname otherlanguage*\endcsname{%
\@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}}
\def\bbl@otherlanguage@s[#1]#2{%
@@ -3630,6 +3630,15 @@
\directlua{ Babel.ignore_pre_char = function(node)
return false
end }}
+\@namedef{bbl@ADJ@interchar.disable@nohyphenation}{%
+ \def\bbl@ignoreinterchar{%
+ \ifnum\language=\l@nohyphenation
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}}
+\@namedef{bbl@ADJ@interchar.disable@off}{%
+ \let\bbl@ignoreinterchar\@firstofone}
\@namedef{bbl@ADJ@select.write@shift}{%
\let\bbl@restorelastskip\relax
\def\bbl@savelastskip{%
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 9b356af30fe..b667ec61a93 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,10 +38,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2024/02/07 v24.2 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2024/03/29 v24.3 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{24.2}
-\def\bbl@date{2024/02/07}
+\def\bbl@version{24.3}
+\def\bbl@date{2024/03/29}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/brx/babel-brx.ini b/Master/texmf-dist/tex/generic/babel/locale/brx/babel-brx.ini
index e95f7fdb714..acffcff76ee 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/brx/babel-brx.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/brx/babel-brx.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2022-06-14
+version = 1.6
+date = 2024-03-18
name.local = बर’
name.english = Bodo
name.babel = bodo
@@ -171,3 +171,4 @@ plusSign = +
superscriptingExponent = ×
[counters]
+alphabetic = क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल व श ष स ह \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canada.tex b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canada.tex
index 43351e1d342..c12481ca1c1 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canada.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french-canada.tex
@@ -10,11 +10,10 @@
\BabelBeforeIni{fr-CA}{%
}
-
\ifcase\bbl@engine\or\or % XeTeX
% Partly based on babel-french, by Daniel Flipo
-\IfBabelIntercharT{puntuation.space}{%
+\IfBabelIntercharT{punctuation.space}{%
\providecommand{\BabelFrenchGuillemetSpace}{%
\leavevmode\nobreak\hskip.8\fontdimen2\font
plus.3\fontdimen3\font
@@ -26,19 +25,19 @@
\babelcharclass{\CurrentOption}{rightguillemet}{»}%
\babelcharclass{\CurrentOption}{opening}{([\{}% just make != default
%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{default, rightguillemet}{colon}{\BabelFrenchColonSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{leftguillemet}{default}{\BabelFrenchGuillemetSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{default}{rightguillemet}{\BabelFrenchGuillemetSpace}%
%
% Here boundary means essentialy space:
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{boundary}{colon}{\ifhmode\unskip\nobreak\fi\BabelFrenchColonSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{leftguillemet}{boundary}{\BabelFrenchGuillemetSpace\ignorespaces}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{boundary}{rightguillemet}{\ifhmode\unskip\fi\BabelFrenchGuillemetSpace}%
}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french.tex b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french.tex
index a53769ba554..56502534242 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/fr/babel-french.tex
@@ -13,7 +13,7 @@
\ifcase\bbl@engine\or\or % XeTeX
% Partly based on babel-french, by Daniel Flipo
-\IfBabelIntercharT{puntuation.space}{%
+\IfBabelIntercharT{punctuation.space}{%
\providecommand{\BabelFrenchGuillemetSpace}{%
\leavevmode\nobreak\hskip.8\fontdimen2\font
plus.3\fontdimen3\font
@@ -28,23 +28,23 @@
\babelcharclass{\CurrentOption}{rightguillemet}{»}%
\babelcharclass{\CurrentOption}{opening}{([\{}% just make != default
%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{default, rightguillemet, high, colon}{high}{\BabelFrenchHighSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{default, rightguillemet, high}{colon}{\BabelFrenchColonSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{leftguillemet}{default}{\BabelFrenchGuillemetSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{default, high}{rightguillemet}{\BabelFrenchGuillemetSpace}%
%
% Here boundary means essentialy space:
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{boundary}{high}{\ifhmode\unskip\nobreak\fi\BabelFrenchHighSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{boundary}{colon}{\ifhmode\unskip\nobreak\fi\BabelFrenchColonSpace}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{leftguillemet}{boundary}{\BabelFrenchGuillemetSpace\ignorespaces}%
- \babelinterchar[label=puntuation.space]{\CurrentOption}%
+ \babelinterchar[label=punctuation.space]{\CurrentOption}%
{boundary}{rightguillemet}{\ifhmode\unskip\fi\BabelFrenchGuillemetSpace}%
}
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 78272358244..b531bcdeb3d 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -996,7 +996,7 @@ end
\let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>%
\let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx
\\\renewfontfamily\\#4%
- [\bbl@cl{lsys},%
+ [\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
#2]}{#3}% ie \bbl@exp{..}{#3}
\bbl@exp{%
@@ -1466,9 +1466,14 @@ end
local d = node.new(node.id'dir')
d.dir = '+TRT'
node.insert_before(head, node.has_glyph(head), d)
+ local inmath = false
for item in node.traverse(head) do
- node.set_attribute(item,
- Babel.attr_dir, token.get_macro('bbl@thedir'))
+ if item.id == 11 then
+ inmath = (item.subtype == 0)
+ elseif not inmath then
+ node.set_attribute(item,
+ Babel.attr_dir, token.get_macro('bbl@thedir'))
+ end
end
end
end
@@ -1478,6 +1483,9 @@ end
"Babel.math_box_dir", 0)
}}%
\fi
+\DeclareRobustCommand\localebox[1]{%
+ {\def\bbl@insidemath{0}%
+ \mbox{\foreignlanguage{\languagename}{#1}}}}
\bbl@trace{Redefinitions for bidi layout}
\ifnum\bbl@bidimode>\z@ % Any bidi=
\matheqdirmode\@ne % A luatex primitive
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 434542c8e9f..987796efd1e 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -33,7 +33,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2024/02/07 v24.2 Nil language]
+\ProvidesLanguage{nil}[2024/03/29 v24.3 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 4da5bc3949a..e1f5387a0ef 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -248,7 +248,7 @@
\let\\\bbl@tempfs@nxx\<__fontspec_warning:nxx>%
\let\<__fontspec_warning:nxx>\\\bbl@fs@warn@nxx
\\\renewfontfamily\\#4%
- [\bbl@cl{lsys},%
+ [\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
#2]}{#3}% ie \bbl@exp{..}{#3}
\bbl@exp{%
@@ -348,16 +348,17 @@
\else
\bbl@error{double-hyphens-class}{}{}{}%
\fi\fi}
+\def\bbl@ignoreinterchar{%
+ \ifnum\language=\l@nohyphenation
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi}
\newcommand\babelinterchar[5][]{%
\let\bbl@kv@label\@empty
\bbl@forkv{#1}{\bbl@csarg\edef{kv@##1}{##2}}%
\@namedef{\zap@space bbl@xeinter@\bbl@kv@label @#3@#4@#2 \@empty}%
- {\ifnum\language=\l@nohyphenation
- \expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi
- {#5}}%
+ {\bbl@ignoreinterchar{#5}}%
\bbl@csarg\let{ic@\bbl@kv@label @#2}\@firstofone
\bbl@exp{\\\bbl@for\\\bbl@tempa{\zap@space#3 \@empty}}{%
\bbl@exp{\\\bbl@for\\\bbl@tempb{\zap@space#4 \@empty}}{%