From aa160a2fb75d07c7575e7677a8450896044269d3 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Wed, 25 May 2016 18:52:33 +0200 Subject: =?UTF-8?q?implementation=20of=20=CA=BEi=CA=BFr=C4=81b=20=C4=A1ayr?= =?UTF-8?q?=20mun=E1=B9=A3arif=20(dmg=20mode)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arabluatex.dtx | 489 +++++++++++++++++++++++++------------------------ arabluatex.lua | 44 ++++- arabluatex_fullvoc.lua | 60 ++++-- arabluatex_trans.lua | 82 ++++++--- arabluatex_voc.lua | 46 +++-- 5 files changed, 428 insertions(+), 293 deletions(-) diff --git a/arabluatex.dtx b/arabluatex.dtx index 4396804..613257b 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx @@ -131,7 +131,7 @@ \usepackage{dox} \doxitem{Option}{option}{options} \def\actualchar{ =} -\usepackage{fontspec,luatextra,realscripts} +\usepackage{fontspec,luatextra} \defaultfontfeatures{RawFeature={+liga;+onum;+hlig}} \setmainfont{Libertinus Serif} \setsansfont{Libertinus Sans} @@ -509,20 +509,20 @@ % \item \cs{SetArbDflt}: % \begin{compactenum}[i.] % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \end{compactenum} % \item \cs{SetArbEasy}: % \begin{compactenum}[i.]\SetArbEasy % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i} +% kitAba-hu fI nujUm-i 'l-samA'-i} % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma -% kitAba-hu fI nujUmi 'l-samA'i}\SetArbDflt +% kitAba-hu fI nujUm-i 'l-samA'-i}\SetArbDflt % \end{compactenum} % \end{compactenum} % @@ -546,11 +546,11 @@ Please note that this document is typeset with \cs{SetArbDflt} throughout. \begin{arabluacode} From \textcite[i. 1 A]{Wright}:--- Arabic, like Hebrew and Syriac, is written and read from right to left. The letters -of the alphabet (\arb{.hurUfu 'l-hijA'i}, \arb{.hurUfu -'l-tahajjI}, \arb{al-.hurUfu 'l-hijA'iyyaTu}, or \arb{.hurUfu -'l-mu`jami}) are twenty-eight in number and are all -consonants, though three of them are also used as vowels -(see §~3). +of the alphabet (\arb{.hurUf-u 'l-hijA'-i}, \arb{.hurUf-u +'l-tahajjI}, \arb{al-.hurUf-u 'l-hijA'iyyaT-u}, or +\arb{.hurUf-u 'l-mu`jam-i}) are twenty-eight in number and +are all consonants, though three of them are also used as +vowels (see §~3). \end{arabluacode} % \iffalse % @@ -579,15 +579,15 @@ consonants, though three of them are also used as vowels \begin{arab} 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN qa.sIraTiN. wa-qAla la-hu: - \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i + \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla ju.hA: \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an - 'u.haqqiqa la-ka .garbata-ka fa-'l-.himAru laysa hunA - 'l-yawma.} wa-qabla 'an yutimma ju.hA kalAma-hu bada'a - 'l-.himAru yanhaqu fI 'i.s.tabili-hi. fa-qAla la-hu + 'u.haqqiqa la-ka .garbata-ka fa-'l-.himAr-u laysa hunA + 'l-yawm-a.} wa-qabla 'an yutimma ju.hA kalAma-hu bada'a + 'l-.himAr-u yanhaqu fI 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u .himAra-ka yA ju.hA yanhaqu.} fa-qAla la-hu ju.hA: \enquote{.garIbuN - 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra + 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_dibu-nI?} \end{arab} \end{arabluacode} @@ -694,7 +694,7 @@ consonants, though three of them are also used as vowels % \arb[novoc]{A} & \dmg{A} & \loc{A} & \verb|A| \\ % \arb[novoc]{U} & \dmg{U} & \loc{U} & \verb|U| \\ % \arb[novoc]{I} & \dmg{I} & \loc{I} & \verb|I| \\ -% \arb[novoc]{_A}\footnote{$=$ \arb[trans]{al-'alifu 'l-maq.sUraTu}.} +% \arb[novoc]{_A}\footnote{$=$ \arb[trans]{al-'alif-u 'l-maq.sUraT-u}.} % & \dmg{_A} & \loc{_A} & \verb|_A| or \verb|Y| \\ % \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & \verb|_a| \\ % \arb[novoc]{B_u} & \dmg{B_u} & \loc{B_u} & \verb|_u| \\ @@ -705,8 +705,8 @@ consonants, though three of them are also used as vowels % % \begin{quoting} % \textsc{Rem.}~\emph{a.} The long vowels \arb[trans]{A, U, I}, -% otherwise called \arb[trans]{.hurUfu 'l-maddi}, \emph{the letters -% of prolongation}, involve the placing of the short vowels +% otherwise called \arb[trans]{.hurUf-u 'l-madd-i}, \emph{the +% letters of prolongation}, involve the placing of the short vowels % \arb[trans]{Ba, Bu, Bi} before the letters \arb[novoc]{A}, % \arb[novoc]{U}, \arb[novoc]{I} respectively. \package{arabluatex} % does that automatically in case any from |voc|, |fullvoc| or @@ -715,13 +715,13 @@ consonants, though three of them are also used as vowels % \arb[trans]{yaqUlu}. % % \textsc{Rem.}~\emph{b.} Defective writings, such as -% \arb[novoc]{B_a}, \arb[trans]{al-'alifu 'l-ma.h_dUfaTu}, or +% \arb[novoc]{B_a}, \arb[trans]{al-'alif-u 'l-ma.h_dUfaT-u}, or % defective writings of \arb[trans]{B_u} and \arb[trans]{B_i} are % encoded |_a| |_u| and |_i| respectively, e.g. |_d_alika| -% \arb[voc]{_d_alika}, |al-mal_a'ikaTu| |'l-ra.hm_anu| -% \arb[voc]{al-mal_a'ikaTu 'l-ra.hm_anu}, |.hu_dayfaTu| |bnu| -% |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaTu bnu 'l-yamAn_i} for -% \arb[trans]{\cap{.hu_dayfaTu} bnu 'l-\cap{yamAn_i}}, etc. +% \arb[voc]{_d_alika}, |al-mal_a'ikaT-u| |'l-ra.hm_an-u| +% \arb[voc]{al-mal_a'ikaT-u 'l-ra.hm_an-u}, |.hu_dayfaT-u| |bn-u| +% |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaT-u bn-u 'l-yamAn_i} for +% \arb[trans]{\cap{.hu_dayfaT-u} bn-u 'l-\cap{yamAn_i}}, etc. % \end{quoting} % % \subsubsection{Short vowels} @@ -815,7 +815,7 @@ consonants, though three of them are also used as vowels % \end{quote} % % \paragraph{\arb[trans]{'alif} \emph{otiosum}} Said -% \arb[trans]{'alifu 'l-wiqAyaTi}, \enquote{the guarding +% \arb[trans]{'alif-u 'l-wiqAyaT-i}, \enquote{the guarding % \arb[trans]{'alif}}\,, after \arb[novoc]{U} at the end of a word, both % when preceded by \arb[trans]{.dammaT} and by \arb[trans]{fat.haT} is % written \meta{UA} or \meta{aW, aWA}: @@ -830,16 +830,17 @@ consonants, though three of them are also used as vowels % \paragraph{\arb[trans]{'alif ma.h_dUfaT} and defective \arb[trans]{U, % I}} They are written \meta{\_a, \_i \_u}: % \begin{quote} -% |al-l_ahu| \arb[voc]{al-l_ahu} \arb[trans]{al-l_ahu}, |'il_ahuN| -% \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}. -% -% |al-ra.hm_anu| \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, -% |l_akin| \arb[voc]{l_akin} \arb[trans]{l_akin}, |h_ahunA| -% \arb[voc]{h_ahunA} \arb[trans]{h_ahunA}, |.hunaynu| |bnu| -% |'is.h_aqa| \arb[voc]{.hunaynu bnu 'is.h_aqa} -% \arb[trans]{\cap{.hunaynu} bnu \cap{'is.h_aqa}}, |rabb_i| -% \arb[voc]{rabb_i} \arb[trans]{rabb_i}, |al-`A.s_i| -% \arb[voc]{al-`A.s_i} \arb[trans]{al-\cap{`A.s_i}}. +% |al-l_ah-u| \arb[voc]{al-l_ah-u} \arb[trans]{al-l_ah-u}, +% |'il_ahuN| \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}. +% +% |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u} +% \arb[trans]{al-ra.hm_an-u}, |l_akin| \arb[voc]{l_akin} +% \arb[trans]{l_akin}, |h_ahunA| \arb[voc]{h_ahunA} +% \arb[trans]{h_ahunA}, |.hunayn-u| |bn-u| |'is.h_aq-a| +% \arb[voc]{.hunayn-u bn-u 'is.h_aq-a} \arb[trans]{\cap{.hunayn}-u +% bn-u \cap{'is.h_aq-a}}, |rabb_i| \arb[voc]{rabb_i} +% \arb[trans]{rabb_i}, |al-`A.s_i| \arb[voc]{al-`A.s_i} +% \arb[trans]{al-\cap{`A.s_i}}. % \end{quote} % % \paragraph{Silent \arb[novoc]{U}/\arb[novoc]{I}} @@ -856,8 +857,8 @@ consonants, though three of them are also used as vowels % |mi^sk_aUTuN| \arb[voc]{mi^sk_aUTuN} \arb[trans]{mi^sk_aUTuN}, % |tawr_aITuN| \arb[voc]{tawr_aITuN} \arb[trans]{tawr_aITuN}. % -% And so also: |al-rib_aITu| \arb[voc]{al-rib_aITu}. -% \arb[trans]{al-rib_aITu} +% And so also: |al-rib_aIT-u| \arb[voc]{al-rib_aIT-u} +% \arb[trans]{al-rib_aIT-u}. % \end{quote} % % \paragraph{\arb[trans]{\cap{`amruNU}}, and the silent @@ -870,12 +871,13 @@ consonants, though three of them are also used as vowels % \arb[voc]{`amraNU} \arb[trans]{`amraNU}, |`amriNU| % \arb[voc]{`amriNU} \arb[trans]{`amriNU}. % -% When the \arb[trans]{tanwIn} falls away \parencite[i. 249 -% B]{Wright}: |`amruU| |bnu| |mu.hammadiN| \arb[fullvoc]{`amruU bnu -% mu.hammadiN} \arb[trans]{\cap{`amruU} bnu \cap{mu.hammadiN}}, -% |mu.hammadu| |bnu| |`amriU| |bni| |_hAlidiN| -% \arb[fullvoc]{mu.hammadu bnu `amriU bni _hAlidiN} -% \arb[trans]{\cap{mu.hammadu} bnu \cap{`amriU} bni \cap{_hAlidiN}}. +% When the \arb[trans]{tanwIn} falls away \parencite[i. 249 +% B]{Wright}: |`amr-uU| |bn-u| |mu.hammadiN| \arb[fullvoc]{`amr-uU +% bnu mu.hammadiN} \arb[trans]{\cap{`amr-uU} bn-u +% \cap{mu.hammadiN}}, |mu.hammad-u| |bn-u| |`amr-iU| |bn-i| +% |_hAlidiN| \arb[fullvoc]{mu.hammad-u bn-u `amr-iU bn-i _hAlidiN} +% \arb[trans]{\cap{mu.hammad-u} bn-u \cap{`amr-iU} bn-i +% \cap{_hAlidiN}}. % % And so also: |al-rib_aUA| \arb[voc]{al-rib_aUA} % \arb[trans]{al-rib_aUA}, |ribaNU| \arb[voc]{ribaNU} @@ -945,8 +947,8 @@ consonants, though three of them are also used as vowels % encoded |'_I|: |'_ImAnuN| \arb[voc]{'_ImAnuN} % \arb[trans]{'_ImAnuN}. % -% \textbf{Middle \arb[trans]{hamzaT}}: |xA.ti'Ina| -% \arb[voc]{xA.ti'Ina} \arb[trans]{xA.ti'Ina}, |ru'UsuN| +% \textbf{Middle \arb[trans]{hamzaT}}: |xA.ti'-Ina| +% \arb[voc]{xA.ti'-Ina} \arb[trans]{xA.ti'-Ina}, |ru'UsuN| % \arb[voc]{ru'UsuN}, \arb[trans]{ru'UsuN}, |xa.tI'aTuN| % \arb[voc]{xa.tI'aTuN} \arb[trans]{xa.tI'aTuN}, |su'ila| % \arb[voc]{su'ila} \arb[trans]{su'ila}, |'as'ilaTuN| @@ -988,11 +990,11 @@ consonants, though three of them are also used as vowels % % |^say'uN| \arb[voc]{^say'uN} \arb[trans]{^say'uN}, |^say'aN| % \arb[voc]{^say'aN} \arb[trans]{^say'aN}, |^say'iN| -% \arb[voc]{^say'iN} \arb[trans]{^say'iN}, |al-^say'u| -% \arb[voc]{al-^say'u} \arb[trans]{al-^say'u}, |'a^syA'u| -% \arb[voc]{'a^syA'u} \arb[trans]{'a^syA'u}, |'a^syA'a| -% \arb[voc]{'a^syA'a} \arb[trans]{'a^syA'a}, |.zim'aN| \arb[voc]{.zim'aN} -% \arb[trans]{.zim'aN}. +% \arb[voc]{^say'iN} \arb[trans]{^say'iN}, |al-^say'-u| +% \arb[voc]{al-^say'-u} \arb[trans]{al-^say'-u}, |'a^syA'-u| +% \arb[voc]{'a^syA'-u} \arb[trans]{'a^syA'-u}, |'a^syA'-a| +% \arb[voc]{'a^syA'-a} \arb[trans]{'a^syA'-a}, |.zim'aN| +% \arb[voc]{.zim'aN} \arb[trans]{.zim'aN}. % % \textbf{\arb[trans]{ta_hfIfu 'l-hamzaTi}}: if the % \arb[trans]{hamzaT} has \arb[trans]{jazmaT} and is preceded by @@ -1033,8 +1035,8 @@ consonants, though three of them are also used as vowels % \begin{quote} % |'is'AduN| \arb[voc]{'is'AduN} \arb[trans]{'is'AduN}, |'AkilUna| % \arb[voc]{'AkilUna} \arb[trans]{'AkilUna}, |'a'mannA| -% \arb[voc]{'a'mannA} \arb[trans]{'a'mannA}, |al-qur'Anu| -% \arb[voc]{al-qur'Anu} \arb[trans]{al-qur'Anu}. +% \arb[voc]{'a'mannA} \arb[trans]{'a'mannA}, |al-qur'An-u| +% \arb[voc]{al-qur'An-u} \arb[trans]{al-qur'An-u}. % % |jA'a| \arb[voc]{jA'a} \arb[trans]{jA'a}, |yatasA'alUna| % \arb[voc]{yatasA'alUna} \arb[trans]{yatasA'alUna}, |ridA'uN| @@ -1075,18 +1077,19 @@ consonants, though three of them are also used as vowels \package{arabluatex} \emph{never requires the solar letter to be written twice}, as it automatically generates the euphonic \arb[trans]{ta^sdId} above the letter that carries it, whether the - article be written in the assimilated form or not, e.g. |al-^samsu| - \arb[voc]{al-^samsu} \arb[trans]{al-^samsu}, or |a^s-^samsu| - \arb[voc]{a^s-^samsu} \arb[trans]{a^s-^samsu}. + article be written in the assimilated form or not, e.g. |al-^sams-u| + \arb[voc]{al-^sams-u} \arb[trans]{al-^sams-u}, or |a^s-^sams-u| + \arb[voc]{a^s-^sams-u} \arb[trans]{a^s-^sams-u}. \end{arabluacode} % \iffalse % % \fi % \begin{quote} -% |al-tamru| \arb[voc]{al-tamru} \arb[trans]{al-tamru}, -% |al-ra.hm_anu| \arb[voc]{al-ra.hm_anu} \arb[trans]{al-ra.hm_anu}, -% |al-.zulmu| \arb[voc]{al-.zulmu} \arb[trans]{al-.zulmu}, -% |al-lu.gaTu| \arb[voc]{al-lu.gaTu} \arb[trans]{al-lu.gaTu}. +% |al-tamr-u| \arb[voc]{al-tamr-u} \arb[trans]{al-tamr-u}, +% |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u} +% \arb[trans]{al-ra.hm_an-u}, |al-.zulm-u| \arb[voc]{al-.zulm-u} +% \arb[trans]{al-.zulm-u}, |al-lu.gaT-u| \arb[voc]{al-lu.gaT-u} +% \arb[trans]{al-lu.gaT-u}. % \end{quote} % \item \label{ref:assimilation} With the letters \arb[novoc]{r}, % \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w}, \arb[novoc]{y} @@ -1112,15 +1115,15 @@ consonants, though three of them are also used as vowels % grammarians \parencite[see][i. 16 B--C]{Wright}. % \end{compactenum} % -% \paragraph{The definite article and the \arb[trans]{'alifu 'l-wa.sli}} -% At the beginning of a sentence, \txarb{\char"0671} is never written, -% as \arb[fullvoc]{'l-.hamdu li-ll_ahi}; instead, to indicate that the -% \arb[trans]{'alif} is a connective \arb[trans]{'alif} -% (\arb[trans]{'alifu 'l-wa.sli}), the \arb[trans]{hamzaT} is omitted -% and only its accompanying vowel is expressed: +% \paragraph{The definite article and the \arb[trans]{'alif-u 'l-wa.sl-i}} +% At the beginning of a sentence, \arb[fullvoc]{"a} is never written, +% as \arb[fullvoc]{'l-.hamd-u li-ll_ah-i}; instead, to indicate that +% the \arb[trans]{'alif} is a connective \arb[trans]{'alif} +% (\arb[trans]{'alif-u 'l-wa.sl-i}), the \arb[trans]{hamzaT} is +% omitted and only its accompanying vowel is expressed: % \begin{quote} -% |al-.hamdu| |li-l-l_ahi| \arb[fullvoc]{al-.hamdu li-l-l_ahi} -% \arb[trans]{al-.hamdu li-l-l_ahi}. +% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i} +% \arb[trans]{al-.hamd-u li-l-l_ah-i}. % \end{quote} % As said above on \cpageref{fullvoc-mode}, |fullvoc| is the mode % in which \package{arabluatex} expresses the \arb[trans]{sukUn} and @@ -1140,41 +1143,43 @@ consonants, though three of them are also used as vowels % \arb[trans]{hamzaT}: \meta{u, a, i}. % \end{compactenum} % \begin{quote} -% \textbf{Article}: |bAbu| |'l-madrasaTi| \arb[fullvoc]{bAbu -% 'l-madrasaTi} \arb[trans]{bAbu 'l-madrasaTi}, |al-maqAlaTu| -% |'l-'_Ul_A| \arb[fullvoc]{al-maqAlaTu 'l-'_Ul_A} -% \arb[trans]{al-maqAlaTu 'l-'_Ul_A}, |al-lu.gaTu| |'l-`arabiyyaTu| -% \arb[fullvoc]{al-lu.gaTu 'l-`arabiyyaTu} \arb[trans]{al-lu.gaTu -% 'l-`arabiyyaTu}, |fI| |.sinA`aTi| |'l-.tibbi| \arb[fullvoc]{fI -% .sinA`aTi 'l-.tibbi} \arb[trans]{fI .sinA`aTi 'l-.tibbi}, |'il_A| -% |'l-intiqA.di| \arb[fullvoc]{'il_A 'l-intiqA.di} \arb[trans]{'il_A -% 'l-intiqA.di}, |fI| |'l-ibtidA'i| \arb[fullvoc]{fI 'l-ibtidA'i} -% \arb[trans]{fI 'l-ibtidA'i}, |'abU| |'l-wazIri| \arb[fullvoc]{'abU -% 'l-wazIri} \arb[trans]{'abU 'l-wazIri}, |fa-lammA| |ra'aW| -% |'l-najma| \arb[fullvoc]{fa-lammA ra'aW 'l-najma} -% \arb[trans]{fa-lammA ra'aW 'l-najma}. -% +% \textbf{Article}: |bAb-u| |'l-madrasaT-i| \arb[fullvoc]{bAb-u +% 'l-madrasaT-i} \arb[trans]{bAb-u 'l-madrasaT-i}, |al-maqAlaT-u| +% |'l-'_Ul_A| \arb[fullvoc]{al-maqAlaT-u 'l-'_Ul_A} +% \arb[trans]{al-maqAlaT-u 'l-'_Ul_A}, |al-lu.gaT-u| +% |'l-`arabiyyaT-u| \arb[fullvoc]{al-lu.gaT-u 'l-`arabiyyaT-u} +% \arb[trans]{al-lu.gaT-u 'l-`arabiyyaT-u}, |fI| |.sinA`aT-i| +% |'l-.tibb-i| \arb[fullvoc]{fI .sinA`aT-i 'l-.tibb-i} +% \arb[trans]{fI .sinA`aT-i 'l-.tibb-i}, |'il_A| |'l-intiqA.d-i| +% \arb[fullvoc]{'il_A 'l-intiqA.d-i} \arb[trans]{'il_A +% 'l-intiqA.d-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI 'l-ibtidA'-i} +% \arb[trans]{fI 'l-ibtidA'-i}, |'abU| |'l-wazIr-i| +% \arb[fullvoc]{'abU 'l-wazIr-i} \arb[trans]{'abU 'l-wazIr-i}, +% |fa-lammA| |ra'aW| |'l-najm-a| \arb[fullvoc]{fa-lammA ra'aW +% 'l-najm-a} \arb[trans]{fa-lammA ra'aW 'l-najm-a}. +% +% \newpage % \textbf{Particles}:--- % \begin{compactenum}[(a)] -% \item \arb[trans]{li-}: \arb[trans]{'alifu 'l-wa.sli} is omitted +% \item \arb[trans]{li-}: \arb[trans]{'alif-u 'l-wa.sl-i} is omitted % in the article \arb[fullvoc]{al} when it is preceded by the -% preposition \arb[fullvoc]{li}: |li-l-rajuli| -% \arb[fullvoc]{li-l-rajuli} -% \arb[trans]{li-l-rajuli}.\\ +% preposition \arb[fullvoc]{li}: |li-l-rajul-i| +% \arb[fullvoc]{li-l-rajul-i} +% \arb[trans]{li-l-rajul-i}.\\ % If the first letter of the noun be \arb[novoc]{l}, then the % \arb[novoc]{l} of the article also falls away, but -% \package{arabluatex} is aware of that: |li-l-laylaTi| -% \arb[fullvoc]{li-l-laylaTi} \arb[trans]{li-l-laylaTi}. +% \package{arabluatex} is aware of that: |li-l-laylaT-i| +% \arb[fullvoc]{li-l-laylaT-i} \arb[trans]{li-l-laylaT-i}. % \item \arb[trans]{la-}: the same applies to the affirmative -% particle \arb[fullvoc]{la}: |la-l-.haqqu| -% \arb[fullvoc]{la-l-.haqqu} \arb[trans]{la-l-.haqqu}. -% \item With the other particles, \arb[trans]{'alifu 'l-wa.sli} is -% expressed: |fI| |'l-madInaTi| \arb[fullvoc]{fI 'l-madInaTi} -% \arb[trans]{fI 'l-madInaTi}, |wa-'l-rajulu| -% \arb[fullvoc]{wa-'l-rajulu} \arb[trans]{wa-'l-rajulu}, -% |bi-'l-qalami| \arb[fullvoc]{bi-'l-qalami} -% \arb[trans]{bi-'l-qalami}, |bi-'l-ru`bi| -% \arb[fullvoc]{bi-'l-ru`bi} \arb[trans]{bi-'l-ru`bi}. +% particle \arb[fullvoc]{la}: |la-l-.haqq-u| +% \arb[fullvoc]{la-l-.haqq-u} \arb[trans]{la-l-.haqq-u}. +% \item With the other particles, \arb[trans]{'alif-u 'l-wa.sl-i} is +% expressed: |fI| |'l-madInaT-i| \arb[fullvoc]{fI 'l-madInaT-i} +% \arb[trans]{fI 'l-madInaT-i}, |wa-'l-rajul-u| +% \arb[fullvoc]{wa-'l-rajul-u} \arb[trans]{wa-'l-rajul-u}, +% |bi-'l-qalam-i| \arb[fullvoc]{bi-'l-qalam-i} +% \arb[trans]{bi-'l-qalam-i}, |bi-'l-ru`b-i| +% \arb[fullvoc]{bi-'l-ru`b-i} \arb[trans]{bi-'l-ru`b-i}. % \end{compactenum} % % \textbf{Perfect active, imperative, nomen actionis}: |qAla| @@ -1183,57 +1188,59 @@ consonants, though three of them are also used as vowels % |inhazama| \arb[fullvoc]{huwa inhazama} \arb[trans]{huwa % inhazama}, |wa-ustu`mila| \arb[fullvoc]{wa-ustu`mila} % \arb[trans]{wa-ustu`mila}, |qad-i| |in.sarafa| \arb[fullvoc]{qadi -% in.sarafa} \arb[trans]{qadi in.sarafa}, |al-iqtidAru| -% \arb[fullvoc]{al-iqtidAru} \arb[trans]{al-iqtidAru}, |'il_A| -% |'l-intiqA.di| \arb[fullvoc]{'il_A 'l-intiqA.di} \arb[trans]{'il_A -% 'l-intiqA.di}, |lawi| |istaqbala| \arb[fullvoc]{lawi istaqbala} -% \arb[trans]{lawi istaqbala}. +% in.sarafa} \arb[trans]{qadi in.sarafa}, |al-iqtidAr-u| +% \arb[fullvoc]{al-iqtidAr-u} \arb[trans]{al-iqtidAr-u}, |'il_A| +% |'l-intiqA.d-i| \arb[fullvoc]{'il_A 'l-intiqA.d-i} +% \arb[trans]{'il_A 'l-intiqA.d-i}, |lawi| |istaqbala| +% \arb[fullvoc]{lawi istaqbala} \arb[trans]{lawi istaqbala}. % % \textbf{Other cases}: |'awi| |ismu-hu| \arb[fullvoc]{'awi ismu-hu} -% \arb[trans]{'awi ismu-hu}, |zayduN| |ibnu| |`amriNU| -% \arb[fullvoc]{\cap{z}ayduN ibnu \cap{`amriNU}} -% \arb[trans]{\cap{z}ayduN ibnu -% \cap{`amriNU}},\footnote{\enquote{Zayd is the son of ʿAmr}: the -% second noun is not in apposition to the first, but forms part of -% the predicate. Hence \arb[voc]{zayduN ibnu `amriNU} and not -% \arb[voc]{zaydu bnu `amriNU}, \enquote{Zayd, son of ʿAmr}.} -% |imru'u| |'l-qaysi| \arb[fullvoc]{imru'u 'l-qaysi} -% \arb[trans]{\cap{i}mru'u \cap{'l-qaysi}}, |la-aymunu| |'l-l_ahi| -% \arb[fullvoc]{la-aymunu 'l-l_ahi} \arb[trans]{la-aymunu 'l-l_ahi}. +% \arb[trans]{'awi ismu-hu}, |zayduN| |ibn-u| |`amriNU| +% \arb[fullvoc]{\cap{z}ayduN ibn-u \cap{`amriNU}} +% \arb[trans]{\cap{z}ayduN ibn-u +% \cap{`amriNU}},\footnote{\enquote{\arb[trans]{\cap{z}ayd} is the +% son of \arb[trans]{\cap{`a}mr}}: the second noun is not in +% apposition to the first, but forms part of the predicate. Hence +% \arb[voc]{zayduN ibn-u `amriNU} and not \arb[voc]{zayd-u bn-u +% `amriNU}, \enquote{Zayd, son of ʿAmr}.} |imru'-u| |'l-qays-i| +% \arb[fullvoc]{imru'-u 'l-qays-i} \arb[trans]{\cap{i}mru'-u +% \cap{'l-qays-i}}, |la-aymun-u| |'l-l_ah-i| +% \arb[fullvoc]{la-aymun-u 'l-l_ah-i} \arb[trans]{la-aymun-u +% 'l-l_ah-i}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a long +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a long % vowel} The long vowel preceding the connective \arb[trans]{'alif} is % shortened in pronunciation \parencite[i. 21 B--D]{Wright}. This does % not appear in the Arabic script, but \package{arabluatex} takes it % into account in some transliteration standards:--- % \begin{quote} -% |fI| |'l-nAsi| \arb[fullvoc]{fI 'l-nAsi} \arb[trans]{fI 'l-nAsi}, -% |'abU| |'l-wazIri| \arb[fullvoc]{'abU 'l-wazIri} \arb[trans]{'abU -% 'l-wazIri}, |fI| |'l-ibtidA'i| \arb[fullvoc]{fI 'l-ibtidA'i} -% \arb[trans]{fI 'l-ibtidA'i}, |_dU 'l-i`lAli| \arb[fullvoc]{_dU -% 'l-i`lAli} \arb[trans]{_dU 'l-i`lAli}. +% |fI| |'l-nAs-i| \arb[fullvoc]{fI 'l-nAs-i} \arb[trans]{fI +% 'l-nAs-i}, |'abU| |'l-wazIr-i| \arb[fullvoc]{'abU 'l-wazIr-i} +% \arb[trans]{'abU 'l-wazIr-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI +% 'l-ibtidA'-i} \arb[trans]{fI 'l-ibtidA'-i}, |_dU 'l-i`lAl-i| +% \arb[fullvoc]{_dU 'l-i`lAl-i} \arb[trans]{_dU 'l-i`lAl-i}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a diphthong} +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a diphthong} % The diphthong is resolved into two simple vowels \parencite[i. 21 % D--22 A]{Wright} viz. \emph{ay}~→ \emph{\u{a}\u{i}} and \emph{aw}~→ % \emph{\u{a}\u{u}}. \package{arabluatex} detects the cases in which % this rule applies:--- % \begin{quote} -% |fI| |`aynay| |'l-maliki| \arb[fullvoc]{fI `aynay 'l-maliki} -% \arb[trans]{fI `aynay 'l-maliki}, |ix^say| |'l-qawma| -% \arb[fullvoc]{ix^say 'l-qawma} \arb[trans]{ix^say 'l-qawma}, -% |mu.s.tafaw| |'l-l_ahi| \arb[fullvoc]{mu.s.tafaw 'l-l_ahi} -% \arb[trans]{mu.s.tafaw 'l-l_ahi}. -% -% |ramaW| |'l-.hijAraTa| \arb[fullvoc]{ramaW 'l-.hijAraTa} -% \arb[trans]{ramaW 'l-.hijAraTa}, |fa-lammA| |ra'aW | |'l-najma| -% \arb[fullvoc]{fa-lammA ra'aW 'l-najma} \arb[trans]{fa-lammA ra'aW -% 'l-najma}. +% |fI| |`aynay| |'l-malik-i| \arb[fullvoc]{fI `aynay 'l-malik-i} +% \arb[trans]{fI `aynay 'l-malik-i}, |ix^say| |'l-qawm-a| +% \arb[fullvoc]{ix^say 'l-qawm-a} \arb[trans]{ix^say 'l-qawm-a}, +% |mu.s.tafaw| |'l-l_ah-i| \arb[fullvoc]{mu.s.tafaw 'l-l_ah-i} +% \arb[trans]{mu.s.tafaw 'l-l_ah-i}. +% +% |ramaW| |'l-.hijAraT-a| \arb[fullvoc]{ramaW 'l-.hijAraT-a} +% \arb[trans]{ramaW 'l-.hijAraT-a}, |fa-lammA| |ra'aW | |'l-najm-a| +% \arb[fullvoc]{fa-lammA ra'aW 'l-najm-a} \arb[trans]{fa-lammA ra'aW +% 'l-najm-a}. % \end{quote} % -% \subparagraph{\arb[trans]{'alifu 'l-wa.sli} preceded by a consonant +% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a consonant % with \arb[trans]{sukUn}} The vowel which the consonant takes is % either its original vowel, or that which belongs to the connective % \arb[trans]{'alif} or the \arb[trans]{kasraT}; in most of the @@ -1241,12 +1248,12 @@ consonants, though three of them are also used as vowels % so:--- % \begin{quote} % |'antumu| |'l-kA_dibUna| \arb[fullvoc]{'antumu 'l-kA_dibUna} -% \arb[trans]{'antumu 'l-kA_dibUna}, |ra'aytumu| |'l-rajula| -% \arb[fullvoc]{ra'aytumu 'l-rajula} \arb[trans]{ra'aytumu -% 'l-rajula}, |mani| |'l-ka_d_dAbu| \arb[fullvoc]{mani 'l-ka_d_dAbu} -% \arb[trans]{mani 'l-ka_d_dAbu}, |qatalati| |'l-rUmu| -% \arb[fullvoc]{qatalati 'l-rUmu} \arb[trans]{qatalati -% \cap{'l-rUmu}}. +% \arb[trans]{'antumu 'l-kA_dibUna}, |ra'aytumu| |'l-rajul-a| +% \arb[fullvoc]{ra'aytumu 'l-rajul-a} \arb[trans]{ra'aytumu +% 'l-rajul-a}, |mani| |'l-ka_d_dAb-u| \arb[fullvoc]{mani +% 'l-ka_d_dAb-u} \arb[trans]{mani 'l-ka_d_dAb-u}, |qatalati| +% |'l-rUm-u| \arb[fullvoc]{qatalati 'l-rUm-u} \arb[trans]{qatalati +% \cap{'l-rUm-u}}. % \end{quote} % \label{ref:muhammaduni} % However, the Arabic script does not shows the \arb[trans]{kasraT} @@ -1261,39 +1268,40 @@ consonants, though three of them are also used as vowels % \subsection{Special orthographies} % \paragraph{The name of God} % The name of God, \arb[voc]{al-l_ahu}, is compounded of the article -% \arb[fullvoc]{al-}, and \arb[fullvoc]{'ilAhu} (noted -% \arb[fullvoc]{'il_ahu} with the defective \arb[trans]{'alif}) so -% that it becomes \arb[fullvoc]{al-'ilAhu}; then the +% \arb[fullvoc]{al-}, and \arb[fullvoc]{'ilAh-u} (noted +% \arb[fullvoc]{'il_ah-u} with the defective \arb[trans]{'alif}) so +% that it becomes \arb[fullvoc]{al-'ilAh-u}; then the % \arb[trans]{hamzaT} is suppressed, its vowel being transferred to % the \arb[novoc]{l} before it, so that there remains -% \arb[voc]{alil_ahu} \parencite[I refer to][I. 83 +% \arb[voc]{alil_ah-u} \parencite[I refer to][I. 83 % col. 1]{Lane}. Finally, the first \arb[novoc]{l} is made quiescent % and incorporated into the other, hence the \arb[trans]{ta^sdId} % above it. As \package{arabluatex} never requires a solar letter to % be written twice (see above, \vpageref{ref:euphonic-tashdid}), the -% name of God is therefore encoded |al-l_ahu| or |'l-l_ahu|:--- +% name of God is therefore encoded |al-l_ah-u| or |'l-l_ah-u|:--- % \begin{quote} -% |al-l_ahu| \arb[fullvoc]{al-l_ahu} \arb[trans]{al-l_ahu}, +% |al-l_ah-u| \arb[fullvoc]{al-l_ah-u} \arb[trans]{al-l_ah-u}, % \verb+yA|+\footnote{\label{fn:pipe-allah-01}Note the % \enquote{pipe} character \enquote*{\textbar} here after |yA| and % below after |fa| before footnote mark \ref{fn:pipe-allah-02}: it % is needed by the |dmg| transliteration mode as in this mode any % vowel at the commencement of a word preceded by a word that ends % with a vowel, either short or long, is absorbed by this vowel -% viz. \arb[trans]{`al_A 'l-.tarIqi}. See \vref{sec:pipe} on the +% viz. \arb[trans]{`al_A 'l-.tarIq-i}. See \vref{sec:pipe} on the % \enquote{pipe} and \vref{sec:transliteration} on |dmg| mode.} -% |al-l_ahu| \arb[fullvoc]{yA| al-l_ahu} \arb[trans]{yA| al-l_ahu}, -% \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See -% \cref{fn:pipe-allah-01}.}|-al-l_ahi| |la-ta.g`alanna| -% \arb[fullvoc]{'a-fa|-al-l_ahi la-ta.g`alanna} -% \arb[trans]{'a-fa|-al-l_ahi la-ta.g`alanna}, |bi-'l-l_ahi| -% \arb[fullvoc]{bi-'l-l_ahi} \arb[trans]{bi-'l-l_ahi}, |wa-'l-l_ahi| -% \arb[fullvoc]{wa-'l-l_ahi} \arb[trans]{wa-'l-l_ahi}, |bi-smi| -% |'l-l_ahi| \arb[fullvoc]{bi-smi 'l-l_ahi} \arb[trans]{bi-smi -% 'l-l_ahi}, |al-.hamdu| |li-l-l_ahi| \arb[fullvoc]{al-.hamdu -% li-l-l_ahi} \arb[trans]{al-.hamdu li-l-l_ahi}, |li-l-l_ahi| -% |'l-qA'ilu| \arb[fullvoc]{li-l-l_ahi 'l-qA'ilu} -% \arb[trans]{li-l-l_ahi 'l-qA'ilu}. +% |al-l_ah-u| \arb[fullvoc]{yA| al-l_ah-u} \arb[trans]{yA| +% al-l_ah-u}, \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See +% \cref{fn:pipe-allah-01}.}|-al-l_ah-i| |la-ta.g`alanna| +% \arb[fullvoc]{'a-fa|-al-l_ah-i la-ta.g`alanna} +% \arb[trans]{'a-fa|-al-l_ah-i la-ta.g`alanna}, |bi-'l-l_ah-i| +% \arb[fullvoc]{bi-'l-l_ah-i} \arb[trans]{bi-'l-l_ah-i}, +% |wa-'l-l_ah-i| \arb[fullvoc]{wa-'l-l_ah-i} +% \arb[trans]{wa-'l-l_ah-i}, |bi-sm-i| |'l-l_ah-i| +% \arb[fullvoc]{bi-sm-i 'l-l_ah-i} \arb[trans]{bi-sm-i 'l-l_ah-i}, +% |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i} +% \arb[trans]{al-.hamd-u li-l-l_ah-i}, |li-l-l_ah-i| |'l-qA'il-u| +% \arb[fullvoc]{li-l-l_ah-i 'l-qA'il-u} \arb[trans]{li-l-l_ah-i +% 'l-qA'il-u}. % \end{quote} % % \paragraph{The conjunctive \arb[voc]{alla_dI}} @@ -1304,28 +1312,28 @@ consonants, though three of them are also used as vowels % starting with the connective \arb[trans]{'alif} are encoded % |'lla_dI| and |'llatI|:--- % \begin{quote} -% |'a_hAfu| |mina| |'l-maliki| |'lla_dI| |ya.zlimu| |'l-nAsa| -% \arb[fullvoc]{'a_hAfu mina 'l-maliki 'lla_dI ya.zlimu 'l-nAsa} -% \arb[trans]{'a_hAfu mina 'l-maliki 'lla_dI ya.zlimu 'l-nAsa}, -% |`udtu| |'l-^say_ha| |'lladI| |huwa| |marI.duN| -% \arb[fullvoc]{`udtu 'l-^say_ha 'lladI huwa marI.duN} -% \arb[trans]{`udtu 'l-^say_ha 'lladI huwa marI.duN}, |mA| |'anA| +% |'a_hAfu| |mina| |'l-malik-i| |'lla_dI| |ya.zlimu| |'l-nAs-a| +% \arb[fullvoc]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a} +% \arb[trans]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a}, +% |`udtu| |'l-^say_h-a| |'lladI| |huwa| |marI.duN| +% \arb[fullvoc]{`udtu 'l-^say_h-a 'lladI huwa marI.duN} +% \arb[trans]{`udtu 'l-^say_h-a 'lladI huwa marI.duN}, |mA| |'anA| % |bi-'lla_dI| |qA'iluN| |la-ka| |^say'aN| \arb[fullvoc]{mA 'anA % bi-'lla_dI qA'iluN la-ka ^say'aN} \arb[trans]{mA 'anA bi-'lla_dI % qA'iluN la-ka ^say'aN}. % -% |'ari-nA| |'lla_dayni| |'a.dallA-nA| |mina| |'l-jinni| -% |wa-'l-'insi| \arb[fullvoc]{'ari-nA 'lla_dayni 'a.dallA-nA mina -% 'l-jinni wa-'l-'insi} \arb[trans]{'ari-nA 'lla_dayni 'a.dallA-nA -% mina 'l-jinni wa-'l-'insi}. +% |'ari-nA| |'lla_dayni| |'a.dallA-nA| |mina| |'l-jinn-i| +% |wa-'l-'ins-i| \arb[fullvoc]{'ari-nA 'lla_dayni 'a.dallA-nA mina +% 'l-jinn-i wa-'l-'ins-i} \arb[trans]{'ari-nA 'lla_dayni 'a.dallA-nA +% mina 'l-jinn-i wa-'l-'ins-i}. % \end{quote} % The other forms are encoded regularly as |al-l| or |'l-l|:--- % \begin{quote} % |fa-'innA| |na_dkuru| |'l-.sawtayni| |'l-la_dayni| |rawaynA-humA| -% |`an| |ja.h.zaTa| \arb[fullvoc]{fa-'innA na_dkuru 'l-.sawtayni -% 'l-la_dayni rawaynA-humA `an \cap{ja.h.zaTa}} \arb[trans]{fa-'innA +% |`an| |ja.h.zaT-a| \arb[fullvoc]{fa-'innA na_dkuru 'l-.sawtayni +% 'l-la_dayni rawaynA-humA `an \cap{ja.h.zaT-a}} \arb[trans]{fa-'innA % na_dkuru 'l-.sawtayni 'l-la_dayni rawaynA-humA `an -% \cap{ja.h.zaTa}}. +% \cap{ja.h.zaT-a}}. % % And also: |al-la_dAni| \arb[fullvoc]{al-la_dAni} % \arb[trans]{al-la_dAni}, |al-la_dayni| \arb[fullvoc]{al-la_dayni} @@ -1353,12 +1361,12 @@ consonants, though three of them are also used as vowels % be very similar in effect to the one of \package{arabtex}. % % To start with an example, suppose one types the following in |novoc| -% mode: \arb[novoc]{`ullima `ilma 'l-hay'aTi}; is it +% mode: \arb[novoc]{`ullima `ilm-a 'l-hay'aT-i}; is it % \arb[fullvoc]{`ullima}, \emph{he was taught the science of % astronomy}, or \arb[fullvoc]{`allama}, \emph{he taught the science % of astronomy}? In order to disambiguate this clause, it may be % sensible to put a \arb[trans]{.dammaT} above the first \arb[voc]{`}: -% \arb[novoc]{`"ullima `ilma 'l-hay'aTi}, which is achieved by +% \arb[novoc]{`"ullima `ilm-a 'l-hay'aT-i}, which is achieved by % \enquote{quoting} the vowel |u|, like so: |`"ullima|, or, with no % other vowel than the required |u|: |`"ullm|. % @@ -1379,8 +1387,8 @@ consonants, though three of them are also used as vowels % \arb[trans]{.dammaT}, \arb[trans]{fat.haT} or \arb[trans]{kasraT} % appear above the appropriate consonant:--- % \begin{quote} -% |`"ullima| |`ilma| |'l-hay'aTi| \arb[novoc]{`"ullima `ilma -% 'l-hay'aTi} \arb[trans]{`"ullima `ilma 'l-hay'aTi}, |ya.gz"UA| +% |`"ullima| |`ilm-a| |'l-hay'aT-i| \arb[novoc]{`"ullima `ilm-a +% 'l-hay'aT-i} \arb[trans]{`"ullima `ilm-a 'l-hay'aT-i}, |ya.gz"UA| % \arb[novoc]{ya.gz"UA} \arb[trans]{ya.gz"UA}. % \end{quote} % \item The same applies when \enquote{quoting} the @@ -1401,7 +1409,7 @@ consonants, though three of them are also used as vowels % \arb[trans]{^sabIhuN bi-man q"u.ti`at" qadamA-hu}. % \end{quote} % \item At the commencement of a word, the straight double quote is -% interpreted as \arb[trans]{'alifu 'l-wa.sli}:--- +% interpreted as \arb[trans]{'alif-u 'l-wa.sl-i}:--- % \begin{quote} % |wa-"ust"u`mila| \arb[novoc]{wa-"ust"u`mila} % \arb[trans]{wa-"ust"u`mila}, |huwa| |"inhazama| \arb[novoc]{huwa @@ -1418,9 +1426,9 @@ consonants, though three of them are also used as vowels % \item Short and long vowels:--- % \begin{quote} % |q"Ala q"A'iluN| \arb[voc]{q"Ala q"A'iluN} \arb[trans]{q"Ala -% q"A'iluN}, |ibnu 'abI 'u.saybi`aT"a| \arb[voc]{ibnu 'abI -% 'u.saybi`aT"a} \arb[trans]{\cap{ibnu} \cap{'abI} -% \cap{'u.saybi`aT"a}}. +% q"A'iluN}, |ibn-u 'abI 'u.saybi`aT-"a| \arb[voc]{ibn-u 'abI +% 'u.saybi`aT-"a} \arb[trans]{\cap{ibn-u} \cap{'abI} +% \cap{'u.saybi`aT-"a}}. % \end{quote} % \item \arb[trans]{tanwIn}:--- % \begin{quote} @@ -1435,11 +1443,11 @@ consonants, though three of them are also used as vowels % straight double quote after a consonant not followed by a vowel to % make the \arb[trans]{sukUn} appear:--- % \begin{compactenum}[(a)] -% \item \arb[trans]{'alifu 'l-wa.sli}:--- +% \item \arb[trans]{'alif-u 'l-wa.sl-i}:--- % \begin{quote} -% |fI "istisqA'a| \arb[voc]{fI "istisqA'a} \arb[trans]{fI -% "istisqA'a}, |wa-"istisqA'u| \arb[voc]{wa-"istisqA'u} -% \arb[trans]{wa-"istisqA'u}, |qAla| |"uhrub| |fa-lan| |tuqtala| +% |fI "istisqA'-a| \arb[voc]{fI "istisqA'-a} \arb[trans]{fI +% "istisqA'-a}, |wa-"istisqA'-u| \arb[voc]{wa-"istisqA'-u} +% \arb[trans]{wa-"istisqA'-u}, |qAla| |"uhrub| |fa-lan| |tuqtala| % \arb[voc]{qAla "uhrub fa-lan tuqtala} \arb[trans]{qAla "uhrub % fa-lan tuqtala}. % \end{quote} @@ -1460,10 +1468,10 @@ consonants, though three of them are also used as vowels % vowel (or \arb[trans]{tanwIn}, as seen above) or any % \arb[trans]{sukUn}:--- % \begin{quote}\label{ref:qrannun-full} -% |al-jamru| |'l-.sayfiyyu| |'lla_dI| |kAna| \verb+bi-q"rAn"|nUna+ -% \arb[fullvoc]{al-jamru 'l-.sayfiyyu 'lla_dI kAna -% \cap{bi-q"rAn"|nUna}} \arb[trans]{al-jamru 'l-.sayfiyyu 'lla_dI -% kAna \cap{bi-q"rAn"|nUna}}. +% |al-jamr-u| |'l-.sayfiyy-u| |'lla_dI| |kAna| +% \verb+bi-q"rAn"|nUn-a+ \arb[fullvoc]{al-jamr-u 'l-.sayfiyy-u +% 'lla_dI kAna \cap{bi-q"rAn"|nUn-a}} \arb[trans]{al-jamr-u +% 'l-.sayfiyy-u 'lla_dI kAna \cap{bi-q"rAn"|nUn-a}}. % \end{quote} % % \subsubsection{\texorpdfstring{Quoting the @@ -1535,8 +1543,8 @@ consonants, though three of them are also used as vowels % \vref{fn:pipe-allah-01} and in \vref{fn:pipe-madda}. One more example % follows:--- % \begin{quote} -% \verb+bi-qrAn|nUna+ \arb[voc]{\cap{bi-qrAn|nUna}} -% \arb[trans]{\cap{bi-qrAn|nUna}}, \enquote{in Crannon} (Thessaly, +% \verb+bi-qrAn|nUn-a+ \arb[voc]{\cap{bi-qrAn|nUn-a}} +% \arb[trans]{\cap{bi-qrAn|nUn-a}}, \enquote{in Crannon} (Thessaly, % Greece).\footnote{See more context \vpageref{ref:qrannun-full}.} % \end{quote} % As one can see, the \enquote{pipe} character between the two @@ -1552,20 +1560,20 @@ consonants, though three of them are also used as vowels % especially to increase legibility of letters an diacritics which % stand one above the other:-- % \begin{quote} -% |.hunaynu| |bnu| |'is.h--_aqa| \arb[voc]{.hunaynu bnu 'is.h--_aqa} -% \arb[trans]{\cap{.hunaynu} bnu \cap{'is.h--_aqa}} +% |.hunayn-u| |bn-u| |'is.h--_aq-a| \arb[voc]{.hunayn-u bn-u +% 'is.h--_aq-a} \arb[trans]{\cap{.hunayn-u} bn-u \cap{'is.h--_aq-a}} % \end{quote} % % \subsection{Digits} % \label{sec:digits} % \subsubsection{Numerical figures} % \label{sec:numerical-figures} -% The \emph{Indian numbers}, \arb[trans]{al-raqamu 'l-hindiyyu}, are +% The \emph{Indian numbers}, \arb[trans]{al-raqam-u 'l-hindiyy-u}, are % ten in number, and they are compounded in exactly the same way as % our numerals:--- % \begin{quote} % |1874| \arb[voc]{1874}, |123-456,789| \arb[voc]{123-456,789}, |fI| -% |sanaTi| |1024| \arb[voc]{fI sanaTi 1024} +% |sanaT-i| |1024| \arb[voc]{fI sanaT-i 1024} % \end{quote} % % \subsubsection{The \emph{abjad}} @@ -1581,9 +1589,9 @@ consonants, though three of them are also used as vowels % of the |voc|, |fullvoc| and |novoc| modes, where \meta{number} may % be any number between 1 and 1999, like so:--- % \begin{quote} -% |\abjad{45}| |kitAbu-hu| |fI| |'l-`AdAti| \arb[voc]{\abjad{45} -% kitAbu-hu fI 'l-`AdAti} \arb[trans]{\abjad{45} kitAbu-hu fI -% 'l-`AdAti}. +% |\abjad{45}| |kitAbu-hu| |fI| |'l-`AdAt-i| \arb[voc]{\abjad{45} +% kitAbu-hu fI 'l-`AdAt-i} \arb[trans]{\abjad{45} kitAbu-hu fI +% 'l-`AdAt-i}. % \end{quote} % \begin{quoting} % \textsc{Rem.}~\emph{a.} As can be seen in the above given example, @@ -1663,9 +1671,9 @@ consonants, though three of them are also used as vowels % \DescribeMacro{\aemph} One may use the command \cs{aemph}\marg{Arabic % text} to use the same technique to emphasize words, like so:--- % \begin{quote} -% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAti}| -% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAti}} -% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAti}}. +% |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAt-i}| +% \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAt-i}} +% \arb[trans]{\abjad{45}: kitAbu-hu fI 'l-\cap{`AdAt-i}}. % \end{quote} % % \section{Special applications} @@ -1679,7 +1687,7 @@ consonants, though three of them are also used as vowels % |Bu| |Ba| |Bi| |BuN| |BaN| |BiN| \arb[voc]{Bu Ba Bi BuN BaN BiN} % \arb[trans]{Bu Ba Bi BuN BaN BiN}, |BBu| |BBa| |BBi| \arb[voc]{BBu % BBa BBi} \arb[trans]{BBu BBa BBi}, |B--aN| \arb[voc]{B--aN} -% \arb[trans]{B--aN}, |B| \arb[voc]{B"}\,. +% \arb[trans]{B--aN}, |B"| \arb[voc]{B"}\,. % \end{quote} % % \section{Transliteration} @@ -1743,16 +1751,17 @@ consonants, though three of them are also used as vowels % viz. \arb[trans]{|"'} or \arb[trans]{`}, the letter next to it will be % uppercased:--- % \begin{quote} -% |\cap{.hunaynu}| |bnu| |\cap{'is.h_aqa}| \arb[voc]{\cap{.hunaynu} -% bnu \cap{'is.h_aqa}} \arb[trans]{\cap{.hunaynu} bnu -% \cap{'is.h_aqa}}, |\cap{`u_tm_anu}| \arb[voc]{\cap{`u_tm_anu}} -% \arb[trans]{\cap{`u_tm_anu}}, |.daraba| |\cap{zaydu}| |bnu| -% |\cap{_h_alidiN}| |\cap{sa`da}| |bna| |\cap{`awfi}| |bni| -% |\cap{`abdi}| |\cap{'l-l_ahi}| \arb[fullvoc]{.daraba \cap{zaydu} -% bnu \cap{_h_alidiN} \cap{sa`da} bna \cap{`awfi} bni \cap{`abdi} -% \cap{'l-l_ahi}} \arb[trans]{.daraba \cap{zaydu} bnu -% \cap{_h_alidiN} \cap{sa`da} bna \cap{`awfi} bni \cap{`abdi} -% \cap{'l-l_ahi}}. +% |\cap{.hunayn-u}| |bn-u| |\cap{'is.h_aq-a}| +% \arb[voc]{\cap{.hunayn-u} bn-u \cap{'is.h_aq-a}} +% \arb[trans]{\cap{.hunayn-u} bn-u \cap{'is.h_aq-a}}, +% |\cap{`u_tm_an-u}| \arb[voc]{\cap{`u_tm_an-u}} +% \arb[trans]{\cap{`u_tm_an-u}}, |.daraba| |\cap{zayd-u}| |bn-u| +% |\cap{_h_alidiN}| |\cap{sa`d-a}| |bn-a| |\cap{`awf-i}| |bn-i| +% |\cap{`abd-i}| |\cap{'l-l_ah-i}| \arb[fullvoc]{.daraba +% \cap{zayd-u} bn-u \cap{_h_alidiN} \cap{sa`d-a} bn-a \cap{`awf-i} +% bn-i \cap{`abd-i} \cap{'l-l_ah-i}} \arb[trans]{.daraba +% \cap{zayd-u} bn-u \cap{_h_alidiN} \cap{sa`d-a} bn-a \cap{`awf-i} +% bn-i \cap{`abd-i} \cap{'l-l_ah-i}}. % \end{quote} % However, \cs{cap} must be used cautiously in some very particular % cases, for the closing brace of its argument may prevent a rule from @@ -1825,13 +1834,13 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \LR{\textbf{\emph{\enquote*{dmg}} standard}:} 'at_A .sadIquN 'il_A % \cap{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN % qa.sIraTiN. wa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI -% 'l-masA'i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: +% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa -% la-ka .garbata-ka fa-'l-.himAru laysa hunA 'l-yawma.} wa-qabla -% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAru yanhaqu fI +% la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla +% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI % 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u % .himAra-ka yA \cap{ju.hA} yanhaqu.} fa-qAla la-hu \cap{ju.hA}: -% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra +% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a % wa-tuka_d_dibu-nI?} % \end{arab} % @@ -1840,13 +1849,13 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \LR{\textbf{\emph{\enquote*{loc}} standard}:} 'at_A .sadIquN 'il_A % \cap{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN % qa.sIraTiN. wa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI -% 'l-masA'i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: +% 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \cap{ju.hA}: % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa -% la-ka .garbata-ka fa-'l-.himAru laysa hunA 'l-yawma.} wa-qabla -% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAru yanhaqu fI +% la-ka .garbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla +% 'an yutimma \cap{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI % 'i.s.tabili-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u % .himAra-ka yA \cap{ju.hA} yanhaqu.} fa-qAla la-hu \cap{ju.hA}: -% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAra +% \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a % wa-tuka_d_dibu-nI?} % \end{arab} % \SetTranslitConvention{dmg} @@ -1860,10 +1869,10 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \cs{textbf}\marg{text} and the like, are assumed to have Arabic text % as their arguments:--- % \begin{quote} -% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAti}}| -% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI l-\cap{`AdAti}}} +% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAt-i}}| +% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI l-\cap{`AdAt-i}}} % \arb[trans]{\abjad{45} kitAbu-hu \emph{fI -% 'l-\cap{`AdAti}}}.\footnote{This is odd in Arabic script, but +% 'l-\cap{`AdAt-i}}}.\footnote{This is odd in Arabic script, but % using such features as \cs{emph} or \cs{textbf} is a matter of % personal taste.} % \end{quote} @@ -1876,10 +1885,10 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu \renewcommand{\footnoterule}% {\hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}} \begin{arab} -'inna 'abI kAna mina 'l-muqAtilaTi\footnote{al-muqAtilaTi: -al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti -'l-zamAzimaTi\footnote{al-zamAzimaTu: .tA'ifaTu mina -'l-fursi.}. +'inna 'abI kAna mina 'l-muqAtilaT-i\footnote{al-muqAtilaT-i: +al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i +'l-zamAzimaT-i\footnote{al-zamAzimaT-u: .tA'ifaT-u mina +'l-furs-i.}. \end{arab} \end{arabluacode} % \iffalse @@ -1911,9 +1920,9 @@ al-muqAtilIna.}, wa-kAnat 'ummI min `u.zamA'i buyUti % \fi \begin{arabluacode} \begin{arab} -_tumma "intalaqa _dU 'l-qarnayni 'il_A 'ummaTiN 'u_hr_A fI -\LR{\textcolor{red}{\arb[fullvoc]{((ma.tli`i 'l-^samsi))}}} -wa-lA binA'a la-hum yu'amminu-hum mina 'l-^samsi. +_tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI +\LR{\textcolor{red}{\arb[fullvoc]{((ma.tli`-i 'l-^sams-i))}}} +wa-lA binA'-a la-hum yu'amminu-hum mina 'l-^sams-i. \end{arab} \end{arabluacode} % \iffalse @@ -1931,10 +1940,11 @@ wa-lA binA'a la-hum yu'amminu-hum mina 'l-^samsi. %<*example> % \fi \begin{arabluacode} -\arb[fullvoc]{\cap{z}ayduN\LRfootnote{\enquote{Zayd -is the son of ʿAmr}: the second noun is not in -apposition to the first, but forms part of -the predicate\ldots} "ibnu \cap{`amriNU}} +\arb[fullvoc]{\cap{z}ayd-uN\LRfootnote{% +\enquote{\arb[trans]{\cap{z}ayd} is the son of +\arb[trans]{\cap{`a}mr}}: the second +noun is not in apposition to the first, but forms +part of the predicate\ldots} "ibn-u \cap{`a}mr-iNU} \end{arabluacode} % \iffalse % @@ -1972,10 +1982,10 @@ the predicate\ldots} "ibnu \cap{`amriNU}} % \fi \begin{arabluacode} \setRL -\section*{\arb{barzawayhi li-buzurjumihra bni 'l-buxtikAni}} +\section*{\arb{barzawayhi li-buzurjumihra bn-i 'l-buxtikAni}} \setLR \begin{arab} -qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... +qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a... \end{arab} \end{arabluacode} % \iffalse @@ -2007,8 +2017,8 @@ qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... \begin{arabluacode} \setquotestyle{arabic} \begin{arab} - fa-qAla la-hu ju.hA: \enquote{.garIbuN 'amru-ka yA .sadIqI - 'a-tu.saddiqu 'l-.himAra wa-tuka_d_dibu-nI?} + fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI + 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_dibu-nI?} \end{arab} \setquotestyle{english} \end{arabluacode} @@ -2026,15 +2036,16 @@ qAla barzawayhi bnu 'azhara, ra'su 'a.tibbA'i fArisa... % The two-arguments command \cs{edtext}\marg{lemma}\marg{commands} is % supported inside \cs{begin}|{arab}| \ldots\ \cs{end}|{arab}|. As an % example, one may get \package{arabluatex} and \package{reledmac} to -% work together like so:--- \iffalse +% work together like so:--- +% \iffalse %<*example> % \fi \begin{arabluaverbatim} \beginnumbering \pstart \begin{arab} -wa-ya.sIru ta.hta 'l-jildi -\edtext{\arb{.sadIduN}}{\Afootnote{M: \arb{.sadIdaN} E1}} +wa-ya.sIru ta.hta 'l-jild-i +\edtext{\arb{.sadId-uN}}{\Afootnote{M: \arb{.sadId-aN} E1}} \end{arab} \pend \endnumbering @@ -2284,7 +2295,8 @@ wa-ya.sIru ta.hta 'l-jildi \else% \ifx\@tempa\al@mode@novoc% \bgroup\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringN{#2}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringN{#2}, + \luastringO{\al@arb@rules}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@style% @@ -2313,7 +2325,8 @@ wa-ya.sIru ta.hta 'l-jildi \else% \ifx\@tempa\al@mode@novoc% \bgroup\pardir TRT\textdir TRT\arabicfont% - \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}))}\egroup% + \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, + \luastringO{\al@arb@rules}))}\egroup% \else \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, diff --git a/arabluatex.lua b/arabluatex.lua index eb0d55c..3b0ed5e 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -312,6 +312,42 @@ local function novoc(str) return str end +local function novoceasy(str) + str = string.gsub(str, "\\arb(%b{})", function(inside) + inside = string.sub(inside, 2, -2) + for i = 1,#hamzaeasy do + inside = string.gsub(inside, hamzaeasy[i].a, hamzaeasy[i].b) + end + for i = 1,#tanwinnv do + inside = string.gsub(inside, tanwinnv[i].a, tanwinnv[i].b) + end + for i = 1,#trigraphsnv do + inside = string.gsub(inside, trigraphsnv[i].a, trigraphsnv[i].b) + end + for i = 1,#digraphs do + inside = string.gsub(inside, digraphs[i].a, digraphs[i].b) + end + for i = 1,#single do + inside = string.gsub(inside, single[i].a, single[i].b) + end + for i = 1,#longvnv do + inside = string.gsub(inside, longvnv[i].a, longvnv[i].b) + end + for i = 1,#shortvnv do + inside = string.gsub(inside, shortvnv[i].a, shortvnv[i].b) + end + for i = 1,#punctuation do + inside = string.gsub(inside, punctuation[i].a, punctuation[i].b) + end + for i = 1,#null do + inside = string.gsub(inside, null[i].a, null[i].b) + end + inside = indnum(inside) + return string.format("\\txarb{%s}", inside) + end) +return str +end + local function transdmg(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) @@ -450,13 +486,17 @@ function processfullvoc(str, rules) return str end -function processnovoc(str) +function processnovoc(str, rules) str = "\\arb{".. str.."}" str = takeoutcapetc(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) - str = novoc(str) + if rules == "easy" then + str = novoceasy(str) + elseif rules == "dflt" then + str = novoc(str) + else end str = unprotectarb(str) return str end diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua index 577fff7..991db22 100644 --- a/arabluatex_fullvoc.lua +++ b/arabluatex_fullvoc.lua @@ -23,6 +23,8 @@ along with this program. If not, see --]] hamzafv = { + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -51,7 +53,8 @@ hamzafv = { {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, +--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, {a="(A)(')(uN?)$", b="aآء%3"}, {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, {a="(A)(')(iN?)$", b="aآء%3"}, @@ -71,7 +74,7 @@ hamzafv = { {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤْ"}, {a="(u)(')(%W)", b="%1ؤْ%3"}, @@ -115,6 +118,8 @@ hamzafv = { } hamzafveasy = { -- differences marked below with 'easy' + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -143,14 +148,17 @@ hamzafveasy = { -- differences marked below with 'easy' {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, ---easy {a="(A)(')(uN?)$", b="aآء%3"}, ---easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(iN?)$", b="aآء%3"}, ---easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda ---easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda ---easy {a="(A)(')", b="aآء"}, -- historic madda +--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + --easy (begin) + {a="(A)(')(uN?)$", b="aاء%3"}, + {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(iN?)$", b="aاء%3"}, + {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(i)", b="aائ%3"}, -- historic madda + {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda + {a="(A)(')", b="aاء"}, -- historic madda + --easy (end) -- initial (needs both ^ and %W patterns) {a="^(')([ua])", b="أ%2"}, {a="^(')(i)", b="إ%2"}, @@ -163,7 +171,7 @@ hamzafveasy = { -- differences marked below with 'easy' {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤْ"}, {a="(u)(')(%W)", b="%1ؤْ%3"}, @@ -389,6 +397,18 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs) } digraphsfv = { + -- iʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, @@ -436,9 +456,11 @@ digraphsfv = { {a="ww", b="وّ"}, {a="yy", b="يّ"}, -- sukūn begin + --tmp: next line is added + {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-(%_?[uaiUAIY])", b="%1%2"}, {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, - {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"}, + {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-(%_?[^uaiUAIًٌٍ])", b="%1ْ%2"}, -- take out sukūn in cases of assimilation {a="(n)(ْ)(%s)([روي])", b="%1%3%4"}, {a="(n)(ْ)(%s)([ل])", b="%1%3%4"}, @@ -474,6 +496,18 @@ digraphsfv = { } digraphsfveasy = { -- see the diffenrences under 'easy' marker below + -- iʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, @@ -524,6 +558,8 @@ digraphsfveasy = { -- see the diffenrences under 'easy' marker below -- first take out every previously generated sukūn by hamza rules, -- so there be no need to edit them: {a="ْ", b=""}, + --tmp: next line is added +-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uai])", b="%1%2"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, -- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"}, diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua index 838bccc..45fd3d5 100644 --- a/arabluatex_trans.lua +++ b/arabluatex_trans.lua @@ -127,24 +127,24 @@ hamzatrdmg = { } tanwintrdmg = { - {a="uNU", b="\\arbup{un}"}, - {a="aNU", b="\\arbup{an}"}, - {a="iNU", b="\\arbup{in}"}, - {a="iNI", b="i\\arbup{n}"}, + {a="%-?uNU", b="\\arbup{un}"}, + {a="%-?aNU", b="\\arbup{an}"}, + {a="%-?iNU", b="\\arbup{in}"}, + {a="%-?iNI", b="i\\arbup{n}"}, -- tanwīn preceding ʾalif conjunctionis - {a="(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, - {a="(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, - {a="(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, - {a="(T)(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, - {a="([^TA])(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, - {a="(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, + {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, + {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, + {a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, + {a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, + {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, -- - {a="uN", b="\\arbup{un}"}, - {a="(aN)(_A)", b="ạ\\arbup{n}"}, - {a="(aN)(Y)", b="ạ\\arbup{n}"}, - {a="(T)(\"?aN)", b="t\\arbup{an}"}, - {a="([^TA])(\"?aN)", b="%1\\arbup{an}"}, - {a="iN", b="\\arbup{in}"} +-- {a="uN", b="\\arbup{un}"}, (now included in last line in this table) + {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, + {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, + {a="(T)%-?(\"?aN)", b="t\\arbup{an}"}, + {a="([^TA])%-?(\"?aN)", b="%1\\arbup{an}"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="\\arbup{%2%4n}"} } trigraphstrdmg = { -- trigraphs or more @@ -266,6 +266,18 @@ digraphstrdmg = { {a="([%_]?[AYa])(%s)(\"?[uai])", b="a%2'"}, {a="([%_]?[Uu])(%s)(\"?[uai])", b="u%2'"}, {a="([%_]?[Ii])(%s)(\"?[uai])", b="i%2'"}, + -- ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="\\arbup{%2}%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="\\arbup{%2}%3"}, + -- ʾiʿrāb hyphen (end) -- shorten long vowels preceding ʾalif conjunctionis {a="(U)(A)", b="U"}, {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awu%2%3"}, @@ -274,8 +286,8 @@ digraphstrdmg = { {a="([%_]?[Ii])(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="i%2%3"}, {a="%-%-", b=""}, -- {a="T([^uai])", b="%1"}, - {a="T(%s)", b="%1"}, - {a="T$", b=""}, + {a="T(%p?%s)", b="%1"}, + {a="T(%p?)$", b="%1"}, {a="_t", b="ṯ"}, {a="%^g", b="ǧ"}, {a="%.h", b="ḥ"}, @@ -410,15 +422,15 @@ hamzatrloc = { } tanwintrloc = { - {a="uNU", b="un"}, - {a="aNU", b="an"}, - {a="iNU", b="in"}, - {a="uN", b="un"}, - {a="(aN)(_A)", b="an"}, - {a="(aN)(Y)", b="an"}, - {a="(T)(\"?aN)", b="tan"}, - {a="([^TA])(\"?aN)", b="%1an"}, - {a="iN", b="in"} + {a="%-?uNU", b="un"}, + {a="%-?aNU", b="an"}, + {a="%-?iNU", b="in"}, + {a="%-?uN", b="un"}, +-- {a="%-?(aN)(_A)", b="an"}, (now included in last line in this table) + {a="%-?(aN)(Y)", b="an"}, + {a="(T)%-?(\"?aN)", b="tan"}, + {a="([^TA])%-?(\"?aN)", b="%1an"}, + {a="(%-?)(\"?A?t?)(%-?)([ui])(N)", b="%2%4n"}, } trigraphstrloc = { -- trigraphs or more @@ -472,8 +484,20 @@ trigraphstrloc = { -- trigraphs or more } digraphstrloc = { - {a="(%-)([uai])", b="%1%2"}, -- hyphen + initial alif without hamza - {a="^([uai])", b="%1"}, -- initial alif without hamza + -- discard the ʾiʿrāb hyphen (begin) + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)([uai])(%p?%s)", b="%2%3"}, + {a="(%-)([uai])(%p?)$", b="%2%3"}, + -- discard the ʾiʿrāb hyphen (end) + {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza + {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza {a="%-%-", b=""}, {a="uww", b="ūw"}, diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 878f351..b7550e5 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -72,6 +72,8 @@ raw = { } hamza = { + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -91,7 +93,8 @@ hamza = { {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, +--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, {a="(A)(')(uN?)$", b="aآء%3"}, {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, {a="(A)(')(iN?)$", b="aآء%3"}, @@ -111,7 +114,7 @@ hamza = { {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤ"}, {a="(u)(')(%W)", b="%1ؤ%3"}, @@ -155,6 +158,8 @@ hamza = { } hamzaeasy = { -- differences marked below with 'easy' + -- next line for ʾiʿrāb hyphen + {a="(')(%-)([uaiUAI])", b="%1%3"}, -- hard coded hamza {a="|\"'", b="ء"}, {a="A\"'", b="آ"}, @@ -174,14 +179,17 @@ hamzaeasy = { -- differences marked below with 'easy' {a="'i'([^uaiUAI])", b="إI%1"}, -- madda (historic writing below) {a="'a'([^uaiUAI])", b="آ%1"}, - {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, ---easy {a="(A)(')(uN?)$", b="aآء%3"}, ---easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(iN?)$", b="aآء%3"}, ---easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, ---easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda ---easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda ---easy {a="(A)(')", b="aآء"}, -- historic madda +--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, + {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"}, + --easy (begin) + {a="(A)(')(uN?)$", b="aاء%3"}, + {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(iN?)$", b="aاء%3"}, + {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, + {a="(A)(')(i)", b="aائ%3"}, -- historic madda + {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda + {a="(A)(')", b="aاء"}, -- historic madda + --easy (end) -- initial (needs both ^ and %W patterns) {a="^(')([ua])", b="أ%2"}, {a="^(')(i)", b="إ%2"}, @@ -194,7 +202,7 @@ hamzaeasy = { -- differences marked below with 'easy' {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, -- u - {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, + {a="(u)(')([uai]N?)$", b="%1ؤ%3"}, {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, {a="(u)(')$", b="%1ؤ"}, {a="(u)(')(%W)", b="%1ؤ%3"}, @@ -424,11 +432,25 @@ trigraphseasy = { -- differences marked below with 'easy' } digraphs = { + -- ʾiʿrāb: straight double quote must be discarded + {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, + {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, + {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, + -- ʾiʿrāb (end) -- initial straight double quote gives a connective ʾalif {a="^\"[uai]", b="ٱ"}, {a="([%s%-])\"[uai]", b="%1ٱ"}, {a="(aW)(%s)([uai])", b="awuا%2%3"}, - {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza +--tmp-out {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza + --tmp-added hyphen + initial alif without hamza: + {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%2%3%4"}, {a="^([uai])", b="ا%1"}, -- initial alif without hamza {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza {a="%-%-", b="ـ"}, -- cgit v1.2.3