summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-11-13 22:49:31 +0000
committerKarl Berry <karl@freefriends.org>2018-11-13 22:49:31 +0000
commita92860ca9d8aca00fe575cd4905ec943fde3fb4f (patch)
tree662dd50947b0af21b58aea0513c1cfb4db03fdfd /Master
parent6c23b6c5c4a8d7014a6dfd751bc1cab326902655 (diff)
babel (13nov18)
git-svn-id: svn://tug.org/texlive/trunk@49149 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md8
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin658874 -> 660189 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx134
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins113
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin704563 -> 708775 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def26
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty12
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg2
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/vi/babel-vi.ini9
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def8
12 files changed, 187 insertions, 129 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 3a191530b8d..0e99ab68450 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.26
+## Babel 3.27
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -51,6 +51,10 @@ respective authors.
### Latest changes
```
+3.27 - Preliminary support for bidi (by Vafa Khalighi) with xetex.
+ - Fix for 3.23 - \ensureascii was redefined even when not
+ necessary.
+ - Minor improvements in babel-vi.ini.
3.26 - Fix for 3.25 - \babelprovide raised an error with xetex.
3.25 - Fixes for 3.23 - mapfont=direction could raise an error.
Language and Script were not always defined correctly.
@@ -115,5 +119,5 @@ respective authors.
```
Javier Bezos
-2018/10/16
+2018/11/13
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index f624409eedc..bd66981e68d 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index ab5d8146295..73602cb01aa 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -31,7 +31,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2018/10/16 v3.26 The Babel package]
+\ProvidesFile{babel.dtx}[2018/11/13 v3.27 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -2307,12 +2307,12 @@ bug described in the previous paragraph.
If non-ASCII encodings are not loaded (or no encoding at all), it is
no-op (also |\TeX| and |\LaTeX| are not redefined); otherwise,
|\ensureascii| switches to the encoding at the beginning of the
-document if ASCII-savvy, or else the last ASCII-savvy encoding loaded.
-For example, if you load |LY1,LGR|, then it is set to |LY1|, but if you
-load |LY1,T2A| it is set to |T2A|. The symbol encodings |TS1|, |T3|,
-and |TS3| are not used for ``ordinary'' text, so they should be
-selected with some other encoding, but they are taken into account,
-just in case.
+document if ASCII-savvy, or else the last ASCII-savvy encoding
+loaded. For example, if you load |LY1,LGR|, then it is set to |LY1|,
+but if you load |LY1,T2A| it is set to |T2A|. The symbol encodings
+|TS1|, |T3|, and |TS3| are not taken into account, since they are not
+used for ``ordinary'' text (they are stored in |\BabelNonText|, used
+in some special cases when no Latin encoding is explicitly set).
The foregoing rules (which are applied ``at begin document'') cover
most of cases. No asumption is made on characters above
@@ -2339,7 +2339,7 @@ differ in the way `weak' numeric characters are ordered (eg, Arabic
elements, including the |picture| environment and PDF or PS based
graphics, are not yet correctly handled. Also, indexes and the like
are under study, as well as math.
-
+
An effort is being made to avoid incompatibilities in the future
(this one of the reason currently bidi must be explicitly requested
as a package option, with a certain bidi model, and also the |layout|
@@ -2910,12 +2910,42 @@ chapters), in Hungarian ``from (1)'' is ``(1)-b\H{o}l'', but ``from
\subsection{Tentative and experimental code}
+See the code section for |\foreignlanguage*| (a new starred
+version of |\foreignlanguage|).
+
+\medskip
\textbf{Southeast Asian interword spacing}
-There is some preliminary interword spacing for Thai, Lao and Khemer
-in \luatex{} (provided there are hyphenation patters). It is activated
-automatically if a language with of one of these scripts are loaded
-with |\babelprovide|. See the sample on the \babel{} repository.
+There is some preliminary interword spacing for Thai, Lao and Khemer in
+\luatex{} (provided there are hyphenation patters) and \xetex. It is
+activated automatically if a language with one of those scripts are
+loaded with |\babelprovide|. See the sample on the \babel{} repository.
+With both engines, interword spacing is based on the ``current'' em
+unit (the size of the previous char in \luatex{} and the font size set
+by the last |\selectfont| in \xetex).
+
+\medskip
+\textbf{Bidi writing} in \luatex{} is still under development, but the
+basic implementation is finished. On the other hand, in \xetex{} it is
+taking its first steps. The latter engine poses quite different
+challenges. An option to manage document layout in \luatex{} (lists,
+footnotes, etc.) is almost finished, but \xetex{} required more work.
+
+Unfortunately, proper support for \xetex{} requires patching somehow
+lots of macros and packages (and some issues related to |\special|s
+remain, like color and hyperlinks).
+
+\medskip
+\textbf{bidi=bidi}
+
+\New{3.27} This package option is a new experimental support for bidi
+writing with \xetex{} and the \textsf{bidi} package (by Vafa Khalighi).
+Currently, it just provides the basic direction switches with
+|\selectlanguage| and |\foreignlanguage|. Any help in making \babel{}
+and \textsf{bidi} collaborate will be welcome (although the underlying
+concepts in both packages seem very different).
+
+See the babel repository for a small example (|xe-bidi|).
\medskip
\textbf{Old stuff}
@@ -2940,19 +2970,6 @@ So, for example:
\babelFSfeatures{turkish}{Language=Turkish}
\end{verbatim}
-\medskip
-\textbf{Bidi writing} in \luatex{} is under development, but a basic
-implementation is almost finished. On the other hand, in \xetex{} it is
-taking its first steps. The latter engine poses quite different
-challenges. An option to manage document layout in \luatex{} (lists,
-footnotes, etc.) is almost finished, but \xetex{} required more work.
-
-See the code section for |\foreignlanguage*| (a new starred version of
-|\foreignlanguage|).
-
-\xetex{} relies on the font to properly handle these unmarked changes,
-so it is not under the control of \TeX.
-
\section{Loading languages with \file{language.dat}}
\TeX{} and most engines based on it (pdf\TeX, \xetex, $\epsilon$-\TeX,
@@ -3633,7 +3650,7 @@ set for Turkish:
\end{verbatim}
(Note the mapping for |OT1| is not complete.)
-\Describe\SetHyphenMap{\marg{to-lower-macros}}
+\Describe{\SetHyphenMap}{\marg{to-lower-macros}}
\New{3.9g} Case mapping serves in \TeX{} for two unrelated purposes: case
transforms (upper/lower) and hyphenation. |\SetCase| handles the
former, while hyphenation is handled by |\SetHyphenMap| and controlled
@@ -3776,7 +3793,7 @@ help from Bernd Raichle, for which I am grateful.
% \global\let\check@percent\saved@check@percent
%\endgroup
%
-% \part{The code}
+% \part{Source code}
%
% \babel{} is being developed incrementally, which means parts of the
% code are under development and therefore incomplete. Only documented
@@ -3857,8 +3874,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.26>>
-%<<date=2018/10/16>>
+%<<version=3.27>>
+%<<date=2018/11/13>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -8997,18 +9014,18 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\bbl@trace{Encoding and fonts}
-\newcommand\BabelNonASCII
- {LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,TS1,T3,TS3}
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonText{TS1,T3,TS3}
\let\org@TeX\TeX
\let\org@LaTeX\LaTeX
\let\ensureascii\@firstofone
\AtBeginDocument{%
\in@false
- \bbl@foreach\BabelNonASCII{% is there a non-ascii enc?
+ \bbl@foreach\BabelNonASCII{% is there a text non-ascii enc?
\ifin@\else
\lowercase{\bbl@xin@{,#1enc.def,}{,\@filelist,}}%
\fi}%
- \ifin@ % if a non-ascii has been loaded
+ \ifin@ % if a text non-ascii has been loaded
\def\ensureascii#1{{\fontencoding{OT1}\selectfont#1}}%
\DeclareTextCommandDefault{\TeX}{\org@TeX}%
\DeclareTextCommandDefault{\LaTeX}{\org@LaTeX}%
@@ -9017,7 +9034,7 @@ help from Bernd Raichle, for which I am grateful.
\ifx\@empty#2\else
\bbl@ifunset{T@#1}%
{}%
- {\bbl@xin@{,#1,}{,\BabelNonASCII,}%
+ {\bbl@xin@{,#1,}{,\BabelNonASCII,\BabelNonText,}%
\ifin@
\DeclareTextCommand{\TeX}{#1}{\ensureascii{\org@TeX}}%
\DeclareTextCommand{\LaTeX}{#1}{\ensureascii{\org@LaTeX}}%
@@ -9026,7 +9043,7 @@ help from Bernd Raichle, for which I am grateful.
\fi}%
\fi}%
\bbl@foreach\@filelist{\bbl@tempb#1\@@}% TODO - \@@ de mas??
- \bbl@xin@{,\cf@encoding,}{,\BabelNonASCII,}%
+ \bbl@xin@{,\cf@encoding,}{,\BabelNonASCII,\BabelNonText,}%
\ifin@\else
\edef\ensureascii#1{{%
\noexpand\fontencoding{\cf@encoding}\noexpand\selectfont#1}}%
@@ -9284,6 +9301,18 @@ help from Bernd Raichle, for which I am grateful.
\newtoks\everypar
\everypar=\bbl@severypar
\bbl@severypar{\bbl@xeeverypar\the\everypar}}
+ \@ifpackagewith{babel}{bidi=bidi}%
+ {\let\bbl@textdir@i\@gobbletwo
+ \let\bbl@xebidipar\@empty
+ \AddBabelHook{bidi}{foreign}{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \ifcase\bbl@thetextdir
+ \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
+ \else
+ \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
+ \fi}
+ \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}}
+ {}%
\fi
% \end{macrocode}
%
@@ -10214,7 +10243,7 @@ help from Bernd Raichle, for which I am grateful.
\def\bbl@tentative{\protect\bbl@tentative@i}
\def\bbl@tentative@i#1{%
\bbl@warning{%
- Some functions in '#1' are tentative.\\%
+ Some functions for '#1' are tentative.\\%
They might not work as expected and their behavior\\%
could change in the future.\\%
Reported}}
@@ -10687,6 +10716,16 @@ help from Bernd Raichle, for which I am grateful.
\AtEndOfPackage{%
\EnableBabelHook{babel-bidi}%
\bbl@xebidipar}}
+ \DeclareOption{bidi=bidi}%
+ {\bbl@tentative{bidi=bidi}%
+ \ifx\RTLfootnotetext\@undefined
+ \AtEndOfPackage{%
+ \EnableBabelHook{babel-bidi}%
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}% bidi needs fontspec
+ \fi
+ \usepackage{bidi}}%
+ \fi}
\fi
\DeclareOption{bidi=default}%
{\let\bbl@beforeforeign\leavevmode
@@ -11032,16 +11071,9 @@ help from Bernd Raichle, for which I am grateful.
%
% \textit{In progress.}
%
-% Unfortunately, proper support for \xetex{} requires patching somehow
-% lots of macros and packages (and some issues related to |\special|s
-% remain, like color and hyperlinks). At least at this stage, \babel{}
-% will not do it and therefore a package like \textsf{bidi} (by Vafa
-% Khalighi) would be necessary to overcome the limitations of
-% \xetex. Any help in making \babel{} and \textsf{bidi} collaborate
-% will be welcome, although the underlying concepts in both packages
-% seem very different. Note also elements like headlines and margins
-% can be modified easily with packages like \textsf{fancyhdr},
-% \textsf{typearea} or \textsf{titleps}, and \textsf{geometry}.
+% Note elements like headlines and margins can be modified easily with
+% packages like \textsf{fancyhdr}, \textsf{typearea} or
+% \textsf{titleps}, and \textsf{geometry}.
%
% |\bbl@startskip| and |\bbl@endskip| are available to package
% authors. Thanks to the \TeX{} expansion mechanism the following
@@ -11581,7 +11613,7 @@ help from Bernd Raichle, for which I am grateful.
% \end{macrocode}
% \end{macro}
%
-% \section{Southeast Asian scripts}
+% \subsection{Southeast Asian scripts}
%
% \changes{babel~3.24}{2018/09/24}{Lua code for interword spacing
% in Southeast Asian scripts.}
@@ -11591,8 +11623,8 @@ help from Bernd Raichle, for which I am grateful.
% sense, because the hyphen and the previous char go always together).
% Other discretionaries are not touched.
%
-% For the moment, only 3 SA languages are
-% activated by default (see Unicode UAX 14).
+% For the moment, only 3 SA languages are activated by default (see
+% Unicode UAX 14).
%
% \begin{macrocode}
\def\bbl@intraspace#1 #2 #3\@@{%
@@ -11822,7 +11854,7 @@ help from Bernd Raichle, for which I am grateful.
%</luatex>
% \end{macrocode}
%
-% \subsection{Auto bidi with \texttt{basic-r}}
+% \subsection{Auto bidi with \texttt{basic} and \texttt{basic-r}}
%
% \changes{3.14}{2017/09/30}{LuaTeX - support for R/AL texts - basic-r}
%
@@ -18591,7 +18623,7 @@ function Babel.bidi(head, ispar, hdir)
end
end
-
+
return node.prev(head) or head
end
%</basic>
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index aefa4079493..21726acdb0d 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/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{2018/10/16}
+\def\filedate{2018/11/13}
\def\batchfile{babel.ins}
\input docstrip.tex
@@ -150,65 +150,64 @@
\def\compatfile#1{\file{#1.sty}{\from{bbcompat.dtx}{styfile,#1}}}
\generate{%
- \compatfile{esperanto}
- \compatfile{afrikaans}
- \compatfile{dutch}
- \compatfile{american}
- \compatfile{british}
- \compatfile{english}
- \compatfile{UKenglish}
- \compatfile{USenglish}
- \compatfile{germanb}
- \compatfile{austrian}
- \compatfile{ngermanb}
- \compatfile{naustrian}
- \compatfile{irish}
- \compatfile{scottish}
- \compatfile{welsh}
- \compatfile{breton}
- }
+ \compatfile{esperanto}
+ \compatfile{afrikaans}
+ \compatfile{dutch}
+ \compatfile{american}
+ \compatfile{british}
+ \compatfile{english}
+ \compatfile{UKenglish}
+ \compatfile{USenglish}
+ \compatfile{germanb}
+ \compatfile{austrian}
+ \compatfile{ngermanb}
+ \compatfile{naustrian}
+ \compatfile{irish}
+ \compatfile{scottish}
+ \compatfile{welsh}
+ \compatfile{breton}
+ }
\generate{%
- \compatfile{francais}
- \compatfile{italian}
- \compatfile{portuges}
- \compatfile{spanish}
- \compatfile{catalan}
- \compatfile{galician}
- \compatfile{danish}
- \compatfile{norsk}
- \compatfile{swedish}
- \compatfile{finnish}
- \compatfile{magyar}
- \compatfile{greek}
- \compatfile{croatian}
- \compatfile{czech}
- \compatfile{slovak}
- \compatfile{polish}
- }
+ \compatfile{francais}
+ \compatfile{italian}
+ \compatfile{portuges}
+ \compatfile{spanish}
+ \compatfile{catalan}
+ \compatfile{galician}
+ \compatfile{danish}
+ \compatfile{norsk}
+ \compatfile{swedish}
+ \compatfile{finnish}
+ \compatfile{magyar}
+ \compatfile{greek}
+ \compatfile{croatian}
+ \compatfile{czech}
+ \compatfile{slovak}
+ \compatfile{polish}
+ }
\generate{%
- \compatfile{estonian}
- \compatfile{romanian}
- \compatfile{slovene}
- \compatfile{russianb}
- \compatfile{ukraineb}
- \compatfile{turkish}
- \compatfile{lsorbian}
- \compatfile{usorbian}
- \compatfile{bahasa}
- \compatfile{hebrew}
- %\compatfile{sanskrit}
- \compatfile{basque}
- \compatfile{latin}
- \compatfile{icelandic}
- \compatfile{serbian}
- \compatfile{bulgarian}
- }
+ \compatfile{estonian}
+ \compatfile{romanian}
+ \compatfile{slovene}
+ \compatfile{russianb}
+ \compatfile{ukraineb}
+ \compatfile{turkish}
+ \compatfile{lsorbian}
+ \compatfile{usorbian}
+ \compatfile{bahasa}
+ \compatfile{hebrew}
+ \compatfile{basque}
+ \compatfile{latin}
+ \compatfile{icelandic}
+ \compatfile{serbian}
+ \compatfile{bulgarian}
+ }
\generate{%
- \compatfile{samin}
- \compatfile{interlingua}
- \compatfile{albanian}
- \compatfile{bahasam}
- }
+ \compatfile{samin}
+ \compatfile{interlingua}
+ \compatfile{albanian}
+ \compatfile{bahasam}
+ }
% MakeIndex style files
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index c25a6ea7de7..4744d1b825a 100644
--- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2018/10/16 v3.26]
+\ProvidesFile{bbcompat.dtx}[2018/11/13 v3.27]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index 3dc2df365cd..2c6a66a2bb2 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 5fc96c3a2b1..5d2db7261f2 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}[2018/10/16 3.26 Babel common definitions]
+\ProvidesFile{babel.def}[2018/11/13 3.27 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -1944,18 +1944,18 @@
}
\@onlypreamble\substitutefontfamily
\bbl@trace{Encoding and fonts}
-\newcommand\BabelNonASCII
- {LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,TS1,T3,TS3}
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonText{TS1,T3,TS3}
\let\org@TeX\TeX
\let\org@LaTeX\LaTeX
\let\ensureascii\@firstofone
\AtBeginDocument{%
\in@false
- \bbl@foreach\BabelNonASCII{% is there a non-ascii enc?
+ \bbl@foreach\BabelNonASCII{% is there a text non-ascii enc?
\ifin@\else
\lowercase{\bbl@xin@{,#1enc.def,}{,\@filelist,}}%
\fi}%
- \ifin@ % if a non-ascii has been loaded
+ \ifin@ % if a text non-ascii has been loaded
\def\ensureascii#1{{\fontencoding{OT1}\selectfont#1}}%
\DeclareTextCommandDefault{\TeX}{\org@TeX}%
\DeclareTextCommandDefault{\LaTeX}{\org@LaTeX}%
@@ -1964,7 +1964,7 @@
\ifx\@empty#2\else
\bbl@ifunset{T@#1}%
{}%
- {\bbl@xin@{,#1,}{,\BabelNonASCII,}%
+ {\bbl@xin@{,#1,}{,\BabelNonASCII,\BabelNonText,}%
\ifin@
\DeclareTextCommand{\TeX}{#1}{\ensureascii{\org@TeX}}%
\DeclareTextCommand{\LaTeX}{#1}{\ensureascii{\org@LaTeX}}%
@@ -1973,7 +1973,7 @@
\fi}%
\fi}%
\bbl@foreach\@filelist{\bbl@tempb#1\@@}% TODO - \@@ de mas??
- \bbl@xin@{,\cf@encoding,}{,\BabelNonASCII,}%
+ \bbl@xin@{,\cf@encoding,}{,\BabelNonASCII,\BabelNonText,}%
\ifin@\else
\edef\ensureascii#1{{%
\noexpand\fontencoding{\cf@encoding}\noexpand\selectfont#1}}%
@@ -2120,6 +2120,18 @@
\newtoks\everypar
\everypar=\bbl@severypar
\bbl@severypar{\bbl@xeeverypar\the\everypar}}
+ \@ifpackagewith{babel}{bidi=bidi}%
+ {\let\bbl@textdir@i\@gobbletwo
+ \let\bbl@xebidipar\@empty
+ \AddBabelHook{bidi}{foreign}{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \ifcase\bbl@thetextdir
+ \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
+ \else
+ \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
+ \fi}
+ \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}}
+ {}%
\fi
\DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}}
\bbl@trace{Local Language Configuration}
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 93026515a73..c0b470c1ed2 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}[2018/10/16 3.26 The Babel package]
+\ProvidesPackage{babel}[2018/11/13 3.27 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
@@ -291,6 +291,16 @@
\AtEndOfPackage{%
\EnableBabelHook{babel-bidi}%
\bbl@xebidipar}}
+ \DeclareOption{bidi=bidi}%
+ {\bbl@tentative{bidi=bidi}%
+ \ifx\RTLfootnotetext\@undefined
+ \AtEndOfPackage{%
+ \EnableBabelHook{babel-bidi}%
+ \ifx\fontspec\@undefined
+ \usepackage{fontspec}% bidi needs fontspec
+ \fi
+ \usepackage{bidi}}%
+ \fi}
\fi
\DeclareOption{bidi=default}%
{\let\bbl@beforeforeign\leavevmode
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index c6c8b671b11..f537754e5de 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}[2018/10/16 3.26 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2018/11/13 3.27 Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
diff --git a/Master/texmf-dist/tex/generic/babel/locale/vi/babel-vi.ini b/Master/texmf-dist/tex/generic/babel/locale/vi/babel-vi.ini
index 21f6cbb5d81..396a9c7a731 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/vi/babel-vi.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/vi/babel-vi.ini
@@ -8,11 +8,12 @@
; * Common Locale Data Repository (license Unicode):
; http://cldr.unicode.org/
; http://unicode.org/copyright.html
+; With suggestions by Reinhard Kotucha
[identification]
charset = utf8
-version = 1.0
-date = 2017-09-01
+version = 1.1
+date = 2018-11-12
name.local = Tiếng Việt
name.english = Vietnamese
name.babel = vietnamese
@@ -23,7 +24,7 @@ script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
-encodings = T1 OT1 LY1
+encodings = T5
derivate = no
[captions]
@@ -147,7 +148,7 @@ time.short = [HH]:[mm]
[typography]
frenchspacing = yes
-hyphenrules = vietnam
+hyphenrules =
lefthyphenmin = 2
righthyphenmin = 3
hyphenchar =
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 48f3b6d27ee..7ef76efb096 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}[2018/10/16 3.26 Nil language]
+\ProvidesLanguage{nil}[2018/11/13 3.27 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nohyphenation\@undefined
\@nopatterns{nil}
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 0d9ced0dfc7..486e4da6b14 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}[2018/10/16 3.26 Babel switching mechanism]
+\ProvidesFile{switch.def}[2018/11/13 3.27 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.26}
-\def\bbl@date{2018/10/16}
+\def\bbl@version{3.27}
+\def\bbl@date{2018/11/13}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -397,7 +397,7 @@
\def\bbl@tentative{\protect\bbl@tentative@i}
\def\bbl@tentative@i#1{%
\bbl@warning{%
- Some functions in '#1' are tentative.\\%
+ Some functions for '#1' are tentative.\\%
They might not work as expected and their behavior\\%
could change in the future.\\%
Reported}}