[latex3-commits] [latex3/babel] main: Bump to 3.90. (ce98832)

github at latex-project.org github at latex-project.org
Mon Jun 26 18:20:15 CEST 2023


Repository : https://github.com/latex3/babel
On branch  : main
Link       : https://github.com/latex3/babel/commit/ce98832c4054383c520aece8d6476c32d4978703

>---------------------------------------------------------------

commit ce98832c4054383c520aece8d6476c32d4978703
Author: Javier <email at localhost>
Date:   Mon Jun 26 18:20:15 2023 +0200

    Bump to 3.90.


>---------------------------------------------------------------

ce98832c4054383c520aece8d6476c32d4978703
 README.md                          |  28 ++++++++--------
 babel-code.pdf                     | Bin 625474 -> 625101 bytes
 babel.dtx                          |  64 ++++++++++++++++++++++++++++++++-----
 babel.ins                          |   2 +-
 babel.pdf                          | Bin 402077 -> 404372 bytes
 bbcompat.dtx                       |   2 +-
 locale/la/babel-classicallatin.tex |   4 +++
 locale/la/babel-la-x-classic.ini   |   4 +--
 locale/la/babel-la-x-ecclesia.ini  |   4 +--
 locale/la/babel-medievallatin.tex  |   4 ---
 10 files changed, 79 insertions(+), 33 deletions(-)

diff --git a/README.md b/README.md
index e4ecdcb..12e18a9 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-## Babel 3.89.17639
+## Babel 3.90
 
-*Development.*
+2023-06-26
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages. Many
@@ -48,20 +48,18 @@ respective authors.
 
 ### Summary of latest changes
 ```
-3.90  (dev)
-      * Main language selected at begindocument/before.
+3.90  2023-06-26
+      * Main language selected at begindocument/before (#240).
       * Option to limit the number of inserted tatweel.
-      * New macros `\BabelUppercaseMapping`, 
-        `\BabelLowercaseMapping`, and...
-
-3.89  2023-05-11
-      * Deprecating \SetCase, \aliasshorthands, and 'strings' package
-        option in the manual.
-      * The manual has been split in two documents: 'babel.pdf' is the
-        user guide, and 'babel-code.pdf' is the code.
-      * Alternative syntax to pass 'modifiers' to babel languages.
-      * Code cleaned up: babel.def has been shortened dramatically,
-        and babel.sty is a bit smaller.
+      * New macros `\BabelUppercaseMapping` and 
+        `\BabelLowercaseMapping`.
+      * Fix: line breaking was sometimes prevented when switching the
+        text direction (#213).
+      * Locale names (in ini files):
+        - `classicallatin` and `ecclesiasticallatin` now preferred to 
+          `classiclatin` and `ecclesiasticlatin`.
+        - `farsi` is a synonymous for `persian`. 
+        - `vietnam` removed - use `vietnamese`.
 ```
 
 ### Previous changes
