summaryrefslogtreecommitdiff
path: root/macros/luatex/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-03 03:01:05 +0000
committerNorbert Preining <norbert@preining.info>2023-10-03 03:01:05 +0000
commit75afa6c3d445abbfd4e8c0cb9d2d24eb4d1b71fe (patch)
treebe5945dc96693dc01b26eb16df1472a193fdf93c /macros/luatex/latex
parent5f9c1e9c3c9b2ac59c6f868744ee6fafee27ab39 (diff)
CTAN sync 202310030301
Diffstat (limited to 'macros/luatex/latex')
-rw-r--r--macros/luatex/latex/luabidi/LICENCE.md3
-rw-r--r--macros/luatex/latex/luabidi/README.md9
-rw-r--r--macros/luatex/latex/luabidi/doc/luabidi.pdfbin91872 -> 92329 bytes
-rw-r--r--macros/luatex/latex/luabidi/doc/luabidi.tex5
-rw-r--r--macros/luatex/latex/luabidi/tex/luabidi.sty55
5 files changed, 54 insertions, 18 deletions
diff --git a/macros/luatex/latex/luabidi/LICENCE.md b/macros/luatex/latex/luabidi/LICENCE.md
index 7de4faf488..0b766dd22e 100644
--- a/macros/luatex/latex/luabidi/LICENCE.md
+++ b/macros/luatex/latex/luabidi/LICENCE.md
@@ -1,6 +1,7 @@
# MIT Licence
-Copyright (c) Vafa Khalighi 2009, Arthur Reutenauer 2013, 2019, Jürgen Spitzmüller 2019.
+Copyright (c) Vafa Khalighi 2009, Arthur Reutenauer 2013, 2019-2023,
+Jürgen Spitzmüller 2019-2023.
The licence for all files within this package is (the MIT
licence)[https://opensource.org/licenses/MIT] unless otherwise noted.
diff --git a/macros/luatex/latex/luabidi/README.md b/macros/luatex/latex/luabidi/README.md
index f889e844c6..c3c8a6d452 100644
--- a/macros/luatex/latex/luabidi/README.md
+++ b/macros/luatex/latex/luabidi/README.md
@@ -5,4 +5,11 @@ does for XeTeX.
## CTAN Package
https://www.ctan.org/pkg/luabidi
-Copyright (c) Vafa Khalighi 2009, Arthur Reutenauer 2013, 2019, Jürgen Spitzmüller 2019
+Copyright (c) Vafa Khalighi 2009, Arthur Reutenauer 2013, 2019-2023,
+Jürgen Spitzmüller 2019-2023
+
+Except for luabidi.sty, all files in this package are licensed under the terms
+of the MIT licence in the wording of the Open Source Initiative
+(https://opensource.org/licenses/MIT). The file luabidi.sty is licensed under
+the LaTeX Project Public License (https://www.latex-project.org/lppl/), either
+version 1.3c or, at your option, any later version.
diff --git a/macros/luatex/latex/luabidi/doc/luabidi.pdf b/macros/luatex/latex/luabidi/doc/luabidi.pdf
index 8e31b11622..66b4d02bd4 100644
--- a/macros/luatex/latex/luabidi/doc/luabidi.pdf
+++ b/macros/luatex/latex/luabidi/doc/luabidi.pdf
Binary files differ
diff --git a/macros/luatex/latex/luabidi/doc/luabidi.tex b/macros/luatex/latex/luabidi/doc/luabidi.tex
index 3dc17fe720..3865929b0b 100644
--- a/macros/luatex/latex/luabidi/doc/luabidi.tex
+++ b/macros/luatex/latex/luabidi/doc/luabidi.tex
@@ -80,6 +80,8 @@ pdfkeywords={luatex, lualatex, multilingual, bidi}
\begin{document}
\hyphenation{Kha-li-ghi Reu-ten-auer}
\GetFileInfo{luabidi.sty}
+% not correctly set
+\def\fileversion{0.6}
\title{\lbd\\\color{myblue}Bidirectional typesetting in \LuaLaTeX}
@@ -226,6 +228,9 @@ The following macros are provided:
\section{Revision Log}
\begin{description}
+ \item[v. 0.6 (2023/10/01)] Fixing a bug in \cmd{\RLE} and \cmd{\LRE}; Switching \cmd{\bodydir} inside long RTL/LTR text;
+ ensuring \cmd{\bodydir} and \cmd{\pagedir} are equal at shipout; patching lists to use a correct value of \cmd{\shapemode};
+ Setting \cmd{\breakafterdirmode} and \cmd{\matheqdirmode} to 1. Patch kindly provided by Udi Fogiel.
\item[v. 0.5 (2019/10/27)] Add \cmd{\RTLfootnote}, \cmd{\LTRfootnote}, and \cmd{\hboxR}; fix \texttt{autofootnoterule} option; add \cmd{\autofootnoterule},
\cmd{\leftfootnoterule}, \cmd{\rightfootnoterule} and \cmd{\textwidthfootnoterule}; add manual.
\item[v. 0.4 (2019/08/24)] Fix \cmd{\@ensure@RTL}.
diff --git a/macros/luatex/latex/luabidi/tex/luabidi.sty b/macros/luatex/latex/luabidi/tex/luabidi.sty
index 4277a1f173..47e4d92d07 100644
--- a/macros/luatex/latex/luabidi/tex/luabidi.sty
+++ b/macros/luatex/latex/luabidi/tex/luabidi.sty
@@ -1,13 +1,14 @@
%% This file is luabidi.sty
%% This is part of the luabidi package
%%
-%% Copyright © 2009 Vafa Khalighi, 2013--2019 Arthur Reutenauer, 2019 Jürgen Spitzmüller
+%% Copyright © 2009 Vafa Khalighi, 2013--2023 Arthur Reutenauer,
+%% 2019--2023 Jürgen Spitzmüller
%%
%%%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luabidi}[2019/10/27 v0.5
+\ProvidesPackage{luabidi}[2023/10/01 v0.6
Bidirectional typesetting in LuaTeX]
\RequirePackage{etoolbox}
@@ -29,20 +30,19 @@
\newif\if@RTL
\newif\if@RTLmain
-\@RTLmainfalse
-\def\setRTLmain{\@RTLmaintrue\pagedir TRT \bodydir TRT \pardir TRT \textdir TRT}
-\def\setRTL{\@RTLtrue\pardir TRT \textdir TRT}
+\def\setRTLmain{\@RTLmaintrue\pagedir TRT\bodydir TRT\pardir TRT\textdir TRT}
+\def\setRTL{\@RTLtrue\bodydir TRT\pardir TRT\textdir TRT}
\let\setRL=\setRTL
-\def\setLTR{\@RTLfalse\pardir TLT \textdir TLT}
+\def\setLTR{\@RTLfalse\bodydir TLT\pardir TLT\textdir TLT}
\let\setLR=\setLTR
\let\unsetRTL=\setLTR
\let\unsetLTR=\setRTL
-\def\RTL{\@RTLtrue\trivlist \pardir TRT \textdir TRT\item\relax}
-\def\endRTL{\@RTLfalse\endtrivlist}
-\def\LTR{\trivlist \pardir TLT \textdir TLT\item\relax}
-\def\endLTR{\endtrivlist}
-\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi}
-\def\@ensure@LTR#1{\if@RTL\LRE{#1}\else{#1}\fi}
+\def\RTL{\par\@RTLtrue\bodydir TRT\pardir TRT\textdir TRT}
+\def\endRTL{\par}
+\def\LTR{\par\@RTLfalse\bodydir TLT\pardir TLT \textdir TLT}
+\def\endLTR{\par}
+\def\@ensure@RTL#1{\if@RTL #1\else\RLE{#1}\fi}
+\def\@ensure@LTR#1{\if@RTL\LRE{#1}\else #1\fi}
\def\@ensure@dir#1{\if@RTL\RLE{#1}\else{#1}\fi}
\let\@ensure@maindir=\@ensuredir
\let\n@xt=\
@@ -52,13 +52,38 @@
\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= }
\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi
\errmessage{Missing left brace has been substituted}\fi \bgroup}
-\def\moreLRE{\bracetext \aftergroup\unsetLTR \setLTR\@RTLfalse}
-\def\moreRLE{\bracetext \aftergroup\unsetRTL \setRTL\@RTLtrue}
+\def\moreLRE{\bracetext \leavevmode\@RTLfalse\textdir TLT}
+\def\moreRLE{\bracetext \leavevmode\@RTLtrue\textdir TRT}
\let\LR=\LRE
\let\RL=\RLE
\def\hboxR#1{\hbox{\RL{#1}}}
%
+% If \pagedir is different from \pardir then \shapemode needs to be 2 for \parshape in lists
+%
+
+\let\luabidi@OL@list\list
+\patchcmd\list{\parshape}{\luabidi@parshape}{}{}
+\def\luabidi@parshape#1#2#3{%
+ \parshape #1 #2 #3 %
+ \ifnum\pagedirection=\pardirection\else
+ \shapemode\tw@
+\fi}
+
+%
+% making sure \bodydir is the same as \pagedir at \output time
+%
+
+\output\expandafter{\expandafter\bodydir\expandafter\pagedir\the\output}
+
+%
+% The following registers are set to 1 to fix some bugs in the engine. See sections 3.3.3 and 7.5.3 of LuaTeX's manual.
+%
+
+\matheqdirmode=1
+\breakafterdirmode=1
+
+%
% Footnotes
%
@@ -70,11 +95,9 @@
% This needs to be loaded late because of the switch
\AtEndPreamble{%
- \makeatletter
\ifluabidi@autofootnoterule
\input{luabidi-autofootnoterule.def}
\fi
- \makeatother
}
\endinput