summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md28
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel-code.pdfbin625101 -> 626873 bytes
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin404372 -> 404347 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx92
-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.zipbin941853 -> 942671 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-transforms.lua31
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty6
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini26
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini35
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def34
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
15 files changed, 202 insertions, 68 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 12e18a9aa36..d9e620c5a68 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,6 +1,6 @@
-## Babel 3.90
+## Babel 3.91
-2023-06-26
+2023-07-09
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -10,9 +10,9 @@ is a set of ini files for about 250 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.90 are described in:
+Changes in version 3.91 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.90.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.91.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -48,18 +48,14 @@ respective authors.
### Summary of latest changes
```
-3.90 2023-06-26
- * Main language selected at begindocument/before (#240).
- * Option to limit the number of inserted tatweel.
- * New macros `\BabelUppercaseMapping` and
- `\BabelLowercaseMapping`.
- * Fix: line breaking was sometimes prevented when switching the
- text direction (#213).
- * Locale names (in ini files):
- - `classicallatin` and `ecclesiasticallatin` now preferred to
- `classiclatin` and `ecclesiasticlatin`.
- - `farsi` is a synonymous for `persian`.
- - `vietnam` removed - use `vietnamese`.
+3.91 2023-07-09
+ * Transform for transliterated Hebrew, based on cjhebrew.
+ * Fixes:
+ - alignat and alignat* (amsmath) should now work in RTL mode (#208).
+ - The package option `layout=extras` was severely broken (#246).
+ - English and Arabic documents broken when using paracol (#241).
+ * Experimental: transforming strings with
+ `\localeprehyphenation`.
```
### 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 8ac14245b44..3308a56ba7e 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 1372db8c423..d6a75241db7 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 1477fd04499..6f91f1141cc 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}[2023/06/26 v3.90 The Babel package]
+\ProvidesFile{babel.dtx}[2023/07/09 v3.91 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -2941,7 +2941,7 @@ Languages providing native digits in all or some variants are:
Arabic\\
Assamese\\
Bangla\\
-Tibetar\\
+Tibetan\\
Bodo\\
Central Kurdish\\
Dzongkha\\
@@ -5466,8 +5466,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.90>>
-%<<date=2023/06/26>>
+%<<version=3.91>>
+%<<date=2023/07/09>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -14436,13 +14436,8 @@ end
\gdef\bbl@arabicjust{%
\let\bbl@arabicjust\relax
\newattribute\bblar@kashida
- \newattribute\bblar@kashida@aux % 0, 1=tatweel, 2=diacritics
- \directlua{% WIP
- Babel.attr_kashida = luatexbase.registernumber'bblar@kashida'
- Babel.attr_kashida_aux = luatexbase.registernumber'bblar@kashida@aux'
- }%
+ \directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar@kashida' }%
\bblar@kashida=\z@
- \bblar@kashida@aux=\z@
\bbl@patchfont{{\bbl@parsejalt}}%
\directlua{
Babel.arabic.elong_map = Babel.arabic.elong_map or {}
@@ -14904,7 +14899,6 @@ end
\@ifnextchar[{\bbl@settransform{0}}{\bbl@settransform{0}[]}}
\gdef\babelposthyphenation{&%
\@ifnextchar[{\bbl@settransform{1}}{\bbl@settransform{1}[]}}
-\gdef\bbl@postlinebreak{\bbl@settransform{2}[]} &% WIP
\gdef\bbl@settransform#1[#2]#3#4#5{&%
\ifcase#1
\bbl@activateprehyphen
@@ -14985,7 +14979,7 @@ end
local lbkr = Babel.linebreaking.replacements[#1]
local u = unicode.utf8
local id, attr, label
- if #1 == 0 or #1 == 2 then
+ if #1 == 0 then
id = \the\csname bbl@id@@#3\endcsname\space
else
id = \the\csname l@#3\endcsname\space
@@ -15000,7 +14994,7 @@ end
\fi
&% Convert pattern:
local patt = string.gsub([==[#4]==], '%s', '')
- if #1 == 0 or #1 == 2 then
+ if #1 == 0 then
patt = string.gsub(patt, '|', ' ')
end
if not u.find(patt, '()', nil, true) then
@@ -15081,6 +15075,19 @@ end
}}
% \end{macrocode}
%
+% The following experimental (and unfinished) macro applies the
+% prehyphenation transforms for the current locale to a string
+% (characters and spaces) and processes it in a fully expandable way
+% (among other limitations, the string can’t contain |]==]|). The way
+% it operates is admittedly rather cumbersome: it converts the string
+% to a node list, processes it, and converts it back to a string. The
+% lua code is in the lua file below.
+%
+% \begin{macrocode}
+\newcommand\localeprehyphenation[1]{%
+ \directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }}
+% \end{macrocode}
+%
% \subsection{Bidi}
%
% As a first step, add a handler for bidi and digits (and potentially
@@ -15376,10 +15383,13 @@ end
\AddToHook{env/gather*/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/align/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/align*/begin}{\bbl@ams@preset\bbl@ams@lap}%
+ \AddToHook{env/alignat/begin}{\bbl@ams@preset\bbl@ams@lap}%
+ \AddToHook{env/alignat*/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/eqnalign/begin}{\bbl@ams@preset\hbox}%
% Hackish, for proper alignment. Don’t ask me why it works!:
\bbl@exp{% Avoid a 'visible' conditional
- \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
+ \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}%
+ \\\AddToHook{env/alignat*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
\AddToHook{env/flalign/begin}{\bbl@ams@preset\hbox}%
\AddToHook{env/split/before}{%
\def\bbl@mathboxdir{\def\bbl@insidemath{1}}%
@@ -15488,11 +15498,23 @@ end
{}}%
\fi}
\fi
+% \end{macrocode}
+%
+% Very likely the |\output| routine must be patched in a quite general
+% way to make sure the |\bodydir| is set to |\pagedir|. Note outside
+% |\output| they can be different (and often are). For the moment, two
+% \textit{ad hoc} changes.
+%
+% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{multicol}%
{\toks@\expandafter{\multi@column@out}%
\edef\multi@column@out{\bodydir\pagedir\the\toks@}}%
- {}}
+ {}%
+ \@ifpackageloaded{paracol}%
+ {\edef\pcol@output{%
+ \bodydir\pagedir\unexpanded\expandafter{\pcol@output}}}%
+ {}}%
\fi
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
% \end{macrocode}
@@ -15684,9 +15706,12 @@ end
%
% \begin{macrocode}
\IfBabelLayout{extras}%
- {\let\bbl@OL@underline\underline
- \bbl@sreplace\underline{$\@@underline}{\bbl@nextfake$\@@underline}%
- \let\bbl@OL@LaTeX2e\LaTeX2e
+ {\bbl@ncarg\let\bbl@OL@underline{underline }%
+ \bbl@carg\bbl@sreplace{underline }%
+ {$\@@underline}{\bgroup\bbl@nextfake$\@@underline}%
+ \bbl@carg\bbl@sreplace{underline }%
+ {\m@th$}{\m@th$\egroup}%
+ \let\bbl@OL@LaTeXe\LaTeXe
\DeclareRobustCommand{\LaTeXe}{\mbox{\m@th
\if b\expandafter\@car\f@series\@nil\boldmath\fi
\babelsublr{%
@@ -15720,7 +15745,6 @@ end
Babel.linebreaking.replacements = {}
Babel.linebreaking.replacements[0] = {} -- pre
Babel.linebreaking.replacements[1] = {} -- post
-Babel.linebreaking.replacements[2] = {} -- post-line WIP
-- Discretionaries contain strings as nodes
function Babel.str_to_nodes(fn, matches, base)
@@ -15872,7 +15896,6 @@ Babel.us_char = string.char(31)
function Babel.hyphenate_replace(head, mode)
local u = unicode.utf8
local lbkr = Babel.linebreaking.replacements[mode]
- if mode == 2 then mode = 0 end -- WIP
local word_head = head
@@ -16203,6 +16226,35 @@ function Babel.capture_kashida(key, wt)
end
return 'kashida = ' .. wt
end
+
+-- Experimental: applies prehyphenation transforms to a string (letters
+-- and spaces).
+function Babel.string_prehyphenation(str, locale)
+ local n, head, last, res
+ head = node.new(8, 0) -- dummy (hack just to start)
+ last = head
+ for s in string.utfvalues(str) do
+ if s == 20 then
+ n = node.new(12, 0)
+ else
+ n = node.new(29, 0)
+ n.char = s
+ end
+ node.set_attribute(n, Babel.attr_locale, locale)
+ last.next = n
+ last = n
+ end
+ head = Babel.hyphenate_replace(head, 0)
+ res = ''
+ for n in node.traverse(head) do
+ if n.id == 12 then
+ res = res .. ' '
+ elseif n.id == 29 then
+ res = res .. unicode.utf8.char(n.char)
+ end
+ end
+ tex.print(res)
+end
%</transforms>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 9aae84b3377..0ecbabbcf5e 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{2023/06/26}
+\def\filedate{2023/07/09}
\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 a75572297a6..6aed1294ac3 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}[2023/06/26 v3.90]
+\ProvidesFile{bbcompat.dtx}[2023/07/09 v3.91]
%</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 c4a18e81304..db424156901 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-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
index 2280b7ea9a3..6a44a603dfa 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
@@ -36,7 +36,6 @@
Babel.linebreaking.replacements = {}
Babel.linebreaking.replacements[0] = {} -- pre
Babel.linebreaking.replacements[1] = {} -- post
-Babel.linebreaking.replacements[2] = {} -- post-line WIP
-- Discretionaries contain strings as nodes
function Babel.str_to_nodes(fn, matches, base)
@@ -188,7 +187,6 @@ Babel.us_char = string.char(31)
function Babel.hyphenate_replace(head, mode)
local u = unicode.utf8
local lbkr = Babel.linebreaking.replacements[mode]
- if mode == 2 then mode = 0 end -- WIP
local word_head = head
@@ -519,3 +517,32 @@ function Babel.capture_kashida(key, wt)
end
return 'kashida = ' .. wt
end
+
+-- Experimental: applies prehyphenation transforms to a string (letters
+-- and spaces).
+function Babel.string_prehyphenation(str, locale)
+ local n, head, last, res
+ head = node.new(8, 0) -- dummy (hack just to start)
+ last = head
+ for s in string.utfvalues(str) do
+ if s == 20 then
+ n = node.new(12, 0)
+ else
+ n = node.new(29, 0)
+ n.char = s
+ end
+ node.set_attribute(n, Babel.attr_locale, locale)
+ last.next = n
+ last = n
+ end
+ head = Babel.hyphenate_replace(head, 0)
+ res = ''
+ for n in node.traverse(head) do
+ if n.id == 12 then
+ res = res .. ' '
+ elseif n.id == 29 then
+ res = res .. unicode.utf8.char(n.char)
+ end
+ end
+ tex.print(res)
+end
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index a7c6c21f5c3..eb056080a46 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}[2023/06/26 v3.90 Babel common definitions]
+\ProvidesFile{babel.def}[2023/07/09 v3.91 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -595,8 +595,8 @@
\toks@\expandafter{\bbl@tempc#3}%
\expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
\fi}
-\def\bbl@version{3.90}
-\def\bbl@date{2023/06/26}
+\def\bbl@version{3.91}
+\def\bbl@date{2023/07/09}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 2f1039ca17e..f0f04f93baa 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}[2023/06/26 v3.90 The Babel package]
+\ProvidesPackage{babel}[2023/07/09 v3.91 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -470,8 +470,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.90}
-\def\bbl@date{2023/06/26}
+\def\bbl@version{3.91}
+\def\bbl@date{2023/07/09}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 32a8f575635..f8273087aee 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}[2023/06/26 v3.90 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2023/07/09 v3.91 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.90}
-\def\bbl@date{2023/06/26}
+\def\bbl@version{3.91}
+\def\bbl@date{2023/07/09}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
index d8c85d0ec5e..483c67f9ba5 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2023-07-08
name.local = עברית
name.english = Hebrew
name.babel = hebrew
@@ -220,4 +220,26 @@ 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*:'’`‘;|ַָבדֵֶגהִכךלמםנןֹוֹפףקרסתֻוּויזְּאאעע׃} }
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini b/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
index 03ed5d0add3..b63b0804e5d 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2023-03-11
+version = 1.6
+date = 2023-07-08
name.local = ייִדיש
name.english = Yiddish
name.babel = yiddish
@@ -176,3 +176,34 @@ plusSign = +
superscriptingExponent = ×
[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*:'’`‘;|ַָבדֵֶגהִכךלמםנןֹוֹפףקרסתֻוּויזְּאאעע׃} }
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index befca370e79..ed8b34db77a 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -604,13 +604,8 @@ end
\gdef\bbl@arabicjust{%
\let\bbl@arabicjust\relax
\newattribute\bblar@kashida
- \newattribute\bblar@kashida@aux % 0, 1=tatweel, 2=diacritics
- \directlua{% WIP
- Babel.attr_kashida = luatexbase.registernumber'bblar@kashida'
- Babel.attr_kashida_aux = luatexbase.registernumber'bblar@kashida@aux'
- }%
+ \directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar@kashida' }%
\bblar@kashida=\z@
- \bblar@kashida@aux=\z@
\bbl@patchfont{{\bbl@parsejalt}}%
\directlua{
Babel.arabic.elong_map = Babel.arabic.elong_map or {}
@@ -1179,7 +1174,6 @@ end
\@ifnextchar[{\bbl@settransform{0}}{\bbl@settransform{0}[]}}
\gdef\babelposthyphenation{&%
\@ifnextchar[{\bbl@settransform{1}}{\bbl@settransform{1}[]}}
-\gdef\bbl@postlinebreak{\bbl@settransform{2}[]} &% WIP
\gdef\bbl@settransform#1[#2]#3#4#5{&%
\ifcase#1
\bbl@activateprehyphen
@@ -1260,7 +1254,7 @@ end
local lbkr = Babel.linebreaking.replacements[#1]
local u = unicode.utf8
local id, attr, label
- if #1 == 0 or #1 == 2 then
+ if #1 == 0 then
id = \the\csname bbl@id@@#3\endcsname\space
else
id = \the\csname l@#3\endcsname\space
@@ -1275,7 +1269,7 @@ end
\fi
&% Convert pattern:
local patt = string.gsub([==[#4]==], '%s', '')
- if #1 == 0 or #1 == 2 then
+ if #1 == 0 then
patt = string.gsub(patt, '|', ' ')
end
if not u.find(patt, '()', nil, true) then
@@ -1354,6 +1348,8 @@ end
require('babel-transforms.lua')
Babel.linebreaking.add_before(Babel.pre_hyphenate_replace)
}}
+\newcommand\localeprehyphenation[1]{%
+ \directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }}
\def\bbl@activate@preotf{%
\let\bbl@activate@preotf\relax % only once
\directlua{
@@ -1581,10 +1577,13 @@ end
\AddToHook{env/gather*/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/align/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/align*/begin}{\bbl@ams@preset\bbl@ams@lap}%
+ \AddToHook{env/alignat/begin}{\bbl@ams@preset\bbl@ams@lap}%
+ \AddToHook{env/alignat*/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/eqnalign/begin}{\bbl@ams@preset\hbox}%
% Hackish, for proper alignment. Don’t ask me why it works!:
\bbl@exp{% Avoid a 'visible' conditional
- \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
+ \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}%
+ \\\AddToHook{env/alignat*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
\AddToHook{env/flalign/begin}{\bbl@ams@preset\hbox}%
\AddToHook{env/split/before}{%
\def\bbl@mathboxdir{\def\bbl@insidemath{1}}%
@@ -1696,7 +1695,11 @@ end
\@ifpackageloaded{multicol}%
{\toks@\expandafter{\multi@column@out}%
\edef\multi@column@out{\bodydir\pagedir\the\toks@}}%
- {}}
+ {}%
+ \@ifpackageloaded{paracol}%
+ {\edef\pcol@output{%
+ \bodydir\pagedir\unexpanded\expandafter{\pcol@output}}}%
+ {}}%
\fi
\ifx\bbl@opt@layout\@nnil\endinput\fi % if no layout
\ifnum\bbl@bidimode>\z@ % Any bidi=
@@ -1906,9 +1909,12 @@ end
\BabelFootnote\mainfootnote{}{}{}}
{}
\IfBabelLayout{extras}%
- {\let\bbl@OL@underline\underline
- \bbl@sreplace\underline{$\@@underline}{\bbl@nextfake$\@@underline}%
- \let\bbl@OL@LaTeX2e\LaTeX2e
+ {\bbl@ncarg\let\bbl@OL@underline{underline }%
+ \bbl@carg\bbl@sreplace{underline }%
+ {$\@@underline}{\bgroup\bbl@nextfake$\@@underline}%
+ \bbl@carg\bbl@sreplace{underline }%
+ {\m@th$}{\m@th$\egroup}%
+ \let\bbl@OL@LaTeXe\LaTeXe
\DeclareRobustCommand{\LaTeXe}{\mbox{\m@th
\if b\expandafter\@car\f@series\@nil\boldmath\fi
\babelsublr{%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 649697de626..63867cc950c 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}[2023/06/26 v3.90 Nil language]
+\ProvidesLanguage{nil}[2023/07/09 v3.91 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil