summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty')
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty126
1 files changed, 69 insertions, 57 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
index ebe1ff2a831..f5d9d08fbe6 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty
@@ -41,7 +41,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{arabluatex}
- [2019/03/22 v1.16 An ArabTeX-like interface for LuaLaTeX]
+ [2019/03/24 v1.17 An ArabTeX-like interface for LuaLaTeX]
\RequirePackage{ifluatex}
\ifluatex\else
\PackageError{arabluatex}{lualatex needed}{%
@@ -57,9 +57,9 @@
\DeclareOptionX{trans}{\def\al@mode{trans}}
\define@boolkey{arabluatex.sty}[@pkg@]{export}[true]{%
\if@pkg@export%
- \AtBeginDocument{\luadirect{al_openstream()}%
+ \AtBeginDocument{\luadirect{arabluatex.openstream()}%
\MkArbBreak{@al@ob,@al@cb,@al@cb@sp}}
- \AtEndDocument{\luadirect{al_closestream()}}
+ \AtEndDocument{\luadirect{arabluatex.closestream()}}
\else\fi}
\ExecuteOptionsX{voc}
\ProcessOptionsX\relax
@@ -74,7 +74,6 @@
\RequirePackage{fontspec}
\RequirePackage{luacode}
\RequirePackage{xparse}
-\RequirePackage{environ}
\RequirePackage{adjustbox}
\RequirePackage{xstring}
\PassOptionsToPackage{normalem}{ulem}
@@ -85,8 +84,10 @@
\PackageWarning{arabluatex}{\string\arabicfont\ is not defined.^^J
I will try to load Amiri}%
\newfontfamily\arabicfont[Script=Arabic]{Amiri}\fi}%
-\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT\textdir TRT}}
-\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT\textdir TLT}}
+\AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT%
+ \textdir TRT}}
+\AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT%
+ \textdir TLT}}
\AtBeginDocument{\ifdef{\LR}%
{\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}
{\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}}
@@ -95,8 +96,8 @@
{\NewDocumentCommand{\RL}{m}{\bgroup\textdir TRT#1\rmfamily\egroup}}}
\NewDocumentCommand{\MkArbBreak}{s m}{%
\IfBooleanTF{#1}
- {\luadirect{mkarbbreak(\luastringN{#2}, "out")}}
- {\luadirect{mkarbbreak(\luastringN{#2}, "dflt")}}
+ {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "out")}}
+ {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "dflt")}}
}
\def\oline{\@ifstar\@oline\@@oline}
\def\@oline#1{\ensuremath{\overline{\mbox{#1}}}}
@@ -104,12 +105,16 @@
\AtBeginDocument{\ifdef{\aemph}%
{\RenewDocumentCommand{\aemph}{s m}{%
\IfBooleanTF{#1}{%
- \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}}
- {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}}
+ \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
+ "over"))}}
+ {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
+ "dflt"))}}}}
{\NewDocumentCommand{\aemph}{s m}{%
\IfBooleanTF{#1}{%
- \luadirect{tex.sprint(aemph(\luastringN{#2}, "over"))}}
- {\luadirect{tex.sprint(aemph(\luastringN{#2}, "dflt"))}}}}}
+ \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
+ "over"))}}
+ {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
+ "dflt"))}}}}}
\NewDocumentCommand{\arbcolor}{o m}{%
\IfNoValueTF{#1}{#2}{\textcolor{#1}{#2}}}
\def\al@input@scheme{arabtex}
@@ -128,15 +133,17 @@
\def\al@trans@style{\itshape}%
\NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}}
\def\al@trans@convention{dmg}
-\NewDocumentCommand{\SetTranslitConvention}{m}{\def\al@trans@convention{#1}}
-\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{\thinspace#1}}%
+\NewDocumentCommand{\SetTranslitConvention}{m}{%
+ \def\al@trans@convention{#1}}
+\NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}%
\NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}}
\NewDocumentCommand{\arbup}{m}{\al@arbup{#1}}
\NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt}
\NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}}
-\NewDocumentCommand{\SetArbUp}{m}{\RenewDocumentCommand{\al@arbup}{m}{#1}}
+\NewDocumentCommand{\SetArbUp}{m}{%
+ \RenewDocumentCommand{\al@arbup}{m}{#1}}
\NewDocumentCommand{\uc}{m}%
- {\luadirect{tex.sprint(uc(\luastringN{#1}))}}
+ {\luadirect{tex.sprint(arabluatex.uc(\luastringN{#1}))}}
\let\Uc\uc
\NewDocumentCommand{\prname}{s m}{%
\bgroup\SetTranslitStyle{\relax}%
@@ -153,22 +160,22 @@
{\edef\@tempa{#1}%
\ifx\@tempa\al@mode@voc%
\bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processvoc(\luastringN{#2},
+ \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@fullvoc%
\bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processfullvoc(\luastringN{#2},
+ \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@novoc%
\bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringN{#2},
+ \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@trans%
\bgroup\textdir TLT\al@trans@font\al@trans@style%
- \luadirect{tex.sprint(processtrans(\luastringN{#2},
+ \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
\luastringO{\al@trans@convention},
\luastringO{\al@arb@rules},
\luastringO{\al@input@scheme}))}\egroup%
@@ -177,38 +184,39 @@
\NewDocumentCommand{\arbmark}{O{} m}{%
\bgroup%
\SetInputScheme{arabtex}%
- \luadirect{tex.sprint(processarbmarks(\luastringN{#2},
+ \luadirect{tex.sprint(arabluatex.processarbmarks(\luastringN{#2},
\luastringN{#1}))}%
\egroup}
\NewDocumentCommand{\newarbmark}{m m m}{%
- \luadirect{newarbmark(\luastringN{#1}, \luastringN{#2}, \luastringN{#3})}}
-\NewEnviron{arab}[1][\al@mode]%
+ \luadirect{arabluatex.newarbmark(\luastringN{#1}, \luastringN{#2},
+ \luastringN{#3})}}
+\NewDocumentEnvironment{arab}{O{\al@mode} +b}%
{\par\edef\@tempa{#1}%
\ifx\@tempa\al@mode@voc%
\booltrue{al@rlmode}%
\bgroup\pardir TRT\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processvoc(\luastringO{\BODY},
+ \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@fullvoc%
\booltrue{al@rlmode}%
\bgroup\pardir TRT\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY},
+ \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@novoc%
\booltrue{al@rlmode}%
\bgroup\pardir TRT\textdir TRT\arabicfont%
- \luadirect{tex.sprint(processnovoc(\luastringO{\BODY},
+ \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2},
\luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
\else%
\ifx\@tempa\al@mode@trans%
\bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style%
- \luadirect{tex.sprint(processtrans(\luastringO{\BODY},
+ \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
\luastringO{\al@trans@convention},
\luastringO{\al@arb@rules},
\luastringO{\al@input@scheme}))}\egroup%
- \else \fi\fi\fi\fi}[\par]
+ \else \fi\fi\fi\fi}{\par}
\newlength{\al@bayt@width}
\newlength{\al@gutter@width}
\setlength{\al@bayt@width}{.3\textwidth}
@@ -230,11 +238,11 @@
\if@pkg@export\ifal@verse@export%
\ArbOutFile{\begin{arabverse}}%
% \ifx\al@mode\al@mode@trans%
- % \luadirect{tooutfile(\luastringN{[#1]})}%
+ % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}%
% \else%
\IfSubStr[1]{#1}{utf}%
- {\luadirect{tooutfile(\luastringN{[#1]})}}%
- {\luadirect{tooutfile(\luastringN{[#1, utf]})}}%
+ {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}%
+ {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}%
% \fi
\else\fi\else\fi\egroup%
\par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}%
@@ -246,7 +254,7 @@
\else%
\ifx\al@mode\al@mode@trans\setLR\else\setRL\fi%
\fi%
- \arab@v@export{#1}
+ \arab@v@export[#1]
}%
{\endarab@v@export
\hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
@@ -293,19 +301,21 @@
\ifdefined\abjad%
\RenewDocumentCommand{\abjad}{m}%
{\ifbool{al@rlmode}%
- {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}}
- {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}}
+ {\oline*{%
+ \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
+ {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
\else%
\NewDocumentCommand{\abjad}{m}%
{\ifbool{al@rlmode}%
- {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}}
- {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}}
+ {\oline*{%
+ \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
+ {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
\fi}
\NewDocumentCommand{\ayah}{m}{%
- \luadirect{tex.sprint(ayah(\luastringN{#1}))}}
+ \luadirect{tex.sprint(arabluatex.ayah(\luastringN{#1}))}}
\NewDocumentCommand{\arbnull}{m}{\relax}
\NewDocumentCommand{\abraces}{+m}{%
- \luadirect{tex.sprint(abraces(\luastringN{#1}))}}
+ \luadirect{tex.sprint(arabluatex.abraces(\luastringN{#1}))}}
\DeclareDocumentCommand{\LRmarginpar}{o m}{%
\IfNoValueTF{#1}
{\marginpar{\textdir TLT #2}}
@@ -316,37 +326,39 @@
TRT\textdir TRT\footnote{#1}\egroup}
\NewDocumentCommand{\FixArbFtnmk}{}{%
\@ifpackageloaded{scrextend}%
- {\AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}%
+ {\AtBeginDocument{%
+ \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}%
{\RequirePackage{scrextend}
- \AtBeginDocument{\deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}}
+ \AtBeginDocument{%
+ \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}}
\NewDocumentCommand{\SetArbOutSuffix}{m}{
- \luadirect{al_utffilesuffix(\luastringN{#1})}}
+ \luadirect{arabluatex.utffilesuffix(\luastringN{#1})}}
\NewDocumentCommand{\ArbOutFile}{s O{no} +m}{%
\if@pkg@export%
\IfBooleanTF{#1}{%
- #3\luadirect{tooutfile(\luastringN{#3}, "#2")}}{%
- \luadirect{tooutfile(\luastringN{#3}, "#2")}}%
+ #3\luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}{%
+ \luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}%
\else\IfBooleanTF{#1}{#3}{}\fi}
-\NewEnviron{arabexport}{%
+\NewDocumentEnvironment{arabexport}{+b}{%
\if@pkg@export%
\par
- \BODY
- \luadirect{al_doexport("yes")}
- \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))}
- \luadirect{al_doexport("no")}
- \else\par\BODY\fi
- }[\par]
-\NewEnviron{arab@v@export}[1]{%
+ #1
+ \luadirect{arabluatex.doexport("yes")}
+ \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#1}))}
+ \luadirect{arabluatex.doexport("no")}
+ \else\par#1\fi
+ }{\par}
+\NewDocumentEnvironment{arab@v@export}{O{} +b}{%
\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
metre]{#1}
\if@pkg@export\ifal@verse@export%
\par
- \BODY
- \luadirect{al_doexport("arabverse")}
- \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))}
- \luadirect{al_doexport("no")}
- \else\par\BODY\fi\else\par\BODY\fi
-}[\par]
+ #2
+ \luadirect{arabluatex.doexport("arabverse")}
+ \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))}
+ \luadirect{arabluatex.doexport("no")}
+ \else\par#2\fi\else\par#2\fi
+}{\par}
\NewDocumentCommand{\arbpardir}{}{%
\ifx\al@mode\al@mode@trans\setLR\else\setRL\fi}
\newcommand{\al@warning}[1]{\PackageWarning{arabluatex}{#1}}