diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/babel.sty | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index 2c3d5df23c5..453dc5afde1 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -32,7 +32,7 @@ %% extension |.ins|) which are part of the distribution. %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{babel}[2018/02/14 3.18 The Babel package] +\ProvidesPackage{babel}[2018/04/25 3.19 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone} @@ -186,23 +186,49 @@ \bbl@languages \fi \ifodd\bbl@engine - \@ifpackagewith{babel}{bidi=basic-r}{% must go before any \DeclareOption + \def\bbl@loadbidi#1{% \let\bbl@beforeforeign\leavevmode \AtEndOfPackage{\EnableBabelHook{babel-bidi}}% \RequirePackage{luatexbase}% \directlua{ require('babel-bidi.lua') - require('babel-bidi-basic-r.lua') + require('babel-bidi-#1.lua') luatexbase.add_to_callback('pre_linebreak_filter', - Babel.pre_otfload, - 'Babel.pre_otfload', + Babel.pre_otfload_v, + 'Babel.pre_otfload_v', luatexbase.priority_in_callback('pre_linebreak_filter', 'luaotfload.node_processor') or nil) luatexbase.add_to_callback('hpack_filter', - Babel.pre_otfload, - 'Babel.pre_otfload', + Babel.pre_otfload_h, + 'Babel.pre_otfload_h', luatexbase.priority_in_callback('hpack_filter', - 'luaotfload.node_processor') or nil)}}{} + 'luaotfload.node_processor') or nil) + }} + \let\bbl@tempa\relax + \@ifpackagewith{babel}{bidi=basic}% + {\def\bbl@tempa{basic}}% + {\@ifpackagewith{babel}{bidi=basic-r}% + {\def\bbl@tempa{basic-r}}% + {}} + \ifx\bbl@tempa\relax\else + \let\bbl@beforeforeign\leavevmode + \AtEndOfPackage{\EnableBabelHook{babel-bidi}}% + \RequirePackage{luatexbase}% + \directlua{ + require('babel-bidi.lua') + require('babel-bidi-\bbl@tempa.lua') + luatexbase.add_to_callback('pre_linebreak_filter', + Babel.pre_otfload_v, + 'Babel.pre_otfload_v', + luatexbase.priority_in_callback('pre_linebreak_filter', + 'luaotfload.node_processor') or nil) + luatexbase.add_to_callback('hpack_filter', + Babel.pre_otfload_h, + 'Babel.pre_otfload_h', + luatexbase.priority_in_callback('hpack_filter', + 'luaotfload.node_processor') or nil) + } + \fi \fi \bbl@trace{Defining option 'base'} \@ifpackagewith{babel}{base}{% @@ -262,14 +288,18 @@ \DeclareOption{safe=ref}{\def\bbl@opt@safe{R}} \ifodd\bbl@engine \DeclareOption{bidi=basic-r}% + {\ExecuteOptions{bidi=basic}} + \DeclareOption{bidi=basic}% {\let\bbl@beforeforeign\leavevmode \newattribute\bbl@attr@dir \bbl@exp{\output{\bodydir\pagedir\the\output}}% \AtEndOfPackage{\EnableBabelHook{babel-bidi}}} \else \DeclareOption{bidi=basic-r}% + {\ExecuteOptions{bidi=basic}} + \DeclareOption{bidi=basic}% {\bbl@error - {The bidi method `basic-r' is available only in\\% + {The bidi method `basic' is available only in\\% luatex. I'll continue with `bidi=default', so\\% expect wrong results}% {See the manual for further details.}% |