summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua4
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua25
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua2
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-transforms.lua43
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def22
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty48
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/errbabel.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg10
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini36
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/isv/babel-interslavic.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/isv/babel-isv.ini139
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ku/babel-ku.ini212
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/ku/babel-kurdish.tex12
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini32
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def41
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf4
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/txtbabel.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def28
36 files changed, 763 insertions, 127 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
index a0bfe0b3a7c..371a4ce840c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `basic-r')
--
--
--- Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+-- Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
-- Copyright (C) 1989-2012 Johannes L. Braams and
-- any individual authors listed elsewhere in this file.
-- All rights reserved.
@@ -42,7 +42,7 @@ local ranges = Babel.ranges
local DIR = node.id("dir")
local function dir_mark(head, from, to, outer)
- dir = (outer == 'r') and 'TLT' or 'TRT' -- ie, reverse
+ dir = (outer == 'r') and 'TLT' or 'TRT' -- i.e., reverse
local d = node.new(DIR)
d.dir = '+' .. dir
node.insert_before(head, from, d)
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
index 8b3ef3e62e4..81f88aa84be 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `basic')
--
--
--- Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+-- Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
-- Copyright (C) 1989-2012 Johannes L. Braams and
-- any individual authors listed elsewhere in this file.
-- All rights reserved.
@@ -32,7 +32,7 @@
-- and covered by LPPL is defined by the unpacking scripts (with
-- extension |.ins|) which are part of the distribution.
--
--- eg, Babel.fontmap[1][<prefontid>]=<dirfontid>
+-- e.g., Babel.fontmap[1][<prefontid>]=<dirfontid>
Babel.fontmap = Babel.fontmap or {}
Babel.fontmap[0] = {} -- l
@@ -60,7 +60,7 @@ local GLYPH = node.id('glyph')
local function insert_implicit(head, state, outer)
local new_state = state
if state.sim and state.eim and state.sim ~= state.eim then
- dir = ((outer == 'r') and 'TLT' or 'TRT') -- ie, reverse
+ dir = ((outer == 'r') and 'TLT' or 'TRT') -- i.e., reverse
local d = node.new(DIR)
d.dir = '+' .. dir
node.insert_before(head, state.sim, d)
@@ -444,9 +444,7 @@ function Babel.bidi(head, ispar, hdir)
end
head = node.prev(head) or head
-
- -------------- FIX HYPERLINKS ----------------
-
+ --- FIXES ---
if has_hyperlink then
local flag, linking = 0, 0
for item in node.traverse(head) do
@@ -473,10 +471,23 @@ function Babel.bidi(head, ispar, hdir)
end
end
+ for item in node.traverse_id(10, head) do
+ local p = item
+ local flag = false
+ while p.prev and p.prev.id == 14 do
+ flag = true
+ p = p.prev
+ end
+ if flag then
+ node.insert_before(head, p, node.copy(item))
+ node.remove(head,item)
+ end
+ end
+
return head
end
-- Make sure anything is marked as 'bidi done' (including nodes inserted
--- after the babel algorithm).
+-- after the babel algorithm). 128 = 1000 0000.
function Babel.unset_atdir(head)
local ATDIR = Babel.attr_dir
for item in node.traverse(head) do
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
index 837d83ff400..533ab3eee1c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-buddhist.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-buddhist')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
index cff847e02c4..be005c65e4d 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-chinese.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-chinese')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
index 43d23a1479e..df61580aeb9 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-coptic.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-coptic')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
index 95a8ef64656..4d1612ac82c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-ethiopic.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-ethiopic')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
index 315180da5af..c0a2ad7ad86 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-hebrew.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-hebrew')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
index 28c5dd9dc03..a2b0e493b33 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-islamic.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-islamic')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
index f896cbeba63..64c7ec3cb08 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
+++ b/Master/texmf-dist/tex/generic/babel/babel-ca-persian.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `ca-persian')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
index 80ec84ca1ae..f7aebcda5e8 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `bididata')
--
--
--- Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+-- Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
-- Copyright (C) 1989-2012 Johannes L. Braams and
-- any individual authors listed elsewhere in this file.
-- All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
index 49623e9f9ce..7cf177f8d94 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `cjkdata')
--
--
--- Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+-- Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
-- Copyright (C) 1989-2012 Johannes L. Braams and
-- any individual authors listed elsewhere in this file.
-- All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
index 3e14af381d0..678f30ff2cf 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
@@ -7,7 +7,7 @@
-- babel.dtx (with options: `transforms')
--
--
--- Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+-- Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
-- Copyright (C) 1989-2012 Johannes L. Braams and
-- any individual authors listed elsewhere in this file.
-- All rights reserved.
@@ -44,6 +44,15 @@ function Babel.tovalue(v)
end
end
+Babel.attr_hboxed = luatexbase.registernumber'bbl@attr@hboxed'
+
+function Babel.set_hboxed(head, gc)
+ for item in node.traverse(head) do
+ node.set_attribute(item, Babel.attr_hboxed, 1)
+ end
+ return head
+end
+
Babel.fetch_subtext = {}
Babel.ignore_pre_char = function(node)
@@ -76,7 +85,11 @@ Babel.fetch_subtext[0] = function(head)
if Babel.ignore_pre_char(item) then
word_string = word_string .. Babel.us_char
else
- word_string = word_string .. unicode.utf8.char(item.char)
+ if node.has_attribute(item, Babel.attr_hboxed) then
+ word_string = word_string .. Babel.us_char
+ else
+ word_string = word_string .. unicode.utf8.char(item.char)
+ end
end
word_nodes[#word_nodes+1] = item
else
@@ -84,7 +97,11 @@ Babel.fetch_subtext[0] = function(head)
end
elseif item.id == 12 and item.subtype == 13 then
- word_string = word_string .. ' '
+ if node.has_attribute(item, Babel.attr_hboxed) then
+ word_string = word_string .. Babel.us_char
+ else
+ word_string = word_string .. ' '
+ end
word_nodes[#word_nodes+1] = item
-- Ignore leading unrecognized nodes, too.
@@ -125,7 +142,11 @@ Babel.fetch_subtext[1] = function(head)
if item.lang == lang or lang == nil then
if (item.char ~= 124) and (item.char ~= 61) then -- not =, not |
lang = lang or item.lang
- word_string = word_string .. unicode.utf8.char(item.char)
+ if node.has_attribute(item, Babel.attr_hboxed) then
+ word_string = word_string .. Babel.us_char
+ else
+ word_string = word_string .. unicode.utf8.char(item.char)
+ end
word_nodes[#word_nodes+1] = item
end
else
@@ -133,11 +154,19 @@ Babel.fetch_subtext[1] = function(head)
end
elseif item.id == 7 and item.subtype == 2 then
- word_string = word_string .. '='
+ if node.has_attribute(item, Babel.attr_hboxed) then
+ word_string = word_string .. Babel.us_char
+ else
+ word_string = word_string .. '='
+ end
word_nodes[#word_nodes+1] = item
elseif item.id == 7 and item.subtype == 3 then
- word_string = word_string .. '|'
+ if node.has_attribute(item, Babel.attr_hboxed) then
+ word_string = word_string .. Babel.us_char
+ else
+ word_string = word_string .. '|'
+ end
word_nodes[#word_nodes+1] = item
-- (1) Go to next word if nothing was found, and (2) implicitly
@@ -442,7 +471,7 @@ function Babel.hyphenate_replace(head, mode)
d.attr = item_base.attr
head, new = node.insert_before(head, item, d)
- end -- ie replacement cases
+ end -- i.e., replacement cases
-- Shared by disc, space(factor), kern, node and penalty.
if sc == 1 then
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 04d0bc4372d..c4eb33d3b58 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `core')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -39,7 +39,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2024/11/30 v24.14 Babel common definitions]
+\ProvidesFile{babel.def}[2025/01/01 v25.1 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\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{24.14}
-\def\bbl@date{2024/11/30}
+\def\bbl@version{25.1}
+\def\bbl@date{2025/01/01}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -717,7 +717,7 @@
\bbl@ifunset{bbl@id@@\languagename}%
{\count@\bbl@id@last\relax
\advance\count@\@ne
- \bbl@csarg\chardef{id@@\languagename}\count@
+ \global\bbl@csarg\chardef{id@@\languagename}\count@
\edef\bbl@id@last{\the\count@}%
\ifcase\bbl@engine\or
\directlua{
@@ -841,7 +841,7 @@
\bbl@xin@{/u}{/\bbl@tempa}%
\ifin@\else\bbl@xin@{/e}{/\bbl@tempa}\fi % elongated forms
\ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida
- \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan)
+ \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (e.g., Tibetan)
\ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font
% hyphenation - save mins
\babel@savevariable\lefthyphenmin
@@ -1931,12 +1931,12 @@
\def\bbl@sctest{%
\bbl@xin@{,\bbl@opt@strings,}{,\bbl@sc@label,\bbl@sc@fontenc,}}%
\fi
- \ifx\bbl@opt@strings\@nnil % ie, no strings key -> defaults
- \else\ifx\bbl@opt@strings\relax % ie, strings=encoded
+ \ifx\bbl@opt@strings\@nnil % i.e., no strings key -> defaults
+ \else\ifx\bbl@opt@strings\relax % i.e., strings=encoded
\let\AfterBabelCommands\bbl@aftercmds
\let\SetString\bbl@setstring
\let\bbl@stringdef\bbl@encstring
- \else % ie, strings=value
+ \else % i.e., strings=value
\bbl@sctest
\ifin@
\let\AfterBabelCommands\bbl@aftercmds
@@ -1980,10 +1980,10 @@
\endgroup
\bbl@scafter}
\let\bbl@endcommands\EndBabelCommands
-\def\bbl@setstring#1#2{% eg, \prefacename{<string>}
+\def\bbl@setstring#1#2{% e.g., \prefacename{<string>}
\bbl@forlang\bbl@tempa{%
\edef\bbl@LC{\bbl@tempa\bbl@stripslash#1}%
- \bbl@ifunset{\bbl@LC}% eg, \germanchaptername
+ \bbl@ifunset{\bbl@LC}% e.g., \germanchaptername
{\bbl@exp{%
\global\\\bbl@add\<\bbl@G\bbl@tempa>{\\\bbl@scset\\#1\<\bbl@LC>}}}%
{}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 8cb741d94ff..ed9d26229e1 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `package')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{babel}%
- [2024/11/30 v24.14
+ [2025/01/01 v25.1
The multilingual framework for pdfLaTeX, LuaLaTeX and XeLaTeX]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
@@ -466,8 +466,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{24.14}
-\def\bbl@date{2024/11/30}
+\def\bbl@version{25.1}
+\def\bbl@date{2025/01/01}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -588,7 +588,7 @@
\bbl@ifunset{bbl@id@@\languagename}%
{\count@\bbl@id@last\relax
\advance\count@\@ne
- \bbl@csarg\chardef{id@@\languagename}\count@
+ \global\bbl@csarg\chardef{id@@\languagename}\count@
\edef\bbl@id@last{\the\count@}%
\ifcase\bbl@engine\or
\directlua{
@@ -712,7 +712,7 @@
\bbl@xin@{/u}{/\bbl@tempa}%
\ifin@\else\bbl@xin@{/e}{/\bbl@tempa}\fi % elongated forms
\ifin@\else\bbl@xin@{/k}{/\bbl@tempa}\fi % only kashida
- \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (eg, Tibetan)
+ \ifin@\else\bbl@xin@{/p}{/\bbl@tempa}\fi % padding (e.g., Tibetan)
\ifin@\else\bbl@xin@{/v}{/\bbl@tempa}\fi % variable font
% hyphenation - save mins
\babel@savevariable\lefthyphenmin
@@ -1802,12 +1802,12 @@
\def\bbl@sctest{%
\bbl@xin@{,\bbl@opt@strings,}{,\bbl@sc@label,\bbl@sc@fontenc,}}%
\fi
- \ifx\bbl@opt@strings\@nnil % ie, no strings key -> defaults
- \else\ifx\bbl@opt@strings\relax % ie, strings=encoded
+ \ifx\bbl@opt@strings\@nnil % i.e., no strings key -> defaults
+ \else\ifx\bbl@opt@strings\relax % i.e., strings=encoded
\let\AfterBabelCommands\bbl@aftercmds
\let\SetString\bbl@setstring
\let\bbl@stringdef\bbl@encstring
- \else % ie, strings=value
+ \else % i.e., strings=value
\bbl@sctest
\ifin@
\let\AfterBabelCommands\bbl@aftercmds
@@ -1851,10 +1851,10 @@
\endgroup
\bbl@scafter}
\let\bbl@endcommands\EndBabelCommands
-\def\bbl@setstring#1#2{% eg, \prefacename{<string>}
+\def\bbl@setstring#1#2{% e.g., \prefacename{<string>}
\bbl@forlang\bbl@tempa{%
\edef\bbl@LC{\bbl@tempa\bbl@stripslash#1}%
- \bbl@ifunset{\bbl@LC}% eg, \germanchaptername
+ \bbl@ifunset{\bbl@LC}% e.g., \germanchaptername
{\bbl@exp{%
\global\\\bbl@add\<\bbl@G\bbl@tempa>{\\\bbl@scset\\#1\<\bbl@LC>}}}%
{}%
@@ -2338,7 +2338,7 @@
\ifx\bbl@latinarabic\@undefined
\expandafter\let\expandafter\@arabic
\csname bbl@counter@\languagename\endcsname
- \else % ie, if layout=counters, which redefines \@arabic
+ \else % i.e., if layout=counters, which redefines \@arabic
\expandafter\let\expandafter\bbl@latinarabic
\csname bbl@counter@\languagename\endcsname
\fi
@@ -2787,11 +2787,11 @@
\let\bbl@inikv@numbers\bbl@inikv
\def\bbl@maybextx{-\bbl@csarg\ifx{extx@\languagename}\@empty x-\fi}
\def\bbl@inikv@characters#1#2{%
- \bbl@ifsamestring{#1}{casing}% eg, casing = uV
+ \bbl@ifsamestring{#1}{casing}% e.g., casing = uV
{\bbl@exp{%
\\\g@addto@macro\\\bbl@release@casing{%
\\\bbl@casemapping{}{\languagename}{\unexpanded{#2}}}}}%
- {\in@{$casing.}{$#1}% eg, casing.Uv = uV
+ {\in@{$casing.}{$#1}% e.g., casing.Uv = uV
\ifin@
\lowercase{\def\bbl@tempb{#1}}%
\bbl@replace\bbl@tempb{casing.}{}%
@@ -2910,7 +2910,7 @@
\else
%
% The following code is still under study. You can test it and make
- % suggestions. Eg, enumerate.2 = ([enumi]).([enumii]). It's
+ % suggestions. E.g., enumerate.2 = ([enumi]).([enumii]). It's
% language dependent.
\in@{enumerate.}{#1}%
\ifin@
@@ -2990,7 +2990,7 @@
{\bbl@ld@calendar}\bbl@they\bbl@them\bbl@thed
\fi
\fi
- \@nameuse{bbl@precalendar}% Remove, eg, +, -civil (-ca-islamic)
+ \@nameuse{bbl@precalendar}% Remove, e.g., +, -civil (-ca-islamic)
\edef\bbl@calendar{% Used in \month..., too
\bbl@ld@calendar
\ifx\bbl@ld@variant\@empty\else
@@ -3195,19 +3195,19 @@
{\bbl@input@texini{#1}}}
\def\bbl@setdigits#1#2#3#4#5{%
\bbl@exp{%
- \def\<\languagename digits>####1{% ie, \langdigits
+ \def\<\languagename digits>####1{% i.e., \langdigits
\<bbl@digits@\languagename>####1\\\@nil}%
\let\<bbl@cntr@digits@\languagename>\<\languagename digits>%
- \def\<\languagename counter>####1{% ie, \langcounter
+ \def\<\languagename counter>####1{% i.e., \langcounter
\\\expandafter\<bbl@counter@\languagename>%
\\\csname c@####1\endcsname}%
- \def\<bbl@counter@\languagename>####1{% ie, \bbl@counter@lang
+ \def\<bbl@counter@\languagename>####1{% i.e., \bbl@counter@lang
\\\expandafter\<bbl@digits@\languagename>%
\\\number####1\\\@nil}}%
\def\bbl@tempa##1##2##3##4##5{%
\bbl@exp{% Wow, quite a lot of hashes! :-(
\def\<bbl@digits@\languagename>########1{%
- \\\ifx########1\\\@nil % ie, \bbl@digits@lang
+ \\\ifx########1\\\@nil % i.e., \bbl@digits@lang
\\\else
\\\ifx0########1#1%
\\\else\\\ifx1########1#2%
@@ -3290,7 +3290,7 @@
\fi
\expandafter\bbl@casemapping@ii\bbl@tempb\@@}
\def\bbl@casemapping@ii#1#2#3\@@{%
- \in@{#1#3}{<>}% ie, if <u>, <l>, <t>
+ \in@{#1#3}{<>}% i.e., if <u>, <l>, <t>
\ifin@
\edef\bbl@tempe{%
\if#2u1 \else\if#2l2 \else\if#2t3 \fi\fi\fi}%
@@ -3537,7 +3537,7 @@
\@namedef{bbl@ADJ@select.encoding@off}{%
\let\bbl@encoding@select@off\@empty}
\bbl@trace{Cross referencing macros}
-\ifx\bbl@opt@safe\@empty\else % ie, if 'ref' and/or 'bib'
+\ifx\bbl@opt@safe\@empty\else % i.e., if 'ref' and/or 'bib'
\def\@newl@bel#1#2#3{%
{\@safe@activestrue
\bbl@ifunset{#1@#2}%
@@ -4076,7 +4076,7 @@
\edef\bbl@tempa{\bbl@tempf,\bbl@language@opts}%
\bbl@foreach\bbl@tempa{\edef\bbl@tempb{#1,\bbl@tempb}}%
\bbl@foreach\bbl@tempb{% \bbl@tempb is a reversed list
- \ifx\bbl@opt@main\@nnil % ie, if not yet assigned
+ \ifx\bbl@opt@main\@nnil % i.e., if not yet assigned
\ifodd\bbl@iniflag % = *=
\IfFileExists{babel-#1.tex}{\def\bbl@opt@main{#1}}{}%
\else % n +=
@@ -4087,7 +4087,7 @@
\else
\bbl@info{Main language set with 'main='. Except if you have\\%
problems, prefer the default mechanism for setting\\%
- the main language, ie, as the last declared.\\%
+ the main language, i.e., as the last declared.\\%
Reported}
\fi
\ifx\bbl@opt@main\@nnil\else
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index e6a4076d6d1..a2c33d76ef7 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `blplain')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index 0483d7eb722..c9820aeaca9 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `bplain')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/errbabel.def b/Master/texmf-dist/tex/generic/babel/errbabel.def
index 9674a0fbf26..3d0106e31b1 100644
--- a/Master/texmf-dist/tex/generic/babel/errbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/errbabel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `errors')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index edf6cd1f5c6..4eff4d560b7 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `patterns')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -37,10 +37,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2024/11/30 v24.14 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2025/01/01 v25.1 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{24.14}
-\def\bbl@date{2024/11/30}
+\def\bbl@version{25.1}
+\def\bbl@date{2025/01/01}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
@@ -132,7 +132,7 @@
\righthyphenmin##2\relax}%
\def\selectlanguage{%
\errhelp{Selecting a language requires a package supporting it}%
- \errmessage{Not loaded}}%
+ \errmessage{No multilingual package has been loaded}}%
\let\foreignlanguage\selectlanguage
\let\otherlanguage\selectlanguage
\expandafter\let\csname otherlanguage*\endcsname\selectlanguage
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
index 627d3defb26..3fa852ac2b7 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/ckb/babel-ckb.ini
@@ -12,11 +12,11 @@
[identification]
charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2024-12-08
name.local = کوردیی ناوەندی
name.english = Central Kurdish
-name.babel = sorani centralkurdish
+name.babel = centralkurdish sorani
name.polyglossia = kurdish
tag.bcp47 = ckb
language.tag.bcp47 = ckb
@@ -135,6 +135,36 @@ months.narrow.10 = خ
months.narrow.11 = ڕ
months.narrow.12 = ڕ
+[date.persian]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
+[date.islamic]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
[time.gregorian]
time.medium = [h]:[mm]:[ss] [a]
time.short = [h]:[mm] [a]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/isv/babel-interslavic.tex b/Master/texmf-dist/tex/generic/babel/locale/isv/babel-interslavic.tex
new file mode 100644
index 00000000000..95f382ed293
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/isv/babel-interslavic.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{isv}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/isv/babel-isv.ini b/Master/texmf-dist/tex/generic/babel/locale/isv/babel-isv.ini
new file mode 100644
index 00000000000..695ad5ed9b7
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/isv/babel-isv.ini
@@ -0,0 +1,139 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; Data contributed by Adiee5
+
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2024-12-18
+name.local = Medžuslovjansky
+name.english = Interslavic
+name.babel = interslavic
+tag.bcp47 = isv
+language.tag.bcp47 = isv
+tag.bcp47.likely =
+tag.opentype = ISV
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+level = 1
+encodings = T1 OT1
+
+[captions]
+preface = Prědslovje
+ref = Literatura
+abstract = Rezjume
+bib = Bibliografija
+chapter = Glava
+appendix = Dodatok
+contents = Sodržanje
+listfigure = Spisok ilustracij
+listtable = Spisok tabel
+index = Indeks
+figure = Ilustracija
+table = Tabela
+part = Čest
+encl = Priloga
+cc = Kopije
+headto = Do
+page = Stranica
+see = uvidi
+also = uvidi takože
+proof = Dokaz
+glossary = Slovnik
+
+[captions.licr]
+preface = Pr\v edslovje
+ref = Literatura
+abstract = Rezjume
+bib = Bibliografija
+chapter = Glava
+appendix = Dodatok
+contents = Sodr\v zanje
+listfigure = Spisok ilustracij
+listtable = Spisok tabel
+index = Indeks
+figure = Ilustracija
+table = Tabela
+part = \v Cest
+encl = Priloga
+cc = Kopije
+headto = Do
+page = Stranica
+see = uvidi
+also = uvidi tako\v ze
+proof = Dokaz
+glossary = Slovnik
+
+[date.gregorian]
+date.long = [d][ ][MMMM] [y]
+months.wide.1 = januara
+months.wide.2 = fevruara
+months.wide.3 = marca
+months.wide.4 = aprilja
+months.wide.5 = maja
+months.wide.6 = junija
+months.wide.7 = julija
+months.wide.8 = avgusta
+months.wide.9 = septembra
+months.wide.10 = oktobra
+months.wide.11 = novembra
+months.wide.12 = dekembra
+
+[date.gregorian.licr]
+months.wide.1 = januara
+months.wide.2 = fevruara
+months.wide.3 = marca
+months.wide.4 = aprilja
+months.wide.5 = maja
+months.wide.6 = junija
+months.wide.7 = julija
+months.wide.8 = avgusta
+months.wide.9 = septembra
+months.wide.10 = oktobra
+months.wide.11 = novembra
+months.wide.12 = dekembra
+
+[time.gregorian]
+time.medium =
+time.short =
+
+[typography]
+frenchspacing = yes
+; Tentative setting:
+hyphenrules = czech
+lefthyphenmin =
+righthyphenmin =
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes =
+auxiliary =
+exemplarCharacters =
+index =
+punctuation =
+
+[numbers]
+defaultNumberingSystem =
+minimumGroupingDigits =
+decimal =
+exponential =
+group =
+infinity =
+list =
+minusSign =
+nan =
+perMille =
+percentSign =
+plusSign =
+superscriptingExponent =
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ku/babel-ku.ini b/Master/texmf-dist/tex/generic/babel/locale/ku/babel-ku.ini
new file mode 100644
index 00000000000..9bd0225fe7b
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ku/babel-ku.ini
@@ -0,0 +1,212 @@
+; This file is part of babel. For further details see:
+; https://www.ctan.org/pkg/babel
+; Data has been collected mainly from the following sources:
+; * babel language styles (license LPPL):
+; https://www.ctan.org/pkg/babel-contrib
+; * Common Locale Data Repository (license Unicode):
+; http://cldr.unicode.org/
+; http://unicode.org/copyright.html
+
+[identification]
+charset = utf8
+version = 1.0
+date = 2024-12-06
+name.local = kurdî (kurmancî)
+name.english = Kurdish
+name.babel = kurdish kurmanji
+name.polyglossia = kurdish
+tag.bcp47 = ku
+language.tag.bcp47 = ku
+tag.opentype = KUR
+script.name = Latin
+script.tag.bcp47 = Latn
+script.tag.opentype = latn
+polyglossia.variant = kurmanji
+level = 1
+encodings =
+derivate = no
+
+[captions]
+preface = Peşgotin
+ref = Pirtuken bijartî
+abstract = Kurtebîr
+bib = Çavkanîya Pirtukan
+chapter = Serê
+appendix = Tebînîya
+contents = Navêrok
+listfigure = Hejmara Dimena
+listtable = Hejmara Kevalen
+index = Endeks
+figure = Dimenê
+table = Kevala
+part = Bêşa
+encl = Dumahik
+cc = Belavker
+headto = Ji bo
+page = Rûpelê
+see = binêra
+also = le vêya ji binêra
+proof = Delîl
+glossary = Çavkanîya lêkolînê
+
+[captions.licr]
+preface = Pe\c sgotin
+ref = Pirtuken\space bijart\^\i
+abstract = Kurteb\^\i r
+bib = \c Cavkan\^\i ya\space Pirtukan
+chapter = Ser\^e
+appendix = Teb\^\i n\^\i ya
+contents = Nav\^erok
+listfigure = Hejmara\space Dimena
+listtable = Hejmara\space Kevalen
+index = Endeks
+figure = Dimen\^e
+table = Kevala
+part = B\^e\c sa
+encl = Dumahik
+cc = Belavker
+headto = Ji\space bo
+page = R\^upel\^e
+see = bin\^era
+also = le\space v\^eya\space ji\space bin\^era
+proof = Del\^\i l
+glossary = \c Cavkan\^\i ya\space l\^ekol\^\i n\^e
+
+[date.gregorian]
+date.long = [d]ê [MMMM]a [y]an
+date.short = [dd].[MM].[y]
+months.wide.1 = rêbendan
+months.wide.2 = sibat
+months.wide.3 = adar
+months.wide.4 = nîsan
+months.wide.5 = gulan
+months.wide.6 = hezîran
+months.wide.7 = tîrmeh
+months.wide.8 = tebax
+months.wide.9 = îlon
+months.wide.10 = cotmeh
+months.wide.11 = mijdar
+months.wide.12 = berfanbar
+months.narrow.1 =
+months.narrow.2 =
+months.narrow.3 =
+months.narrow.4 =
+months.narrow.5 =
+months.narrow.6 =
+months.narrow.7 =
+months.narrow.8 =
+months.narrow.9 =
+months.narrow.10 =
+months.narrow.11 =
+months.narrow.12 =
+days.wide.mon = duşem
+days.wide.tue = sêşem
+days.wide.wed = çarşem
+days.wide.thu = pêncşem
+days.wide.fri = înî
+days.wide.sat = şemî
+days.wide.sun = yekşem
+days.abbreviated.mon = dşm
+days.abbreviated.tue = sşm
+days.abbreviated.wed = çşm
+days.abbreviated.thu = pşm
+days.abbreviated.fri =
+days.abbreviated.sat = şem
+days.abbreviated.sun = yşm
+days.narrow.mon =
+days.narrow.tue =
+days.narrow.wed =
+days.narrow.thu =
+days.narrow.fri =
+days.narrow.sat =
+days.narrow.sun =
+dayPeriods.abbreviated.am = BN
+dayPeriods.abbreviated.pm = PN
+dayPeriods.narrow.am = bn
+dayPeriods.narrow.pm = pn
+dayPeriods.wide.am =
+dayPeriods.wide.pm =
+
+[date.gregorian.licr]
+date.long = [d]\^e [MMMM]a [y]an
+months.wide.1 = r\^ebendan
+months.wide.2 = sibat
+months.wide.3 = adar
+months.wide.4 = n\^\i san
+months.wide.5 = gulan
+months.wide.6 = hez\^\i ran
+months.wide.7 = t\^\i rmeh
+months.wide.8 = tebax
+months.wide.9 = \^\i lon
+months.wide.10 = cotmeh
+months.wide.11 = mijdar
+months.wide.12 = berfanbar
+
+[date.persian]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
+[date.islamic]
+date.long =
+months.wide.1 =
+months.wide.2 =
+months.wide.3 =
+months.wide.4 =
+months.wide.5 =
+months.wide.6 =
+months.wide.7 =
+months.wide.8 =
+months.wide.9 =
+months.wide.10 =
+months.wide.11 =
+months.wide.12 =
+
+[time.gregorian]
+time.medium = [h]:[mm]:[ss] [a]
+time.short = [h]:[mm] [a]
+
+[typography]
+frenchspacing = yes
+hyphenrules = kurmanji
+lefthyphenmin = 2
+righthyphenmin = 2
+hyphenchar =
+prehyphenchar =
+posthyphenchar =
+exhyphenchar =
+preexhyphenchar =
+postexhyphenchar =
+hyphenationmin =
+
+[characters]
+delimiters.quotes =
+auxiliary = [áàăâåäãā æ èĕëē é ìĭïī í ñ óòŏôøō œ ß ŭū úù ÿ]
+exemplarCharacters = [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]
+index = [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]
+punctuation = [\\- ‐‑ – — , ; \\: ! ? . … '‘’ \"“” ( ) \\[ \\] § @ * / \\& # † ‡ ′ ″]
+
+[numbers]
+defaultNumberingSystem = latn
+minimumGroupingDigits = 1
+decimal = ,
+exponential = E
+group = .
+infinity = ∞
+list = ;
+minusSign = -
+nan = NaN
+perMille = ‰
+percentSign = %
+plusSign = ‎+
+superscriptingExponent = ×
diff --git a/Master/texmf-dist/tex/generic/babel/locale/ku/babel-kurdish.tex b/Master/texmf-dist/tex/generic/babel/locale/ku/babel-kurdish.tex
new file mode 100644
index 00000000000..e9f834bdc99
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel/locale/ku/babel-kurdish.tex
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+ \PackageError{babel}%
+ {This file is a component of babel and cannot\MessageBreak
+ be loaded directly. I'll stop immediately}%
+ {Just use babel as documented.}%
+ \stop
+\fi
+\BabelBeforeIni{ku}{%
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
index 33c381bbb67..03bb7fb075f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.12
-date = 2023-10-24
+version = 1.13
+date = 2024-12-28
name.local = 简体中文
name.english = Simplified Chinese
name.opentype = Chinese Simplified
@@ -237,3 +237,31 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
index 56067ebb86d..ecb56844074 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.12
-date = 2023-10-24
+version = 1.13
+date = 2024-12-28
name.local = 简体中文
name.english = Simplified Chinese
name.opentype = Chinese Simplified
@@ -237,3 +237,31 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
index c2b08b3ee47..dc26e9f0118 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.12
-date = 2023-10-24
+version = 1.13
+date = 2024-12-28
name.local = 简体中文
name.english = Simplified Chinese
name.opentype = Chinese Simplified
@@ -237,4 +237,32 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
index 8c7437a953d..ee0252dd60f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.14
-date = 2023-10-24
+version = 1.15
+date = 2024-12-28
name.local = 简体中文
name.english = Simplified Chinese
name.opentype = Chinese Simplified
@@ -240,3 +240,31 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
index 8fc0abab80a..4a531ac4e66 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.12
-date = 2023-10-24
+version = 1.13
+date = 2024-12-28
name.local = 繁體中文
name.english = Traditional Chinese
name.opentype = Chinese Traditional
@@ -237,4 +237,32 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
index 382daf0da07..7a05703f5cf 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.12
-date = 2023-10-24
+version = 1.13
+date = 2024-12-28
name.local = 繁體中文
name.english = Traditional Chinese
name.opentype = Chinese Traditional
@@ -237,4 +237,32 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
index 98eb7401c64..5b95fa08949 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.13
-date = 2023-10-24
+version = 1.14
+date = 2024-12-28
name.local = 繁體中文
name.english = Traditional Chinese
name.opentype = Chinese Traditional
@@ -242,4 +242,32 @@ fullwidth.lower.alpha = a b c d e f g h i j k l m n
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.day = 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十
+[transforms.prehyphenation]
+spacing.basic.1.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.1.1 = { insert, kern = -.5 }
+spacing.basic.1.2 = { insert, penalty = 0 }
+spacing.basic.1.3 = { insert, kern = .5 }
+spacing.basic.1.4 = { insert, norule = -.5 0 0 }
+spacing.basic.1.5 = {}
+spacing.basic.2.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[、。,.・:!?)]}〉》」』】〕〗〙〛”〞]() }
+spacing.basic.2.1 = { insert, kern= -.5, step = -1 }
+spacing.basic.2.2 = {}
+spacing.basic.3.0 = { [([{〈《「『【〔〖〘〚“〝] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.3.1 = { insert, kern = -.5, step =- 1 }
+spacing.basic.3.2 = {}
+;
+spacing.basic.4.0 = { [、。,.・:;!?)]}〉》」』】〕〗〙〛”〞] ()[{a}]() }
+spacing.basic.4.1 = { insert, kern = -.5, step = -1 }
+spacing.basic.4.2 = { insert, penalty = 0 }
+spacing.basic.4.3 = { insert, kern = .5 }
+spacing.basic.4.4 = {}
+spacing.basic.5.0 = { [{a}] ()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.5.1 = { insert, penalty = 0 }
+spacing.basic.5.2 = { insert, kern = .5 }
+spacing.basic.5.3 = { insert, norule = -.5 0 0 }
+spacing.basic.5.4 = {}
+spacing.basic.6.0 = { ^()[([{〈《「『【〔〖〘〚“〝]() }
+spacing.basic.6.1 = { insert, kern = -.5 }
+spacing.basic.6.2 = {}
+
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index fb71f621a9c..9e79ae4a6f9 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `luatex')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -452,7 +452,7 @@
quad = font.getfont(last_char.font).size
for lg, rg in pairs(sea_ranges) do
if last_char.char > rg[1] and last_char.char < rg[2] then
- lg = lg:sub(1, 4) &% Remove trailing number of, eg, Cyrl1
+ lg = lg:sub(1, 4) &% Remove trailing number of, e.g., Cyrl1
local intraspace = Babel.intraspaces[lg]
local intrapenalty = Babel.intrapenalties[lg]
local n
@@ -561,6 +561,9 @@
func(head)
end
end
+ if Babel.set_hboxed then
+ Babel.set_hboxed(head)
+ end
if Babel.sea_enabled then
Babel.sea_disc_to_space(head)
end
@@ -874,18 +877,12 @@ end
\DisableBabelHook{babel-fontspec}
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
- \bbl@foreach{#1}{%
- \expandafter\ifx\csname date##1\endcsname\relax
- \IfFileExists{babel-##1.tex}%
- {\babelprovide{##1}}%
- {}%
- \fi}%
- \edef\bbl@tempa{#1}%
- \def\bbl@tempb{#2}% Used by \bbl@bblfont
\ifx\fontspec\@undefined
\usepackage{fontspec}%
\fi
\EnableBabelHook{babel-fontspec}%
+ \edef\bbl@tempa{#1}%
+ \def\bbl@tempb{#2}% Used by \bbl@bblfont
\bbl@bblfont}
\newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt
\bbl@ifunset{\bbl@tempb family}%
@@ -899,7 +896,7 @@ end
\let\<bbl@\bbl@tempb dflt@\languagename>\<bbl@\bbl@tempb dflt@>%
\\\bbl@font@set\<bbl@\bbl@tempb dflt@\languagename>%
\<\bbl@tempb default>\<\bbl@tempb family>}}%
- {\bbl@foreach\bbl@tempa{% ie bbl@rmdflt@lang / *scrt
+ {\bbl@foreach\bbl@tempa{% i.e., bbl@rmdflt@lang / *scrt
\bbl@csarg\def{\bbl@tempb dflt@##1}{<>{#1}{#2}}}}}%
\def\bbl@providefam#1{%
\bbl@exp{%
@@ -928,7 +925,7 @@ end
{}}%
\gdef\bbl@switchfont{%
\bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
- \bbl@exp{% eg Arabic -> arabic
+ \bbl@exp{% e.g., Arabic -> arabic
\lowercase{\edef\\\bbl@tempa{\bbl@cl{sname}}}}%
\bbl@foreach\bbl@font@fams{%
\bbl@ifunset{bbl@##1dflt@\languagename}% (1) language?
@@ -984,13 +981,13 @@ end
\endgroup}
\fi
\fi
-\def\bbl@font@set#1#2#3{% eg \bbl@rmdflt@lang \rmdefault \rmfamily
+\def\bbl@font@set#1#2#3{% e.g., \bbl@rmdflt@lang \rmdefault \rmfamily
\bbl@xin@{<>}{#1}%
\ifin@
\bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1\\#3}%
\fi
\bbl@exp{% 'Unprotected' macros return prev values
- \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang}
+ \def\\#2{#1}% e.g., \rmdefault{\bbl@rmdflt@lang}
\\\bbl@ifsamestring{#2}{\f@family}%
{\\#3%
\\\bbl@ifsamestring{\f@series}{\bfdefault}{\\\bfseries}{}%
@@ -1001,11 +998,11 @@ end
\edef\bbl@tempb{\bbl@stripslash#4/}% Catcodes hack (better pass it).
\bbl@exp{\\\bbl@replace\\\bbl@tempb{\bbl@stripslash\family/}{}}%
\let\bbl@mapselect\relax
- \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below
+ \let\bbl@temp@fam#4% e.g., '\rmfamily', to be restored below
\let#4\@empty % Make sure \renewfontfamily is valid
\bbl@set@renderer
\bbl@exp{%
- \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% eg, '\rmfamily '
+ \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% e.g., '\rmfamily '
\<keys_if_exist:nnF>{fontspec-opentype}{Script/\bbl@cl{sname}}%
{\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}%
\<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}%
@@ -1013,11 +1010,11 @@ end
\\\renewfontfamily\\#4%
[\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
- #2]}{#3}% ie \bbl@exp{..}{#3}
+ #2]}{#3}% i.e., \bbl@exp{..}{#3}
\bbl@unset@renderer
\begingroup
#4%
- \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)}
+ \xdef#1{\f@family}% e.g., \bbl@rmdflt@lang{FreeSerif(0)}
\endgroup % TODO. Find better tests:
\bbl@xin@{\string>\string s\string s\string u\string b\string*}%
{\expandafter\meaning\csname TU/#1/bx/sc\endcsname}%
@@ -1255,8 +1252,6 @@ end
load( 'return Babel.locale_props'..
'[\the\csname bbl@id@@#3\endcsname].' .. d)() )
end )
- texio.write( '+++++' )
- texio.write( _VERSION )
rep, n = rep:gsub( '{([%a%-%.]+)|([%-%d%.]+)}',
'{\the\csname bbl@id@@#3\endcsname,"%1",%2}')
end
@@ -1386,12 +1381,18 @@ end
{\bbl@csarg\unsetattribute{ATR@#1@\languagename @}}}
\def\bbl@activateposthyphen{%
\let\bbl@activateposthyphen\relax
+ \ifx\bbl@attr@hboxed\@undefined
+ \newattribute\bbl@attr@hboxed
+ \fi
\directlua{
require('babel-transforms.lua')
Babel.linebreaking.add_after(Babel.post_hyphenate_replace)
}}
\def\bbl@activateprehyphen{%
\let\bbl@activateprehyphen\relax
+ \ifx\bbl@attr@hboxed\@undefined
+ \newattribute\bbl@attr@hboxed
+ \fi
\directlua{
require('babel-transforms.lua')
Babel.linebreaking.add_before(Babel.pre_hyphenate_replace)
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 629684d14b3..b8f15b9b568 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `nil')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -32,7 +32,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2024/11/30 v24.14 Nil language]
+\ProvidesLanguage{nil}[2025/01/01 v25.1 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def
index 6624d517539..f278a21aaba 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `plain')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index e991164458d..ec58318b70b 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `kernel')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def
index 380fb2380c7..28f5fe332b0 100644
--- a/Master/texmf-dist/tex/generic/babel/txtbabel.def
+++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `texxet')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 293a3744fe2..24559221338 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -7,7 +7,7 @@
%% babel.dtx (with options: `xetex')
%%
%%
-%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams.
+%% Copyright (C) 2012-2025 Javier Bezos and Johannes L. Braams.
%% Copyright (C) 1989-2012 Johannes L. Braams and
%% any individual authors listed elsewhere in this file.
%% All rights reserved.
@@ -101,18 +101,12 @@
\DisableBabelHook{babel-fontspec}
\@onlypreamble\babelfont
\newcommand\babelfont[2][]{% 1=langs/scripts 2=fam
- \bbl@foreach{#1}{%
- \expandafter\ifx\csname date##1\endcsname\relax
- \IfFileExists{babel-##1.tex}%
- {\babelprovide{##1}}%
- {}%
- \fi}%
- \edef\bbl@tempa{#1}%
- \def\bbl@tempb{#2}% Used by \bbl@bblfont
\ifx\fontspec\@undefined
\usepackage{fontspec}%
\fi
\EnableBabelHook{babel-fontspec}%
+ \edef\bbl@tempa{#1}%
+ \def\bbl@tempb{#2}% Used by \bbl@bblfont
\bbl@bblfont}
\newcommand\bbl@bblfont[2][]{% 1=features 2=fontname, @font=rm|sf|tt
\bbl@ifunset{\bbl@tempb family}%
@@ -126,7 +120,7 @@
\let\<bbl@\bbl@tempb dflt@\languagename>\<bbl@\bbl@tempb dflt@>%
\\\bbl@font@set\<bbl@\bbl@tempb dflt@\languagename>%
\<\bbl@tempb default>\<\bbl@tempb family>}}%
- {\bbl@foreach\bbl@tempa{% ie bbl@rmdflt@lang / *scrt
+ {\bbl@foreach\bbl@tempa{% i.e., bbl@rmdflt@lang / *scrt
\bbl@csarg\def{\bbl@tempb dflt@##1}{<>{#1}{#2}}}}}%
\def\bbl@providefam#1{%
\bbl@exp{%
@@ -155,7 +149,7 @@
{}}%
\gdef\bbl@switchfont{%
\bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
- \bbl@exp{% eg Arabic -> arabic
+ \bbl@exp{% e.g., Arabic -> arabic
\lowercase{\edef\\\bbl@tempa{\bbl@cl{sname}}}}%
\bbl@foreach\bbl@font@fams{%
\bbl@ifunset{bbl@##1dflt@\languagename}% (1) language?
@@ -211,13 +205,13 @@
\endgroup}
\fi
\fi
-\def\bbl@font@set#1#2#3{% eg \bbl@rmdflt@lang \rmdefault \rmfamily
+\def\bbl@font@set#1#2#3{% e.g., \bbl@rmdflt@lang \rmdefault \rmfamily
\bbl@xin@{<>}{#1}%
\ifin@
\bbl@exp{\\\bbl@fontspec@set\\#1\expandafter\@gobbletwo#1\\#3}%
\fi
\bbl@exp{% 'Unprotected' macros return prev values
- \def\\#2{#1}% eg, \rmdefault{\bbl@rmdflt@lang}
+ \def\\#2{#1}% e.g., \rmdefault{\bbl@rmdflt@lang}
\\\bbl@ifsamestring{#2}{\f@family}%
{\\#3%
\\\bbl@ifsamestring{\f@series}{\bfdefault}{\\\bfseries}{}%
@@ -228,11 +222,11 @@
\edef\bbl@tempb{\bbl@stripslash#4/}% Catcodes hack (better pass it).
\bbl@exp{\\\bbl@replace\\\bbl@tempb{\bbl@stripslash\family/}{}}%
\let\bbl@mapselect\relax
- \let\bbl@temp@fam#4% eg, '\rmfamily', to be restored below
+ \let\bbl@temp@fam#4% e.g., '\rmfamily', to be restored below
\let#4\@empty % Make sure \renewfontfamily is valid
\bbl@set@renderer
\bbl@exp{%
- \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% eg, '\rmfamily '
+ \let\\\bbl@temp@pfam\<\bbl@stripslash#4\space>% e.g., '\rmfamily '
\<keys_if_exist:nnF>{fontspec-opentype}{Script/\bbl@cl{sname}}%
{\\\newfontscript{\bbl@cl{sname}}{\bbl@cl{sotf}}}%
\<keys_if_exist:nnF>{fontspec-opentype}{Language/\bbl@cl{lname}}%
@@ -240,11 +234,11 @@
\\\renewfontfamily\\#4%
[\bbl@cl{lsys},% xetex removes unknown features :-(
\ifcase\bbl@engine\or RawFeature={family=\bbl@tempb},\fi
- #2]}{#3}% ie \bbl@exp{..}{#3}
+ #2]}{#3}% i.e., \bbl@exp{..}{#3}
\bbl@unset@renderer
\begingroup
#4%
- \xdef#1{\f@family}% eg, \bbl@rmdflt@lang{FreeSerif(0)}
+ \xdef#1{\f@family}% e.g., \bbl@rmdflt@lang{FreeSerif(0)}
\endgroup % TODO. Find better tests:
\bbl@xin@{\string>\string s\string s\string u\string b\string*}%
{\expandafter\meaning\csname TU/#1/bx/sc\endcsname}%