summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-10-15 22:02:11 +0000
committerKarl Berry <karl@freefriends.org>2019-10-15 22:02:11 +0000
commitf179cfe8b834f54150dcfb4a1eec882f36dd1136 (patch)
tree63a0020fb4ca833a2d06967ac9e0379beb42c3e9 /Master/texmf-dist/tex/generic/babel
parent4fca0de8cc619b33b6a1d40f927d983d76c38180 (diff)
babel (15oct19)
git-svn-id: svn://tug.org/texlive/trunk@52400 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua6
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua3
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua7
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def105
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty38
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg2
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def9
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def9
10 files changed, 117 insertions, 70 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
index a39c69bed77..67377b7517e 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua
@@ -171,7 +171,7 @@ function Babel.bidi(head, ispar)
if mir == 'rrr' or mir == 'lrr' or mir == 'rrl' or mir == 'rlr' then
for ch in node.traverse(node.next(last_lr)) do
if ch == item then break end
- if ch.id == node.id'glyph' then
+ if ch.id == node.id'glyph' and characters[ch.char] then
ch.char = characters[ch.char].m or ch.char
end
end
@@ -187,7 +187,9 @@ function Babel.bidi(head, ispar)
end
if last_lr and outer == 'r' then
for ch in node.traverse_id(node.id'glyph', node.next(last_lr)) do
- ch.char = characters[ch.char].m or ch.char
+ if characters[ch.char] then
+ ch.char = characters[ch.char].m or ch.char
+ end
end
end
if first_n then
diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
index d1fb3c00fce..f75a2ea9205 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
@@ -338,7 +338,8 @@ function Babel.bidi(head, ispar, hdir)
for r = first_on, q - 1 do
nodes[r][2] = temp
item = nodes[r][1] -- MIRRORING
- if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' then
+ if Babel.mirroring_enabled and item.id == GLYPH
+ and temp == 'r' and characters[item.char] then
item.char = characters[item.char].m or item.char
end
end
diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
index 584796078b1..41eddf3a116 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
@@ -36,19 +36,24 @@
Babel = Babel or {}
+-- TODO: merge ranges into characters, as meta index
+
Babel.ranges={
{0x0590, 0x05FF, 'r'},
{0x0600, 0x07BF, 'al'},
{0x07C0, 0x085F, 'r'},
{0x0860, 0x086F, 'al'},
{0x08A0, 0x08FF, 'al'},
+ {0xE000, 0xF8FF, 'on'}, -- PUA
{0xFB1D, 0xFB4F, 'r'},
{0xFB50, 0xFDFF, 'al'},
{0xFE70, 0xFEFF, 'al'},
{0x10800, 0x10C4F, 'r'},
{0x1E800, 0x1E8DF, 'r'},
{0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'}
+ {0x1F300, 0x1F9FF, 'on'},
+ {0xF0000, 0xFFFFD, 'on'}, -- PUA
+ {0x100000, 0x10FFFD, 'on'} -- PUA
}
Babel.characters={
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index d655e4faa53..5fe9abb09e7 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -41,7 +41,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2019/09/27 3.34 Babel common definitions]
+\ProvidesFile{babel.def}[2019/10/15 3.35 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -141,24 +141,26 @@
\bbl@tempa{ }
\long\def\bbl@trim@i#1\@nil#2\relax#3{#3{#1}}
\long\def\bbl@trim@def#1{\bbl@trim{\def#1}}
-\def\bbl@ifunset#1{%
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\bbl@ifunset{ifcsname}%
- {}%
- {\def\bbl@ifunset#1{%
- \ifcsname#1\endcsname
- \expandafter\ifx\csname#1\endcsname\relax
- \bbl@afterelse\expandafter\@firstoftwo
+\begingroup
+ \gdef\bbl@ifunset#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+ \bbl@ifunset{ifcsname}%
+ {}%
+ {\gdef\bbl@ifunset#1{%
+ \ifcsname#1\endcsname
+ \expandafter\ifx\csname#1\endcsname\relax
+ \bbl@afterelse\expandafter\@firstoftwo
+ \else
+ \bbl@afterfi\expandafter\@secondoftwo
+ \fi
\else
- \bbl@afterfi\expandafter\@secondoftwo
- \fi
- \else
- \expandafter\@firstoftwo
- \fi}}
+ \expandafter\@firstoftwo
+ \fi}}
+\endgroup
\def\bbl@ifblank#1{%
\bbl@ifblank@i#1\@nil\@nil\@secondoftwo\@firstoftwo\@nil}
\long\def\bbl@ifblank@i#1#2\@nil#3#4#5\@nil{#4}
@@ -567,16 +569,34 @@
\else
\bbl@afterfi\csname#1@sh@#2@sel\endcsname
\fi}
-\def\active@prefix#1{%
- \ifx\protect\@typeset@protect
- \else
- \ifx\protect\@unexpandable@protect
- \noexpand#1%
- \else
- \protect#1%
- \fi
- \expandafter\@gobble
- \fi}
+\begingroup
+\bbl@ifunset{ifincsname}%
+ {\gdef\active@prefix#1{%
+ \ifx\protect\@typeset@protect
+ \else
+ \ifx\protect\@unexpandable@protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\@gobble
+ \fi}}
+ {\gdef\active@prefix#1{%
+ \ifincsname
+ \string#1%
+ \expandafter\@gobble
+ \else
+ \ifx\protect\@typeset@protect
+ \else
+ \ifx\protect\@unexpandable@protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\expandafter\expandafter\@gobble
+ \fi
+ \fi}}
+\endgroup
\newif\if@safe@actives
\@safe@activesfalse
\def\bbl@restore@actives{\if@safe@actives\@safe@activesfalse\fi}
@@ -1371,7 +1391,13 @@
\let\bbl@KVP@mapdigits\@nil
\let\bbl@KVP@intraspace\@nil
\let\bbl@KVP@intrapenalty\@nil
- \bbl@forkv{#1}{\bbl@csarg\def{KVP@##1}{##2}}% TODO - error handling
+ \bbl@forkv{#1}{% TODO - error handling
+ \in@{/}{##1}%
+ \ifin@
+ \bbl@renewinikey##1\@@{##2}%
+ \else
+ \bbl@csarg\def{KVP@##1}{##2}%
+ \fi}%
\ifx\bbl@KVP@import\@nil\else
\bbl@exp{\\\bbl@ifblank{\bbl@KVP@import}}%
{\begingroup
@@ -1714,10 +1740,7 @@
% Move trims here ??
\bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}%
{\expandafter\bbl@inireader\bbl@tempa=##2\@@}%
- {\def\bbl@tempc{\expandafter\bbl@inireader\bbl@tempa=}%
- \expandafter\expandafter\expandafter
- \bbl@tempc\csname bbl@KVP@\bbl@section/\bbl@tempa\endcsname\@@}%
- \global\bbl@csarg\let{KVP@\bbl@section/\bbl@tempa}\relax}%
+ {}}%
\let\bbl@inireader\bbl@iniskip
\bbl@info{Importing data from babel-#1.ini for \languagename}%
\loop
@@ -1734,9 +1757,15 @@
\@ifnextchar[\bbl@inisec{\@ifnextchar;\bbl@iniskip\bbl@inipreread}#1\@@}% ]
\def\bbl@iniskip#1\@@{}% if starts with ;
\def\bbl@inisec[#1]#2\@@{% if starts with opening bracket
+ \def\bbl@elt##1##2{\bbl@inireader##1=##2\@@}%
+ \@nameuse{bbl@renew@\bbl@section}%
+ \global\bbl@csarg\let{renew@\bbl@section}\relax
\@nameuse{bbl@secpost@\bbl@section}% ends previous section
\def\bbl@section{#1}%
- \@nameuse{bbl@secpre@\bbl@section}% starts current section
+ \def\bbl@elt##1##2{%
+ \@namedef{bbl@KVP@#1/##1}{}}%
+ \@nameuse{bbl@renew@#1}%
+ \@nameuse{bbl@secpre@#1}% starts current section
\bbl@ifunset{bbl@inikv@#1}%
{\let\bbl@inireader\bbl@iniskip}%
{\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}}
@@ -1997,7 +2026,8 @@
\noexpand\babelsublr{\unexpanded\expandafter{\thepage}}}}%
\fi}
{\ifbbl@single\else
- \bbl@redefine\markright#1{%
+ \bbl@ifunset{markright }\bbl@redefine\bbl@redefinerobust
+ \markright#1{%
\bbl@ifblank{#1}%
{\org@markright{}}%
{\toks@{#1}%
@@ -2009,7 +2039,8 @@
\else
\def\bbl@tempc{}
\fi
- \bbl@redefine\markboth#1#2{%
+ \bbl@ifunset{markboth }\bbl@redefine\bbl@redefinerobust
+ \markboth#1#2{%
\protected@edef\bbl@tempb##1{%
\protect\foreignlanguage
{\languagename}{\protect\bbl@restore@actives##1}}%
@@ -2095,7 +2126,7 @@
}
\@onlypreamble\substitutefontfamily
\bbl@trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,PU,PD1}
\newcommand\BabelNonText{TS1,T3,TS3}
\let\org@TeX\TeX
\let\org@LaTeX\LaTeX
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index d4da81cfb83..53b77216948 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -33,7 +33,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2019/09/27 3.34 The Babel package]
+\ProvidesPackage{babel}[2019/10/15 3.35 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -91,24 +91,26 @@
\bbl@tempa{ }
\long\def\bbl@trim@i#1\@nil#2\relax#3{#3{#1}}
\long\def\bbl@trim@def#1{\bbl@trim{\def#1}}
-\def\bbl@ifunset#1{%
- \expandafter\ifx\csname#1\endcsname\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}
-\bbl@ifunset{ifcsname}%
- {}%
- {\def\bbl@ifunset#1{%
- \ifcsname#1\endcsname
- \expandafter\ifx\csname#1\endcsname\relax
- \bbl@afterelse\expandafter\@firstoftwo
+\begingroup
+ \gdef\bbl@ifunset#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+ \bbl@ifunset{ifcsname}%
+ {}%
+ {\gdef\bbl@ifunset#1{%
+ \ifcsname#1\endcsname
+ \expandafter\ifx\csname#1\endcsname\relax
+ \bbl@afterelse\expandafter\@firstoftwo
+ \else
+ \bbl@afterfi\expandafter\@secondoftwo
+ \fi
\else
- \bbl@afterfi\expandafter\@secondoftwo
- \fi
- \else
- \expandafter\@firstoftwo
- \fi}}
+ \expandafter\@firstoftwo
+ \fi}}
+\endgroup
\def\bbl@ifblank#1{%
\bbl@ifblank@i#1\@nil\@nil\@secondoftwo\@firstoftwo\@nil}
\long\def\bbl@ifblank@i#1#2\@nil#3#4#5\@nil{#4}
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 830f587b6fb..c8e9d9a1f14 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2019/09/27 3.34 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2019/10/15 3.35 Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 2508b19f91b..0e5b0b731e9 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -532,9 +532,12 @@
\bbl@warning{The current font is not a babel standard family:\\%
#1%
\fontname\font\\%
- There is nothing intrinsically wrong with it, but\\%
- 'babel' will no set Script and Language. Consider\\%
- defining a new family with \string\babelfont.\\%
+ There is nothing intrinsically wrong with this warning, and\\%
+ you can ignore it altogether if you do not need these\\%
+ families. But if they are used in the document, you should be\\%
+ aware 'babel' will no set Script and Language for them, so\\%
+ you may consider defining a new family with \string\babelfont.\\%
+ See the manual for further details about \string\babelfont.\\%
Reported}}
{}}%
\gdef\bbl@switchfont{%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 30e9ceb01eb..4c14ce974ae 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -32,7 +32,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2019/09/27 3.34 Nil language]
+\ProvidesLanguage{nil}[2019/10/15 3.35 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 9b43136cbbe..7bd71338472 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2019/09/27 3.34 Babel switching mechanism]
+\ProvidesFile{switch.def}[2019/10/15 3.35 Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -58,8 +58,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.34}
-\def\bbl@date{2019/09/27}
+\def\bbl@version{3.35}
+\def\bbl@date{2019/10/15}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index f3ab376c6f8..cadb25901c2 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -124,9 +124,12 @@
\bbl@warning{The current font is not a babel standard family:\\%
#1%
\fontname\font\\%
- There is nothing intrinsically wrong with it, but\\%
- 'babel' will no set Script and Language. Consider\\%
- defining a new family with \string\babelfont.\\%
+ There is nothing intrinsically wrong with this warning, and\\%
+ you can ignore it altogether if you do not need these\\%
+ families. But if they are used in the document, you should be\\%
+ aware 'babel' will no set Script and Language for them, so\\%
+ you may consider defining a new family with \string\babelfont.\\%
+ See the manual for further details about \string\babelfont.\\%
Reported}}
{}}%
\gdef\bbl@switchfont{%