From 29f6ddaf933330468b53bbefab9469f0f893c976 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 15 Mar 2014 21:45:45 +0000 Subject: babel (15mar14) git-svn-id: svn://tug.org/texlive/trunk@33185 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/generic/babel/babel.def | 204 +++++++++++++++++++---- Master/texmf-dist/tex/generic/babel/babel.sty | 22 +-- Master/texmf-dist/tex/generic/babel/blplain.tex | 6 +- Master/texmf-dist/tex/generic/babel/bplain.tex | 6 +- Master/texmf-dist/tex/generic/babel/hyphen.cfg | 10 +- Master/texmf-dist/tex/generic/babel/luababel.def | 47 +++++- Master/texmf-dist/tex/generic/babel/nil.ldf | 8 +- Master/texmf-dist/tex/generic/babel/plain.def | 6 +- Master/texmf-dist/tex/generic/babel/switch.def | 13 +- Master/texmf-dist/tex/generic/babel/xebabel.def | 31 +++- 10 files changed, 286 insertions(+), 67 deletions(-) (limited to 'Master/texmf-dist/tex') 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}} -- cgit v1.2.3