[latex3-commits] [git/latex2e] master: Start \babelprovide for Plain. Improved Arabic sample. (13af68f)

Javier javier at dante.de
Sat Jan 27 19:15:42 CET 2018


Repository : https://github.com/latex3/latex2e
On branch  : master
Link       : https://github.com/latex3/latex2e/commit/13af68f472372c7235e6f5d26ef5b5110bdb4c77

>---------------------------------------------------------------

commit 13af68f472372c7235e6f5d26ef5b5110bdb4c77
Author: Javier <javier at localhost>
Date:   Sat Jan 27 19:15:42 2018 +0100

    Start \babelprovide for Plain. Improved Arabic sample.


>---------------------------------------------------------------

13af68f472372c7235e6f5d26ef5b5110bdb4c77
 required/babel/README.md              |    4 +-
 required/babel/babel.dtx              |  188 +++++++++++++++++++++------------
 required/babel/babel.ins              |    2 +-
 required/babel/babel.pdf              |  Bin 635190 -> 637146 bytes
 required/babel/bbcompat.dtx           |    2 +-
 required/babel/samples/lua-arabic.pdf |  Bin 84071 -> 81949 bytes
 required/babel/samples/lua-arabic.tex |   28 +++--
 7 files changed, 141 insertions(+), 83 deletions(-)