diff --git a/babel-code.pdf b/babel-code.pdf
index e9eee63..8ac1424 100644
Binary files a/babel-code.pdf and b/babel-code.pdf differ
diff --git a/babel.dtx b/babel.dtx
index 94a2507..1477fd0 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -32,7 +32,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2023/06/25 v3.89.17639 The Babel package]
+\ProvidesFile{babel.dtx}[2023/06/26 v3.90 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -2577,6 +2577,34 @@ hyphenation. The rest of the language definitions are not touched.
 Without the optional argument it just loads some aditional tools if
 provided by the |ini| file, like extra counters.
 
+\Describe{\BabelUppercaseMapping}
+  {\marg{locale-name}\marg{codepoint}\marg{output}}
+\DescribeOther{\BabelLowercaseMapping}
+  {\marg{locale-name}\marg{codepoint}\marg{output}}
+
+\New{3.90} These macros are devised as a high level interface for
+declaring case mappings, based on the locale name as declared by or
+with \babel. They are the equivalent of |\DeclareUppercaseMapping| and
+|\DeclareLowercaseMapping| (see \textsf{usrguide.pdf}). The purpose is
+twofold: (1) a user-friendly way to declare them, because
+often BCP 47 tags are not known (and sometimes can be complex);
+(2) if for some reason the tag changes (eg, you decide to tag
+`english` as `en-001` instead of `en-US`), the new mappings will be
+still assigned to that language.
+
+\begin{example} For Classical Latin (no need to know the tag is
+\texttt{la-x-classic}):
+\begin{verbatim}
+  \BabelUppercaseMapping{classicallatin}{`u}{V}
+\end{verbatim}
+\end{example}
+
+\begin{note}
+  There are still some rough edges when declaring a mapping with the
+  |x| extension, or when two \babel{} languages share the same BCP 47
+  tag. These issues will be sorted out in future releases.
+\end{note}
+
 \subsection{Creating a language}
 
 \New{3.10} And what if there is no style for your language or none fits
@@ -2741,7 +2769,6 @@ Remerber there is an alternative syntax for the latter:
 
 Finally, also remember you might not need to load |italian| at all if
 there are only a few word in this language (see~\ref{mostlymono}).
-
 \end{example}
 
 \Describe{script=}{\meta{script-name}}
@@ -2763,7 +2790,28 @@ See the next section.
 
 \Describe{Alph=}{\meta{counter-name}} Same for |\Alph|.
 
-\bigskip
+\Describe{casing}{\meta{rules}} \New{3.90} Selects the casing rules in a few
+languages. They are (from \textsf{interface3.pdf}):
+\begin{description}
+  \item[Armenian] |yiwn|, which maps U+0587 to capital ech and yiwn on
+    uppercasing.
+  \item[German] |eszett|, which maps the lowercase \textit{Eszett} to a
+  \textit{großes Eszett}.
+  \item[Greek] |iota|, which converts the \textit{ypogegrammeni} (subscript muted
+    iota) to capital iota when uppercasing.
+\end{description}
+
+\begin{example} For the latter:
+\begin{verbatim}
+\usepackage[greek]{babel}
+\babelprovide[_casing=iota_]{greek} 
+\end{verbatim}
+\end{example}
+
+\smallskip
+\makebox[\linewidth][c]{*\qquad*\qquad*}
+\smallskip
+
 
 A few options (only \luatex) set some properties of the writing system
 used by the language. These properties are \textit{always} applied to
@@ -5418,8 +5466,8 @@ wouldn’t exist.
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.89.17639>>
-%<<date=2023/06/25>>
+%<<version=3.90>>
+%<<date=2023/06/26>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -14470,7 +14518,7 @@ Babel.arabic.from = {}
 Babel.arabic.dest = {}
 Babel.arabic.justify_factor = 0.95
 Babel.arabic.justify_enabled = true
-Babel.arabic.tatwil_max = -1
+Babel.arabic.kashida_limit = -1
 
 function Babel.arabic.justify(head)
   if not Babel.arabic.justify_enabled then return head end
@@ -14599,12 +14647,12 @@ function Babel.arabic.justify_hlist(head, line, gc, size, pack)
 
     % Limit the number of tatweel by removing them. Not very efficient,
     % but it does the job in a quite predictable way.
-    if Babel.arabic.tatwil_max > -1 then
+    if Babel.arabic.kashida_limit > -1 then
       cnt = 0
       for n in node.traverse_id(GLYPH, line.head) do
         if n.char == 0x0640 then
           cnt = cnt + 1
-          if cnt > Babel.arabic.tatwil_max then
+          if cnt > Babel.arabic.kashida_limit then
             node.remove(line.head, n)
           end
         else
diff --git a/babel.ins b/babel.ins
index 6a33635..9aae84b 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{2023/06/25}
+\def\filedate{2023/06/26}
 \def\batchfile{babel.ins}
 \input docstrip.tex
 
diff --git a/babel.pdf b/babel.pdf
index 409bed8..1372db8 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 8c0440c..a755722 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2023/06/25 v3.89.17639]
+\ProvidesFile{bbcompat.dtx}[2023/06/26 v3.90]
 %</dtx>
 %
 %% File 'bbcompat.dtx'
diff --git a/locale/la/babel-classicallatin.tex b/locale/la/babel-classicallatin.tex
index f3df2a7..6efe099 100644
--- a/locale/la/babel-classicallatin.tex
+++ b/locale/la/babel-classicallatin.tex
@@ -18,4 +18,8 @@
   \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/locale/la/babel-la-x-classic.ini b/locale/la/babel-la-x-classic.ini
index dfb62a6..06a95c8 100644
--- a/locale/la/babel-la-x-classic.ini
+++ b/locale/la/babel-la-x-classic.ini
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2022-07-28
+version = 1.6
+date = 2023-06-25
 name.english = Classical Latin
 name.babel = classicallatin
 tag.bcp47 = la-x-classic
diff --git a/locale/la/babel-la-x-ecclesia.ini b/locale/la/babel-la-x-ecclesia.ini
index 7663ee4..9648951 100644
--- a/locale/la/babel-la-x-ecclesia.ini
+++ b/locale/la/babel-la-x-ecclesia.ini
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2022-07-28
+version = 1.6
+date = 2023-06-25
 name.english = Ecclesiastical Latin
 name.babel = ecclesiasticallatin
 tag.bcp47 = la-x-ecclesia
diff --git a/locale/la/babel-medievallatin.tex b/locale/la/babel-medievallatin.tex
index c1c47cc..62df5fc 100644
--- a/locale/la/babel-medievallatin.tex
+++ b/locale/la/babel-medievallatin.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





More information about the latex3-commits mailing list.