[latex3-commits] [git/LaTeX3-latex3-babel] main: Calendars with \today. New locale ar-SA. (242f0a8)
Javier
email at dante.de
Sun Jun 12 13:20:00 CEST 2022
Repository : https://github.com/latex3/babel
On branch : main
Link : https://github.com/latex3/babel/commit/242f0a870296e168508435520a0eca5f5d96bf50
>---------------------------------------------------------------
commit 242f0a870296e168508435520a0eca5f5d96bf50
Author: Javier <email at localhost>
Date: Sun Jun 12 13:20:00 2022 +0200
Calendars with \today. New locale ar-SA.
>---------------------------------------------------------------
242f0a870296e168508435520a0eca5f5d96bf50
README.md | 11 ++-
babel.dtx | 109 +++++++++++++++------
babel.ins | 3 +-
babel.pdf | Bin 882541 -> 883974 bytes
bbcompat.dtx | 2 +-
locale/ar/{babel-ar-EG.ini => babel-ar-SA.ini} | 17 ++--
.../ar/babel-arabic-sa.tex | 2 +-
.../ar/babel-arabic-saudiarabia.tex | 2 +-
locale/fa/babel-fa.ini | 7 +-
locale/lrc/babel-lrc.ini | 7 +-
locale/mzn/babel-mzn.ini | 7 +-
locale/ps/babel-ps.ini | 7 +-
locale/th/babel-th.ini | 25 ++++-
locale/th/babel-thai.tex | 4 -
14 files changed, 145 insertions(+), 58 deletions(-)
diff --git a/README.md b/README.md
index 6b2fb1b..9f3c923 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-## Babel 3.76
+## Babel 3.76.2766
+
+*Development*.
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -46,6 +48,13 @@ respective authors.
### Summary of latest changes
```
+3.77 2022-07-?? (dev)
+ * More con calendar conversions: \localedate, \today.
+ * New Arabic locale for Saudi Arabia, with the Umm al-Qura
+ calendar.
+ * Date now defaults to 'persian' in a few locales: Persian,
+ Northern Luri, Mazanderani, Pashto.
+
3.76 2022-06-06
* Calendar conversion with a new macro \babelcalendar: hebrew,
islamic-civil, islamic-umalqura, persian.
diff --git a/babel.dtx b/babel.dtx
index 4d1fec7..790e4b4 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2022/06/06 v3.76 The Babel package]
+\ProvidesFile{babel.dtx}[2022/06/12 v3.76.2766 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -5157,8 +5157,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.76>>
-%<<date=2022/06/06>>
+%<<version=3.76.2766>>
+%<<date=2022/06/12>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -9696,6 +9696,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl at KVP@Alph\@nil
\let\bbl at KVP@labels\@nil
\bbl at csarg\let{KVP at labels*}\@nil
+ \let\bbl at KVP@calendar\@nil
\let\bbl at calendars\@empty
\global\let\bbl at inidata\@empty
\global\let\bbl at extend@ini\@gobble
@@ -10020,6 +10021,10 @@ help from Bernd Raichle, for which I am grateful.
\\\bbl at add\<extras\languagename>{%
\let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
\fi
+ % == Calendars ==
+ \ifx\bbl at KVP@calendar\@nil\else
+ \bbl at csarg\let{calpr@\languagename}\bbl at KVP@calendar
+ \fi
% == require.babel in ini ==
% To load or reaload the babel-*.tex, if require.babel in ini
\ifx\bbl at beforestart\relax\else % But not in doc aux or body
@@ -10474,6 +10479,7 @@ help from Bernd Raichle, for which I am grateful.
\fi
% Conditional
\ifnum#1>\z@ % 0 = only info, 1, 2 = basic, (re)new
+ \bbl at exportkey{calpr}{date.calendar.preferred}{}%
\bbl at exportkey{lnbrk}{typography.linebreaking}{h}%
\bbl at exportkey{hyphr}{typography.hyphenrules}{}%
\bbl at exportkey{lfthm}{typography.lefthyphenmin}{2}%
@@ -10509,6 +10515,7 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\let\bbl at inikv@identification\bbl at inikv
+\let\bbl at inikv@date\bbl at inikv
\let\bbl at inikv@typography\bbl at inikv
\let\bbl at inikv@characters\bbl at inikv
\let\bbl at inikv@numbers\bbl at inikv
@@ -10721,21 +10728,46 @@ help from Bernd Raichle, for which I am grateful.
\DeclareRobustCommand\localedate[1][]{\bbl at localedate{#1}}
\def\bbl at localedate#1#2#3#4{%
\begingroup
- \ifx\@empty#1\@empty\else
- \let\bbl at ld@calendar\@empty
- \let\bbl at ld@variant\@empty
- \edef\bbl at tempa{\zap at space#1 \@empty}%
- \def\bbl at tempb##1=##2\@@{\@namedef{bbl at ld@##1}{##2}}%
- \bbl at foreach\bbl at tempa{\bbl at tempb##1\@@}%
- \edef\bbl at calendar{%
- \bbl at ld@calendar
- \ifx\bbl at ld@variant\@empty\else
- .\bbl at ld@variant
- \fi}%
- \bbl at replace\bbl at calendar{gregorian}{}%
+ \edef\bbl at tempe{#1}%
+ \edef\bbl at they{#2}%
+ \edef\bbl at them{#3}%
+ \edef\bbl at thed{#4}%
+ \ifx\bbl at tempe\@empty
+ \bbl at ifunset{bbl at calpr@\languagename}{}%
+ {\edef\bbl at tempe{convert,calendar=\bbl at cl{calpr}}%
+ \@nameuse{regex\string_replace\string_once\string:nnN}%
+ {\ .*}{}\bbl at tempe}% TODO. Must be more efficient
+ \fi
+ \bbl at replace\bbl at tempe{ }{}%
+ \bbl at replace\bbl at tempe{convert}{convert=}%
+ \let\bbl at ld@calendar\@empty
+ \let\bbl at ld@variant\@empty
+ \let\bbl at ld@convert\relax
+ \def\bbl at tempb##1=##2\@@{\@namedef{bbl at ld@##1}{##2}}%
+ \bbl at foreach\bbl at tempe{\bbl at tempb##1\@@}%
+ \ifx\bbl at ld@convert\relax\else
+ \let\bbl at ld@convert\bbl at ld@calendar
+ \bbl at replace\bbl at ld@convert{gregorian}{}%
+ \ifx\bbl at ld@convert\@empty\else
+ \let\bbl at ld@convert\bbl at ld@calendar % For conversion
+ \@nameuse{regex\string_replace\string_once\string:nnN}%
+ {\..*}{}\bbl at ld@convert
+ \ifx\bbl at ld@convert\@empty\else
+ \babelcalendar[\bbl at they-\bbl at them-\bbl at thed]%
+ {\bbl at ld@convert}\bbl at they\bbl at them\bbl at thed
+ \fi
+ \fi
\fi
+ \bbl at replace\bbl at ld@calendar{gregorian}{}%
+ \@nameuse{bbl at precalendar}%
+ \edef\bbl at calendar{% Used in \month..., too
+ \bbl at ld@calendar
+ \ifx\bbl at ld@variant\@empty\else
+ .\bbl at ld@variant
+ \fi}%
\bbl at cased
- {\@nameuse{bbl at date@\languagename @\bbl at calendar}{#2}{#3}{#4}}%
+ {\@nameuse{bbl at date@\languagename @\bbl at calendar}%
+ \bbl at they\bbl at them\bbl at thed}%
\endgroup}
% eg: 1=months, 2=wide, 3=1, 4=dummy, 5=value, 6=calendar
\def\bbl at inidate#1.#2.#3.#4\relax#5#6{% TODO - ignore with 'captions'
@@ -10752,21 +10784,18 @@ help from Bernd Raichle, for which I am grateful.
{\lowercase{\def\bbl at tempb{#6}}%
\bbl at trim@def\bbl at toreplace{#5}%
\bbl at TG@@date
- \bbl at ifunset{bbl at date@\languagename @}%
- {\bbl at exp{% TODO. Move to a better place.
- \gdef\<\languagename date>{\\\protect\<\languagename date >}%
- \gdef\<\languagename date >####1####2####3{%
- \\\bbl at usedategrouptrue
- \<bbl at ensure@\languagename>{%
- \\\localedate{####1}{####2}{####3}}}%
- \\\bbl at add\\\bbl at savetoday{%
- \\\SetString\\\today{%
- \<\languagename date>%
- {\\\the\year}{\\\the\month}{\\\the\day}}}}}%
- {}%
- \global\bbl at csarg\let{date@\languagename @}\bbl at toreplace
- \ifx\bbl at tempb\@empty\else
- \global\bbl at csarg\let{date@\languagename @\bbl at tempb}\bbl at toreplace
+ \global\bbl at csarg\let{date@\languagename @\bbl at tempb}\bbl at toreplace
+ \ifx\bbl at savetoday\@empty
+ \bbl at exp{% TODO. Move to a better place.
+ \gdef\<\languagename date>{\\\protect\<\languagename date >}%
+ \gdef\<\languagename date >####1####2####3{%
+ \\\bbl at usedategrouptrue
+ \<bbl at ensure@\languagename>{%
+ \\\localedate{####1}{####2}{####3}}}%
+ \def\\\bbl at savetoday{%
+ \\\SetString\\\today{%
+ \<\languagename date>%
+ {\\\the\year}{\\\the\month}{\\\the\day}}}}%
\fi}%
{}}}
% \end{macrocode}
@@ -22828,6 +22857,11 @@ Babel.cjk_breaks = {
\edef#6{\fp_eval:n{ \bbl at templ - (12 * \bbl at tempa) }}%
\edef#7{\fp_eval:n{ \bbl at tempd - \bbl at tempb + 1 }}}
\ExplSyntaxOff
+\bbl at add\bbl at precalendar{%
+ \bbl at replace\bbl at ld@calendar{-civil}{}%
+ \bbl at replace\bbl at ld@calendar{-umalqura}{}%
+ \bbl at replace\bbl at ld@calendar{+}{}%
+ \bbl at replace\bbl at ld@calendar{-}{}}
%</ca-islamic>
% \end{macrocode}
%
@@ -23147,6 +23181,19 @@ Babel.cjk_breaks = {
%</ca-persian>
% \end{macrocode}
%
+% \section{Buddhist}
+%
+% That’s very simple.
+%
+% \begin{macrocode}
+%<*ca-buddhist>
+\def\bbl at ca@buddhist#1-#2-#3\@@#4#5#6{%
+ \edef#4{\number\numexpr#1+543\relax}%
+ \edef#5{#2}%
+ \edef#6{#3}}
+%</ca-buddhist>
+% \end{macrocode}
+%
% \section{Support for Plain \TeX\ (\texttt{plain.def})}
%
% \subsection{Not renaming \file{hyphen.tex}}
diff --git a/babel.ins b/babel.ins
index 6988ba0..a6b30ff 100644
--- a/babel.ins
+++ b/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{2022/06/06}
+\def\filedate{2022/06/12}
\def\batchfile{babel.ins}
\input docstrip.tex
@@ -135,6 +135,7 @@
\file{switch.def}{\from{babel.dtx}{kernel}}
\file{hyphen.cfg}{\from{babel.dtx}{patterns}}
\file{nil.ldf}{\from{babel.dtx}{nil}}
+ \file{babel-ca-buddhist.tex}{\from{babel.dtx}{ca-buddhist}}
\file{babel-ca-hebrew.tex}{\from{babel.dtx}{ca-hebrew}}
\file{babel-ca-islamic.tex}{\from{babel.dtx}{ca-islamic}}
\file{babel-ca-persian.tex}{\from{babel.dtx}{ca-persian}}
diff --git a/babel.pdf b/babel.pdf
index 4585e8c..8f10dc8 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index eeb5593..ac487c8 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2022/06/06 v3.76]
+\ProvidesFile{bbcompat.dtx}[2022/06/12 v3.76.2766]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/locale/ar/babel-ar-EG.ini b/locale/ar/babel-ar-SA.ini
similarity index 94%
copy from locale/ar/babel-ar-EG.ini
copy to locale/ar/babel-ar-SA.ini
index 9be40ee..731f626 100644
--- a/locale/ar/babel-ar-EG.ini
+++ b/locale/ar/babel-ar-SA.ini
@@ -12,16 +12,16 @@
[identification]
charset = utf8
version = 1.0
-date = 2022-06-02
+date = 2022-06-11
name.local = العربية
name.english = Arabic
-name.babel = arabic-egypt arabic-eg
-tag.bcp47 = ar-EG
+name.babel = arabic-saudiarabia arabic-sa
+tag.bcp47 = ar-SA
language.tag.bcp47 = ar
tag.opentype = ARA
-region.local = مصر
-region.english = Egypt
-region.tag.bcp47 = EG
+region.local = المملكة العربية السعودية
+region.english = Saudi Arabia
+region.tag.bcp47 = SA
script.name = Arabic
script.tag.bcp47 = Arab
script.tag.opentype = arab
@@ -52,6 +52,9 @@ also = راجع أيضًا
proof = برهان
glossary = قاموس
+[date]
+calendar.preferred = islamic-umalqura gregorian islamic islamic-rgsa
+
[date.gregorian]
date.long = [d] [MMMM] [y]
date.short = [d]/[M]/[y]
@@ -170,7 +173,7 @@ list = ;
minusSign = -
nan = ليس رقمًا
perMille = ‰
-percentSign = %
+percentSign = ٪
plusSign = +
superscriptingExponent = ×
diff --git a/locale-templates/aa/babel-afar.tex b/locale/ar/babel-arabic-sa.tex
similarity index 89%
copy from locale-templates/aa/babel-afar.tex
copy to locale/ar/babel-arabic-sa.tex
index 484449c..caa85c6 100644
--- a/locale-templates/aa/babel-afar.tex
+++ b/locale/ar/babel-arabic-sa.tex
@@ -7,6 +7,6 @@
{Just use babel as documented.}%
\stop
\fi
-\BabelBeforeIni{aa}{%
+\BabelBeforeIni{ar-SA}{%
}
\endinput
\ No newline at end of file
diff --git a/locale-templates/aa/babel-afar.tex b/locale/ar/babel-arabic-saudiarabia.tex
similarity index 89%
copy from locale-templates/aa/babel-afar.tex
copy to locale/ar/babel-arabic-saudiarabia.tex
index 484449c..caa85c6 100644
--- a/locale-templates/aa/babel-afar.tex
+++ b/locale/ar/babel-arabic-saudiarabia.tex
@@ -7,6 +7,6 @@
{Just use babel as documented.}%
\stop
\fi
-\BabelBeforeIni{aa}{%
+\BabelBeforeIni{ar-SA}{%
}
\endinput
\ No newline at end of file
diff --git a/locale/fa/babel-fa.ini b/locale/fa/babel-fa.ini
index dcd28df..2792b42 100644
--- a/locale/fa/babel-fa.ini
+++ b/locale/fa/babel-fa.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.8
-date = 2021-05-16
+version = 1.9
+date = 2022-06-11
name.local = فارسی
name.english = Persian
name.babel = persian
@@ -51,6 +51,9 @@ also = نیز ببینید
proof = برهان
glossary = دانشنامه
+[date]
+calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
+
[date.gregorian]
date.long = [d] [MMMM] [y]
date.short = [y]/[M]/[d]
diff --git a/locale/lrc/babel-lrc.ini b/locale/lrc/babel-lrc.ini
index 1e1934f..8405283 100644
--- a/locale/lrc/babel-lrc.ini
+++ b/locale/lrc/babel-lrc.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-06-11
name.local = لۊری شومالی
name.english = Northern Luri
name.babel = northernluri
@@ -73,6 +73,9 @@ also =
proof =
glossary =
+[date]
+calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
+
[date.gregorian]
date.long = [y] [MMMM] [d]
date.short = [y]-[MM]-[dd]
diff --git a/locale/mzn/babel-mzn.ini b/locale/mzn/babel-mzn.ini
index 5ca5331..c9d4625 100644
--- a/locale/mzn/babel-mzn.ini
+++ b/locale/mzn/babel-mzn.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-06-11
name.local = مازرونی
name.english = Mazanderani
name.babel = mazanderani
@@ -73,6 +73,9 @@ also =
proof =
glossary =
+[date]
+calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
+
[date.gregorian]
date.long = [y] [MMMM] [d]
date.short = [y]-[MM]-[dd]
diff --git a/locale/ps/babel-ps.ini b/locale/ps/babel-ps.ini
index 3eb9a2f..45dd376 100644
--- a/locale/ps/babel-ps.ini
+++ b/locale/ps/babel-ps.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-10-11
+version = 1.5
+date = 2022-06-11
name.local = پښتو
name.english = Pashto
name.babel = pashto
@@ -73,6 +73,9 @@ also =
proof =
glossary =
+[date]
+calendar.preferred = persian gregorian islamic islamic-civil islamic-tbla
+
[date.gregorian]
date.long = د [y] د [MMMM] [d]
date.short = [y]/[M]/[d]
diff --git a/locale/th/babel-th.ini b/locale/th/babel-th.ini
index 65f800f..fa10786 100644
--- a/locale/th/babel-th.ini
+++ b/locale/th/babel-th.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.8
-date = 2022-02-17
+version = 1.9
+date = 2022-06-11
name.local = ไทย
name.english = Thai
name.babel = thai
@@ -75,9 +75,12 @@ also = \thaiDoDek\thaiSaraUu\thaiSaraE\thaiPhoPhan\thaiMaiEk\thaiSaraI\thaiMoMa\
proof = \thaiPhoPhan\thaiSaraI\thaiSoSua\thaiChoChan\thaiSaraUu\space \thaiNoNu\thaiThanthakhat
glossary =
+[date]
+calendar.preferred = buddhist gregorian
+
[date.gregorian]
; Should be [G] instead of พ.ศ.
-date.long = [d] [MMMM] พ.ศ. [y]
+date.long = [d] [MMMM] พ.ศ[.] [y]
date.short = [d]/[M]/[yy]
months.wide.1 = มกราคม
months.wide.2 = กุมภาพันธ์
@@ -145,6 +148,22 @@ months.wide.10 = \thaiToTao\thaiSaraU\thaiLoLing\thaiSaraAa\thaiKhoKhwai\thaiMoM
months.wide.11 = \thaiPhoPhan\thaiRu\thaiSoSala\thaiChoChan\thaiSaraI\thaiKoKai\thaiSaraAa\thaiYoYak\thaiNoNu
months.wide.12 = \thaiThoThong\thaiMaiHanakat\thaiNoNu\thaiWoWaen\thaiSaraAa\thaiKhoKhwai\thaiMoMa
+[date.buddhist]
+date.long = [d] [MMMM] [y]
+date.short = [d]/[M]/[yy]
+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 = [HH]:[mm]:[ss]
time.short = [HH]:[mm]
diff --git a/locale/th/babel-thai.tex b/locale/th/babel-thai.tex
index 68a0f1f..b03fad9 100644
--- a/locale/th/babel-thai.tex
+++ b/locale/th/babel-thai.tex
@@ -10,8 +10,4 @@
\BabelBeforeIni{th}{%
}
-\expandafter\addto\csname date\languagename\endcsname{%
- \babel at save\BabelDatey
- \def\BabelDatey#1{{\number\numexpr#1+543}}}
-
\endinput
\ No newline at end of file
More information about the latex3-commits
mailing list.