summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/babel/README28
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin394269 -> 391903 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx46
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins24
-rw-r--r--Master/texmf-dist/source/latex/babel/bbunicode.dtx130
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def11
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty6
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex2
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg10
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def115
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf4
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def8
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def2
15 files changed, 124 insertions, 266 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README b/Master/texmf-dist/doc/latex/babel/README
index 4c66f660335..4433730d54f 100644
--- a/Master/texmf-dist/doc/latex/babel/README
+++ b/Master/texmf-dist/doc/latex/babel/README
@@ -1,10 +1,11 @@
-Babel 3.9o
+Babel 3.9n
----------
-This is Babel 3.9o.
+**** Versions 3.9o and 3.9p are deprecated. There is a severe
+**** bug which will take longer than expected to fix, and
+**** therefore I decide to downgrade. 2016-02-09
-**** If you are upgrading to 3.9o and want to use luatex, ****
-**** you must rebuild the formats ****
+This is Babel 3.9n.
Version 3.9a fixed lots of bugs and added some new features, intended
mainly to make it compatible somehow with Unicode engines. Some bugs
@@ -21,11 +22,11 @@ about contributing a language.
To install it, just tex babel.ins and move the generated files to the
corresponding place in your TeX distribution. Unlike former releases,
formats must not be recreated, but it is recommended, at least the
-first time Babel is updated from 3.8 (or previous versions).
+first time Babel is updated from 3.8 (or previous versions).
Changes are described in babel.pdf with the label "New 3.9". The
-manual has been expanded to include some tips and tricks, but it will
-be improved in next releases.
+manual has been expanded to include tips and tricks, but it will be
+improved in next releases.
Please, report bugs and suggestions to:
@@ -33,7 +34,7 @@ http://latex-project.org/bugs-upload.html
You may also report them to the author more informally on:
-http://www.texnia.com/contact.html
+http://www.tex-tipografia.com/contact.html
Bugs related to specific languages are best reported to their
respective authors.
@@ -94,10 +95,10 @@ New
Now, babel sets it if fontspec is loaded.
- New package options 'nocase' (\SetCase is ignored) and 'silent'
- Improved compatibility (hopefully) with babelbib.
-3.9m - Fixed melayu name (from meyalu).
- - A few lines for \babelpatterns (only luatex, see below).
+3.9m - Fixed melayu name (from meyalu)
+ - A few lines for \babelpatterns (only luatex, see below)
3.9n - Just fixes a couple of minor bugs (related to 2.09 and ifthen).
-3.9o - Adapted to the forthcoming Unicode encoding.
+
* bbunicode.dtx
1.0b - Improvements by Elie Roux for LuaTeX.
@@ -105,10 +106,9 @@ New
1.0e - \babelpatterns, which adds patterns to a language.
- Use [[]] instead of \luaescapestring (the latter is not always
available).
-1.0f - Code for luatex assigned mistakenly to xetex.
-1.1a - Revamped hyphenation loader for luatex.
+1.0f - Code for luatex assigned mistakenly to xetex
------------
Javier Bezos
-2016-02-01
+2016-01-08
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 653e85c26d5..208141d56d5 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 bc8980420e8..4d8444ab9fe 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -36,7 +36,7 @@
%\iffalse
%% File 'babel.dtx'
%\fi
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%\iffalse
%
% Babel DOCUMENT-STYLE option for LaTeX version 2.09 or plain TeX;
@@ -196,8 +196,8 @@
\vspace{2cm}\hspace{1.5cm}
\begin{minipage}{5cm}
\Large
-Version 3.9o\newline
-2016/02/01
+Version 3.9n\newline
+2016/01/08
\vspace{1cm}
\textit{Original author}\newline
@@ -1313,7 +1313,6 @@ far from complete):
some languages (kerning and spacing). Ligatures can be disabled.
\item[substitutefont] Combines fonts in several encodings.
\item[mkpattern] Generates hyphenation patterns.
-\item[tracklang] Tracks which languages have been requested.
\end{description}
\subsection{Future work}
@@ -1367,30 +1366,17 @@ Note you can set any feature required for the language -- not only
|Language|, but also |Script| or a local |.fea|. This makes those macros
a bit more verbose, but also more powerful.
-\section{Loading languages with \file{language.dat}}
+\section{Preloading languages with \file{language.dat}}
\TeX{} and most engines based on it (pdf\TeX, \xetex, $\epsilon$-\TeX,
the main exception being \luatex) require hyphenation patterns to be
-preloaded when a format is created (eg, \LaTeX, Xe\LaTeX,
+loaded when a format is created (eg, \LaTeX, Xe\LaTeX,
pdf\LaTeX). \babel{} provides a tool which has become standand in many
distributions and based on a ``configuration file'' named
\file{language.dat}. The exact way this file is used depends on the
distribution, so please, read the documentation for the latter (note
also some distributions generate the file with some tool).
-\New{3.9o} With \luatex, however, patterns are loaded on the fly when
-requested by the language (except the ``0th'' language,
-\textsf{english}, which is preloaded always). Until 3.9n, this task
-was delegated to the package \textsf{luatex-hyphen}, by Khaled Hosny,
-\'Elie Roux, and Manuel P\'egouri\'e-Gonnard, and required an extra
-file named |language.dat.lua|, but now a new mechanism has been
-devised based solely on |language.dat|. \textbf{You must rebuild the
-formats} if upgrading from a previous version. You may want to have a
-local |language.dat| for a particular project (for example, a book on
-Chemistry).
-
-\subsection{Format}
-
In that file the person who maintains a \TeX\ environment has to record
for which languages he has hyphenation patterns \emph{and} in which
files these are stored\footnote{This is because different operating
@@ -1636,7 +1622,7 @@ explained in in sec. \ref{s:strings} (\babel{} 3.9 and later).
\begin{verbatim}
\ProvidesLanguage{<language>}
- [2016/02/01 v0.0 <Language> support from the babel system]
+ [2016/01/08 v0.0 <Language> support from the babel system]
\LdfInit{<language>}{captions<language>}
\ifx\undefined\l@<language>
@@ -2419,8 +2405,8 @@ help from Bernd Raichle, for which I am grateful.
% little bit of literate programming.
%
% \begin{macrocode}
-%<<version=3.9o>>
-%<<date=2016/02/01>>
+%<<version=3.9n>>
+%<<date=2016/01/08>>
% \end{macrocode}
%
% We define some basic macros which just make the code cleaner.
@@ -6639,17 +6625,11 @@ help from Bernd Raichle, for which I am grateful.
% \changes{babel~3.6u}{1999/04/20}{Moved this code to
% \file{babel.def}}
% \changes{babel~3.9l}{2014/08/02}{fontspec used to set
-% \cs{latinencoding} to EUx, but now it doesn't. So, it's done
-% here.}
-% \changes{babel~3.9o}{2016/01/27}{With fontspec, first check if
-% \cs{UTFencname} exists.}
+% \cs{latinencoding} to EUx, but now it doesn't. So, it's done here.}
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{fontspec}%
- {\xdef\latinencoding{%
- \@ifundefined{UTFencname}%
- {EU\ifcase\bbl@engine\or2\or1\fi}%
- {\UTFencname}}}%
+ {\xdef\latinencoding{EU\ifcase\bbl@engine\or2\or1\fi}}%
{\gdef\latinencoding{OT1}%
\ifx\cf@encoding\bbl@t@one
\xdef\latinencoding{\bbl@t@one}%
@@ -8290,14 +8270,11 @@ help from Bernd Raichle, for which I am grateful.
% \changes{babel~3.9g}{2013/07/28}{In non-LaTeX formats the number of
% languages were not printed. Moved from \cs{dump} and cleaned up:
% now \cs{toks}8 is expanded here.}
-% \changes{babel~3.9o}{2016/01/25}{The number of languages loaded was
-% off by 1.}
% \begin{macrocode}
\if/\the\toks@/\else
\errhelp{language.dat loads no language, only synonyms}
\errmessage{Orphan language synonym}
\fi
-\advance\last@language\@ne
\edef\bbl@tempa{%
\everyjob{%
\the\everyjob
@@ -8306,8 +8283,7 @@ help from Bernd Raichle, for which I am grateful.
\else
\noexpand\typeout
\fi
- {\the\toks8 \the\last@language\space language(s) loaded.}}}
-\advance\last@language\m@ne
+ {\the\toks8 \the\last@language\space languages loaded.}}}
\bbl@tempa
% \end{macrocode}
% Also remove some macros from memory and raise an error
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index bcf3855f0d4..ad476a6fa26 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/babel.ins
@@ -42,7 +42,7 @@
%%
%% You are not allowed to modify its contents.
%%
-\def\filedate{2016/02/01}
+\def\filedate{2014/03/24}
\def\batchfile{babel.ins}
\input docstrip.tex
@@ -62,15 +62,16 @@
\fi}
% Modify docstrip. A pseudo-guard is defined to set variables:
-% <<name=value>>. These variables are used with <@name@> Two further
-% pseudo-guards define "block" variables: <<*name>> and <</name>>
-% delimite the lines to be retrived with <@name@>. Note the verbatim
-% guard is overriden, but it's not used here. This is done in two
-% passes: 1) with saving true, there is a dummy pass, generating
-% nothing, but blocks are read and saved; 2) with saving false, blocks
-% are always ignored, but replacing <@name@>. While <@name@> can be
-% used freely outside <<>>, it's only allowed inside <<>> if
-% previouly defined. Deeper nesting is not allowed.
+% <<name=value>>. These variables are used with <@name@>
+% Two further pseudo-guards define "block" variables: <<*name>> and
+% <</name>> delimite the lines to be retrived with <@name@>. Note
+% the verbatim guard is overriden, which it's not used here.
+% It's done in two passes: 1) with saving true, blocks are always
+% read and saved; 2) with saving false, blocks are always ignored,
+% but replacing <@name@>.
+% While <@name@> can be used freely outside <<>>, it is only
+% allowed inside <<>> if previouly defined. Deeper nesting is
+% not allowed.
\def\replaceVar#1<@#2{%
#1%
@@ -190,6 +191,8 @@ This file is a style file for the MakeIndex program
\usedir{tex/generic/babel}
+\askforoverwritefalse
+
\usepreamble\mainpreamble
% Dummy, it just read "modules" to be used when generating
@@ -225,6 +228,7 @@ This file is a style file for the MakeIndex program
}
% compatibility files
+
\def\compatfile#1{\file{#1.sty}{\from{bbcompat.dtx}{#1}}}
\generate{%
diff --git a/Master/texmf-dist/source/latex/babel/bbunicode.dtx b/Master/texmf-dist/source/latex/babel/bbunicode.dtx
index e4365b9c1e6..02265c3108e 100644
--- a/Master/texmf-dist/source/latex/babel/bbunicode.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbunicode.dtx
@@ -31,12 +31,12 @@
% \iffalse
%<*dtx>
\ProvidesFile{bbunicode.dtx}
- [2016/02/01 v1.1a Babel hooks for Unicode engines]
+ [2016/01/05 v1.0f Babel hooks for Unicode engines]
%</dtx>
%
%% File `bbunicode.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 2103-2016
+%% Copyright (C) 2103-2014
%% by Javier Bezos
%
%<*filedriver>
@@ -179,15 +179,9 @@
% \end{macrocode}
% \subsection{LuaTeX}
%
-% The new loader for luatex is based solely on |language.dat|, which is
-% read on the fly. The code shouldn't be executed when the format is
-% build, so we check if |\bbl@get@enc| is defined. Then comes a
-% simplified version of the loader in |hyphen.cfg| (without the
-% hyphenmins stuff, which is under the direct control of \babel). A
-% language has been loaded if |bbl@hyphendata@<num>| exists. The names
-% |\l@<language>| are defined and take some value from the beginning
-% because all ldf files assume this for the corresponding language to be
-% considered valid. Of course, there is room for improvements.
+% This part relies on the |lua| stripts in \pkg{luatex-hyphen} by Khaled
+% Hosny, \'{E}lie Roux, and Manuel
+% P\'{e}gouri\'{e}-Gonnard. \'{E}lie also improved the code below.
% \changes{bbunicode~1.0b}{2013/04/22}{luatex-hyphen is loaded
% with require. Changes supplied by \'{E}lie Roux.}
% \changes{bbunicode~1.0c}{2014/03/10}{Defined hook for
@@ -199,81 +193,16 @@
% \cs{luaescapestring}}
% \changes{bbunicode~1.0e}{2015/07/26}{Added function addpatterns and
% modified the patterns hook.}
-% \changes{bbunicode~1.1a}{2016/01/26}{New hyphenation loader for luatex.}
%
% \begin{macrocode}
%<*luatex>
-\ifx\bbl@get@enc\@undefined
- \def\bbl@process@line#1#2 #3 #4 {%
- \ifx=#1%
- \bbl@process@synonym{#2}%
- \else
- \bbl@process@language{#1#2}{#3}{#4}%
- \fi
- \ignorespaces}
- \def\bbl@process@language#1#2#3{%
- \@ifundefined{l@#1}%
- {\expandafter\addlanguage\csname l@#1\endcsname
- \expandafter\language\csname l@#1\endcsname
- \let\bbl@elt\relax
- \edef\bbl@languages{%
- \bbl@languages\bbl@elt{#1}{\the\language}{#2}{#3}}}%
- {}}
- \def\bbl@process@synonym#1{%
- \@ifundefined{l@#1}%
- {\expandafter\chardef\csname l@#1\endcsname\last@language
- \let\bbl@elt\relax
- \edef\bbl@languages{%
- \bbl@languages\bbl@elt{#1}{\the\last@language}{}{}}}%
- {}}
- \ifnum\last@language>\z@
- \bbl@warning{Wrong or old hyphenation setup. Please, rebuild\\%
- the format. I'll try to fix it for this run.\\%
- Reported}%
- \def\bbl@elt#1#2#3#4{%
- \ifnum#2>\z@\else
- \noexpand\bbl@elt{#1}{#2}{#3}{#4}%
- \fi}%
- \edef\bbl@languages{\bbl@languages}%
- \fi
- \ifnum\l@english=\z@\else
- \bbl@warning{Wrong hyphenation setup. The 0th language must\\%
- be `english'. Reported}%
- \fi
- \@namedef{bbl@hyphendata@0}{{hyphen.tex}{}}%
- \openin1=language.dat
- \ifeof1
- \bbl@warning{I couldn't find language.dat. No additional\\%
- patterns loaded. Reported}%
- \else
- \loop
- \endlinechar\m@ne
- \read1 to \bbl@line
- \endlinechar`\^^M
- \if T\ifeof1F\fi T\relax
- \ifx\bbl@line\@empty\else
- \edef\bbl@line{\bbl@line\space\space\space}%
- \expandafter\bbl@process@line\bbl@line\relax
- \fi
- \repeat
- \fi
- \def\bbl@get@enc#1:#2:#3\@@@{\def\bbl@hyph@enc{#2}}
- \def\bbl@luapatterns#1#2{%
- \bbl@get@enc#1::\@@@
- \begingroup
- \input #1\relax
- \endgroup
- \def\bbl@tempa{#2}%
- \ifx\bbl@tempa\@empty\else
- \input #2\relax
- \fi}%
-\fi
\begingroup
\catcode`\%=12
\catcode`\'=12
\catcode`\"=12
\catcode`\:=12
\directlua{
+ require("luatex-hyphen")
Babel = {}
function Babel.bytes(line)
return line:gsub("(.)",
@@ -335,23 +264,12 @@
\luabbl@stop
\let\luabbl@stop\relax}
\AddBabelHook{luatex}{patterns}{%
- \@ifundefined{bbl@hyphendata@\the\language}%
- {\def\bbl@elt##1##2##3##4{%
- \def\bbl@tempa{##1}%
- \def\bbl@tempb{##3}%
- \ifx\bbl@tempb\@empty\else % if not synonymous
- \def\bbl@tempc{{##3}{##4}}%
- \fi
- \def\bbl@tempb{#2}% eg, spanish, dutch:OT1, etc.
- \ifx\bbl@tempa\bbl@tempb
- \bbl@csarg\edef{hyphendata@##2}{\bbl@tempc}%
- \fi}%
- \bbl@languages
- \@ifundefined{bbl@hyphendata@\the\language}%
- {\bbl@info{No hyphenation patterns were set for\\%
- language ‘#2’. Reported}}%
- {\expandafter\expandafter\expandafter\bbl@luapatterns
- \csname bbl@hyphendata@\the\language\endcsname}}{}%
+ \ifcsname lu@texhyphen@loaded@\the\language\endcsname \else
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \directlua{
+ luatexhyphen.loadlanguage([[\string#1]],
+ '\the\language')}%
+ \fi
\@ifundefined{bbl@patterns@}{}{%
\begingroup
\@expandtwoargs\in@{,\number\language,}{,\bbl@pttnlist}%
@@ -368,9 +286,29 @@
\xdef\bbl@pttnlist{\bbl@pttnlist\number\language,}%
\fi
\endgroup}}
+\AddBabelHook{luatex}{adddialect}{%
+ \ifx\directlua\relax\else
+ \directlua{
+ luatexhyphen.adddialect([[\string#1]],
+ [[\string#2]])
+ }%
+ \fi}
\AddBabelHook{luatex}{everylanguage}{%
- \def\process@language##1##2##3{%
- \def\process@line####1####2 ####3 ####4 {}}}
+ \directlua{
+ processnow = (tex.language == 0) or
+ (luatexhyphen.lookupname([[\string#1]]) == nil)}%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \fi}
+\AddBabelHook{luatex}{loadpatterns}{%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \input #1\relax
+ \fi}
+\AddBabelHook{luatex}{loadexceptions}{%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \input #1\relax
+ \fi
+ \directlua{processnow = nil}}
% \end{macrocode}
%
% \begin{macro}{\babelpatterns}
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 318457015d2..2841b87e0aa 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
@@ -56,7 +56,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2016/02/01 3.9o Babel common definitions]
+\ProvidesFile{babel.def}[2016/01/08 3.9n Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -67,7 +67,7 @@
\let\bbl@afterlang\relax
\let\bbl@language@opts\@empty
\fi
-\def\bbl@tempa{3.9o}%
+\def\bbl@tempa{3.9n}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi
@@ -1422,10 +1422,7 @@
\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}
\AtBeginDocument{%
\@ifpackageloaded{fontspec}%
- {\xdef\latinencoding{%
- \@ifundefined{UTFencname}%
- {EU\ifcase\bbl@engine\or2\or1\fi}%
- {\UTFencname}}}%
+ {\xdef\latinencoding{EU\ifcase\bbl@engine\or2\or1\fi}}%
{\gdef\latinencoding{OT1}%
\ifx\cf@encoding\bbl@t@one
\xdef\latinencoding{\bbl@t@one}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 7c02823b036..56092628c2a 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
@@ -48,10 +48,10 @@
%% by Javier Bezos
%% all rights reserved.
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2016/02/01 3.9o The Babel package]
+\ProvidesPackage{babel}[2016/01/08 3.9n The Babel package]
\@ifpackagewith{babel}{debug}
{\input switch.def\relax}
- {\def\bbl@tempa{3.9o}%
+ {\def\bbl@tempa{3.9n}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi}
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index c45e48d9886..7e5c1506863 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index b31c656e590..e36555f07ef 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 2da740373e9..3b11277b823 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2016/02/01 3.9o Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2016/01/08 3.9n Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
@@ -83,7 +83,7 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\toks8{Babel <3.9o> and hyphenation patterns for }%
+\toks8{Babel <3.9n> and hyphenation patterns for }%
\def\process@line#1#2 #3 #4 {%
\ifx=#1%
\process@synonym{#2}%
@@ -196,7 +196,6 @@
\errhelp{language.dat loads no language, only synonyms}
\errmessage{Orphan language synonym}
\fi
-\advance\last@language\@ne
\edef\bbl@tempa{%
\everyjob{%
\the\everyjob
@@ -205,8 +204,7 @@
\else
\noexpand\typeout
\fi
- {\the\toks8 \the\last@language\space language(s) loaded.}}}
-\advance\last@language\m@ne
+ {\the\toks8 \the\last@language\space languages loaded.}}}
\bbl@tempa
\let\bbl@line\@undefined
\let\process@line\@undefined
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 7829e7cd41c..3a3519c1989 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -39,79 +39,15 @@
%% extension .ins) which are part of the distribution.
%% File `bbunicode.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 2103-2016
+%% Copyright (C) 2103-2014
%% by Javier Bezos
-\ifx\bbl@get@enc\@undefined
- \def\bbl@process@line#1#2 #3 #4 {%
- \ifx=#1%
- \bbl@process@synonym{#2}%
- \else
- \bbl@process@language{#1#2}{#3}{#4}%
- \fi
- \ignorespaces}
- \def\bbl@process@language#1#2#3{%
- \@ifundefined{l@#1}%
- {\expandafter\addlanguage\csname l@#1\endcsname
- \expandafter\language\csname l@#1\endcsname
- \let\bbl@elt\relax
- \edef\bbl@languages{%
- \bbl@languages\bbl@elt{#1}{\the\language}{#2}{#3}}}%
- {}}
- \def\bbl@process@synonym#1{%
- \@ifundefined{l@#1}%
- {\expandafter\chardef\csname l@#1\endcsname\last@language
- \let\bbl@elt\relax
- \edef\bbl@languages{%
- \bbl@languages\bbl@elt{#1}{\the\last@language}{}{}}}%
- {}}
- \ifnum\last@language>\z@
- \bbl@warning{Wrong or old hyphenation setup. Please, rebuild\\%
- the format. I'll try to fix it for this run.\\%
- Reported}%
- \def\bbl@elt#1#2#3#4{%
- \ifnum#2>\z@\else
- \noexpand\bbl@elt{#1}{#2}{#3}{#4}%
- \fi}%
- \edef\bbl@languages{\bbl@languages}%
- \fi
- \ifnum\l@english=\z@\else
- \bbl@warning{Wrong hyphenation setup. The 0th language must\\%
- be `english'. Reported}%
- \fi
- \@namedef{bbl@hyphendata@0}{{hyphen.tex}{}}%
- \openin1=language.dat
- \ifeof1
- \bbl@warning{I couldn't find language.dat. No additional\\%
- patterns loaded. Reported}%
- \else
- \loop
- \endlinechar\m@ne
- \read1 to \bbl@line
- \endlinechar`\^^M
- \if T\ifeof1F\fi T\relax
- \ifx\bbl@line\@empty\else
- \edef\bbl@line{\bbl@line\space\space\space}%
- \expandafter\bbl@process@line\bbl@line\relax
- \fi
- \repeat
- \fi
- \def\bbl@get@enc#1:#2:#3\@@@{\def\bbl@hyph@enc{#2}}
- \def\bbl@luapatterns#1#2{%
- \bbl@get@enc#1::\@@@
- \begingroup
- \input #1\relax
- \endgroup
- \def\bbl@tempa{#2}%
- \ifx\bbl@tempa\@empty\else
- \input #2\relax
- \fi}%
-\fi
\begingroup
\catcode`\%=12
\catcode`\'=12
\catcode`\"=12
\catcode`\:=12
\directlua{
+ require("luatex-hyphen")
Babel = {}
function Babel.bytes(line)
return line:gsub("(.)",
@@ -173,23 +109,12 @@
\luabbl@stop
\let\luabbl@stop\relax}
\AddBabelHook{luatex}{patterns}{%
- \@ifundefined{bbl@hyphendata@\the\language}%
- {\def\bbl@elt##1##2##3##4{%
- \def\bbl@tempa{##1}%
- \def\bbl@tempb{##3}%
- \ifx\bbl@tempb\@empty\else % if not synonymous
- \def\bbl@tempc{{##3}{##4}}%
- \fi
- \def\bbl@tempb{#2}% eg, spanish, dutch:OT1, etc.
- \ifx\bbl@tempa\bbl@tempb
- \bbl@csarg\edef{hyphendata@##2}{\bbl@tempc}%
- \fi}%
- \bbl@languages
- \@ifundefined{bbl@hyphendata@\the\language}%
- {\bbl@info{No hyphenation patterns were set for\\%
- language ‘#2’. Reported}}%
- {\expandafter\expandafter\expandafter\bbl@luapatterns
- \csname bbl@hyphendata@\the\language\endcsname}}{}%
+ \ifcsname lu@texhyphen@loaded@\the\language\endcsname \else
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \directlua{
+ luatexhyphen.loadlanguage([[\string#1]],
+ '\the\language')}%
+ \fi
\@ifundefined{bbl@patterns@}{}{%
\begingroup
\@expandtwoargs\in@{,\number\language,}{,\bbl@pttnlist}%
@@ -206,9 +131,29 @@
\xdef\bbl@pttnlist{\bbl@pttnlist\number\language,}%
\fi
\endgroup}}
+\AddBabelHook{luatex}{adddialect}{%
+ \ifx\directlua\relax\else
+ \directlua{
+ luatexhyphen.adddialect([[\string#1]],
+ [[\string#2]])
+ }%
+ \fi}
\AddBabelHook{luatex}{everylanguage}{%
- \def\process@language##1##2##3{%
- \def\process@line####1####2 ####3 ####4 {}}}
+ \directlua{
+ processnow = (tex.language == 0) or
+ (luatexhyphen.lookupname([[\string#1]]) == nil)}%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
+ \fi}
+\AddBabelHook{luatex}{loadpatterns}{%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \input #1\relax
+ \fi}
+\AddBabelHook{luatex}{loadexceptions}{%
+ \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
+ \input #1\relax
+ \fi
+ \directlua{processnow = nil}}
\@onlypreamble\babelpatterns
\AtEndOfPackage{%
\newcommand\babelpatterns[2][\@empty]{%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 910a0595c45..cf3bd82b178 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
@@ -47,7 +47,7 @@
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
-\ProvidesLanguage{nil}[2016/02/01 3.9o Nil language]
+\ProvidesLanguage{nil}[2016/01/08 3.9n Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nohyphenation\@undefined
\@nopatterns{nil}
diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def
index 5ec8ed03339..7c98fade2c3 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 025bb0c5a7e..3f1af9a714a 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -38,7 +38,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/02/01 v3.9o The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2016/02/01 3.9o Babel switching mechanism]
+\ProvidesFile{switch.def}[2016/01/08 3.9n Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -73,8 +73,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.9o}
-\def\bbl@date{2016/02/01}
+\def\bbl@version{3.9n}
+\def\bbl@date{2016/01/08}
\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 747f5f90a2b..e15e701ac6d 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -39,7 +39,7 @@
%% extension .ins) which are part of the distribution.
%% File `bbunicode.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 2103-2016
+%% Copyright (C) 2103-2014
%% by Javier Bezos
\def\BabelStringsDefault{unicode}
\let\xebbl@stop\relax