summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/quran/tex/quran-transfa.def
diff options
context:
space:
mode:
Diffstat (limited to 'macros/xetex/latex/quran/tex/quran-transfa.def')
-rw-r--r--macros/xetex/latex/quran/tex/quran-transfa.def169
1 files changed, 65 insertions, 104 deletions
diff --git a/macros/xetex/latex/quran/tex/quran-transfa.def b/macros/xetex/latex/quran/tex/quran-transfa.def
index 64af3c5717..d2d03b5e06 100644
--- a/macros/xetex/latex/quran/tex/quran-transfa.def
+++ b/macros/xetex/latex/quran/tex/quran-transfa.def
@@ -1,155 +1,116 @@
-\let\qt@doqt@orig\qt@doqt
-\let\ToggleBasmalah@orig\ToggleBasmalah
+\let\qt@doqt@orig\qt@doqt%
+\let\ToggleBasmalah@orig\ToggleBasmalah%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\basmalahfa{به نام خداوند رحمتگر مهربان \qt@par}
+\def\basmalahfa{به نام خداوند رحمتگر مهربان\qt@par\space}%
\bidi@newrobustcmd\ToggleBasmalahfa{%
\ifx\basmalahfa\relax%
- \def\basmalahfa{به نام خداوند رحمتگر مهربان \qt@par}
+ \def\basmalahfa{به نام خداوند رحمتگر مهربان\qt@par\space}%
\else%
\let\basmalahfa\relax%
\fi%
}%
+\def\Basmalahfa{%
+ \begingroup%
+ \let\par\relax%
+ \def\qt@no##1{\relax}%
+ \quranayahfa[1][1][1]%
+ \endgroup%
+}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\qt@dofa{%
+\DeclareDocumentCommand\qt@dofa{ o o }{%
\addtocounter{qt@count}{1}%
+ \def\@qtexp{}%
\loop%
- \csname qurantrans@fa@\roman{qt@count}\endcsname%
+ \global\xdef\@qtexp{\@qtexp\csname qurantrans@fa@\roman{qt@count}\endcsname\ifnum\value{qt@count}=\qt@max\else\space\fi\qt@par}%
\ifnum\value{qt@count}<\qt@max\relax%
- { }% an extra space between verses
- \qt@par%
\addtocounter{qt@count}{1}%
\repeat%
+ \IfNoValueTF{#1}%
+ {\@qtexp}%true
+ {\qt@WordCount=0\relax\c@qt@start=\numexpr#1-1\relax%
+ \readlist*\qt@words{\@qtexp}%
+ \IfNoValueTF{#2}%
+ {\c@qt@end=\numexpr\qt@wordslen+1\relax}{\c@qt@end=\numexpr#2+1\relax}%
+ \foreachitem\qt@word\in\qt@words{%
+ \ifnum\qt@wordcnt>\c@qt@start\ifnum\qt@wordcnt<\c@qt@end\qt@word\ifnum\qt@wordcnt=\numexpr\c@qt@end-1\relax\else\xspace\fi\fi\fi%
+ }%
+ \qt@showitems{\ifdefined\arabicfont\arabicfont\fi\showitems\qt@words}%
+ }%false
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\qurantextfa{%
- \@ifstar\@@qurantextfa\@qurantextfa%
-}%
-\bidi@newrobustcmd\@@qurantextfa[1][\qt@default]{%
- \let\qt@doqt\qt@dofa%
- \@@qurantext[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\bidi@newrobustcmd\@qurantextfa[1][\qt@default]{%
+\DeclareDocumentCommand{\qurantextfa}{ s O{\qt@default} o t{+} }{%
+ \IfBooleanTF{#4}{\def\qt@showitems##1{\footnote{##1}}}{\def\qt@showitems##1{\relax}}%
\let\qt@doqt\qt@dofa%
- \@qurantext[#1]%
- \let\qt@doqt\qt@doqt@orig%
+ \IfBooleanTF{#1}%
+ {\IfBooleanTF{#4}{\qurantext*[#2][#3]+}{\qurantext*[#2][#3]}}%
+ {\IfBooleanTF{#4}{\qurantext[#2][#3]+}{\qurantext[#2][#3]}}%
+ \let\qt@doqt\qt@doqt@orig%
+ \def\qt@showitems##1{\relax}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quransurahfa{%
- \@ifstar\@@quransurahfa\@quransurahfa%
-}%
-\bidi@newrobustcmd\@@quransurahfa[1][\qt@surah@default]{%
- \let\qt@doqt\qt@dofa%
- \@@quransurah[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\bidi@newrobustcmd\@quransurahfa[1][\qt@surah@default]{%
+\DeclareDocumentCommand\quransurahfa{ s O{\qt@surah@default} }{%
\let\qt@doqt\qt@dofa%
- \lowercase{\def\qt@arglc{#1}}%
- \@quransurah[\qt@arglc]%
- \let\qt@doqt\qt@doqt@orig%
+ \IfBooleanTF{#1}%
+ {\quransurah*[#2]}%
+ {\quransurah[#2]}%
+ \let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranayahfa{%
- \@ifstar\@@quranayahfa\@quranayahfa%
-}%
-\def\@@quranayahfa[#1][#2]{%
+\DeclareDocumentCommand{\quranayahfa}{ s o o o t{+} }{%
\let\qt@doqt\qt@dofa%
\let\ToggleBasmalah\ToggleBasmalahfa%
- \@@quranayah[#1][#2]%
+ \IfBooleanTF{#1}%
+ {\IfBooleanTF{#5}{\quranayah*[#2][#3][#4]+}{\quranayah*[#2][#3][#4]}}%
+ {\IfBooleanTF{#5}{\quranayah[#2][#3][#4]+}{\quranayah[#2][#3][#4]}}%
\let\qt@doqt\qt@doqt@orig%
\let\ToggleBasmalah\ToggleBasmalah@orig%
}%
-\def\@quranayahfa[#1][#2]{%
- \lowercase{\def\qt@arglc{#1}}%
- \let\qt@doqt\qt@dofa%
- \let\ToggleBasmalah\ToggleBasmalahfa%
- \@quranayah[\qt@arglc][#2]%
- \let\qt@doqt\qt@doqt@orig%
- \let\ToggleBasmalah\ToggleBasmalah@orig%
-}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranjuzfa{%
- \@ifstar\@@quranjuzfa\@quranjuzfa%
-}%
-\def\@@quranjuzfa[#1]{%
+\DeclareDocumentCommand{\quranjuzfa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@@quranjuz[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranjuzfa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@quranjuz[#1]%
+ \IfBooleanTF{#1}%
+ {\quranjuz*[#2]}%
+ {\quranjuz[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranpagefa{%
- \@ifstar\@@quranpagefa\@quranpagefa%
-}%
-\def\@@quranpagefa[#1]{%
+\DeclareDocumentCommand{\quranpagefa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@@quranpage[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranpagefa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@quranpage[#1]%
+ \IfBooleanTF{#1}%
+ {\quranpage*[#2]}%
+ {\quranpage[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranquarterfa{%
- \@ifstar\@@quranquarterfa\@quranquarterfa%
-}%
-\def\@@quranquarterfa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@@quranquarter[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranquarterfa[#1]{%
+\DeclareDocumentCommand{\quranquarterfa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@quranquarter[#1]%
+ \IfBooleanTF{#1}%
+ {\quranquarter*[#2]}%
+ {\quranquarter[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranrukufa{%
- \@ifstar\@@quranrukufa\@quranrukufa%
-}%
-\def\@@quranrukufa[#1]{%
+\DeclareDocumentCommand{\quranrukufa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@@quranruku[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranrukufa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@quranruku[#1]%
+ \IfBooleanTF{#1}%
+ {\quranruku*[#2]}%
+ {\quranruku[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranhizbfa{%
- \@ifstar\@@quranhizbfa\@quranhizbfa%
-}%
-\def\@@quranhizbfa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@@quranhizb[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranhizbfa[#1]{%
+\DeclareDocumentCommand{\quranhizbfa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@quranhizb[#1]%
+ \IfBooleanTF{#1}%
+ {\quranhizb*[#2]}%
+ {\quranhizb[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%
-\bidi@newrobustcmd\quranmanzilfa{%
- \@ifstar\@@quranmanzilfa\@quranmanzilfa%
-}%
-\def\@@quranmanzilfa[#1]{%
- \let\qt@doqt\qt@dofa%
- \@@quranmanzil[#1]%
- \let\qt@doqt\qt@doqt@orig%
-}%
-\def\@quranmanzilfa[#1]{%
+\DeclareDocumentCommand{\quranmanzilfa}{ s o }{%
\let\qt@doqt\qt@dofa%
- \@quranmanzil[#1]%
+ \IfBooleanTF{#1}%
+ {\quranmanzil*[#2]}%
+ {\quranmanzil[#2]}%
\let\qt@doqt\qt@doqt@orig%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%