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