aboutsummaryrefslogtreecommitdiff
path: root/arabluatex.dtx
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2018-08-21 17:52:35 +0200
committerRobert Alessi <alessi@robertalessi.net>2018-08-21 17:52:35 +0200
commitf0195ef546e9c35f539edd3bf01ef8b1b0cb7344 (patch)
tree0209d2382772fc4fb1da465731a25f6b01b604af /arabluatex.dtx
parent7b51f6927c7b900d6512eb67e4dceb17393216b0 (diff)
downloadarabluatex-f0195ef546e9c35f539edd3bf01ef8b1b0cb7344.tar.gz
arabtex2utf: arabverse needed much more work
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r--arabluatex.dtx88
1 files changed, 47 insertions, 41 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index e6b6e87..bb4658b 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -4081,6 +4081,7 @@ wa-ya.sIru ta.hta 'l-jild-i
4081\RequirePackage{xparse} 4081\RequirePackage{xparse}
4082\RequirePackage{environ} 4082\RequirePackage{environ}
4083\RequirePackage{adjustbox} 4083\RequirePackage{adjustbox}
4084\RequirePackage{xstring}
4084% \end{macrocode} 4085% \end{macrocode}
4085% The following boolean will be set to |true| in |RL| mode: 4086% The following boolean will be set to |true| in |RL| mode:
4086% \begin{macrocode} 4087% \begin{macrocode}
@@ -4471,20 +4472,26 @@ wa-ya.sIru ta.hta 'l-jild-i
4471{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 4472{\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4472 metre]{#1}% 4473 metre]{#1}%
4473 \if@pkg@export\ifal@verse@export% 4474 \if@pkg@export\ifal@verse@export%
4474 \ArbOutFile{\begin{arabverse}}% 4475 \ArbOutFile{\begin{arabverse}}%
4475 \luadirect{tooutfile(\luastringN{[#1]})}% 4476 \IfSubStr[1]{#1}{utf}%
4476 \else\fi\else\fi\egroup% 4477 {\luadirect{tooutfile(\luastringN{[#1]})}}%
4478 {\luadirect{tooutfile(\luastringN{[#1, utf]})}}%
4479 \else\fi\else\fi\egroup%
4477 \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% 4480 \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}%
4478 \ifx\al@mode\al@mode@trans% 4481 \ifx\al@mode\al@mode@trans%
4479 \ifal@verse@utf\setRL\else\setLR\fi% 4482 \ifal@verse@utf\setRL\else\setLR\fi%
4480 \else\setRL\fi}% 4483 \else\setRL\fi%
4481{\hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 4484 \arab@v@export{#1}
4482 export]{#1}% 4485 }%
4483 \egroup\par% 4486 {\endarab@v@export
4484 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode, 4487 \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4485 metre]{#1}% 4488 export]{#1}%
4486 \if@pkg@export\ifal@verse@export% 4489 \egroup\par%
4487 \ArbOutFile{\end{arabverse}}\else\fi\else\fi\egroup} 4490 \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4491 metre]{#1}%
4492 \if@pkg@export\ifal@verse@export%
4493 \ArbOutFile{\end{arabverse}}
4494 \else\fi\else\fi\egroup}
4488% \end{macrocode} 4495% \end{macrocode}
4489% \begin{macro}{\bayt} 4496% \begin{macro}{\bayt}
4490% \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting 4497% \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting
@@ -4510,25 +4517,20 @@ wa-ya.sIru ta.hta 'l-jild-i
4510\def\al@hemistich@delim{*} 4517\def\al@hemistich@delim{*}
4511\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}} 4518\NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}}
4512\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} 4519\def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt}
4513\NewDocumentCommand{\bayt}{m o m}{% 4520\NewDocumentCommand{\bayt}{s m o m}{%
4514 \if@pkg@export\ifal@verse@export% 4521 \IfBooleanTF{#1}{\relax}{\relax}%
4515 \luadirect{al_doexport("arabverse")}\else\fi\else\fi%
4516 {^^^^200b}% quick fix to a bug (or a missing feature) in either 4522 {^^^^200b}% quick fix to a bug (or a missing feature) in either
4517 % luacolor or adjustbox 4523 % luacolor or adjustbox
4518 \ifdefined\savenotes\savenotes\else\fi% 4524 \ifdefined\savenotes\savenotes\else\fi%
4519 \edef\al@tatweel{--}% 4525 \edef\al@tatweel{--}%
4520 \if@pkg@export\ifal@verse@export% 4526 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}%
4521 \ArbOutFile{\bayt\@al@ob}\else\fi\else\fi% 4527 \IfNoValueTF{#3}{%
4522 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#1}}%
4523 \if@pkg@export\ifal@verse@export%
4524 \ArbOutFile{\@al@cb}\else\fi\else\fi%
4525 \IfNoValueTF{#2}{%
4526 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}% 4528 \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}%
4527 \else% 4529 \else%
4528 \hspace{\al@gutter@width}% 4530 \hspace{\al@gutter@width}%
4529 \fi 4531 \fi
4530 }{% 4532 }{%
4531 \edef\@tempa{#2}% 4533 \edef\@tempa{#3}%
4532 \ifx\@tempa\al@tatweel% 4534 \ifx\@tempa\al@tatweel%
4533 \ifx\al@mode\al@mode@trans% 4535 \ifx\al@mode\al@mode@trans%
4534 \hspace{\al@gutter@width}% 4536 \hspace{\al@gutter@width}%
@@ -4537,29 +4539,15 @@ wa-ya.sIru ta.hta 'l-jild-i
4537 \fi% 4539 \fi%
4538 \else% 4540 \else%
4539 \ifx\al@mode\al@mode@trans% 4541 \ifx\al@mode\al@mode@trans%
4540 \if@pkg@export\ifal@verse@export% 4542 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#3}}%
4541 \ArbOutFile{[}\else\fi\else\fi%
4542 \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#2}}%
4543 \if@pkg@export\ifal@verse@export%
4544 \ArbOutFile{]}\else\fi\else\fi%
4545 \else% 4543 \else%
4546 \if@pkg@export\ifal@verse@export% 4544 \makebox[\al@gutter@width][s]{\arb@utf{#3}}%
4547 \ArbOutFile{[}\else\fi\else\fi%
4548 \makebox[\al@gutter@width][s]{\arb@utf{#2}}%
4549 \if@pkg@export\ifal@verse@export%
4550 \ArbOutFile{]}\else\fi\else\fi%
4551 \fi\fi}% 4545 \fi\fi}%
4552 \if@pkg@export\ifal@verse@export% 4546 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#4}}%
4553 \ArbOutFile{\@al@ob}\else\fi\else\fi%
4554 \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#3}}%
4555 \if@pkg@export\ifal@verse@export%
4556 \ArbOutFile{\@al@cb\\ }\else\fi\else\fi%
4557 \ifdefined\spewnotes\spewnotes\else\fi% 4547 \ifdefined\spewnotes\spewnotes\else\fi%
4558 \if@pkg@export\ifal@verse@export%
4559 \luadirect{al_doexport("no")}\else\fi\else\fi%
4560} 4548}
4561% \end{macrocode} 4549% \end{macrocode}
4562% \end{macro} 4550% \end{macro}
4563% \end{environment} 4551% \end{environment}
4564% \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument 4552% \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument
4565% in Arabic letters in accordance with the \arb[trans]{'abjad} 4553% in Arabic letters in accordance with the \arb[trans]{'abjad}
@@ -4691,8 +4679,26 @@ wa-ya.sIru ta.hta 'l-jild-i
4691 \BODY 4679 \BODY
4692 \luadirect{al_doexport("yes")} 4680 \luadirect{al_doexport("yes")}
4693 \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))} 4681 \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))}
4682 \luadirect{al_doexport("no")}
4694 \else\par\BODY\fi 4683 \else\par\BODY\fi
4695 }[\if@pkg@export\par\luadirect{al_doexport("no")}\else\par\fi] 4684 }[\par]
4685% \end{macrocode}
4686% \end{environment}
4687% \begin{environment}{arab@v@export} The |arab@v@export| environment
4688% does for |arabverse| the same as |arabexport|. It is used
4689% internally by |arabverse|.
4690% \begin{macrocode}
4691\NewEnviron{arab@v@export}[1]{%
4692 \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
4693 metre]{#1}
4694 \if@pkg@export\ifal@verse@export%
4695 \par
4696 \BODY
4697 \luadirect{al_doexport("arabverse")}
4698 \luadirect{tex.sprint(arbtoutf(\luastringO{\BODY}))}
4699 \luadirect{al_doexport("no")}
4700 \else\par\BODY\fi\else\par\BODY\fi
4701}[\par]
4696% \end{macrocode} 4702% \end{macrocode}
4697% \end{environment} 4703% \end{environment}
4698% \begin{macro}{\arbpardir} 4704% \begin{macro}{\arbpardir}