summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def55
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty141
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini64
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-classicallatin.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini5
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/la/babel-la.ini7
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
11 files changed, 160 insertions, 138 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index c8d8e5b5c3d..b4838c7a43c 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/11/11 v3.97 Babel common definitions]
+\ProvidesFile{babel.def}[2023/12/06 v3.98 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.97}
-\def\bbl@date{2023/11/11}
+\def\bbl@version{3.98}
+\def\bbl@date{2023/12/06}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -1858,20 +1858,6 @@
\def\bbl@disc#1#2{\nobreak\discretionary{#2-}{}{#1}\bbl@allowhyphens}
\bbl@trace{Multiencoding strings}
\def\bbl@toglobal#1{\global\let#1#1}
-\@ifpackagewith{babel}{nocase}%
- {\let\bbl@patchuclc\relax}%
- {\def\bbl@patchuclc{% TODO. Delete. Doesn’t work any more.
- \global\let\bbl@patchuclc\relax
- \g@addto@macro\@uclclist{\reserved@b{\reserved@b\bbl@uclc}}%
- \gdef\bbl@uclc##1{%
- \let\bbl@encoded\bbl@encoded@uclc
- \bbl@ifunset{\languagename @bbl@uclc}% and resumes it
- {##1}%
- {\let\bbl@tempa##1\relax % Used by LANG@bbl@uclc
- \csname\languagename @bbl@uclc\endcsname}%
- {\bbl@tolower\@empty}{\bbl@toupper\@empty}}%
- \gdef\bbl@tolower{\csname\languagename @bbl@lc\endcsname}%
- \gdef\bbl@toupper{\csname\languagename @bbl@uc\endcsname}}}
\@onlypreamble\StartBabelCommands
\def\StartBabelCommands{%
\begingroup
@@ -1893,11 +1879,17 @@
\\\SetString\bbl@templ{\romannumeral\count@}{\the\toks@}%
\count@=\the\count@\relax}}}%
\newcommand\SetCase[3][]{%
- \bbl@patchuclc
- \bbl@forlang\bbl@tempa{%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uclc}{\bbl@tempa##1}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uc}{##2}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@lc}{##3}}}%
+ \def\bbl@tempa####1####2{%
+ \ifx####1\@empty\else
+ \bbl@carg\bbl@add{extras\CurrentOption}{%
+ \bbl@carg\babel@save{c__text_uppercase_\string####1_tl}%
+ \bbl@carg\def{c__text_uppercase_\string####1_tl}{####2}%
+ \bbl@carg\babel@save{c__text_lowercase_\string####2_tl}%
+ \bbl@carg\def{c__text_lowercase_\string####2_tl}{####1}}%
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa##1\@empty\@empty
+ \bbl@carg\bbl@toglobal{extras\CurrentOption}}
\newcommand\SetHyphenMap[1]{%
\bbl@forlang\bbl@tempa{%
\expandafter\bbl@stringdef
@@ -2026,24 +2018,7 @@
\bbl@usehooks{stringprocess}{}%
\expandafter\bbl@stringdef
\csname\bbl@LC\expandafter\endcsname\expandafter{\BabelString}}}
-\ifx\bbl@opt@strings\relax
- \def\bbl@scset#1#2{\def#1{\bbl@encoded#2}}
- \bbl@patchuclc
- \let\bbl@encoded\relax
- \def\bbl@encoded@uclc#1{%
- \@inmathwarn#1%
- \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
- \expandafter\ifx\csname ?\string#1\endcsname\relax
- \TextSymbolUnavailable#1%
- \else
- \csname ?\string#1\endcsname
- \fi
- \else
- \csname\cf@encoding\string#1\endcsname
- \fi}
-\else
- \def\bbl@scset#1#2{\def#1{#2}}
-\fi
+\def\bbl@scset#1#2{\def#1{#2}}
\def\bbl@aftercmds#1{%
\toks@\expandafter{\bbl@scafter#1}%
\xdef\bbl@scafter{\the\toks@}}
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 9217a51f66e..6b116ce8d5c 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/11/11 v3.97 The Babel package]
+\ProvidesPackage{babel}[2023/12/06 v3.98 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.97}
-\def\bbl@date{2023/11/11}
+\def\bbl@version{3.98}
+\def\bbl@date{2023/12/06}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -1777,20 +1777,6 @@
\def\bbl@disc#1#2{\nobreak\discretionary{#2-}{}{#1}\bbl@allowhyphens}
\bbl@trace{Multiencoding strings}
\def\bbl@toglobal#1{\global\let#1#1}
-\@ifpackagewith{babel}{nocase}%
- {\let\bbl@patchuclc\relax}%
- {\def\bbl@patchuclc{% TODO. Delete. Doesn’t work any more.
- \global\let\bbl@patchuclc\relax
- \g@addto@macro\@uclclist{\reserved@b{\reserved@b\bbl@uclc}}%
- \gdef\bbl@uclc##1{%
- \let\bbl@encoded\bbl@encoded@uclc
- \bbl@ifunset{\languagename @bbl@uclc}% and resumes it
- {##1}%
- {\let\bbl@tempa##1\relax % Used by LANG@bbl@uclc
- \csname\languagename @bbl@uclc\endcsname}%
- {\bbl@tolower\@empty}{\bbl@toupper\@empty}}%
- \gdef\bbl@tolower{\csname\languagename @bbl@lc\endcsname}%
- \gdef\bbl@toupper{\csname\languagename @bbl@uc\endcsname}}}
\@onlypreamble\StartBabelCommands
\def\StartBabelCommands{%
\begingroup
@@ -1812,11 +1798,17 @@
\\\SetString\bbl@templ{\romannumeral\count@}{\the\toks@}%
\count@=\the\count@\relax}}}%
\newcommand\SetCase[3][]{%
- \bbl@patchuclc
- \bbl@forlang\bbl@tempa{%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uclc}{\bbl@tempa##1}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uc}{##2}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@lc}{##3}}}%
+ \def\bbl@tempa####1####2{%
+ \ifx####1\@empty\else
+ \bbl@carg\bbl@add{extras\CurrentOption}{%
+ \bbl@carg\babel@save{c__text_uppercase_\string####1_tl}%
+ \bbl@carg\def{c__text_uppercase_\string####1_tl}{####2}%
+ \bbl@carg\babel@save{c__text_lowercase_\string####2_tl}%
+ \bbl@carg\def{c__text_lowercase_\string####2_tl}{####1}}%
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa##1\@empty\@empty
+ \bbl@carg\bbl@toglobal{extras\CurrentOption}}
\newcommand\SetHyphenMap[1]{%
\bbl@forlang\bbl@tempa{%
\expandafter\bbl@stringdef
@@ -1945,24 +1937,7 @@
\bbl@usehooks{stringprocess}{}%
\expandafter\bbl@stringdef
\csname\bbl@LC\expandafter\endcsname\expandafter{\BabelString}}}
-\ifx\bbl@opt@strings\relax
- \def\bbl@scset#1#2{\def#1{\bbl@encoded#2}}
- \bbl@patchuclc
- \let\bbl@encoded\relax
- \def\bbl@encoded@uclc#1{%
- \@inmathwarn#1%
- \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
- \expandafter\ifx\csname ?\string#1\endcsname\relax
- \TextSymbolUnavailable#1%
- \else
- \csname ?\string#1\endcsname
- \fi
- \else
- \csname\cf@encoding\string#1\endcsname
- \fi}
-\else
- \def\bbl@scset#1#2{\def#1{#2}}
-\fi
+\def\bbl@scset#1#2{\def#1{#2}}
\def\bbl@aftercmds#1{%
\toks@\expandafter{\bbl@scafter#1}%
\xdef\bbl@scafter{\the\toks@}}
@@ -2298,6 +2273,7 @@
Alph,labels,labels*,calendar,date,casing}%
{\bbl@csarg\let{KVP@##1}\@nnil}%
\global\let\bbl@release@transforms\@empty
+ \global\let\bbl@release@casing\@empty
\let\bbl@calendars\@empty
\global\let\bbl@inidata\@empty
\global\let\bbl@extend@ini\@gobble
@@ -2602,9 +2578,10 @@
\let\\\@Alph\<bbl@cntr@\bbl@KVP@Alph @\languagename>}}%
\fi
% == Casing ==
+ \bbl@release@casing
\ifx\bbl@KVP@casing\@nnil\else
\bbl@csarg\xdef{casing@\languagename}%
- {\@nameuse{bbl@casing@\languagename}-x-\bbl@KVP@casing}%
+ {\@nameuse{bbl@casing@\languagename}\bbl@maybextx\bbl@KVP@casing}%
\fi
% == Calendars ==
\ifx\bbl@KVP@calendar\@nnil
@@ -2959,6 +2936,7 @@
\bbl@cs{@kv@identification.warning#1}\\%
Reported }}}
\let\bbl@release@transforms\@empty
+\let\bbl@release@casing\@empty
\def\bbl@ini@exports#1{%
% Identification always exported
\bbl@iniwarning{}%
@@ -2974,7 +2952,7 @@
\bbl@exp{\\\bbl@exportkey{lname}{identification.name.opentype}%
{\csname bbl@elname@\languagename\endcsname}}%
\bbl@exportkey{tbcp}{identification.tag.bcp47}{}%
- % Somewhat hackish. TODO
+ % Somewhat hackish. TODO:
\bbl@exportkey{casing}{identification.tag.bcp47}{}%
\bbl@exportkey{lbcp}{identification.language.tag.bcp47}{}%
\bbl@exportkey{lotf}{identification.tag.opentype}{dflt}%
@@ -3025,8 +3003,23 @@
\let\bbl@inikv@identification\bbl@inikv
\let\bbl@inikv@date\bbl@inikv
\let\bbl@inikv@typography\bbl@inikv
-\let\bbl@inikv@characters\bbl@inikv
\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@exp{%
+ \\\g@addto@macro\\\bbl@release@casing{%
+ \\\bbl@casemapping{}{\languagename}{\unexpanded{#2}}}}}%
+ {\in@{$casing.}{$#1}% eg, casing.Uv = uV
+ \ifin@
+ \lowercase{\def\bbl@tempb{#1}}%
+ \bbl@replace\bbl@tempb{casing.}{}%
+ \bbl@exp{\\\g@addto@macro\\\bbl@release@casing{%
+ \\\bbl@casemapping
+ {\\\bbl@maybextx\bbl@tempb}{\languagename}{\unexpanded{#2}}}}%
+ \else
+ \bbl@inikv{#1}{#2}%
+ \fi}}
\def\bbl@inikv@counters#1#2{%
\bbl@ifsamestring{#1}{digits}%
{\bbl@error{The counter name 'digits' is reserved for mapping\\%
@@ -3303,7 +3296,6 @@
\bbl@replace@finish@iii\bbl@toreplace}
\def\bbl@datecntr{\expandafter\bbl@xdatecntr\expandafter}
\def\bbl@xdatecntr[#1|#2]{\localenumeral{#2}{#1}}
-\let\bbl@release@transforms\@empty
\bbl@csarg\let{inikv@transforms.prehyphenation}\bbl@inikv
\bbl@csarg\let{inikv@transforms.posthyphenation}\bbl@inikv
\def\bbl@transforms@aux#1#2#3#4,#5\relax{%
@@ -3379,7 +3371,7 @@
\fi
\AtBeginDocument{%
\bbl@patchfont{\bbl@xenohyph}%
- \expandafter\select@language\expandafter{\languagename}}%
+ {\expandafter\select@language\expandafter{\languagename}}}%
\fi}}%
\fi
\bbl@csarg\bbl@toglobal{lsys@#1}}
@@ -3458,7 +3450,7 @@
\def\bbl@alphnumeral#1#2{%
\expandafter\bbl@alphnumeral@i\number#2 76543210\@@{#1}}
\def\bbl@alphnumeral@i#1#2#3#4#5#6#7#8\@@#9{%
- \ifcase\@car#8\@nil\or % Currenty <10000, but prepared for bigger
+ \ifcase\@car#8\@nil\or % Currently <10000, but prepared for bigger
\bbl@alphnumeral@ii{#9}000000#1\or
\bbl@alphnumeral@ii{#9}00000#1#2\or
\bbl@alphnumeral@ii{#9}0000#1#2#3\or
@@ -3509,6 +3501,11 @@
\@namedef{bbl@info@extension.t.tag.bcp47}{extt}
\@namedef{bbl@info@extension.u.tag.bcp47}{extu}
\@namedef{bbl@info@extension.x.tag.bcp47}{extx}
+\ifcase\bbl@engine % Converts utf8 to its code (expandable)
+ \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax}
+\else
+ \def\bbl@utftocode#1{\expandafter`\string#1}
+\fi
\providecommand\BCPdata{}
\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix
\renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty}
@@ -3526,15 +3523,45 @@
\fi
\@namedef{bbl@info@casing.tag.bcp47}{casing}
\newcommand\BabelUppercaseMapping[3]{%
- \let\bbl@tempx\languagename
- \edef\languagename{#1}%
- \DeclareUppercaseMapping[\BCPdata{casing}]{#2}{#3}%
- \let\languagename\bbl@tempx}
+ \DeclareUppercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
+\newcommand\BabelTitlecaseMapping[3]{%
+ \DeclareTitlecaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
\newcommand\BabelLowercaseMapping[3]{%
- \let\bbl@tempx\languagename
- \edef\languagename{#1}%
- \DeclareLowercaseMapping[\BCPdata{casing}]{#2}{#3}%
- \let\languagename\bbl@tempx}
+ \DeclareLowercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
+\def\bbl@casemapping#1#2#3{% 1:variant
+ \def\bbl@tempa##1 ##2{% Loop
+ \bbl@casemapping@i{##1}%
+ \ifx\@empty##2\else\bbl@afterfi\bbl@tempa##2\fi}%
+ \edef\bbl@templ{\@nameuse{bbl@casing@#2}#1}% Language code
+ \def\bbl@tempe{0}% Mode (upper/lower...)
+ \def\bbl@tempc{#3 }% Casing list
+ \expandafter\bbl@tempa\bbl@tempc\@empty}
+\def\bbl@casemapping@i#1{%
+ \def\bbl@tempb{#1}%
+ \ifcase\bbl@engine % Handle utf8 in pdftex, by surrounding chars with {}
+ \@nameuse{regex_replace_all:nnN}%
+ {[\x{c0}-\x{ff}][\x{80}-\x{bf}]*}{{\0}}\bbl@tempb
+ \else
+ \@nameuse{regex_replace_all:nnN}{.}{{\0}}\bbl@tempb % TODO. needed?
+ \fi
+ \expandafter\bbl@casemapping@ii\bbl@tempb\@@}
+\def\bbl@casemapping@ii#1#2#3\@@{%
+ \in@{#1#3}{<>}% ie, if <u>, <l>, <t>
+ \ifin@
+ \edef\bbl@tempe{%
+ \if#2u1 \else\if#2l2 \else\if#2t3 \fi\fi\fi}%
+ \else
+ \ifcase\bbl@tempe\relax
+ \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#2}}{#1}%
+ \or
+ \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \or
+ \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \or
+ \DeclareTitlecaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \fi
+ \fi}
\let\bbl@ensureinfo\@gobble
\newcommand\BabelEnsureInfo{%
\ifx\InputIfFileExists\@undefined\else
@@ -3569,6 +3596,12 @@
\fi}
\let\bbl@ini@loaded\@empty
\newcommand\LocaleForEach{\bbl@foreach\bbl@ini@loaded}
+\def\ShowLocaleProperties#1{%
+ \typeout{}%
+ \typeout{*** Properties for language '#1' ***}
+ \def\bbl@elt##1##2##3{\typeout{##1/##2 = ##3}}%
+ \@nameuse{bbl@inidata@#1}%
+ \typeout{*******}}
\newcommand\babeladjust[1]{% TODO. Error handling.
\bbl@forkv{#1}{%
\bbl@ifunset{bbl@ADJ@##1@##2}%
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 59e4eb657b3..f7e3fce63da 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/11/11 v3.97 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2023/12/06 v3.98 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.97}
-\def\bbl@date{2023/11/11}
+\def\bbl@version{3.98}
+\def\bbl@date{2023/12/06}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
index dfde929b03d..48e2decaac4 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/fa/babel-fa.ini
@@ -6,11 +6,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; * With improvements by Farshad Rasuli (@farshadrasuli).
[identification]
charset = utf8
-version = 1.12
-date = 2023-01-27
+version = 1.13
+date = 2023-11-25
name.local = فارسی
name.english = Persian
name.babel = persian
@@ -27,15 +28,15 @@ encodings = LFE
derivate = no
[captions]
-preface = پیشگفتار
-ref = مراجع
+preface = پیش‌گفتار
+ref = مرجع‌ها
abstract = چکیده
bib = کتاب‌نامه
chapter = فصل
appendix = پیوست
-contents = فهرست مطالب
-listfigure = لیست تصاویر
-listtable = لیست جداول
+contents = فهرست
+listfigure = فهرست شکل‌ها
+listtable = فهرست جدول‌ها
index = نمایه
figure = شكل
table = جدول
@@ -43,11 +44,11 @@ part = بخش
encl = پیوست
cc = رونوشت
headto = به
-page = صفحة
+page = صفحه
see = ببینید
also = نیز ببینید
-proof = برهان
-glossary = دانش‌نامه
+proof = اثبات
+glossary = فرهنگ‌نامه
[date]
calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
@@ -55,13 +56,13 @@ calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
[date.gregorian]
date.long = [d] [MMMM] [y]
date.short = [y]/[M]/[d]
-months.wide.1 = ژانویهٔ
-months.wide.2 = فوریهٔ
+months.wide.1 = ژانویه
+months.wide.2 = فوریه
months.wide.3 = مارس
months.wide.4 = آوریل
-months.wide.5 = مهٔ
+months.wide.5 = مه
months.wide.6 = ژوئن
-months.wide.7 = ژوئیهٔ
+months.wide.7 = ژوئیه
months.wide.8 = اوت
months.wide.9 = سپتامبر
months.wide.10 = اکتبر
@@ -86,13 +87,13 @@ days.wide.thu = پنجشنبه
days.wide.fri = جمعه
days.wide.sat = شنبه
days.wide.sun = یکشنبه
-days.abbreviated.mon = دوشنبه
-days.abbreviated.tue = سه‌شنبه
-days.abbreviated.wed = چهارشنبه
-days.abbreviated.thu = پنجشنبه
+days.abbreviated.mon = دو
+days.abbreviated.tue = سه
+days.abbreviated.wed = چهار
+days.abbreviated.thu = پنج
days.abbreviated.fri = جمعه
days.abbreviated.sat = شنبه
-days.abbreviated.sun = یکشنبه
+days.abbreviated.sun = یک
days.narrow.mon = د
days.narrow.tue = س
days.narrow.wed = چ
@@ -146,8 +147,8 @@ months.wide.7 = رجب
months.wide.8 = شعبان
months.wide.9 = رمضان
months.wide.10 = شوال
-months.wide.11 = ذیقعدهٔ
-months.wide.12 = ذیحجهٔ
+months.wide.11 = دیقعده
+months.wide.12 = دیحجه
[time.gregorian]
time.medium = [H]:[mm]:[ss]
@@ -167,7 +168,7 @@ postexhyphenchar =
hyphenationmin =
[characters]
-delimiters.quotes = «»‹›
+delimiters.quotes = «» “” ‘’
auxiliary = [ـ\u200C\u200D\u200E\u200F \u064E \u0650 \u064F \u0652 \u0656 \u0670 إ ك ى ي]
exemplarCharacters = [\u064B \u064D \u064C \u0651 \u0654 آ ا ء أ ؤ ئ ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ة ی]
index = [آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]
@@ -177,11 +178,11 @@ punctuation = [\\- ‐ ‑ ، ٫ ٬ ؛ \\: ! ؟ . … ‹ › « » ( ) \\[ \\]
defaultNumberingSystem = arabext
digits.native = ۰۱۲۳۴۵۶۷۸۹
minimumGroupingDigits = 1
-decimal = .
+decimal = ٫
exponential = E
-group = ,
+group = ٬
infinity = ∞
-list = ;
+list = ؛
minusSign = ‎−
nan = ناعدد
perMille = ‰
@@ -190,7 +191,7 @@ plusSign = ‎+
superscriptingExponent = ×
[counters]
-abjad = ا ب ج د ه‍ و ز ح ط ی ک ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
+abjad = ا ب ج د ه‍ و ز ح ط ی ک ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ گ چ پ ژ
alphabetic = ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه‍ ی
[transforms.prehyphenation]
@@ -198,5 +199,16 @@ kashida.plain.1.0 = { ()[يئهشسقفغعضصنمكلظطخحچجثتپب]()[
kashida.plain.1.1 = { kashida = 500 }
kashida.plain.2.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
kashida.plain.2.1 = { kashida = 0 }
+; Contributed by Christian Lück (@lueck) for Arabic
+kashida.base.1.0 = { ()[يئهشسقفغعضصنمكلظطخحجثتب]()[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
+kashida.base.1.1 = { kashida = 500 }
+; one diacritic mark: insert kashida behind it
+kashida.base.2.0 = { [يئهشسقفغعضصنمكلظطخحجثتب]()[ًٍَُِّ]()[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
+kashida.base.2.1 = { kashida = 500 }
+; two diacritic marks: insert kashida behind them
+kashida.base.3.0 = { [يئهشسقفغعضصنمكلظطخحجثتب][ًٍَُِّ]()[ًٍَُِّ]()[يئهشسقفغعضصنمكلظطخحجثتباأإآوؤذدزرة] }
+kashida.base.3.1 = { kashida = 500 }
+kashida.base.4.0 = { ()ل()[ًٍَُِّ]*[اأإآ] }
+kashida.base.4.1 = { kashida = 0 }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-classicallatin.tex b/Master/texmf-dist/tex/generic/babel/locale/la/babel-classicallatin.tex
index 6efe0993892..f3df2a749ee 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-classicallatin.tex
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-classicallatin.tex
@@ -18,8 +18,4 @@
\SetHyphenMap{\BabelLower{`V}{`u}}
\EndBabelCommands
-% TODO. Must be defined somehow in the ini file:
-\BabelUppercaseMapping{\languagename}{`u}{V}
-\BabelLowercaseMapping{\languagename}{`v}{U}
-
\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
index 06a95c81ecd..df7497ec461 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-classic.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2023-06-25
+version = 1.7
+date = 2023-12-03
name.english = Classical Latin
name.babel = classicallatin
tag.bcp47 = la-x-classic
@@ -148,6 +148,8 @@ hyphenationmin =
[characters]
delimiters.quotes =
+casing = uV
+casing.Nouv = uU vV
[counters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
index 9648951a71f..01291c67d2c 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-ecclesia.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2023-06-25
+version = 1.7
+date = 2023-12-03
name.english = Ecclesiastical Latin
name.babel = ecclesiasticallatin
tag.bcp47 = la-x-ecclesia
@@ -148,6 +148,7 @@ hyphenationmin =
[characters]
delimiters.quotes =
+casing.Uv = uV
[counters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
index ee14662f109..243037733b8 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la-x-medieval.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.5
-date = 2022-07-28
+version = 1.6
+date = 2023-12-03
name.english = Medieval Latin
name.babel = medievallatin
tag.bcp47 = la-x-medieval
@@ -147,6 +147,8 @@ hyphenationmin =
[characters]
delimiters.quotes =
+casing = uV
+casing.Nouv = uU vV
[counters]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la.ini b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la.ini
index 3582f334785..73f3fd22b50 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/la/babel-la.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/la/babel-la.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2021-11-15
+version = 1.5
+date = 2023-12-03
name.english = Latin
name.babel = latin
name.polyglossia = latin
@@ -145,7 +145,8 @@ postexhyphenchar =
hyphenationmin =
[characters]
-delimiters.quotes =
+delimiters.quotes =
+casing.Uv = uV
[counters]
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index d1b790c836a..ec0d118d7e3 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -601,7 +601,7 @@ end
\catcode`_=11 \catcode`:=11
\gdef\bblar@nofswarn{\gdef\msg_warning:nnx##1##2##3{}}
\endgroup
-\gdef\bbl@arabicjust{% TODO. Allow for serveral locales.
+\gdef\bbl@arabicjust{% TODO. Allow for several locales.
\let\bbl@arabicjust\relax
\newattribute\bblar@kashida
\directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar@kashida' }%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 12bef876f9e..2d62760810c 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/11/11 v3.97 Nil language]
+\ProvidesLanguage{nil}[2023/12/06 v3.98 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil