diff options
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty')
-rw-r--r-- | Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty | 126 |
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}} |