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