summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-04-27 13:33:33 +0000
committerKarl Berry <karl@freefriends.org>2021-04-27 13:33:33 +0000
commit59f44df29bcc61c07c569ff2a8fe6fae91cf1d73 (patch)
tree74b2371e75e8ffd19e9fbf5828677127d7ff3fe2 /Master/texmf-dist/tex/generic/babel/babel.def
parent6a6e0023683198607247630bb34b0cdb305c2916 (diff)
babel (26apr21)
git-svn-id: svn://tug.org/texlive/trunk@58999 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def62
1 files changed, 49 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 7c5ec15a9bc..44121348c6e 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -39,7 +39,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2021/04/07 3.57 Babel common definitions]
+\ProvidesFile{babel.def}[2021/04/26 3.58 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
% == Code for plain ==
\def\@empty{}
@@ -397,8 +397,8 @@
\fi
\countdef\last@language=19 % TODO. why? remove?
\def\addlanguage{\csname newlanguage\endcsname}
-\def\bbl@version{3.57}
-\def\bbl@date{2021/04/07}
+\def\bbl@version{3.58}
+\def\bbl@date{2021/04/26}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -406,8 +406,10 @@
\count@#1\relax
\def\bbl@elt##1##2##3##4{%
\ifnum\count@=##2\relax
- \bbl@info{\string#1 = using hyphenrules for ##1\\%
- (\string\language\the\count@)}%
+ \edef\bbl@tempa{\expandafter\@gobbletwo\string#1}%
+ \bbl@info{Hyphen rules for '\expandafter\@gobble\bbl@tempa'
+ set to \expandafter\string\csname l@##1\endcsname\\%
+ (\string\language\the\count@). Reported}%
\def\bbl@elt####1####2####3####4{}%
\fi}%
\bbl@cs{languages}%
@@ -686,14 +688,23 @@
\fi
\fi
\let\bbl@hymapsel\@cclv
- % hyphenation - select patterns
- \bbl@patterns{#1}%
- % hyphenation - allow stretching with babelnohyphens
- \ifnum\language=\l@babelnohyphens
+ % hyphenation - select rules
+ \ifnum\csname l@\languagename\endcsname=\l@unhyphenated
+ \edef\bbl@tempa{u}%
+ \else
+ \edef\bbl@tempa{\bbl@cl{lnbrk}}%
+ \fi
+ \bbl@xin@{/u}{/\bbl@tempa}%
+ \ifin@
+ % 'unhyphenated' = allow stretching
+ \language\l@unhyphenated
\babel@savevariable\emergencystretch
\emergencystretch\maxdimen
\babel@savevariable\hbadness
\hbadness\@M
+ \else
+ % other = select patterns
+ \bbl@patterns{#1}%
\fi
% hyphenation - mins
\babel@savevariable\lefthyphenmin
@@ -1458,10 +1469,13 @@
\newif\if@safe@actives
\@safe@activesfalse
\def\bbl@restore@actives{\if@safe@actives\@safe@activesfalse\fi}
+\chardef\bbl@activated\z@
\def\bbl@activate#1{%
+ \chardef\bbl@activated\@ne
\bbl@withactive{\expandafter\let\expandafter}#1%
\csname bbl@active@\string#1\endcsname}
\def\bbl@deactivate#1{%
+ \chardef\bbl@activated\tw@
\bbl@withactive{\expandafter\let\expandafter}#1%
\csname bbl@normal@\string#1\endcsname}
\def\bbl@firstcs#1#2{\csname#1\endcsname}
@@ -1580,12 +1594,25 @@
{\bbl@error
{I cannot switch `\string#2' on or off--not a shorthand}%
{This character is not a shorthand. Maybe you made\\%
- a typing mistake? I will ignore your instruction}}%
- {\ifcase#1%
+ a typing mistake? I will ignore your instruction.}}%
+ {\ifcase#1% off, on, off*
\catcode`#212\relax
\or
\catcode`#2\active
+ \bbl@ifunset{bbl@shdef@\string#2}%
+ {}%
+ {\bbl@withactive{\expandafter\let\expandafter}#2%
+ \csname bbl@shdef@\string#2\endcsname
+ \bbl@csarg\let{shdef@\string#2}\relax}%
+ \ifcase\bbl@activated\or
+ \bbl@activate{#2}%
+ \else
+ \bbl@deactivate{#2}%
+ \fi
\or
+ \bbl@ifunset{bbl@shdef@\string#2}%
+ {\bbl@withactive{\bbl@csarg\let{shdef@\string#2}}#2}%
+ {}%
\csname bbl@oricat@\string#2\endcsname
\csname bbl@oridef@\string#2\endcsname
\fi}%
@@ -2268,8 +2295,8 @@
\ifx\l@english\@undefined
\chardef\l@english\z@
\fi
-\ifx\l@babelnohyhens\@undefined
- \newlanguage\l@babelnohyphens
+\ifx\l@unhyphenated\@undefined
+ \newlanguage\l@unhyphenated
\fi
\bbl@trace{Bidi layout}
\providecommand\IfBabelLayout[3]{#3}%
@@ -2329,6 +2356,7 @@
\let\bbl@KVP@script\@nil
\let\bbl@KVP@language\@nil
\let\bbl@KVP@hyphenrules\@nil
+ \let\bbl@KVP@linebreaking\@nil
\let\bbl@KVP@mapfont\@nil
\let\bbl@KVP@maparabic\@nil
\let\bbl@KVP@mapdigits\@nil
@@ -3487,6 +3515,14 @@
\BabelEnsureInfo}
\@namedef{bbl@ADJ@bcp47.toname@off}{%
\bbl@bcptonamefalse}
+\@namedef{bbl@ADJ@prehyphenation.disable@nohyphenation}{%
+ \directlua{ Babel.ignore_pre_char = function(node)
+ return (node.lang == \the\csname l@nohyphenation\endcsname)
+ end }}
+\@namedef{bbl@ADJ@prehyphenation.disable@off}{%
+ \directlua{ Babel.ignore_pre_char = function(node)
+ return false
+ end }}
\ifx\directlua\@undefined\else
\ifx\bbl@luapatterns\@undefined
\input luababel.def