diff --git a/required/babel/README.md b/required/babel/README.md
index add1ef5..e8a58b0 100644
--- a/required/babel/README.md
+++ b/required/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.17
+## Babel 3.17.1169
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages.  Many
@@ -110,5 +110,5 @@ respective authors.
 ```
 
 Javier Bezos
-2018/01/24
+2018/01/27
 
diff --git a/required/babel/babel.dtx b/required/babel/babel.dtx
index b846f29..1cf764e 100644
--- a/required/babel/babel.dtx
+++ b/required/babel/babel.dtx
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2018/01/24 v3.17 The Babel package]
+\ProvidesFile{babel.dtx}[2018/01/27 v3.17.1169 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -3615,8 +3615,8 @@ help from Bernd Raichle, for which I am grateful.
 %    little bit of literate programming.
 %
 %    \begin{macrocode}
-%<<version=3.17>>
-%<<date=2018/01/24>>
+%<<version=3.17.1169>>
+%<<date=2018/01/27>>
 %    \end{macrocode}
 %
 % \section{Tools}
@@ -3645,6 +3645,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 %    \begin{macrocode}
 %<<*Basic macros>>
+\bbl at trace{Basic macros}
 \def\bbl at stripslash{\expandafter\@gobble\string}
 \def\bbl at add#1#2{%
   \bbl at ifunset{\bbl at stripslash#1}%
@@ -4039,8 +4040,10 @@ help from Bernd Raichle, for which I am grateful.
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{babel}[<@date@> <@version@> The Babel package]
 \@ifpackagewith{babel}{debug}
-  {\let\bbl at debug\@firstofone}
-  {\let\bbl at debug\@gobble}
+  {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
+   \let\bbl at debug\@firstofone}
+  {\providecommand\bbl at trace[1]{}%
+   \let\bbl at debug\@gobble}
 \input switch.def\relax
 <@Load patterns in luatex@>
 <@Basic macros@>
@@ -4097,6 +4100,7 @@ help from Bernd Raichle, for which I am grateful.
 % rest of babel. Useful for old versions of \textsf{polyglossia}, too.
 %
 %    \begin{macrocode}
+\bbl at trace{Defining option 'base'}
 \@ifpackagewith{babel}{base}{%
   \ifx\directlua\@undefined
     \DeclareOption*{\bbl at patterns{\CurrentOption}}%
@@ -4126,6 +4130,7 @@ help from Bernd Raichle, for which I am grateful.
 %    key=value pairs}
 %
 %    \begin{macrocode}
+\bbl at trace{key=value and another general options}
 \bbl at csarg\let{tempa\expandafter}\csname opt at babel.sty\endcsname
 \def\bbl at tempb#1.#2{%
    #1\ifx\@empty#2\else,\bbl at afterfi\bbl at tempb#2\fi}%
@@ -4241,6 +4246,7 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{babel~3.9c}{2013/04/07}{Added t and c for tilde and comma}
 %
 %    \begin{macrocode}
+\bbl at trace{Conditional loading of shorthands}
 \def\bbl at sh@string#1{%
   \ifx#1\@empty\else
     \ifx#1t\string~%
@@ -4326,6 +4332,7 @@ help from Bernd Raichle, for which I am grateful.
 %  macro \cs{IfBabelLayout}}
 %
 %    \begin{macrocode}
+\bbl at trace{Defining IfBabelLayout}
 \ifx\bbl at opt@layout\@nnil
   \newcommand\IfBabelLayout[3]{#3}%
 \else
@@ -4355,6 +4362,7 @@ help from Bernd Raichle, for which I am grateful.
 %    checks (|\input| works, too, but possible errors are not catched).
 %
 %    \begin{macrocode}
+\bbl at trace{Language options}
 \let\bbl at afterlang\relax
 \let\BabelModifiers\relax
 \let\bbl at loaded\@empty
@@ -4564,7 +4572,7 @@ help from Bernd Raichle, for which I am grateful.
 % able to switch hyphenation patterns (by default, it also inputs
 % \file{switch.def}, for ``historical reasons'', but it is not
 % necessary). When \file{babel.def} is loaded it checks if the current
-% version of \file{switch.def} is in the format; if not it is
+% version of \file{switch.def} is in the format; if not, it is
 % loaded. A further file, \file{babel.sty}, contains \LaTeX-specific
 % stuff.
 %
@@ -4606,14 +4614,50 @@ help from Bernd Raichle, for which I am grateful.
 <@Make sure ProvidesFile is defined@>
 \ProvidesFile{babel.def}[<@date@> <@version@> Babel common definitions]
 <@Load macros for plain if not LaTeX@>
+%    \end{macrocode}
+% 
+% The file |babel.def| expects some definitions made in the \LaTeXe{}
+% style file. So, In \LaTeX2.09 and Plain{} we must provide at least
+% some predefined values as well some tools to set them (even if not
+% all options are available). There in no package options, and
+% therefore and alternative mechanism is provided. For the moment,
+% only |\babeloptionstrings| and |\babeloptionmath| are provided,
+% which can be defined before loading \babel. |\BabelModifiers| can be
+% set too (but not sure it works).
+%
+%    \begin{macrocode}
 \ifx\bbl at ifshorthand\@undefined
+  \let\bbl at opt@shorthands\@nnil
+  \def\bbl at ifshorthand#1#2#3{#2}%
+  \ifx\babeloptionstrings\@undefined
+    \let\bbl at opt@strings\@nnil
+  \else
+    \let\bbl at opt@strings\babeloptionstrings
+  \fi
+  \def\bbl at tempa{normal}
+  \ifx\babeloptionmath\bbl at tempa
+    \def\bbl at mathnormal{\noexpand\textormath}
+  \fi
+  \def\BabelStringsDefault{generic}
+  \ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
+  \let\bbl at afterlang\relax
+  \let\bbl at language@opts\@empty
+  \ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
+  \def\AfterBabelLanguage#1#2{}
+  \ifx\bbl at trace\@undefined\def\bbl at trace#1{}\fi
   \def\bbl at ifshorthand#1#2#3{#2}%
   \def\bbl at opt@safe{BR}
   \def\AfterBabelLanguage#1#2{}
   \let\bbl at afterlang\relax
   \let\bbl at language@opts\@empty
 \fi
+%    \end{macrocode}
+%
+% And continue.
+%
+%    \begin{macrocode}
 \input switch.def\relax
+\bbl at trace{Compatibility with language.def}
 \ifx\bbl at languages\@undefined
   \ifx\directlua\@undefined
     \openin1 = language.def
@@ -4768,6 +4812,7 @@ help from Bernd Raichle, for which I am grateful.
 %    undefined in Plain}
 %
 %    \begin{macrocode}
+\bbl at trace{Hooks}
 \def\AddBabelHook#1#2{%
   \bbl at ifunset{bbl at hk@#1}{\EnableBabelHook{#1}}{}%
   \def\bbl at tempa##1,#2=##2,##3\@empty{\def\bbl at tempb{##2}}%
@@ -4831,6 +4876,7 @@ help from Bernd Raichle, for which I am grateful.
 %   \cs{today} must be given explicitly in \cs{babelensure}}
 %
 %    \begin{macrocode}
+\bbl at trace{Defining babelensure}
 \newcommand\babelensure[2][]{%  TODO - revise test files
   \AddBabelHook{babel-ensure}{afterextras}{%
     \ifcase\bbl at select@type
@@ -4937,6 +4983,7 @@ help from Bernd Raichle, for which I am grateful.
 %    Finally we check |\originalTeX|.
 %
 %    \begin{macrocode}
+\bbl at trace{Macros for setting language files up}
 \def\bbl at ldfinit{%
   \let\bbl at screset\@empty
   \let\BabelStrings\bbl at opt@string
@@ -5077,6 +5124,7 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{3.10}{2017/05/14}{Refactored. Add to \cs{nfss at catcodes} too.}
 %
 %    \begin{macrocode}
+\bbl at trace{Shorhands}
 \def\bbl at add@special#1{% 1:a macro like \", \?, etc.
   \bbl at add\dospecials{\do#1}% test @sanitize = \relax, for back. compat.
   \bbl at ifunset{@sanitize}{}{\bbl at add\@sanitize{\@makeother#1}}%
@@ -5956,6 +6004,7 @@ help from Bernd Raichle, for which I am grateful.
 %    attribute in the list.
 %
 %    \begin{macrocode}
+\bbl at trace{Language attributes}
 \newcommand\languageattribute[2]{%
   \def\bbl at tempc{#1}%
   \bbl at fixname\bbl at tempc
@@ -6173,6 +6222,7 @@ help from Bernd Raichle, for which I am grateful.
 %    zero.
 %
 %    \begin{macrocode}
+\bbl at trace{Macros for saving definitions}
 \def\babel at beginsave{\babel at savecnt\z@}
 %    \end{macrocode}
 %
@@ -6252,6 +6302,7 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{babel~3.9i}{2014/02/21}{Macro \cs{babeltags} added}
 %
 %   \begin{macrocode}
+\bbl at trace{Short tags}
 \def\babeltags#1{%
   \edef\bbl at tempa{\zap at space#1 \@empty}%
   \def\bbl at tempb##1=##2\@@{%
@@ -6283,6 +6334,7 @@ help from Bernd Raichle, for which I am grateful.
 %     \changes{babel~3.9a}{2012/08/28}{Macro added}
 %
 %    \begin{macrocode}
+\bbl at trace{Hyphens}
 \@onlypreamble\babelhyphenation
 \AtEndOfPackage{%
   \newcommand\babelhyphenation[2][\@empty]{%
@@ -6438,6 +6490,7 @@ help from Bernd Raichle, for which I am grateful.
 % variable. This is not the best solution, but it works.
 %
 %    \begin{macrocode}
+\bbl at trace{Multiencoding strings}
 \def\bbl at toglobal#1{\global\let#1#1}
 \def\bbl at recatcode#1{%
   \@tempcnta="7F
@@ -6866,6 +6919,7 @@ help from Bernd Raichle, for which I am grateful.
 %    the comma.  It prepares its argument in box register~0.
 %
 %    \begin{macrocode}
+\bbl at trace{Macros related to glyphs}
 \def\set at low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
     \dimen\z@\ht\z@ \advance\dimen\z@ -\ht\tw@%
     \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@}
@@ -7334,6 +7388,7 @@ help from Bernd Raichle, for which I am grateful.
 % least a tool useful in general.
 %
 %    \begin{macrocode}
+\bbl at trace{Bidi layout}
 \providecommand\IfBabelLayout[3]{#3}%
 \newcommand\BabelPatchSection[1]{%
   \@ifundefined{#1}{}{%
@@ -7369,6 +7424,7 @@ help from Bernd Raichle, for which I am grateful.
 %    Now we load definition files for engines.
 %
 %    \begin{macrocode}
+\bbl at trace{Input engine specific macros}
 \ifcase\bbl at engine
   \input txtbabel.def
 \or
@@ -7378,32 +7434,6 @@ help from Bernd Raichle, for which I am grateful.
 \fi
 %    \end{macrocode}
 %
-% \section{The kernel of Babel (\texttt{babel.def}, only \LaTeX)}
-%
-% \subsection{The redefinition of the style commands}
-%
-%    The rest of the code in this file can only be processed by
-%    \LaTeX, so we check the current format. If it is plain \TeX,
-%    processing should stop here. But, because of the need to limit
-%    the scope of the definition of |\format|, a macro that is used
-%    locally in the following |\if|~statement, this comparison is done
-%    inside a group. To prevent \TeX\ from complaining about an
-%    unclosed group, the processing of the command |\endinput| is
-%    deferred until after the group is closed. This is accomplished by
-%    the command |\aftergroup|.
-%
-%    \begin{macrocode}
-{\def\format{lplain}
-\ifx\fmtname\format
-\else
-  \def\format{LaTeX2e}
-  \ifx\fmtname\format
-  \else
-    \aftergroup\endinput
-  \fi
-\fi}
-%    \end{macrocode}
-%
 % \subsection{Creating languages}
 %
 % |\babelprovide| is a general purpose tool for creating
@@ -7422,6 +7452,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 %
 %    \begin{macrocode}
+\bbl at trace{Creating languages and reading ini files}
 \newcommand\babelprovide[2][]{%  
   \let\bbl at savelangname\languagename
   \def\languagename{#2}%
@@ -7809,6 +7840,32 @@ help from Bernd Raichle, for which I am grateful.
   {\setbox\z@\hbox{\InputIfFileExists{babel-#1.tex}{}{}}}}
 %    \end{macrocode}
 %
+% \section{The kernel of Babel (\texttt{babel.def}, only \LaTeX)}
+%
+% \subsection{The redefinition of the style commands}
+%
+%    The rest of the code in this file can only be processed by
+%    \LaTeX, so we check the current format. If it is plain \TeX,
+%    processing should stop here. But, because of the need to limit
+%    the scope of the definition of |\format|, a macro that is used
+%    locally in the following |\if|~statement, this comparison is done
+%    inside a group. To prevent \TeX\ from complaining about an
+%    unclosed group, the processing of the command |\endinput| is
+%    deferred until after the group is closed. This is accomplished by
+%    the command |\aftergroup|.
+%
+%    \begin{macrocode}
+{\def\format{lplain}
+\ifx\fmtname\format
+\else
+  \def\format{LaTeX2e}
+  \ifx\fmtname\format
+  \else
+    \aftergroup\endinput
+  \fi
+\fi}
+%    \end{macrocode}
+%
 % \subsection{Cross referencing macros}
 %
 %    The \LaTeX\ book states:
@@ -7866,6 +7923,7 @@ help from Bernd Raichle, for which I am grateful.
 %    arguments immediately expands to its non-active self.
 %
 %    \begin{macrocode}
+\bbl at trace{Cross referencing macros}
 \ifx\bbl at opt@safe\@empty\else
   \def\@newl at bel#1#2#3{%
    {\@safe at activestrue
@@ -8164,6 +8222,7 @@ help from Bernd Raichle, for which I am grateful.
 %    \cs{@safe at activestrue} is in effect.
 %
 %    \begin{macrocode}
+\bbl at trace{Marks}
 \IfBabelLayout{sectioning}
   {\ifx\bbl at opt@headfoot\@nnil
      \g at addto@macro\@resetactivechars{%
@@ -8260,6 +8319,7 @@ help from Bernd Raichle, for which I am grateful.
 %    time.
 %
 %    \begin{macrocode}
+\bbl at trace{Preventing clashes with other packages}
 \bbl at xin@{R}\bbl at opt@safe
 \ifin@
   \AtBeginDocument{%
@@ -8500,6 +8560,7 @@ help from Bernd Raichle, for which I am grateful.
 %    executed only with LaTeX}
 %
 %    \begin{macrocode}
+\bbl at trace{Encoding and fonts}
 \newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX
@@ -8616,9 +8677,21 @@ help from Bernd Raichle, for which I am grateful.
 %   
 % \subsection{Basic bidi support}
 %
-%    \textbf{Work in progress.} This code is currently placed here for
-%    practical reasons. It is loosely based on |rlbabel.def|, but most
-%    of it has been developed from scratch.
+% \textbf{Work in progress.} This code is currently placed here for
+% practical reasons.
+%
+% It is loosely based on |rlbabel.def|, but most of it has been
+% developed from scratch. This \babel{} module (by Johannes Braams and
+% Boris Lavva) has served the purpose of typesetting R documents for
+% two decades, and despite its flaws I think is still a good starting
+% point (some parts have been copied here almost verbatim), partly
+% thanks to its simplicity.
+%
+% There are two ways of modifying macros to make them “bidi”, namely,
+% by patching the internal low level macros (which is what I have done
+% with lists, columns, counters, tocs, much like |rlbabel| did), and
+% by introducing a “middle layer” just below the user interface
+% (sectioning, footnotes).
 %
 %    \begin{itemize}
 %    \item pdftex provides a minimal support for bidi text, and it
@@ -8644,6 +8717,7 @@ help from Bernd Raichle, for which I am grateful.
 % \changes{3.15}{2017/10/30}{Store direction in @wdir@<lang>.}
 %
 %    \begin{macrocode}
+\bbl at trace{Basic (internal) bidi support}
 \def\bbl at alscripts{,Arabic,Syriac,Thaana,}
 \def\bbl at rscripts{%
   ,Imperial Aramaic,Avestan,Cypriot,Hatran,Hebrew,%
@@ -8795,6 +8869,7 @@ help from Bernd Raichle, for which I am grateful.
 %    of |\loadlocalcfg| from \file{plain.def}.
 %
 %    \begin{macrocode}
+\bbl at trace{Local Language Configuration}
 \ifx\loadlocalcfg\@undefined
   \@ifpackagewith{babel}{noconfigs}%
     {\let\loadlocalcfg\@gobble}%
@@ -8850,6 +8925,7 @@ help from Bernd Raichle, for which I am grateful.
 %    \begin{macrocode}
 \def\bbl at version{<@version@>}
 \def\bbl at date{<@date@>}
+\bbl at trace{Some switching tools}
 \def\adddialect#1#2{%
   \global\chardef#1#2\relax
   \bbl at usehooks{adddialect}{{#1}{#2}}%
@@ -8949,6 +9025,7 @@ help from Bernd Raichle, for which I am grateful.
 %    the selection method: 0 is select, 1 is foreign}
 %
 %    \begin{macrocode}
+\bbl at trace{Language selectors}
 \let\bbl at select@type\z@
 \edef\selectlanguage{%
   \noexpand\protect
@@ -9423,6 +9500,7 @@ help from Bernd Raichle, for which I am grateful.
 %    the latter to mark they must not be set again.
 %
 %    \begin{macrocode}
+\bbl at trace{Switching patterns}
 \let\bbl at hyphlist\@empty
 \let\bbl at hyphenation@\relax
 \let\bbl at pttnlist\@empty
@@ -9629,6 +9707,7 @@ help from Bernd Raichle, for which I am grateful.
 %    duplicating each predefined message}    
 %
 %    \begin{macrocode}
+\bbl at trace{Errors, warnings}
 \edef\bbl at nulllanguage{\string\language=0}
 \ifx\PackageError\@undefined
   \def\bbl at error#1#2{%
@@ -10179,6 +10258,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 %    \begin{macrocode}
 %<<*Font selection>>
+\bbl at trace{Font handling with fontspec}
 \@onlypreamble\babelfont
 \newcommand\babelfont[2][]{%  1=langs/scripts 2=fam
   \edef\bbl at tempa{#1}%
@@ -10397,6 +10477,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 %    \begin{macrocode}
 %<<*Footnote changes>>
+\bbl at trace{Bidi footnotes}
 \ifx\bbl at beforeforeign\leavevmode
   \def\bbl at footnote#1#2#3{%
     \@ifnextchar[%
@@ -10498,6 +10579,7 @@ help from Bernd Raichle, for which I am grateful.
 %
 %    \begin{macrocode}
 %<*texxet>
+\bbl at trace{Redefinitions for bidi layout}
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % No layout
 \def\bbl at startskip{\ifcase\bbl at thepardir\leftskip\else\rightskip\fi}
 \def\bbl at endskip{\ifcase\bbl at thepardir\rightskip\else\leftskip\fi}
@@ -10736,6 +10818,7 @@ help from Bernd Raichle, for which I am grateful.
 %    \begin{macrocode}
 %<*luatex>
 \ifx\AddBabelHook\@undefined
+\bbl at trace{Read language.dat}
 \begingroup
   \toks@{}
   \count@\z@ % 0=start, 1=0th, 2=normal
@@ -10816,6 +10899,7 @@ help from Bernd Raichle, for which I am grateful.
     \repeat
   \fi
 \endgroup
+\bbl at trace{Macros for reading patterns files}
 \def\bbl at get@enc#1:#2:#3\@@@{\def\bbl at hyph@enc{#2}}
 \ifx\babelcatcodetablenum\@undefined
   \def\babelcatcodetablenum{5211}
@@ -11051,6 +11135,7 @@ help from Bernd Raichle, for which I am grateful.
 % releases of \luatex{} simplify a lot the solution with |\shapemode|.
 %
 %    \begin{macrocode}
+\bbl at trace{Redefinitions for bidi layout}
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % if no layout
 \ifx\bbl at beforeforeign\leavevmode % A poor test for bidi=
   \def\@hangfrom#1{%
@@ -18147,39 +18232,6 @@ end
 \ifx\scriptsize\@undefined
   \let\scriptsize\sevenrm
 \fi
-%    \end{macrocode}
-%
-% \subsection{\Babel{} options}
-% 
-% \changes{babel~3.9k}{2014/03/22}{Moved code from babel.def, and add
-%    some new tools (not yet documented)} 
-%
-% The file |babel.def| expects some definitions made in the \LaTeX{}
-% style file. So we must provide them at least some predefined values as
-% well some tools to set them (even if not all options are
-% available). There in no package options, and therefore and alternative
-% mechanism is provided. For the moment, only |\babeloptionstrings| and
-% |\babeloptionmath| are provided, which can be defined before loading
-% \babel. |\BabelModifiers| can be set too (but not sure it works).
-%
-% \begin{macrocode}
-\let\bbl at opt@shorthands\@nnil
-\def\bbl at ifshorthand#1#2#3{#2}%
-\ifx\babeloptionstrings\@undefined
-  \let\bbl at opt@strings\@nnil
-\else
-  \let\bbl at opt@strings\babeloptionstrings
-\fi
-\def\bbl at tempa{normal}
-\ifx\babeloptionmath\bbl at tempa
-  \def\bbl at mathnormal{\noexpand\textormath}
-\fi
-\def\BabelStringsDefault{generic}
-\ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
-\let\bbl at afterlang\relax
-\let\bbl at language@opts\@empty
-\ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
-\def\AfterBabelLanguage#1#2{}
 %</plain>
 %    \end{macrocode}
 %
diff --git a/required/babel/babel.ins b/required/babel/babel.ins
index 69c3509..d12ffde 100644
--- a/required/babel/babel.ins
+++ b/required/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/01/24}
+\def\filedate{2018/01/27}
 \def\batchfile{babel.ins}
 \input docstrip.tex
 
diff --git a/required/babel/babel.pdf b/required/babel/babel.pdf
index b8da57f..cc65d7e 100644
Binary files a/required/babel/babel.pdf and b/required/babel/babel.pdf differ
diff --git a/required/babel/bbcompat.dtx b/required/babel/bbcompat.dtx
index 66af9a5..1a104a7 100644
--- a/required/babel/bbcompat.dtx
+++ b/required/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2018/01/24 v3.17]
+\ProvidesFile{bbcompat.dtx}[2018/01/27 v3.17.1169]
 %</dtx>
 %
 %% File 'bbcompat.dtx'
diff --git a/required/babel/samples/lua-arabic.pdf b/required/babel/samples/lua-arabic.pdf
index 374e969..1d934f0 100644
Binary files a/required/babel/samples/lua-arabic.pdf and b/required/babel/samples/lua-arabic.pdf differ
diff --git a/required/babel/samples/lua-arabic.tex b/required/babel/samples/lua-arabic.tex
index bbefb96..524cbdd 100644
--- a/required/babel/samples/lua-arabic.tex
+++ b/required/babel/samples/lua-arabic.tex
@@ -94,9 +94,10 @@ luatexbase.add_to_callback("pre_linebreak_filter", fixkerns, "fixkerns", where)
 
 \bigskip
 
-\foreignlanguage*{english}{In red, a couple of words incorrectly
-rendered by default in the corrent font. It seems a bug in the font
-loader, and a workaround is used in this document (see the source).}
+\foreignlanguage*{english}{Below, in red, a couple of words
+incorrectly rendered by default in the corrent font. It seems a bug in
+the font loader, and a workaround is used in this document (see the
+source).}
 
 \mainmatter
 
@@ -217,20 +218,23 @@ Pseudodoxia Epidemica) الذي صدر عام 1646.
 
 \subsection{جدول التوزيع الإلكتروني}
 
-\foreignlanguage*{english}{(Also from Wikipedia. These examples show
-the column order and some directions must be still sorted
-out. Furthermore, a bullet is misplaced, so \texttt{bidi=basic-r} must
-be fine-tuned.)}
+\foreignlanguage*{english}{Also from Wikipedia. These examples show
+the column order and some directions must be still sorted out. See the
+source for the workaroud used here. Furthermore, the way “New
+Caledonia” is split looks wrong (but actually “correct”).}
+
+\let\ortabular\tabular
+\def\tabular{\mathdir\pagedir\ortabular}
 
 \begingroup
 
 \addfontfeatures{Numbers=ArabicOff}
 
 \begin{center}
-\begin{tabular}{rlrrrrrrr}
+\begin{tabular}{lllllllll}
 \toprule
 \multicolumn{1}{c}{الرقم} & العنصر & 1 & 2 & 3 & 4 & 5 & 6 & 7\\
-\cmidrule(l){1-1}\cmidrule{2-2}\cmidrule(l){3-9}
+\cmidrule(r){1-2}\cmidrule(r){3-9}
 1 & هيدروجين & 1\\
 2 & هيليوم & 2\\
 37 & روبيديوم & 2 & 8 & 18 & 8 & 1\\
@@ -245,12 +249,13 @@ be fine-tuned.)}
 
 \endgroup
 
-\begin{tabular}{rp{8cm}}
+\begin{center}
+\begin{tabular}{lp{8cm}}
   \toprule
   الشعاب المرجانية
   & شعب حلقي • Cay • Fringing reef • Microatoll •
     سمك المرجان • \foreignlanguage{english}{\textit{The Structure and
-    Distribution of Coral Reefs}}\\
+    Distribution of Coral Reefs}}\\[1ex]
   مناطق الشعاب  المرجانية
   & Deep water coral • اندروس وجزر البهاما • الحاجز المرجاني لبليز •
     جزر بحر المرجان • مثلث الشعاب • الحيد المرجاني العظيم • جزر المالديف •
@@ -258,5 +263,6 @@ be fine-tuned.)}
     Ridge • جزر راجا أمبات • البحر الأحمر • Southeast Asian coral reefs\\
   \bottomrule
 \end{tabular}
+\end{center}
 
 \end{document}





More information about the latex3-commits mailing list