[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.