summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-03-15 21:45:45 +0000
committerKarl Berry <karl@freefriends.org>2014-03-15 21:45:45 +0000
commit29f6ddaf933330468b53bbefab9469f0f893c976 (patch)
tree2aa536ced25a2d7a12a63066a2664b7ac376219e /Master/texmf-dist/tex/generic/babel
parentcf43dfcdd77a7d15418368470b7a497e036302c6 (diff)
babel (15mar14)
git-svn-id: svn://tug.org/texlive/trunk@33185 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def204
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty22
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex6
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex6
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg10
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def47
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf8
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def13
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def31
10 files changed, 286 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 23c13db2653..d21eae211a7 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -56,15 +56,31 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2013/12/03 3.9h Babel common definitions]
+\ProvidesFile{babel.def}[2014/03/15 3.9i Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
-\def\bbl@tempa{3.9h}%
+\def\bbl@tempa{3.9i}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi
-\def\bbl@for#1#2#3{\@for#1:=#2\do{\ifx#1\@empty\else#3\fi}}
+\ifx\bbl@languages\@undefined
+ \openin1 = language.def
+ \ifeof1
+ \closein1
+ \message{I couldn't find the file language.def}
+ \else
+ \closein1
+ \def\addlanguage#1#2#3#4#5{%
+ \expandafter\ifx\csname lang@#1\endcsname\relax\else
+ \global\expandafter\let\csname l@#1\expandafter\endcsname
+ \csname lang@#1\endcsname
+ \fi}%
+ \input language.def
+ \fi
+ \chardef\l@english\lang@USenglish
+\fi
+\def\bbl@for#1#2#3{\bbl@loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
\def\bbl@add#1#2{%
\@ifundefined{\expandafter\@gobble\string#1}%
{\def#1{#2}}%
@@ -72,6 +88,12 @@
\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
\long\def\bbl@afterfi#1\fi{\fi#1}
+\def\bbl@loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
+\def\bbl@loopx#1#2{\expandafter\bbl@loop\expandafter#1\expandafter{#2}}
+\def\bbl@@loop#1#2#3,{%
+ \ifx\@nnil#3\relax\else
+ \def#1{#3}#2\bbl@afterfi\bbl@@loop#1{#2}%
+ \fi}
\ifx\bbl@opt@strings\@undefined
\def\bbl@opt@safe{BR}
\let\bbl@opt@strings\@nnil
@@ -79,6 +101,7 @@
\fi
\ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
\ifx\bbl@afterlang\@undefined\let\bbl@afterlang\relax\fi
+\ifx\bbl@language@opts\@undefined\let\bbl@language@opts\@empty\fi
\providecommand\AfterBabelLanguage[2]{}
\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
\chardef\bbl@engine=%
@@ -119,6 +142,41 @@
\fi
\expandafter\def\csname\bbl@tempa\space\endcsname}
\@onlypreamble\bbl@redefinerobust
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,}
+\let\org@TeX\TeX
+\let\org@LaTeX\LaTeX
+\let\ensureascii\@firstofone
+\AtBeginDocument{%
+ \in@false
+ \bbl@loopx\bbl@tempa\BabelNonASCII{% is there a non-ascii enc?
+ \ifin@\else
+ \edef\bbl@tempb{{,\bbl@tempa enc.def,}{,\@filelist,}}%
+ \lowercase\expandafter{\expandafter\in@\bbl@tempb}%
+ \fi}
+ \ifin@ % if a non-ascii has been loaded
+ \def\ensureascii#1{{\fontencoding{OT1}\selectfont#1}}%
+ \DeclareTextCommandDefault{\TeX}{\org@TeX}%
+ \DeclareTextCommandDefault{\LaTeX}{\org@LaTeX}%
+ \def\bbl@tempb#1\@@{\uppercase{\bbl@tempc#1}ENC.DEF\@empty\@@}%
+ \def\bbl@tempc#1ENC.DEF#2\@@{%
+ \ifx\@empty#2\else
+ \@ifundefined{T@#1}%
+ {}%
+ {\@expandtwoargs\in@{,#1,}{,\BabelNonASCII,}%
+ \ifin@
+ \DeclareTextCommand{\TeX}{#1}{\ensureascii{\org@TeX}}%
+ \DeclareTextCommand{\LaTeX}{#1}{\ensureascii{\org@LaTeX}}%
+ \else
+ \def\ensureascii##1{{\fontencoding{#1}\selectfont##1}}%
+ \fi}%
+ \fi}%
+ \bbl@loopx\bbl@tempa\@filelist{\expandafter\bbl@tempb\bbl@tempa\@@}%
+ \@expandtwoargs\in@{,\cf@encoding,}{,\BabelNonASCII,}%
+ \ifin@\else
+ \edef\ensureascii#1{{%
+ \noexpand\fontencoding{\cf@encoding}\noexpand\selectfont#1}}%
+ \fi
+ \fi}
\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}
\AtBeginDocument{%
\gdef\latinencoding{OT1}%
@@ -136,6 +194,60 @@
\else
\DeclareTextFontCommand{\textlatin}{\latintext}
\fi
+\newcommand\babelensure[2][]{%
+ \AddBabelHook{babel-ensure}{afterextras}{%
+ \ifcase\bbl@select@type
+ \@nameuse{bbl@e@\languagename}%
+ \fi}
+ \begingroup
+ \let\bbl@ens@include\@empty
+ \let\bbl@ens@exclude\@empty
+ \def\bbl@ens@fontenc{\relax}%
+ \def\bbl@tempb##1{%
+ \ifx\@empty##1\else\noexpand##1\expandafter\bbl@tempb\fi}%
+ \edef\bbl@tempa{\bbl@tempb#1\@empty}%
+ \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ens@##1}{##2}}%
+ \bbl@for\bbl@tempa\bbl@tempa{\expandafter\bbl@tempb\bbl@tempa\@@}%
+ \def\bbl@tempc{\bbl@ensure}
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@include}}%
+ \expandafter\bbl@add\expandafter\bbl@tempc\expandafter{%
+ \expandafter{\bbl@ens@exclude}}%
+ \toks@\expandafter{\bbl@tempc}%
+ \edef\x{%
+ \endgroup
+ \noexpand\@namedef{bbl@e@#2}{\the\toks@{\bbl@ens@fontenc}}}
+ \x}
+\def\bbl@ensure#1#2#3{%
+ \def\bbl@tempb##1{%
+ \ifx##1\@empty\else
+ \in@{##1}{#2}%
+ \ifin@\else
+ \toks@\expandafter{##1}%
+ \edef##1{%
+ \noexpand\foreignlanguage{\languagename}%
+ {\ifx\relax#3\else
+ \noexpand\fontencoding{#3}\noexpand\selectfont
+ \fi
+ \the\toks@}}%
+ \fi
+ \expandafter\bbl@tempb
+ \fi}%
+ \expandafter\bbl@tempb\bbl@ensured\@empty
+ \def\bbl@tempa##1{%
+ \ifx##1\@empty\else
+ \expandafter\in@\expandafter\foreignlanguage\expandafter{##1}%
+ \ifin@\else
+ \bbl@tempb##1\@empty
+ \fi
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa#1\@empty}
+\def\bbl@ensured{%
+ \prefacename\refname\abstractname\bibname\chaptername\appendixname
+ \contentsname\listfigurename\listtablename\indexname\figurename
+ \tablename\partname\enclname\ccname\headtoname\pagename\seename
+ \alsoname\proofname\glossaryname\today}
\def\LdfInit#1#2{%
\chardef\atcatcode=\catcode`\@
\catcode`\@=11\relax
@@ -269,9 +381,11 @@
\expandafter\noexpand\csname normal@char#2\endcsname
\noexpand\else
\noexpand\expandafter
- \expandafter\noexpand\csname user@active#2\endcsname
+ \expandafter\noexpand\csname bbl@doactive#2\endcsname
\noexpand\fi}%
{\expandafter\noexpand\csname normal@char#2\endcsname}}%
+ \bbl@csarg\edef{doactive#2}{%
+ \expandafter\noexpand\csname user@active#2\endcsname}%
\bbl@csarg\edef{active@#2}{%
\noexpand\active@prefix\noexpand#1%
\expandafter\noexpand\csname active@char#2\endcsname}%
@@ -289,7 +403,8 @@
\if\string'#2%
\let\prim@s\bbl@prim@s
\let\active@math@prime#1%
- \fi}
+ \fi
+ \bbl@usehooks{initiateactive}{{#1}{#2}{#3}}}
\@ifpackagewith{babel}{KeepShorthandsActive}%
{\let\bbl@restoreactive\@gobble}%
{\def\bbl@restoreactive#1{%
@@ -487,9 +602,6 @@
\pr@@@s
{\bbl@if@primes*^\pr@@@t\egroup}}}
\endgroup
-\initiate@active@char{~}
-\declare@shorthand{system}{~}{\leavevmode\nobreak\ }
-\bbl@activate{~}
\expandafter\def\csname OT1dqpos\endcsname{127}
\expandafter\def\csname T1dqpos\endcsname{4}
\ifx\f@encoding\@undefined
@@ -499,7 +611,7 @@
\def\bbl@tempc{#1}%
\bbl@fixname\bbl@tempc
\bbl@iflanguage\bbl@tempc{%
- \@for\bbl@attr:=#2\do{%
+ \bbl@loopx\bbl@attr{#2}{%
\ifx\bbl@known@attribs\@undefined
\in@false
\else
@@ -556,7 +668,7 @@
}
\def\bbl@ifknown@ttrib#1#2{%
\let\bbl@tempa\@secondoftwo
- \@for\bbl@tempb:=#2\do{%
+ \bbl@loopx\bbl@tempb{#2}{%
\expandafter\in@\expandafter{\expandafter,\bbl@tempb,}{,#1,}%
\ifin@
\let\bbl@tempa\@firstoftwo
@@ -566,7 +678,7 @@
}
\def\bbl@clear@ttribs{%
\ifx\bbl@attributes\@undefined\else
- \@for\bbl@tempa:=\bbl@attributes\do{%
+ \bbl@loopx\bbl@tempa{\bbl@attributes}{%
\expandafter\bbl@clear@ttrib\bbl@tempa.
}%
\let\bbl@attributes\@undefined
@@ -611,6 +723,20 @@
\xdef#1{\the\toks@}}%
\fi
\fi}
+\def\babeltags#1{%
+ \edef\bbl@tempa{\zap@space#1 \@empty}%
+ \def\bbl@tempb##1=##2\@@{%
+ \edef\bbl@tempc{%
+ \noexpand\newcommand
+ \expandafter\noexpand\csname ##1\endcsname{%
+ \noexpand\protect
+ \expandafter\noexpand\csname otherlanguage*\endcsname{##2}}
+ \noexpand\newcommand
+ \expandafter\noexpand\csname text##1\endcsname{%
+ \noexpand\foreignlanguage{##2}}}
+ \bbl@tempc}%
+ \bbl@for\bbl@tempa\bbl@tempa{%
+ \expandafter\bbl@tempb\bbl@tempa\@@}}
\@onlypreamble\babelhyphenation
\AtEndOfPackage{%
\newcommand\babelhyphenation[2][\@empty]{%
@@ -636,7 +762,7 @@
{\csname bbl@hyphenation@\bbl@tempa\endcsname\space}%
#2}}}%
\fi}}
-\def\bbl@allowhyphens{\nobreak\hskip\z@skip}
+\def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi}
\def\bbl@t@one{T1}
\def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
\newcommand\babelnullhyphen{\char\hyphenchar\font}
@@ -847,6 +973,7 @@
\@ifundefined{bbl@tolower}{%
\g@addto@macro\@uclclist{%
\reserved@b{\reserved@b\@gobble}% stops processing the list
+ \let\bbl@encoded\bbl@encoded@uclc
\@ifundefined{\languagename @bbl@uclc}% and resumes it
{\reserved@a}%
{\csname\languagename @bbl@uclc\endcsname}%
@@ -873,13 +1000,13 @@
\def\SetStringLoop##1##2{%
\def\bbl@templ####1{\expandafter\noexpand\csname##1\endcsname}%
\count@\z@
- \@for\bbl@tempa:=\@empty##2\do{% \@empty "undoes" \expandafter
- \advance\count@\@ne
- \toks@\expandafter{\bbl@tempa}%
- \edef\bbl@tempb{%
- \bbl@templ{\romannumeral\count@}{\the\toks@}%
- \count@=\the\count@\relax}%
- \expandafter\SetString\bbl@tempb}}%
+ \bbl@loop\bbl@tempa{##2}{%
+ \advance\count@\@ne
+ \toks@\expandafter{\bbl@tempa}%
+ \edef\bbl@tempb{%
+ \bbl@templ{\romannumeral\count@}{\the\toks@}%
+ \count@=\the\count@\relax}%
+ \expandafter\SetString\bbl@tempb}}%
\newcommand\SetCase[3][]{%
\bbl@patchuclc
\bbl@forlang\bbl@tempa{%
@@ -951,8 +1078,8 @@
\@expandtwoargs
\in@{,\bbl@opt@strings,}{,\bbl@sc@label,\bbl@sc@fontenc,}}%
\fi
- \ifx\bbl@opt@strings\@nnil % ie, no strings -> defaults
- \else\ifx\bbl@opt@strings\relax % ie, strings with no value
+ \ifx\bbl@opt@strings\@nnil % ie, no strings key -> defaults
+ \else\ifx\bbl@opt@strings\relax % ie, strings=encoded
\let\AfterBabelCommands\bbl@aftercmds
\let\SetString\bbl@setstring
\let\bbl@stringdef\bbl@encstring
@@ -1002,7 +1129,6 @@
\endgroup
\endgroup
\bbl@scafter}
-\def\bbl@scset#1#2{\def#1{#2}}
\def\bbl@setstring#1#2{%
\bbl@forlang\bbl@tempa{%
\edef\bbl@LC{\bbl@tempa\expandafter\@gobble\string#1}%
@@ -1015,6 +1141,24 @@
\bbl@usehooks{stringprocess}{}%
\expandafter\bbl@stringdef
\csname\bbl@LC\expandafter\endcsname\expandafter{\BabelString}}}
+\ifx\bbl@opt@strings\relax
+ \def\bbl@scset#1#2{\def#1{\bbl@encoded#2}}
+ \bbl@patchuclc
+\else
+ \def\bbl@scset#1#2{\def#1{#2}}
+\fi
+\let\bbl@encoded\relax
+\def\bbl@encoded@uclc#1{%
+ \@inmathwarn#1%
+ \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
+ \expandafter\ifx\csname ?\string#1\endcsname\relax
+ \TextSymbolUnavailable#1%
+ \else
+ \csname ?\string#1\endcsname
+ \fi
+ \else
+ \csname\cf@encoding\string#1\endcsname
+ \fi}
\def\SetHyphenMap#1{%
\bbl@forlang\bbl@tempa{%
\expandafter\bbl@stringdef
@@ -1068,7 +1212,7 @@
everylanguage=1,loadkernel=1,loadpatterns=1,loadexceptions=1,%
adddialect=2,patterns=2,defaultcommands=0,encodedcommands=2,write=0,%
beforeextras=0,afterextras=0,stopcommands=0,stringprocess=0,%
- hyphenation=2}
+ hyphenation=2,initiateactive=3,afterreset=0}
\ifcase\bbl@engine\or
\input luababel.def
\or
@@ -1275,11 +1419,6 @@
\closeout15
}
\@onlypreamble\substitutefontfamily
-\bbl@redefine\TeX{\textlatin{\org@TeX}}
-\bbl@redefine\LaTeX{\textlatin{\org@LaTeX}}
-\bbl@add\nfss@catcodes{%
- \@makeother\'%
- \@makeother\"}
\ifx\loadlocalcfg\@undefined
\@ifpackagewith{babel}{noconfigs}%
{\let\loadlocalcfg\@gobble}%
@@ -1302,6 +1441,9 @@
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
\fi
+\initiate@active@char{~}
+\declare@shorthand{system}{~}{\leavevmode\nobreak\ }
+\bbl@activate{~}
\ifx\l@english\@undefined
\chardef\l@english\z@
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index b66ffcd0001..34a7ec9a7e6 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -39,23 +39,23 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
-\ProvidesPackage{babel}[2013/12/03 3.9h The Babel package]
+\ProvidesPackage{babel}[2014/03/15 3.9i The Babel package]
\@ifpackagewith{babel}{debug}
{\input switch.def\relax}
- {\def\bbl@tempa{3.9h}%
+ {\def\bbl@tempa{3.9i}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi}
-\def\bbl@for#1#2#3{\@for#1:=#2\do{\ifx#1\@empty\else#3\fi}}
+\def\bbl@for#1#2#3{\bbl@loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
\def\bbl@add#1#2{%
\@ifundefined{\expandafter\@gobble\string#1}%
{\def#1{#2}}%
@@ -63,6 +63,12 @@
\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
\long\def\bbl@afterfi#1\fi{\fi#1}
+\def\bbl@loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
+\def\bbl@loopx#1#2{\expandafter\bbl@loop\expandafter#1\expandafter{#2}}
+\def\bbl@@loop#1#2#3,{%
+ \ifx\@nnil#3\relax\else
+ \def#1{#3}#2\bbl@afterfi\bbl@@loop#1{#2}%
+ \fi}
\def\AfterBabelLanguage#1{%
\global\expandafter\bbl@add\csname#1.ldf-h@@k\endcsname}%
\@ifpackagewith{babel}{base}{%
@@ -217,7 +223,6 @@
\DeclareOption{afrikaans}{\bbl@load@language{dutch}}
\DeclareOption{american}{\bbl@load@language{english}}
\DeclareOption{australian}{\bbl@load@language{english}}
-\DeclareOption{austrian}{\bbl@load@language{germanb}}
\DeclareOption{bahasa}{\bbl@load@language{bahasai}}
\DeclareOption{bahasai}{\bbl@load@language{bahasai}}
\DeclareOption{bahasam}{\bbl@load@language{bahasam}}
@@ -228,7 +233,6 @@
\DeclareOption{canadien}{\bbl@load@language{frenchb}}
\DeclareOption{francais}{\bbl@load@language{frenchb}}
\DeclareOption{french}{\bbl@load@language{frenchb}}%
-\DeclareOption{german}{\bbl@load@language{germanb}}
\DeclareOption{hebrew}{%
\input{rlbabel.def}%
\bbl@load@language{hebrew}}
@@ -238,9 +242,7 @@
\DeclareOption{lowersorbian}{\bbl@load@language{lsorbian}}
\DeclareOption{malay}{\bbl@load@language{bahasam}}
\DeclareOption{meyalu}{\bbl@load@language{bahasam}}
-\DeclareOption{naustrian}{\bbl@load@language{ngermanb}}
\DeclareOption{newzealand}{\bbl@load@language{english}}
-\DeclareOption{ngerman}{\bbl@load@language{ngermanb}}
\DeclareOption{nynorsk}{\bbl@load@language{norsk}}
\DeclareOption{polutonikogreek}{%
\bbl@load@language{greek}%
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index abb4b6f2c05..e0119c9b187 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index 81d5a5cc5bc..e314c1df777 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 9c5591cd7bc..599f643f729 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2013/12/03 3.9h Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2014/03/15 3.9i 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.9h> and hyphenation patterns for }%
+\toks8{Babel <3.9i> and hyphenation patterns for }%
\def\process@line#1#2 #3 #4 {%
\ifx=#1%
\process@synonym{#2}%
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index c5857c196fc..4bc4e24fd47 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.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
+%% Copyright (C) 2103-2014
%% by Javier Bezos
\directlua{%
require("luatex-hyphen")
@@ -92,6 +92,22 @@
'\luatexluaescapestring{\string#2}')
}%
\fi}
+\AddBabelHook{luatex}{initiateactive}{%
+ \bbl@csarg\edef{doactive#2}{%
+ \futurelet\noexpand\let@token
+ \expandafter\noexpand\csname luabbl@doactive#2\endcsname}%
+ \def\bbl@tempa##1##2{%
+ \@namedef{luabbl@doactive#2}{%
+ \ifcat\noexpand\let@token a%
+ \expandafter##1%
+ \else\ifcat\noexpand\let@token.%
+ \expandafter\expandafter\expandafter##1%
+ \else
+ \expandafter\expandafter\expandafter##2%
+ \fi\fi}}%
+ \@expandtwoargs\bbl@tempa
+ {\expandafter\noexpand\csname user@active#2\endcsname}%
+ {\expandafter\noexpand\csname normal@char#2\endcsname}}
\AddBabelHook{luatex}{everylanguage}{%
\directlua{
processnow = (tex.language == 0) or
@@ -108,6 +124,35 @@
\input #1\relax
\fi
\directlua{processnow = nil}}
+\AddBabelHook{xetex}{loadkernel}{%
+ \begingroup
+ % Reset chars "80-"C0 to category "other", no case mapping:
+ \catcode`\@=11 \count@=128
+ \loop\ifnum\count@<192
+ \global\uccode\count@=0 \global\lccode\count@=0
+ \global\catcode\count@=12 \global\sfcode\count@=1000
+ \advance\count@ by 1 \repeat
+ % Other:
+ \def\O ##1 {%
+ \global\uccode"##1=0 \global\lccode"##1=0
+ \global\catcode"##1=12 \global\sfcode"##1=1000 }%
+ % Letter:
+ \def\L ##1 ##2 ##3 {\global\catcode"##1=11
+ \global\uccode"##1="##2
+ \global\lccode"##1="##3
+ % Uppercase letters have sfcode=999:
+ \ifnum"##1="##3 \else \global\sfcode"##1=999 \fi }%
+ % Letter without case mappings:
+ \def\l ##1 {\L ##1 ##1 ##1 }%
+ \l 00AA
+ \L 00B5 039C 00B5
+ \l 00BA
+ \O 00D7
+ \l 00DF
+ \O 00F7
+ \L 00FF 0178 00FF
+ \endgroup
+ \input #1\relax}
\def\babelFSstore#1{%
\bbl@for\bbl@tempa{#1}{%
\edef\bbl@tempb{\noexpand\bbl@FSstore{\bbl@tempa}}
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 76cb69c6632..9ec2eb664a7 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -38,16 +38,16 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
-\ProvidesLanguage{nil}[2013/12/03 3.9h Nil language]
+\ProvidesLanguage{nil}[2014/03/15 3.9i 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 2ca0a36cbcd..fe077f77848 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 592bd52dde0..dbf629c7190 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -38,12 +38,12 @@
%% 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}[2013/12/03 v3.9h The Babel package]
+%%\ProvidesFile{babel.dtx}[2014/03/15 v3.9i The Babel package]
%% Babel package for LaTeX2e.
-%% Copyright (C) 1989 -- 2008 by Johannes Braams,
+%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013 by Johannes Braams
+%% Copyright (C) 2013-2014 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2013/12/03 3.9h Babel switching mechanism]
+\ProvidesFile{switch.def}[2014/03/15 3.9i 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.9h}
-\def\bbl@date{2013/12/03}
+\def\bbl@version{3.9i}
+\def\bbl@date{2014/03/15}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -168,6 +168,7 @@
\csname noextras#1\endcsname
\let\originalTeX\@empty
\babel@beginsave}%
+ \bbl@usehooks{afterreset}{}%
\languageshorthands{none}%
\ifcase\bbl@select@type
\csname captions#1\endcsname
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index 77dbf96bea1..e16cc6b6440 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
+%% Copyright (C) 2103-2014
%% by Javier Bezos
\def\BabelStringsDefault{unicode}
\let\xebbl@stop\relax
@@ -54,6 +54,35 @@
\AddBabelHook{xetex}{stopcommands}{%
\xebbl@stop
\let\xebbl@stop\relax}
+\AddBabelHook{xetex}{loadkernel}{%
+ \begingroup
+ % Reset chars "80-"C0 to category "other", no case mapping:
+ \catcode`\@=11 \count@=128
+ \loop\ifnum\count@<192
+ \global\uccode\count@=0 \global\lccode\count@=0
+ \global\catcode\count@=12 \global\sfcode\count@=1000
+ \advance\count@ by 1 \repeat
+ % Other:
+ \def\O ##1 {%
+ \global\uccode"##1=0 \global\lccode"##1=0
+ \global\catcode"##1=12 \global\sfcode"##1=1000 }%
+ % Letter:
+ \def\L ##1 ##2 ##3 {\global\catcode"##1=11
+ \global\uccode"##1="##2
+ \global\lccode"##1="##3
+ % Uppercase letters have sfcode=999:
+ \ifnum"##1="##3 \else \global\sfcode"##1=999 \fi }%
+ % Letter without case mappings:
+ \def\l ##1 {\L ##1 ##1 ##1 }%
+ \l 00AA
+ \L 00B5 039C 00B5
+ \l 00BA
+ \O 00D7
+ \l 00DF
+ \O 00F7
+ \L 00FF 0178 00FF
+ \endgroup
+ \input #1\relax}
\def\babelFSstore#1{%
\bbl@for\bbl@tempa{#1}{%
\edef\bbl@tempb{\noexpand\bbl@FSstore{\bbl@tempa}}