[latex3-commits] [git/LaTeX3-latex3-babel] master: New linebreaking mode ‘unhyphenated’ (536f5b2)
Javier
email at dante.de
Sat Apr 17 16:05:23 CEST 2021
Repository : https://github.com/latex3/babel
On branch : master
Link : https://github.com/latex3/babel/commit/536f5b279e37e0925e8aa88ded9bd8ba360a7371
>---------------------------------------------------------------
commit 536f5b279e37e0925e8aa88ded9bd8ba360a7371
Author: Javier <email at localhost>
Date: Sat Apr 17 16:05:23 2021 +0200
New linebreaking mode ‘unhyphenated’
>---------------------------------------------------------------
536f5b279e37e0925e8aa88ded9bd8ba360a7371
README.md | 3 ++-
babel.dtx | 33 ++++++++++++++++++----------
babel.ins | 2 +-
babel.pdf | Bin 828827 -> 828809 bytes
bbcompat.dtx | 2 +-
locale/am/babel-am.ini | 6 ++---
locale/ar/babel-ar.ini | 1 +
locale/ml/babel-ml.ini | 4 +---
news-guides/news/whats-new-in-babel-3.58.md | 13 +++++++++++
9 files changed, 43 insertions(+), 21 deletions(-)
diff --git a/README.md b/README.md
index 5c8008c..bcd0cc7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## Babel 3.57.2341
+## Babel 3.57.2345
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -52,6 +52,7 @@ respective authors.
- oneletter.nobreak: Czech, Slovak
- hyphen.repeat: Czech, Polish, Portuguese, Slovak, Spanish
* 'prehyphenation' transforms are disabled in verbatim.
+ * New linebreaking mode ‘unhyphenated’.
* Fixes:
- \shorthandoff*{^} was not revertible (#126).
diff --git a/babel.dtx b/babel.dtx
index 185624c..02397f7 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -31,7 +31,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/04/13 v3.57.2341 The Babel package]
+\ProvidesFile{babel.dtx}[2021/04/17 v3.57.2345 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -3078,6 +3078,10 @@ Devanagari.}
\textit{mm}, \textit{nn}, \textit{pp}, \textit{rr}, \textit{ss},
\textit{tt} as \textit{bb-b}, \textit{dd-d}, etc.}
+\trans{Serbian}{transliteration.gajica}{(Note |serbian| with |ini|
+files refers to the Cyrillic script, which is here the target.) The
+standard system devised by Ljudevit Gaj.}
+
\vspace{2mm}\hrule\nobreak
\endgroup
@@ -4924,8 +4928,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.57.2341>>
-%<<date=2021/04/13>>
+%<<version=3.57.2345>>
+%<<date=2021/04/17>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -7119,7 +7123,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl at elt##1##2##3##4{%
\ifnum\count@=##2\relax
\bbl at info{\string#1 = using hyphenrules for ##1\\%
- (\string\language\the\count@)}%
+ (\string\language\the\count@). Reported}%
\def\bbl at elt####1####2####3####4{}%
\fi}%
\bbl at cs{languages}%
@@ -7611,14 +7615,18 @@ help from Bernd Raichle, for which I am grateful.
\fi
\fi
\let\bbl at hymapsel\@cclv
- % hyphenation - select patterns
- \bbl at patterns{#1}%
- % hyphenation - allow stretching with babelnohyphens
- \ifnum\language=\l at babelnohyphens
+ % hyphenation - select rules
+ \bbl at xin@{/u}{/\bbl at cl{lnbrk}}%
+ \ifin@
+ % 'unhyphenated' = allow stretching
+ \language\l at babelnohyphens
\babel at savevariable\emergencystretch
\emergencystretch\maxdimen
\babel at savevariable\hbadness
\hbadness\@M
+ \else
+ % other = select patterns
+ \bbl at patterns{#1}%
\fi
% hyphenation - mins
\babel at savevariable\lefthyphenmin
@@ -10734,6 +10742,7 @@ help from Bernd Raichle, for which I am grateful.
\let\bbl at KVP@script\@nil
\let\bbl at KVP@language\@nil
\let\bbl at KVP@hyphenrules\@nil
+ \let\bbl at KVP@linebreaking\@nil
\let\bbl at KVP@mapfont\@nil
\let\bbl at KVP@maparabic\@nil
\let\bbl at KVP@mapdigits\@nil
@@ -11134,7 +11143,7 @@ help from Bernd Raichle, for which I am grateful.
% Load the basic parameters (ids, typography, counters, and a few
% more), while captions and dates are left out. But it may happen some
% data has been loaded before automatically, so we first discard the
-% saved values.
+% saved values. (TODO. But preserving previous values would be useful.)
%
% \begin{macrocode}
\def\bbl at load@basic#1{%
@@ -12905,8 +12914,8 @@ help from Bernd Raichle, for which I am grateful.
\bbl at csarg\gdef{xeipn@\languagename}%
{\XeTeXlinebreakpenalty #1\relax}}
\def\bbl at provide@intraspace{%
- \bbl at xin@{\bbl at cl{lnbrk}}{s}%
- \ifin@\else\bbl at xin@{\bbl at cl{lnbrk}}{c}\fi
+ \bbl at xin@{/s}{/\bbl at cl{lnbrk}}%
+ \ifin@\else\bbl at xin@{/c}{/\bbl at cl{lnbrk}}\fi
\ifin@
\bbl at ifunset{bbl at intsp@\languagename}{}%
{\expandafter\ifx\csname bbl at intsp@\languagename\endcsname\@empty\else
@@ -13611,7 +13620,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl at provide@intraspace{%
\bbl at ifunset{bbl at intsp@\languagename}{}%
{\expandafter\ifx\csname bbl at intsp@\languagename\endcsname\@empty\else
- \bbl at xin@{\bbl at cl{lnbrk}}{c}%
+ \bbl at xin@{/c}{/\bbl at cl{lnbrk}}%
\ifin@ % cjk
\bbl at cjkintraspace
\directlua{
diff --git a/babel.ins b/babel.ins
index cf9fc7b..9bc98b1 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{2021/04/13}
+\def\filedate{2021/04/17}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/babel.pdf b/babel.pdf
index 26027a7..97b50e7 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 06e7ed6..065e2e2 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/04/13 v3.57.2341]
+\ProvidesFile{bbcompat.dtx}[2021/04/17 v3.57.2345]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/locale/am/babel-am.ini b/locale/am/babel-am.ini
index aba1d4d..25dc87a 100644
--- a/locale/am/babel-am.ini
+++ b/locale/am/babel-am.ini
@@ -149,8 +149,7 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
-; Modern practice. Use 'amharic' for the traditional one:
-hyphenrules = babelnohyphens
+hyphenrules = amharic
lefthyphenmin = 1
righthyphenmin = 1
hyphenchar =
@@ -160,7 +159,8 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
-linebreaking = s
+; Modern practice. Use s(ea) for the tradicional one.
+linebreaking = u
intraspace = 0 .1 0
; The syntax is liable to change in 'other' values
hyphenate.other.script = "1361 "1362 "1363 "1364 "1365 "1366 "1367 "1368
diff --git a/locale/ar/babel-ar.ini b/locale/ar/babel-ar.ini
index de5c72b..6ebd0bf 100644
--- a/locale/ar/babel-ar.ini
+++ b/locale/ar/babel-ar.ini
@@ -148,6 +148,7 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = u
[characters]
delimiters.quotes = ”“’‘
diff --git a/locale/ml/babel-ml.ini b/locale/ml/babel-ml.ini
index fedfd6e..2f1d33b 100644
--- a/locale/ml/babel-ml.ini
+++ b/locale/ml/babel-ml.ini
@@ -124,9 +124,6 @@ time.short = [h]:[mm] [a]
[typography]
frenchspacing = yes
hyphenrules = malayalam
-; Or else?:
-; linebreaking = s / e
-; hyphenrules = babelnohyphens
lefthyphenmin = 2
righthyphenmin = 2
hyphenchar =
@@ -136,6 +133,7 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
+linebreaking = u
; The syntax is liable to change in 'other' values
hyphenate.other.locale = "200C "200D
diff --git a/news-guides/news/whats-new-in-babel-3.58.md b/news-guides/news/whats-new-in-babel-3.58.md
index eb2625b..e3677e5 100644
--- a/news-guides/news/whats-new-in-babel-3.58.md
+++ b/news-guides/news/whats-new-in-babel-3.58.md
@@ -2,6 +2,19 @@
(Under development.)
+## New line breaking mode
+
+So far, `babel/lua` provided three linebreaking modes in the `ini`
+settings, for ‘hyphenated’ (the default), ‘CJK’ and ‘Southeast Asian’. A
+new mode has been added for ‘unhyphenated’ languages, like Arabic or
+Malayalam. It adjusts the paragraphs parameters to allow large spaces
+between words. Although for European standards the result may look odd,
+in some scripts this has been the customary practice. It works with
+`xetex`, too.
+
+So, currently there are two modes for scripts that separate words with
+spaces, and two modes for scripts with no word separator.
+
## Transforms added to `ini` files
**Czech, Polish, Portuguese, Slovak, Spanish** `hyphen.repeat` Explicit hyphens behave like `\babelhyphen{repeat}`.
More information about the latex3-commits
mailing list.